Skip to content

Releases: PBH-BTN/PeerBanHelper

v7.4.2

01 Feb 17:35
1037c01
Compare
Choose a tag to compare

7.4.1/2 是 7.4.0 系列的一个补丁,有关 7.4.0 的功能性更新日志,请见:v7.4.0发行日志

Note

BiglyBT 用户需要注意:本版 PeerBanHelper 要求 BiglyBT 适配器版本必须为 v1.3.0 或者更高版本,在这里下载 BiglyBT 下载器的适配器。

错误修复

  1. 修复 BiglyBT 下载器可能循环重复封禁,IPBlackList 等 IP 封禁模块现在等待握手确认连接有效后才会工作
  2. 修复 BiglyBT 下载器适配器封禁实施方法不合理导致产生大量半开连接的问题
  3. 修复 BiglyBT 下载器未提供 UNBAN_PEER 特性标志,导致 PeerBanHelper 的部分功能在其上不起作用的问题
  4. 修复了英语环境下,缺失 VIEW_ABOUT_CREDIT 翻译词条的问题
  5. 修复当 data/config 路径为文件时,PeerBanHelper 直接报错退出的问题,现在会首先尝试删除并重建为目录

性能改进

  1. 日志刷写现在移动到单独的平台线程

Docker

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


部署教程 | 常见问题 | 如何设置下载器

v7.4.0

30 Jan 09:01
f719d8d
Compare
Choose a tag to compare

新增功能

新的发行平台

新增对不受支持的平台 Linux x86 (32-bit)Linux arm32-vfp-hflt (树莓派系列) 的 install4j 打包安装程序。
由于上游 OpenJDK 提供商已不再提供 Windows x86 的构建,32 位 Windows 不再本次更新的范围内。

在不受支持的平台上运行时,窗口标题将显示 ⚠不受支持的平台,且在首次运行时会收到一次性的警报信息和通知中心信息。
此决定的初衷是减少报废边缘的电子垃圾(以及添加对树莓派的支持),并不代表我们对 32 位硬软件的兼容态度的转变,更不会尝试兼容 Java 8。

(实验性) 低内存模式

新增 “低内存模式” 启动方式,特点如下:

  • 最多使用 168MB 的堆内存(标准模式为 512MB)
  • 禁用 GUI 和 CEF 功能
  • 大幅减小内存缓存,加速缓存逐出
  • 适用于轻量用户,例如运行在树莓派上

计算机的世界鱼和熊掌不可兼得,低内存模式也有如下缺点:

  • CPU 消耗会明显提升
  • 磁盘 I/O 明显变得更加频繁,且 I/O 任务更重,对于闪存芯片可能加快磨损速度
  • PeerBanHelper 性能可能降低,且可能变得不稳定
  • 不适合多个下载器或者大量活动做种任务、Peers 的用户

如果发现问题,欢迎在 Issue Tracker 中反馈。

(实验性) 封禁日志事务写入

实验室新增实验 “启用事务批量写入封禁历史记录”,启用后原本分为多步的写入过程将被合并为一个事务。在大量和频繁的封禁场景下可有效降低随机磁盘 I/O。

如果发现问题,欢迎在 Issue Tracker 中反馈。

开关参数

引入全新开关参数系统,可以通过启动参数、参数文件和环境变量控制 PeerBanHelper 的内部开关。这些开关可能对打包发布者产生重要意义。具体改动请参见 PACKAGING.md 描述文件。

JCEF 支持

JCEF 支持随 install4j 安装程序引入,且可在安装阶段禁用。启用 JCEF 支持后,PeerBanHelper 会根据平台动态下载安装 CEF 框架。一旦 JCEF 可用,PeerBanHelper 会在 GUI 窗口内新增一个 “WebUI 控制台” 选项卡,以供用户在不打开浏览器的情况下访问 WebUI 更改设置。

image

在开发、快照、测试版本的 PeerBanHelper 上会额外启用 DevTools,可通过在 WebUI 控制台页面内按 F12 打开。

可通过传入参数、开关参数和标志文件禁用。JCEF 调试参数可通过向 PeerBanHelper 直接传参输入。

改进的 GUI 界面

新增主题:

  • macOS 主题:一套更符合 macOS 设计美学的 FlatLaf 主题,在 macOS 系统上会自动启用
  • Insider 主题:在开发、快照、测试版本的 PeerBanHelper 上会自动启用,以便在反馈错误时根据截图快速确认使用的版本类型

新增 “关于->开发人员与社区贡献者...” 菜单,以表彰对 PeerBanHelper 做出重要贡献的人们。

新增 ---DEBUG--- 菜单,仅在开发、快照、测试版本的 PeerBanHelper 上显示以供测试小组的测试用户对部分功能进行调试。部分功能需要管理员权限。

