Skip to content

Releases: PBH-BTN/PeerBanHelper

v5.0.0-beta1

13 Jul 17:19
ff47db6
Compare
Choose a tag to compare
v5.0.0-beta1 Pre-release
Pre-release

警告:测试版(Beta)是 PeerBanHelper 用于测试新功能/逻辑的特殊版本,可能存在代码错误并导致您的数据损坏。在使用测试版本前,请注意对数据进行妥善备份。我们不建议非熟练用户使用任何非正式版本。

破坏性更改

  • 数据库部分得到了大修,不兼容之前的数据库文件。封禁历史记录和统计数据将不会继承

新功能

  • GeoIP 模块现在也使用来自 ljxi/GeoCN 的 IP 数据
    • 位于中国大陆的 IP 地址位置现在将能够精确到区县
    • 位于中国大陆的 IP 地址现在将显示网络类型,支持以下网络类型的显示:
      • 宽带
      • 基站
      • 政企专线
      • 业务平台
      • 骨干网
      • IP专网
      • 网吧
      • 物联网
      • 数据中心
  • 各个功能模块的封禁时间现在可以独立调整,或跟随全局设定
  • 封禁列表现在显示触发封禁的规则
  • 用户现在能够在封禁列表界面上解除对特定 IP 的封禁
  • 前后端现在全面支持 i18n,欢迎提交翻译 PR!
  • PBH WebUI 现在添加了暴力破解防护
  • PBH WebAPI 现在默认禁止 CORS 跨站请求,除非用户手动启用
  • 现在允许用户从外部文件系统加载 WebUI 文件
  • Peers 列表现在将显示 Peer Flags (仅在支持的下载器上显示)
  • 配置文件 (config.yml) 新增代理服务器设置

用户交互体验改进

  • GUI 日志框现在更换为了 ListView,并根据日志等级,为日志行染色,错误、提示、警告一目了然
  • 新用户安装时不再弹窗提醒退出,而是直接启动,并在控制台引导进入 WebUI (并显示 WebUI Token)
  • 配置文件升级时,将对丢失配置文件注释的配置项重新复制注释
  • WebUI Peers 列表的种子和 Peers 现在按实时上传速度,倒序排序,方便用户快速定位高上传带宽的种子/Peers
  • 多项 WebUI 细节优化
  • 下载器出现错误时,WebUI 将提供更加有用的悬浮 Tooltip 提示信息
  • 下载器出现错误时,控制台将提供更加有用的日志提示信息

性能优化

  • 现在 Peers 封禁检查操作支持多线程并发
  • GeoIP 查询任务现在采用懒加载机制,仅在需要时才查询 IP 的 Geo 信息
  • 重构缓存系统,极大的改善了缓存命中率,并降低了 CPU 时间
  • 现在 PBH WebUI 与 PBH 通讯、PBH 与下载器通讯,皆支持 gzip, deflate 压缩
  • 调整 AviaorScript 缓存,不缓存编译结果以节省 RAM 使用
  • 对于频繁返回的 CheckResult,进行静态重用
  • 其它性能优化

错误修复

  • 测试下载器配置创建的临时 Downloader 没有正确关闭导致资源泄漏
  • 修复 WebUI 发生更改时,因缓存头设置指定错误,用户可能看到白屏的问题(您需要手动清理一次浏览器缓存,才能使此修复生效)
  • 修复封禁日志、封禁列表中,当流量数据为 -1 时,渲染为 NaN Undefined 的问题
  • 修复用户同时添加 Transmission 和其它非 Transmission 下载器时,Transmission 封禁可能会失效的问题
  • 修复初始化 BTN 失败后,PBH 不再尝试重新初始化 BTN 的问题
  • 修复提交封禁列表失败后,本次提交的封禁列表被就地丢弃,而不是排队到下次重试窗口的问题
  • 修复 qBittorrent 的部分不交换 Client Name 的 Peers,获取 Client Name 无效/无意义的问题,现在将截取其 16 进制 PeerID 对应的前 8 个 ASCII 字符的字节,并转化为可读文字
  • 修复 Transmission 和 qBittorrent 混合使用时,操作列表可能混入其它下载的数据,导致 Transmission RPC 调用时出现类型转换错误崩溃,并导致种子无法被重启、还原状态
  • 修复编辑订阅规则后,编辑成功但却提示错误的问题
  • 修复订阅规则中存在以 # 开头的注释行时,订阅规则解析可能失败的问题
  • 修复 qBittorrent 下载器有时处理 PeerID 可能返回错误结果导致伪装检测脚本检测出错的问题
  • 修复触发 BanWave Watchdog 时,创建对话框时出现 JavaFx 线程错误
  • 修复创建 HTTP 协议为 HTTP 2.0 的下载器配置时,出现错误的问题

