说明
公开的BT tracker
服务器,因为种种原因总会经常失效,要想获取更多的peer
需要经常维护这份列表。感谢github
上的小伙伴提供了这么一份tracker
自动更新列表:trackerslist。我们要想Aria2
也支持自动更新这份列表,那么你可以按照下面方法来实现。
关于Aria2
安装使用教程可参考:https://www.moerats.com/tag/Aria2/。
方法
此文仅适用于Centos
系统,其它系统稍作变更即可。我没有使用过其它系统,这里也就不提供兼容性的脚本了。
示例:Aria2安装路径:/root/aria2
Aria2配置文件路径:/root/.aria2/aria2.conf
请修改脚本文件中对应的路径 请修改脚本文件中对应的路径 请修改脚本文件中对应的路径。
1、首先将aria2配置成系统服务
#安装组件
yum install -y psmisc
#编辑aria2文件
vi /etc/init.d/aria2
#添加以下代码
DAEMON=/root/aria2/bin/aria2c
case "$1" in
start)
echo "Starting aria2c"
nohup $DAEMON -c > /root/.aria2/aria2.log 2>&1 &
;;
stop)
echo "Shutting down aria2c"
killall aria2c &>/dev/null
;;
restart)
killall aria2c &>/dev/null
sleep 3
nohup $DAEMON -c > /root/.aria2/aria2.log 2>&1 &
;;
*)
echo "Usage: /etc/init.d/aria2 {start|stop|restart}"
exit 1
;;
esac
exit
#授权aria2文件
chmod 7777 /etc/init.d/aria2
操作命令:
service aria2 stop #停止aria2
service aria2 start #启动aria2
service aria2 restart #重启aria2
2、Aria2 bt-tracker 列表的更新,需要重启aria2才会生效
#编辑脚本
vi /root/trackers-list-aria2.sh
#添加以下代码
#!/bin/bash
/usr/sbin/service aria2 stop
list=`wget -qO- https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all.txt|awk NF|sed ":a;N;s/\n/,/g;ta"`
if [ -z "`grep "bt-tracker" /root/.aria2/aria2.conf`" ]; then
sed -i '$a bt-tracker='${list} /root/.aria2/aria2.conf
echo add......
else
sed -i "s@bt-tracker=.*@bt-tracker=$list@g" /root/.aria2/aria2.conf
echo update......
fi
#授权脚本
chmod +x /root/trackers-list-aria2.sh
3、使用crontab任务计划程序,实现自动更新
crontab -e #添加定时任务,如以下2个
每30分钟更新一次tracker
列表(实际不需要这么频繁 你可以自己定义更新频率)
*/30 * * * * /root/trackers-list-aria2.sh
每5分钟启动一次aria2
,防止aria2
崩了
*/5 * * * * /usr/sbin/service aria2 start
你这是只修改了aria2的配置文件?那如果不重启应该没有生效吧。
ariaNG 那个改了可以实时生效,我不知道它是怎么实现的,aria2 好像也没有命令行可以实时加载配置吧
难道评论太长,有点卡
wget换成curl好点,因为国内用的socks5代理,wget不支持socks5
只是习惯性wget
大佬,能留个联系方式不,或者有大佬群没有,方便学习。。。
为什么不在脚本的最后加一个/usr/sbin/service aria2 start呀,而是用crontab定时启动
都行
sed -i "s@bt-tracker.*@bt-tracker=$list@g" 要加个=号,不然会替换所有bt-tracker开头项。
例如bt-tracker-connect-timeout项也会被替换。
修改如下,
sed -i "s@bt-tracker=.*@bt-tracker=$list@g"
有心了,好像是要个=
脚本有效,
另外,建议在更新 tracker 后,重启一下 aria2 ,(至少我是这样做的)
killall -9 aria2c
aria2c -D --conf-path=$CONF
(不知道 aria2c 是否会实时监测 配置文件,然后加载。如果没有的话,必须重启才能使用到新的 tracker)
不会,一般修改配置文件是需要重启生效的,包括很多程序,改源码就要重新安排下
谢谢楼主,群晖成功~~~哈哈
老哥,群辉怎么设置的啊?我是用的docker安装的aria2
大佬,求写一个自动更新bt-tracker的Windows shell脚本呗 。
怎么样才能说明成功了呢? 我的只提示add.... 但是没有update。。。
看下aria2.conf配置文件有没有bt-tracker=参数
要加上去吗,如果成功它会怎么提示?add....然后update....?
脚本自动加
有适用于windows的更新bt tacker的脚本吗?
同问,有找到Windows shell脚本不?
有自动获取bt tacker的软件。
能否介绍一个?
我查了蛮久,网上多数都没有windows的tacker更新脚本。
我只知道获取bt tacker的软件,但不会自动添加到配置文件。
从原理上来讲,windows的bat脚本能够实现自动更新aria2的tacker吗?
我想了一些,不过似乎没什么太好的办法。
win直接手动好了,又简单,搞那么复杂。
实在不行只能手动了.
tracker如果过时的话,好像还是会去反复连接的。所以也存在更新的必要。
这个也不是天天更新。手动也不麻烦。