Skip to content

Releases: PBH-BTN/PeerBanHelper

v7.2.2

12 Dec 21:16
2476139
Compare
Choose a tag to compare

错误修复

  • 修复检查更新失败时,用户侧会弹出检查失败的提示框的问题。现在将静默忽略错误处理 @Ghost-chu
  • 修复 Transmission 适配器空指针错误 @Ghost-chu

更改

  • Docker 中运行的 PBH 默认情况下强制 AWT 无头模式运行

Docker

DockerHub: ghostchu/peerbanhelper:v7.2.2
阿里云国内镜像加速: registry.cn-hangzhou.aliyuncs.com/ghostchu/peerbanhelper:v7.2.2

v7.2.1

11 Dec 08:07
818f802
Compare
Choose a tag to compare

v7.2.1 是 v7.2.0 的一个首日补丁,用于修复 v7.2.0 中已知的错误。

错误修复

  • 修复 .deb 安装包安装时可能因为文件夹已经存在导致报错的问题 @Anuskuss
  • 修复警报提示框中警报内容文本丢失的问题 @Gaojianli
  • 修复启动时 IPFS Share BanList 提示出错,导致 0 号测试组用户无法启动 PBH 的问题,我们暂时禁用了此功能,并将随下一个修复版本一同修复。 @Ghost-chu

Docker

DockerHub: ghostchu/peerbanhelper:v7.2.1
阿里云国内镜像加速: registry.cn-hangzhou.aliyuncs.com/ghostchu/peerbanhelper:v7.2.1

v7.2.0 更新日志请见:https://github.com/PBH-BTN/PeerBanHelper/releases/tag/v7.2.0

v7.2.0

10 Dec 15:56
2b22b5d
Compare
Choose a tag to compare

与往常一样,我们持续更新 PeerBanHelper 以改进反吸血能力,并持续改进用户体验。
v7.2.0 是一次次要更新,本次升级涉及配置文件重要变更,请在继续之前备份 data/config 文件夹内的文件。

旧版本生命周期提醒

由于旧版本中存在的内存泄漏和在线 API 等问题,我们将很快放弃 v7.1.5 版本前的 PeerBanHelper 版本的在线支持。

如果您仍在使用 v7.1.5 之前的版本,则建议您在 2025 年 1 月 1 日前完成版本升级,更新到最低 v7.1.5 或者更高的 v7.2.0 版本。 在该日期后,我们将逐步停止旧版本 PeerBanHelper 的在线 API 支持,包括但不限于 GeoIP 库更新和 BTN 网络等服务。
在线 API 停止对旧版本的支持后,旧版本 PeerBanHelper 将无法更新 GeoIP,且也将无法从 BTN 网络获取新的云端规则。
同时由于上面提到的内存泄漏问题,旧版本 PeerBanHelper 可能频繁面临因内存泄漏产生的崩溃问题(在此之前我们通过控制规则数量减缓旧版本的崩溃问题)。

建议您总是保持运行最新版本 PeerBanHelper 以获取重要错误修复和功能更新。

反吸血算法改进

改进了对 BEP-0021 Extension for partial seeds 规范的支持,现在能够对下列情况做出正确的过量下载/进度回退的反吸血判定:

  • 种子处于下载状态,部分文件没有完整下载
  • 用户/Peer在 “内容” 选项卡中只选择了部分文件下载,而不是整个完整的 torrent (BEP-0021)
  • 下载过程中出现错误,导致下载停止,进入了仅上传状态(如 I/O 错误,或者在下载 torrent 过程中磁盘空间不足)

现在 PeerBanHelper 的进度反作弊能够正确处理上面列出的情况。 @paulzzh

Deluge 用户需要更新适配器

通知渠道管理

现在可在 WebUI 上管理通知推送渠道。当出现警告或者错误的高等级信息时(如:上传量达到每日告警阈值;PBH 内存不足等),您将会收到通知推送。 @Gaojianli

image

image

可显示/隐藏的图表项

现在图表页面可选择显示或者隐藏特定的图表。@Gaojianli

image

PeerBanHelper Labs

欢迎来到 PeerBanHelper 实验室!我们有时会对 PeerBanHelper 的一些功能做出实验性的更改。这些实验正在进行中,有的则可能被放弃。我们希望其中的多数会获得您的反馈意见,得以改进,并最终成为 PeerBanHelper 的一部分。PeerBanHelper 实验室的作用就在于此。

每个实验推出时都会随机的在一部分用户的 PeerBanHelper 上启用,以便获得新功能的反馈。但如果新功能的对您造成了困扰/或者想要提前尝鲜测试,您也可以随时在 “实验室” 菜单中手动开启关闭实验项目。@Ghost-chu @Gaojianli

PeerBanHelper Labs

install4j 自动更新支持

被大家心心念念的 Windows/Linux 平台的 install4j 自动更新的支持现已到来。对使用安装程序安装的 PeerBanHelper,在本次更新后将会添加自动更新功能。每次启动 PeerBanHelper 时,更新程序会在后台检查并下载更新,并在下一次启动时安装新的更新。

您也可以通过开始菜单中新增的 “PeerBanHelper 检查更新” 程序来手动检查更新:

image

de9aa83ed64e53850d3abcc10b49eb35

对于非 install4j 安装程序安装的 PeerBanHelper:

  • Docker:可使用 WatchTower 自动更新
  • 群晖套件:继续由群晖的套件中心提供更新
  • .deb 包:由用户自行管理更新

@Ghost-chu

更新日志

现在可以直接在前端查看新版本的更新日志 @Gaojianli
image
image

(实验性功能)IPFS/IPNS 规则订阅支持

Note

这是一个实验性功能,不建议普通用户使用

作为 #622 的一部分,本次 v7.2 版本中新增了 IPFS/IPNS 去中心化网络支持。IPFS(星际文件系统) 是一个类似 BitTorrent 的完全去中心化点到点超媒体传输协议,而 IPNS 则充当 IPFS 网络中的 DNS。

要使用 IPFS/IPNS 规则订阅,则需要部署 Kubo IPFS 客户端,在实验室中启用 IPFS 实验并在 config.yml 手动启用和配置。配置完成后,您就可以使用 IPFS 和 IPNS 协议地址来添加订阅。

您可以在配置文件中修改 Kubo RPC 地址为您自行安装的 Kubo IPFS 客户端,或者使用新的 docker-compose.yml 部署,将会自动配置 IPFS 客户端。

  • 对于 IPFS 来说,你需要使用 ipfs://CID 格式的 URL,但缺点是每个文件被提交到 IPFS 后都无法再次被修改
  • 您也可以使用 IPNS,IPNS 是可修改的,并可以指向任意 CID,格式为 ipns://ID,你可以在 IPFS Desktop 中将不同的文件发布到同一个 IPNS 上来完成更新操作

同时,PeerBanHelper 也会每隔 1 个小时(可修改)将自身的 Banlist 发布到 IPFS 和 IPNS 上,IPNS 地址可在 IPFS 客户端上看到。如果您的 IPFS 客户端连接了多个 PeerBanHelper 客户端,则您可以通过后缀(安装ID)来识别不同的 PeerBanHelper 客户端。

Kubo Client IPNS

使用 IPFS 网络可以做到人人都能创建合订阅规则,且无需购买服务器。使用的人越多,则帮助你一起分发规则的人也越多。 @Ghost-chu

DEB 安装包改进

感谢 @Anuskuss。本次更新后,使用 DEB 安装包安装 PeerBanHepler 的用户将会将数据文件和 PBH 主程序安装到更合适的位置。本次更新也同时改进了日志记录功能。#732

PBH Plus 许可证更改

在过去只有在爱发电上捐赠我们的用户可以使用 PBH Plus 的捐赠功能,但我们认为这可能有悖于非营利软件的定义。因此在 v7.2 版本中,我们添加了一个 “我不想捐赠” 的按钮,允许直接激活 PBH Plus 许可证而无需捐赠。

通过这种方式激活的 PBH Plus 许可证在功能上与捐赠用户的许可证完全相同,但有效期只有 15 天,且不会显示捐赠感谢信息。当许可证到期后,您可以重复相同步骤,再次点击 “我不想捐赠” 创建新的循环许可证。

image

尽管如此,PBH-BTN 仍在维护多个需要持续投入的基础设施,如 BTN 和公共 BitTorrent Tracker。
如果 PeerBanHelper 确实有帮到您,我们仍然希望您能够考虑捐赠此项目。

错误修复

  • 修复了 BTN、检查间隔 等配置项在 WebUI 调整设置后重载配置不生效的问题 @Ghost-chu
  • 修复了新安装首次启动时清理任务报告 SQL 错误的问题 @Ghost-chu
  • 修复端口占用时,弹出的提示没有显示被占用的端口号的问题 @Ghost-chu

性能优化

  • 改进了加载 BTN 规则时产生的内存尖峰,避免极端情况下可能导致 OOM 的问题 @Ghost-chu
  • 改进了例外列表 IP 判断的性能和内存占用 @Ghost-chu

用户体验优化

  • 安装向导结束时,添加 “启动 PeerBanHelper” 复选框 @Ghost-chu
  • 连接到 qBittorrent 下载器时,在首次登陆时自动关闭需要关闭的 “允许同一 IP 地址的多重连接” 开关 @Ghost-chu

文档修正

BTN / Sparkle 改进

Sparkle BTN 改进

自上一个版本发布以来,我们对 Sparkle BTN 做了大量的改进,以提升其分析精确度和分析性能。

  • BTN 对提交的数据进行分析时,现在按照时间块进行切分来统计数据,以避免短时间内同一 Peer 触发多个 BTN 客户端,导致连续上报被立刻标记为不可信的问题
  • 将统计时间区间从 45 天缩短到 14 天。由于动态 IP 地址的特性,一个 IP 很少能够被同一个用户持续使用超过 7 天。对于普通用户来说,这改善了误封禁的问题;对于数据中心 IP 来说,因为其 IP 一直没有变化,因此这个调整不会对其产生影响;对于动态吸血 IP 来说,它们遵循与普通用户一样的 IP 轮换规则,因此 IP 被污染抛弃后,BTN 现在可以加快过期速度,释放原先的 IP 地址
  • 与 Sparkle Tracker 联动