进行下载操作时,现在有一个新的对话框显示下载进度。

image

用户体验改进

  • 当 PeerBanHelper 检测到下载器上的传入连接来自内部地址时导致封禁无法工作时(例如 NAT 配置异常),发送告警信息提醒用户下载器的网络驱动程序可能被错误的配置为了 bridge 模式。此提示信息已同步到 PBH 文档。
  • [WebUI] BTN 配置失败时,显示提示浮窗引导用户查看 BTN 配置文档页面。

错误修复

  • 尝试修复在查询 IP 地址详情信息的时候,部分操作耗时可能过长的问题 #889
  • 修复封禁列表过大时,IP 地址传递没有去重的问题导致请求体过大的问题 #938
  • [WebUI] 修复了多个错误

发行更改

新的架构支持

  • Linux x86 (32-bit)
  • Linux arm32-vfp-hflt (Raspberry Pi 5 之前的旧版设备)

(实验性)发行渠道

新增 .torrent 种子文件发行方式,当与 Github 连接质量不佳时,可通过 .torrent 文件下载 PeerBanHelper 的版本文件。

可在此订阅 RSS Feed 更新:peerbanhelper-torrent-updates

Docker

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


部署教程 | 常见问题 | 如何设置下载器

v7.4.0-Beta2

29 Jan 18:19
c06b6c9
Compare
Choose a tag to compare
v7.4.0-Beta2 Pre-release
Pre-release

Warning

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

相对 v7.4.0-Beta1 作出的更改:

  1. 现在 DNSJAVA 和 SQLITE_VACUUM 实验默认在所有参与实验室功能的用户上启用
  2. IPFS 实验现在默认对所有用户禁用
  3. 修复构建脚本中的数个错误(可能仍有错误)

v7.4.0-Beta1

29 Jan 13:53
2937b6a
Compare
Choose a tag to compare
v7.4.0-Beta1 Pre-release
Pre-release

Warning

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

新增功能

新的发行平台

新增对不受支持的平台 Linux x86 (32-bit)Linux arm32-vfp-hflt (树莓派系列) 的 install4j 打包安装程序。
由于上游 OpenJDK 提供商已不再提供 Windows x86 的构建,32 位 Windows 不再本次更新的范围内。

在不受支持的平台上运行时,窗口标题将显示 ⚠不受支持的平台,且在首次运行时会收到一次性的警报信息和通知中心信息。
此决定的初衷是减少报废边缘的电子垃圾(以及添加对树莓派的支持),并不代表我们对 32 位硬软件的兼容态度的转变,更不会尝试兼容 Java 8。

(实验性) 低内存模式

新增 “低内存模式”,特点如下:

  • 最多使用 168MB 的堆内存(标准模式为 512MB)
  • 禁用 GUI 和 CEF 功能
  • 大幅减小内存缓存,加速缓存逐出
  • 适用于轻量用户,例如运行在树莓派上

计算机的世界鱼和熊掌不可兼得,低内存模式也有如下缺点:

  • CPU 消耗会明显提升
  • 磁盘 I/O 明显变得更加频繁,且 I/O 任务更重,对于闪存芯片可能加快磨损速度
  • PeerBanHelper 性能可能降低,且可能变得不稳定
  • 不适合多个下载器或者大量活动做种任务、Peers 的用户

如果发现问题,欢迎在 Issue Tracker 中反馈。

(实验性) 封禁日志事务写入

实验室新增实验 “启用事务批量写入封禁历史记录”,启用后原本分为多步的写入过程将被合并为一个事务。在大量和频繁的封禁场景下可有效降低随机磁盘 I/O。

如果发现问题,欢迎在 Issue Tracker 中反馈。

开关参数

引入全新开关参数系统,可以通过启动参数、参数文件和环境变量控制 PeerBanHelper 的内部开关。这些开关可能对打包发布者产生重要意义。具体改动请参见 PACKAGING.md 描述文件。

JCEF 支持

JCEF 支持随 install4j 安装程序引入,且可在安装阶段禁用。启用 JCEF 支持后,PeerBanHelper 会根据平台动态下载安装 CEF 框架。一旦 JCEF 可用,PeerBanHelper 会在 GUI 窗口内新增一个 “WebUI 控制台” 选项卡,以供用户在不打开浏览器的情况下访问 WebUI 更改设置。

image

在开发、快照、测试版本的 PeerBanHelper 上会额外启用 DevTools,可通过在 WebUI 控制台页面内按 F12 打开。

可通过传入参数、开关参数和标志文件禁用。JCEF 调试参数可通过向 PeerBanHelper 直接传参输入。

改进的 GUI 界面

新增主题:

  • macOS 主题:一套更符合 macOS 设计美学的 FlatLaf 主题,在 macOS 系统上会自动启用
  • Insider 主题:在开发、快照、测试版本的 PeerBanHelper 上会自动启用,以便在反馈错误时根据截图快速确认使用的版本类型

