起因
BT 下载经常会遇到迅雷之类的软件吸血,这些软件会让普通用户来从别的客户端吸血,完全只上传给该软件的 VIP 挂 BT 的时候经常会遇到这样的客户端,一直汇报下载进度为 0,下载一会儿就装掉线,过了一下就又连上来了 现在 IPV6 、uTP 之类的技术已经普及了,大部分用户已经具备了上传的条件,这也是迅雷等软件现在可以吸血的原因
解决
现有的解决方案
- 使用可以屏蔽节点 ID 的客户端,例如比特彗星
- 使用修改版的开源客户端,比如 qtorrent 的加强版
- 时不时看一下连接的用户,发现迅雷就拉黑
- 干脆自己也不上传
现有解决方案的缺陷
- 据说迅雷可以伪装成别的客户端了,屏蔽节点 ID 和客户端名称之类的方法可能很难起作用了
- 自己屏蔽的话,费时费力
- 如果不能保证对正常的 bt 客户端的上传的话,对生态不好。如果经常被吸血,也许不上传确实会好些
我的设想
已经发现了迅雷吸血的时候具有长期下载进度为 0%、时不时装掉线的特点,感觉可以从这方面入手,记录连接的 ip 和连接的时候的下载进度并且隔一段时间就检测,发现经常掉线并且持续“没有下载”但是却在高速上传就拉黑 对于伪装的客户端,应该也可以用这个方法拉黑 或者,想办法拿到多个 v6 的 ip,定期通过不同的 v6 地址来伪装成别的客户端请求上传,发现一直收不到需要的分块的就拉黑。感觉这个更加有效