Sparkle Tracker 改进

  • 大幅改进了 Sparkle Tracker 的性能,解决了因繁重的 Tracker 任务导致的多次 Sparkle 程序宕机、崩溃和数据库服务器宕机的问题
  • 现在支持与 Sparkle BTN 服务交叉联动,BTN 现在能够分析 Sparkle Tracker 的数据以生成反吸血 IP 地址规则
  • 后期将进一步深度集成两者,以便聚合分析数据

回退支持

v7.2.0 是一次次要更新,因此支持版本回退。目前支持的回退路径为回退到最低 v7.1.5。
您可通过还原 v7.1.5 的 data/config 中的文件备份后,重新安装 v7.1.5 版本以降级到 v7.1.5。

Docker

DockerHub: ghostchu/peerbanhelper:v7.2.0
阿里云国内镜像加速: registry.cn-hangzhou.aliyuncs.com/ghostchu/peerbanhelper:v7.2.0

已知问题|Known issue

  • 警报的内容可能无法显示

7.1.5

26 Nov 14:36
18c1ef3
Compare
Choose a tag to compare

7.1.5 是 7.1 系列的一个错误修复版本,不包含功能更新。与往常一样,我们持续更新 PeerBanHelper 以修复一些已知问题。

错误修复

  • 修复 PeerBanHelper 在 Windows 操作系统下,即使使用 NoGUI 运行依然加载 AWT 相关组件,并触发 AWT 的漏洞导致程序崩溃的问题 @Ghost-chu
    • 现在使用 NoGUI 模式启动时,将阻止 AWT 注册
    • GUI 崩溃的问题是 Java VM 的问题,我们仍在等待 Java 24 发布以解决此问题
  • [WebUI] 修复不输入任何 IP 的情况下点击 IP 查询按钮引发 WebUI 页面错误的问题 @Gaojianli
  • [WebUI] 修复编辑城市规则时在罕见情况下可能删除现有的城市规则的问题 @Gaojianli

调整

  • 新的 PeerBanHelper 安装在规则订阅中默认包含未启用的 Tor Exit Node 规则 @Ghost-chu
  • 优化运行内存(Heap)占用 @Ghost-chu

已知问题

  • 在 Windows 平台上运行带有 GUI 版本的 PeerBanHelper 时如遇屏幕分辨率更改(如连接远程桌面 RDP 等)会导致崩溃
    • 这是 Java VM 的 AWT 组件的故障,只能由 Java VM 团队修复,我们仍在等待修复
    • 受影响的 Windows 用户在更新到 v7.1.5 后,使用 NoGUI 模式运行即可解决崩溃问题
    • Linux 和 macOS 的 GUI 界面不受此问题的影响
  • 在未完成/不完整/部分做种的种子上做种时,可能错误标记此种子上的其它 Peer 为吸血
    • 通过 #748 修复,将与 7.2 版本一同发布修复

Docker

DockerHub: ghostchu/peerbanhelper:v7.1.5
阿里云国内镜像加速: registry.cn-hangzhou.aliyuncs.com/ghostchu/peerbanhelper:v7.1.5

7.1.4

11 Nov 15:58
97115cc
Compare
Choose a tag to compare

反吸血算法优化

  • 优化进度反作弊检测模块对使用 “超级做种” 的 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

10 Nov 09:28
ddb76f0
Compare
Choose a tag to compare

错误修复

  • 修复了日志系统中的一个内存泄漏问题,导致长时间运行时出现内存耗尽的问题 @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

07 Nov 09:11
1d6479b
Compare
Choose a tag to compare

错误修复

  • 修复进度反作弊检查在 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
  • 仅在登录阶段传递 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

06 Nov 14:45
7a312a2
Compare
Choose a tag to compare

错误修复

  • 修复流量统计图表在 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
  • 仅在登录阶段传递 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 - 重要安全修复

06 Nov 12:55
0ff1c09
Compare
Choose a tag to compare

此版本已被更新版本取代。

Caution

本版包含重要安全修复,不管出于任何理由,您都应该更新到此修复版本。

关键安全性修复

  • 【重要】修复了因错误使用 ORM 框架导致潜在 SQL 注入的问题 @Ghost-chu @paulzzh
    • 恶意攻击者可通过在查询参数中插入 SQL 片段,执行任意 SQL 查询
  • 【重要】修复了登录接口的 POST 登陆方式没有覆盖暴力破解防护的问题 @Ghost-chu
    • 恶意攻击者可能对登录接口发起暴力破解穷举 WebUI Token 以获取 WebUI 访问权限,并间接获取连接的下载器的 WebUI 权限
  • 添加了 robots.txt 并拒绝任何搜索引擎索引并避免在搜索引擎中暴露,但依然可能被 Censys 等网络空间测绘引擎发现,建议使用防火墙保护 @Ghost-chu
    • 如果 PBH 部署在二级目录下,请自行管理 robots.txt
  • 仅在登录阶段传递 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

02 Nov 16:43
f190c6f
Compare
Choose a tag to compare

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