5 个版本
3.0.0-alpha.11 | 2023 年 9 月 18 日 |
---|---|
3.0.0-alpha.10 | 2023 年 9 月 16 日 |
3.0.0-alpha.3 | 2023 年 7 月 10 日 |
3.0.0-alpha.2 | 2023 年 4 月 13 日 |
3.0.0-alpha.1 |
|
#3 in #tracker
37 每月下载量
730KB
10K SLoC
Torrust Tracker
Torrust Tracker,是一个用 BitTorrent Tracker(一种使对等方匹配并收集统计信息的服务)编写的 Rust 语言 和 axum(一个现代 Web 应用程序框架)编写的工具。 此 Tracker 致力于尊重既定标准(包括 正式 和 其他)。
这是一个 Torrust 项目,正在积极开发中。它由社区支持,并由 Nautilus Cyberneering 赞助。
- 我们为那些希望使用 Docker 或 Podman 的人提供了 容器指南
主要特性
- 高质量和现代 Rust 代码库。
- 文档 由代码注释生成。
- 全面单元和功能测试套件。
- 在繁忙条件下的良好性能。
- 支持
UDP
、HTTP
和TLS
套接字。 - 原生的
IPv4
和IPv6
支持。 - 私有和白名单模式。
- Tracker 管理API。
- 支持 newTrackon 检查。
- 持久
SQLite3
或MySQL
数据库。
实现了 BitTorrent 增强提案(BEPs)
- BEP 03:BitTorrent 协议。
- BEP 07:IPv6 支持。
- BEP 15 : BitTorrent 的 UDP Tracker 协议。
- BEP 23 : Tracker 返回压缩的 peer 列表。
- BEP 27 : 私有种子。
- BEP 48 : Tracker 协议扩展:Scrape。
入门指南
容器版本
The Torrust Tracker 已部署到 DockerHub,您可以使用以下命令立即运行演示:
Docker
docker run -it torrust/tracker:develop
请阅读我们的容器指南以获取更多信息。
Podman
podman run -it torrust/tracker:develop
请阅读我们的容器指南以获取更多信息。
开发版本
- 请确保您有 最新稳定版(或夜间版)的 Rust。
- 请确保您的计算机有足够的内存。 建议 16GB。
检出、测试和运行
# Checkout repository into a new folder:
git clone https://github.com/torrust/torrust-tracker.git
# Change into directory and create a empty database file:
cd torrust-tracker
mkdir -p ./storage/tracker/lib/database/
touch ./storage/tracker/lib/database/sqlite3.db
# Check all tests in application:
cargo test --tests --benches --examples --workspace --all-targets --all-features
# Run the tracker:
cargo run
自定义
# Copy the default configuration into the standard location:
mkdir -p ./storage/tracker/etc/
cp ./share/default/config/tracker.development.sqlite3.toml ./storage/tracker/etc/tracker.toml
# Customize the tracker configuration (for example):
vim ./storage/tracker/etc/tracker.toml
# Run the tracker with the updated configuration:
TORRUST_TRACKER_PATH_CONFIG="./storage/tracker/etc/tracker.toml" cargo run
可选,您可以选择将整个配置作为环境变量提供
# Use a configuration supplied on an environmental variable:
TORRUST_TRACKER_CONFIG=$(cat "./storage/tracker/etc/tracker.toml") cargo run
对于部署,您 应该 使用环境变量覆盖 api_admin_token
# Generate a Secret Token:
gpg --armor --gen-random 1 10 | tee ./storage/tracker/lib/tracker_api_admin_token.secret
chmod go-rwx ./storage/tracker/lib/tracker_api_admin_token.secret
# Override secret in configuration using an environmental variable:
TORRUST_TRACKER_CONFIG=$(cat "./storage/tracker/etc/tracker.toml") \
TORRUST_TRACKER_API_ADMIN_TOKEN=$(cat "./storage/tracker/lib/tracker_api_admin_token.secret") \
cargo run
请查看我们的crate 文档以获取更详细的说明。
服务
以下服务由默认配置提供
- UDP (tracker)
udp://127.0.0.1:6969/announce
.
- HTTP (tracker)
http://127.0.0.1:6969/announce
.
- API (管理)
http://127.0.0.1:1212/api/v1/stats?token=MyAccessToken
.
文档
贡献
这是一个开源社区支持的项目。
我们欢迎社区的贡献!
您如何贡献?
- 错误报告和功能请求。
- 代码贡献。您可以从查看标记为 "good first issues" 的问题开始。
- 文档改进。检查文档和API 文档中的错别字、错误或缺失信息。
- 参与社区。您可以通过在讨论中回答问题来帮助。
许可
该项目采用双重许可。请参阅COPYRIGHT。
致谢
该项目是 Nautilus Cyberneering GmbH 和 Dutch Bits 共同努力的结果。还感谢 Naim A. 和 greatest-ape 对代码的一些部分做出的贡献。还要感谢 Power2All 为项目添加的功能和功能。
依赖
~56–75MB
~1.5M SLoC