Security News
Supply Chain Attack Detected in Solana's web3.js Library
A supply chain attack has been detected in versions 1.95.6 and 1.95.7 of the popular @solana/web3.js library.
aria2 自动 ban 掉迅雷等不受欢迎客户端的脚本(仅限 Linux)
由 aria2_ban_thunder 改名而来
通过 aria2 RPC (就是API)自动查找不受欢迎的 peer 然后使用 iptables + ipset 来封禁其 IP (所以 Windows / macOS 不魔改是没法用的)
这是不修改 aria2 源码(其实就是自己太菜了 改不动 C++)而 ban 掉这些客户端的一个办法。
nodejs
ipset
iptables
自行参考Node.js 官方教程
开机自动启动 ipset
iptables
按照自己需求来安排
apk add iptables ip6tables ipset nodejs
apt-get install ipset
pacman -S ipset yarn
yum install ipset
三选一
同时也是更新命令
npm i -g aria2b
# 或者
yarn global add aria2b
aria2b
适合 OpenWrt 或者不想使用包管理器的你
到 releases 下载最新版本
chmod +x aria2b
./aria2b
git clone https://github.com/makeding/aria2b.git # 克隆
cd aria2b
yarn # 安装依赖
# npm install # 也是安装依赖
node app.js
git pull # 更新
目前版本已经默认开箱即用了,欢迎报告 bug
abt 会读取本地的 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
让本地系统信任之类的其实更好)
可以使用 -c 来指定 aria2 的配置文件
aria2b -c <path>
也可以手动使用 -u 与 -s 手动配置
aria2b -u <url> -s <secret>
以及支持寄生配置,仅需修改 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
)
参考配置
[Unit]
Description=aria2 ban unwelcome clients via ipset
After=network.target aria2.service
[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
# 这里的路径自己改改,默认应该是这个
ExecStart=/usr/local/bin/aria2b
[Install]
WantedBy=multi-user.target
命令:
systemctl edit aria2b --full --force
systemctl enable aria2b.service --now
# 自己安装
# yarn global add pm2
# pacman -S pm2 # ArchLinux
pm2 start --name 'aria2b' aria2b
pm2 save
pm2 startup
客户端 | Peer名称 |
---|---|
迅雷 | XL SD |
影音先锋 | XF |
qq旋风 | QD |
百度网盘 | BN(可能) |
未知 | Unknown (请注意大写) |
以上吸血 peer 参考了来自隔壁的 qBittorrent-Enhanced-Edition 项目的源码,在这里表示感谢
如果还想屏蔽更多的 bt 客户端,可以参考 参考这边的源码 (没有什么必要啦 就迅雷之类的会吸血)
ban 未知的 peer 按照需求添加
如果你觉得好用请推荐给别人
有什么问题 发 issue 就可以了,或者自己改改 发个 PR 吧
MIT
FAQs
aria2 自动 ban 掉迅雷等不受欢迎客户端的脚本(仅限 Linux)
The npm package aria2b receives a total of 32 weekly downloads. As such, aria2b popularity was classified as not popular.
We found that aria2b demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
A supply chain attack has been detected in versions 1.95.6 and 1.95.7 of the popular @solana/web3.js library.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.