トレント トラッカー RuTracker、Kinozal、RuTor、NoNameClub の非公式 API (バックエンド)。配信の高速かつ一元的な検索、トレント ファイル、磁気リンク、映画タイトル、シリーズ、配信識別子による配信に関する詳細情報の受信に使用され、カテゴリごとにフィルタリングしてニュース RSS フィードをすべてのプロバイダーに提供します。
Vercel で公開されているパブリックの無料バージョンを使用することも、サーバーレスまたは Docker を使用したローカルを使用して任意のクラウド プラットフォームに自分でデプロイすることもできます。
OpenAPI仕様は、Swagger Hub の公式 Web サイトで入手できます。
MIT ライセンスに基づいてリリースされています。
パブリック バージョンを使用する場合、このサービスはゲートウェイの役割にあるため、VPN を使用する必要はありません。これにより、ネットワーク制限なしでAPI
任意のプロジェクトに統合でき、ReadYou などを介してモバイル デバイスでニュース フィードを使用することもできます。またはフィーダー。 API が機能するためには、トラッカーでのアクセス トークンや承認は必要ありません。
プロジェクトは、ロシア語を話すトレント プロバイダーの Torrent-Api-py (以前の Torrents-Api) からインスピレーションを受けています。
XML
およびJSON
形式で取得します。シンプルなユーザー インターフェイス (Jackett など) の実装は、Google Chrome 拡張機能を通じて利用できます。 Libre Kinopoisk を使用すると、利用可能なすべてのトレント トラッカーでディストリビューションを同時に検索し、マグネット リンクまたはトラッカーから直接トレント ファイルを介してコンテンツをダウンロードできます。
Wox インターフェイスを介して、利用可能なすべての torrent トラッカーでディストリビューションを迅速に検索するための Torrent Search プラグイン。プラグイン リポジトリからインストールできます。
プロバイダ名 | 鏡 | 登録 | 検索とRSSのフィルター | IDで検索 | RSS |
---|---|---|---|---|---|
RuTracker | 3 | はい* | カテゴリ | はい | ネイティブ |
キノザル | 3 | はい* | カテゴリー、発売年、フォーマット | はい | カスタム |
ルトール | 2 | いいえ | カテゴリ | はい | カスタム |
ノーネームクラブ | 1 | いいえ | カテゴリ | はい | ネイティブ |
※直接リンクでtorrentファイルをダウンロードする場合のみ登録が必要です。 ID (識別子) で検索する場合、すべてのディストリビューションには情報ハッシュ サムとマグネット リンク(トレント トラッカー サーバーの最新リストがすでに含まれている) が含まれており、これにより、コンテンツ ディストリビューションの読み込みをすぐに開始したり、qBittorrent などのトレント クライアントを使用してメタデータをダウンロードした後にトレント ファイルを生成したりできます。 (RSS および検索プラグインをサポート)、送信または Webtorrent デスクトップ。
RuTrackerとNoNameClubのRSSフィードにアクセスするには、元のチャネルをリダイレクトします。 KinozalおよびRuTorプロバイダーの場合、カテゴリによるフィルタリングをサポートするホームページからのキャスト ニュース フィードが実装されました。
このリポジトリから独自のパブリック API を Vercel にデプロイできます。下のボタンをクリックして指示に従うだけです。
このプロジェクトは、GitHub Actions を使用して Docker コンテナを構築し、すべてのエンドポイントの機能を自動的にテストします。
イメージをアップロードし、Docker Hub からコンテナーを実行します。
docker run -d --name TorAPI -p 8443:8443 --restart=unless-stopped lifailon/torapi:latest
プロキシサーバーを使用している場合:
docker run -d --name TorAPI -p 8443:8443 --restart=unless-stopped
-e PROXY_ADDRESS= " 192.168.3.100 "
-e PROXY_PORT= " 9090 "
-e USERNAME= " TorAPI "
-e PASSWORD= " TorAPI "
lifailon/torapi:latest
プロキシサーバーに接続するための変数の内容を独自のものに置き換えます。プロキシ サーバーで認証を使用しない場合は、コンテナの起動時にこれらのパラメータを指定しないでください。
docker-compose ファイルをダウンロードして使用し、Docker Hub からコンテナーを構築できます。
curl -sO https://raw.githubusercontent.com/Lifailon/TorAPI/main/docker-compose.yml
curl -sO https://raw.githubusercontent.com/Lifailon/TorAPI/main/.env.yml
.env ファイル内の環境変数を編集し (プロキシ サーバーを使用する場合に必要)、コンテナーを起動します。
docker-compose up -d
Docker Hub からダウンロードしたイメージを保存して、Docker Hub にアクセスできないマシンに転送できます。
docker save -o TorAPI-Docker-Image.tar lifailon/torapi
リリース ファイルでは、準備されたイメージをダウンロードして、マシン上で起動できます。
docker load -i TorAPI-Docker-Image.tar
ダウンロードしたローカル イメージからコンテナを実行します。
docker run -d --name TorAPI -p 8443:8443 --restart=unless-stopped lifailon/torapi:latest
dockerfile を使用して、プロジェクトのソース ファイルからイメージを自分で構築できます。
このリポジトリのクローンを作成します。
git clone https://github.com/Lifailon/TorAPI
cd TorAPI
必要に応じて、 dockerfile
内の変数またはその他の設定を編集します。
ENV PROXY_ADDRESS= " 192.168.3.100 "
ENV PROXY_PORT= " 9090 "
ENV USERNAME= " TorAPI "
ENV PASSWORD= " TorAPI "
イメージをビルドしてコンテナを実行します。
docker build -t torapi .
docker run -d --name TorAPI -p 8443:8443 --restart=unless-stopped torapi
プロジェクトとすべての依存関係をインストールするには、パッケージ マネージャー npm を使用できます。
npm install -g torapi
リポジトリのクローンを作成し、依存関係をインストールして、サーバーを起動します。
git clone https://github.com/Lifailon/TorAPI
cd TorAPI
npm install
npm start
デフォルトでは、サーバーはポート8443
で起動します。
別のポートを指定できます。
npm start -- -- port 2024
開発には、 nodemonモードを使用します (ファイルの内容が変更されたときにサーバーを再起動します)。
npm run dev
すべてのリクエストにプロキシを使用します。
npm start -- -- port 2024 -- proxyAddress 192.168 .3 .100 -- proxyPort 9090
プロキシサーバーでの認証が必要な場合:
npm start -- -- port 2024 -- proxyAddress 192.168 .3 .100 -- proxyPort 9090 -- username TorAPI -- password TorAPI
ドキュメントは、モジュール swagger-ui-express を介して、 Swagger UI ( http://localhost:8443/docs
で入手できます。ドキュメントは swagger-jsdoc ライブラリを通じて記述されます。
最新のまたは更新された Swagger ドキュメント ファイルをJSON
およびYAML
形式で作成するには、次のコマンドを使用します。
npm run docs
テストを実行して、コンソールですべてのエンドポイントの健全性をすばやく確認できます。
npm start -- --test
テスト中に、ローカル サーバーが起動され、エンドポイント/api/provider/test
に対してリクエストが行われ、出力が JSON 形式で記録され、サーバーが終了します。
リクエストのヘッダーパラメータを変更します。
npm start -- --test --q " The Rookie "
パラメーター化されたテストは、 JUnit
形式の newman 経由で Postman を使用する GitHub Actions からも利用できます。
テストをローカルで実行するには:
npm install -g newman
newman run postman-tests.json
--iteration-count 1
--env-var " baseUrl=http://localhost:8443 "
--env-var " query=The Rookie "
--env-var " queryAllPage=test "
--env-var " categoryRuTracker=1605 "
--env-var " categoryKinozal=20 "
--env-var " categoryRuTor=10 "
--env-var " categoryNoNameClub=1318 "
...
┌─────────────────────────┬────────────────────┬───────────────────┐
│ │ executed │ failed │
├─────────────────────────┼────────────────────┼───────────────────┤
│ iterations │ 1 │ 0 │
├─────────────────────────┼────────────────────┼───────────────────┤
│ requests │ 45 │ 0 │
├─────────────────────────┼────────────────────┼───────────────────┤
│ test-scripts │ 167 │ 0 │
├─────────────────────────┼────────────────────┼───────────────────┤
│ prerequest-scripts │ 154 │ 0 │
├─────────────────────────┼────────────────────┼───────────────────┤
│ assertions │ 169 │ 0 │
├─────────────────────────┴────────────────────┴───────────────────┤
│ total run duration: 32s │
├──────────────────────────────────────────────────────────────────┤
│ total data received: 1.95MB (approx) │
├──────────────────────────────────────────────────────────────────┤
│ average response time: 663ms [min: 2ms, max: 6.1s, s.d.: 1216ms] │
└──────────────────────────────────────────────────────────────────┘
? LibreKinopoisk - Kinopoisk Web サイトにボタンを追加し、オープン ソースの映画やシリーズをすばやく検索するための Jackett スタイルのTorAPIインターフェイスを提供する Google Chrome 拡張機能 (サーバー パーツのインストールや VPN の使用は必要ありません)。
? Kinozal ボット - 携帯電話のみを使用してテレビにコンテンツを配信するプロセスを自動化できる電報ボットです。トレント トラッカー Kinozal とデータベース TMDB を操作して、エピソード、シーズンのリリース日を追跡し、各エピソードの俳優を検索するための便利なインターフェイスを提供します。また、コンピューター上のトレント クライアント qBittorrent または Transmission を管理する機能も提供します。自宅から、単一のインターフェイスからリモートで操作できます。
❤️ WebTorrent Desktop API - WebTorrent Desktop クライアントのフォーク。Express Framework に基づいたREST API
経由のリモート コントロール メカニズムを追加しました。
?リバース プロキシ .NET - .NETベースのリバース プロキシ サーバーを実装するためのクロスプラットフォーム コマンド ライン ユーティリティ。これはGET
あるネットワークPOST
から、別のネットワークインターフェイス(例: VPN ) をホスト上で使用できます。不要な設定は必要なく、認証サポートも提供されます。