新增 “关于->开发人员与社区贡献者...” 菜单,以表彰对 PeerBanHelper 做出重要贡献的人们。

新增 ---DEBUG--- 菜单,仅在开发、快照、测试版本的 PeerBanHelper 上显示以供测试小组的测试用户对部分功能进行调试。部分功能需要管理员权限。

进行下载操作时,现在有一个新的对话框显示下载进度。

image

用户体验改进

  • 当 PeerBanHelper 检测到下载器上的传入连接来自内部地址时导致封禁无法工作时,发送告警信息提醒用户下载器的网络驱动程序可能被错误的配置为了 bridge 模式。此提示信息已同步到 PBH 文档。
  • [WebUI] BTN 配置失败时,显示提示浮窗引导用户查看 BTN 配置文档页面。

错误修复

  • 尝试修复在查询 IP 地址详情信息的时候,部分操作耗时可能过长的问题 #889
  • 修复封禁列表过大时,IP 地址传递没有去重的问题导致请求体过大的问题 #938
  • [WebUI] 修复了多个错误

发行更改

新的架构支持

  • Linux x86 (32-bit)
  • Linux arm32-vfp-hflt (Raspberry Pi 5 之前的旧版设备)

发行渠道

新增 .torrent 种子文件发行方式,当与 Github 连接质量不佳时,可通过 .torrent 文件下载 PeerBanHelper 的版本文件。

Docker

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

v7.3.3

19 Jan 17:08
8c3cf52
Compare
Choose a tag to compare

提前祝各位新年快乐~ 在接下来的春节假期和元宵佳节期间,PBH-BTN 将暂停一段时间的开发、技术支持工作。除非有严重错误,我们在未来一段时间内都不会发布的新的正式版本。

享受假期,快乐过年!下次见!


Note

对使用 BiglyBT 下载器的用户:PeerBanHelper 自本版本起需要 PBH-Adapter-BiglyBT 的 1.2.9 或者更高版本,请升级您的适配器插件版本。当版本过低时,WebUI 将显示 “需要采取行动” 提示,并在升级之前无法正常工作。有关 PBH-Adapter-BiglyBT 的相关更改,请参见对应的版本发行说明

错误修复

  • 修复 NoGUI 模式下,日志队列发生内存泄漏的问题,可能导致长时间运行崩溃的问题 @Ghost-chu
  • 修复 BitComet 下载器的 “忽略私有种子” 功能不起作用的问题 @Ghost-chu
  • 修复 BTN 提交历史记录能力在遇到单次提交超过 10,000 条的时候会导致除最近 10,000 条的数据外剩余数据被丢弃的问题。现在将会正确的进行分批提交,并丢弃 30 天前的历史数据 @Ghost-chu
  • [WebUI] 修复更新日志在特定情况下内容区域背景颜色异常导致内容不可读的问题 @Gaojianli

改进

  • 降低提交历史记录时每批提交的数量(从 10,000 降低到 5,000),超过 5,000 的数据将拆分到下一个请求以降低生成提交数据时的 RAM 使用 @Ghost-chu
  • 优化 GUI 日志记录速度过快时的内存占用峰值问题 @Ghost-chu
  • 此前需要修改启动命令 -D 添加的自定义 Flags 现在支持通过环境变量传递 @Ghost-chu
    • 如果过去的自定义 Flag 包含符号 .-,则替换为 _
    • 所有 ASCII 字符均大写

安全改进

  • 现在不再暴露 WebAPI 端点列表到 /route-view @Ghost-chu
  • 现在将通过检查 User-Agent 的方式,屏蔽下列网络空间测绘引擎的请求,避免 PeerBanHelper 被如下测绘引擎或者端口扫描工具的端口扫描探测: @Ghost-chu
    • Censys
    • Shodan
    • ZoomEye
    • ThreatBook
    • FOFA
    • zmap (默认配置时)
    • nmap (默认配置时)
    • 所有以上 User-Agent 的请求都将返回 404 not found 提示信息和 404 状态码

BTN 更改

  • 协议版本号从 8 提升到 10 以对应协议更新 @Ghost-chu

实验室功能

  • 使用已知数据填充缺失的记录 @Ghost-chu
    • 使用上一个已知的数据记录填充查询的流量记录的空白条目以尝试修复流量统计不准确的问题。但当查询范围开头也无数据时,此功能不生效。需要手动开启实验。

数据收集范围更改披露

@Ghost-chu

PeerBanHelper 严格遵守和执行 PeerBanHelper 隐私政策,并确保用户的知情权。当我们在隐私政策或者收集的内容范围作出更改时,将通过公告等形式向您告知。

以下是有关本次更新中 “BTN 网络” 收集数据的更改告知以及其用途说明:

