PBH-BTN / PeerBanHelper

Automatically block unwanted, leeches and abnormal BT peers with support for customized and cloud rules.| BT 反吸血工具 - 自动封禁不受欢迎、吸血和异常的 BT 客户端,并支持自定义规则。支持 qB/qBEE/Deluge/BiglyBT/Azureus/Vuze/BitComet
GNU General Public License v3.0
2.87k stars 87 forks source link

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

Closed Ghost-chu closed 4 months ago

Ghost-chu commented 5 months ago

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

目前有两个方案:

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

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

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

Ghost-chu commented 5 months ago

Windows 防火墙需要被首先考虑

Gaojianli commented 5 months ago

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

Ghost-chu commented 5 months ago

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

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

azicen commented 5 months ago

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

ippdesu commented 4 months ago

感觉这个超出辅助程序范围了。而且遇到异常情况错误添加的规则会导致排查很困难,如果要做的话操作系统规则或者第三方设备可能要有感(有推送通知)更好一点。

Ghost-chu commented 4 months ago

目前测试封IP有时候会带走 CloudFlare Warp 的 IP 段,一直没有敲定下来是否加上。也欢迎给出自己的意见。

Ghost-chu commented 4 months ago

暂时搁置