杂项

  • 微调 qBittorrent 增量封禁逻辑
  • 调整 docker-compose.yml / Docker 示例命令,给予 PBH 更多时间用来安全退出
  • 封禁列表不再保存到 banlist.dump,而是存储到数据库
    • 现在每个小时都会自动保存一次封禁列表
    • 现在 PBH 启动完成后,不会清空暂存的封禁列表
  • 32 位有关的支持库文件现在不再参与编译
  • 现在存储时不再硬编码字符串,而是存储翻译组件,以支持前端动态 i18n
  • 用户脚本现在支持返回 String 类型返回值作为封禁理由
    • 如果返回值以 @ 打头,则设置 Action 为 SKIP
  • Heap 最大内存从 256MB 调整为 386MB,除了 PBH 需要更多一点的内存以外,386 这个数字灵感来自 Intel 80386 CPU 名称
  • PeerID/ClientName 模块不再等待流量,而是在有 PeerID/ClientName 获取成功后,立刻停止等待,进行检查

Docker 用户

请拉取测试镜像:ghostchu/peerbanhelper-snapshot:ff47db6

v4.4.1

04 Jul 11:58
6b73fff
Compare
Choose a tag to compare

这是一个纯 WebUI 的更新,使用GUI的用户可以忽略

错误修复

  1. [WebUI] 修复页面宽度不足时,封禁列表渲染错误的情况
  2. [WebUI] 修复图表页面的深色模式处理
  3. [WebUI] 使用SVG替换Canvas作为图表渲染引擎

Docker 用户

全球源:ghostchu/peerbanhelper:v4.4.1
阿里云国内镜像源:registry.cn-hangzhou.aliyuncs.com/ghostchu/peerbanhelper:v4.4.1

v4.4.0 - XM0001

03 Jul 13:29
f2b6a08
Compare
Choose a tag to compare

规则更新

  • 新增 -XM0001-xm/torrent 特征到 PeerID/ClientName 黑名单中,已确认为 hp/torrent 变种
    • 由 BTN 用户 @yujiangqaq 于 2024/07/03 20:31:24 提交的数据中首次发现,关联 IP 地址 221.11.96.74 处于 hp/torrent 规则集中
    • 所有已连接到 BTN 网络的 PBH 客户端将在 20 分钟内自动更新新的云端规则
    • 离线用户请更新您的 PBH 版本,或手动编辑规则文件

新增功能

  • [BETA] 新增封禁日志图表
    • 测试功能,目前已知存在少量问题,欢迎测试反馈
    • 如果更新后白屏,请清除浏览器缓存
    • image
    • image

Docker 用户

全球源:ghostchu/peerbanhelper:v4.4.0
阿里云国内镜像源:registry.cn-hangzhou.aliyuncs.com/ghostchu/peerbanhelper:v4.4.0

v4.3.1

01 Jul 13:48
28b75ec
Compare
Choose a tag to compare

问题修复

  • 修复 Transmission 保存后会变成 qBittorrent 的问题

改进

  • 多拨检查和连锁封禁现在首先检查握手

v4.3.0

28 Jun 13:17
0c83123
Compare
Choose a tag to compare

新功能

错误修复

  • 修复了使用 Windows 安装程序安装的 PeerBanHelper 使用 NoGUI 控制台运行时,输出的文本编码不正确的问题
  • 修复了 Windows 安装程序创建的桌面快捷方式和程序图标模糊的问题

性能改进

  • 改进了 BTN 模块匹配 IP 地址的性能

Docker 用户

全球源:ghostchu/peerbanhelper:v4.3.0
阿里云国内镜像源:registry.cn-hangzhou.aliyuncs.com/ghostchu/peerbanhelper:v4.3.0

v4.2.4

27 Jun 17:47
c7614ca
Compare
Choose a tag to compare

性能调整

  • 解决了下载器的 WebUI 存在大量 DOM 元素时,耗尽 PBH 内存并导致 GUI 失去响应崩溃的问题(使用命令行无 GUI 模式和 Docker 用户无需更新)
    • 下载器 WebUI 功能暂时禁用,但可以通过 -Dpbh.enableDownloadWebView=true 附加参数重新启用

Docker 用户

全球源:ghostchu/peerbanhelper:v4.2.4
阿里云国内镜像源:registry.cn-hangzhou.aliyuncs.com/ghostchu/peerbanhelper:v4.2.4

v4.2.3

26 Jun 15:11
4c4f04f
Compare
Choose a tag to compare

这是阶段性稳定版本,目前测试没有发现更多严重错误。对于前几个版本造成的不稳定的情况我们深表歉意,在后续发版前会进行更多测试,并推出 Beta 测试版本。

错误修复

  • 修复订阅规则添加失败的问题

Windows 安装程序(BETA)

  • 为了降低 Windows 用户的上手门槛,现在提供 Windows 安装程序(测试版)(x64 和 arm64 平台),双击 EXE 文件即可安装 PeerBanHelper 到您的系统上
    • Windows 安装程序所安装的 PeerBanHelper 的配置文件将存储在 C:\Users\<USER>\AppData\Local\PeerBanHelper
    • 可通过菜单快速打开配置文件存储位置
    • image

Docker 用户

全球源:ghostchu/peerbanhelper:v4.2.3
阿里云国内镜像源:registry.cn-hangzhou.aliyuncs.com/ghostchu/peerbanhelper:v4.2.3

