2 个版本

3.0.0-alpha.122024年8月13日
3.0.0-alpha.22023年10月15日

#332 in Web 编程

Download history 116/week @ 2024-08-12

116 每月下载量

AGPL-3.0-only

710KB
13K SLoC

Torrust Index

container_wf_b coverage_wf_b deployment_wf_b testing_wf_b labels_wf_b

Torrust Index 是一个用于 BitTorrent 文件的库。使用 Rust 语言Axum Web 框架编写。 此索引旨在尊重现有标准(无论是正式的还是其他的)。

这是一个 Torrust 项目,目前正在积极开发中。它得到了社区的支持,并由 Nautilus Cyberneering 赞助。

关于

比特Torrent 索引的核心目的是维护一个数据库,将种子文件与有用的元数据相连接。允许用户社区以有组织且信息丰富的方式跟踪他们的种子文件。

Torrust Index 为我们的 Torrust Index GUI 客户端提供了一个高级 API。它还连接到我们的 Torrust Tracker管理 API,以提供统计信息和白名单功能。

Torrust Index Architecture

主要特性

  • 高质量的现代 Rust 代码库。
  • 由代码注释生成的 文档
  • 全面单元和功能测试套件 Comprehensive Suit
  • 在繁忙条件下的良好性能。
  • 原生 IPv4IPv6 支持。
  • 持久 SQLite3MySQL 数据库。

入门指南

升级

如果您正在使用 Version 1 版本的 torrust-tracker-backend,请参阅我们的升级指南

容器版本

Torrust 索引已部署到 DockerHub,您可以使用以下命令立即运行演示:

Docker

docker run -it torrust/index:develop

请参阅我们的容器指南以获取更多信息。

Podman

podman run -it torrust/index:develop

请参阅我们的容器指南以获取更多信息。

开发版本

检出、测试和运行

# Checkout repository into a new folder:
git clone https://github.com/torrust/torrust-index.git

# Change into directory and create a empty database file:
cd torrust-index
mkdir -p ./storage/index/lib/database/
touch ./storage/index/lib/database/sqlite3.db

# Check all tests in application:
cargo test --tests --benches --examples --workspace --all-targets --all-features

# Run the index:
cargo run

自定义

# Copy the default configuration into the standard location:
mkdir -p ./storage/index/etc/
cp ./share/default/config/index.development.sqlite3.toml ./storage/index/etc/index.toml

# Customize the index configuration (for example):
vim ./storage/index/etc/index.toml

# Run the index with the updated configuration:
TORRUST_INDEX_CONFIG_TOML_PATH="./storage/index/etc/index.toml" cargo run

可选地,您可以选择将整个配置作为环境变量提供

# Use a configuration supplied on an environmental variable:
TORRUST_INDEX_CONFIG_TOML=$(cat "./storage/index/etc/index.toml") cargo run

_对于部署,您应该使用环境变量来覆盖

  • tracker_api_tokenindex_auth_secret_key
# Please use the secret that you generated for the torrust-tracker configuration.
# Override secret in configuration using an environmental variable
TORRUST_INDEX_CONFIG_TOML=$(cat "./storage/index/etc/index.toml") \
  TORRUST_INDEX_CONFIG_OVERRIDE_TRACKER__TOKEN=$(cat "./storage/tracker/lib/tracker_api_admin_token.secret") \
  TORRUST_INDEX_CONFIG_OVERRIDE_AUTH__SECRET_KEY="MaxVerstappenWC2021" \
  cargo run

请参阅我们的 crate 文档以获取更详细的说明。

服务

默认配置提供了以下服务

  • API
    • http://127.0.0.1:3001/.

文档

贡献

我们很高兴支持并欢迎新成员加入我们的项目。请考虑我们的贡献指南
这是一个开源社区支持的项目。我们欢迎社区的贡献!

您如何贡献?

  • 错误报告和功能请求。
  • 代码贡献。您可以从查看标记为 "good first issues" 的问题开始。
  • 文档改进。检查 文档API 文档 中的拼写错误、错误或缺失信息。
  • 参与社区。您可以通过在 讨论 中回答问题来帮助。

许可证

版权所有 (c) 2023 Torrust 开发者。

本程序是免费软件:您可以在 Free Software Foundation 发布的 GNU Affero 通用公共许可证 的条款下重新分发和/或修改,许可证版本为 3。

本程序的分发是希望它会很有用,但没有任何保证;甚至没有关于适销性或适用于特定目的的隐含保证。有关详细信息,请参阅 GNU Affero 通用公共许可证

您应该已经收到本程序的副本,附有 GNU Affero 通用公共许可证。如果没有,请参阅 https://www.gnu.org/licenses/

某些文件包含明确的版权声明和/或许可证声明。

旧版例外

为了繁荣,Torrust Tracker 的版本,如果超过五年,将自动获得 MIT-0 许可证,以及现有的 AGPL-3.0-only 许可证。

贡献者协议

Torrust Tracker 的版权归各自的作者所有。

贡献者同意

Torrust-Tracker项目没有版权转让协议。

我们诚恳地请求您花时间全面考虑Torrust项目的贡献者协议

致谢

该项目是由Nautilus Cyberneering GmbHDutch Bits共同完成的。

依赖项

~77–110MB
~2M SLoC