Rat's

Aria2自动更新BT Tracker服务器列表的方法
说明公开的BT tracker服务器,因为种种原因总会经常失效,要想获取更多的peer需要经常维护这份列表。感谢g...
扫描右侧二维码阅读全文
23
2017/10

Aria2自动更新BT Tracker服务器列表的方法

说明

公开的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 bt-tracker跟踪服务器列表自动更新

Vultr新用户注册送100美元/16个机房按小时计费,支持支付宝,【点击查看】。
最后修改:2020 年 04 月 21 日 07 : 10 PM

发表评论

47 条评论

  1. 七月

    你这是只修改了aria2的配置文件?那如果不重启应该没有生效吧。
    ariaNG 那个改了可以实时生效,我不知道它是怎么实现的,aria2 好像也没有命令行可以实时加载配置吧

  2. River
    该评论仅登录用户及评论双方可见
    1. Rat's
      @River

      难道评论太长,有点卡

  3. 魔鬼

    wget换成curl好点,因为国内用的socks5代理,wget不支持socks5

    1. Rat's
      @魔鬼

      只是习惯性wget

      1. 第一最寂寞
        @Rat's

        大佬,能留个联系方式不,或者有大佬群没有,方便学习。。。

  4. wan喜

    为什么不在脚本的最后加一个/usr/sbin/service aria2 start呀,而是用crontab定时启动

    1. Rat's
      @wan喜

      都行

  5. W

    sed -i "s@bt-tracker.*@bt-tracker=$list@g" 要加个=号,不然会替换所有bt-tracker开头项。
    例如bt-tracker-connect-timeout项也会被替换。
    修改如下,
    sed -i "s@bt-tracker=.*@bt-tracker=$list@g"

    1. Rat's
      @W

      有心了,好像是要个=

  6. 脚本有效,

    另外,建议在更新 tracker 后,重启一下 aria2 ,(至少我是这样做的)

    killall -9 aria2c

    aria2c -D --conf-path=$CONF

    (不知道 aria2c 是否会实时监测 配置文件,然后加载。如果没有的话,必须重启才能使用到新的 tracker)

    1. Rat's
      @周

      不会,一般修改配置文件是需要重启生效的,包括很多程序,改源码就要重新安排下

  7. 阿A

    谢谢楼主,群晖成功~~~哈哈

    1. 立正向左转
      @阿A

      老哥,群辉怎么设置的啊?我是用的docker安装的aria2

  8. louo

    大佬,求写一个自动更新bt-tracker的Windows shell脚本呗 。

  9. Lau

    怎么样才能说明成功了呢? 我的只提示add.... 但是没有update。。。

    1. Rat's
      @Lau

      看下aria2.conf配置文件有没有bt-tracker=参数

      1. Lau
        @Rat's

        要加上去吗,如果成功它会怎么提示?add....然后update....?

        1. Rat's
          @Lau

          脚本自动加

  10. rain

    有适用于windows的更新bt tacker的脚本吗?

    1. louo
      @rain

      同问,有找到Windows shell脚本不?

    2. Rat's
      @rain

      有自动获取bt tacker的软件。

      1. rain
        @Rat's

        能否介绍一个?
        我查了蛮久,网上多数都没有windows的tacker更新脚本。

        1. Rat's
          @rain

          我只知道获取bt tacker的软件,但不会自动添加到配置文件。

          1. rain
            @Rat's

            从原理上来讲,windows的bat脚本能够实现自动更新aria2的tacker吗?
            我想了一些,不过似乎没什么太好的办法。

            1. Rat's
              @rain

              win直接手动好了,又简单,搞那么复杂。

              1. rain
                @Rat's

                实在不行只能手动了.

                tracker如果过时的话,好像还是会去反复连接的。所以也存在更新的必要。

                1. Rat's
                  @rain

                  这个也不是天天更新。手动也不麻烦。