diff --git a/docs/btn/connect.md b/docs/btn/connect.md index f07339c..649d758 100644 --- a/docs/btn/connect.md +++ b/docs/btn/connect.md @@ -1,37 +1,37 @@ # 连接 BTN -要参与 BTN 计划,只需要将 BTN 客户端连接到 BTN 服务器就好了。本文使用 PeerBanHelper 作为 BTN 客户端,Sparkle 作为 BTN 服务端进行演示。 +若要参与 BTN 计划,您只需将 BTN 客户端与 BTN 服务器进行连接即可。本文将以 PeerBanHelper(简称 PBH)作为 BTN 客户端,Sparkle 作为 BTN 服务端为例进行演示。 ## Sparkle -Sparkle 是 PBH-BTN 的官方 BTN 服务器。 +Sparkle 是 PBH-BTN 组织的官方 BTN 服务器。 -### 注册账号,创建 UserApp +### 注册账号并创建 UserApp -浏览器打开 [https://btn-prod.ghostchu-services.top](https://btn-prod.ghostchu-services.top) 并使用 GitHub 授权登录,就会自动创建一个账号。 +请在浏览器中打开 [https://btn-prod.ghostchu-services.top](https://btn-prod.ghostchu-services.top) 并使用 GitHub 授权登录,系统将自动为您创建一个账号。 -点击顶部菜单的 “用户应用程序” 链接来到管理页面。 +接着,点击页面顶部的“用户应用程序”链接,进入管理页面。 ![homepage](./assets/btn-homepage.png) -点击 “创建新用户应用程序”,输入一个备注,然后点击按钮创建。 +点击“创建新用户应用程序”,输入一个备注信息后,点击按钮完成创建。 ![management](./assets/userapp-management.png) -现在记下页面上显示的 `AppID` 和 `AppSecret`,因为一旦关闭这个页面,`AppSecret` 就不会再显示了。 +请务必记录页面上显示的 `AppID` 和 `AppSecret`,因为一旦关闭该页面,`AppSecret` 将不再显示。 ![created](./assets/userapp-created.png) -## 在 PBH 上加入 BTN 网络 +## 在 PeerBanHelper 上加入 BTN 网络 -转到 设置 -> 基础设置 选项。 +请前往设置 -> 基础设置 选项。 ![btn1](./assets/btn1.jpg) -向下滑动找到 BTN 设置,打开 “启用 BTN 模块”,并填写刚刚在上面获取的 AppID 和 App Secret: +向下滑动至 BTN 设置部分,勾选“启用 BTN 模块”,并填入之前获取的 AppID 和 App Secret: ![btn2](./assets/btn2.jpg) -滚动到底部,点击“保存”按钮,然后重启 PeerBanHelper 使其生效。 +滚动至页面底部,点击“保存”按钮,并重启 PeerBanHelper 以使设置生效。 -![btn3](./assets/btn3.jpg) +![btn3](./assets/btn3.jpg) \ No newline at end of file diff --git a/docs/btn/intro.md b/docs/btn/intro.md index ead91b1..4f1acda 100644 --- a/docs/btn/intro.md +++ b/docs/btn/intro.md @@ -4,75 +4,60 @@ sidebar_position: 1 # 什么是 BTN -在开始了解什么是 BTN 之前,我们首先需要了解一下历史上的各种反吸血手段。 +在深入探讨 BTN 之前,我们有必要先回顾一下反吸血技术的发展历程。 -## 反吸血的前世今生 +## 反吸血技术的发展 -### 史前时代 +### 初始阶段 -最开始时,人们使用基于 PeerID 和 ClientName 的黑名单来屏蔽特定一类客户端,阻止他们连接到下载器来反吸血。 -这种反吸血方式粗暴好用,但前提是下载器不会对 PeerID 和 ClientName 伪装,一旦进行了伪装,则此功能则完全失效。 +最初,人们采用基于 PeerID 和 ClientName 的黑名单策略,以阻止特定类型的客户端连接到下载器进行吸血。这种策略虽然简单有效,但前提是下载器不会对这些标识符进行伪装,一旦伪装成功,该策略即失效。 -### 流量检测时代 +### 流量监测阶段 -后来,BitComet 等下载器引入了流量监测方式。如果下载文件的时候,一个 Peer 超过一段时间没有发送给下载器任何片段,就认为是吸血并封禁。 -然而对于 101. 打头的这批吸血者,它们会给很小的上传流量,但足以骗过这种流量监测的反吸血方式。此外此方式对做种用户毫无作用。 +随后,BitComet 等下载器引入了流量监测机制。如果某个 Peer 在一段时间内未向下载器发送任何数据片段,则被视为吸血行为并被封禁。然而,对于以 101. 开头的 IP 地址段的吸血者,它们通过发送微量上传流量来规避这种监测,同时该策略对做种用户无效。 -### 以牙还牙的算法反吸血时代 +### 算法反吸血阶段 -LibTorrent 引入了一种以牙还牙,针锋相对的反吸血算法。如果一个 Peer 不愿意提供文件片段,这个 Peer 在 LT 的优先级就会慢慢降低,直至完全不传输数据。 -和流量监测相似,一点上传就足以骗过检测,且对做种用户毫无用处(因为做种不会下载任何片段)。 +LibTorrent 引入了一种以牙还牙的反吸血算法。如果一个 Peer 不愿提供数据片段,其在 LibTorrent 中的优先级将逐渐降低,直至完全停止数据传输。与流量监测类似,微量上传足以绕过检测,且对做种用户无影响。 -### 启发式检测算法 +### 启发式检测阶段 -由 PeerBanHelper 提出的启发式检测算法(进度检查器/PCB)可以有效的检测如进度回退、过量下载这类作弊手段。但其也有自己的缺点——反应慢。 -当检测被触发的时候,吸血者已经恶意下载了不少量的数据。因此通过这种方式反吸血尽管效果不错,但效率较低。只能用作尽可能减少损失。 +PeerBanHelper 提出了启发式检测算法(如进度检查器/PCB),能有效检测进度回退、过量下载等作弊行为。然而,该算法反应较慢,当检测触发时,吸血者已下载大量数据。因此,尽管效果显著,但效率较低,主要用于减少损失。 -## 所以怎么办 +## 应对策略 -答案是:共享 IP 规则。 +面对上述挑战,共享 IP 规则应运而生。最初,人们通过口口相传传递高风险 IP 段,但随着吸血者频繁更换 IP,这种方法时效性有限。因此,需要一种能够快速响应的数据分析和 IP 封禁技术。 -最开始我们通过人传人互相传递高风险 IP 段。但随着游击战的开始,IP 你封我换,而很遗憾这又是一个时效性很高的东西。在还没来得及让更多人知道新规则之前,吸血者可能就已经更换到了下一个 IP 地址。 -因此,必须有一种可以快速和及时响应的数据分析和 IP 封禁技术出现。 +## BTN 的诞生 -## 答案是 BTN +BTN(全称 BitTorrent Threat Network)由 BTN 服务器和 BTN 客户端组成,通过 [BTN 协议](https://github.com/PBH-BTN/BTN-Spec) 实现数据交换。 -BTN(全称 BitTorrent Threat Network),它由 BTN 服务器和 BTN 客户端组成。通过 [BTN 协议](https://github.com/PBH-BTN/BTN-Spec) 交换数据。 +BTN 客户端通过 PCB 等方式发现异常 Peer 后,会定时通过 BTN 协议上报给服务器。服务器收集大量客户端数据,生成异常 IP 列表,并通过 BTN 协议下发给不同客户端,从而在吸血行为发生前将其屏蔽。 -BTN 客户端通过 PCB 等方式发现了异常 Peer 后,便会通过 BTN 协议定时上报到服务器。这样我们就可以集合大量客户端的数据,生成一份异常 IP 列表,并通过 BTN 协议再下发给不同的客户端,在开始吸血之前就将它们屏蔽在外。 +## BTN 的功能 -## BTN 能做什么? +### 收集与分析封禁报告 -### 收集、分析封禁报告 - -BTN 能够接收客户端上报的封禁报告,如果一个 IP(/段)被多个人封禁,那么它就是一个高风险 IP 地址。BTN 会自动将其封禁,并通知其它客户端也一起封禁它。 +BTN 接收客户端上报的封禁报告,如果一个 IP(或 IP 段)被多人封禁,则视为高风险 IP 地址。BTN 会自动封禁该 IP,并通知其他客户端进行同步封禁。 ### 阻止分散吸血 -一些吸血者很聪明,它们在不同的人那里下载相同文件。 -这样从每一个人的角度来看,吸血者都只在自己这里下载了一次文件,但实际上吸血者已远远下载了超过文件本身体积大量的数据。 - -BTN 通过分析每个 IP(段)在每个种子上的总下载量,检查是否有分散吸血的情况,并将它们自动封禁。 +部分吸血者采取分散策略,在不同用户处下载相同文件。从单个用户角度看,吸血者仅下载一次文件,但实际上已远超文件本身体积。BTN 通过分析 IP(或 IP 段)在每个种子上的总下载量,检测分散吸血行为,并自动封禁。 ### 发现新型客户端 -在数据上报时,BTN 还会检查是否是一个从未见过的新客户端。并记录首次出现和最后一次见到的时间。 -这有利于推断恶意吸血者进行吸血活动的大致时间范围。 - -在 24 年 8 月,还帮助我们发现了一起使用随机 PeerID 的吸血客户端。 - -### 避免 PBH 被针对绕过 +在数据上报过程中,BTN 检查是否出现新客户端,并记录首次出现和最后一次见到的时间。这有助于推断恶意吸血者的活动时间范围。例如,在 2024 年 8 月,BTN 帮助我们发现了一起使用随机 PeerID 的吸血客户端。 -除了封禁数据,BTN 客户端还会定时拍摄一次下载器上的实时状态快照。这样我们能够检测是否有恶意吸血者通过新的方式绕过了现有的检测。 +### 避免 PeerBanHelper 被绕过 -## 隐私安全的顾虑 +除了封禁数据,BTN 客户端还会定时拍摄下载器的实时状态快照。这有助于检测恶意吸血者是否通过新方式绕过现有检测。 -听起来要做到这些要向服务器上传大量数据。答案是:是的。 +## 隐私与安全 -要进行这些分析操作,BTN 必须收集和上传大量必须数据,所有上传的数据类型可在 [BTN 协议规范](https://github.com/PBH-BTN/BTN-Spec) 中找到。 +要实现上述功能,BTN 必须收集和上传大量数据。所有上传的数据类型可在 [BTN 协议规范](https://github.com/PBH-BTN/BTN-Spec) 中找到。 -特别需要提及的是:在上传时,我们不会上传种子的 info_hash 和种子的名称。取而代之的是不可逆哈希过的 torrent_identifier 和种子大小。这样我们就不会知道您提交的种子是什么(我们也不关心这些),我们只关注是否是相同的种子/不同的种子。 +特别说明:在上传数据时,我们不会包含种子的 info_hash 和名称,而是使用不可逆哈希生成的 torrent_identifier 和种子大小。这样,我们无法得知您提交的种子内容(我们也不关心),只关注是否为相同或不同的种子。 -如果您不愿意提供数据,BTN 客户端也通常有提交控制选项。将其关闭就可以只接收规则,不提交数据了。 +如果您不愿提供数据,BTN 客户端通常提供提交控制选项。关闭该选项后,您仍可接收规则,但不上传数据。 -永远记住:只连接到你信任的 BTN 服务器。 \ No newline at end of file +请始终牢记:只连接到您信任的 BTN 服务器。 \ No newline at end of file diff --git a/docs/downloader/BiglyBT.md b/docs/downloader/BiglyBT.md index a9a8bbf..966ab70 100644 --- a/docs/downloader/BiglyBT.md +++ b/docs/downloader/BiglyBT.md @@ -2,84 +2,90 @@ sidebar_position: 2 --- -# BiglyBT/Azureus(Vuze) +# BiglyBT/Azureus (Vuze) :::tip -PeerBanHelper 与 BiglyBT 完全兼容,支持最佳。 +PeerBanHelper 与 BiglyBT 完全兼容,且支持效果最佳。 ::: -PeerBanHelper 将借助 BiglyBT 的插件系统连接到 BiglyBT。 - -请注意你的 BiglyBT 运行的 Java 版本必须是 Java 11+ 版本。如果是 Java 8 或者更低版本,则无法使用,必须[切换 Java 版本](https://github.com/BiglySoftware/BiglyBT/wiki/Java-Versions)。 - +PeerBanHelper 将通过 BiglyBT 的插件系统连接到 BiglyBT。 +:::warning +您的 BiglyBT 必须运行在 Java 11 或更高版本上。如果是 Java 8 或更低版本,则无法使用,必须[切换 Java 版本](https://github.com/BiglySoftware/BiglyBT/wiki/Java-Versions)。 +::: ## 确认 BiglyBT 的 Java 版本 -1. 点击 BiglyBT/Vuze/Azureus 的 “帮助” 菜单,并点击 “关于 BiglyBT/Vuze/Azureus” -2. 查看右侧的 “系统信息” 窗口,查看 `Java ` 后面的版本号,如果是 `8` 或者 `1.8` 则不受支持。你需要升级 Java 版本。 +1. 在 BiglyBT/Vuze/Azureus 中,点击“帮助”菜单,然后选择“关于 BiglyBT/Vuze/Azureus”。 +2. 在弹出的窗口中,查看右侧的“系统信息”部分,确认`Java`后面的版本号。如果版本号是`8`或`1.8`,则不受支持,您需要升级 Java 版本。 ![step1](assets/BiglyBT-step1.png) ![step2](assets/BiglyBT-step2.png) -## 升级 Java 版本(按需) +## 升级 Java 版本(如需) -如果很不幸,你是 Java 8 版本的受害者,则需要升级 Java 版本。 +如果您的 BiglyBT 运行在 Java 8 上,您需要升级 Java 版本。 -升级的方式很简单,首先从 [Azul Zulu](https://www.azul.com/downloads/?version=java-21-lts&os=windows&architecture=x86-64-bit&package=jdk#zulu) 下载 Java 21 的 JDK。通过这个链接打开时,页面会自动为您筛选适合的 JDK,直接下载安装即可。 +升级方法很简单,首先从 [Azul Zulu](https://www.azul.com/downloads/?version=java-21-lts&os=windows&architecture=x86-64-bit&package=jdk#zulu) 下载 Java 21 的 JDK。打开该链接时,页面会自动为您筛选适合的 JDK,直接下载安装即可。 ## 安装 PBH-BiglyBT/PBH-Azureus 适配器 -下载 BiglyBT 适配器:[PBH-BTN/PBH-Adapter-BiglyBT](https://github.com/PBH-BTN/PBH-Adapter-BiglyBT/releases),下载时请选择以 .jar 结尾的 JAR 包 -下载 Azureus/Vuze 适配器:[PBH-BTN/PBH-Adapter-Azureus](https://github.com/PBH-BTN/PBH-Adapter-Azureus/releases) +下载 BiglyBT 适配器:[PBH-BTN/PBH-Adapter-BiglyBT](https://github.com/PBH-BTN/PBH-Adapter-BiglyBT/releases),请选择以 `.jar` 结尾的 JAR 包进行下载。 +下载 Azureus/Vuze 适配器:[PBH-BTN/PBH-Adapter-Azureus](https://github.com/PBH-BTN/PBH-Adapter-Azureus/releases)。 -接下来的过程大同小异。 +接下来的安装步骤类似。 -选择 “工具 -> 插件 -> 从文件安装……” +1. 在 BiglyBT 中,选择“工具”->“插件”->“从文件安装……”。 ![step3](assets/BiglyBT-step3.png) -选中刚刚下载的 JAR 包下一步安装。 +2. 选中刚刚下载的 JAR 包,点击“下一步”进行安装。 ![step4](assets/BiglyBT-step4.png) -如果 BiglyBT 询问您为谁安装,请根据自己的需要选择。如无特殊要求,请选择默认的选项。 +3. 如果 BiglyBT 询问安装对象,请根据您的需求选择。如无特殊要求,请选择默认选项。 ![step5](assets/BiglyBT-step5.png) -弹出插件安装对话框后,请点击 “安装” 按钮。 +4. 在弹出插件安装对话框后,点击“安装”按钮。 ![step6](assets/BiglyBT-step6.png) -如果弹出安全警告,请您允许继续安装。 +5. 如果出现安全警告,请允许继续安装。 ![step7](assets/BiglyBT-step7.png) -直到提示安装成功,此时 PeerBanHelper BiglyBT Adapter 适配器的安装过程就完成了。请根据下面的教程继续配置。 +6. 直到提示安装成功,此时 PeerBanHelper BiglyBT Adapter 的安装过程就完成了。请继续按照下面的教程进行配置。 ![step8](assets/BiglyBT-step8.png) ## 配置 PBH-BiglyBT/PBH-Azureus 适配器 -为了安全起见,PBH-Adapter-BiglyBT 将会生成一个随机 Token,你需要获取这个随机 Token 才能在 PeerBanHelper 中连接到您的 BiglyBT 下载器。 -点击 “工具->选项” 打开选项窗口。点击 “插件” 左侧的倒三角标志,展开插件配置菜单。 +为了安全起见,PBH-Adapter-BiglyBT 会生成一个随机 Token。您需要获取这个 Token,才能在 PeerBanHelper 中连接到您的 BiglyBT 下载器。 + +1. 点击“工具”->“选项”打开选项窗口。 +2. 点击“插件”左侧的倒三角标志,展开插件配置菜单。 ![step9](assets/BiglyBT-step9.png) -找到 “PeerBanHelper 适配器 - 配置界面”,点击进入配置页面。 +3. 找到“PeerBanHelper 适配器 - 配置界面”,点击进入配置页面。 ![step10](assets/BiglyBT-step10.png) -配置 API 端口号,并记下 Token。**随后点击保存按钮,请务必点击一次,否则重启后 Token 将重新生成。** +4. 配置 API 端口号,并记下 Token。**务必点击一次“保存”按钮,否则重启后 Token 将重新生成。** + +:::warning +**重要提示**:请确保点击保存按钮,否则重启 BiglyBT 后,Token 将重新生成,导致之前的配置失效。 +::: ![step11](assets/BiglyBT-step11.png) ## 连接到 PeerBanHelper -在添加下载器的页面,选择 BiglyBT(Azureus/Vuze 用户也请选择这个) +在 PeerBanHelper 的添加下载器页面,选择 BiglyBT(Azureus/Vuze 用户也请选择这个选项)。 -选择 “BiglyBT”,并填写刚刚设置的端口号和记下的 Token: +1. 选择“BiglyBT”,并填写刚刚设置的端口号和记下的 Token。 ![step12](assets/BiglyBT-step12.png) -确定保存即添加完成。 +2. 点击确定保存,即完成添加。 \ No newline at end of file diff --git a/docs/downloader/BitComet.md b/docs/downloader/BitComet.md index c3d1ea9..fea6da7 100644 --- a/docs/downloader/BitComet.md +++ b/docs/downloader/BitComet.md @@ -4,65 +4,80 @@ sidebar_position: 5 # BitComet -PeerBanHelper 使用 BitComet WebAPI 与 BitComet 交互。本章将介绍如何为 BitComet 启用 WebAPI 并将 PeerBanHelper 与 BitComet 连接。 +PeerBanHelper 利用 BitComet 的 WebAPI 与 BitComet 进行交互。本章将指导您如何为 BitComet 启用 WebAPI,并将其与 PeerBanHelper 连接。 -## 提示 +## 注意事项 :::danger -特别提示:BitComet 的支持目前处于高度实验性的状态,对封禁效果和运行稳定性不做任何保证。 +**重要提示**:BitComet 的支持目前仍处于高度实验性阶段,对于封禁效果和运行稳定性,我们不做任何保证。 ::: -BitComet 用户可能频繁遇到 “正在封禁的 Peer 已处于封禁列表中”,此问题是由于 BitComet 的封禁操作是异步处理的,您可以安全的忽略这个警告(除非它连续不停地一直在提示)。 -如果您遇到封禁线程未响应或 "Unable to retrieve peers" 的错误提示,这通常是由于 BitComet 的 WebAPI 超时未响应的问题。该问题已被汇报给 BitComet,但目前尚未得到修复。请您无需担心,PBH 会在下一次封禁流程中,重新获取。 +BitComet 用户可能会经常遇到“正在封禁的 Peer 已处于封禁列表中”的提示,这是由于 BitComet 的封禁操作是异步处理的。在大多数情况下,您可以安全地忽略此警告(除非它持续不断地出现)。如果您遇到封禁线程未响应或“Unable to retrieve peers”的错误提示,这通常是由于 BitComet 的 WebAPI 超时未响应。该问题已反馈给 BitComet,但尚未得到修复。请放心,PeerBanHelper 会在下一次封禁流程中重新尝试获取。 ## 确认版本 -PeerBanHelper 使用的 WebAPI 仅在 `v2.10 Beta6 [20240928]` 或者更高版本中可用。截至本文撰写时,v2.10 正式版还未发布。如果已发布正式版,请直接使用 v2.10 或者更高版本的正式版。 -任何更低版本的 BitComet 均无法使用且不受支持。 +PeerBanHelper 所需的 WebAPI 仅在 `v2.10 Beta6 [20240928]` 或更高版本中可用。 -## 开启 IP 过滤器 +:::warning +**版本要求**:任何低于此版本的 BitComet 均无法使用且不受支持。 +::: + +## 启用 IP 过滤器 -“工具->选项” 打开 BitComet 设置界面,在打开的设置窗口的左侧树形菜单中依次展开 “任务-> BT 下载 -> IP 过滤器”,在过滤器配置页面勾选 “按 IP 列表筛选 Peer”,并选择 “黑名单模式”。 +1. 在 BitComet 中,点击“工具”->“选项”以打开设置界面。 +2. 在左侧树形菜单中,依次展开“任务”->“BT 下载”->“IP 过滤器”。 +3. 在过滤器配置页面中,勾选“按 IP 列表筛选 Peer”,并选择“黑名单模式”。 ![step1](./assets/BitComet-step1.jpg) ## 配置禁止多重连接 -允许多重连接会扰乱 PBH 的反作弊代码,因此必须将其禁用。 +允许多重连接可能会干扰 PeerBanHelper 的反作弊机制,因此必须禁用此功能。 -在打开的设置窗口的左侧树形菜单中选择 “高级设置”,找到 `bittorrent.multi_peers_same_ip`,将它的值设置为 “否”。 +1. 在设置界面左侧树形菜单中,选择“高级设置”。 +2. 找到`bittorrent.multi_peers_same_ip`,并将其值设置为“否”。 ![step2](./assets/BitComet-step2.jpg) ## 禁用 WebUI 限速 -默认情况下,WebUI 会受到网络连接中的速度限制选项的限制,这会影响 PBH 访问 BitComet WebAPI 的性能,并导致封禁失败和延迟,因此需要将其禁用。 +默认情况下,WebUI 会受到网络连接中的速度限制。这可能会影响 PeerBanHelper 访问 BitComet WebAPI 的性能,导致封禁失败和延迟。因此,需要禁用此功能。 -在打开的设置窗口的左侧树形菜单中选择 “高级设置”,找到 `network.ignore_remote_access_in_speed_limit`,将它的值设置为 “是”。 +1. 在设置界面左侧树形菜单中,选择“高级设置”。 +2. 找到`network.ignore_remote_access_in_speed_limit`,并将其值设置为“是”。 ![step3](./assets/BitComet-step3.png) ## 启用远程访问 -PeerBanHelper 需要使用远程访问功能连接 BitComet,这个功能默认关闭,需要您手动将其开启。 +PeerBanHelper 需要通过远程访问功能连接 BitComet。此功能默认关闭,需要手动启用。 -在打开的设置窗口的左侧树形菜单中选择 “高级设置->远程访问”,勾选 “启用网页版远程访问”,并设置一个用户名和密码。 -向下滚动,你还会看到端口号的设置,请记下上面显示的端口号设置。 +1. 在设置界面左侧树形菜单中,选择“高级设置”->“远程访问”。 +2. 勾选“启用网页版远程访问”,并设置一个用户名和密码。 +3. 记下显示的端口号,稍后需要在 PeerBanHelper 中使用。 + +:::warning +**安全提示** +- 请设置强密码以保护您的 BitComet +- 如果只在本地使用,建议将访问限制为 127.0.0.1 +- 确保防火墙配置正确,只开放必要端口 +::: ![step4](./assets/BitComet-step4.png) -全部填写完毕后,请记得保存。 +完成所有设置后,请确保点击保存。 ## 在 PeerBanHelper 中添加 BitComet -在 PeerBanHelper 中打开添加下载器窗口,选择 BitComet 类型。 +1. 在 PeerBanHelper 中,打开添加下载器窗口。 +2. 选择 BitComet 类型。 -地址分为两种情况: +地址配置分为两种情况: -* 如果 BitComet 和 PeerBanHelper 在同一台设备上,请使用 `http://127.0.0.1:端口号`,其中 `端口号` 替换为你在上面步骤中记下的端口 -* 如果 BitComet 和 PeerBanHelper 不在同一台设备上,请使用 BitComet 软件的 “高级设置->远程访问” 界面中,显示在用户名和密码框下面的地址 +- 如果 BitComet 和 PeerBanHelper 在同一台设备上,请使用 `http://127.0.0.1:端口号`,其中 `端口号` 替换为您之前记下的端口。 +- 如果 BitComet 和 PeerBanHelper 不在同一台设备上,请使用 BitComet “高级设置”->“远程访问”界面中显示的地址。 ![step5](./assets/BitComet-step5.png) -最后确定保存,测试通过即可使用。 +3. 最后,点击确定保存设置。如果测试通过,即可开始使用。 \ No newline at end of file diff --git a/docs/downloader/qBittorrent.md b/docs/downloader/qBittorrent.md index 52f964a..2c8df65 100644 --- a/docs/downloader/qBittorrent.md +++ b/docs/downloader/qBittorrent.md @@ -4,46 +4,51 @@ sidebar_position: 1 # qBittorrent -PeerBanHelper 使用 qBittorrent WebAPI 与 qBittorrent 交互。本章将介绍如何为 qBittorrent 启用 WebUI 并将 PeerBanHelper 与 qBittorrent 连接。 -对于在 Linux 和 Docker 上使用 qBittorrent 的用户,你大概已经配置好了 WebUI,可以跳过前面的步骤。 +PeerBanHelper 利用 qBittorrent 的 WebAPI 与 qBittorrent 进行交互。本章将详细指导您如何为 qBittorrent 启用 WebUI,并将其与 PeerBanHelper 成功连接。对于在 Linux 和 Docker 环境中使用 qBittorrent 的用户,如果您已经配置好了 WebUI,可以跳过前面的相关步骤。 ## 启用 WebUI -点击主页面上的齿轮图标,打开设置菜单。 +请点击主页面上的齿轮图标,以打开设置菜单。 ![step1](assets/qBittorrent-step1.png) -然后按照下列步骤操作: +接下来,请按照以下步骤操作: -1. 在左侧菜单中,切换到 "WebUI" 选项卡 -2. 勾选 “Web 用户界面(远程控制)” -3. 配置一个端口号,本示例使用 `7474`,注意:IP地址实际上为 “监听网卡地址”,不知道这是什么意思的话,并保持默认为 `*` -4. 在 “验证” 中,设置一个用户名和密码,最好是高强度密码。如果有人猜到了你的密码,则可以进入 qB 下载文件和执行命令/程序。 -5. 最后点击右下角的 “应用” 按钮,保存设置 +1. 在左侧菜单中,切换到“WebUI”选项卡。 +2. 勾选“启用 Web 用户界面(远程控制)”。 +3. 配置一个端口号,本例中我们使用`7474`。请注意,这里的“IP地址”实际上是指“监听网卡地址”,如果不确定其含义,可以保持默认为`*`,不过,如果您的防火墙配置不当,其他人也可访问到您的 qBittorrent WebUI。 +4. 在“身份验证”部分,设置一个用户名和高强度密码。若密码被他人猜中,他们可能会访问 qBittorrent 下载文件或执行命令/程序。 +5. 最后,点击右下角的“应用”按钮,以保存设置。 + +:::warning +**安全提示** +- 请设置强密码以保护您的 qBittorrent +- 如果只在本地使用,建议将访问限制为 127.0.0.1 +- 确保防火墙配置正确,只开放必要端口 +::: ![step2](assets/qBittorrent-step2.png) -## 配置高级设置 +## 配置高级选项 -除了启用 WebUI 以外,还有一些设置需要进行调整,确保 PeerBanHelper 能够正常工作: +除了启用 WebUI 外,还需进行一些设置调整,以确保 PeerBanHelper 能够正常运行: -1. 在左侧菜单中,切换到 “高级” 选项卡 -2. 找到 “解析用户主机名”,如果它被勾选了,请**取消勾选** -3. 继续向下滚动页面,在 “libttorrent 相关” 部分,找到 “允许来自同一 IP 地址的多个连接”,如果它被勾选了,请“取消勾选” +1. 在左侧菜单中,切换到“高级”选项卡。 +2. 找到“解析用户主机名”选项,如果已被勾选,请**取消勾选**。 +3. 继续向下滚动页面,在“libtorrent 相关”部分,找到“允许来自同一 IP 地址的多个连接”选项,如果已被勾选,请**取消勾选**。 ![step3](assets/qBittorrent-step3.png) ![step4](assets/qBittorrent-step4.png) ## 在 PeerBanHelper 中添加 qBittorrent 下载器 -按照以下步骤添加下载器: +请按照以下步骤添加下载器: -1. 打开添加下载器窗口 -2. 顶部下载器类型,选择 “qBittorrent” -3. 名称可随意填写,唯一的要求是不要带有英文句号(`.`) -4. 地址部分,填写 `http://localhost:7474`,其中 `7474` 是你上面设置的端口号。填写地址时,特别注意不要以 `/` 结尾 -5. 用户名为上面设置 “验证” 时,填写的用户名 -6. 密码为上面设置 “验证” 时,填写的密码 -7. 点击确定,提示成功即添加成功 +1. 打开 PeerBanHelper 的添加下载器窗口。 +2. 在顶部下载器类型中,选择“qBittorrent”。 +3. 名称可随意填写,但请确保不要包含英文句号(`.`)。 +4. 在地址栏中,填写`http://localhost:7474`,其中`7474`是您之前设置的端口号。请注意,填写地址时,不要以斜杠(`/`)结尾。 +5. 用户名和密码请填写您在“身份验证”部分设置的内容。 +6. 点击“确定”按钮,如果提示成功,则表示添加成功。 -![step5](assets/qBittorrent-step5.png) +![step5](assets/qBittorrent-step5.png) \ No newline at end of file diff --git a/docs/downloader/qBittorrentEE.md b/docs/downloader/qBittorrentEE.md index 4a3c3bc..3cef9ee 100644 --- a/docs/downloader/qBittorrentEE.md +++ b/docs/downloader/qBittorrentEE.md @@ -4,15 +4,15 @@ sidebar_position: 2 # qBittorrentEE -与 [qBittorrent](./qBittorrent.md) 的配置完全相同,但多出了一些额外选项。 +与 [qBittorrent](./qBittorrent.md) 的配置流程完全相同,但 qBittorrentEE 提供了一些额外的选项和功能。 ## 额外选项 ### ShadowBan -使用 qBittorrent EE 的 [ShadowBan API](https://github.com/c0re100/qBittorrent-Enhanced-Edition/issues/538) 代替 qBittorrent 的传统 IP 封禁。使用此功能需要使用 qBittorrent Enhanced Edition 4.6.6.10 或者更高版本。 +qBittorrent EE 提供了 [ShadowBan API](https://github.com/c0re100/qBittorrent-Enhanced-Edition/issues/538),作为传统 IP 封禁的替代方案。要使用此功能,您需要确保已安装 qBittorrent Enhanced Edition 4.6.6.10 或更高版本。 :::warning -**除非必要,否则不建议使用 ShadowBan 功能。** 一旦出现误封,这会让您的行为变得和恶意吸血端几乎一致。 -同时,很大概率上,在您拉爆恶意吸血者的连接数之前,会首先达到您的 ISP 的连接数限制从而导致您自己断网。可能会杀敌 100 自损 1000。目前的吸血端在您长时间不发送上传数据时会主动断开连接,这使得此功能的效果大打折扣。 -::: +**除非在必要情况下,否则不建议启用 ShadowBan 功能。** 误用此功能可能会导致您的行为类似于恶意吸血端,进而引发一系列问题。 +此外,在成功达到恶意吸血者的连接数限制之前,您可能会首先达到互联网服务提供商(ISP)设定的连接数限制,从而导致您自己的网络连接中断。这种情况可能会产生反向效果。考虑到当前的吸血端在长时间未接收到您的上传数据时会自动断开连接,这使得 ShadowBan 功能的效果大打折扣。 +::: \ No newline at end of file diff --git a/docs/faq.md b/docs/faq.md index f501da8..8547783 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -1,97 +1,78 @@ # 常见问题 -## 升级后 WebUI 白屏/黑屏/卡无限数据加载 +## 升级后 WebUI 出现白屏、黑屏或无限数据加载 -清除浏览器缓存。 +请尝试清除浏览器缓存。 -## 启动报错 Failed to bind to port / Port already in use. Make sure no other process is using port XXXX and try again. +## 启动时报错:“Failed to bind to port / Port already in use. Make sure no other process is using port XXXX and try again.” -同时启动了两个 PeerBanHelper(特别常见于安装时错误勾选了 “安装为系统服务”);或者端口被占用导致端口冲突(如 Uplay/Ubisoft Connect 等)。 +此错误通常意味着有两个 PeerBanHelper 实例同时尝试启动(特别是在安装时错误地勾选了“安装为系统服务”选项),或者该端口已被其他程序(如 Uplay/Ubisoft Connect 等)占用。 -### 如果是安装为了系统服务 +### 若已安装为系统服务 -如果你不清楚这是做什么的,请运行卸载程序从系统中删除系统服务,重启后重新安装。 +如果不确定如何操作,请运行卸载程序从系统中删除系统服务,重启计算机后重新安装。 -### 如果是 Uplay/Ubisoft Connect 正在运行;其它程序占用 WebUI 端口 +### 若 Uplay/Ubisoft Connect 正在运行或其他程序占用 WebUI 端口 -请先退出,或者[更改 WebUI 端口](./network/http-server.md#更改-webui-端口) +请关闭这些程序,或者[更改 WebUI 端口配置](./network/http-server.md#更改-webui-端口)。 -## 127.0.0.1 或者 localhost 连不上下载器 (ConnectException: null) +## 无法通过 127.0.0.1 或 localhost 连接到下载器(ConnectException: null) -出现这个问题多半是因为用了 Docker 容器部署导致的。在容器里使用 `127.0.0.1` 或者 `localhost` 指向的是容器内部,当然是连不上的。 +此问题通常在使用 Docker 容器部署时出现。在容器内部,`127.0.0.1` 或 `localhost` 指向容器自身,而非宿主机。 -群晖用户:Container Manager -> 容器 -> 找到 PBH 的容器 -> 向下滚动,使用显示的网关地址连接。 +**群晖用户**:请在 Container Manager 中找到 PBH 容器,使用显示的网关地址进行连接。 ![dsm-gateway](./assets/dsm-network-gateway.png) -其它 Docker 用户:执行 `sudo docker network inspect bridge` 命令: - -```json -"IPAM": { - "Driver": "default", - "Options": null, - "Config": [ - { - "Subnet": "172.17.0.0/16", - "Gateway": "172.17.0.1" - } - ] - } -``` - -使用上面的 Gateway 地址连接。 +**其他 Docker 用户**:执行 `sudo docker network inspect bridge` 命令,找到 Gateway 地址并进行连接。 -## 无法下载 IPDB/GeoIP 库 / 代理无效 +## 无法下载 IPDB/GeoIP 库或代理无效 -参见:[配置代理服务器](./network/proxy-server.md) +请参见:[配置代理服务器](./network/proxy-server.md)。 ## WebUI 管理 Token 在哪里? -参见:[更改 WebUI Token](./network/http-server.md#更改-webui-token) +请参见:[更改 WebUI Token](./network/http-server.md#更改-webui-token)。 -## Transmission 有什么缺点/为什么弃用/废弃了 +## 为什么弃用了 Transmission 下载器? -参见:[废弃对 Transmission 下载器的支持 #382](https://github.com/PBH-BTN/PeerBanHelper/issues/382) +请参见:[废弃对 Transmission 下载器的支持 #382](https://github.com/PBH-BTN/PeerBanHelper/issues/382)。 -## 反吸血进度检查器为什么显示进度超过 100% (例如:102%),是不是出错了?怎么还能超过 100% 的? +## 反吸血进度检查器为何显示进度超过 100%? -不是的,进度检查器会累加此 IP 地址在特定种子上的下载进度。如果对方出现进度回退、断开更换端口重连、更换 PeerID、更换 Client name 重新下载时,下载器会认为这是一个新客户端,并从头开始计算下载数据(吸血者也使用此手段绕过吸血检查)。但对于 PBH 来说,只要对方 IP 地址未改变(或者处于特定区间内),并且下载的种子未更换的情况下,下载进度会持续增量累积,避免对方欺骗反吸血检查。例如一个文件大小是 1000MB,对方下载 102% 代表对方在这个 1000MB 大小的种子上,实际下载了 1020MB 的数据。 +进度检查器会累加特定种子上的下载进度。若对方出现进度回退、断开重连、更换 PeerID 或 Client name,下载器会视为新客户端并重新计算数据。但 PBH 会持续累积进度,避免对方欺骗反吸血检查。例如,文件大小为 1000MB,对方下载 102% 即表示实际下载了 1020MB 数据。 -## PBH 提示我的下载器 “连续多次登录失败” ,并暂停了该怎么办? +## PBH 提示下载器“连续多次登录失败”并暂停怎么办? -您可以点击下载器的编辑按钮,然后直接点击确定保存。PBH 将会解除暂停状态并重新尝试登陆,此时会显示登陆失败的原因。请根据原因进行故障排查(例如:网络连接问题、WebUI 是否启用、用户名密码是否正确等)。排查完了再保存一次成功就解除暂停了。 +请点击下载器的编辑按钮,然后直接点击确定保存。PBH 将解除暂停并重新尝试登录,显示登录失败原因。请根据原因进行排查(如网络连接、WebUI 是否启用、用户名密码等),排查后保存即可解除暂停。 ## 什么是增量封禁? -- 非增量封禁:每次有新 IP 要封禁的时候,直接整个替换 IP 黑名单列表。在 qBittorrent 上容易造成下载器卡死。 -- 增量封禁:每次有新 IP 要封禁的时候,使用 banPeer API 增量添加封禁 IP;在解除封禁的时候,仍然是直接整个替换 IP 黑名单列表。 +- **非增量封禁**:每次封禁新 IP 时,替换整个 IP 黑名单列表。在 qBittorrent 上可能导致下载器卡死。 +- **增量封禁**:每次封禁新 IP 时,使用 banPeer API 增量添加;解除封禁时仍替换整个列表。 ## 什么是验证 SSL 证书? -如果填写的地址是一个 HTTPS 地址,且此开关启用,则会验证 SSL 证书的有效性。如果证书无效,则报错保证安全。 -如果关闭,则信任所有 SSL 证书。 +若填写的地址是 HTTPS 地址,且启用此开关,则会验证 SSL 证书的有效性。无效则报错以保证安全。若关闭,则信任所有 SSL 证书。 ## 什么是 Basic Auth? -有的教程会让你通过反代或者 Nginx 额外添加一层用户名密码保证安全,其特点是浏览器访问的时候会弹框验证: +Basic Auth 是在浏览器访问时弹出用户名密码验证框的安全机制。 ![basic-auth](./assets/basic-auth.png) -这个就是 Basic Auth。 - -## 统计数据中封禁计数比访问计数多? - -当一个 Peer 连接**并产生流量**时,计为一次访问。如果 Peer 在产生流量之前就被封禁(比如处于握手阶段),则只记为一次封禁。 +## 统计数据中封禁计数为何比访问计数多? -## 如何永久封禁 IP +当 Peer 连接并产生流量时计为一次访问。若 Peer 在产生流量前被封禁(如握手阶段),则只记为一次封禁。 -请使用 [IP 黑名单](./module/ip-address-blocker.md)。 +## 如何永久封禁 IP? -## 为什么我无法编辑自定义脚本?什么是“只读模式”? +请使用 [IP 黑名单功能](./module/ip-address-blocker.md)。 -出于安全原因考虑,脚本编辑功能会拒绝来自互联网的请求,这可以在 Token 泄漏的情况下保护您的设备。 +## 为何无法编辑自定义脚本?什么是“只读模式”? -如果您出于一定原因一定要在互联网编辑脚本,并理解 **Token 泄漏后黑客可以在你的设备上执行任何代码**,你可以在启动时添加以下`flag`: +出于安全考虑,脚本编辑功能拒绝来自互联网的请求,以防 Token 泄漏导致设备受损。若确需在互联网上编辑脚本,并理解相关风险(Token 泄漏后黑客可执行任意代码),可在启动时添加以下标志: ``` java -Dpbh.please-disable-safe-network-environment-check-i-know-this-is-very-dangerous-and-i-may-lose-my-data-and-hacker-may-attack-me-via-this-endpoint-and-steal-my-data-or-destroy-my-computer-i-am-fully-responsible-for-this-action-and-i-will-not-blame-the-developer-for-any-loss ... ``` +**注意**:此操作极具风险,请务必谨慎使用。 \ No newline at end of file diff --git a/docs/intro.md b/docs/intro.md index 5e13ecb..1a9c102 100644 --- a/docs/intro.md +++ b/docs/intro.md @@ -4,31 +4,30 @@ sidebar_position: 1 # 欢迎 -欢迎来到 PeerBanHelper 的文档。本文档将为您详细介绍 PeerBanHelper 从安装到配置的各个步骤和常见问题。 +欢迎莅临 PeerBanHelper 的文档世界。本指南将全面引领您从 PeerBanHelper 的安装到配置,以及解决可能遇到的常见问题。 -## 首次使用? +## 初来乍到? -请选择您的操作系统或者部署方式,查看安装教程: +根据您的操作系统或部署偏好,选择相应的安装教程: -| 系统/平台 | 链接 | +| 系统/平台 | 访问链接 | | ----------------------------- | ---------------------------------- | -| Windows 安装版 | [查看](./setup/Windows/Installer.md) | -| Windows 便携版 | [查看](./setup/Windows/Portable.md) | -| Docker | [查看](./setup/Docker.md) | -| 群晖 DSM(套件) | [查看](./setup/Synology%20DSM/Imnks.md) | -| 群晖 DSM(Container Manager) | [查看](./setup/Synology%20DSM/docker.md) | -| Linux 安装版 | [查看](./setup/Linux/LinuxInstall4j.md) | -| Linux 手动部署 | [查看](./setup/Linux/Manual.md) | -| 包管理器 (Deb) | [查看](./setup/Linux/Deb.md) | +| Windows 安装版 | [点击此处查看](./setup/Windows/Installer.md) | +| Windows 便携版 | [点击此处查看](./setup/Windows/Portable.md) | +| Docker 容器化部署 | [点击此处查看](./setup/Docker.md) | +| 群晖 DSM(套件方式) | [点击此处查看](./setup/Synology%20DSM/Imnks.md) | +| 群晖 DSM(Container Manager) | [点击此处查看](./setup/Synology%20DSM/docker.md) | +| Linux 安装版 | [点击此处查看](./setup/Linux/LinuxInstall4j.md) | +| Linux 手动部署方案 | [点击此处查看](./setup/Linux/Manual.md) | +| Linux 包管理器安装(Deb) | [点击此处查看](./setup/Linux/Deb.md) | +## 遇到问题,寻求援助? -## 遇到困难,需要帮助? +不妨先浏览一下 [常见问题解答](./faq.md),若仍未解决您的问题,欢迎[加入我们的 QQ 群](https://qm.qq.com/cgi-bin/qm/qr?k=w5as_wH2G1ReUrClreCYhR69XiNCuP65&jump_from=webapi&authKey=EyjMX7Pwc77XLM51V6FEcR7oXnG8fsUbSFqYZ4PPiEpq32vBglJn/jFvpc3LFDhn)寻求帮助。 -看看 [常见问题](./faq.md),如果没有帮到你的话,欢迎[加入 QQ 群](https://qm.qq.com/cgi-bin/qm/qr?k=w5as_wH2G1ReUrClreCYhR69XiNCuP65&jump_from=webapi&authKey=EyjMX7Pwc77XLM51V6FEcR7oXnG8fsUbSFqYZ4PPiEpq32vBglJn/jFvpc3LFDhn)。 +## PeerBanHelper:开源共享的力量 -## PeerBanHelper 是一个开源软件 +PeerBanHelper 是一款开源软件,您可以自由传播并免费下载。 -PeerBanHelper 是一个开源软件,您可以自由的传播和免费下载 PeerBanHelper。 - -不过,PeerBanHelper 的少数几个功能可能需要您输入许可证。您可以在[爱发电](https://afdian.com/a/Ghost_chu)发电获取,或者找一位朋友借用 Ta 的许可证(别担心,你完全可以这么干😎)。 -所有的许可证收入都将用于维护 PBH-BTN 的基础设施以及奖励我们辛勤的社区维护者们。 +但请注意,PeerBanHelper 的部分高级功能可能需要您输入许可证。您可以通过[爱发电平台](https://afdian.com/a/Ghost_chu)赞助获取许可证,或者向已拥有许可证的朋友借用(不用担心,这是被允许的,您完全可以这么做😎)。 +所有许可证收入将用于维护 PBH-BTN 的基础设施,并奖励我们辛勤付出的社区维护者。 \ No newline at end of file diff --git a/docs/misc/json-engine.md b/docs/misc/json-engine.md index 8f24f72..48c82d7 100644 --- a/docs/misc/json-engine.md +++ b/docs/misc/json-engine.md @@ -104,4 +104,4 @@ PBH 的 JSON 规则引擎允许您进行 if 嵌套。正如之前所说,每个 - '{"method": "CONTAINS", "content": "qbittorrent", "hit": "FALSE"}' ``` -这样就达到了白名单的效果。(请注意:这是个示例,实践中不要使用白名单功能,因为恶意 Peer 会伪装自己) +这样就达到了白名单的效果。(请注意:这是个示例,生产环境中不要使用白名单功能,因为恶意 Peer 会伪装自己) diff --git a/docs/module/active-monitoring.md b/docs/module/active-monitoring.md index 120e859..80c8d38 100644 --- a/docs/module/active-monitoring.md +++ b/docs/module/active-monitoring.md @@ -1,10 +1,10 @@ # 主动监测 -一些 PBH 提供的统计功能需要此模块开启。 -启用主动监测后,PBH 会将每次扫描下载器获取的所有 Peers 数据全部存入/更新到数据库中,以提供可视化统计数据和流量告警服务。 - -不建议 EMMC 芯片和 SD 卡用户启用此功能。除了会影响性能,还可能加快闪存芯片磨损。 - +一些 PBH 提供的统计功能需要此模块开启。 +启用主动监测后,PBH 会将每次扫描下载器获取的所有 Peers 数据全部存入/更新到数据库中,以提供可视化统计数据和流量告警服务。 +:::warning +不建议 EMMC 芯片和 SD 卡用户启用此功能。除了会影响性能,还可能加快闪存芯片磨损。 +::: Transmission, BitComet 用户因 API 限制可能缺失部分数据。 ## 需要此功能支持的功能 diff --git a/docs/module/auto-range-ban.md b/docs/module/auto-range-ban.md index 03a50c7..01c48b1 100644 --- a/docs/module/auto-range-ban.md +++ b/docs/module/auto-range-ban.md @@ -1,6 +1,6 @@ # 自动范围封禁 -由于[进度检查器](./progress-cheat-blocker.md)的滞后性,用户封禁对应 IP 时已经被吸血了一部分流量。此功能的设计是为了帮助用户及时止损。 +由于[进度检查器](./progress-cheat-blocker.md)的滞后性,用户封禁对应 IP 时已经被吸血了一部分流量。此功能的设计是为了帮助用户及时止损。 当一个 IP 被封禁时,ARB 会扫描所有连接的 Peers。如果有任何 Peer 的 IP 地址和已封禁的任意 IP 地址处于同一子网内,则该 Peer 会被连锁封禁。 ## 配置文件 diff --git a/docs/module/client-name.md b/docs/module/client-name.md index b1c6ddd..89d1ee0 100644 --- a/docs/module/client-name.md +++ b/docs/module/client-name.md @@ -1,8 +1,9 @@ # ClientName 过滤器 ClientName 过滤器会使用由 Peer 主动汇报的 ClientName(有时也称为 “客户端名称” 或者 “UserAgent”)来检测。对于内置 PeerID 过滤器的客户端(例如 qBittorrent Enhanced Edition),建议优先使用其内置的 ClientName 过滤功能。 -注意 ClientName 是由 Peer 主动汇报的(可以被随意修改),因此不能作为判定对方客户端的依据。 - +:::warning +ClientName 是由 Peer 主动汇报的(可以被随意修改),因此不能作为判定对方客户端的依据。 +::: ClientName 是 BitTorrent 的一个[扩展协议](https://www.bittorrent.org/beps/bep_0010.html),因此一个 Peer 可以没有 ClientName。对于这种情况,PeerBanHelper 会显示为 `N/A`。 ## 配置文件 diff --git a/docs/module/ip-address-blocker-rules.md b/docs/module/ip-address-blocker-rules.md index 7282013..1875203 100644 --- a/docs/module/ip-address-blocker-rules.md +++ b/docs/module/ip-address-blocker-rules.md @@ -2,9 +2,9 @@ PeerBanHelper 的重要模块之一,默认订阅来自 [PBH-BTN/BTN-Collected-Rules](https://github.com/PBH-BTN/BTN-Collected-Rules) 的规则。 当有规则内的 IP 连接下载器时,PeerBanHelper 会立刻封禁它。 - +:::tip 不建议通过配置文件配置此功能,您可以直接使用 WebUI 的可视化编辑。 - +::: ## 制作规则 PeerBanHelper 可以加载由以下内容组成的 IP 规则集: diff --git a/docs/module/ip-address-blocker.md b/docs/module/ip-address-blocker.md index 307532e..4995826 100644 --- a/docs/module/ip-address-blocker.md +++ b/docs/module/ip-address-blocker.md @@ -1,9 +1,9 @@ # IP 封禁 由于 PeerBanHelper 通过操作下载器的 IP 黑名单实现 Peer 封禁,因此毫无疑问,您的 IP 黑名单绝对会被 PeerBanHelper 覆盖掉。因此 PeerBanHelper 内置了一个单独的 IP 黑名单功能。 - +:::tip 不建议通过配置文件配置此功能,您可以直接使用 WebUI 的可视化编辑。 - +::: ## IPs IP 黑名单,支持输入一个或多个 IP 地址或者 CIDR 地址。列出的 IP 或者被 CIDR 包含的 IP 将在连接下载器时被封禁。 diff --git a/docs/module/multi-dial.md b/docs/module/multi-dial.md index f94c92a..77c99aa 100644 --- a/docs/module/multi-dial.md +++ b/docs/module/multi-dial.md @@ -1,9 +1,9 @@ # 多拨封禁 -一些吸血者会通过多拨或者运营商内鬼的形式获得大量相同子网的 IP 地址。 -ARB 尽管与此模块拥有几乎完全相同的功能,但只有在出现任意封禁时才会动作。多拨封禁则无需等待封禁,将会主动检测已连接的 Peers。 +一些恶意用户会通过多拨连接等方式获取大量相同子网的IP地址。 +ARB(自动范围封禁)虽然与本模块具备几乎一致的功能,但它仅在检测到封禁条件满足时才会采取行动。相比之下,多拨封禁模块无需等待封禁指令,会主动监测已连接的Peers。 -当同一个子网范围超过指定数量的 IP 同时连接到相同种子时,就会开始子网封禁操作。 +当同一子网范围内的IP数量超过指定阈值,并且这些IP同时连接到同一种子时,系统将启动子网封禁操作。 ## 配置文件 diff --git a/docs/module/peer-id.md b/docs/module/peer-id.md index 1776257..bb178cb 100644 --- a/docs/module/peer-id.md +++ b/docs/module/peer-id.md @@ -1,8 +1,9 @@ # PeerID 过滤器 -PeerID 过滤器会使用由 Peer 主动汇报的 PeerID 来检测。对于内置 PeerID 过滤器的客户端(例如 qBittorrent Enhanced Edition),建议优先使用其内置的 PeerID 过滤功能。 -注意 PeerID 是由 Peer 主动汇报的(可以被随意修改),因此不能作为判定对方客户端的依据。 - +PeerID 过滤器会使用由 Peer 主动汇报的 PeerID 来检测。对于内置 PeerID 过滤器的客户端(例如 qBittorrent Enhanced Edition),建议优先使用其内置的 PeerID 过滤功能。 +:::warning +PeerID 是由 Peer 主动汇报的(可以被随意修改),因此不能作为判定对方客户端的依据。 +::: ## 配置文件 规则使用[JSON规则引擎](../misc/json-engine.md)语法。 diff --git a/docs/network/http-server.md b/docs/network/http-server.md index ff6e50c..98aed74 100644 --- a/docs/network/http-server.md +++ b/docs/network/http-server.md @@ -1,8 +1,8 @@ -# HTTP 服务器 +# HTTP 服务器配置 -PeerBanHelper 内置了 Javalin 作为内置 HTTP 服务器,以提供 WebUI 管理界面,并和部分下载器进行交互。 +PeerBanHelper 集成了 Javalin 作为其内置的 HTTP 服务器,以支持 WebUI 管理界面,并与部分下载器进行交互。 -## 更改 WebUI 端口 +## 修改 WebUI 端口号 ```yaml # Http 服务器设置 @@ -13,7 +13,9 @@ server: http: 9898 ``` -## 关闭公网监听,仅开放本地的 WebUI 和下载器封禁列表提供端点访问 +## 限制 WebUI 监听本地网络 + +为了提升安全性,您可以将 WebUI 的监听地址配置为仅允许本地访问。 ```yaml # Http 服务器设置 @@ -25,12 +27,13 @@ server: address: "0.0.0.0" ``` -## 使用外部 WebUI +将 `address` 设置为 `"127.0.0.1"` 可以确保只有本地机器能够访问 WebUI 和下载器封禁列表的端点。 + +## 使用自定义 WebUI -PeerBanHelper 可以从文件系统加载外部 WebUI 文件。 +PeerBanHelper 支持从文件系统加载自定义的 WebUI 文件。 -首先需要在 `data/` 文件夹手动创建一个 `static` 目录,里面放置 WebUI 文件。 -然后在配置文件中手动添加一行隐藏配置,让 PBH 使用外部 WebUI 文件: +您需要在 `data/` 文件夹下手动创建一个名为 `static` 的目录,并将自定义的 WebUI 文件放置在其中。然后,在配置文件中添加相应的设置以启用自定义 WebUI: ```yaml # Http 服务器设置 @@ -41,9 +44,9 @@ server: external-webui: true ``` -## 使用不同域的 WebUI +## 跨域资源共享(CORS)设置 -PeerBanHelper 开启了 CORS 保护,如果使用来自其它位置(非内置 HTTP 服务器提供)的 WebUI,则会被 CORS 拒绝。因此您需要禁用 CORS 保护: +出于安全考虑,PeerBanHelper 默认启用了 CORS 保护。如果您使用非内置 HTTP 服务器提供的 WebUI,则需要禁用 CORS 保护。 ```yaml # Http 服务器设置 @@ -55,12 +58,13 @@ server: allow-cors: false ``` -## 更改 WebUI Token +将 `allow-cors` 设置为 `true` 可以允许跨域访问,但请注意这可能会带来安全风险。 -如果不幸忘记了 WebUI 的 Token 是什么,又或者您想修改下 Token,则可以在配置文件中修改: +## 修改 WebUI 访问令牌 -```yaml +如果您忘记了 WebUI 的访问令牌,或者希望更改令牌,可以在配置文件中进行更新: +```yaml # Http 服务器设置 # Http Server Settings server: @@ -70,17 +74,17 @@ server: token: "" ``` -## 开发自己的 WebUI / WebAPI +## 开发自定义 WebUI/WebAPI -我们鼓励开发者为 PeerBanHelper 编写或改进 WebUI。 +我们鼓励开发者为 PeerBanHelper 创建或改进 WebUI。 -自 v6.0.1 开始,您可以在这里查看完整的 API 文档: +自 v6.0.1 版本起,您可以在以下链接查看完整的 API 文档: [https://peerbanhelper.apifox.cn](https://peerbanhelper.apifox.cn) -请注意:如果 WebAPI 连续鉴权失败 10 次,您的 IP 地址会被防暴力破解系统屏蔽 15 分钟。 +请注意:若 WebAPI 连续鉴权失败达到 10 次,您的 IP 地址将被防暴力破解系统屏蔽 15 分钟。 -## 配置文件 +## 完整的配置文件示例 ```yaml # Http 服务器设置 diff --git a/docs/network/proxy-server.md b/docs/network/proxy-server.md index 969694d..368de0f 100644 --- a/docs/network/proxy-server.md +++ b/docs/network/proxy-server.md @@ -20,5 +20,4 @@ proxy: port: 7890 # 代理例外地址,使用 | 分隔不同条目 - Exception list, spilt with | symbol non-proxy-hosts: "localhost|127.*|192.168.*|10.*|172.16.*|172.17.*|172.18.*|172.19.*|172.20.*|172.21.*|172.22.*|172.23.*|172.24.*|172.25.*|172.26.*|172.27.*|172.28.*|172.29.*|172.30.*|172.31.*|*.local|*.lan" - ``` \ No newline at end of file diff --git a/docs/platform/Windows.md b/docs/platform/Windows.md index 3f3080b..3d5ce78 100644 --- a/docs/platform/Windows.md +++ b/docs/platform/Windows.md @@ -1,15 +1,14 @@ -# Windows +# Windows 系统设置 -## EcoQoS 节流 (Windows 11 22H2+) +## EcoQoS 节能优化(适用于 Windows 11 22H2 及更高版本) -在 Windows 22H2 或更高版本的 Windows 11 中,如果系统 BIOS 和 CPU 支持,则 PeerBanHelper 会启用 [EcoQoS](https://devblogs.microsoft.com/performance-diagnostics/introducing-ecoqos/) 省电优化。 -缓解 PBH 在每次检测时突发计算量引发的 CPU 睿频造成的瞬时电量消耗,并降低自身优先级,将更多系统资源让给其他程序。 +在 Windows 11 的 22H2 版本或更高版本中,如果系统 BIOS 和 CPU 均支持,PeerBanHelper(PBH)将自动启用 [EcoQoS](https://devblogs.microsoft.com/performance-diagnostics/introducing-ecoqos/) 节能功能。此功能旨在缓解 PBH 在执行检测任务时因瞬时计算量增加导致的 CPU 睿频及电量消耗,同时降低 PBH 的运行优先级,以便将更多系统资源分配给其他应用程序。 -当 EcoQoS 成功启用时,PBH 的 GUI 窗口上会显示一个叶子图标: +当 EcoQoS 成功启用时,PBH 的图形用户界面(GUI)窗口将显示一个叶子图标,以作为启用状态的视觉提示: -![EcoQoS](./assets/ecoqos.png) +![EcoQoS 图标](./assets/ecoqos.png) -要关闭系统功能,请编辑 `config.yml` 中的: +若您希望关闭此功能,请编辑 `config.yml` 文件中的以下配置项: ```yaml performance: @@ -17,4 +16,6 @@ performance: # Enable EcoQoS API on Windows Platform for power saving, for exchange, the program performance will reduce and cronjobs may delay # https://devblogs.microsoft.com/performance-diagnostics/introducing-ecoqos/ windows-ecoqos-api: true -``` \ No newline at end of file +``` + +将 `windows-ecoqos-api` 的值从 `true` 更改为 `false`,即可关闭 EcoQoS 节能优化功能。 \ No newline at end of file diff --git a/docs/prefandlang/language.md b/docs/prefandlang/language.md index cd4fc01..3a14e60 100644 --- a/docs/prefandlang/language.md +++ b/docs/prefandlang/language.md @@ -1,42 +1,48 @@ -# 国际化 +# 国际化支持 -PeerBanHelper 默认情况下其 UI 语言会跟随系统语言,而 WebUI 语言则跟随浏览器语言。 +PeerBanHelper 的用户界面(UI)语言默认会随系统语言设置而变化,而其 Web 用户界面(WebUI)的语言则遵循浏览器的语言偏好设置。 -## 更改 UI 语言 +## 调整 UI 语言 -要更改 UI 语言,则可以通过修改配置文件完成: +若需更改 UI 语言,可通过编辑配置文件来实现: ```yaml -# 设置程序语言 -# Set the program language -# default 跟随操作系统 (Follow the operating system) -# en_us English (US) -# zh_cn Chinese Simplified (简体中文) +# 配置程序语言 +# Set the application language +# default:随操作系统语言(Follow the operating system language) +# en_us:美式英语(English (US)) +# zh_cn:简体中文(Chinese Simplified (简体中文)) language: default ``` -在给定的语言不受支持时,将使用 English 进行回退。 -在给定的语言受支持,但缺失文本时,将使用先使用 English 然后再使用 fallback 语言(默认为:简体中文)回退。 +若所选语言不受支持,系统将默认采用英语。若所选语言受支持但部分文本缺失,系统将首先尝试使用英语作为备选语言,若仍不可行,则最终回退到默认语言(简体中文)。 -## 自订语言 +## 自定义语言 -在 `data/lang/overrides` 下存在多个使用语言代码命名的目录。如果没有你需要自订语言的目录,则可以手动创建,PBH 会自动识别它。 -在打开其中的文件后,你大概注意到:整个文件都是空的。这是因为 PBH 使用了一种名为 “覆盖加载” 的加载逻辑。也就是先从 JAR 内部的语言文件加载,然后再使用 overrides 目录中的文件,在内部语言的基础上覆盖文件中有的词条。 +在 `data/lang/overrides` 目录下,您会发现多个以语言代码命名的文件夹。若您希望自定义的语言不在此列,可手动创建对应文件夹,PeerBanHelper 会自动识别。 -这样,当我们更新翻译文件时,使用旧的翻译文件的用户不会出现因缺失词条而导致显示故障的问题。 +打开这些文件夹中的文件时,您可能会发现文件是空的。这是因为 PeerBanHelper 采用了一种称为“覆盖加载”的机制:它首先加载 JAR 包中的语言文件,随后再根据 `overrides` 目录中的文件对已有词条进行覆盖。 -## 使用覆盖语言系统 +此机制确保了即使在翻译文件更新后,使用旧翻译文件的用户也不会因词条缺失而遇到显示问题。 -很简单,就把你需要修改的内容写进去就行,就像这样: +## 应用覆盖语言设置 -源文本: +使用覆盖语言系统非常简单,您只需在覆盖文件中添加或修改所需内容即可。例如: + +原词条: ```yaml IP_BAN_RULE_UPDATE_TYPE_AUTO: "自动更新" ``` -写入覆盖文件的新文本: +在覆盖文件中修改为: ```yaml -IP_BAN_RULE_UPDATE_TYPE_AUTO: "它自己更新" +IP_BAN_RULE_UPDATE_TYPE_AUTO: "自动更新(自定义)" ``` + +或者,完全替换为新的文本: + +```yaml +IP_BAN_RULE_UPDATE_TYPE_AUTO: "它会自动进行更新" +``` \ No newline at end of file diff --git a/docs/prefandlang/logger.md b/docs/prefandlang/logger.md index 1c111b1..f73c05d 100644 --- a/docs/prefandlang/logger.md +++ b/docs/prefandlang/logger.md @@ -1,8 +1,8 @@ -# 日志 +# 日志管理 -## 隐藏完成日志信息 +## 隐藏完成检查日志 -默认情况下,PBH 会在每次 Peers 检查结束的时候打印一行日志。如果你觉得这很烦,可以将它关闭: +PeerBanHelper(PBH)在每次完成 Peers 检查后,默认会输出一条日志信息。若您认为这些日志过于冗余,可以选择将其隐藏: ```yaml # 日志记录器配置 @@ -14,6 +14,6 @@ logger: hide-finish-log: false ``` -## 历史日志 +## 历史日志存储 -PBH 默认会在 `data/logs` 内存储日志文件。其中 `latest.log` 是当天/最后一次运行的最新日志文件。任何过往历史日志文件都会自动打包压缩归档。 \ No newline at end of file +PBH 默认会在 `data/logs` 目录下存储日志文件。其中,`latest.log` 文件记录了当天或最后一次运行的最新日志内容。为了节省存储空间并便于管理,PBH 会自动将过往的日志文件进行打包压缩归档。 \ No newline at end of file diff --git a/docs/setup/Docker.md b/docs/setup/Docker.md index e4fa823..f5308d7 100644 --- a/docs/setup/Docker.md +++ b/docs/setup/Docker.md @@ -4,26 +4,25 @@ sidebar_position: 1 # Docker -Docker 部署是 PeerBanHelper 推荐的部署方式。使用 PBH 提供的示例配置文件和 CLI 命令,PBH 将能够跟随系统自动启动,并在后台运行(除非手动停止)。 +Docker 是 PeerBanHelper(简称 PBH)推荐的部署方式。借助 PBH 提供的示例配置文件和命令行指令,PBH 能够随系统自动启动并在后台稳定运行(除非手动停止)。 ## 获取版本标签 -首先访问 [PBH最新版版本发布页](https://github.com/PBH-BTN/PeerBanHelper/releases/latest),向下滚动,找到如图所示的 “Docker 用户” 章节,并复制镜像标签备用。 +首先,访问 [PBH 最新版本发布页面](https://github.com/PBH-BTN/PeerBanHelper/releases/latest),在页面下方找到“Docker 用户”部分,并复制相应的镜像标签以备使用。 ![image-tag](./assets/docker-tag.png) -**不要拉取 latest 镜像,由于镜像缓存的问题,你可能会得到一个远古/开发版本,出问题将无法获得支持。** +**注意:避免拉取 `latest` 镜像,因为镜像缓存问题可能导致你获取到一个旧版或开发版,这将无法得到支持。** ## 使用 Docker Compose 部署 -找一个合适的位置创建一个目录作为 PBH 的数据存放位置,并将工作目录切换到此位置。 -保存下面的内容到 docker-compose.yml 文件。 +选择一个合适的位置,创建一个目录用于存放 PBH 的数据,并将工作目录切换至此位置。然后,将以下内容保存为 `docker-compose.yml` 文件: ```yaml version: "3.9" services: peerbanhelper: - image: "镜像标签" + image: "你的镜像标签" restart: unless-stopped container_name: "peerbanhelper" volumes: @@ -36,15 +35,25 @@ services: - TZ=UTC ``` -保存退出,执行命令 `sudo docker-compose up` 即可。WebUI 端口将在 9898 开放。 +保存并退出编辑器,执行命令 `sudo docker-compose up -d` 以启动服务。Web 界面将在 9898 端口开放。 ## 使用 Docker CLI 部署 -找一个合适的位置创建一个目录作为 PBH 的数据存放位置,并将工作目录切换到此位置。 -执行命令: +选择一个合适的位置,创建一个目录用于存放 PBH 的数据,并将工作目录切换至此位置。然后,执行以下命令: ```shell -sudo docker run -d --name peerbanhelper --stop-timeout -p 9898:9898 -v ${PWD}/:/app/data/ 将此段文字替换为你刚刚获取的镜像标签 +-sudo docker run -d --name peerbanhelper --stop-timeout -p 9898:9898 -v ${PWD}/:/app/data/ 你的镜像标签 ++sudo docker run -d \ ++ --name peerbanhelper \ ++ --restart unless-stopped \ ++ -p 9898:9898 \ ++ -v ${PWD}/:/app/data/ \ ++ -e PUID=0 \ ++ -e PGID=0 \ ++ -e TZ=UTC \ ++ 你的镜像标签 ``` - -WebUI 端口将在 9898 开放。 +:::warning +在 `-v` 参数中,`$(pwd)/` 表示当前工作目录,应替换为你希望用作数据目录的路径。同时,将 `你的镜像标签` 替换为你刚刚获取的 Docker 镜像标签。 +::: +如果一切正常,WebUI 的端口将在 9898 端口开放。 \ No newline at end of file diff --git a/docs/setup/FreeBSD.md b/docs/setup/FreeBSD.md index e5b38fc..49ba31e 100644 --- a/docs/setup/FreeBSD.md +++ b/docs/setup/FreeBSD.md @@ -4,15 +4,24 @@ sidebar_position: 2 # FreeBSD -从`v6.4.1`之后,PeerBanHelper 提供 FreeBSD 版本安装包,目前支持`13.4`和`14.1`两个版本。 +自`v6.4.1`版本起,PeerBanHelper(简称 PBH)提供了针对 FreeBSD 的安装包,目前支持 `13.4` 和 `14.1` 这两个系统版本。 -请前往[发布](https://github.com/PBH-BTN/PeerBanHelper/releases/latest)页面找到你对应版本的 FreeBSD 安装包,复制链接,输入以下命令下载: +请访问[最新版本发布页面](https://github.com/PBH-BTN/PeerBanHelper/releases/latest),找到与你 FreeBSD 版本相对应的安装包链接,并复制。然后,在终端中输入以下命令以下载安装包: +```shell +fetch <你复制的安装包链接> ``` + +例如: + +```shell fetch https://github.com/PBH-BTN/PeerBanHelper/releases/download/v6.4.2/peerbanhelper-v*.*.*-FreeBSD-*.*-RELEASE.pkg ``` +请将上述命令中的 `<你复制的安装包链接>` 替换为实际的安装包 URL。 + ## 安装依赖 + 使用 `pkg` 工具安装 OpenJDK 21 或更高版本: ```shell @@ -25,24 +34,45 @@ sudo pkg install openjdk21 java -version ``` -如果安装成功,则会输出类似下列的版本号: +如果安装成功,终端将输出类似以下的版本号信息: ```plain -OpenJDK Runtime Environment (build 21.0.3+9-1) -OpenJDK 64-Bit Server VM (build 21.0.3+9-1, mixed mode, sharing) +OpenJDK Runtime Environment (build 21.0.x+y-z) +OpenJDK 64-Bit Server VM (build 21.0.x+y-z, mixed mode, sharing) ``` -## 安装 +请注意,上述输出中的 `x`, `y`, `z` 为版本号的具体数字,可能与你实际安装的版本有所不同。 + +## 安装 PBH + +在终端中执行以下命令以安装 PBH: + ```shell -pkg add -f peerbanhelper-v*.*.*-FreeBSD-*.*-RELEASE.pkg # -f 表示强制更新安装 +sudo pkg add -f <你下载的安装包文件名> ``` -## 运行 +例如: + ```shell -service peerbanhelper onestart +sudo pkg add -f peerbanhelper-v*.*.*-FreeBSD-*.*-RELEASE.pkg ``` -## 开机启动 +请将 `<你下载的安装包文件名>` 替换为你实际下载的安装包文件名。`-f` 参数表示强制更新或安装该软件包。 + +## 运行 PBH + +在终端中执行以下命令以启动 PBH 服务: + ```shell -sysrc peerbanhelper_enable=YES +sudo service peerbanhelper onestart ``` + +## 设置开机启动 + +为了确保 PBH 在系统启动时自动运行,请执行以下命令: + +```shell +sudo sysrc peerbanhelper_enable="YES" +``` + +这样,PBH 将在每次系统启动时自动运行。 \ No newline at end of file diff --git a/docs/setup/Linux/Deb.md b/docs/setup/Linux/Deb.md index f44a823..e78a228 100644 --- a/docs/setup/Linux/Deb.md +++ b/docs/setup/Linux/Deb.md @@ -2,48 +2,59 @@ sidebar_position: 1 --- -# Debian/Ubuntu/Kali Linux +# Debian/Ubuntu/Kali Linux 系统部署 ->适用于Debian/Ubuntu/Kali Linux等发行版 +>本指南适用于Debian、Ubuntu以及Kali Linux等基于Debian的Linux发行版。 -## 安装依赖 +## 安装所需依赖 -使用`apt`安装 OpenJDK 21 或更高版本: +为了运行 PeerBanHelper,您需要先安装 OpenJDK 21 或更高版本的 Java 开发工具包(JDK)。使用 `apt` 包管理器,您可以轻松地完成安装。 + +执行以下命令以更新包列表并安装 OpenJDK 21(请注意,版本号可能会随着新版本的发布而有所变化,这里以21为例): ```shell sudo apt-get update sudo apt-get install openjdk-21-jdk-headless -y ``` -验证安装是否成功: +安装完成后,您可以通过运行以下命令来验证 JDK 是否成功安装: ```shell java -version ``` -如果安装成功,则会输出类似下列的版本号: +如果安装成功,终端将显示类似以下的版本号信息,其中“xx.xx.xxx”等表示具体的版本号: ```plain -openjdk version "xx.xx.xxx" 2024-01-16 +OpenJDK version "xx.xx.xxx" xxxx-xx-xx OpenJDK Runtime Environment (build xxxxxxx) OpenJDK 64-Bit Server VM (build xxxxxxx, mixed mode, sharing) ``` -## 下载安装 -访问 [PBH最新版版本发布页](https://github.com/PBH-BTN/PeerBanHelper/releases/latest) 下载 DEB 文件。 +## 下载并安装 PeerBanHelper + +接下来,您需要下载 PeerBanHelper 的 DEB 安装包。请访问 [PBH最新版版本发布页](https://github.com/PBH-BTN/PeerBanHelper/releases/latest) 并下载适用于您系统的 DEB 文件。 -安装 DEB 文件: +下载完成后,使用以下命令安装 DEB 文件(请注意替换文件名中的版本号等信息): ```shell sudo dpkg -i peerbanhelper_*.*.*_all.deb ``` -## 启动 +系统可能会提示您安装一些额外的依赖项,按照提示操作即可。 + +## 启动并配置 PeerBanHelper + +安装完成后,您可以使用以下命令启动 PeerBanHelper 服务: + ```shell systemctl start peerbanhelper ``` -如需后台/开机运行,请运行: +如果您希望 PeerBanHelper 在系统启动时自动运行,可以执行以下命令将其设置为开机启动: + ```shell systemctl enable peerbanhelper ``` + +现在,PeerBanHelper 已经在您的系统上运行,并且会在每次系统启动时自动启动。您可以通过 `systemctl status peerbanhelper` 命令来检查服务的运行状态。 \ No newline at end of file diff --git a/docs/setup/Linux/LinuxInstall4j.md b/docs/setup/Linux/LinuxInstall4j.md index dee4592..25cce52 100644 --- a/docs/setup/Linux/LinuxInstall4j.md +++ b/docs/setup/Linux/LinuxInstall4j.md @@ -4,12 +4,10 @@ sidebar_label: 安装程序(不推荐) --- -# 安装程序 +# 安装指南 :::tip -请注意:这将破坏系统的[FHS](https://zh.wikipedia.org/wiki/%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E5%B1%82%E6%AC%A1%E7%BB%93%E6%9E%84%E6%A0%87%E5%87%86)兼容性,我们更推荐您使用 [Docker部署](../Docker.md) +**重要提示**:请注意,以下安装过程可能会破坏系统的[FHS](https://zh.wikipedia.org/wiki/%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E5%B1%82%E6%AC%A1%E7%BB%93%E6%9E%84%E6%A0%87%E5%87%86)兼容性。为了确保更稳定和兼容的安装,我们强烈推荐您使用 [Docker部署方案](../Docker.md)。 ::: +对于Redhat系列的用户,请访问[Releases页面](https://github.com/PBH-BTN/PeerBanHelper/releases)下载适用于您的系统的`.rpm`软件包。而其他Linux用户,则应该下载以`.sh`结尾的脚本安装程序。 -Redhat 系用户请前往 [Releases](https://github.com/PBH-BTN/PeerBanHelper/releases)下载`.rpm`软件包,对于其他 Linux 用户请 下载以 `.sh` 结尾的安装程序。 - - -默认使用 CLI 安装向导,如果您的 Linux 安装支持桌面环境,将启动图形安装程序,操作与 Windows 版一致。 +在安装过程中,系统将默认使用命令行界面(CLI)安装向导。如果您的Linux系统支持桌面环境,那么安装程序将自动启动图形安装向导,其操作流程与Windows版本相似。 \ No newline at end of file diff --git a/docs/setup/Linux/Manual.md b/docs/setup/Linux/Manual.md index 3ba990d..2f3641d 100644 --- a/docs/setup/Linux/Manual.md +++ b/docs/setup/Linux/Manual.md @@ -3,46 +3,53 @@ sidebar_position: 2 --- -# 手动部署 +# 手动部署指南 + :::tip -请注意:我们更推荐您使用 [Docker部署](../Docker.md)) +虽然以下提供了手动部署的步骤,但我们更推荐使用 [Docker部署方案](../Docker.md) 以确保更稳定和便捷的安装体验。 ::: -## 安装依赖 -使用你的包管理器安装 OpenJDK 21 或更高版本(此处以 apt 为例): +## 安装依赖项 + +首先,您需要使用系统的包管理器来安装 OpenJDK 21 或更高版本的 Java 开发工具包(JDK)。以下示例以 `apt` 包管理器为例: ```shell sudo apt-get update sudo apt-get install openjdk-21-jdk-headless -y ``` -验证安装是否成功: +安装完成后,您可以通过运行以下命令来验证 JDK 是否成功安装: ```shell java -version ``` -如果安装成功,则会输出类似下列的版本号: +如果安装成功,终端将显示类似以下的版本号信息: ```plain -openjdk version "xx.xx.xxx" 2024-01-16 +OpenJDK version "xx.xx.xxx" xxxx-xx-xx OpenJDK Runtime Environment (build xxxxxxx) OpenJDK 64-Bit Server VM (build xxxxxxx, mixed mode, sharing) ``` -## 下载JAR -访问 [PBH最新版版本发布页](https://github.com/PBH-BTN/PeerBanHelper/releases/latest),下载 JAR 文件和 libraries.tar.gz。 +## 下载 JAR 文件及依赖库 + +接下来,您需要访问 [PBH最新版版本发布页](https://github.com/PBH-BTN/PeerBanHelper/releases/latest) 下载最新的 JAR 文件以及 `libraries.tar.gz` 压缩包。 -将解压出来的 libraries 文件夹和 jar 放在一起。 +下载完成后,请解压 `libraries.tar.gz` 压缩包,并将解压得到的 `libraries` 文件夹与 JAR 文件放置在同一目录下。 + +## 启动 PeerBanHelper + +使用以下命令来启动 PeerBanHelper(请将命令中的“替换这段文字为JAR文件的文件名”替换为您实际下载的 JAR 文件的名称): -使用命令来启动 PBH: ```shell -java -jar -Xmx512M -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+ShrinkHeapInSteps -jar 替换这段文字为JAR文件的文件名 +java -Xmx512M -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+ShrinkHeapInSteps -jar 您的JAR文件名.jar ``` -通常情况下,PBH 会自动探测桌面环境,并在支持的情况下启用 GUI,但在部分设备上,GUI 可能会初始化失败。遇到此类情况,请手动禁用 GUI: + +通常情况下,PeerBanHelper 会自动检测桌面环境,并在支持的情况下启用图形用户界面(GUI)。但在某些设备上,GUI 可能无法成功初始化。如果遇到此类情况,您可以通过在命令末尾添加 `nogui` 参数来手动禁用 GUI: ```shell -java -jar -Xmx512M -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+ShrinkHeapInSteps -jar 替换这段文字为JAR文件的文件名 nogui +java -Xmx512M -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+ShrinkHeapInSteps -jar 您的JAR文件名.jar nogui ``` -即可启动 PBH。如需后台/开机运行,请自行[配置 systemd 系统服务](https://github.com/PBH-BTN/PeerBanHelper/issues/179#issuecomment-2198225784)。 +这样即可启动 PeerBanHelper。如果您希望 PeerBanHelper 在后台运行或在系统启动时自动运行,请自行[配置 systemd 系统服务](https://github.com/PBH-BTN/PeerBanHelper/issues/179#issuecomment-2198225784) 以实现这一功能。 \ No newline at end of file diff --git a/docs/setup/Synology DSM/Imnks.md b/docs/setup/Synology DSM/Imnks.md index 26e4606..c8f8ab1 100644 --- a/docs/setup/Synology DSM/Imnks.md +++ b/docs/setup/Synology DSM/Imnks.md @@ -2,46 +2,46 @@ sidebar_position: 5 --- -# 套件方式 +# 使用套件部署 -## 添加矿神 SPK7 源 +## 添加矿神 SPK7 源至套件中心 -PeerBanHelper 与 [imnks.com](https://imnks.com/) 合作,将 PeerBanHelper 以容器套件的方式带到群晖的套件中心,并提供安装和更新服务。 +PeerBanHelper 与 [imnks.com](https://imnks.com/) 携手合作,将 PeerBanHelper 以容器套件的形式引入群晖(Synology)的套件中心,提供便捷的安装与更新服务。 -首先,请跟随[矿神SPK源官方教程](https://imnks.com/1780.html),为您的 DSM 设备启用矿神社区源。 +请遵循[矿神SPK源官方教程](https://imnks.com/1780.html)的指引,为您的 DSM(DiskStation Manager)设备启用矿神社区源。 -## 在套件中心安装 PBH +## 在套件中心安装 PeerBanHelper -在添加矿神社区源后,您可以前往社群选项卡并在搜索框中搜索 “PeerBanHelper”。 +成功添加矿神社区源后,请前往套件中心的“社群”选项卡,并在搜索框中输入“PeerBanHelper”。 ![imnks1](./assets/imnks1.jpg) -找到 PeerBanHelper 后,点击“安装套件”安装。 +找到 PeerBanHelper 套件后,点击“安装”按钮进行安装。 ![imnks2](./assets/imnks2.jpg) -跟随安装向导完成后续配置流程。 +根据安装向导的提示,完成后续的配置流程。 -## 修改 PeerBanHelper 配置 +## 配置 PeerBanHelper -安装完成后,PeerBanHelper 将会自动创建一个名为 `peerbanhelper` 的共享文件夹,你可以在里面管理所有 PBH 的相关文件。您还可以为其切换存储空间,但对共享文件夹本身执行任何除切换存储空间以外的操作可能导致工作异常。 +安装完成后,PeerBanHelper 将自动创建一个名为“peerbanhelper”的共享文件夹,用于存储所有相关的文件和配置。请注意,虽然可以切换该共享文件夹的存储空间,但对其执行除切换存储空间外的其他操作可能会导致工作异常。 ![imnks3](./assets/imnks3.jpg) -如需进入 WebUI 界面,可在主菜单中找到 PBH 的程序图标,点击即可打开 WebUI。 +要访问 PeerBanHelper 的 Web 用户界面(WebUI),请在主菜单中找到 PeerBanHelper 的程序图标,并点击以打开 WebUI。 ![imnks4](./assets/imnks4.jpg) -如需管理容器,可在 Container Manager 中找到 PBH 的项目。 +若需管理容器,请在 Container Manager(容器管理器)中找到 PeerBanHelper 的相关项目。 ![imnks5](./assets/imnks5.jpg) -## 配置下载器 +## 配置下载器连接 -尽管安装的是套件,但本质上(目前)仍然是个 Docker 容器。因此也得按照 Docker 的步骤来配置网络。访问也在同一个 NAS 上的下载器时,需要使用网关地址而非 `127.0.0.1` 或者 `localhost`。网关地址可在 Container Manager -> 网络 -> peerbanhelper_default 中找到。 +尽管 PeerBanHelper 是以套件形式安装的,但其本质上仍是一个 Docker 容器。因此,在配置网络时,需遵循 Docker 的相关步骤。当访问位于同一 NAS 上的下载器时,应使用网关地址,而非 `127.0.0.1` 或 `localhost`。网关地址可在 Container Manager(容器管理器)的“网络”选项卡下的“peerbanhelper_default”网络配置中找到。 ![imnks6](./assets/imnks6.jpg) - +请确保正确配置网络地址,以确保 PeerBanHelper 能够顺利与下载器进行通信。 diff --git a/docs/setup/Synology DSM/docker.md b/docs/setup/Synology DSM/docker.md index 6d4edf4..c3d4905 100644 --- a/docs/setup/Synology DSM/docker.md +++ b/docs/setup/Synology DSM/docker.md @@ -2,69 +2,73 @@ sidebar_position: 6 --- -# Docker方式 +# 使用 Docker 部署 ## 创建数据目录 -首先,为 PBH 创建文件夹,用于存放 PBH 的配置文件。 +首先,为 PeerBanHelper(以下简称 PBH)创建一个文件夹,用于存储其配置文件。 -![step1](./assets/dsm-1.png) +![步骤1](./assets/dsm-1.png) -在 Container Manager 中,选择项目,点击新增按钮,来源选择 “创建 docker-compose.yml”(请务必先选择来源,否则后续操作将覆盖已设置的内容)。 +在 Docker Container Manager 中,选择项目,点击“新增”按钮,并在来源选项中选择“创建 docker-compose.yml”(请注意,务必先选择来源,以避免覆盖已设置的内容)。 -![step2](./assets/dsm-2.png) +![步骤2](./assets/dsm-2.png) -随后,点击 `设置路径` 按钮,配置 Docker Compose 的位置到我们刚刚创建的好的文件夹: +接着,点击“设置路径”按钮,将 Docker Compose 的位置配置为我们刚刚创建的文件夹: -![step3](./assets/dsm-2.png) +![步骤3](./assets/dsm-3.png) -![step4](./assets/dsm-4.png) +![步骤4](./assets/dsm-4.png) -## 获取版本标签 +## 获取镜像标签 -首先访问 [PBH最新版版本发布页](https://github.com/PBH-BTN/PeerBanHelper/releases/latest),找到如图所示的 “Docker 用户” 章节,并复制镜像标签备用。 +首先,访问 [PBH 最新版本发布页](https://github.com/PBH-BTN/PeerBanHelper/releases/latest),在“Docker 用户”章节中找到镜像标签,并复制备用。 -![image-tag](../assets/docker-tag.png) +![镜像标签](../assets/docker-tag.png) -**不要拉取 latest 镜像,你可能会得到一个远古/开发版本,出问题将无法获得支持。** +**注意:避免拉取 `latest` 标签的镜像,因为这可能是一个较旧或开发中的版本,且可能无法获得官方支持。** + +接下来,创建一个 `docker-compose.yml` 文件,并填入以下内容(请根据复制的镜像标签进行替换): ```yaml version: "3.9" services: peerbanhelper: - image: "镜像标签"" + image: "ghcr.io/pbh-btn/peerbanhelper:复制的镜像标签" restart: unless-stopped container_name: "peerbanhelper" volumes: - - ./:/app/data + - ./data:/app/data ports: - "9898:9898" environment: - PUID=0 - PGID=0 - - TZ=UTC + - TZ=Asia/Shanghai # 根据您的时区进行调整 ``` -然后粘贴到编辑框中(图中仅为示例参考) +**注意**:上述示例中的 `./data` 是指 Docker Compose 文件所在目录下的 `data` 文件夹,它将映射到容器内的 `/app/data`。同时,请将 `TZ` 环境变量的值设置为您所在的时区。 + +将上述 YAML 内容粘贴到 Docker Compose 的编辑框中: -![step5](./assets/dsm-5.png) +![步骤5](./assets/dsm-5.png) -如果询问你是否设置网页门户,请**不要启用**: +如果在配置过程中询问是否设置网页门户,请**不要启用**: -![step6](./assets/dsm-6.png) +![步骤6](./assets/dsm-6.png) -一路下一步,启动容器。首次启动完成后,配置文件应该会自动生成,配置好配置文件后再次重启 Docker 容器即可使用。 +继续后续步骤,启动容器。首次启动完成后,配置文件应会自动生成。配置好配置文件后,再次重启 Docker 容器即可使用。 -![step7](./assets/dsm-7.png) +![步骤7](./assets/dsm-7.png) ## 如果无法连接下载器 -### 原因1:使用了 127.0.0.1 +### 原因1:使用了 `127.0.0.1` 或 `localhost` -参见:[常见问题](../../faq.md#127001-或者-localhost-连不上下载器) +请参见:[常见问题](../../faq.md#无法连接到下载器-使用-127001-或-localhost-无效) ### 原因2:PBH 容器未自动加入 Bridge 网络组 -此情况仅在少部分设备上出现,部分设备可能需要手动加入 bridge 网络组: +此情况在少数设备上可能出现。若遇到此问题,可能需要手动将容器加入到 bridge 网络组。具体操作步骤可能因设备而异,但通常可以在 Docker 的网络设置中找到相关选项。 -![step8](./assets/dsm-8.png) +![步骤8(示意性图片,具体操作需根据实际情况)](./assets/dsm-8.png) *(注意:此图仅为示意,实际操作需根据 Docker 的网络配置界面进行调整)* \ No newline at end of file diff --git a/docs/setup/Windows/Installer.md b/docs/setup/Windows/Installer.md index 679ad28..26d1d60 100644 --- a/docs/setup/Windows/Installer.md +++ b/docs/setup/Windows/Installer.md @@ -3,33 +3,35 @@ sidebar_position: 1 --- -# 安装器 +# 使用安装器部署 -## 下载和安装 +## 下载与安装步骤 -打开 [GitHub Releases](https://github.com/PBH-BTN/PeerBanHelper/releases/latest)。你会找到三个以 `.exe` 结尾的安装程序。 +请访问 [GitHub Releases 页面](https://github.com/PBH-BTN/PeerBanHelper/releases/latest) 以获取最新版本的 PeerBanHelper 安装程序。在该页面上,您将看到三个以 `.exe` 结尾的安装文件。 -其中,一种带有 `nojava` 标记,另一种不带。如果你对什么是 Java 不熟悉,请选择**不带**nojava标记的下载。 +其中,一个带有 `nojava` 标识,另一个则没有。若您对 Java 不甚了解,建议选择**未带** `nojava` 标识的版本进行下载。 -然后,你还会注意到还有 `amd64` 和 `aarch64` 的区别: -* 普通用户,请全部统一下载带有 `amd64` 标记的 `.exe` 安装程序。 -* 如果你是不幸购买了高通骁龙 ARM 架构处理器的 Windows 笔记本的倒霉蛋小白鼠用户:请下载带有 `aarch64` 的 `.exe` 安装程序。 +此外,您还会注意到有 `amd64` 和 `aarch64` 两种版本的区别: +- 对于大多数用户,请默认选择带有 `amd64` 标识的 `.exe` 安装程序。 +- 如果您使用的是搭载高通骁龙 ARM 架构处理器的 Windows 笔记本电脑(较为少见),请下载带有 `aarch64` 标识的 `.exe` 安装程序。 -### 开机启动 +### 设置开机自启 -勾选随系统启动时,当您登录到 Windows 桌面,PBH 就会静默启动到系统托盘。 +在安装过程中,若您勾选了“随系统启动”选项,当您登录 Windows 桌面时,PeerBanHelper 将自动启动并静默运行于系统托盘。 -## GUI/GUI Silent/NoGUI +## 运行模式选择 -### GUI +PeerBanHelper 提供了三种运行模式供您选择:GUI、GUI Silent 和 NoGUI。 -顾名思义,以图形窗口启动 PeerBanHelper。会有一个窗口可以查看日志,以及一个可以打开数据文件夹和免登录打开 WebUI 的菜单。 -点击窗口的关闭按钮,就可以最小化到系统托盘图标。 +### GUI 模式 -### GUI Silent +顾名思义,GUI 模式将以图形用户界面启动 PeerBanHelper。该界面提供日志查看功能,以及打开数据文件夹和免登录访问 WebUI 的便捷菜单。 +您可通过点击窗口的关闭按钮,将其最小化至系统托盘图标,并可以双击打开图形用户界面,或右键查看部分信息。 -与 GUI 类似,但启动时不会显示窗口。适合喜欢静默启动的用户。 +### GUI Silent 模式 -### NoGUI +与 GUI 模式相似,但启动时不会显示图形窗口,仅在系统托盘处显示一个图标,并可以双击打开图形用户界面,或右键查看部分信息。此模式适合偏好静默启动的用户。 -以控制台的模式情况,最节约资源。适合硬核用户。 +### NoGUI 模式 + +NoGUI 模式以控制台形式运行,资源占用最低。此模式更适合高级用户或需要最小化资源使用的场景。 \ No newline at end of file diff --git a/docs/setup/Windows/Portable.md b/docs/setup/Windows/Portable.md index 69263a6..71080ae 100644 --- a/docs/setup/Windows/Portable.md +++ b/docs/setup/Windows/Portable.md @@ -1,17 +1,25 @@ --- sidebar_position: 2 --- -# 便携版 -## 下载和安装 +# 使用便携版 -从 [GitHub Releases](https://github.com/PBH-BTN/PeerBanHelper/releases/latest) 下载以 `.zip` 结尾的 Windows Portable 压缩包。 -解压即用。 +## 下载与安装流程 -## 升级 +请访问 [GitHub Releases](https://github.com/PBH-BTN/PeerBanHelper/releases/latest) 页面,下载标注为 Windows Portable 的 `.zip` 格式压缩包。 + +解压该压缩包至您希望存放 PeerBanHelper 的任意目录,解压后即可直接使用。 + +## 升级操作说明 :::warning -你必须重新解压所有的文件,**不可以**覆盖!**必须重新解压所有内容!** +在升级便携版时,**切勿**直接覆盖旧文件,而需要**完整重新解压新版本的所有文件**。 ::: -要升级 Portable 包,首先将 `data` 数据文件夹挪出工作目录到其他位置。删除原来的文件夹并重新解压新版本的 Portable 包,并将 `data` 数据文件夹挪回原来的位置即可。 +升级步骤如下: +1. 首先,将当前的 `data` 文件夹(包含您的配置数据和记录)移动至一个临时位置。 +2. 删除原有的 PeerBanHelper 便携版文件夹及其内容。 +3. 解压新版本的便携版压缩包至原位置或您希望存放的新位置。 +4. 将之前移动的 `data` 文件夹移回至新解压的 PeerBanHelper 文件夹内,以确保您的配置和记录得以保留。 + +完成上述步骤后,您已成功升级至最新版本的 PeerBanHelper 便携版。 \ No newline at end of file diff --git a/docs/setup/macOS/Installer.md b/docs/setup/macOS/Installer.md index 6455de1..d146cef 100644 --- a/docs/setup/macOS/Installer.md +++ b/docs/setup/macOS/Installer.md @@ -2,31 +2,35 @@ sidebar_position: 1 --- -# 安装器 +# 安装指南 -## 下载和安装 +## 下载与安装步骤 -打开 [GitHub Releases](https://github.com/PBH-BTN/PeerBanHelper/releases/latest)。你会找到两个以 `.dmg` 结尾的安装程序。 +请访问 [GitHub Releases 页面](https://github.com/PBH-BTN/PeerBanHelper/releases/latest) 以获取最新版本的 PeerBanHelper 安装程序。在该页面上,您将看到两个以 `.dmg` 结尾的安装文件。 -其中,一种带有 `nojava` 标记,另一种不带。如果你对什么是 Java 不熟悉,请选择**不带**nojava标记的下载。 +其中,一个带有 `nojava` 标识,另一个则没有。若您对 Java 不甚了解,建议选择**未带** `nojava` 标识的版本进行下载。 -双击打开刚刚下载的`.dmg`文件,再双击`PeerBanHelper安装程序.app`,选择打开,进行安装流程。 +1. 双击您刚刚下载的 `.dmg` 文件以打开磁盘映像。 +2. 在磁盘映像中,找到并双击 `PeerBanHelper安装程序.app`。 +3. 系统可能会提示您是否要打开此应用程序,请点击“打开”以继续安装流程。 -### 开机启动 +### 设置开机自启 -勾选随系统启动时,当您登录到 macOS 桌面,PBH 就会静默启动到系统托盘。 +在安装过程中,若您勾选了“随系统启动”选项,当您登录 macOS 桌面时,PeerBanHelper 将自动启动并静默运行在系统托盘(也称为菜单栏)中。 -## GUI/GUI Silent/NoGUI +## 运行模式选择 -### GUI +PeerBanHelper 提供了三种运行模式供您选择:GUI、GUI Silent 和 NoGUI。 -以图形窗口启动 PeerBanHelper。会有一个窗口可以查看日志,以及一个可以打开数据文件夹和免登录打开 WebUI 的菜单。 -点击窗口的关闭按钮,就可以最小化到系统托盘图标。 +### GUI 模式 -### GUI Silent +顾名思义,GUI 模式将以图形用户界面启动 PeerBanHelper。该界面提供日志查看功能,以及打开数据文件夹和免登录访问 WebUI 的便捷菜单。 +您可通过点击窗口的关闭按钮,将其最小化至系统托盘图标,并可以双击打开图形用户界面,或右键查看部分信息。 -以图形窗口启动 PeerBanHelper。但只显示系统托盘图标。 +### GUI Silent 模式 -### NoGUI +与 GUI 模式相似,但启动时不会显示图形窗口,仅在系统托盘处显示一个图标,并可以双击打开图形用户界面,或右键查看部分信息。此模式适合偏好静默启动的用户。 -以控制台的模式情况,最节约资源。 +### NoGUI 模式 + +NoGUI 模式以控制台形式运行,资源占用最低。此模式更适合高级用户或需要最小化资源使用的场景。 \ No newline at end of file diff --git a/docs/setup/macOS/Manual.md b/docs/setup/macOS/Manual.md index 1e73e15..6824794 100644 --- a/docs/setup/macOS/Manual.md +++ b/docs/setup/macOS/Manual.md @@ -2,38 +2,51 @@ sidebar_position: 2 --- -# 手动安装 -## 安装依赖 -使用homebrew安装jdk: +# 手动部署 + +## 安装依赖项 + +为了运行 PeerBanHelper,您需要先安装 Java 开发工具包(JDK)。使用 Homebrew,您可以轻松地安装 Zulu JDK,这是一个开源且广泛使用的 Java 版本。 + +执行以下命令以安装 Zulu JDK: ```shell brew install --cask zulu ``` -验证安装是否成功: +安装完成后,您可以通过运行以下命令来验证 JDK 是否成功安装: ```shell java -version ``` -如果安装成功,则会输出类似下列的版本号: +如果安装成功,终端将显示类似以下的版本号信息: ```plain -openjdk version "23.0.1" 2024-10-15 +OpenJDK version "23.0.1" 2024-10-15 OpenJDK Runtime Environment Zulu23.30+13-CA (build 23.0.1+11) OpenJDK 64-Bit Server VM Zulu23.30+13-CA (build 23.0.1+11, mixed mode, sharing) ``` -## 运行 -访问 Github Release 下载 [JAR 文件](https://github.com/PBH-BTN/PeerBanHelper/releases/latest/download/PeerBanHelper.jar)。 +## 运行 PeerBanHelper + +接下来,您需要下载 PeerBanHelper 的 JAR 文件。请访问 Github Release 页面,并下载最新版本的 [PeerBanHelper.jar](https://github.com/PBH-BTN/PeerBanHelper/releases/latest/download/PeerBanHelper.jar)。 + +下载完成后,您可以使用以下命令启动 PeerBanHelper,该命令将在无图形用户界面(NoGUI)模式下运行: -使用命令启动 PBH: ```shell -java -Djava.awt.headless=true -Xmx512M -Xss512k -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+ShrinkHeapInSteps -jar PeerBanHelper.jar nogui +java -Djava.awt.headless=true -Xmx512M -Xss512k -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+ShrinkHeapInSteps -jar /path/to/PeerBanHelper.jar nogui ``` -## 服务 -创建`~/Library/LaunchAgents/peerbanhelper.plist`文件,并写入: +请注意,您需要将 `/path/to/PeerBanHelper.jar` 替换为您下载的 JAR 文件的实际路径。 + +## 配置为系统服务 + +为了方便管理,您可以将 PeerBanHelper 配置为 macOS 的启动项服务。为此,请按照以下步骤操作: + +1. 在您的主目录下创建或编辑 `~/Library/LaunchAgents/peerbanhelper.plist` 文件。 + +2. 将以下内容复制并粘贴到 `peerbanhelper.plist` 文件中: ```xml @@ -46,13 +59,12 @@ java -Djava.awt.headless=true -Xmx512M -Xss512k -XX:+UseG1GC -XX:+UseStringDedup /usr/bin/java -Djava.awt.headless=true - -jar -Xmx512M - -Xms512k + -Xss512k -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+ShrinkHeapInSteps - PeerBanHelper.jar + /path/to/PeerBanHelper.jar nogui RunAtLoad @@ -65,8 +77,14 @@ java -Djava.awt.headless=true -Xmx512M -Xss512k -XX:+UseG1GC -XX:+UseStringDedup ``` -注意替换`/path/to/PBH`为jar文件的目录,完成后使用以下命令启动: +3. 在上述配置中,请将 `/path/to/PeerBanHelper.jar` 替换为您下载的 JAR 文件的实际路径,并将 `/path/to/PBH` 替换为包含 JAR 文件的目录路径。 + +4. 保存并关闭 `peerbanhelper.plist` 文件。 + +5. 最后,使用以下命令加载并启动 PeerBanHelper 服务: ```shell launchctl load -w ~/Library/LaunchAgents/peerbanhelper.plist -``` \ No newline at end of file +``` + +现在,PeerBanHelper 将在系统启动时自动运行,并且您可以通过 `launchctl` 命令来管理它的运行状态。 \ No newline at end of file