72 lines
2.0 KiB
Markdown
72 lines
2.0 KiB
Markdown
# transmission屏蔽吸血客户端和 pcdn ip段
|
|
|
|
> 为transmission屏蔽迅雷等吸血客户端
|
|
|
|
[教程地址](https://github.com/jqtmviyu/BTN-Collected-Rules)
|
|
|
|
|
|
## 防火墙阻止吸血
|
|
|
|
1. 创建脚本
|
|
|
|
修改自 [WhymustIhaveaname/Transmission-Block-Xunlei](https://github.com/WhymustIhaveaname/Transmission-Block-Xunlei)
|
|
|
|
因为是在openwrt中运行,所以有点不太一样
|
|
|
|
openwrt需要安装`iptables ip6tables`模块
|
|
|
|
### 白名单模式:
|
|
|
|
`allow_whitelist.sh`
|
|
|
|
* 除了`whitelist_pattern="Transmission|qBittorrent|µTorrent|aria2|BitComet"`, 其余都会被屏蔽
|
|
* 例外情况: `special_pattern="qbittorrent/3\.3\.15|Transmission\ 2\.9|BitComet\ 2\.04"`, 这些也会被屏蔽
|
|
* 当时间的小时数字是12的整数倍时,清空防火墙规则和log (eg:12:00/24:00)
|
|
* 当ip是私有地址时,忽略
|
|
* 加入没什么用的彩色输出
|
|
* `--debug`: 调试模式会打印更多信息,但不会写入log和添加防火墙
|
|
* `--chain`: 查看防火墙已添加的ip
|
|
* `--log`: 查看日志
|
|
* `--flush`: 清空防火墙规则和log
|
|
* `--help`: 帮助信息
|
|
|
|
### 黑名单模式
|
|
|
|
`block_blacklist.sh`
|
|
|
|
* block_clients: 里的都会被阻止,每行一条
|
|
* 当时间的小时数字是12的整数倍时,清空防火墙规则和log (eg:12:00/24:00)
|
|
* 当ip是私有地址时,忽略
|
|
* `--debug`: 调试模式会打印更多信息,但不会写入log和添加防火墙
|
|
* `--chain`: 查看防火墙已添加的ip
|
|
* `--log`: 查看日志
|
|
* `--flush`: 清空防火墙规则和log
|
|
* `--help`: 帮助信息
|
|
|
|
### 添加计划任务
|
|
|
|
每两分钟运行一次
|
|
|
|
```crontab
|
|
PATH=/usr/sbin:/usr/bin:/sbin:/bin
|
|
*/2 * * * * /root/allow_whitelist.sh 2>> /tmp/allow_whitelist.log
|
|
```
|
|
|
|
## 添加屏蔽url
|
|
|
|
修改自 [PBH-BTN/BTN-Collected-Rules](https://github.com/PBH-BTN/BTN-Collected-Rules) 的all.txt
|
|
|
|
github action 每天自动更新
|
|
|
|
`transmission_blacklist.gz` 体积更小, 下载更快.
|
|
|
|
需要复制的是raw, 并且不能被墙.
|
|
|
|
### 定时更新
|
|
|
|
下载并修改`update_transmission_blacklist.sh`
|
|
|
|
```crontab
|
|
0 5 * * * /root/update_transmission_blacklist.sh 2>> /tmp/allow_whitelist.log
|
|
```
|