Inoffizielle API ( Backend ) für die Torrent-Tracker RuTracker, Kinozal, RuTor und NoNameClub. Wird für die schnelle und zentralisierte Suche nach der Verbreitung, den Empfang von Torrent-Dateien, magnetischen Links und detaillierten Informationen zur Verbreitung nach Filmtitel, Serie oder Vertriebskennung verwendet und stellt außerdem allen Anbietern News-RSS-Feeds mit Filterung nach Kategorien zur Verfügung.
Sie können die auf Vercel veröffentlichte öffentliche und kostenlose Version verwenden und sie auch selbst auf jeder Cloud-Plattform bereitstellen, indem Sie Serverless oder lokal mit Docker verwenden.
Die OpenAPI- Spezifikation ist auf der offiziellen Swagger Hub-Website verfügbar.
Veröffentlicht unter MIT-Lizenz.
Bei der Nutzung der öffentlichen Version ist die Nutzung eines VPN nicht notwendig, da dieser Dienst in der Gateway-Rolle fungiert, was es Ihnen ermöglicht, die API
ohne Netzwerkeinschränkungen in jedes Projekt zu integrieren und den Newsfeed auch auf mobilen Geräten, beispielsweise über ReadYou, zu nutzen oder Feeder. Damit die API funktioniert, sind kein Zugriffstoken und keine Autorisierung in den Trackern erforderlich.
Das Projekt ist von Torrent-Api-py (früher Torrents-Api) für russischsprachige Torrent-Anbieter inspiriert.
XML
und JSON
.Die Implementierung einer einfachen Benutzeroberfläche (wie Jackett) ist über die Google Chrome-Erweiterung verfügbar? Libre Kinopoisk für die gleichzeitige Suche nach Distributionen in allen verfügbaren Torrent-Trackern und das Herunterladen von Inhalten über Magnet-Links oder Torrent-Dateien direkt von den Trackern.
Torrent-Such-Plugin für die schnelle Suche nach Distributionen in allen verfügbaren Torrent-Trackern über die Wox-Schnittstelle, die im Plugin-Repository zur Installation verfügbar ist.
Anbietername | Spiegel | Anmeldung | Filtern Sie nach Suche und RSS | Suche nach ID | RSS |
---|---|---|---|---|---|
RuTracker | 3 | Ja* | Kategorie | Ja | Einheimisch |
Kinozal | 3 | Ja* | Kategorie, Erscheinungsjahr, Format | Ja | Brauch |
RuTor | 2 | NEIN | Kategorie | Ja | Brauch |
NoNameClub | 1 | NEIN | Kategorie | Ja | Einheimisch |
* Eine Registrierung ist nur erforderlich, wenn eine Torrent-Datei über einen direkten Link heruntergeladen wird. Alle Distributionen enthalten bei der Suche nach ID (Identifikator) eine Info-Hash-Summe und einen Magnet-Link (enthalten bereits eine aktuelle Liste der Torrent-Tracker-Server), die es ermöglichen, sofort mit dem Laden der Inhaltsverteilung zu beginnen oder eine Torrent-Datei nach dem Herunterladen von Metadaten mit einem beliebigen Torrent-Client, zum Beispiel qBittorrent, zu generieren (unterstützt RSS- und Such-Plugins), Transmission oder WebTorrent Desktop.
Der Zugriff auf RSS- Feeds für RuTracker und NoNameClub erfolgt durch Umleitung des ursprünglichen Kanals. Für Kinozal- und RuTor -Anbieter wurde ein gecasteter Newsfeed von der Homepage implementiert, der das Filtern nach Kategorien unterstützt.
Sie können von diesem Repository aus Ihre eigene öffentliche API für Vercel bereitstellen. Klicken Sie einfach auf die Schaltfläche unten und befolgen Sie die Anweisungen:
Das Projekt nutzt GitHub Actions, um den Docker-Container zu erstellen und die Funktionalität aller Endpunkte automatisch zu testen.
Laden Sie das Image hoch und führen Sie den Container über den Docker Hub aus:
docker run -d --name TorAPI -p 8443:8443 --restart=unless-stopped lifailon/torapi:latest
Wenn Sie einen Proxyserver verwenden:
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
Ersetzen Sie den Inhalt der Variablen für die Verbindung zum Proxyserver durch Ihren eigenen. Wenn Sie keine Autorisierung auf dem Proxyserver verwenden, geben Sie diese Parameter beim Starten des Containers einfach nicht an.
Sie können die Docker-Compose-Datei herunterladen und verwenden, um den Container vom Docker Hub aus zu erstellen:
curl -sO https://raw.githubusercontent.com/Lifailon/TorAPI/main/docker-compose.yml
curl -sO https://raw.githubusercontent.com/Lifailon/TorAPI/main/.env.yml
Bearbeiten Sie die Umgebungsvariablen in der .env-Datei (erforderlich bei Verwendung eines Proxyservers) und starten Sie den Container:
docker-compose up -d
Sie können ein vom Docker Hub heruntergeladenes Image speichern, um es auf eine Maschine zu übertragen, die keinen Docker Hub-Zugriff hat:
docker save -o TorAPI-Docker-Image.tar lifailon/torapi
In den Release-Dateien können Sie das vorbereitete Image herunterladen und auf Ihrem Rechner booten:
docker load -i TorAPI-Docker-Image.tar
Führen Sie den Container über das heruntergeladene lokale Image aus:
docker run -d --name TorAPI -p 8443:8443 --restart=unless-stopped lifailon/torapi:latest
Sie können das Image mit Dockerfile selbst aus den Quelldateien des Projekts erstellen.
Klonen Sie dieses Repository:
git clone https://github.com/Lifailon/TorAPI
cd TorAPI
Bearbeiten Sie bei Bedarf Variablen oder andere Einstellungen in der dockerfile
:
ENV PROXY_ADDRESS= " 192.168.3.100 "
ENV PROXY_PORT= " 9090 "
ENV USERNAME= " TorAPI "
ENV PASSWORD= " TorAPI "
Erstellen Sie das Image und führen Sie den Container aus:
docker build -t torapi .
docker run -d --name TorAPI -p 8443:8443 --restart=unless-stopped torapi
Um das Projekt und alle Abhängigkeiten zu installieren, können Sie den Paketmanager npm verwenden:
npm install -g torapi
Klonen Sie das Repository, installieren Sie Abhängigkeiten und starten Sie den Server:
git clone https://github.com/Lifailon/TorAPI
cd TorAPI
npm install
npm start
Standardmäßig wird der Server auf Port 8443
gestartet.
Sie können einen anderen Port angeben:
npm start -- -- port 2024
Verwenden Sie für die Entwicklung den Nodemon -Modus (startet den Server neu, wenn sich der Inhalt von Dateien ändert):
npm run dev
Verwenden Sie einen Proxy für alle Anfragen:
npm start -- -- port 2024 -- proxyAddress 192.168 .3 .100 -- proxyPort 9090
Wenn eine Autorisierung auf einem Proxyserver erforderlich ist:
npm start -- -- port 2024 -- proxyAddress 192.168 .3 .100 -- proxyPort 9090 -- username TorAPI -- password TorAPI
Die Dokumentation ist in der Swagger-Benutzeroberfläche unter http://localhost:8443/docs
über das Modul swagger-ui-express verfügbar. Die Dokumentation wird über die Bibliothek swagger-jsdoc beschrieben.
Um aktuelle Swagger-Dokumentationsdateien im JSON
und YAML
-Format zu erstellen oder zu aktualisieren, verwenden Sie den folgenden Befehl:
npm run docs
Sie können Tests durchführen, um den Zustand aller Endpunkte in der Konsole schnell zu überprüfen:
npm start -- --test
Während des Tests wird der lokale Server gestartet, eine Anfrage an den Endpunkt /api/provider/test
gestellt, die Ausgabe im JSON-Format protokolliert und der Server beendet.
Header-Parameter in der Anfrage ändern:
npm start -- --test --q " The Rookie "
Parametrisierte Tests sind auch über GitHub Actions mit Postman über newman im JUnit
-Format verfügbar:
So führen Sie Tests lokal aus:
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 – Google Chrome-Erweiterung, die Schaltflächen zur Kinopoisk-Website hinzufügt und eine TorAPI- Schnittstelle im Jackett-Stil bereitstellt (ohne dass ein Serverteil installiert und ein VPN verwendet werden muss) für die schnelle Suche nach Filmen und Serien in offenen Quellen.
? Kinozal-Bot – Telegram-Bot, mit dem Sie den Prozess der Bereitstellung von Inhalten auf Ihrem Fernseher nur mit Ihrem Telefon automatisieren können. Bietet eine praktische Schnittstelle für die Interaktion mit dem Torrent-Tracker Kinozal und der Datenbank TMDB, um das Veröffentlichungsdatum von Episoden und Staffeln zu verfolgen und nach Schauspielern für jede Episode zu suchen, sowie die Möglichkeit, den Torrent-Client qBittorrent oder Transmission auf Ihrem Computer zu verwalten Remote von zu Hause und von einer einzigen Schnittstelle aus.
❤️ WebTorrent Desktop-API – Zweig des WebTorrent Desktop-Clients, der einen Fernsteuerungsmechanismus über die REST API
basierend auf Express Framework hinzugefügt hat.
? Reverse Proxy .NET – plattformübergreifendes Befehlszeilendienstprogramm zur Implementierung eines .NET- basierten Reverse-Proxy-Servers. Es wird verwendet, um den Zugriff auf Hosts im Netzwerk von einer Netzwerkschnittstelle zu Remote-Anwendungen über die Protokolle TCP , UDP oder HTTP/HTTPS zu ermöglichen ( GET
und POST
Anfragen werden unterstützt, um über das Internet auf externe Ressourcen zuzugreifen), die über eine andere Netzwerkschnittstelle verfügbar sind (z. B. über VPN ) auf Ihrem Host ohne unnötige Konfiguration und mit Autorisierungsunterstützung.