吸血客户端收集与解决方法

可用的解决方法

其实反吸血客户端屏蔽起来的难点在识别上
即如何判断一个客户端是否正在吸血


对现有反吸功能的改进意见

应在匹配客户端ID 时允许使用正则表达
同时允许用户自定义客户端列表

但考虑到目前高级设置中反吸血保护的设置形式
在其中填写正则表达式可能不是很方便

在客户端列表上实现自定义和正则表达支持可能会更加容易
目前比特彗星的客户端列表的内容是固定的
用户只能在这些预设的客户端中进行选择

改为可自定义的列表后
用户可以轻松的添加新的客户端

其应类似类于防火墙规则从上之下进行匹配
其中peer ID可支持正则表达式

被配规则匹配到的客户端将根据第一列中的设置来判断其是否可以连接

而未被规则匹配到的客户端将由底部的 其他客户端 规则进行处理
若该规则被设置为允许连接那未被其他规则的匹配到的客户端 将被允许连接
反之则不允许

这样通过调整底部规则就可以轻松实现黑白名单之间模式的切换

这样一来在高级设置中peer ID/端口 选项就无需调整
依然保持原样 其优先级应高于 客户端列表
使得一些固定ID的吸血客户端在通列表匹配前就被拦截


示例

允许连接 客户端名 客户端ID 备注
客户端A peer ID 备注1
客户端B peer ID 备注2
客户端C peer ID 备注3
其他客户端 * 不与列表规则匹配的其他客户端

不过即使这样依然无法识别那些伪造客户端ID的吸血客户端


其他可行的判断方法

支持正则表达式的客户端ID黑名单在大多数已经可以解决大多数的吸血客户端
但对做种阶段会伪装客户端ID的吸血客户端依然无能为力
此时基于上传量的自动反吸血也不起效果

手动屏蔽

面对这些会伪装的吸血客户端 最笨 但行之有效的方法就是手动屏蔽
依靠用户人工判断适用于任何类型的吸血客户端

彗星的手动封禁一次最多24小时
而且只针对单个任务

还有许多客户端并不支持手动封禁peer
比较好的方法是使用 系统防火墙或其他第三方软件对其IP进行封锁

使用Windows防火墙屏蔽IP

打开高级Windows防火墙

检查防火墙是否启用

点击左侧的 高级设置 以打开高级widows防火墙

高级Windows防火墙

查看防火墙属性

检查 公用网络配置 和 专用网络配置
状态中的选项 均为默认

添加防火墙规则

其分为入站规则和出站规则
表示连接的发起方向

与BC中的”发起“选项内容对应

本地表示 连接由自己发出
对应防火墙的出站规则

而远程则说明连接由对方发起
对应防火墙的入站规则

出站规则所有用户都需要设置
端口是否开放都不影响本地连接的发起

而入站规则用户 黄灯用户无需设置
端口本身就处于堵塞状态 不用担心被对方连接上

添加出站规则

规则类型选择 自定义规则

程序 选择BT客户端的主程序

协议和端口为 任何

作用域
在远程IP中选择 “下列IP地址” 并添加IP地址

填写欲屏蔽的IP地址或地址范围

完成后点击下一步

操作选择 阻止连接

配置文件
全部勾选上

规则名称可以自定义

规则创建完成

编辑规则

如果有新的IP需要屏蔽我们无需重新创建规则
在原有规则上添加新的IP即可

编辑现有规则

切换到 作用域 选项卡
点击添加按钮即可添加新的IP
也可选中已有IP进行编辑和删除

入站规则

入站规则的设置方法和出站规则相同


1個讚