天涼好個秋.

为 Aria2 添加 Tracker 服务器

3397 阅 0 评 IT手札

BitTorrent tracker

BitTorrent tracker(中文可称:BT服务器tracker服务器等)是帮助BitTorrent协议在节点与节点之间做连接的服务器

BitTorrent客户端下载一开始就要连接到tracker,从tracker获得其他客户端IP地址后,才能连接到其他客户端下载。在传输过程中,也会一直与tracker通信,上传自己的信息,获取其它客户端的信息。

所以说想使用 Aria2 下载 BT 资源,Tracker 是必不可少的。当然 你会说,我从没添加过 Tracker 服务器, Aria2 也照样能用啊!那是因为 Aria2 也支持分布式的 DHT 网络,没有 Tracker 时就靠它了。

trackerslist

trackerslist 是一个开源项目,每天更新 Trackers list,比如下面的 best list

# https://github.com/ngosang/trackerslist/raw/master/trackers_best.txt

udp://tracker.coppersurfer.tk:6969/announce
http://tracker.internetwarriors.net:1337/announce
udp://tracker.opentrackr.org:1337/announce
udp://9.rarbg.to:2710/announce
udp://exodus.desync.com:6969/announce
udp://explodie.org:6969/announce
http://tracker1.itzmx.com:8080/announce
udp://thetracker.org:80/announce
udp://ipv4.tracker.harry.lu:80/announce
udp://denis.stalker.upeer.me:6969/announce
udp://tracker.torrent.eu.org:451/announce
udp://tracker.tiny-vps.com:6969/announce
udp://tracker.port443.xyz:6969/announce
udp://open.demonii.si:1337/announce
udp://bt.xxx-tracker.com:2710/announce
udp://retracker.lanta-net.ru:2710/announce
udp://open.stealth.si:80/announce
http://open.acgnxtracker.com:80/announce
udp://tracker.vanitycore.co:6969/announce
udp://tracker.iamhansen.xyz:2000/announce

只要将他们添加到 Aria2 的配置文件中,理论上能大幅提高 Aria2 下载 BT 的速度。

Aria2 的配置文件

参考 Aria2 的官方文档 ,https://aria2.github.io/manual/en/html/aria2c.html#cmdoption-bt-tracker

配置类似于:

bt-tracker=udp://tracker.coppersurfer.tk:6969/announce,http://tracker.internetwarriors.net:1337/announce,udp://tracker.opentrackr.org:1337/announce

添加到 Aria2 的配置文件,重启 Aria2 即可生效。

省力的方法

上面的教程很详细了,但每次都自己来修改肯定会累死人,你可以使用脚本替你完成上面的工作,可以参考小众软件的这篇文章下的评论:

https://www.appinn.com/ara2-add-trackers-list-for-speed-up/

记得重启 Aria2。

这样就完了吗?

懒人自然需要更省力的手段。Aria2 是支持 RPC 的,类似与 AriaNG 等 WEB UI 都是靠 RPC 和 Aria2 通信的,那么我们也是可以写个脚本用 RPC 来设置 Aria2 ,并且实时生效,无需重启 Aria2。

#!/bin/sh
#more trackers list, see https://github.com/ngosang/trackerslist

tracker_url='https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all.txt'
path='http://10.10.10.5:6800/jsonrpc'
passwd='xxxxxx'

tracker=$(echo -n  $(curl -s -L $tracker_url | sed 'N;s/\n//g') | tr ' ' ',')
[ -n "$tracker" ] && curl $path -d '{"jsonrpc":"2.0","method":"aria2.changeGlobalOption","id":"cron","params":["token:'$passwd'",{"bt-tracker":"'$tracker'"}]}'

在定时任务中定时执行上面的脚本就万事大吉了。定时任务不在本文的范畴里了蛤,Google 一下就有了。

修改 tracker_url、path 和 passwd 三个变量,脚本就可以为你工作了。

很早之前就在 NAS 里使用这个脚本来更新 trackerslist 了,直到昨天,在 twitter 上看到小青蛙(小众软件的作者)分享了文章,才想到把我自己的方式记录一下。
很久没写博客了,最近有些忙。

EOF