影响范围:PeerBanHelper v7.3.3 或更高版本,且使用了由 PBH-BTN 官方维护的 Sparkle BTN 的 BTN 实例 (btn-prod.ghostchu-services.top, sparkle.ghostchu-services.top, btn-dev.ghostchu-services.top, sparkle.ghostchu.com) 并且打开了 设置-基础设置-BTN-启用提交 开关的用户

新增收集的数据列表如下所示:

1. [新增] is_private_torrent

作用: 指示一个 torrent_identifier 对应的是否是一个私有种子
适用范围: 提交封禁列表和提交历史记录,包括之前的数据(如果被再次更新)
收集条件: 当对应下载器未启用 “忽略私有种子” 开关或者下载器不支持 “忽略私有种子”,并且连接到了 Sparkle BTN 实例,且打开了“启用提交”开关,并且产生了下列数据的情况下,新的数据可能会被收集
数据用途: 帮助 BTN 服务端程序识别对应 torrent_identifier 的 “私有种子” 类型,以便单独处理可能由 PT 站点等私有种子产生的数据,例如用于分析和统计用途。
收集的数据能够:

  1. 能够识别一条数据是否由一个私有种子产生

收集的数据无法:

  1. 无法在未提前得知 info_hash 的情况下推断数据对应的 info_hash 是什么,参见 BTN-Spec info_hash 匿名化哈希算法
  2. 无法推断出对应的数据是否来自某个具体的 Tracker

数据示例:

  • is_private_torrent = true // 指示本条数据由一个私有种子产生
  • is_private_torrent = false // 指示本条数据由一个公共种子产生

术语解释:

  1. torrent_identifier: 使用 BTN-Spec info_hash 匿名化哈希算法 将一个种子的 info_hash 转换为的匿名哈希值,以便在无需得知种子的实际 info_hash 的匿名情况下识别两个 torrent_identifier 对应的是否是同一个实际种子的技术
  2. 提交封禁列表: 向 BTN 提交自 PBH 启动/上次提交以来的新增封禁记录的过程 技术资料
  3. 提交历史记录: 向 BTN 提交自上次提交以来的新增 Peer 活动连接记录的过程 技术资料
  4. 私有种子: 由 BEP-0027 Private Torrents 中定义的一种种子类型,通常被 PT 站使用

未实装的功能

以下功能因时间因素未在本版本中适配前端界面,但仍可通过 WebAPI 调用:

  1. 批量替换下载器的种子的 Trackers (暂仅支持 qBittorrent, Transmission, BiglyBT)

Docker

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

v7.3.2

13 Jan 16:10
acda442
Compare
Choose a tag to compare

v7.3.2 是 v7.3.0 的一个补丁,有关 v7.3.0 的主要更新内容,请参见 v7.3.0 更新日志

发布日期的近 3 天内的其它补丁更新:

错误修复

  • [WebUI] 在更新或重启 PeerBanHelper 时没有在浏览器中关闭已经打开的 WebUI 标签页时,可能引发多次失败请求,以致触发防暴力破解保护,封禁用户 IP @Gaojianli
    • 此修复需要下次升级时生效,本次升级前仍需要您关闭所有 PeerBanHelper WebUI 页面
  • [WebUI] 修复当种子名称过长时,悬浮显示的 InfoHash 气泡可能被遮挡的问题 @Ghost-chu
  • 修复某些 IPV6 地址无法在 IP 查询功能中搜索到有关记录 #849 @Ghost-chu
  • 修复某些情况下,可翻译组件在序列化/反序列化过程中被破坏的问题 @Ghost-chu @paulzzh
    • 由于序列化方式更改,本次升级后,PeerBanHelper 的未读消息通知会被清除
  • 修复 qBittorrent 下载器登录出错时,向用户错误地显示应静默处理的堆栈跟踪的问题 @Ghost-chu
  • 修复 IP 封禁排行搜索功能不起作用的问题 @Ghost-chu

Docker

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

v7.3.1

13 Jan 06:30
d1e411f
Compare
Choose a tag to compare

v7.3.1 是 v7.3.0 的一个补丁,有关 v7.3.0 的主要更新内容,请参见 v7.3.0 更新日志

错误修复

  • 修复暂停下载器的状态无法被保存的问题 @Ghost-chu
  • 修复 qBittorrent 下载器登陆状态/有效性检查不正确的问题 @Ghost-chu
  • 修复当下载器被暂停或者由于种种原因处于非活跃(登录失败等)状态时出现 Cannot invoke "java.util.Map.keySet()" because "provided" is null 异常的问题 @Ghost-chu
  • [WebUI] 修复更新日志宽度 @Gaojianli
  • [WebUI] 修复图表透明度问题 @Gaojianli

