API non officielle ( backend ) pour les trackers torrent RuTracker, Kinozal, RuTor et NoNameClub. Utilisé pour une recherche rapide et centralisée de distribution, la réception de fichiers torrent, de liens magnétiques et d'informations détaillées sur la distribution par titre de film, série ou identifiant de distribution, et fournit également un flux RSS d'actualités à tous les fournisseurs avec filtrage par catégories.
Vous pouvez utiliser la version publique et gratuite publiée sur Vercel ainsi que la déployer vous-même sur n'importe quelle plateforme cloud en utilisant le sans serveur ou en local avec Docker.
La spécification OpenAPI est disponible sur le site officiel de Swagger Hub.
Publié sous licence MIT.
Vous n'avez pas besoin d'utiliser un VPN lorsque vous utilisez la version publique, car ce service joue le rôle de passerelle, ce qui vous permet d'intégrer l' API
dans n'importe quel projet sans restrictions de réseau et également d'utiliser le fil d'actualité sur les appareils mobiles, par exemple via ReadYou. ou chargeur. Aucun jeton d'accès ni autorisation dans les trackers ne sont requis pour que l'API fonctionne.
Le projet s'inspire de Torrent-Api-py (anciennement Torrents-Api) pour les fournisseurs de torrent russophones.
XML
, ainsi que JSON
.L'implémentation d'une interface utilisateur simple (comme Jackett) est disponible via l'extension Google Chrome ? Libre Kinopoisk pour rechercher simultanément des distributions dans tous les trackers torrent disponibles et télécharger du contenu via des liens magnétiques ou des fichiers torrent directement à partir des trackers.
Plugin Torrent Search pour rechercher rapidement des distributions dans tous les trackers torrent disponibles via l'interface Wox, disponible pour l'installation à partir du référentiel de plugins.
Nom du fournisseur | Miroirs | Inscription | Filtrer pour la recherche et RSS | Recherche par identifiant | RSS |
---|---|---|---|---|---|
RuTracker | 3 | Oui* | Catégorie | Oui | Indigène |
Kinozal | 3 | Oui* | Catégorie, année de sortie, format | Oui | Coutume |
RuTor | 2 | Non | Catégorie | Oui | Coutume |
NoNameClub | 1 | Non | Catégorie | Oui | Indigène |
* L'inscription est requise uniquement lors du téléchargement d'un fichier torrent via un lien direct. Toutes les distributions lors de la recherche par identifiant (identifiant) contiennent une somme de hachage d'informations et un lien magnétique (contiennent déjà la liste actuelle des serveurs de suivi torrent), qui permettent de commencer immédiatement à charger la distribution de contenu ou de générer un fichier torrent après avoir téléchargé des métadonnées à l'aide de n'importe quel client torrent, par exemple qBittorrent. (prend en charge les plugins RSS et de recherche), Transmission ou Webtorrent Desktop.
L'accès aux flux RSS pour RuTracker et NoNameClub se fait en redirigeant la chaîne d'origine. Pour les fournisseurs Kinozal et RuTor , un fil d'actualités diffusé à partir de la page d'accueil a été implémenté et prend en charge le filtrage par catégories.
Vous pouvez déployer votre propre API publique sur Vercel à partir de ce référentiel, cliquez simplement sur le bouton ci-dessous et suivez les instructions :
Le projet utilise GitHub Actions pour créer le conteneur Docker et tester automatiquement les fonctionnalités de tous les points de terminaison.
Téléchargez l'image et exécutez le conteneur à partir du Docker Hub :
docker run -d --name TorAPI -p 8443:8443 --restart=unless-stopped lifailon/torapi:latest
Si vous utilisez un serveur proxy :
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
Remplacez le contenu des variables de connexion au serveur proxy par le vôtre. Si vous n'utilisez pas d'autorisation sur le serveur proxy, ne spécifiez simplement pas ces paramètres lors du démarrage du conteneur.
Vous pouvez télécharger et utiliser le fichier docker-compose pour créer le conteneur à partir de 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
Modifiez les variables d'environnement dans le fichier .env (obligatoire si vous utilisez un serveur proxy) et démarrez le conteneur :
docker-compose up -d
Vous pouvez enregistrer une image téléchargée depuis Docker Hub pour la transférer sur une machine qui n'a pas accès à Docker Hub :
docker save -o TorAPI-Docker-Image.tar lifailon/torapi
Dans les fichiers de version, vous pouvez télécharger l'image préparée et la démarrer sur votre machine :
docker load -i TorAPI-Docker-Image.tar
Exécutez le conteneur à partir de l'image locale téléchargée :
docker run -d --name TorAPI -p 8443:8443 --restart=unless-stopped lifailon/torapi:latest
Vous pouvez créer vous-même l'image à partir des fichiers sources du projet à l'aide de dockerfile.
Clonez ce dépôt :
git clone https://github.com/Lifailon/TorAPI
cd TorAPI
Modifiez les variables ou d'autres paramètres dans le dockerfile
si nécessaire :
ENV PROXY_ADDRESS= " 192.168.3.100 "
ENV PROXY_PORT= " 9090 "
ENV USERNAME= " TorAPI "
ENV PASSWORD= " TorAPI "
Créez l'image et exécutez le conteneur :
docker build -t torapi .
docker run -d --name TorAPI -p 8443:8443 --restart=unless-stopped torapi
Pour installer le projet et toutes les dépendances, vous pouvez utiliser le gestionnaire de packages npm :
npm install -g torapi
Clonez le référentiel, installez les dépendances et démarrez le serveur :
git clone https://github.com/Lifailon/TorAPI
cd TorAPI
npm install
npm start
Par défaut, le serveur sera lancé sur le port 8443
.
Vous pouvez spécifier un autre port :
npm start -- -- port 2024
Pour le développement, utilisez le mode nodemon (redémarre le serveur lorsque le contenu des fichiers change) :
npm run dev
Utilisez un proxy pour toutes les demandes :
npm start -- -- port 2024 -- proxyAddress 192.168 .3 .100 -- proxyPort 9090
Si une autorisation sur un serveur proxy est requise :
npm start -- -- port 2024 -- proxyAddress 192.168 .3 .100 -- proxyPort 9090 -- username TorAPI -- password TorAPI
La documentation est disponible dans l' interface utilisateur Swagger à l'adresse : http://localhost:8443/docs
via le module swagger-ui-express. La documentation est décrite via la bibliothèque swagger-jsdoc.
Pour créer ou mettre à jour les fichiers de documentation Swagger au format JSON
et YAML
, utilisez la commande :
npm run docs
Vous pouvez exécuter des tests pour vérifier rapidement l'état de tous les points de terminaison dans la console :
npm start -- --test
Pendant les tests, le serveur local est démarré, une requête est adressée au point de terminaison /api/provider/test
, la sortie est enregistrée au format JSON et le serveur se ferme.
Modifier le paramètre d'en-tête dans la requête :
npm start -- --test --q " The Rookie "
Des tests paramétrés sont également disponibles via GitHub Actions en utilisant Postman via newman au format JUnit
:
Pour exécuter des tests localement :
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 - Extension Google Chrome qui ajoute des boutons au site Web Kinopoisk et fournit une interface TorAPI dans le style Jackett (sans avoir besoin d'installer une partie serveur et d'utiliser un VPN) pour rechercher rapidement des films et des séries en open source.
? Bot Kinozal - Bot Telegram qui vous permet d'automatiser le processus de diffusion de contenu sur votre téléviseur en utilisant uniquement votre téléphone. Fournit une interface pratique pour interagir avec le tracker torrent Kinozal et la base de données TMDB pour suivre la date de sortie des épisodes, des saisons et rechercher des acteurs pour chaque épisode, ainsi que la possibilité de gérer le client torrent qBittorrent ou Transmission sur votre ordinateur, étant à distance de la maison et depuis une seule interface.
❤️ API WebTorrent Desktop - fork du client WebTorrent Desktop, qui a ajouté un mécanisme de contrôle à distance via l' REST API
basée sur Express Framework.
? Reverse Proxy .NET - utilitaire de ligne de commande multiplateforme pour implémenter un serveur proxy inverse basé sur .NET . Il est utilisé pour fournir un accès aux hôtes du réseau depuis une interface réseau vers des applications distantes via les protocoles TCP , UDP ou HTTP/HTTPS (les requêtes GET
et POST
sont prises en charge pour accéder à des ressources externes sur Internet) disponibles via une autre interface réseau (par exemple via VPN ) sur votre hôte sans configuration inutile et avec prise en charge des autorisations.