msg7086
2017-02-18 00:37:14 +08:00
屏蔽迅雷本身就是非常公平的做法。我不想理你,凭什么你要粘着我不放?
断开连接,我不从你这下载,也不给你这上传,不行吗?
我自己花钱买的服务器和宽带,我自己选择连接哪些客户端,不行吗?
你咬我呀?
回到主题,屏蔽迅雷很简单。
在 libtransmission 里,
handshake.c#parseHandshake
peer-mgr.c#myHandshakeDoneCB
这两个函数里增加一段代码去检查客户端的 PeerID 。
我是自己另外写了一个函数。
bool
client_banned (const uint8_t * peer_id)
{
bool banned = false;
banned |= !memcmp(peer_id+1, "SD", 2);
banned |= !memcmp(peer_id+1, "XL", 2);
// if (banned)
// tr_logAddNamedError ("Client banned.", "(Client filter)");
return banned;
}
可以处理掉没有伪装成其他客户端的迅雷。至于无耻到冒充其他客户端骗取信任的那些客户端,我也没有办法。只能希望中国有朝一日法律能够完善到可以惩治这些行为。