优化

  • 优化整体平均 CPU 使用率 @Ghost-chu
  • 使用内存映射文件(mmap)技术改善 GeoIP 读取性能,并充分利用操作系统内存文件缓存 @Ghost-chu
  • 使用内存映射文件(mmap)技术改善 SQLite 查询性能 @Ghost-chu
  • 在长时间运行 PeerBanHelper 时,定期执行 SQLite 优化查询 @Ghost-chu
  • 改进 ARB 和其它查询 BAN_LIST 列表的封禁模块的读性能 @Ghost-chu

已知问题

  • 暗色模式下,更新日志可能存在显示异常
    • 切换到日间模式查看可缓解此问题
  • 在更新或重启 PeerBanHelper 时没有在浏览器中关闭已经打开的 WebUI 标签页时,可能引发多次失败请求,以致触发防暴力破解保护,封禁用户 IP
    • 如果出现这种情况,请关闭所有 PeerBanHelper WebUI 标签页后,重新启动 PeerBanHelper 来解除对 IP 的封禁
    • 如果无法重新启动以解除 IP 封禁,则可以关闭所有 WebUI 标签页后,等待 30 分钟后再试(期间如有任何失败请求,都将重置计时器)

版本升级指南

由于经常有用户询问如何升级,我们在此列出几种主要安装方式的升级步骤以供参考:

使用 Windows、macOS、Linux(.sh) 安装程序 (install4j) 的用户

启动 PeerBanHelper 时将自动检查更新,并在更新可用时自动升级。
您也可以运行 "PeerBanHelper 检查更新" 程序,手动检查更新并升级。

手动升级的用户,请下载安装程序,并在安装向导中选择 “是,升级现有的安装”

使用群晖套件的用户

请等待矿神 SPK 源更新后在套件中心中升级。

使用 Docker-compose 的用户

更改镜像标签后重新部署即可。

使用 docker 命令的用户

请做好容器数据备份,删除旧的容器,并使用新的镜像标签重新运行 docker run 命令进行升级。建议配合 watchtower 自动更新。

使用 .deb, .pkg 等安装包的用户

请下载新版本安装包进行安装。

Docker

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

v7.3.0

09 Jan 17:50
4d0cdf3
Compare
Choose a tag to compare

2024 第四季度用户调研问卷正在收集,有任何建议意见吗,欢迎告诉我们:#856

新功能

  • 暂停下载器 #833 @Ghost-chu @Gaojianli
    • 用户可以暂停一个或多个下载器,被暂停的下载器仍然在列表中可见,但不再参与任何检查
  • 全局暂停 @Ghost-chu @Gaojianli
    • 可以暂时停止 PBH 的检测任务,暂停期间不再检查和封禁 Peers
  • IP 地址反向域名解析黑名单模块 #834 @Ghost-chu @Gaojianli
    • 用户可以封禁 IP 地址反向解析为主机名(注意:是 IP 的主机名,而非 DDNS 或者普通域名的解析),与 PeerId/ClientName 相同使用 JSON 引擎匹配
    • 分为 JDK 实现和 dnsjava 实现,dnsjava 实现需要在 PBH Lab 中启用实验,否则默认使用 JDK 实现
    • JDK 实现在绝大部分 IP 上似乎都无法正常工作
  • SQLite 数据库自动增量、全量 VACUUM #843 #844 @Ghost-chu
    • 解决了 SQLite 数据库即使删除旧数据后仍然随着时间推移体积膨胀的问题
    • VACUUM 前将进行数据库备份操作,备份会在 VACUUM 操作成功后删除
    • 每次事务完成后都会增量 VACUUM,但完全 VACUUM 只会每 60 天在 PBH 启动时进行
  • 新增 BTN 获取配置文件失败原因,可查看获取配置文件出错时的服务器响应 @Ghost-chu @Gaojianli
  • 新增解封全部 IP 地址按钮 腾讯问卷#17358863#67 @Ghost-chu @Gaojianli
  • 现在订阅规则支持读取注释作为封禁原因之一 腾讯问卷#17358863#89 @Ghost-chu @paulzzh

优化

  • 改进封禁列表的搜索体验 #618 @Ghost-chu @Gaojianli
  • 封禁时如果订阅规则提供了对应 IP 地址的注释行,将显示注释上的信息,而不是仅仅提示命中订阅规则 @Ghost-chu @paulzzh
    • 此更新也加入了对行尾注释的支持
  • 封禁规则现在改善了其可读性

