Transmission-block-xunlei-pcdn/README.md

72 lines
2.0 KiB
Markdown
Raw Normal View History

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