Warning
此版本为测试版本,可能并不稳定或者存在严重问题。此版本仅用于高阶用户尝鲜和测试用途,请勿用于生产环境。使用测试版本前,请做好数据备份,测试版本数据可能不保证可平滑升级到稳定版本。普通用户请下载最新正式版。
Warning
此测试版本涉及到不可撤销的数据库和配置文件结构的较大变更,使用测试版本前请务必做好数据备份!
相对 v8.0.0-beta1 的更改
- 修复了困扰已久的死锁问题
- 修复了 IPDB 下载失败时但服务器返回了状态码的情况下,可能不会使用其它源重试
相对 v7.4.15 的更改
v8.0.0 - 主要版本更新
{{前言}}
新功能
1. 流量限制
在 v8.0 版本中,我们新增了 “流量限制” 功能,它也叫做 “滑动窗口动态限速”。使用此功能 PeerBanHelper 必须保持稳定运行。在 Windows 设备上,建议使用 SWT UI 运行,Docker 建议设置 restart-policy 为 unless-stopped。
此功能启用后,PeerBanHelper 将接管下载器的限速功能。
使用此功能需要用户手动配置三个选项,分别为:
- 每日(24小时)最大允许上传的数据量
- 最小速度限制(调整时不低于此值)
- 最大速度限制(调整时不高于此值)
启动该功能后,PeerBanHelper 将尽最大努力在最小速度限制和最大速度限制之间根据近 24 小时已下载的数据量调整您的下载器限速,以尽可能将每日的传输量控制在设置的值附近。
简单来说: 过去一段时间传的少,则提高速度;反之过去一段时间传的多,则降低速度。最终将 24 小时传输量保持在用户设置的期望传输量附近。
2. 表格排序
许多用户反馈,PeerBanHelper 的表格没有排序功能,使得在自行手动排查数据的时候困难重重。
本次更新对主要的几个呼声较高的表格添加了数据排序功能:
- 数据透视->封禁日志:允许按照封禁时间、上传流量和种子大小排序
- 数据透视->种子->访问历史->流量
- 数据透视->种子->封禁历史->流量
3. 新的指标
新的 Peer 封禁率 和 Peer 会话跟踪数量 指标可以统计自 PeerBanHelper 上次重启以来的连接的 Peers 与封禁的 Peers 的比例,并显示目前 PeerBanHelper 正在跟踪的 Peer 会话数量(即有多少 Peers 自上次 PBH 重启以来连接到过您的下载器并进行过数据传输)。
4. 插件加载器和 API
v8.0 引入了新的 PF4J 插件加载器,现在您可以编写自己的 PeerBanHelper 插件以增强或修改 PeerBanHelper 的行为。
改进
- 重构 PeerBanHelper 代码结构以适配 PF4J 插件加载器,并合适的暴露各个模块的 API 接口。
- 引入 Swarm Tracking 技术,以便在不同检查间关联跟踪有关 Peers。该功能类似仅用于 PBH 的、更详细的本地。 Tracker,只有与下载器有数据传输的 Peer 才会被记录,所有记录的数据在 PeerBanHelper 退出时不会保留。
- 重写 BTN 数据提交读取逻辑,避免出现大量相同时间戳数据导致分批读取死循环的潜在问题。
- ⭐ 下载器现在使用唯一 UUID 标定,而不是依赖下载器名称。更改下载器名称不再影响与该下载器关联的数据统计。 与此有关的所有 WebAPI 都进行了重构。
- 调整缓存功能,减少 RAM 使用量,以腾出更多宝贵的 RAM 用于其它用途。
- 现在新增 MonitorFeatureModule,与普通的模块抽象不同,该类允许一次性处理单次 BanWave 中的所有 Peers,提高处理效率。
- 新增 ORMLite 对 SQL 临时表的支持。
- 更新使用的 SQLite Loongarch64 构建。
- 预载下一代 BTN v2 协议代码。
- 新增 WebAPI 的查询排序参数
&orderBy
。 - 现在语言文件按需加载到 RAM 中,以节约不必要的 RAM 使用。
- HTTP 请求现在全面使用虚拟线程作为线程模型,以优化大量下载器 HTTP 请求并发过程中的性能和 RAM 使用。
- [install4j] Windows 平台的安装程序现在会在安装 Microsoft Edge WebView2 之前检查是否必要再安装。
- BanMetadata 现在额外记录结构化数据,以支撑程序化分析。
- PeerBanHelper 的警报系统现在与桌面通知挂钩,当使用 GUI 模式运行时,新的警报会通过系统通知中心发送。
- 新增 WebUI 登陆成功、登陆失败、暴力破解防护的控制台日志信息,同时登陆成功时会发送桌面通知提示用户有人已登录 WebUI 控制台。
- 改进了 WebUI 的暴力破解防护机制,现在不再计算单个 IP,而是 IP 段以提高保护能力并节约 RAM。
- ⭐ [Windows] 在 Windows 平台上运行的 PeerBanHelper 现在支持崩溃自动恢复。当 JVM 遇到致命错误而被迫退出崩溃时,错误处理脚本将被拉起收集错误,并在稍后重新启动 PeerBanHelper。
- [install4j] 重新添加 “将 PeerBanHelper 作为服务安装” 的安装方式。
- 异步启动 BTN 模块,加快启动速度。
- 改进 HTTP 请求的超时设置,现在不再单独限制 connectTimeout 和 headersTimeout,转为单个请求最多等待 30 秒。
- Java 运行环境升级到 Java 24
错误修复
- 修复了 IPDB 下载失败时但服务器返回了状态码的情况下,可能不会使用其它源重试
- 修复了数个并发死锁问题
以及其它性能和资源占用方面的改进。
Docker 镜像
DockerHub: ghostchu/peerbanhelper-snapshot:sha-1a7fb9c
阿里云国内镜像加速:测试版本不提供国内加速源