我入坑 PT 也快一年了,之前偶然读到了一篇博客,讲的是 PT 机制的几个有意思的漏洞。正好我对 BT 也不是很了解,就一路从 bencode 学到 tracker 协议,现在也算是对这块比较熟悉了。
PT 只靠客户端汇报的 downloaded
和 uploaded
来统计数据,而这些字段原本不是设计来限制 ratio 的,所以自然就留下了很多可以做文章的点。我就跟着博客作者的思路,实现了一个 tracker “代理”,当 BT 客户端向代理汇报的时候代理就会检查缓存里是否有这个种子的 peer 列表,如果有并且没过期就直接返回,否则向真实 tracker 发起一个“开始下载”的请求,得到 peer 列表并存储。这样就可以实现不计入下载量的效果。
而且可能还有一个额外的好处,就是如果两个人下载同一个种子,但是通过不同的 PT 站,那么 peer 列表会被整合,让每个人都能连接到更多的 peer 。
因为我不太会前端,所以网页做得比较简单,就一个按钮,把种子上传之后会自动修改并下载修改后的种子,然后添加到 BT 客户端就可以下载了。如果感兴趣可以试一试。
1
slowman 1 天前
真是敢想敢干, 不过向上汇报用同样的 IP, PT 站会看到吧
不同的种子不同的用户会用同一个 IP 汇报 |
2
arielherself OP @slowman 这方面确实也有考虑,不过正好手头有个代理池,就套上了,目前应该是每个请求会更换 IP
|
3
slowman 1 天前
种子跨站转种,后台都会改 info.source 导致 hash 不同,应该是不能匹配上的吧
|
4
slowman 1 天前
你可以把种子里的 info.source 和 private 都干掉,保证不同站点的种子处理后一致
还能用上 DHT PEX info.source 也往 tracker url 里塞,或者塞原种子 hash |
5
arielherself OP @slowman 据我的观察有一些确实是相同的,但也确实有改 source 的情况。
|
6
arielherself OP @slowman 有道理,我之后把这个加上
|
![]() |
7
Oni 1 天前 via Android
Account Disabled
Reason: Ghostleeching |
8
arielherself OP @Oni 这确实就是 ghostleeching 。但由于它跟开始下载后删除任务的行为相似,所以在不过度使用的情况下,可能并不是很容易排查。我在多个站点进行过长期的测试,目前没有遇到问题。
|
9
arielherself OP 说到 `downloaded` 和 `uploaded`,还有一个思路:虽然汇报虚假上传量会导致种子总下载不等于总上传,但是可以在站点找免费种子,然后以接近 1:1 的比例汇报虚假的下载量和上传量。而由于种子是免费的,这仍然使得账号的 ratio 增加。当然还需要注意其他的问题,比如需要找有人在下载的种子来进行操作、速度不能太快等。这也是一个经过测试的方法。
|
![]() |
10
felixcode 1 天前 via Android
PT 站长:这就 ban 一拨
|
11
elboble 1 天前 via Android ![]() 本来就是个互助的事,何必要取巧。
有时间研究这个,不如想办法突破运营商 qos 上行网间流量。 |
![]() |
12
Murinedj 21 小时 24 分钟前
大站怕 ban ,小站又不差数据,想法很好,我是用不上了
|
![]() |
13
yleoer 21 小时 11 分钟前
就刚开始玩 PT 的时候会盯着数据焦虑,玩了两年咸鱼了,数据也够日常下载,多做种,上传量会慢慢的涨
|
14
nightlight9 21 小时 9 分钟前
BT 吸血也就算啦。PT 也吸血?
服辣,⏰真的讲公德👍 |
15
guanyubangzhu 20 小时 59 分钟前
@nightlight9 这也不是吸血吧
|
16
nightlight9 20 小时 50 分钟前
|
17
guanyubangzhu 20 小时 38 分钟前
@nightlight9
那你这么说辅种也是吸血?楼主这个方案我理解就等于跨用户的辅种 |
18
nightlight9 20 小时 36 分钟前
|
19
guanyubangzhu 20 小时 34 分钟前
@nightlight9
不用多说了 你纯云玩家 |
20
nightlight9 20 小时 33 分钟前
@guanyubangzhu #19 你脑子不好使😂
|
![]() |
21
InDom 20 小时 16 分钟前
看来 PT 这个林子也是大了, 什么样的鸟都能冒出来了.
钻漏洞, 破坏规则... |
22
guanyubangzhu 20 小时 14 分钟前
|
23
guanyubangzhu 20 小时 10 分钟前
计算下载量是因为你的下载是从 PT 站用户贡献的上传流量上传给你
但如果用这个服务 你是从楼主的服务器上下载文件的 都没有用到任何 PT 站其他用户的上传流量 何来吸血一说 要是这也是吸血 那是不是你从 PT 站上下了文件再发给别人也是吸血 这不荒谬吗? 帖子都看不明白就老中如何如何 那你用什么中文 |
24
nightlight9 20 小时 4 分钟前
@guanyubangzhu #23 你发这些我觉得 OP 看了都想笑😂😂😂
|
25
nightlight9 20 小时 1 分钟前
|
![]() |
26
Shura 19 小时 57 分钟前
不如买个大盘鸡合法刷流,PT 当时 BT 玩,不焦虑。
|
![]() |
27
ryd994 18 小时 50 分钟前 via Android
@guanyubangzhu #23 你到底懂不懂 BT/PT 啊? tracker 服务器只是提供用户索引,楼主缓存的也是这个索引。下载的数据来自其他用户。楼主的服务器缓存用户索引而不上报实际下载量,实际下载数据是一点都没少。
从其他用户只下载不上传,这 TM 就是吸血。 |
![]() |
28
Immunize 16 小时 21 分钟前
放心,大站会统计各个人上报的每个种子的上下传数据的。每次加总,总上下行对不上的时候都有你小子,就可以飞了。
|
29
arielherself OP 这个服务本身并不阻止你的 BT 客户端向其他用户提供上传。虽然直接使用网站会使得你丢失入站连接性,但是如果使用自己部署的版本并设置正确的端口,甚至仍然可以允许其他 peer 连接到你的客户端。这个项目的主要目的是不向 tracker 汇报下载/上传量,而不是真的就没有上传量。
|