Docker/系统运维

Docker系列 深度使用aria2(二)为 Aria2 添加 Tracker 服务器通过rpc修改

daimafengzi · 7月27日 · 2023年 · · · · · · 本文共2151个字 · 预计阅读8分钟105次已读

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
配置类似于:

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

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

省力的方法

懒人自然需要更省力的手段。Aria2 是支持 RPC 的,类似与 AriaNGWEB UI 都是靠 RPCAria2 通信的,那么我们也是可以写个脚本用 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'"}]}'

在定时任务中定时执行上面的脚本就万事大吉了。
/etc/crontab

00 6 * * *	sh /mnt/ydyp/aria2.tracker.autoupdate.sh
0 条回应
| 耗时 0.551 秒 | 查询 57 次 | 内存 4.15 MB |
本站CDN由One degree CDN提供