API no oficial ( backend ) para rastreadores de torrents RuTracker, Kinozal, RuTor y NoNameClub. Se utiliza para una búsqueda rápida y centralizada de distribución, recepción de archivos torrent, enlaces magnéticos e información detallada sobre la distribución por título de película, serie o identificador de distribución, y también proporciona noticias RSS a todos los proveedores con filtrado por categorías.
Puede utilizar la versión pública y gratuita publicada en Vercel, así como implementarla usted mismo en cualquier plataforma en la nube sin servidor o local con Docker.
La especificación OpenAPI está disponible en el sitio web oficial de Swagger Hub.
Publicado bajo licencia MIT.
No necesita usar una VPN cuando usa la versión pública, ya que este servicio tiene la función de puerta de enlace, lo que le permite integrar la API
en cualquier proyecto sin restricciones de red y también usar la fuente de noticias en dispositivos móviles, por ejemplo a través de ReadYou. o Alimentador. No se requiere ningún token de acceso ni autorización en los rastreadores para que la API funcione.
El proyecto está inspirado en Torrent-Api-py (anteriormente Torrents-Api) para proveedores de torrents de habla rusa.
XML
y JSON
.¿La implementación de una interfaz de usuario simple (como Jackett) está disponible a través de la extensión de Google Chrome? Libre Kinopoisk para buscar simultáneamente distribuciones en todos los rastreadores de torrents disponibles y descargar contenido a través de enlaces magnéticos o archivos torrent directamente desde los rastreadores.
Complemento Torrent Search para buscar rápidamente distribuciones en todos los rastreadores de torrents disponibles a través de la interfaz Wox, que está disponible para su instalación desde el repositorio de complementos.
Nombre del proveedor | espejos | Registro | Filtrar por búsqueda y RSS | Buscar por identificación | RSS |
---|---|---|---|---|---|
RuTracker | 3 | Sí* | Categoría | Sí | Nativo |
Kinozal | 3 | Sí* | Categoría, año de lanzamiento, formato | Sí | Costumbre |
RuTor | 2 | No | Categoría | Sí | Costumbre |
Sin NombreClub | 1 | No | Categoría | Sí | Nativo |
* Solo es necesario registrarse al descargar un archivo torrent a través de un enlace directo. Todas las distribuciones, cuando se buscan por ID (identificador), contienen información de suma de hash y enlace magnético (ya contienen la lista actual de servidores de seguimiento de torrents), que permiten comenzar inmediatamente a cargar la distribución de contenido o generar un archivo torrent después de descargar metadatos usando cualquier cliente de torrent, por ejemplo qBittorrent. (admite RSS y complementos de búsqueda), Transmission o Webtorrent Desktop.
El acceso a los canales RSS de RuTracker y NoNameClub se realiza redirigiendo el canal original. Para los proveedores de Kinozal y RuTor , se implementó una transmisión de noticias desde la página de inicio que admite el filtrado por categorías.
Puede implementar su propia API pública en Vercel desde este repositorio, simplemente haga clic en el botón a continuación y siga las instrucciones:
El proyecto utiliza GitHub Actions para construir el contenedor Docker y probar automáticamente la funcionalidad de todos los puntos finales.
Cargue la imagen y ejecute el contenedor desde Docker Hub:
docker run -d --name TorAPI -p 8443:8443 --restart=unless-stopped lifailon/torapi:latest
Si está utilizando un servidor 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
Reemplace el contenido de las variables para conectarse al servidor Proxy por el suyo propio. Si no utiliza la autorización en el servidor proxy, simplemente no especifique estos parámetros al iniciar el contenedor.
Puede descargar y utilizar el archivo docker-compose para crear el contenedor desde 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
Edite las variables de entorno en el archivo .env (obligatorio si usa un servidor proxy) e inicie el contenedor:
docker-compose up -d
Puede guardar una imagen descargada de Docker Hub para transferirla a una máquina que no tenga acceso a Docker Hub:
docker save -o TorAPI-Docker-Image.tar lifailon/torapi
En los archivos de lanzamiento puede descargar la imagen preparada e iniciarla en su máquina:
docker load -i TorAPI-Docker-Image.tar
Ejecute el contenedor desde la imagen local descargada:
docker run -d --name TorAPI -p 8443:8443 --restart=unless-stopped lifailon/torapi:latest
Puede crear la imagen usted mismo a partir de los archivos fuente del proyecto utilizando dockerfile.
Clona este repositorio:
git clone https://github.com/Lifailon/TorAPI
cd TorAPI
Edite variables u otras configuraciones en el dockerfile
si es necesario:
ENV PROXY_ADDRESS= " 192.168.3.100 "
ENV PROXY_PORT= " 9090 "
ENV USERNAME= " TorAPI "
ENV PASSWORD= " TorAPI "
Construya la imagen y ejecute el contenedor:
docker build -t torapi .
docker run -d --name TorAPI -p 8443:8443 --restart=unless-stopped torapi
Para instalar el proyecto y todas las dependencias, puede utilizar el administrador de paquetes npm:
npm install -g torapi
Clona el repositorio, instala las dependencias e inicia el servidor:
git clone https://github.com/Lifailon/TorAPI
cd TorAPI
npm install
npm start
De forma predeterminada, el servidor se iniciará en el puerto 8443
.
Puede especificar un puerto diferente:
npm start -- -- port 2024
Para el desarrollo, use el modo nodemon (reinicia el servidor cuando cambia el contenido de los archivos):
npm run dev
Utilice un proxy para todas las solicitudes:
npm start -- -- port 2024 -- proxyAddress 192.168 .3 .100 -- proxyPort 9090
Si se requiere autorización en un servidor proxy:
npm start -- -- port 2024 -- proxyAddress 192.168 .3 .100 -- proxyPort 9090 -- username TorAPI -- password TorAPI
La documentación está disponible en la interfaz de usuario de Swagger en: http://localhost:8443/docs
a través del módulo swagger-ui-express. La documentación se describe a través de la biblioteca swagger-jsdoc.
Para crear archivos de documentación Swagger actualizados o actualizados en formato JSON
y YAML
, use el comando:
npm run docs
Puede ejecutar pruebas para comprobar rápidamente el estado de todos los puntos finales en la consola:
npm start -- --test
Durante la prueba, se inicia el servidor local, se realiza una solicitud al punto final /api/provider/test
, la salida se registra en formato JSON y el servidor se cierra.
Cambiar el parámetro del encabezado en la solicitud:
npm start -- --test --q " The Rookie "
Las pruebas parametrizadas también están disponibles a través de GitHub Actions usando Postman vía newman en formato JUnit
:
Para ejecutar pruebas localmente:
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: extensión de Google Chrome que agrega botones al sitio web de Kinopoisk y proporciona una interfaz TorAPI al estilo Jackett (sin la necesidad de instalar una parte del servidor y usar una VPN) para buscar rápidamente películas y series en fuentes abiertas.
? Bot Kinozal: bot de Telegram que te permite automatizar el proceso de entrega de contenido a tu televisor usando solo tu teléfono. Proporciona una interfaz conveniente para interactuar con el rastreador de torrents Kinozal y la base de datos TMDB para rastrear la fecha de lanzamiento de episodios, temporadas y buscar actores para cada episodio, así como la capacidad de administrar el cliente de torrent qBittorrent o Transmission en su computadora, siendo remoto desde casa y desde una única interfaz.
❤️ WebTorrent Desktop api: bifurcación del cliente WebTorrent Desktop, que agregó un mecanismo de control remoto a través de la REST API
basada en Express Framework.
? Reverse Proxy .NET: utilidad de línea de comandos multiplataforma para implementar un servidor proxy inverso basado en .NET . Se utiliza para proporcionar acceso a hosts en la red desde una interfaz de red a aplicaciones remotas a través de protocolos TCP , UDP o HTTP/HTTPS (se admiten solicitudes GET
y POST
para acceder a recursos externos a través de Internet) disponibles a través de otra interfaz de red (por ejemplo, a través de VPN ) en su host sin configuración innecesaria y con soporte de autorización.