错误修复

  • 修复 AvaitorScript 脚本引擎配置初始化过晚,导致 BTN 下发的脚本无法使用 AV 脚本引擎的部分功能 @Ghost-chu
  • 更新 Tor Exit Node 规则订阅链接,旧的似乎已经不再更新 #845 @Ghost-chu @thrive7776
  • 修复从较旧版本升级到 v7.2+ 时,telegram 推送配置的 chat-id 没有正确迁移到 chatId 的问题 @Ghost-chu
  • 解决 统计-图表 界面不会刷新 #829,现在不支持刷新的页面不再显示刷新按钮 @Gaojianli
  • 修复捐赠页面倒计时在快速开关后可能被破坏的问题 @Gaojianli
  • 修复日志界面的“自动滚动到最新”选项不会滚动到最新日志条目的问题 #847 @Gaojianli
  • 修复安装器在某些情况下不会检测程序运行状态导致安装时卡住的问题,现在安装前将先运行上个版本的卸载程序 #718 @Ghost-chu
  • 修复解封 IP 地址的时候,ProgressCheatBlocker 的持久化数据和内存数据没有正确归零的问题 @Ghost-chu
  • 修复了 BTN 模块在配置文件重载后有时会显示 “已加载 0 个能力” 并停止工作的问题 @Ghost-chu

其它更改

  • Peer 是否已握手现在由各个下载器实现自行管理以更快更精准的判断 Peer 的握手状态 @Ghost-chu

Sparkle BTN 更新

  • 改善程序和数据库性能、优化分析过程,解决引发 Sparkle 两周停机的多项性能和网络瓶颈。之前暂停停止的 Peers 提交、过量下载分析和客户端发现功能现在恢复正常运行 @Ghost-chu
  • 用户应用程序页新增 “创建时间” 列,并按创建顺序倒序排序;新增 “状态” 列,指示 UserApplication 的封禁状态 @Ghost-chu
  • 新增个人资料页,显示账号基本信息(头像、昵称、电子邮件地址、帐号状态)以及账号积分信息 @Ghost-chu
  • 新增积分系统和积分(Bytes),用以衡量用户在 Sparkle BTN 上做出的贡献 @Ghost-chu
  • 新增 BTN 网络统计仪表盘,可登录 BTN 后在首页查看或者 点此跳转 @Ghost-chu
    • 可以自由选择时间区间以查看不同时间段的 BTN 网络整体状态,但大部分数据仅保留 30 天或者更短
    • 可查看封禁网段排行榜,以快速对比 IP 段之间的恶意活动强度
    • 新增 GeoIP 排行榜,分析不同地区的恶意活动强度
    • 新增封禁趋势图,帮助快速了解不同时段封禁的趋势,可通过 “封禁计数、封禁唯一 IP 数、会话数、GeoIP 地区、客户端名称” 等多个维度分析目前的恶意活动
    • 新增网络类型跟踪,可根据运营商和所属网络类型分析当前 BTN 网络上的恶意活动
    • 新增全球网络概览图,以便可视化查看不同国家/地区的恶意活动强度
    • 新增 Sparkle BTN 实时日志,按时间倒序查看、或者根据特定字段过滤最近的 Sparkle BTN 提交数据
    • 新增 Sparkle BTN 审计图表,可查看 BTN 上用户活动(仅部分审计操作对普通用户开放)
  • 改进 BTN-Collected-Rules 规则生成模块 @Ghost-chu
    • Tracker 分析、不受信任 IP 地址和过量下载三大模块支持透明度更新
      • 在每个被封禁的 IP 地址上方的注释行中现在详细显示 Peer 特征、不信任投票数和 BTN 网络统计的过量下载数据信息

Sparkle Tracker 更新

PBH-BTN/Trunker 是一个使用 Golang 编写的高性能 BitTorrent HTTP Tracker 程序(不支持其它协议是刻意的)。其设计目标是使用尽可能少的 CPU 和网络资源处理 Tracker 服务器面临的高并发问题,同时收集和存储 Peer 特征数据以供 BTN 网络程序分析使用。
在不启用持久化的情况下,可以作为普通的 Tracker 程序使用。支持 Unix Domain Socket 以降低 CPU 网络软中断压力。

Trunker 运行高效且经过生产环境的压力验证,欢迎试用。

您也可以使用由 PBH-BTN 维护的 Trunker 实例,由此实例收集的数据会用于 BTN 分析。如果您是种子发布者,欢迎将其添加到 Tracker 列表中:

https://sparkle.ghostchu-services.top/announce

BTN-Collected-Rules 更改

新增规则

