V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
AkaGhost
V2EX  ›  分享创造

PeerBanHelper - 封禁吸血刷流作恶的 Peers,现在支持 qBittorrent、Transmission、Deluge 和 BiglyBT 下载器

  •  3
     
  •   AkaGhost · 152 天前 · 1880 次点击
    这是一个创建于 152 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 3 个月前,我在 V2EX 上首次分享了 PeerBanHelper这个小工具,用来和 hp/torrent 、dt/torrent 进行技术对抗。 在这之后越来越多的朋友们加入了 PBH 社区,并贡献了许多关键模块和代码,在此对各位为 PBH 做出贡献的人们说声感谢。

    3 个月的更新迭代,现在新推出了 v4.3 版本,除了简单的过滤器,现在更支持伪装检测等等新功能,变化之大我想值得新开一贴再向各位重新介绍一下。

    新增支持的下载器

    在各位朋友的支持下,我们新扩展了两款下载器的支持,分别是:

    只需要分别安装为上述两款 BT 下载器安装扩展插件(Deluge|BiglyBT),就可以连接到 PeerBanHelper 了。

    对于还不支持的下载器,可以先使用收集的 IP 规则库,降低影响。

    多拨检测

    感谢 Github 用户 @CharlesChou73 的出色贡献。PeerBanHelper 新版本现在还支持多拨检测,能够有效检测同一 IP 段下的大量异常用户并封禁它们,例如下图这样的:

    multi-dial

    连锁封禁

    在新的版本里,当特定网段内有 Peers 触发规则被封禁时,它也会连锁封禁同网段下其它的 Peers ,即使它们没有触发多拨检测。

    新的 AviatorScript 脚本引擎

    新版本中全新添加了 AviatorScript 脚本引擎 以允许 PBH 的用户进行编程,编写自定义的脚本,改变 PBH 的行为。

    并由其拓展了两个基于 AviatorScript 的新功能:

    PeerID / ClientName 伪装检测

    PeerID/ClientName 伪装检测可以检测 PeerID 和 ClientName 不对应的客户端,例如 PeerID 是 -TR2770-,但 ClientName 却标注为 qBittorrent/4.2.5 的客户端。

    吸血雷判断

    根据特征判断迅雷是否是吸血变种,在 PeerID 和 ClientName 过滤器禁用迅雷检查后,AviatorScript 迅雷检测脚本就可以开始工作,通过 吸血雷快查表 判断迅雷是否是吸血变种,并只封禁吸血的变种。

    新的 WebUI

    @Gaojianli, @XiaoXice 和 @Kaffu-Chino 三位朋友的加入后,PeerBanHelper 的 WebUI 相比上次发帖的版本也获得了质的飞跃。

    除了现在支持通过 WebUI 添加、编辑、删除下载器外,还新增了封禁日志,规则订阅等多个模块。

    下载器 封禁名单 封禁日志 规则订阅
    1 2 3 4

    Windows 安装程序

    之前有朋友提出过建议,在 Windows 上部署困难,现在 PeerBanHelper 也提供了 Windows 的安装程序。和其它的软件一样,双击运行一路下一步就可以安装上了 ;)

    对于 Linux 包管理器和 MacOS 的安装包目前还在研究 install4j 中。这些系统的小伙伴还是要手动装一下 JRE 或者使用 Docker 镜像。

    社区其它内容

    在上次发帖后,PBH 社区也迎来不少 BT 爱好者小伙伴,我们一起建设了一个仓库存放一些可能有用的东西,比如:

    获取 PeerBanHelper

    https://github.com/PBH-BTN/PeerBanHelper

    注:gitcode.com 上面的仓库不是我们传的 :(

    最后聊聊别的

    最初编写这款工具的时候,仅仅用于临时目的,并希望这种行为能够随着时间逐渐消失。然而现实是,随着时间推移,这种刷流量的方法似乎正在传播的越来越广。
    从最初的 hp/torrent, dt/torrent ,开始出现各种变种。从使用自己的 ClietName 变成开始冒充其它合法下载器(例如:qBittorrent 、Transmission 、BitComet 等)。这种情况也从热门种子蔓延到了陈年老种。现在甚至自己新搓的种子,不在任何地方发布,都会被顺着 Tracker, DHT 爬过来吸血。

    在这种情况泛滥后,看到不少朋友决定停止做种/屏蔽整个中国 IP 地址。破坏者为了满足一己私欲,正在波及和摧毁整个国内的 BT 生态(特别是在 IPV6 普及后,难得有所好转之时)。

    希望 PeerBanHelper 能够帮助到那些仍然愿意把互联网精神继续坚持下去的朋友们。不求回报,帮到就好 ;)

    感谢

    感谢这些朋友们,为 PBH 贡献代码,或者参与公共资源编写(排名不分先后):

    8 条回复    2024-07-02 13:44:13 +08:00
    povsister
        1
    povsister  
       152 天前
    感觉不错,已 star
    linlord
        2
    linlord  
       152 天前 via Android
    支持✊
    Track13
        3
    Track13  
       149 天前
    真的只有我看不懂这个怎么用吗? readme 写详细点吧。
    AkaGhost
        4
    AkaGhost  
    OP
       149 天前
    @Track13 详细的内容在 wiki 里,大致如下:

    1. 首先确定一下,部署方式( Docker 、Windows ):
    1.1 如果你用 Windows 的话,只需要去 [releases]( https://github.com/PBH-BTN/PeerBanHelper/releases) 里下载最新的 exe 安装程序一路下一步就好了
    1.2 如果是 Docker ,则需要根据 Wiki 步骤,拉取镜像,挂载一下 data 目录即可

    2. PBH 运行起来后,在 config.yml 中找到自动生成的 Token (可参见 wiki:如何重置 Token 章节)。
    2.1 如果你是 Windows 的话,只需要点击窗口菜单的 “程序->打开数据文件存储位置...” 就能找到 config.yml 了
    2.2 如果你是 Docker 的话,config.yml 就生成在你挂载的 data 目录底下

    3. 添加下载器,这一步很简单,拿着你找到的 Token ,访问 http://127.0.0.1:9898 ,输入 Token 就能登录到 PBH 的网页管理页面。点击添加下载器按钮,选择你要用的下载器即可。
    3.1 选择的如果是 qBittorrent 或者 Transmission ,在对话框中填写下载器的 WebUI 地址、用户名和密码即可
    3.2 选择的如果是 Deluge 或者 BiglyBT ,则需要根据 README 安装插件,会有专门的分步骤详细教程。
    Track13
        6
    Track13  
       149 天前   ❤️ 1
    @AkaGhost 我自己摸索出来了,不过对于不常用 bt 下载器的人来说,看见那个连接界面是很难想到 ip 和账号密码是 webui 的。
    AkaGhost
        7
    AkaGhost  
    OP
       149 天前 via Android
    @Track13 晚些我看看能不能优化一下这部分提示,有问题欢迎随时打开 Issue
    yujiang
        8
    yujiang  
       148 天前   ❤️ 1
    从 2.x 一路用过来,好使的很,挂上去就不用管了😂
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1021 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 20:17 · PVG 04:17 · LAX 12:17 · JFK 15:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.