本帖最后由 shangzsh 于 2023-4-8 00:56 编辑
- #!/bin/sh
- # 获取最新的 tracker 列表
- curl -s https://gitea.com/XIU2/TrackersL ... anch/master/all.txt > /tmp/trackers.txt
- # 去除空行和注释
- sed -i '/^\s*$/d' /tmp/trackers.txt
- sed -i '/^#/d' /tmp/trackers.txt
- # 将 tracker 列表转换为逗号分隔的字符串
- trackers=$(awk '{printf $0","}' /tmp/trackers.txt | sed 's/,$//')
- # 设置 RPC 接口和密钥
- rpc=http://127.0.0.1:6800/jsonrpc
- passwd=123456
- # 构造 JSON-RPC 请求
- json=$( cat <<JSON
- {
- "jsonrpc": "2.0",
- "method": "aria2.changeGlobalOption",
- "id": "cron",
- "params": [
- "token
passwd", - {
- "bt-tracker": "$trackers"
- }
- ]
- }
- JSON
- )
- # 发送请求给 aria2 的 RPC 接口
- [ -n "$trackers" ] && curl $rpc -d "$json"
具体操作步骤如下: - 将上面的脚本保存为一个文件,比如 /etc/aria2/update_aria2_tracker.sh(保存位置可以自定义),并给它可执行权限,比如 chmod +x /etc/aria2/update_aria2_tracker.sh。
- 修改脚本中的 RPC 密钥为你自己的 aria2 配置文件中的密钥,如果没有设置密钥,可以删除 “token
passwd” 这一部分。 - 在 openwrt 的 web 界面中,找到 系统 -> 计划任务,或者在命令行中编辑 /etc/crontabs/root 文件,添加一行如下:
0 9 * * * /etc/aria2/update_aria2_tracker.sh这表示每天早上 9 点执行一次脚本。如果你想改变执行时间或频率,可以参考 crontab 的语法规则
顺便说下,chatgpt真的牛逼!这个脚本是它写的,一次运行成功
|