Torrust-Actix トラッカー
プロジェクトの説明
Torrust-Actix Tracker は、Rust を使用して作成された、軽量でありながら信じられないほど強力で機能が豊富な BitTorrent Tracker です。
現在、https://www.gbitt.info/ で積極的に使用されています。
このプロジェクトは、もともと Mick van Dijke によって開発された Torrust-Tracker コードに由来し、OpenTracker や GitHub で入手可能な他のトラッカー コードの代替として Power2All によってさらに開発されました。
特徴
導入されたBEP
- BEP 3: BitTorrent プロトコル
- BEP 7: IPv6 サポート
- BEP 15: BitTorrent 用の UDP トラッカー プロトコル
- BEP 23: トラッカーはコンパクトなピア リストを返す
- BEP 41: UDP トラッカー プロトコル拡張機能
- BEP 48: トラッカー プロトコル拡張: スクレイピング
はじめる
リリースから最新のバイナリを入手するか、以下の最初からインストールする手順に従うことができます。
最初からインストールする
- リポジトリのクローンを作成します。
git clone https://github.com/Power2All/torrust-actix.git
cd torrust-actix
- Rust を使用してソース コードをビルドします (安定したブランチで Rustup がインストールされていることを確認してください)
ビルドスクリプトの使用
使用法
環境内で使用するために--help
引数を使用してコードを実行します。
./target/release/torrust-actix --help
サーバーを実行する前に、永続性をオフにするか、永続性を有効にした場合にデータベースが作成されて動作していることを確認する必要があります。必要に応じてセットアップを修正する方法については、上記のヘルプ引数を参照してください。
Swagger UI が導入され、構成で有効にすると、 /swagger-ui/
経由で API を介してアクセスできるようになります。
Sentry.io サポートが導入され、構成およびデータのプッシュ先の URL で有効にすることができます。
変更ログ
v4.0.4
v4.0.3
- 間違った方法であるため、アナウンスとスクレイピングのパスを修正しました。
- アプリに影響を与えるものではありませんが、より適切に処理する必要があるさまざまな小さなバグを修正します。
- Sentry.io SaaS とセルフホスト型セットアップのサポートが追加されました。
- ミドルウェアの LUA サポートを導入するバージョン v4.1.0 の準備中。
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 データベースの使用量とデータベース スペース消費量を調整します。
- メモリ内での torrent とピアの使用方法を完全に見直しました。クロスビーム スキップマップを使用して、スレッド セーフな非ロック メモリ共有を実現します。
- コーディングのパフォーマンス、読みやすさ、ファイルのリンティングに関するさまざまな改善。
- 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
- ホワイトリスト システム: これを有効にすると、データベースで指定したトレント ハッシュの使用のみを許可したり、API 経由で追加したりできます。
- ブラックリスト システム: これを有効にすると、データベースで指定したトレント ハッシュの使用を禁止したり、API 経由で追加したりできます。
- キー システム: これを有効にすると、アクティブ化された「キー」ハッシュ (info_hash と同じ、20 バイトまたは 16 進数 40 文字) が指定された場合にのみ追跡を許可できます。タイムアウトがゼロ「0」のキーは永続的となり、クリーンアップによって消去されません。
- WebGUI: API には利用可能な Web インターフェースがあり、https://your.api:8080/webgui/ を通じてアクセスでき、構成ファイルで構成する正しい API キーを指定できます。
- カスタマイズ可能なデータベース構造は構成ファイルで指定できます。
- このシステムは、https://hub.docker.com/r/power2all/torrust-axum の Docker Hub からも利用できるようになりました。
v3.0.1
- バグ修正
- SQLite3のサポートが追加されました
- MySQLサポートが追加されました
- PostgresSQL サポートが追加されました
v3.0.0
Torrust-Axum の初期バージョン。
クレジット
この Torrust-Tracker は、Nautilus Cyberneering GmbH、Dutch Bits、および Power2All による共同の取り組みです。 Torrust-Tracker コードの一部については、Naim A. とgreatest-ape にも感謝します。このプロジェクト (Torrust-Actix) は、Power2All によって最初から構築されています。