安装配置Torrust

​目录

介绍

Torrust是一个开源项目,它为您提供了托管自己的(私人)BitTorrent跟踪器和在线洪流索引所需的所有工具。

项目结构

Torrust 分为两个独立的应用程序

Torrust Tracker:一款高性能且功能丰富的(私有)BitTorrent跟踪器。Torrust Index:一个依赖于Torrust跟踪器的种子索引网站。

特征

列表项自托管高性能 BitTorrent 跟踪器。列表项支持公共,私人和白名单跟踪器模式。列表项用于将种子列入白名单和发布跟踪器密钥的 API。列表项电子邮件/密码身份验证(可选电子邮件验证)。列表项种子上传/下载(包括磁力链接)。列表项洪流审核。列表项可定制的洪流类别。列表项无需外部服务。列表项完全用 Rust 编写!

安装Torrust Tracker

安装依赖

- OpenSSL: - Arch Linux: sudo pacman -S pkg-config openssl - Debian/Ubuntu: sudo apt-get install pkg-config libssl-dev - SQLite3: - Debian/Ubuntu: sudo apt-get install libsqlite3-dev 克隆源码mkdir /opt/torrust cd /opt/torrust git clone 编译源码cd torrust-tracker cargo build --release 如果有错,请运行 rustup update stable 再编译 运行一次生成 config.toml 文件./target/release/torrust-tracker 编辑配置文件config.toml(查看: 配置文档)nano config.toml

模板 config.toml

log_level = "info" mode = "private" db_driver = "Sqlite3" db_path = "data.db" announce_interval = 120 min_announce_interval = 120 max_peer_timeout = 900 on_reverse_proxy = false external_ip = "0.0.0.0" tracker_usage_statistics = true persistent_torrent_completed_stat = false inactive_peer_cleanup_interval = 600 remove_peerless_torrents = true [[udp_trackers]] enabled = false bind_address = "0.0.0.0:6969" [[http_trackers]] enabled = true bind_address = "0.0.0.0:6969" ssl_enabled = false ssl_cert_path = "" ssl_key_path = "" [http_api] enabled = true bind_address = "127.0.0.1:1212" [http_api.access_tokens] admin = "MyAccessToken" 打开 bind_address端口 (default: 6969): 如果要配置NGINX请跳过此步骤。 sudo ufw allow 6969

(可选) 你的 SSL 证书

如果要配置NGINX请跳过此步骤。 编辑 nano.config 文件并更改以下设置... [[http_trackers]] ... ssl_enabled = true ssl_cert_path = "YOUR_CERT_PATH" ssl_key_path = "YOUR_CERT_KEY_PATH" ...

安装 NGINX

按照上述安装步骤 1-4 进行操作。

更改以下设置config.toml... on_reverse_proxy = true ... [[http_trackers]] bind_address = "127.0.0.1:6969" ssl_enabled = false ... 为跟踪器创建一个 NGINX 配置(例如:http://tracker.torrust.com) 请务必改用您自己的域名。 sudo nano /etc/nginx/sites-available/tracker.torrust.com 插入示例配置 请勿复制 SSL 注释,并确保将域名更改为您的域名。 # without SSL server { listen 80; server_name tracker.torrust.com; location / { proxy_set_header X-Forwarded-For $remote_addr; proxy_pass :6969; } } 确保更改ssl_certificate路径。 # with SSL server { listen 80; server_name tracker.torrust.com; return 301 ; } server { listen 443; server_name tracker.torrust.com; ssl_certificate CERT_PATH ssl_certificate_key CERT_KEY_PATH; location / { proxy_set_header X-Forwarded-For $remote_addr; proxy_pass :6969; } } 通过创建指向sites-enabled 目录中配置的符号链接来启用配置 将 http://tracker.torrust.com 替换为您的域/NGINX 配置。 ln -s /etc/nginx/sites-available/tracker.torrust.com /etc/nginx/sites-enabled/ 在此之后,您可以通过nginx -t执行来测试配置的有效性,如果配置有效,您可以安全地重新加载Nginx以使新配置处于活动状态:sudo systemctl reload nginx

用法

在文件夹中,您可以像这样运行torrust跟踪器 ./target/release/torrust-tracker

与 Tmux 的用法

打开新的 Tmux 会话tmux new -s torrust-tracker 在 Tmux 会话中,运行 torrust 跟踪器cd /opt/torrust/torrust-tracker ./target/release/torrust-tracker 从 Tmux 会话中分离CTRL+B D

安装Torrust

安装必备组件

前端不能单独运行,需要外部Web服务器,如ApacheNGINX。在本指南中,我们将使用Nginx

Node (version >= 12.0.0)Debian/Ubuntu:curl -fsSL| bash - apt-get install -y nodejs NPMDebian/Ubuntu: sudo apt-get install npmNGINX:Debian/Ubuntu: sudo apt install nginx有关其他发行版:请参阅 Nginx 安装教程

安装后端

创建 torrust 安装目录(如果尚未创建)并克隆存储库mkdir /opt/torrust cd /opt/torrust git clone 切换到后端目录并创建一个名.env为: cd torrust/backend echo "DATABASE_URL=sqlite://data.db?mode=rwc" > .env 然后,我们必须创建 SQLite 数据库并运行迁移。安装sqlx-cli并创建数据库cargo install sqlx-cli sqlx db setup 现在构建后端cargo build --release 运行后端一次以生成 config.toml 文件:cd /opt/torrust/torrust/backend ./target/release/torrust 然后编辑config.toml并更改至少以下键:nano config.toml [tracker] - url: 设置为跟踪器的连接字符串。例如: udp://TRACKER_IP:6969. - api_url: 设置为跟踪器 API URL。默认::1212. - token: 将其设置为 Torrust Tracker config.toml 中的访问令牌。 [net] - port: 默认设置为 3000 。如果您选择其他端口,请确保也更改Nginx配置。 [auth] - secret_key: 设置为安全随机生成的字符串。

运行后端

使用以下命令运行后端cd /opt/torrust/torrust/backend ./target/release/torrust

使用 Tmux 运行后端

使用 Tmux 运行后端tmux new -s torrust-index cd /opt/torrust/torrust/backend ./target/release/torrust 按下CTRL+B D以退出 tmux 会话而不终止它。

安装前端

首先创建一个名为.env的文件 请务必更改域名。 cd /opt/torrust/torrust/frontend echo "VITE_API_BASE_URL=" > .env 构建前端npm i npm run build

成功完成此命令后, dist 该文件夹中将包含前端的构建版本。这些文件将由Nginx在后续步骤中提供。

NGINX 配置

创建一个包含以下内容/etc/nginx/sites-available/torrust.conf文件 需要更改 YOUR_DOMAIN x2, CERT_PATH 和 CERT_KEY_PATH. server { listen 80; server_name YOUR_DOMAIN; return 301 ; } server { listen 443 ssl; server_name YOUR_DOMAIN; ssl_certificate CERT_PATH; ssl_certificate_key CERT_KEY_PATH; root /opt/torrust/torrust/frontend/dist/; location / { try_files $uri $uri/ /index.html; } location /api/ { proxy_pass :3000/; } } 通过在sites-enabled目录中创建指向配置的符号链接来启用配置ln -s /etc/nginx/sites-available/torrust.conf /etc/nginx/sites-enabled/ 在此之后,您可以通过nginx -t执行来测试配置的有效性,如果配置有效,您可以安全地重新加载Nginx以使新配置处于活动状态sudo systemctl reload nginx