菜单

架构与工作流程

相关源文件

本文档提供了ngosang/trackerslist系统架构和数据工作流程的技术概述。它涵盖了核心组件、数据处理管道以及支持BitTorrent Tracker列表自动生成和维护的交互。有关更新机制和计划的具体信息,请参阅更新机制,有关黑名单过滤过程的详细信息,请参阅黑名单和过滤

系统概览

ngosang/trackerslist系统旨在自动收集、测试、过滤和分类公共BitTorrent Tracker,并以各种格式提供这些Tracker,以优化BitTorrent客户端的性能。

来源:README.md27-32

核心组件

该系统由几个关键组件组成,它们协同工作以维护Tracker列表

1. 自动化机器人

负责从发现到发布的整个工作流程的中心组件。该机器人

  • 发现并收集公共BitTorrent Tracker
  • 通过GitHub Issues处理用户提交的Tracker
  • 运行定期测试以验证Tracker的可用性
  • 启动过滤、排序和分类过程

2. 过滤机制

负责消除重复和不需要的Tracker

  • 移除具有相同域名或IP地址的Tracker
  • 应用blacklist.txt文件中的排除规则
  • 拒绝已知存在问题或恶意软件的Tracker

3. Tracker测试

测试每个Tracker的响应能力和可用性

  • 验证Tracker是否响应Announce请求
  • 测量延迟和连接稳定性
  • 确定Tracker是否正常运行

4. 排序算法

根据性能指标对Tracker进行排序

  • 按受欢迎程度(Peer响应量)对Tracker进行排序
  • 考虑延迟测量
  • 按从最佳到最差的性能排序

5. 协议分类器

按通信协议对Tracker进行分类

  • 识别UDP、HTTP、HTTPS、WebSocket和I2P Tracker
  • 将Tracker分离到特定协议的列表中
  • 处理特殊协议注意事项(例如,WebTorrent支持、I2P要求)

6. 域名-IP转换器

为有DNS问题的用户创建基于IP的Tracker列表

  • 将域名解析为IP地址
  • 移除Cloudflare IP(这可能导致基于IP的列表变短)
  • 生成独立的基于IP的Tracker列表

来源:README.md26-32 blacklist.txt1-323

数据流过程

该系统遵循定义的流程来处理和维护Tracker列表

来源:README.md27-32 trackers_all.txt1-236

输出结构

该系统生成几种类型的Tracker列表,每种都有特定的用途

列表类型文件描述大致数量
最佳 Trackertrackers_best.txt最可靠的 tracker20
所有 Trackertrackers_all.txt综合列表~118
UDP Trackertrackers_all_udp.txtUDP 协议 tracker~50
HTTP Trackertrackers_all_http.txtHTTP 协议 tracker~54
HTTPS Trackertrackers_all_https.txtHTTPS 协议 tracker~14
WebSocket Trackertrackers_all_ws.txtWebSocket协议Tracker~6
I2P Trackertrackers_all_i2p.txtI2P 网络 tracker~6
基于IP(最佳)trackers_best_ip.txt最佳Tracker的IP地址20
基于IP(所有)trackers_all_ip.txt所有Tracker的IP地址~77

每个列表都以每行一个Tracker URL的格式显示,条目之间有空行。这种格式便于与各种BitTorrent客户端和第三方工具集成。

来源:README.md12-24 trackers_all.txt1-236 trackers_all_ip.txt1-155

文件格式和结构

所有Tracker列表都遵循一致的格式,以确保与BitTorrent客户端的兼容性

protocol://hostname:port/announce
<blank line>
protocol://hostname:port/announce
<blank line>
...

对于基于IP的列表,格式类似,但使用IP地址而不是域名

protocol://ip-address:port/announce
<blank line>
protocol://ip-address:port/announce
<blank line>
...

Tracker之间的空行很重要,因为它们可以帮助某些BitTorrent客户端在一次添加多个Tracker时正确解析列表。

来源:trackers_all.txt1-236 trackers_all_ip.txt1-155

分发架构

该系统通过多种分发渠道提供Tracker列表,以确保高可用性

来源:README.md14-24

BitTorrent协议集成

Tracker列表旨在与BitTorrent通信协议无缝集成

Tracker列表使BitTorrent客户端能够

  1. 更有效地跨多个Tracker发现Peer
  2. 为每种Tracker类型使用适当的协议处理程序
  3. 如果主要Tracker无法访问,则回退到备用Tracker
  4. 通过优先处理更快的Tracker来优化连接性能

来源:README.md30-31 trackers_all.txt1-236

黑名单管理

blacklist.txt文件通过提供过滤规则在系统的架构中发挥着至关重要的作用

黑名单包含条目的原因有以下几点:

  • 安全隐患(经杀毒软件检测)
  • 重复的Tracker(相同的域名或IP地址)
  • 运行不正常的Tracker(持续报错)
  • 需要注册的Tracker(非公开)
  • 其他问题(根据管理员要求等)

每个黑名单条目都包含一个注释,解释排除的原因。

来源:blacklist.txt1-323 README.md28

系统功能摘要

ngosang/trackerslist系统提供了用于维护和分发公共BitTorrent Tracker列表的一整套功能

功能描述
自动更新每日检查和更新所有Tracker列表
协议支持涵盖UDP、HTTP、HTTPS、WebSocket和I2P Tracker
质量过滤提供“最佳”列表,包含最可靠的Tracker
DNS独立性为有DNS解析问题的用户提供基于IP的列表
多渠道分发可通过GitHub Raw、GitHub Pages和jsDelivr CDN访问
重复项预防移除具有相同域名或IP的Tracker
性能优化按受欢迎程度和延迟对Tracker进行排序
社区贡献通过GitHub Issues接受用户提交

这种架构通过提供可靠、分类清晰且定期更新的Tracker列表,使BitTorrent用户能够优化其下载速度和Peer发现。

来源:README.md1-57