在 Sparkle BTN 完成更新后,我们对过去 6 个月的累积数据进行了分析,并创建了多个新规则,欢迎订阅它们或者用作参考:

  • 新规则:cevskxsnm-10-idc.txt (推荐订阅)某 IDC 刷流机房 IP 地址(静态公网 IP),IP 段完美符合其官网宣传的所有机房的地理位置分布,通过 IP 段和主机名确认关联,伪装特征为 qBittorrent/4.6.7,代表 IP 地址段:101.69.63.0/24。通过主机名确认至少有 82 台机器运行刷流程序,由于法律原因,更多证明信息和公司名称不对外公布。
  • 新规则:poonisxq-10.txt (用于参考)某电影分发的小微企业的边缘节点 IP 地址(动静混合),公司域名 ICP 备案于 24 年 8 月份完成,并在备案完成的 2 周内出现刷流 Peer(由 BTN 客户端发现模块记录)。通过 PeerID、主机名、部署的服务程序确认存在关联。特征为 Rain 0.0.0,代表 IP 段:185.107.45.0/24。由于法律原因,更多证明信息和公司名称不对外公布。
  • 新规则:gopeeddev.txt(用于参考)Gopeed dev 的节点 IP 地址(静态公网 IP),通过 IP 段和主机名确认存在关联。代表 IP 段:218.91.255.0/24。目前所有者不明。
  • 新规则:aria2c.txt(用于参考)使用 aria2 特征刷流的 IP 地址(动静混合),特征 aria2/1.37.0,代表 IP 段:114.227.158.0/24。目前所有者不明。

您无需修改 PBH 的配置,所有新的规则都会合并到 all.txt 中。

现有规则更改

  • Tracker 分析、不受信任 IP 地址和过量下载三大模块支持透明度更新
    • 在每个被封禁的 IP 地址上方的注释行中现在详细显示 Peer 特征、不信任投票数和 BTN 网络统计的过量下载数据信息
  • multi-dial.txt 规则清理
    • 清理了一部分过期、无效、重复和不值得再按段封禁的规则

尾言

