Skip to content

BTN 网络

Ghost_chu edited this page Jul 26, 2024 · 6 revisions

BTN 网络,全称 BitTorrent Threat Network(BT威胁网络),它互联起了各个 PBH 客户端,并通过这些客户端上报的数据,允许在服务器上执行分析并生成在线规则。

Note

为了隐私着想,此功能是关闭状态的,且没有配置默认服务器。您必须手动开启它,并寻找一个可用且可信的服务器填入。

存在的原因

  • 攻击者经常更换自己的 PeerID/ClientName 使得本地基于规则的防御手段时常失效
  • 攻击者通过更换 IP 的方式,欺骗 PBH 和 BT 客户端的反吸血机制

怎么办

仅凭本地单机无法得知两个不同的 IP 背后是否为同一人所为,因此推出 BTN 网络。作为一个可选功能,它通过上报本地种子(匿名)的数据(及其连接的Peers的信息),并存储在数据库中,并综合分析不同 IP 之间的下载关联性。然后生成一份在线规则,发送给您的 PBH。

您将得到的好处

  • 由全体 BTN 网络用户共同贡献的数据汇集而成的一份在线规则
  • 规则的自动更新能力
  • 在出现新的吸血者后,通过 BTN 网络快速接收封禁规则

您将给 BTN 网络提供的内容

  • 当前下载器上的活动的(即有上传和下载活动)的种子的匿名信息,这包括:
    • 种子的唯一识别符(通过 info_hash 加盐并取 SHA256 不可逆哈希生成)
      • 仅用于标识唯一种子,无法通过此信息反向推断种子原本是什么
    • 种子大小
    • 下载器种子下载进度
  • 以及,连接到您的种子上的下载/上传者(Peer)的信息,这包括:
    • Peer 的 IP 地址和端口号
    • PeerID
    • Peer ClientName
    • 下载量
    • 下载速度快照
    • 上传量
    • 上传速度快照
    • Peer 的种子下载进度
    • Peer Flags
  • PBH 当前的封禁列表

我们如何使用这些数据

  • 我们会每隔一段时间对数据库中近期的数据进行统计聚合分析,并整理出规则,更新在 PBH-BTN/BTN-Collected-Rules 上。部分紧急更新的规则还会立刻通过 BTN 服务推送到兼容客户端上
  • 我们还会根据近期的数据和过去的数据,分析恶意 Peers 的变化

隐私安全

请永远记住——只使用您信任的 BTN 实例。

连接到 PeerBanHelper Official BTN

PBH 有一个官方的 BTN 实现,尽管它目前只用于提供规则和收集 Peers 数据。没有更多高级功能。

注册 PBH BTN 并获取 Token

浏览器打开 PBH-BTN,您将会自动跳转到 Github 授权,授权后,账号会自动创建并自动登录。
点击 创建 Token 链接,并填写备注信息,即可创建和获取一对 Id 和 Secret。我们建议为每个 PBH 实例都单独创建一对凭据。

配置 PBH 连接到 BTN 网络

打开 PBH 的 config.yml 文件,找到下面的部分:

# BitTorrent Threat Network 威胁防护网络(测试版)
btn:
  # 启用 BTN 模块
  # 启用后,才可以使用由 BTN 提供的云规则功能
  enabled: false
  # 启用数据提交(匿名)
  # BTN 网络基于所有启用此功能的用户提交的数据,对 Peers 进行可信度验证
  # 通过启用此选项,您也会加入 BTN 网络并提交您的 Torrent 上的活动
  # 以下信息将被发送到 BTN 实例;
  # 您的 Torrent 列表(包括:Torrent 种子摘要的二次不可逆哈希和 Torrent 大小)
  # 连接到您的 Torrent 的所有 Peers (包括:IP地址、端口号、PeerID、UserAgent(ClientName),Peer协议,Peer总下载量,Peer总上传量,Peer瞬时上传速度,Peer瞬时下载速度,Peer下载进度,以及您的下载器名称)
  submit: true
  # 部分 BTN 实例可能要求您登录验证以确认您的身份或下发不同的配置文件。如果是这样的话,您需要在下面输入凭据信息
  # 如果 BTN 实例未要求您登录验证,则通常不需要填写
  app-id: ''
  app-secret: ''
  # 填写实例 URL,您需要自行寻找一个 BTN 实例服务器
  config-url: ''

按照如下修改:

  • enabled 改为 true 启用 BTN 功能
  • submit 根据喜好更改,true 会向 BTN 网络提交 PBH 收集的数据,false 则仅只读接收规则
  • app_id 填写刚刚获取的 AppID
  • app_secret 填写刚刚获取的 AppSecret
  • config-url 请填写 https://btn-prod.ghostchu-services.top/ping/config

保存重启 PBH,如果一切顺利,控制台将打印成功连接到 BTN 服务器的提示。如果连接失败,请考虑为 PBH 配置代理。