Loading repository data…
Loading repository data…
Lifailon / repository
Unofficial API (backend) and RSS for RuTracker, Kinozal, RuTor and NoNameClub for receiving torrent files and detailed information about distribution.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Неофициальный API (backend) для торрент трекеров RuTracker, Kinozal, RuTor и NoNameClub. Используется для быстрого и централизованного поиска раздач, получения торрент файлов, магнитных ссылок и подробной информации о раздаче по названию фильма, сериала или идентификатору раздачи.
Проект вдохновлен ✨ Torrent-Api-py (ранее Torrents-Api) для русскоязычных торрент провайдеров.
Вы можете воспользоваться публичной и бесплатной версией опубликованной в Vercel, или развернуть его самостоятельно на любом облачной бессерверной платформе (serverless), а также локально с помощью Docker или менеджера пакетов NPM.
Спецификация OpenAPI доступна на официальном сайте Swagger Hub.
Выпущено под лицензией MIT.
При использовании публичной версии не нужно использовать VPN сервисы, так как данный сервер выступает в роле шлюза, что позволяет интегрировать API в любой проект без сетевых ограничений, а также использовать новостную RSS ленту на мобильных устройствах, например, через ReadYou или Feeder. Для работы API не требуется токен доступа и авторизация в трекерах.
id), категорию (используется для фильтрации по категории), краткая информация и ссылка на скачивание торрент-файла.RSS лент для всех используемых провайдеров с поддержкой фильтрации в форматах XML, а также JSON.| Имя провайдера | Зеркала | Регистрация | Фильтрация для поиска и RSS | Поиск по ID | RSS |
|---|---|---|---|---|---|
| RuTracker | 3 | Yes* | Категория | Yes | Native |
| Kinozal | 3 | Yes* | Категория, год выхода, формат | Yes | Custom |
| RuTor | 2 | No | Категория | Yes | Custom |
| NoNameClub | 1 | No | Категория | Yes | Native |
* Регистрация требуется только при скачивании торрент-файла по прямой ссылке. Все раздачи при поиске по id (идентификатору) содержат хэш сумму и магнитные ссылки (уже включают в себя актуальный список серверов торрент-трекеров), которые позволяют сразу начать загрузку содержимого раздачи или сгенерировать торрент-файл после загрузки метаданных с помощью любого торрент-клиента, например, qBittorrent (поддерживает RSS и поисковые плагины), Transmission или Webtorrent Desktop.
Доступ к новостным RSS лентам для RuTracker и NoNameClub осуществляется путем перенаправления оригинального канала. Для провайдеров Kinozal и RuTor реализована кастомная лента новостей с главной страницы, которые поддерживают фильтрацию по категориям.
Пользовательский интерфейс для браузера и мобильных устройств в стиле Jackett через расширение 🍿 Libre Kinopoisk для одновременного поиска раздач во всех доступных торрент-трекерах и загрузки контента.
Плагин Torrent Search для быстрого поиска раздач во всех доступных торрент-трекерах через интерфейс Wox, которое доступно для установки из репозитория плагинов.
Вы можете развернуть свой публичный сервер на платформе Vercel из исходного кода репозитория. Для этого нажмите кнопку ниже и следуйте инструкциям:
Проект использует GitHub Actions для сборки контейнера Docker и автоматического тестирования функциональности всех конечных точек.
Загрузите образ из Docker Hub и запустите контейнер:
docker run -d --name TorAPI -p 8443:8443 --restart=unless-stopped lifailon/torapi:latest
Что бы использовать 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
Замените содержимое переменных для подключения к прокси-серверу на свои. Если авторизация не используется, просто не указывайте эти параметры при запуске контейнера.
Возможно загрузить и использовать файл 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
Вы можете создать образ самостоятельно из исходных файлов проекта, используя dockerfile.
Клонируйте репозиторий:
git clone https://github.com/Lifailon/TorAPI
cd 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 по адресу http://localhost:8443/docs с использованием модуля swagger-ui-express. Описание документации производится через библиотеку swagger-jsdoc.
Чтобы создать или обновить файлы документации Swagger в формате JSON и YAML, используйте команду:
npm run docs
Вы можете протестировать API, чтобы быстро проверить работоспособность всех конечных точек в консоли:
npm start -- --test
Во время тестирования запускается локальный сервер, делается запрос к конечной точке /api/provider/test, логирует вывод в формате JSON и завершает свою работу.
Изменение параметра заголовк