在本次问卷调查中,我们收到了很多伙伴们的建设性建议。其中一部分建议已在本次更新中加入 PeerBanHelper 中,但仍有部分留言由于系统限制无法回复。我们在此统一对这些问题进行回答:

  • 土豆不能熟
    • 我们已经采取了一系列措施改进服务器的稳定性,本周以来 Sparkle 的服务稳定性已经显著提升,会在未来持续优化
  • 江苏南通ip的Gopeed dev无法封禁,一直提示已在封禁列表,但始终无法封禁,希望可以改进
    • 经过测试无法复现这个问题
  • 误封好严重,建议添加一个能力开关或者到一定的上传量再封禁
    • 本次更新也对规则进行了一次性里,可以看看误封情况是否有所好转
  • 封禁列表支持按条件搜索
    • 本次更新已新增了对封禁列表的任意搜索功能,可搜索任意字段的任意内容
  • 如果使用的存储设备为flash设备,最好内置读写计数,帮助用户评估磨损情况
    • 读写是不可控的,并且由于目前有内存缓存功能,实际上读写次数不会太多了
  • 同ip端口不同种子合并下载上传总量统计
    • 底层代码限制,短时间内是搞不了了
  • 加入根据封禁原因筛选封禁记录的功能
    • 封禁日志由于底层代码限制,搜索功能受限,我们还在寻找解决方案
  • 目前已经非常满意,如果可能希望减少资源占用
    • 其实大部分时候内存 PBH 并没有在使用,但是 JVM 更倾向于先申请这些内存以备不时之需。本次更新已调低了这部分阈值,但由于 JVM 的设计,它可能还是很会倾向于申请一些内存自己囤着
  • 建议BTN的前端恢复装修前的封禁记录查询,并加上历史记录查询、图表(如各个地区各个客户端的封禁量柱状图折线图之类的)等比较直观的数据查看方式 另外,建议PBH加上对BTN各个能力的自定义开关(ClientName封禁、PeerID封禁这些)避免误封,最近在下海盗湾的种子时有很多用libtorrent名字的客户端连上来,然后立刻被PBH封了:(
    • 我们已在本版本改善了一部分的误封情况,数据查看和图表已推出新的 Sparkle Dashboard 作为过渡方案
    1. 封禁名单 或 封禁日志 能用更多的方式筛选(客户端、封禁原因等) 2. 能在PBH客户端管理BTN启用的能力,实现只上报数据,而不使用BTN下发的规则。原因有:我不想屏蔽掉Transmission 4.0.6客户端;我想知道peer被屏蔽的原因(而不仅仅因为该peer在ip封禁列表中)
      1. 封禁列表已在本版本中得到优化 2. 此功能可以在设置中禁用使用云端规则,而不会影响提交数据
  • 如果可行,希望可以减少对SSD的写入量。
    • 已经有内存缓存了~ 并不是暴力 I/O 的 SSD 捏
  • 希望能支持Aria2
    • 得 aria2 自己努力才行,它根本无法封禁 IP 地址,而且作者明确不想加 blocklist 功能
  • PeerBanHelper:希望在Linux端的RPM包中引入全局配置目录,便于升级时不会覆盖部分自定义参数。 Sparkle(BTN网络):希望提供自建BTN网络的相关文档和软件包/代码包,并希望可以实现BTN网络节点联盟的构想,实现超级节点向边缘节点定期分发规则和封禁数据以及边缘节点向超级节点的数据上报功能,降低目前单中心处理能力不足导致的功能受限的影响。 PS:我这边有双路AMD 9754 1TB内存的服务器,应该处理性能不成问题?
      1. 更改数据目录:-Dpbh.datadir=/path/to/data 单独更改配置目录:-Dpbh.configdir=/path/to/config 单独更改日志目录:-Dpbh.logsdir=/path/to/logs
    • 暂不考虑网络节点联盟问题
    • 谢谢,我们暂不接受服务器捐赠。根据隐私政策所述,我们不得将数据提供给第三方,使用他人捐赠服务器实质上还是将数据传输给了第三方
  • 建议开发一键解封ip
    • 本版已添加 “解封全部IP地址” 功能,点击即可解封封禁列表的所有 IP 地址,感谢您的建议
  • pbh可以说对我相当有帮助,我一开始本着分享原则,能不给上传限速就不限,导致上传带宽天天被占满,以至于没法正常上网。用了pbh上传从20m降到平均几百k,我才知道以前基本全是给吸血上传。不过因为我不是非常了解屏蔽的原理,其实我有时候还是有些担心会误封一些真正下载人的账号,请问这部分是否可以根据违反规则情况给每个封禁IP分级,来使用户更加了解其是否具有较大危害?
    • 谢谢,建议已收到。我们会考虑根据动态分数计算来封禁 IP,但是涉及到底层代码修改,短期内暂时不会看到这个功能
    • Sparkle BTN 内部已经是如此工作了,现在新增的封禁原因备注也有望改善封禁透明度问题
  • 可能要对libertorrent的规则做一些调整,现在这样全杀不太好。还有对做种上传的应该存在误封
    • 我们正在对 libtorrent 的情况展开调查,在调查完成前我们施加了一个临时的措施。在情况明了后就会做出更进一步的举措
  • 为开发团队的大量付出致敬。 与恶意吸血客户端的斗争还在继续。希望各个被全量封禁的地区能尽快恢复正常。
    • 谢谢,我们已解除了这部分地区的一部分 IP 地址;但由于部分 IP 段仍然疯狂进行恶意活动,仍有大量 IP 段未得到解封
  • github更新不便,BTN链接不便
    • 我们会考虑添加国内分发源,BTN 现在提交数据已经是国内 CDN 了,但是页面浏览可能会被 302 到全球节点,我们会考虑改善这个问题
  • peer id、client name规则提供注释,说明是哪款软件 提供白名单规则,例如:只允许XX的peer连接
    • 感谢建议,已添加
  • 超量下载(进度回退)再智能一些
    • 它已经是不跑 AI 大模型的情况下比较智能的状态了
  • 能否优化一下peerbanhelper长期运行的表现?我的peerbanhelper是跑在旧电脑改造的服务器上的,但是经常不过几天pbh就完全卡死不能工作,不管是gui mode还是控制台模式,都是一样的结果。希望能加以改进,我相信pbh还是有很多需求是长期稳定运行的。除此之外,这个软件非常完美,就是这个问题让人很难受。
    • 请升级版本,不要继续使用 6.x 了
  • PeerBanHelper 应取得更加广泛的运用才可以更好得从用户端遏制PCDN的猖獗,但是现阶段对于配置 PeerBanHelper 和 Sparkle(BTN网络)的门槛依旧较高,不适合吸纳更加广泛的用户加入进来。
    • 谢谢,我们会在有空闲的时候优化用户体验
  • 内存占用过高 peerbanhelper 0.08% 787.4MiB / 15.54GiB
    • 你升级了吗?
  • 增加复制webui链接到剪贴板的功能,我不希望我的密码直接暴露在浏览器的历史记录里
    • 你可以使用随机密码的,登陆一次就记住了
    • 试试看浏览器的一个传奇功能:网页收藏夹
  • 希望btn服务器能更加稳定,不要经常无法连接
    • Powered by GLaDOS (Potato Edition),它已经很努力了
  • 希望可以推出季度報告等方式介紹最近的封鎖效果,總是覺得好像效果不太好但又不肯定 RAM和CPU的佔用未至於影響使用,但確實有點偏高,希望可以改善。
    • 已经有图表了
    • 封禁效果取决于所有人共同的努力,考虑加入 BTN 网络帮助一起改善封禁效果吧

转眼又是新的一年,转眼 PeerBanHelper 就快要一周年啦(2 月 7 日)。
时间飞逝,希望有 PeerBanHelper 陪伴下,今年也会是快乐 BT 的一年。提前拜个早年,2025 新年快乐~

已知问题

  • 封禁备注为空、奇怪的文本
    • BTN-Collected-Rules 仍未完成改造,属于正常现象

Docker

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

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