Torrust-Actix 跟踪器
项目描述
Torrust-Actix Tracker 是一款使用 Rust 制作的轻量级但极其强大且功能丰富的 BitTorrent Tracker。
目前,它在 https://www.gbitt.info/ 上得到积极使用。
该项目源自最初由 Mick van Dijke 开发的 Torrust-Tracker 代码,由 Power2All 进一步开发,作为 OpenTracker 和 GitHub 上提供的其他跟踪器代码的替代方案。
特征
实施的 BEP
- BEP 3:BitTorrent 协议
- BEP 7:IPv6 支持
- BEP 15:BitTorrent 的 UDP 跟踪协议
- BEP 23:跟踪器返回紧凑的对等点列表
- BEP 41:UDP 跟踪器协议扩展
- BEP 48:跟踪器协议扩展:Scrape
入门
您可以从版本中获取最新的二进制文件或按照下面的从头开始安装说明进行操作。
从头开始安装
- 克隆存储库:
git clone https://github.com/Power2All/torrust-actix.git
cd torrust-actix
- 使用 Rust 构建源代码(确保您已经安装了带有 stable 分支的 rustup)
使用构建脚本
用法
使用--help
参数运行代码以在您的环境中使用:
./target/release/torrust-actix --help
在运行服务器之前,您需要关闭持久性,并在启用后确保数据库已创建并正常工作。请参阅上面的帮助参数,了解如何根据需要修复您的设置。
引入了 Swagger UI,当在配置中启用时,可以通过/swagger-ui/
通过 API 进行访问。
引入了 Sentry.io 支持,您可以在配置和将数据推送到的 URL 中启用它。
变更日志
v4.0.4
v4.0.3
- 修复公告和抓取路径,因为这是错误的方式。
- 修复各种较小的错误,这些错误不会破坏应用程序,但应该得到更好的处理。
- 添加了对 Sentry.io SaaS 和自托管设置的支持。
- v4.1.0 版本的准备工作,将引入对中间件的 LUA 支持。
v4.0.2
- 添加了系统将从数据库中删除数据的选项。
- 添加了白/黑名单和密钥表的更新变量。
- 重命名“数据库”命名,应为“表”。
- 我偶然发现了很多修复和错误。
v4.0.0
- 完全重建了跟踪器代码,以提高可读性。
- 移至 Actix v4,因此该软件的版本也为 v4.0.0。
- 按照创建配置文件的方式重建和重新制作(您需要将命令作为其参数)。
- 重做了整个数据库系统,并使用目前可用的最新版本进行了测试。
- API经过了大量的工作和测试。
- 引入了 Swagger UI 作为测试和文档。
- 速度和性能方面的许多改进进一步得到应用。
- 添加了导入和导出功能,将从 JSON 文件转储或导入,方便从现有数据库进行备份或迁移到其他数据库引擎时。
- 删除了 WebGUI,它已经过时并且没有真正的用处。
v3.2.2
- 显着提高了库版本,包括安全补丁。
- 修复了库中的更改以正常工作。
- 调整非持久性代码以使用更少的内存。
v3.2.1
- 碰撞库版本,包括安全补丁。
- 修复了 PostgreSQL 处理程序中的错误。
- 有些人忘记了从 Torrust-Axum 到 Torrust-Actix 的命名。
v3.2.0
- 碰撞库版本。
- 修改了通过线程完成调度的方式,它可以锁定并减慢活动频繁的公共跟踪器。
- 调整 SQLite3 数据库使用情况和数据库空间消耗。
- 对种子和同级在内存中的使用方式进行全面检查。使用 Crossbeam SkipMap 进行线程安全的非锁定内存共享。
- 对编码性能、可读性和文件检查进行了一些改进。
- 将 Tokio Axum Web 框架替换为 Actix,原因:缺少诸如连接超时、断开连接、读取和写入等关键功能,并且支持乏善可陈。
- 将 github 存储库从 torrust-axum 重命名为 torrust-actix。
- 使用额外的密钥添加用户跟踪支持。
v3.1.2
- 碰撞库版本。
- 添加了行为准则文件,因为一些开源项目需要此文件。
- 为 API 和 WebGUI 添加了维护切换功能。
- 当配置文件不存在或包含无效数据时,不会生成配置文件,除非使用“--create-config”参数强制。
- 修复了各种小错误。
v3.1.1
- 碰撞库版本。
- SQLite3、MySQL 和 PostgreSQL 数据库现在可以与所有表正常工作,并且如果启用则将使用。
- UDP 在 IPv4 中存在问题,修复了正确解析字节数组的代码。
- 清理和重构一些冗余代码。
- 在需要时添加一些小检查以防止错误。
v3.1.0
- 白名单系统:您可以启用此功能以仅允许使用您在数据库中指定的 torrent 哈希值,或通过 API 添加它们。
- 黑名单系统:您可以启用此功能以禁止使用您在数据库中指定的 torrent 哈希值,或通过 API 添加它们。
- 密钥系统:您可以启用此功能,仅在给出激活的“密钥”哈希(与 info_hash 相同,20 个字节或 40 个十六进制字符)时允许跟踪。超时为零“0”的键将是永久的,不会被清理清除。
- WebGUI:API 有一个可用的 Web 界面,可以通过 https://your.api:8080/webgui/ 访问并提供正确的 API 密钥(您可以在配置文件中配置该密钥)。
- 可以在配置文件中给出可定制的数据库结构。
- 该系统现在也可通过 Docker Hub 使用:https://hub.docker.com/r/power2all/torrust-axum
v3.0.1
- 错误修正
- 添加了 SQLite3 支持
- 添加了 MySQL 支持
- 添加了 PostgresSQL 支持
v3.0.0
Torrust-Axum 的初始版本。
制作人员
这款 Torrust-Tracker 是 Nautilus Cyberneering GmbH、Dutch Bits 和 Power2All 的共同成果。还要感谢 Naim A. 和Greatest-ape 提供了 Torrust-Tracker 代码中的某些部分。该项目 (Torrust-Actix) 是由 Power2All 从头开始构建的。