如何使用 curl 或者其他 http 语言下载种子库的种子(itorrents.org) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yuchting
V2EX    问与答

如何使用 curl 或者其他 http 语言下载种子库的种子(itorrents.org

  •  
  •   yuchting 2018-07-27 17:46:28 +08:00 3587 次点击
    这是一个创建于 2645 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题。

    如果我把链接放入浏览器: https://itorrents.org/torrent/B415C913643E5FF49FE37D304BBB5E6E11AD5101.torrent 是可以跳转下载的

    我是用 curl ( wget )直接下载:

    curl https://itorrents.org/torrent/B415C913643E5FF49FE37D304BBB5E6E11AD5101.torrent 

    直接就是 503,使用 chrome 查看头部,然后使用 wget 模拟,无效:

    C:\xxx>wget --no-check-certificate -U "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36" --header="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" --header="Cookie: __cfduid=d858b50be09e77a0ed1f2eafd25de20261532600128; _ga=GA1.2.1107172433.1532600134; _gid=GA1.2.1435366109.1532600134; cf_clearance=8af637566d06a729bbc6e48cd26390c619ddf592-1532669773-3600" -np -r https://itorrents.org/torrent/B415C913643E5FF49FE37D304BBB5E6E11AD5101.torrent SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc syswgetrc = c:/progra~1/wget/etc/wgetrc --2018-07-27 16:53:07-- https://itorrents.org/torrent/B415C913643E5FF49FE37D304BBB5E6E11AD5101.torrent Resolving itorrents.org... 104.24.12.55, 104.24.13.55 Connecting to itorrents.org|104.24.12.55|:443... connected. WARNING: cannot verify itorrents.org's certificate, issued by `/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO Domain Validation Legacy Server CA 2': Unable to locally verify the issuer's authority. WARNING: certificate common name `ssl392091.cloudflaressl.com' doesn't match requested host name `itorrents.org'. HTTP request sent, awaiting response... 503 Service Temporarily Unavailable 2018-07-27 16:53:08 ERROR 503: Service Temporarily Unavailable. 

    有什么方法可以让我用 wget 或者 curl 直接下载到磁力链接的种子么?

    PS,我曾经在 v 站找到一个网站可以,但是发现没有用于是发了 issue: https://github.com/wuhaoworld/torrent2magnet/issues/1

    10 条回复    2018-08-02 16:41:19 +08:00
    tomfs
        1
    tomfs  
       2018-07-27 17:56:59 +08:00
    人家挂在 cf 下面的,cf 的 anti-ddos 是几个月一个更新周期.github 有跳过 cf 的项目,nodejs+python 的,但是吧,效率不行,虽然 itorrents 的种子算全的,但是热门种子大部分还是没有,再加上 itorrents 的站长貌似开了很多磁力搜索站,itorrents 经常改版.建议另寻吧.
    tomfs
        2
    tomfs  
       2018-07-27 18:00:25 +08:00
    https://github.com/Anorov/cloudflare-scrape
    这是关于跳过 cf 检测的,但是我也有测试,效率真的不行,你要当生产使用就别想了,如果只是偶尔下载一个种子,还是可以试下的.
    tomfs
        3
    tomfs  
       2018-07-27 18:07:28 +08:00
    我也再找转种子的,t/474703
    你有更好的替代方案,麻烦安利下.
    yuchting
        4
    yuchting  
    OP
       2018-07-27 18:24:21 +08:00
    @tomfs
    非常感谢,貌似我遇到了也解难题啊~
    yuchting
        5
    yuchting  
    OP
       2018-07-31 10:05:36 +08:00   1
    @tomfs
    我已经解决了我的问题,仔细研究了一下磁力链接的原理,还有 BT 下载的原理,发现是 tracker 地址比较重要。

    然后就是使用 aria2c,然后增加很多额外的 tracker,就能正常下载到种子。
    可以直接在磁力链接后面加 tracker 地址:
    '''
    aria2c -d ./ --bt-metadata-Only=true --bt-save-metadata=true --listen-port=6881 "magnet:?xt=urn:btih:9f9165d9a281a9b8e782cd5176bbcc8256fd1871&dn=ubuntu-16.04.1-desktop-amd64.iso&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Fzer0day.ch%3A1337&tr=udp%3A%2F%2Fopen.demonii.com%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Fexodus.desync.com%3A6969&tr=udp%3A%2F%2Feddie4.nl%3A6969&tr=udp%3A%2F%2Ftracker.pirateparty.gr%3A6969&tr=udp%3A%2F%2Fopentrackr.org%3A1337&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337"
    '''

    但是这个 tracker url 需要编码,于是我是用了 aria2c 的 RPC 模式 daemon,在配置文件中加入大量的 tracker 地址。然后让他去下载种子,发现很快就能下载好。

    tracker 的地址:
    https://github.com/ngosang/trackerslist
    tomfs
        6
    tomfs  
       2018-07-31 19:24:16 +08:00
    @yuchting 恭喜,不过 aria2c 是去 dht 取种子的,没拥有这个资源的 peer 或者资源块不完整是传输不过来种子的.具体可以参考 Vuze 的代码,
    我最后放弃 dht 了,测试了大部分公开的种子库,最后选用 BTHUB 的 overHTTP to DHT 方案解决磁力链接解析种子,运行了几天,实测转换效率在 95%以上,就算是死链的 magnet URI,也能获取到种子
    具体可以参考 https://github.com/Jackett/Jackett/issues/1063
    tomfs
        7
    tomfs  
       2018-07-31 19:25:19 +08:00
    @yuchting 很高兴与你一起交流这个冷门的问题 :)
    tomfs
        8
    tomfs  
       2018-07-31 19:28:34 +08:00
    @yuchting 我就不发图了,具体看 bthub 的关于页面吧,整个 overHTTP to DHT 的流程图非常清晰,也很强大.推荐
    流程图 base64:aHR0cHM6Ly9idGh1Yi5vcmcvYWJvdXQ=
    yuchting
        9
    yuchting  
    OP
       2018-08-02 10:49:01 +08:00
    @tomfs
    我也很高兴有人也遇到了这个问题。
    其实我就是卖了了一个树莓派,插了个 2 手硬盘做了家庭下载中心,bt,电驴啊什么下一些片看,发现很多站都是提供磁力链接,自己搭建的 rtorrent 只能下载有种子的资源,不是很方便,于是就想自己写一个程序能够自动转磁力链接到种子,方便下载,后来发现其实下载不了。。。找来找去找不到办法,固有一问。

    现在使用 aria2,再配合一个 GUI 界面,还可以下载百度云盘资料,已经够用了,不想折腾了,接下来就是要寻找家庭媒体播放的东西,samba 那种感觉有点不太够用。
    tomfs
        10
    tomfs  
       2018-08-02 16:41:19 +08:00
    @yuchting plex 了解下
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3940 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 10:14 PVG 18:14 LAX 03:14 JFK 06:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86