V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
arielherself
V2EX  ›  分享创造

远离 ratio 焦虑,我写了一个 PT 免费下载小工具

  •  
  •   arielherself ·
    arielherself · 1 天前 · 1128 次点击

    我入坑 PT 也快一年了,之前偶然读到了一篇博客,讲的是 PT 机制的几个有意思的漏洞。正好我对 BT 也不是很了解,就一路从 bencode 学到 tracker 协议,现在也算是对这块比较熟悉了。

    PT 只靠客户端汇报的 downloadeduploaded 来统计数据,而这些字段原本不是设计来限制 ratio 的,所以自然就留下了很多可以做文章的点。我就跟着博客作者的思路,实现了一个 tracker “代理”,当 BT 客户端向代理汇报的时候代理就会检查缓存里是否有这个种子的 peer 列表,如果有并且没过期就直接返回,否则向真实 tracker 发起一个“开始下载”的请求,得到 peer 列表并存储。这样就可以实现不计入下载量的效果。

    而且可能还有一个额外的好处,就是如果两个人下载同一个种子,但是通过不同的 PT 站,那么 peer 列表会被整合,让每个人都能连接到更多的 peer 。

    因为我不太会前端,所以网页做得比较简单,就一个按钮,把种子上传之后会自动修改并下载修改后的种子,然后添加到 BT 客户端就可以下载了。如果感兴趣可以试一试。

    网站: https://tracker.submy.org

    仓库: https://github.com/arielherself/btc

    29 条回复    2025-09-29 14:46:22 +08:00
    slowman
        1
    slowman  
       1 天前
    真是敢想敢干, 不过向上汇报用同样的 IP, PT 站会看到吧
    不同的种子不同的用户会用同一个 IP 汇报
    arielherself
        2
    arielherself  
    OP
       1 天前
    @slowman 这方面确实也有考虑,不过正好手头有个代理池,就套上了,目前应该是每个请求会更换 IP
    slowman
        3
    slowman  
       1 天前
    种子跨站转种,后台都会改 info.source 导致 hash 不同,应该是不能匹配上的吧
    slowman
        4
    slowman  
       1 天前
    你可以把种子里的 info.source 和 private 都干掉,保证不同站点的种子处理后一致
    还能用上 DHT PEX
    info.source 也往 tracker url 里塞,或者塞原种子 hash
    arielherself
        5
    arielherself  
    OP
       1 天前
    @slowman 据我的观察有一些确实是相同的,但也确实有改 source 的情况。
    arielherself
        6
    arielherself  
    OP
       1 天前
    @slowman 有道理,我之后把这个加上
    Oni
        7
    Oni  
       1 天前 via Android
    Account Disabled
    Reason: Ghostleeching
    arielherself
        8
    arielherself  
    OP
       1 天前
    @Oni 这确实就是 ghostleeching 。但由于它跟开始下载后删除任务的行为相似,所以在不过度使用的情况下,可能并不是很容易排查。我在多个站点进行过长期的测试,目前没有遇到问题。
    arielherself
        9
    arielherself  
    OP
       1 天前
    说到 `downloaded` 和 `uploaded`,还有一个思路:虽然汇报虚假上传量会导致种子总下载不等于总上传,但是可以在站点找免费种子,然后以接近 1:1 的比例汇报虚假的下载量和上传量。而由于种子是免费的,这仍然使得账号的 ratio 增加。当然还需要注意其他的问题,比如需要找有人在下载的种子来进行操作、速度不能太快等。这也是一个经过测试的方法。
    felixcode
        10
    felixcode  
       1 天前 via Android
    PT 站长:这就 ban 一拨
    elboble
        11
    elboble  
       1 天前 via Android   ❤️ 4
    本来就是个互助的事,何必要取巧。

    有时间研究这个,不如想办法突破运营商 qos 上行网间流量。
    Murinedj
        12
    Murinedj  
       21 小时 24 分钟前
    大站怕 ban ,小站又不差数据,想法很好,我是用不上了
    yleoer
        13
    yleoer  
       21 小时 11 分钟前
    就刚开始玩 PT 的时候会盯着数据焦虑,玩了两年咸鱼了,数据也够日常下载,多做种,上传量会慢慢的涨
    nightlight9
        14
    nightlight9  
       21 小时 9 分钟前
    BT 吸血也就算啦。PT 也吸血?

    服辣,⏰真的讲公德👍
    guanyubangzhu
        15
    guanyubangzhu  
       20 小时 59 分钟前
    @nightlight9 这也不是吸血吧
    nightlight9
        16
    nightlight9  
       20 小时 50 分钟前
    @guanyubangzhu 很明显是啊。PT 的游戏规则就是要规避吸血的行为,以此保证种子的活跃。

    楼主这么玩相当于在 pt 站玩 bt 。只需下载无需上传。

    简单的说就是不遵守 PT 玩家的公德
    guanyubangzhu
        17
    guanyubangzhu  
       20 小时 38 分钟前
    @nightlight9
    那你这么说辅种也是吸血?楼主这个方案我理解就等于跨用户的辅种
    nightlight9
        18
    nightlight9  
       20 小时 36 分钟前
    @guanyubangzhu #17 你理解得不对。

    你仔细想想 pt 的核心规则,再想想不计算下载量意味着什么。
    guanyubangzhu
        19
    guanyubangzhu  
       20 小时 34 分钟前
    @nightlight9
    不用多说了 你纯云玩家
    nightlight9
        20
    nightlight9  
       20 小时 33 分钟前
    @guanyubangzhu #19 你脑子不好使😂
    InDom
        21
    InDom  
       20 小时 16 分钟前
    看来 PT 这个林子也是大了, 什么样的鸟都能冒出来了.

    钻漏洞, 破坏规则...
    guanyubangzhu
        22
    guanyubangzhu  
       20 小时 14 分钟前
    @nightlight9
    @livid 不友善发言
    guanyubangzhu
        23
    guanyubangzhu  
       20 小时 10 分钟前
    计算下载量是因为你的下载是从 PT 站用户贡献的上传流量上传给你
    但如果用这个服务 你是从楼主的服务器上下载文件的 都没有用到任何 PT 站其他用户的上传流量 何来吸血一说
    要是这也是吸血 那是不是你从 PT 站上下了文件再发给别人也是吸血 这不荒谬吗?
    帖子都看不明白就老中如何如何 那你用什么中文
    nightlight9
        24
    nightlight9  
       20 小时 4 分钟前
    @guanyubangzhu #23 你发这些我觉得 OP 看了都想笑😂😂😂
    nightlight9
        25
    nightlight9  
       20 小时 1 分钟前
    @guanyubangzhu #23 菜就多练,看不懂就多学。

    这么简单技术原理,这么简单的逻辑链。明明是你自己理解不了,还说别人云玩家,真被你气笑了
    Shura
        26
    Shura  
       19 小时 57 分钟前
    不如买个大盘鸡合法刷流,PT 当时 BT 玩,不焦虑。
    ryd994
        27
    ryd994  
       18 小时 50 分钟前 via Android
    @guanyubangzhu #23 你到底懂不懂 BT/PT 啊? tracker 服务器只是提供用户索引,楼主缓存的也是这个索引。下载的数据来自其他用户。楼主的服务器缓存用户索引而不上报实际下载量,实际下载数据是一点都没少。

    从其他用户只下载不上传,这 TM 就是吸血。
    Immunize
        28
    Immunize  
       16 小时 21 分钟前
    放心,大站会统计各个人上报的每个种子的上下传数据的。每次加总,总上下行对不上的时候都有你小子,就可以飞了。
    arielherself
        29
    arielherself  
    OP
       15 小时 25 分钟前
    这个服务本身并不阻止你的 BT 客户端向其他用户提供上传。虽然直接使用网站会使得你丢失入站连接性,但是如果使用自己部署的版本并设置正确的端口,甚至仍然可以允许其他 peer 连接到你的客户端。这个项目的主要目的是不向 tracker 汇报下载/上传量,而不是真的就没有上传量。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   945 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:11 · PVG 06:11 · LAX 15:11 · JFK 18:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.