v4.2.2

25 Jun 15:29
683d496
Compare
Choose a tag to compare

错误修复

  • 修复因内存泄漏导致 GUI 页面冻结的问题
  • 修复通过 WebUI 编辑下载器时提示名称已被使用的问题
  • 修复通过 WebUI 添加的 qBittorrent 无法正常检查的问题
  • 修复部分订阅规则无法被匹配到的问题

Docker 用户

全球源:ghostchu/peerbanhelper:v4.2.2
阿里云国内镜像源:registry.cn-hangzhou.aliyuncs.com/ghostchu/peerbanhelper:v4.2.2

v4.1.4

24 Jun 05:49
b79525f
Compare
Choose a tag to compare

强烈建议 v.4.1.x 的用户升级到此版本

错误修复

  1. 修复 PeerID 和 ClientName 过滤器在 v4.1.x 上不工作的问题

Docker 用户

全球源:ghostchu/peerbanhelper:v4.1.4
阿里云国内镜像源:registry.cn-hangzhou.aliyuncs.com/ghostchu/peerbanhelper:v4.1.4

v4.1.3

23 Jun 12:42
79c90a1
Compare
Choose a tag to compare

错误修复

  • 修复未配置 IPDB 的用户,可能无法加载封禁列表的问题
  • 修复依赖下载窗口的 Tooltip 错误的问题
  • 修复 Swing GUI 的已连接的 Peers 标签卡无法正常显示数据的问题

Docker 用户

全球源:ghostchu/peerbanhelper:v4.1.3
阿里云国内镜像源:registry.cn-hangzhou.aliyuncs.com/ghostchu/peerbanhelper:v4.1.3


4.1.x 主更新日志

新功能!

  • [GUI]基于 JavaFx 的 Windows/Linux/MacOS 桌面环境 GUI
    • 在 PBH 启动后,PBH 将在后台静默下载 Webview 运行环境。加载完成后,将在 GUI 中自动打开 PBH WebUI 和你添加的下载器的 WebUI(并在可能的情况下,自动登录 PBH WebUI 和下载器的 WebUI)
    • [自动登录] 通过 JavaFx GUI 的菜单调用系统浏览器打开 PBH WebUI 时,将自动追加 AccessToken,跳过登录
    • [自动登录] 在 JavaFx GUI 中自动打开的下载器 WebUI 将会尝试自动登录
    • 要切换回旧的 Swing UI,请添加 swing 附加参数
    • 要关闭 GUI,请添加 nogui 附加参数
    • 新 UI 演示
  • [Docker] 为处于中国大陆的用户提供了阿里云 Docker 镜像仓库
  • [WEBAPI] WebAPI 现在支持动态添加、删除、编辑下载器,此功能将在 WebUI 适配后开放
  • [模块] AviatorScript脚本引擎
    • 新的 AviatorScript 为您提供高级编程能力。通过编写 AviatorScript 脚本,您将可以进行复杂规则匹配,或者执行 PBH 内部函数。支持反射和对象创建。您可以在这里 查看示例 AviatorScript 脚本。这些示例脚本也会在 PBH 首次启动时,释放在 data 目录下。
  • [模块] [AviatorScript脚本] 智能迅雷识别
    • 使用此功能前,请关闭迅雷的 PeerID/Client Name 过滤规则
    • 仅支持 qBittorrent 下载器(目前)
    • 智能迅雷识别根据 吸血雷快速判定对照表 并封禁吸血迅雷,并放行在下载期间提供上传的迅雷客户端
  • [模块] [AviatorScript脚本] PeerID/ClientName 伪装检查
    • 仅支持 qBittorrent 下载器(目前)
    • PeerID/ClientName 伪装检查将会组合验证 Peer 的 PeerID 和 Client Name 是否对应其正式版客户端。如果 PeerID 和 ClientName 驴头不对马嘴(例如:PeerID=-TR3000- ClientName=qBittorrent/4.5.0),伪装客户端将立刻被封禁
  • [配置] 白名单 IP 地址,在 profile.yml 中新增了 ignore-peers-from-addresses 选项。被列入其中的 IP/CIDR 地址将跳过所有检查,完全放行。
  • [数据库] PBH 现在将会自动删除在解封到期时间后 N 天的过期封禁日志(由配置 ban-logs-keep-days 决定),以清理数据库并提高访问性能

错误修复

  • 修复了 4.1.1 中 Transmission 封禁了所有的 Peers 的问题
  • 修复了 Transmission 不封禁 Peers 的问题
  • 修复了 4.0.8 显示为 4.0.7 的问题
  • 修复了错误封禁本地 IP 地址的问题
  • 修复了反向 DNS 查找不起作用的问题
  • 修复 PBH WebAPI 监听 API 不遵守 address 设定,总是监听所有网络接口的问题

性能优化

  • 优化封禁路径和规则模块执行性能,降低 CPU 时间
  • 优化 IP 处理相关操作性能,降低 CPU 时间
  • GeoIP 查询现在使用懒加载方式,降低 CPU 时间和磁盘 I/O