3

优化 fnOS 下载体验:防范吸血客户端的策略与建议

发表于:2024-10-18 21:07:27 文件管理 445

如下图所示,吸血鬼频繁占用我的上传通道,仅仅是一个Windows 11的种子就引来了无数的抢占者。如果没有有效的手段来处理这些吸血用户,后果将不堪设想。

举个例子:fn官方tracker中的每个种子都会受到吸血行为的影响,一旦用户察觉到这种情况,他们往往会选择主动关闭上传。这将导致fn的BT生态系统逐渐衰退,最终无人使用下载器。

291729136537_.pic.jpg

基于此等现象:

  1. 开放下载器的 Web API 接口. 强烈建议开放下载器的WebAPI,方便用户自行接入诸如 PeerBanHel.per BT反吸血鬼、MoviePilot等工具来管理下载器。通过这样的工具,用户可以管理下载器中的连接并主动屏蔽吸血行为,从而维护上传带宽的有效利用。
  2. 在应用市场上架反吸血套件 建议在 FN 应用市场中上架 PeerBanHel.per套件,或开发官方功能以屏蔽这些吸血客户端。如此一来,FN 生态系统的用户能够自主防御吸血行为,保持上传积极性,维护系统的长期稳定发展。

如果不采取措施,这种吸血现象会逐渐导致用户关闭上传功能,进而破坏整个 BT 生态的上传与下载平衡,使得 FN 的内置下载器失去实际价值。

希望开发团队能够重视此问题,尽快做出优化! 👊


最近我查看了下载器的文件结构,发现下载功能是由 Aria2qBittorrent 共同实现的。用户的下载数据通过记录进 fnOS 自身的本地数据库展现给用户。

我的主要需求是接入 qBittorrent 的 Web API,并且能够将通过 Web API 添加的下载任务与对应的用户进行关联展示。

举个例子,我大致设想如下,供开发团队参考:

这是 qBittorrent 原生的 API 链接,默认情况下通过 Docker 部署的 qb 都支持:

http://localhost:8096/api/v2/[action]

以下是主用户(fnuid: 1000)的 API,所有通过该 API 添加的下载任务都会存入主用户 (1000) 的下载器任务列表:。

http://localhost:8096/1000/api/v2/[action]

对于其他用户,类似地:

http://localhost:8096/[fnuid]/api/v2/[action]

Web API 的密码免暴露方案

  1. 通过封装劫持url请求中的用户密码与对应fnUID的用户密码进行验证。
  2. 当用户密码验证通过后,封装程序内部再用 API 密码对 qBittorrent 进行认证。
  3. 以此可以达到在不暴露 qBittorrent 原生API密码的情况下操作 API 的目的。

[功能建议] 板块长期无人审核,我只能发到这里了,希望能有工作人员注意该问题。

注:我不是旷神的PeerBanHel.per套件链接:https://imnks.com/10811.html

还有为啥Hel.per是违规词...必须加个点

收藏
送赞 3
分享

发表回复

评论列表(2)

暂时不会对外开放下载器的api, 针对你这个场景,后续我们会调研一下怎么优化

2024-10-21 14:54:28 回复
2024-10-26 11:11:35 回复