aria2 自动 ban 掉迅雷等不受欢迎客户端的脚本(仅限 Linux)
npm install aria2baria2 自动 ban 掉迅雷等不受欢迎客户端的脚本(仅限 Linux)
由 aria2_ban_thunder 改名而来
这是不修改 aria2 源码(其实就是自己太菜了 改不动 C++)而 ban 掉这些客户端的一个办法。
nodejs ipset iptables 开机自动启动 ipset iptables 按照自己需求来安排
apk add iptables ip6tables ipset nodejs
npm i -g aria2b
# 或者
yarn global add aria2b
aria2b
到 releases 下载最新版本
chmod +x aria2b
./aria2b
git clone https://github.com/makeding/aria2b.git # 克隆
cd aria2b
yarn # 安装依赖
# npm install # 也是安装依赖
node app.js
git pull # 更新
aria2.conf 来找 aria2 RPC 端口以及 secret 之类的 $HOME/.aria2/aria2.conf -> /tmp/etc/aria2/aria2.conf.main (OpenWRT)-> /etc/aria2/aria2.conf -> ./aria2.conf update-ca-trust 让本地系统信任之类的其实更好) aria2b -c
也可以手动使用 -u 与 -s 手动配置
aria2b -u
以及支持寄生配置,仅需修改 aria2 本体配置文件即可对 aria2b 做修改
目前支持以下配置:
```
ab-bt-ban-client-keywords=XL,SD,XF,QN,BD
ab-bt-ban-timeout=86400
另外寄生配置不支持结尾带 # 注释
所有配置如下表所示:
| 描述 | cli | config | 默认值 | 备注
|-|-|-|-|-|
| rpc url | -u --url | N/A | http://127.0.0.1:6800/jsonrpc
| rpc secret | -s --secret | ab-rpc-secret | N/A
| ban 客户端关键字 | -b --block-keywords | ab-bt-ban-client-keywords | XL,SD,XF,QN,BD | 以,为分割符
| IP 解除封禁时间 | --timeout | ab-bt-ban-timeout | 86400 | 以秒来计算
| 关闭证书校验 | --rpc-no-verify | ab-rpc-no-verify| N/A | rpc 为本地时默认关闭证书校验
| 自定义信任ca证书 | --rpc-ca | ab-rpc-ca | N/A | 路径/base64两次编码
| 自定义信任证书 | --rpc-cert | ab-rpc-cert | N/A | 路径/base64两次编码
| 自定义信任私钥 | --rpc-key | ab-rpc-key | N/A | 路径/base64两次编码
--rpc-ca --rpc-cert --rpc-key 需要同时配置,不然还是会不信任,这是 Node.js 的设定,这里推荐系统去手动信任 ca 证书来完成而不是这么麻烦(搜索关键词 update-ca-trust) `守护
$3
参考配置
[Unit]
Description=aria2 ban unwelcome clients via ipset
After=network.target aria2.service
[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
``
命令:`
systemctl edit aria2b --full --force
systemctl enable aria2b.service --now`$3
``自己安装
yarn global add pm2
pacman -S pm2 # ArchLinux
pm2 start --name 'aria2b' aria2b
pm2 save
pm2 startup
以上吸血 peer 参考了来自隔壁的 qBittorrent-Enhanced-Edition 项目的源码,在这里表示感谢
如果还想屏蔽更多的 bt 客户端,可以参考 参考这边的源码 (没有什么必要啦 就迅雷之类的会吸血)
ban 未知的 peer 按照需求添加