Releases: PBH-BTN/PeerBanHelper
7.1.4
反吸血算法优化
- 优化进度反作弊检测模块对使用 “超级做种” 的 Peer 的误封禁的问题。现在在对方未从 PBH 所关联的下载器下载数据的情况下,PCB 进度反作弊检测模块将不会动作,以避免错误的封禁使用 BEP-0016 规范进行超级做种的 Peer(超级做种启用时,将不会汇报真实的任务进度给其它人) @Ghost-chu
默认配置文件调整
自 2024 年年初以来,已经度过了快一年了。在军备竞赛中火拼了数月后,吸血 Peer 的特征经历了一波又一波的变化。PBH 自带的部分配置已不再适应目前的现状,我们对不再需要的规则进行了删除,以下是删除的清单:
- 删除
anacrolix/torrent
和-GT0003
规则,现在的吸血客户端已不再使用anacrolix/torrent
进行吸血,转为伪装其它正规客户端。根据 BTN 收集的数据来看,此规则挡住了一些基于 anacrolix/torrent 开发的正规客户端(如番剧下载器等),因此我们删除了此规则- 后续如果卷土重来,将通过 BTN 云端规则下发重新屏蔽
- 删除
go.torrent
和-GT0002
规则,在目前 BT 环境变得愈加恶劣的情况下,百度网盘的离线下载功能能够起到有效分流、减少流量上传的作用,且经常被用于救种。值得一提的是,我们注意到百度网盘的离线下载在下载期间会上传数据,这有助于 BT 文件分发并改善 Peer 之间的连接性;综上所述,我们没有理由再继续屏蔽百度网盘的离线下载功能 - 删除
ljyun.cn/hangzhou/monitoring
规则,因为这家边缘云厂商现在显然不再使用这个 ClientName 下载文件了
已经安装过 PBH 的用户需要手动进行上述修改,该更改不会自动应用到现有安装。
错误修复
- 修复 qBittorrent EE 连接到 Web Seed 时报告 IP 地址转换错误的问题 @Ghost-chu
- 修复 BTN 模块中存在的一个问题导致 PBH 不会执行 BTN 规则的问题 @Ghost-chu
- 修复 BTN 云端规则未获取完成的情况下,状态面板的 BTN 状态可能显示为空 @Ghost-chu
Docker
DockerHub: ghostchu/peerbanhelper:v7.1.4
阿里云国内镜像加速: registry.cn-hangzhou.aliyuncs.com/ghostchu/peerbanhelper:v7.1.4
7.1.3
错误修复
- 修复了日志系统中的一个内存泄漏问题,导致长时间运行时出现内存耗尽的问题 @Ghost-chu
- 修复 qBittorrent 下载器连接到 WebSeed 的 Peer 后出现 IP 转换错误报错的问题 @Ghost-chu
- 修复 GUI 托盘右键菜单对中日韩统一表象文字(CJK)在 Windows 操作系统下出现乱码的问题 @Ghost-chu
- 修复暗色模式下,图标部分元素对比度较差的问题 @Gaojianli
- 修复暗色模式下,堆内存大小文本颜色未正确更改的问题 @Gaojianli
- 修复 WebUI 的日志查看器的多个问题,并提升性能 @Gaojianli
Docker
DockerHub: ghostchu/peerbanhelper:v7.1.3
阿里云国内镜像加速: registry.cn-hangzhou.aliyuncs.com/ghostchu/peerbanhelper:v7.1.3
7.1.2
错误修复
- 修复进度反作弊检查在 qBittorrent 上对 “部分做种(Partial Seeds)” 的种子进行检查时未使用正确的总大小计算导致可能错误封禁 Peers 的问题 @maoruishan (first-time contributor)
- 修复 IP 列表查询的 IP 地址不显示总流量统计数据的问题 @Ghost-chu
- [WebUI] 修复WebUI的若干问题 @Ghost-chu @Gaojianli
- 封禁名单现在忽略 “Peer 快速测试” 的封禁记录
- 修复 IP 列表不输入任何内容就点击搜索按钮引发错误的问题
- 修复 Dashboard 下载器刷新的时候出现骨架屏的问题
- 修复流量统计图表 Y 轴刻度显示不全的问题
- 修复自动刷新图标进入刷新旋转动画时,会带飞悬浮信息框
- 新增一个控制按钮以控制新日志条目插入时页面跳动的问题
Docker
DockerHub: ghostchu/peerbanhelper:v7.1.2
阿里云国内镜像加速: registry.cn-hangzhou.aliyuncs.com/ghostchu/peerbanhelper:v7.1.2
注:有许多小伙伴询问是否可以使用 latest 标签,是可以使用的,只是如果你使用了镜像站,则 latest 标签可能不是最新的版本。
7.1.1
错误修复
- 修复流量统计图表在 7.1.0 被破坏的问题 @Ghost-chu @paulzzh
- 修复 httpd 可能在 IPDB 未下载完成之前就启动的问题 @Ghost-chu
- 修复 IPDB 下载超时时有时不会切换备用源的问题 @Ghost-chu
- 修复在非 zh-CN 的系统语言下,界面文本显示异常 @Ghost-chu
7.1.0
Caution
本版包含重要安全修复,不管出于任何理由,您都应该更新到此修复版本。
关键安全性修复
- 【重要】修复了因错误使用 ORM 框架导致潜在 SQL 注入的问题 @Ghost-chu @paulzzh
- 恶意攻击者可通过在查询参数中插入 SQL 片段,执行任意 SQL 查询
- 【重要】修复了登录接口的 POST 登陆方式没有覆盖暴力破解防护的问题 @Ghost-chu
- 恶意攻击者可能对登录接口发起暴力破解穷举 WebUI Token 以获取 WebUI 访问权限,并间接获取连接的下载器的 WebUI 权限
- 添加了
robots.txt
并拒绝任何搜索引擎索引并避免在搜索引擎中暴露,但依然可能被 Censys 等网络空间测绘引擎发现,建议使用防火墙保护 @Ghost-chu- 如果 PBH 部署在二级目录下,请自行管理
robots.txt
- 如果 PBH 部署在二级目录下,请自行管理
- 仅在登录阶段传递 Token,避免明文 WebUI Token 泄露
新功能
- 图表数据现在支持分下载器查看 @Gaojianli @Ghost-chu @paulzzh
- WebUI 现在支持自定义脚本编辑 @Gaojianli @Ghost-chu
- 通过编程的方式构建自己的反吸血逻辑
- 只有在局域网内直接访问 WebUI 才能添加和编辑脚本;通过互联网或者反向代理访问时,仅能查看脚本,不可添加修改编辑
- 安全警告:自定义脚本可执行任意代码,请仅添加来自可信来源的脚本
- 【重要】BTN 新增 “脚本规则” 规则类型,PeerBanHelper 现在可接收来自 BTN 服务器下发的脚本以提升基于云的检测防护能力,提高封禁的灵活和精确性 @Ghost-chu
- 需要手动在 “设置->基础设置->BTN” 开启 “启用脚本执行” 开关,此功能才会生效。请仅在可信 BTN 服务器上启用此功能。
- WebUI 现在可以进行堆内存转储 @Gaojianli
- BTN 能力列表页面现在可查看云端规则数量和规则版本号 @Gaojianli @Ghost-chu
- 其它用户体验改善
错误修复
- 【重要】优化了 IPMatcher 的CPU和内存占用,解决了困扰已久的规则过多时内存溢出的问题并大幅缩短了匹配 IP 时的 CPU 占用和匹配耗时,现在空载内存仅需要 92MB(GUI) @Ghost-chu @paulzzh
- 请注意:自 2024/11/06 后,旧版本(< 7.1.0) PBH 可能由于 IP 屏蔽列表的增长而耗尽内存,为了保证正常运行,请升级版本或者更改其最大堆内存
- 修复了当添加支持完整 PeerID 的下载器(如:BiglyBT/Azureus/Vuze、BitComet 或者 Deluge)时,查看 PeerID 饼图时完全不可读的问题 @Ghost-chu
- Windows GUI 的打开 WebUI 按钮现在能够自动填充 token 登录 WebUI
7.1.1
错误修复
- 修复流量统计图表在 7.1.0 被破坏的问题 @Ghost-chu @paulzzh
- 修复 httpd 可能在 IPDB 未下载完成之前就启动的问题 @Ghost-chu
- 修复 IPDB 下载超时时有时不会切换备用源的问题 @Ghost-chu
- 修复在非 zh-CN 的系统语言下,界面文本显示异常 @Ghost-chu
Docker
DockerHub: ghostchu/peerbanhelper:v7.1.1
阿里云国内镜像加速: registry.cn-hangzhou.aliyuncs.com/ghostchu/peerbanhelper:v7.1.1
注:有许多小伙伴询问是否可以使用 latest 标签,是可以使用的,只是如果你使用了镜像站,则 latest 标签可能不是最新的版本。
7.1.0 发行注记
Caution
本版包含重要安全修复,不管出于任何理由,您都应该更新到此修复版本。
关键安全性修复
- 【重要】修复了因错误使用 ORM 框架导致潜在 SQL 注入的问题 @Ghost-chu @paulzzh
- 恶意攻击者可通过在查询参数中插入 SQL 片段,执行任意 SQL 查询
- 【重要】修复了登录接口的 POST 登陆方式没有覆盖暴力破解防护的问题 @Ghost-chu
- 恶意攻击者可能对登录接口发起暴力破解穷举 WebUI Token 以获取 WebUI 访问权限,并间接获取连接的下载器的 WebUI 权限
- 添加了
robots.txt
并拒绝任何搜索引擎索引并避免在搜索引擎中暴露,但依然可能被 Censys 等网络空间测绘引擎发现,建议使用防火墙保护 @Ghost-chu- 如果 PBH 部署在二级目录下,请自行管理
robots.txt
- 如果 PBH 部署在二级目录下,请自行管理
- 仅在登录阶段传递 Token,避免明文 WebUI Token 泄露
新功能
- 图表数据现在支持分下载器查看 @Gaojianli @Ghost-chu @paulzzh
- WebUI 现在支持自定义脚本编辑 @Gaojianli @Ghost-chu
- 通过编程的方式构建自己的反吸血逻辑
- 只有在局域网内直接访问 WebUI 才能添加和编辑脚本;通过互联网或者反向代理访问时,仅能查看脚本,不可添加修改编辑
- 安全警告:自定义脚本可执行任意代码,请仅添加来自可信来源的脚本
- 【重要】BTN 新增 “脚本规则” 规则类型,PeerBanHelper 现在可接收来自 BTN 服务器下发的脚本以提升基于云的检测防护能力,提高封禁的灵活和精确性 @Ghost-chu
- 需要手动在 “设置->基础设置->BTN” 开启 “启用脚本执行” 开关,此功能才会生效。请仅在可信 BTN 服务器上启用此功能。
- WebUI 现在可以进行堆内存转储 @Gaojianli
- BTN 能力列表页面现在可查看云端规则数量和规则版本号 @Gaojianli @Ghost-chu
- 其它用户体验改善
错误修复
- 【重要】优化了 IPMatcher 的CPU和内存占用,解决了困扰已久的规则过多时内存溢出的问题并大幅缩短了匹配 IP 时的 CPU 占用和匹配耗时,现在空载内存仅需要 92MB(GUI) @Ghost-chu @paulzzh
- 请注意:自 2024/11/06 后,旧版本(< 7.1.0) PBH 可能由于 IP 屏蔽列表的增长而耗尽内存,为了保证正常运行,请升级版本或者更改其最大堆内存
- 修复了当添加支持完整 PeerID 的下载器(如:BiglyBT/Azureus/Vuze、BitComet 或者 Deluge)时,查看 PeerID 饼图时完全不可读的问题 @Ghost-chu
- Windows GUI 的打开 WebUI 按钮现在能够自动填充 token 登录 WebUI
7.1.0 - 重要安全修复
此版本已被更新版本取代。
Caution
本版包含重要安全修复,不管出于任何理由,您都应该更新到此修复版本。
关键安全性修复
- 【重要】修复了因错误使用 ORM 框架导致潜在 SQL 注入的问题 @Ghost-chu @paulzzh
- 恶意攻击者可通过在查询参数中插入 SQL 片段,执行任意 SQL 查询
- 【重要】修复了登录接口的 POST 登陆方式没有覆盖暴力破解防护的问题 @Ghost-chu
- 恶意攻击者可能对登录接口发起暴力破解穷举 WebUI Token 以获取 WebUI 访问权限,并间接获取连接的下载器的 WebUI 权限
- 添加了
robots.txt
并拒绝任何搜索引擎索引并避免在搜索引擎中暴露,但依然可能被 Censys 等网络空间测绘引擎发现,建议使用防火墙保护 @Ghost-chu- 如果 PBH 部署在二级目录下,请自行管理
robots.txt
- 如果 PBH 部署在二级目录下,请自行管理
- 仅在登录阶段传递 Token,避免明文 WebUI Token 泄露
新功能
- 图表数据现在支持分下载器查看 @Gaojianli @Ghost-chu @paulzzh
- WebUI 现在支持自定义脚本编辑 @Gaojianli @Ghost-chu
- 通过编程的方式构建自己的反吸血逻辑
- 只有在局域网内直接访问 WebUI 才能添加和编辑脚本;通过互联网或者反向代理访问时,仅能查看脚本,不可添加修改编辑
- 安全警告:自定义脚本可执行任意代码,请仅添加来自可信来源的脚本
- 【重要】BTN 新增 “脚本规则” 规则类型,PeerBanHelper 现在可接收来自 BTN 服务器下发的脚本以提升基于云的检测防护能力,提高封禁的灵活和精确性 @Ghost-chu
- 需要手动在 “设置->基础设置->BTN” 开启 “启用脚本执行” 开关,此功能才会生效。请仅在可信 BTN 服务器上启用此功能。
- WebUI 现在可以进行堆内存转储 @Gaojianli
- BTN 能力列表页面现在可查看云端规则数量和规则版本号 @Gaojianli @Ghost-chu
- 其它用户体验改善
错误修复
- 【重要】优化了 IPMatcher 的CPU和内存占用,解决了困扰已久的规则过多时内存溢出的问题并大幅缩短了匹配 IP 时的 CPU 占用和匹配耗时,现在空载内存仅需要 92MB(GUI) @Ghost-chu @paulzzh
- 请注意:自 2024/11/06 后,旧版本(< 7.1.0) PBH 可能由于 IP 屏蔽列表的增长而耗尽内存,为了保证正常运行,请升级版本或者更改其最大堆内存
- 修复了当添加支持完整 PeerID 的下载器(如:BiglyBT/Azureus/Vuze、BitComet 或者 Deluge)时,查看 PeerID 饼图时完全不可读的问题 @Ghost-chu
- Windows GUI 的打开 WebUI 按钮现在能够自动填充 token 登录 WebUI
Docker
DockerHub: ghostchu/peerbanhelper:v7.1.0
阿里云国内镜像加速: registry.cn-hangzhou.aliyuncs.com/ghostchu/peerbanhelper:v7.1.0
本版已知问题
- 流量图表可能显示为空
7.0.2
v7.1.0 更新延迟,将在数小时后重新发布。
这是一个常规累积错误修复更新。
优化
- 缓解当 BitComet 运行大量种子并连接大量 Peers 时,引发 PeerBanHelper 内存耗尽的问题 @Ghost-chu
- qBittorrent 也一同获得了类似的优化
- 创建 IPMatcher 时,合并去重规则以节省内存空间并提升运行速度 @Ghost-chu
错误修复
- 修复从网络更新 IP 规则时,有时检查缓存没有清除的问题,这可能导致封禁不及时 @Ghost-chu
- 修复 AvaitorScript 未正确注册类的静态方法的问题 @Ghost-chu
- 修复用户输入 appId 和 appSecret 时的空格问题,现在实际请求时将先进行 trim 操作 @Ghost-chu
- 修复 BitComet 的封禁列表超过 32KB 的时候无法继续封禁的问题 @Ghost-chu
- 修复连接 BitComet 下载器时,不会自动启用 BitComet 的 IP 过滤器的问题 @Ghost-chu
兼容性
- 添加并验证兼容 BitComet for Android v2.4.0 (20241031) @Ghost-chu
Docker
DockerHub: ghostchu/peerbanhelper:v7.0.2
阿里云国内镜像加速: registry.cn-hangzhou.aliyuncs.com/ghostchu/peerbanhelper:v7.0.2
7.0.1
这是 7.0.0 的累积错误修复。
重要安全提示
qBittorrent <= 5.0.0 版本出现安全漏洞(影响自 2010 年以来,14 年间发布的所有版本)。攻击者可以通过 RSS 订阅源,或者通过中间人劫持攻击Python下载、GeoIP库更新和检查更新等模块进行远程代码执行(RCE)从而获取权限并控制整台计算机。请考虑升级到 5.0.1 或者更高版本。
建议的操作: 更新 qBittorrent 下载器到 5.0.1 或者更新版本
注:当前 5.0.1 版本可能存在内存泄漏。
临时缓解措施: 1) 不要添加不可信的 RSS 订阅源,或者暂时禁用 RSS 订阅功能;2) 确保上网环境安全,避免被中间人劫持攻击 3) 不要使用高权限账户(如:管理员或 root)运行 qBittorrent,对于 Linux 用户,考虑在 Docker 的非特权容器中运行 qBittorrent
如果您的 qBittorrent 运行在高价值设备上(如存储重要数据的 NAS): 建议您使用 Docker 部署 qBittorrent,考虑到 qBittorrent 在过去多个版本的安全方面的表现来说,不能说很差,只能说几乎完全没有安全性可言。对 qBittorrent 做隔离是相当必要的操作。如果您的 NAS 主机系统被提权控制,快照保护和定期备份程序都可能面临失效的风险。你设置的文件系统快照在系统本身被拿下的情况下,很可能无法发挥作用。
原文:https://cyberinsider.com/rce-vulnerability-in-qbittorrents-ssl-handling-patched-after-14-years/
BTN 网络威胁提示
一般来说,我们不会在发行注记中发布 BTN 网络威胁信息,但由于相关地区的威胁以惊人的速度扩展,并且我们的云端规则无法很好的覆盖这些 IP 地址(前后缀都在随机更改),因此我们决定在发行注记中提及这一情况。
我们观察到最近 7 天,大连市出现大量异常连接记录,以一己之力追上海南省网的滥用情况。
恶意吸血者同时使用大量 IPV4 和 IPV6 地址,并通过频繁重拨、多拨更换 IPV6 前缀,并配合软件手段随机 IPV6 后缀,且客户端名称通常为 Transmission 2.94
或者 Transmission 3.00
。相关样本与我们此前在海南省网发现的 Transmission 2.94 样本非常相似。但由于没有更多信息,我们暂时无法确认此样本的原始来源。
由于网络 IP 规则的局限性和时延性,我们推荐您通过 PBH 内置的 “城市” 规则选项卡,创建下列城市的黑名单规则(相关规则已经尽可能细化以避免影响其他正常地区):
- 辽宁省 大连市 沙河口区
- 辽宁省 大连市 中山区
- 福建省 宁德市 古田县
- 福建省 莆田市 涵江区
- 海南省 海口市
操作示例如下:
对于其它吸血行为并不那么泛滥的地区,我们将继续通过 BTN 和 IP 规则维护 IP 列表。在后续版本中我们将持续改进各种反吸血模块和技术,并重点改进云端反吸血的能力。
请注意:使用 6.x.x 的版本的用户在添加上述规则后重启可能丢失更改,请升级到最低 7.0.0 版本。
错误修复
- [重要] 修复自 v6 版本以来,IP 订阅规则更新时缓存未被正确清除的问题,这会影响封禁效率和质量,并可能导致部分 IP 在一段时间内无法得到封禁 @Ghost-chu
- 修复通过 WebUI 修改连锁封禁时,IPV6 前缀长度被错误限制在 32 的问题 @cddjr (首次贡献)
- 修复正式版本提示当前为快照构建的问题 @Ghost-chu
- 修复 WebUI 中 PCB 前缀数值的范围大小限制丢失的问题 @paulzzh
- 修复 WebUI 表格内容有时出现偏移的问题 @SaikiCode (首次贡献) @Gaojianli
- 修复 WebUI 的封禁列表出现跳变的问题 @SaikiCode
更改
- WebUI 微调 @Gaojianli
- 自动打包 Portable 包,无需人工干预 @paulzzh
Docker
DockerHub: ghostchu/peerbanhelper:v7.0.1
阿里云国内镜像加速: registry.cn-hangzhou.aliyuncs.com/ghostchu/peerbanhelper:v7.0.1
7.0.0
经过一段时间的沉淀,我们很高兴宣布 v7.0.0 版本现已正式发布~
2000 Stars ⭐ 庆贺
在开始之前,请允许我感谢各位朋友们一直以来的支持,我谨代表 PBH-BTN 向各位致以诚挚的谢意 :)
在过去的一段时间内,我们的项目受到了大家的关注和热烈欢迎,这是我们远远未曾设想过的。PeerBanHelper 能发展到今天离不开大家的积极支持和鼓励,以及非常感谢在 Issues 上打开议题反馈错误的朋友们,帮助 PeerBanHelper 变得越来越好。
同时,我们也很感谢一直以来通过加入 BTN 网络来为反吸血贡献力量的伙伴们。在你们的支持下,自 2024 年 8 月 20 日以来,连接到 BTN 的 PBH 共拦截和封禁 Peer 超过 6,842,412 次。其中,通过 BTN 用户贡献的规则识别并拦截了来自 228,700 个 IP 地址的 3,323,527 次恶意刷流攻击。
这并不是完整的数据,因为还有更多的人未加入 BTN 网络,这些客户端和使用 IP 规则的拦截数据并未计入其中。但我相信,你们的贡献已经帮助到比这更多更多的人。
尽管关注 BitTorrent 技术的人越来越少。但我们坚信 BitTorrent 不可替代,它是互联网精神的体现:无私分享,不求利益,不求回报。
希望互联网精神能够延续下去,这是我们共同的心愿。共勉!
WebUI 焕然一新
忘记编辑配置文件的麻烦吧!通过 WebUI 直接编辑 PeerBanHelper 的首选项和各个反吸血模块的设置,所见即所得。
PeerID 封禁 | 反吸血模块合影 | 多拨封禁 | 进度作弊检查 |
---|---|---|---|
运行状态 随时掌握
在 WebUI 上直接查看程序状态、控制台日志和 BTN 网络连接状态,不再黑盒。
BTN 状态 | 运行状态 |
---|---|
及时跟进 重要信息
新的 PBH 引入了 “警报” 消息推送中心系统。您可以在 WebUI 查看当前活跃的各类警报,亦可以通过电子邮件、Server酱、推送加(提供钉钉、微信公众号、企业微信、短信等渠道)和 Telegram 等方式发送至您的设备。
您还可以在 Active Monitoring 主动监测模块中设置每日流量告警阈值,避免不小心被吸干的情况发生,及时止损。
Warning
注意!由于 API 限制,每日流量告警阈值功能当前仅对 qBittorrent、qBittorrent EE、Deluge 和 BiglyBT 有效
警报中心 | 邮件推送 |
---|---|
BTN 能力再升级
新增两种 BTN 协议:
- 例外:BTN 侧的白名单,处于白名单内的 IP 不会被封禁;如果已被封禁将会自动解除封禁。这有助于我们的数据遭到污染后的去污染能力
- Peers 历史:提交自启动或上次提交以来的所有 Peers 记录,以便 BTN 服务器分析统计在 BTN 网络上的恶意活动
实践:
通过 Peers 历史提交能力,我们在所有使用 v7.0.0 测试版用户的测试群体内进行了数据分析,在新的 BTN 能力加持下,我们成功捕获了多个从不同用户处反复重复下载文件的恶意 IP 地址。
注:相同 torrent 值为相同种子;total_uploaded 和 size 的单位是 bytes;upload_percentage 的单位是百分比,100% = 下载了种子 1 次。
生态扩展 支持广泛
新版本的 PeerBanHelper 中更新了对 BitComet 2.11 (20241022) 的 WebAPI 的支持。
除此之外,我们将 PeerBanHelper 的平台支持扩展到了:
- macOS 的 Intel / Apple Silicon 设备
- 运行 Linux 系统的 risc-v, ppp64le, 和 loongarch64 设备
其中,由于龙芯处理器平台的生态缺失,暂无 Docker 镜像可用。对于其它支持的平台,可下载安装程序或者拉取对应架构的 Docker 镜像使用。
至此,在 v7.0.0 版本中,我们已正式支持:
- Windows x86_64
- Windows arm64
- macOS Intel/Apple Silicon
- Linux x86_64/aarch64/riscv64/ppp64le/loongarch64
- Linux (musl) x86_64/aarch64
- FreeBSD x86_64/arm64
您现在可以在几乎所有主流平台上运行 PeerBanHelper。
新增平台适配
- 核心适配现在支持 loongarch64 (龙芯处理器 - 新世界)平台,感谢群友 lang @Gaojianli @Ghost-chu @paulzzh
- 核心适配现在支持 riscv64 平台,感谢群友 lang @Ghost-chu
- 核心适配现在“理论”支持 ppc64le 平台,欢迎各位持有对应平台设备的朋友进行测试 @Ghost-chu
其中,riscv64
和 ppc64le
平台已添加 Docker 和安装程序支持。loongarch64
由于缺少基础设施,目前只能通过 JAR 手动部署的方式安装,我们也欢迎您贡献 loongarch64 的 Docker 镜像打包方案。
新功能
- WebUI 设置界面 @Gaojianli @paulzzh
- 通过 WebUI 的设置界面,管理和修改 PeerBanHelper 的首选项和反吸血模块设定
- WebUI 支持查看实时日志 @Gaojianli
- 新增告警功能,可在 WebUI 显示需要注意的提示,并通过推送渠道推送通知 @Ghost-chu @paulzzh
- 支持下列推送渠道:
- SMTP 邮件发信
- 推送加
- Server 酱
- Telegram
- 支持下列推送渠道:
- 新增适配 macOS 系统 @Ghost-chu @paulzzh
- 新增 BTN Peers 累积流量数据上报协议 @Ghost-chu
- 新增 BTN 例外规则协议 @Ghost-chu
- 新增 BTN 状态页,可显示 PBH 连接到 BTN 的情况 @Gaojianli @Ghost-chu
- 新增流量超限告警,可设置每日上传告警阈值,超限后通过推送渠道发送通知 @Ghost-chu
- 新增下载器登录故障告警,如果下载器可连接但无法正确登录或返回错误响应,达到一定次数后,将发送告警提示信息 @Ghost-chu
- 新增内存使用感知,当 PeerBanHelper 的内存即将耗尽且无法释放足够空间时,将发送告警提示信息 @Ghost-chu
更改
- 适配 BitComet 2.11 (20241022) 更新的 WebAPI @Ghost-chu
- 适配新的解除封禁 API 接口,快速 PCB 测试现在在 BitComet 上可用
- 改进 BitComet 的是否登录检查的性能,大幅降低请求数
- 限制 BitComet 最大并发数到 4,避免连接数过多导致 BitComet 的 HTTP Server 关闭部分连接引发查询错误
- 将部分提示和错误信息本地化 @Ghost-chu
- 多拨追猎支持为 v4 和 v6 地址分别设置阈值 @Ghost-chu
错误修复
- 修复 Windows 资源管理器重启后无法再与托盘图标交互的问题 @paulzzh
- 修复如果下载器未就绪,则 PeerBanHelper 启动时更新封禁列表会出错的问题 @Ghost-chu
- 修复安装器版本 PeerBanHelper 无法正确生成和保存日志文件的问题 @Ghost-chu
- 修复 BTN 规则更新时出现的空指针报错的问题,此错误并不影响使用 @Ghost-chu
- 修复处理多下载器时可能在一个 BanWave 中封禁同一个 Peer 多次(于不同下载器),从而触发 DUPLICATE_BAN 提示并触发强制全量同步的问题 @Ghost-chu
- 修复非 Windows 平台上的系统语言检测问题 @Ghost-chu
- 修复日志窗口会随机调到最顶部的问题 @Ghost-chu
- 修复日志窗口每次新日志插入时都跳到最下面的问题 @Ghost-chu
- 修复 BitComet 上可能意外解析 IP 地址为域名并引发错误的问题 @Ghost-chu
- 修复了执行重载操作时,程序代理服务器设置未正确重载的问题 @Ghost-chu
- 修复了执行重载操作时,没有从封禁列表中自动解除已在白名单地址段的 IP 地址 @Ghost-chu
- 修复了 BTN 网络规则模块的 peer_id 以及 port 的规则判断检查不生效的问题 @Ghost-chu
- 修复 UNBAN_IP 检查条件错误反转的问题 @Ghost-chu
删除的功能
- 删除了 JavaFx GUI @Ghost-chu
- 集编程困难、依赖繁琐、容易崩溃等多个问题于一体的 UI 框架,我们回到了 Swing 的正路上,并节约了 12MB 的磁盘空间
- 由于现在只使用 Swing UI,因此 GUI Safe-Mode (Swing) 启动方式已被移除
- 运行时依赖下载和加载工具 @Ghost-chu
- 在过去的多版本中,证明在中国大陆的网络环境下,在运行时解决依赖不是一种好的方式
- 通过更改打包方式,现在所有依赖将一次性全部打包,全量分发,不再在运行时处理
- 移除规则命中率统计页面 @paulzzh
内部更改
- 更改了打包方式,不再输出 uber jar,而是通过 -cp 加载 jars 并引导主类启动 @Ghost-chu @paulzzh
- 解决了因重定位 jar 导致破坏数字签名,并导致编译失败/运行时类加载失败的问题
- 在执行重载过程时,解除位于白名单 IP 段配置的 IP 地址的封禁 @Ghost-chu
- 从 takari 换回传统编译 @Ghost-chu
- 使用 logback 代替 log4j2 @Ghost-chu
- 各类性能优化和代码清理
Docker
DockerHub: ghostchu/peerbanhelper:v7.0.0
阿里云国内镜像加速: registry.cn-hangzhou.aliyuncs.com/ghostchu/peerbanhelper:v7.0.0
公益 Tracker 项目正在公测
由 PBH-BTN 维护的 Sparkle Tracker 现在正在公测。这是一个高性能的公共 Tracker 服务,除提供基本 Tracker 功能外,它还和 BTN 进行了整合。通过结合两者的数据,我们可以更加了解当前对 BT 网络的攻击态势。
您可以将下面的 Tracker 地址添加到您的下载器的 Tracker 列表中使用。
https://sparkle.ghostchu-services.top/tracker/announce
鸣谢
- 感谢 大河李斯特视频工作室 老师制作的 【看番教程39】怎么样从网上下载资源?磁链/种子到底是啥??评论区神秘代码要怎么用?什么是BT协议?BT入门保姆级教程,webUI、屏蔽吸血客户端PCDN详解 让更多人了解磁力链接和 BT 种子背后的故事和技术,降低了新人踏入 BitTorrent 世界的门槛,也让更多人知道如何保护自己的下载器免受恶意攻击的侵害。对于一个较小和相对固定的社区来说,入门门槛高是一个屡见不鲜的问题。感谢您制作的系列视频降低了新人入门的门槛,也让更多人了解了这些网络技术背后的所发生的事情。请允许我们对您的无私奉献致以敬意
- 感谢 我不是矿神 在过去一段时间内对 PeerBanHelper 项目的支持,帮助在群晖 NAS 平台上的用户指导部署 PBH,以及在 SPK 软件源中分发 PeerBanHelper。NAS 用户因长期开机做种,更易成为吸血鬼攻击的目标,有时一不小心,可能一觉睡醒天就塌了。IMNKS 在 NAS 用户群体中的宣传让更多的 NAS 用户了解到了 BT 刷流吸血的存在,并避免了更多用户深受其害
- 以及其他默默在背后支持我们的朋友们 :)
当前版本已知问题
- 程序可能会提示你正在使用的测试版本,这是 BUG 导致的,实际上您正在使用稳定版本 :)
- 调整连锁封禁的 IPV6 前缀长度时,会被错误的限制在最大 32。如果您不修改此值或者通过配置文件修改,则不会受到影响
7.0.0-RC2
Note
这是一个“正式版候选发布版本”,如果没有重大更改,此版本将作为最终正式版本发布
更新前,请注意备份数据。
RC1 已被撤回,因选择的分支不正确,导致实际发布的是 6.4.8 的版本。请更新到 RC2。
点击查看详细更新日志
WebUI 焕然一新
忘记编辑配置文件的麻烦吧!通过 WebUI 直接编辑 PeerBanHelper 的首选项和各个反吸血模块的设置,所见即所得。
PeerID 封禁 | 进度作弊检查 | 多拨封禁 | 反吸血模块合影 |
---|---|---|---|
运行状态 随时掌握
在 WebUI 上直接查看程序状态、控制台日志和 BTN 网络连接状态,不再黑盒。
运行状态 | BTN 状态 |
---|---|
及时跟进 重要信息
新的 PBH 引入了 “警报” 消息推送中心系统。您可以在 WebUI 查看当前活跃的各类警报,亦可以通过电子邮件、Server酱、推送加(提供钉钉、微信公众号、企业微信、短信等渠道)和 Telegram 等方式发送至您的设备。
您还可以在 Active Monitoring 主动监测模块中设置每日流量告警阈值,避免不小心被吸干的情况发生,及时止损。
[!WARNING]
注意!由于 API 限制,每日流量告警阈值功能当前仅对 qBittorrent、qBittorrent EE、Deluge 和 BiglyBT 有效
警报中心 | 邮件推送 |
---|---|
BTN 能力再升级
新增两种 BTN 协议:
- 例外:BTN 侧的白名单,处于白名单内的 IP 不会被封禁;如果已被封禁将会自动解除封禁。这有助于我们的数据遭到污染后的去污染能力
- Peers 历史:提交自启动或上次提交以来的所有 Peers 记录,以便 BTN 服务器分析统计在 BTN 网络上的恶意活动
实践:
通过 Peers 历史提交能力,我们在所有使用 v7.0.0 测试版用户的测试群体内进行了数据分析,在新的 BTN 能力加持下,我们成功捕获了多个从不同用户处反复重复下载文件的恶意 IP 地址。
注:相同 torrent 值为相同种子;total_uploaded 和 size 的单位是 bytes;upload_percentage 的单位是百分比,100% = 下载了种子 1 次。
生态扩展 支持广泛
新版本的 PeerBanHelper 中更新了对 BitComet 2.11 (20241022) 的 WebAPI 的支持。
除此之外,我们将 PeerBanHelper 的平台支持扩展到了:
- macOS 的 Intel / Apple Silicon 设备
- 运行 Linux 系统的 risc-v, ppp64le, 和 loongarch64 设备
其中,由于龙芯处理器平台的生态缺失,暂无 Docker 镜像可用。对于其它支持的平台,可下载安装程序或者拉取对应架构的 Docker 镜像使用。
至此,在 v7.0.0 版本中,我们已正式支持:
- Windows x86_64
- Windows arm64
- macOS Intel/Apple Silicon
- Linux x86_64/aarch64/riscv64/ppp64le/loongarch64
- Linux (Alpine) x86_64/aarch64
- FreeBSD x86_64/arm64
您现在可以在所有主流平台上运行 PeerBanHelper。
新增平台适配
- 核心适配现在支持 loongarch64 (龙芯处理器 - 新世界)平台,感谢群友 lang @Gaojianli @Ghost-chu @paulzzh
- 核心适配现在支持 riscv64 平台,感谢群友 lang @Ghost-chu
- 核心适配现在“理论”支持 ppc64le 平台,欢迎各位持有对应平台设备的朋友进行测试 @Ghost-chu
其中,riscv64
和 ppc64le
平台已添加 Docker 和安装程序支持。loongarch64
由于缺少基础设施,目前只能通过 JAR 手动部署的方式安装,我们也欢迎您贡献 loongarch64 的 Docker 镜像打包方案。
新功能
- WebUI 设置界面 @Gaojianli @paulzzh
- 通过 WebUI 的设置界面,管理和修改 PeerBanHelper 的首选项和反吸血模块设定
- WebUI 支持查看实时日志 @Gaojianli
- 新增告警功能,可在 WebUI 显示需要注意的提示,并通过推送渠道推送通知 @Ghost-chu @paulzzh
- 支持下列推送渠道:
- SMTP 邮件发信
- 推送加
- Server 酱
- Telegram
- 支持下列推送渠道:
- 新增适配 macOS 系统 @Ghost-chu @paulzzh
- 新增 BTN Peers 累积流量数据上报协议 @Ghost-chu
- 新增 BTN 例外规则协议 @Ghost-chu
- 新增 BTN 状态页,可显示 PBH 连接到 BTN 的情况 @Gaojianli @Ghost-chu
- 新增流量超限告警,可设置每日上传告警阈值,超限后通过推送渠道发送通知 @Ghost-chu
- 新增下载器登录故障告警,如果下载器可连接但无法正确登录或返回错误响应,达到一定次数后,将发送告警提示信息 @Ghost-chu
- 新增内存使用感知,当 PeerBanHelper 的内存即将耗尽且无法释放足够空间时,将发送告警提示信息 @Ghost-chu
更改
- 适配 BitComet 2.11 (20241022) 更新的 WebAPI @Ghost-chu
- 适配新的解除封禁 API 接口,快速 PCB 测试现在在 BitComet 上可用
- 改进 BitComet 的是否登录检查的性能,大幅降低请求数
- 限制 BitComet 最大并发数到 4,避免连接数过多导致 BitComet 的 HTTP Server 关闭部分连接引发查询错误
- 将部分提示和错误信息本地化 @Ghost-chu
- 多拨追猎支持为 v4 和 v6 地址分别设置阈值 @Ghost-chu
错误修复
- 修复 Windows 资源管理器重启后无法再与托盘图标交互的问题 @paulzzh
- 修复如果下载器未就绪,则 PeerBanHelper 启动时更新封禁列表会出错的问题 @Ghost-chu
- 修复安装器版本 PeerBanHelper 无法正确生成和保存日志文件的问题 @Ghost-chu
- 修复 BTN 规则更新时出现的空指针报错的问题,此错误并不影响使用 @Ghost-chu
- 修复处理多下载器时可能在一个 BanWave 中封禁同一个 Peer 多次(于不同下载器),从而触发 DUPLICATE_BAN 提示并触发强制全量同步的问题 @Ghost-chu
- 修复非 Windows 平台上的系统语言检测问题 @Ghost-chu
- 修复日志窗口会随机调到最顶部的问题 @Ghost-chu
- 修复日志窗口每次新日志插入时都跳到最下面的问题 @Ghost-chu
- 修复 BitComet 上可能意外解析 IP 地址为域名并引发错误的问题 @Ghost-chu
- 修复了执行重载操作时,程序代理服务器设置未正确重载的问题 @Ghost-chu
- 修复了执行重载操作时,没有从封禁列表中自动解除已在白名单地址段的 IP 地址 @Ghost-chu
- 修复了 BTN 网络规则模块的 peer_id 以及 port 的规则判断检查不生效的问题 @Ghost-chu
- 修复 UNBAN_IP 检查条件错误反转的问题 @Ghost-chu
删除的功能
- 删除了 JavaFx GUI @Ghost-chu
- 集编程困难、依赖繁琐、容易崩溃等多个问题于一体的 UI 框架,我们回到了 Swing 的正路上,并节约了 12MB 的磁盘空间
- 由于现在只使用 Swing UI,因此 GUI Safe-Mode (Swing) 启动方式已被移除
- 运行时依赖下载和加载工具 @Ghost-chu
- 在过去的多版本中,证明在中国大陆的网络环境下,在运行时解决依赖不是一种好的方式
- 通过更改打包方式,现在所有依赖将一次性全部打包,全量分发,不再在运行时处理
- 移除规则命中率统计页面 @paulzzh
内部更改
- 更改了打包方式,不再输出 uber jar,而是通过 -cp 加载 jars 并引导主类启动 @Ghost-chu @paulzzh
- 解决了因重定位 jar 导致破坏数字签名,并导致编译失败/运行时类加载失败的问题
- 在执行重载过程时,解除位于白名单 IP 段配置的 IP 地址的封禁 @Ghost-chu
- 从 takari 换回传统编译 @Ghost-chu
- 使用 logback 代替 log4j2 @Ghost-chu
- 各类性能优化和代码清理
7.0.0-beta2
新的 RC 版本已发布:https://github.com/PBH-BTN/PeerBanHelper/releases/tag/v7.0.0-rc1
Warning
这是一个测试版本,仅供测试用途。 对于普通用户,请继续等待正式版的发布。 如果您对改进 PeerBanHelper 感兴趣,欢迎参与 Beta 版本测试。
更新前,请注意备份数据。
Beta2 相对 Beta1 修复
- PBH 重启后,持久化 Alerts 数据丢失 @paulzzh
- WebUI 新增堆内存数据查看 @Gaojianli
点击查看详细更新日志
WebUI 焕然一新
忘记编辑配置文件的麻烦吧!通过 WebUI 直接编辑 PeerBanHelper 的首选项和各个反吸血模块的设置,所见即所得。
PeerID 封禁 | 进度作弊检查 | 多拨封禁 | 反吸血模块合影 |
---|---|---|---|
运行状态 随时掌握
在 WebUI 上直接查看程序状态、控制台日志和 BTN 网络连接状态,不再黑盒。
运行状态 | BTN 状态 |
---|---|
及时跟进 重要信息
新的 PBH 引入了 “警报” 消息推送中心系统。您可以在 WebUI 查看当前活跃的各类警报,亦可以通过电子邮件、Server酱、推送加(提供钉钉、微信公众号、企业微信、短信等渠道)和 Telegram 等方式发送至您的设备。
您还可以在 Active Monitoring 主动监测模块中设置每日流量告警阈值,避免不小心被吸干的情况发生,及时止损。
[!WARNING]
注意!由于 API 限制,每日流量告警阈值功能当前仅对 qBittorrent、qBittorrent EE、Deluge 和 BiglyBT 有效
警报中心 | 邮件推送 |
---|---|
BTN 能力再升级
新增两种 BTN 协议:
- 例外:BTN 侧的白名单,处于白名单内的 IP 不会被封禁;如果已被封禁将会自动解除封禁。这有助于我们的数据遭到污染后的去污染能力
- Peers 历史:提交自启动或上次提交以来的所有 Peers 记录,以便 BTN 服务器分析统计在 BTN 网络上的恶意活动
实践:
通过 Peers 历史提交能力,我们在所有使用 v7.0.0 测试版用户的测试群体内进行了数据分析,在新的 BTN 能力加持下,我们成功捕获了多个从不同用户处反复重复下载文件的恶意 IP 地址。
注:相同 torrent 值为相同种子;total_uploaded 和 size 的单位是 bytes;upload_percentage 的单位是百分比,100% = 下载了种子 1 次。
生态扩展 支持广泛
新版本的 PeerBanHelper 中更新了对 BitComet 2.11 (20241022) 的 WebAPI 的支持。
除此之外,我们将 PeerBanHelper 的平台支持扩展到了:
- macOS 的 Intel / Apple Silicon 设备
- 运行 Linux 系统的 risc-v, ppp64le, 和 loongarch64 设备
其中,由于龙芯处理器平台的生态缺失,暂无 Docker 镜像可用。对于其它支持的平台,可下载安装程序或者拉取对应架构的 Docker 镜像使用。
至此,在 v7.0.0 版本中,我们已正式支持:
- Windows x86_64
- Windows arm64
- macOS Intel/Apple Silicon
- Linux x86_64/aarch64/riscv64/ppp64le/loongarch64
- Linux (Alpine) x86_64/aarch64
- FreeBSD x86_64/arm64
您现在可以在所有主流平台上运行 PeerBanHelper。
新增平台适配
- 核心适配现在支持 loongarch64 (龙芯处理器 - 新世界)平台,感谢群友 lang @Gaojianli @Ghost-chu @paulzzh
- 核心适配现在支持 riscv64 平台,感谢群友 lang @Ghost-chu
- 核心适配现在“理论”支持 ppc64le 平台,欢迎各位持有对应平台设备的朋友进行测试 @Ghost-chu
其中,riscv64
和 ppc64le
平台已添加 Docker 和安装程序支持。loongarch64
由于缺少基础设施,目前只能通过 JAR 手动部署的方式安装,我们也欢迎您贡献 loongarch64 的 Docker 镜像打包方案。
新功能
- WebUI 设置界面 @Gaojianli @paulzzh
- 通过 WebUI 的设置界面,管理和修改 PeerBanHelper 的首选项和反吸血模块设定
- WebUI 支持查看实时日志 @Gaojianli
- 新增告警功能,可在 WebUI 显示需要注意的提示,并通过推送渠道推送通知 @Ghost-chu @paulzzh
- 支持下列推送渠道:
- SMTP 邮件发信
- 推送加
- Server 酱
- Telegram
- 支持下列推送渠道:
- 新增适配 macOS 系统 @Ghost-chu @paulzzh
- 新增 BTN Peers 累积流量数据上报协议 @Ghost-chu
- 新增 BTN 例外规则协议 @Ghost-chu
- 新增 BTN 状态页,可显示 PBH 连接到 BTN 的情况 @Gaojianli @Ghost-chu
- 新增流量超限告警,可设置每日上传告警阈值,超限后通过推送渠道发送通知 @Ghost-chu
- 新增下载器登录故障告警,如果下载器可连接但无法正确登录或返回错误响应,达到一定次数后,将发送告警提示信息 @Ghost-chu
- 新增内存使用感知,当 PeerBanHelper 的内存即将耗尽且无法释放足够空间时,将发送告警提示信息 @Ghost-chu
更改
- 适配 BitComet 2.11 (20241022) 更新的 WebAPI @Ghost-chu
- 适配新的解除封禁 API 接口,快速 PCB 测试现在在 BitComet 上可用
- 改进 BitComet 的是否登录检查的性能,大幅降低请求数
- 限制 BitComet 最大并发数到 4,避免连接数过多导致 BitComet 的 HTTP Server 关闭部分连接引发查询错误
- 将部分提示和错误信息本地化 @Ghost-chu
- 多拨追猎支持为 v4 和 v6 地址分别设置阈值 @Ghost-chu
错误修复
- 修复 Windows 资源管理器重启后无法再与托盘图标交互的问题 @paulzzh
- 修复如果下载器未就绪,则 PeerBanHelper 启动时更新封禁列表会出错的问题 @Ghost-chu
- 修复安装器版本 PeerBanHelper 无法正确生成和保存日志文件的问题 @Ghost-chu
- 修复 BTN 规则更新时出现的空指针报错的问题,此错误并不影响使用 @Ghost-chu
- 修复处理多下载器时可能在一个 BanWave 中封禁同一个 Peer 多次(于不同下载器),从而触发 DUPLICATE_BAN 提示并触发强制全量同步的问题 @Ghost-chu
- 修复非 Windows 平台上的系统语言检测问题 @Ghost-chu
- 修复日志窗口会随机调到最顶部的问题 @Ghost-chu
- 修复日志窗口每次新日志插入时都跳到最下面的问题 @Ghost-chu
- 修复 BitComet 上可能意外解析 IP 地址为域名并引发错误的问题 @Ghost-chu
- 修复了执行重载操作时,程序代理服务器设置未正确重载的问题 @Ghost-chu
- 修复了执行重载操作时,没有从封禁列表中自动解除已在白名单地址段的 IP 地址 @Ghost-chu
- 修复了 BTN 网络规则模块的 peer_id 以及 port 的规则判断检查不生效的问题 @Ghost-chu
- 修复 UNBAN_IP 检查条件错误反转的问题 @Ghost-chu
删除的功能
- 删除了 JavaFx GUI @Ghost-chu
- 集编程困难、依赖繁琐、容易崩溃等多个问题于一体的 UI 框架,我们回到了 Swing 的正路上,并节约了 12MB 的磁盘空间
- 由于现在只使用 Swing UI,因此 GUI Safe-Mode (Swing) 启动方式已被移除
- 运行时依赖下载和加载工具 @Ghost-chu
- 在过去的多版本中,证明在中国大陆的网络环境下,在运行时解决依赖不是一种好的方式
- 通过更改打包方式,现在所有依赖将一次性全部打包,全量分发,不再在运行时处理
- 移除规则命中率统计页面 @paulzzh
- 在过去的版本中,它起到的作用比它带来的麻烦多太多了,通过移除几乎没有人使用的规则命中率统计页面解决了困扰已久的内存泄漏问题
内部更改
- 更改了打包方式,不再输出 uber jar,而是通过 -cp 加载 jars 并引导主类启动 @Ghost-chu @paulzzh
- 解决了因重定位 jar 导致破坏数字签名,并导致编译失败/运行时类加载失败的问题
- 在执行重载过程时,解除位于白名单 IP 段配置的 IP 地址的封禁 @Ghost-chu
- 从 takari 换回传统编译 @Ghost-chu
- 使用 logback 代替 log4j2 @Ghost-chu
- 各类性能优化和代码清理