PBH-BTN / PeerBanHelper

自动封禁不受欢迎、吸血和异常的 BT 客户端,并支持自定义规则。PeerId黑名单/UserAgent黑名单/IP CIDR/假进度/超量下载/进度回退/多播追猎/连锁封禁/伪装检测 支持 qBittorrent/Transmission/Deluge/BiglyBT
GNU General Public License v3.0
539 stars 15 forks source link

[TODO] 系统防火墙集成 #174

Open Ghost-chu opened 1 week ago

Ghost-chu commented 1 week ago

由于下载器 WEBAPI 的限制,目前能够支持的下载器类型有限,这极大的约束了 PBH 的覆盖范围。一个方案是与系统防火墙集成,直接阻断 IP,达成与调用下载器 WebAPI 封禁 IP 相同的结果,且通常性能更好。

目前有两个方案:

  1. 创建一个独立的特权程序,运行为系统服务,开放一个 WebAPI 端口,允许鉴权通过后执行shell操作防火墙
  2. 为PBH实现一个SSH客户端,直接连接到终端执行防火墙命令

需要支持的防火墙 cli 工具列表如下:

还可以根据情况,例如如果在用 OpenWRT/pfSense/ikuai 这种设备,考虑能否连接到 Web 控制台操作。

Ghost-chu commented 1 week ago

Windows 防火墙需要被首先考虑

Gaojianli commented 1 week ago

感觉非常不安全,尤其是执行命令,要考虑注入的场景

Ghost-chu commented 1 week ago

感觉非常不安全,尤其是执行命令,要考虑注入的场景

应该没有可以注入的点,只有 IP 可变,而 IP 是从 IPAddress 转换来的,非法 IP 是无法创建 IPAddress 对象的

azicen commented 2 days ago

OpenWRT Web 控制台的防火墙无法使用 IP 集,对于 IP 批量封禁仍然需要使用 iptables + ipset