PBH-BTN / PeerBanHelper

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

Transmission 无法识别 PBH 生成的 Transmission BlockList 规则中的 IPV6 地址 #138

Closed jqtmviyu closed 1 month ago

jqtmviyu commented 1 month ago

PeerBanHelper 版本: 4.0.4

部署方式: docker

api 路径

http://192.168.2.5:9898/blocklist/transmission

返回内容:

2402:b400:4700:3ccb:ded3:21ff:aa28:1000/128
2001:f40:935:3e66:9f67:90e9:e579:d6c6/128
2001:f40:935:3e66:9f67:90e9:e579:d6c6/128

macos:

transmission version: 4.0.5

提示: Download of the blocklist failed. The specified blocklist file did not contain any valid rules.

openwrt

transmission version: 4.04

响应: {"arguments":{"blocklist-size":0},"result":"success"}

可以识别的url

https://mirror.codebucket.de/transmission/blocklist.p2p.gz

可以解析出ip列表

Ghost-chu commented 1 month ago

感谢报告。试试看这个新的 Docker 构建:

ghostchu/peerbanhelper-snapshot:sha-60f1334

jqtmviyu commented 1 month ago

感谢报告。试试看这个新的 Docker 构建:

ghostchu/peerbanhelper-snapshot:sha-60f1334

新的构建可以识别地址了. 但有几个地方希望可以讨论下:

  1. ipv6地址段的生成:

ipv6是动态刷新的, 可能24h就过期重新下发了.

例如240e:423:be21:3e9e:17d3:a1bd:c6b5:bcc1:53714,

ban掉整个240e:423:be21:3e9e::-240e:423:be21:3e9e:ffff:ffff:ffff:ffff (随便举例), 对应auto-range-ban的实现

然后就是 ipv6 地址的有效期, 重新拨号ipv6前缀也会变更, 所以理论上来说, 应该隔一段时间释放出黑名单.

  1. 屏蔽ip的前缀使用随机数有什么考虑吗? 能否使用更语义话的标签
Ghost-chu commented 1 month ago

感谢报告。试试看这个新的 Docker 构建: ghostchu/peerbanhelper-snapshot:sha-60f1334

新的构建可以识别地址了. 但有几个地方希望可以讨论下:

  1. ipv6地址段的生成:

ipv6是动态刷新的, 可能24h就过期重新下发了.

例如240e:423:be21:3e9e:17d3:a1bd:c6b5:bcc1:53714,

ban掉整个240e:423:be21:3e9e::-240e:423:be21:3e9e:ffff:ffff:ffff:ffff (随便举例), 对应auto-range-ban的实现

然后就是 ipv6 地址的有效期, 重新拨号ipv6前缀也会变更, 所以理论上来说, 应该隔一段时间释放出黑名单.

  1. 屏蔽ip的前缀使用随机数有什么考虑吗? 能否使用更语义话的标签

PBH提供给TR的屏蔽列表是基于规则动态生成的。每当有一个IP集中规则,它就会更新到屏蔽列表内,并通知TR更新屏蔽列表。这个列表里存储的不是规则本身,因此前缀是否变化无关紧要。

说人话,这个屏蔽列表更倾向于:正在被PBH封禁的IP地址列表

随机数完全是因为这样实现最简单,没什么语义。