V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
asilin
V2EX  ›  程序员

Aria2 是一个不合格的 BT 下载客户端,添加的 tracker 永远只会使用第一个

  •  
  •   asilin · 2021-08-13 11:21:55 +08:00 · 7455 次点击
    这是一个创建于 1232 天前的主题,其中的信息可能已经有所发展或是发生改变。
    同样的情况还有 deluge,这两个下载客户端都只会联系 tracker 列表中的第一个,无论你添加了多少个 tracker 。

    transmission 和 qbittoeernt 是可以同时连接所有 tracker 列表,所以这两个下载效率更高,很少几率会出现死种。
    31 条回复    2021-09-07 03:15:03 +08:00
    Ayahuasec
        1
    Ayahuasec  
       2021-08-13 11:27:02 +08:00
    是不是你的配置写的是
    bt-tracker=udp://server1:6969/announce
    bt-tracker=udp://server2:6969/announce
    ...
    而不是
    bt-tracker=udp://server1:6969/announce,udp://server2:6969/announce,...
    呢?
    我用 aria2 也很少遇到死种欸,即使是好多年前的老资源,放一放也总还是能找到一两个 peer
    asilin
        2
    asilin  
    OP
       2021-08-13 11:29:48 +08:00
    @Ayahuasec

    bt-tracker= 用法我还是了解的,你可以抓包或者 debug 测试下我说的情况,之所以有些资源有速度,是因为 DHT 的缘故,而不是 tracker 的功劳。
    iddddg
        3
    iddddg  
       2021-08-13 11:42:21 +08:00
    插眼等解答
    Love4Taylor
        4
    Love4Taylor  
       2021-08-13 11:55:16 +08:00 via iPhone
    那么为什么不去提 issue 呢
    learningman
        5
    learningman  
       2021-08-13 11:57:44 +08:00
    加个 tun/tap proxy,看下实际上联系的 tracker 呗,你这只是推测啊
    lcdtyph
        6
    lcdtyph  
       2021-08-13 12:10:06 +08:00 via iPhone   ❤️ 6
    是这样的,可以去看 aria2 的代码 src/AnnounceList.cc#L122
    基本只有 announce 失败才切换使用下一个 tracker
    v2tudnew
        7
    v2tudnew  
       2021-08-13 12:14:38 +08:00
    对于我来说 DHT 足以,不添加 tracker 照样跑的飞起。当然也是专业 BT 客户端跑的。
    woshijidan
        8
    woshijidan  
       2021-08-13 12:46:28 +08:00 via Android
    qb 解决你的问题
    0TSH60F7J2rVkg8t
        9
    0TSH60F7J2rVkg8t  
       2021-08-13 12:49:44 +08:00   ❤️ 1
    突然想到,有没有人能写个 tracker 代理?本地收情求直接去一堆列表里的 tracker 取结果?然后所有下载填本地一个 tracker 就行了?
    billytom
        10
    billytom  
       2021-08-13 12:51:35 +08:00
    在 Aria2 的高级设置里,有一个参数是“使用所有的 Tracker”,打开后再来说人家不行。。。
    fun4gao
        11
    fun4gao  
       2021-08-13 13:06:42 +08:00
    @billytom 这位仁兄,我查了最新版 aria2c 的所有参数( https://aria2.github.io/manual/en/html/aria2c.html#options),没找到这个“使用所有的 Tracker”的参数是哪个,能具体说一下是哪个参数么?
    Lemeng
        12
    Lemeng  
       2021-08-13 13:14:11 +08:00
    还真是个问题,继续蹲大神
    nyaruko
        13
    nyaruko  
       2021-08-13 16:01:02 +08:00
    是的,但我印象里 Deluge 似乎是能轮询其他的 tracker 的,好像是在当一个 tracker 没有 peer 或者联系不上的情况下才会

    Deluge 其实更适合 PT,libtorrent 能调整的参数更丰富,更适合做种,本质上算是个 Seedbox 而非 Downloader 的感觉

    我现在是公网 BT 或者屏蔽 Deluge 的 PT 站用 Qbittorrent,能用 Deluge 的 PT 站就用 Deluge
    liuhuansir
        14
    liuhuansir  
       2021-08-13 16:10:25 +08:00
    自从用了 transmission,我就把 Aria2 从软路由里删掉了
    nullboy
        15
    nullboy  
       2021-08-13 16:12:48 +08:00
    Aria2 永远的垃圾
    0o0o0o0
        16
    0o0o0o0  
       2021-08-13 16:27:43 +08:00
    用过一个主流 bt 软件,忘记什么名字了,有一次加了很多 tracker 进去,然后软件卡死了
    lolizeppelin
        17
    lolizeppelin  
       2021-08-13 16:30:01 +08:00
    都没什么用!!老老实实 115
    能 aria2 能 rpc 就行!
    Trim21
        18
    Trim21  
       2021-08-13 16:33:29 +08:00
    自从用来 transmission 之后 aria2 就只用来下 http 了
    billytom
        19
    billytom  
       2021-08-13 19:29:58 +08:00 via iPhone
    @fun4gao 换 Qbittorrent
    bowser1701
        20
    bowser1701  
       2021-08-13 23:01:50 +08:00
    @ahhui 这就有问题了,如果单点 tracker 代理故障了呢?多个 tracker 可以容灾。
    bowser1701
        21
    bowser1701  
       2021-08-13 23:12:30 +08:00
    这是一个设计选择把,是有一些规范的,如 BEP12 http://www.bittorrent.org/beps/bep_0012.html,但是客户端可以选择实现。
    bowser1701
        22
    bowser1701  
       2021-08-13 23:15:04 +08:00
    很多场景,例如 PT,例如内部使用,可以保证 peer 的数量足够多,这个时候并不需要 announce 所有的 trakcer,反而会给 trakcer 带来很大的压力。
    0TSH60F7J2rVkg8t
        23
    0TSH60F7J2rVkg8t  
       2021-08-14 09:06:14 +08:00
    @bowser1701 我的意思是,这个代理只运行在 127.0.0.1 上的
    ragnaroks
        24
    ragnaroks  
       2021-08-14 09:39:49 +08:00
    transmission / qbittorrent / utorrent,没有其它选择
    v2tudnew
        25
    v2tudnew  
       2021-08-14 12:18:55 +08:00
    @ahhui #23 没看明白,这和客户端请求不是一样了么,也就是可以避免单 tracker 汇报的问题,但是也就个别客户端不支持多 tracker 汇报,完全是作者懒的问题。
    0TSH60F7J2rVkg8t
        26
    0TSH60F7J2rVkg8t  
       2021-08-14 14:11:54 +08:00
    @v2tudnew 这个你就理解成是本地的一个特殊用于 trackers 的 ss 客户端。这样做有 2 个好处,就是你添加的 bt 下载不用维护很长的 trackerlist,只需要在这个特殊的 ss 客户端里维护一下就行了,也可以做成订阅模式,自动更新,不用管。然后 bt 客户端里可以指定追加个 tracker 为本地 127.0.0.1,不过 bt 客户端只支持一个,还是支持多个 tracker,都能利用所有的 tracker 。
    v2tudnew
        27
    v2tudnew  
       2021-08-14 14:44:29 +08:00
    @ahhui #26 行吧,不过我是一个 tracker 都不加直接 DHT PEX 走起。
    zololiu
        28
    zololiu  
       2021-08-15 17:39:13 +08:00
    我使用了一个大佬的 Aria2 的 Docker 版本:registry.hub.docker.com/r/p3terx/aria2-pro/
    目前是几个下载器下载速度最快的,推荐试试。
    配合这个扩展:chrome.google.com/webstore/detail/aria2-for-chrome/mpkodccbngfoacfalldjimigbofkhgjn
    可以嗅探拦截磁力,非常方便。
    JinTianYi456
        29
    JinTianYi456  
       2021-08-18 23:47:44 +08:00
    @ragnaroks #24 transmission/µTorrent 如何配置全局的 tracker 列表呢?另外 BitComet 支持 tracker 多连吗?
    JinTianYi456
        30
    JinTianYi456  
       2021-08-21 00:10:03 +08:00
    #29 改: BitComet 争议太多了,舍弃!
    JinTianYi456
        31
    JinTianYi456  
       2021-09-07 03:15:03 +08:00
    qbittoeernt 有吗?我看它也是#6 的逻辑。你那来个图看看
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1016 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 19:21 · PVG 03:21 · LAX 11:21 · JFK 14:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.