github PBH-BTN/PeerBanHelper v8.0.0-beta2

latest releases: v8.0.12, v8.0.11, v8.0.10...
pre-releaseone month ago

Warning

此版本为测试版本,可能并不稳定或者存在严重问题。此版本仅用于高阶用户尝鲜和测试用途,请勿用于生产环境。使用测试版本前,请做好数据备份,测试版本数据可能不保证可平滑升级到稳定版本。普通用户请下载最新正式版

Warning

此测试版本涉及到不可撤销的数据库和配置文件结构的较大变更,使用测试版本前请务必做好数据备份!

相对 v8.0.0-beta1 的更改

  1. 修复了困扰已久的死锁问题
  2. 修复了 IPDB 下载失败时但服务器返回了状态码的情况下,可能不会使用其它源重试
相对 v7.4.15 的更改

v8.0.0 - 主要版本更新

{{前言}}

新功能

1. 流量限制

在 v8.0 版本中,我们新增了 “流量限制” 功能,它也叫做 “滑动窗口动态限速”。使用此功能 PeerBanHelper 必须保持稳定运行。在 Windows 设备上,建议使用 SWT UI 运行,Docker 建议设置 restart-policy 为 unless-stopped。
此功能启用后,PeerBanHelper 将接管下载器的限速功能。
使用此功能需要用户手动配置三个选项,分别为:

  1. 每日(24小时)最大允许上传的数据量
  2. 最小速度限制(调整时不低于此值)
  3. 最大速度限制(调整时不高于此值)

启动该功能后,PeerBanHelper 将尽最大努力在最小速度限制最大速度限制之间根据近 24 小时已下载的数据量调整您的下载器限速,以尽可能将每日的传输量控制在设置的值附近。

简单来说: 过去一段时间传的少,则提高速度;反之过去一段时间传的多,则降低速度。最终将 24 小时传输量保持在用户设置的期望传输量附近。

image

2. 表格排序

许多用户反馈,PeerBanHelper 的表格没有排序功能,使得在自行手动排查数据的时候困难重重。
本次更新对主要的几个呼声较高的表格添加了数据排序功能:

  • 数据透视->封禁日志:允许按照封禁时间、上传流量和种子大小排序
  • 数据透视->种子->访问历史->流量
  • 数据透视->种子->封禁历史->流量

image

3. 新的指标

新的 Peer 封禁率Peer 会话跟踪数量 指标可以统计自 PeerBanHelper 上次重启以来的连接的 Peers 与封禁的 Peers 的比例,并显示目前 PeerBanHelper 正在跟踪的 Peer 会话数量(即有多少 Peers 自上次 PBH 重启以来连接到过您的下载器并进行过数据传输)。

image

4. 插件加载器和 API

v8.0 引入了新的 PF4J 插件加载器,现在您可以编写自己的 PeerBanHelper 插件以增强或修改 PeerBanHelper 的行为。

屏幕截图_7-7-2025_12720_pf4j org

改进

  1. 重构 PeerBanHelper 代码结构以适配 PF4J 插件加载器,并合适的暴露各个模块的 API 接口。
  2. 引入 Swarm Tracking 技术,以便在不同检查间关联跟踪有关 Peers。该功能类似仅用于 PBH 的、更详细的本地。 Tracker,只有与下载器有数据传输的 Peer 才会被记录,所有记录的数据在 PeerBanHelper 退出时不会保留。
  3. 重写 BTN 数据提交读取逻辑,避免出现大量相同时间戳数据导致分批读取死循环的潜在问题。
  4. 下载器现在使用唯一 UUID 标定,而不是依赖下载器名称。更改下载器名称不再影响与该下载器关联的数据统计。 与此有关的所有 WebAPI 都进行了重构。
  5. 调整缓存功能,减少 RAM 使用量,以腾出更多宝贵的 RAM 用于其它用途。
  6. 现在新增 MonitorFeatureModule,与普通的模块抽象不同,该类允许一次性处理单次 BanWave 中的所有 Peers,提高处理效率。
  7. 新增 ORMLite 对 SQL 临时表的支持。
  8. 更新使用的 SQLite Loongarch64 构建。
  9. 预载下一代 BTN v2 协议代码。
  10. 新增 WebAPI 的查询排序参数 &orderBy
  11. 现在语言文件按需加载到 RAM 中,以节约不必要的 RAM 使用。
  12. HTTP 请求现在全面使用虚拟线程作为线程模型,以优化大量下载器 HTTP 请求并发过程中的性能和 RAM 使用。
  13. [install4j] Windows 平台的安装程序现在会在安装 Microsoft Edge WebView2 之前检查是否必要再安装。
  14. BanMetadata 现在额外记录结构化数据,以支撑程序化分析。
  15. PeerBanHelper 的警报系统现在与桌面通知挂钩,当使用 GUI 模式运行时,新的警报会通过系统通知中心发送。
  16. 新增 WebUI 登陆成功、登陆失败、暴力破解防护的控制台日志信息,同时登陆成功时会发送桌面通知提示用户有人已登录 WebUI 控制台。
  17. 改进了 WebUI 的暴力破解防护机制,现在不再计算单个 IP,而是 IP 段以提高保护能力并节约 RAM。
  18. [Windows] 在 Windows 平台上运行的 PeerBanHelper 现在支持崩溃自动恢复。当 JVM 遇到致命错误而被迫退出崩溃时,错误处理脚本将被拉起收集错误,并在稍后重新启动 PeerBanHelper。
  19. [install4j] 重新添加 “将 PeerBanHelper 作为服务安装” 的安装方式。
  20. 异步启动 BTN 模块,加快启动速度。
  21. 改进 HTTP 请求的超时设置,现在不再单独限制 connectTimeout 和 headersTimeout,转为单个请求最多等待 30 秒。
  22. Java 运行环境升级到 Java 24

错误修复

  1. 修复了 IPDB 下载失败时但服务器返回了状态码的情况下,可能不会使用其它源重试
  2. 修复了数个并发死锁问题

以及其它性能和资源占用方面的改进。

Docker 镜像

DockerHub: ghostchu/peerbanhelper-snapshot:sha-1a7fb9c
阿里云国内镜像加速:测试版本不提供国内加速源

Don't miss a new PeerBanHelper release

NewReleases is sending notifications on new releases.