适用于种子跟踪器 RuTracker、Kinozal、RuTor 和 NoNameClub 的非官方 API(后端)。用于快速集中搜索分发、接收 torrent 文件、磁力链接以及有关按电影标题、系列或分发标识符分发的详细信息,并且还向所有提供商提供按类别过滤的新闻 RSS 提要。
您可以使用 Vercel 上发布的公共免费版本,也可以使用无服务器或本地 Docker 将其自行部署在任何云平台上。
OpenAPI规范可在 Swagger Hub 官方网站上找到。
根据麻省理工学院许可发布。
使用公共版本时,您不需要使用 VPN,因为此服务处于网关角色,这允许您将API
集成到任何项目中而不受网络限制,并且还可以在移动设备上使用新闻源,例如通过 ReadYou或馈线。 API 的工作不需要跟踪器中的访问令牌和授权。
该项目的灵感来自于俄语种子提供商的 Torrent-Api-py(以前称为 Torrents-Api)。
XML
和JSON
格式获取所有使用的提供商的 RSS 新提要。简单的用户界面(如 Jackett)的实现可以通过 Google Chrome 扩展实现? Libre Kinopoisk 用于同时搜索所有可用 torrent 跟踪器中的发行版,并通过磁力链接或直接从跟踪器下载 torrent 文件。
Torrent 搜索插件可通过 Wox 界面快速搜索所有可用 torrent 跟踪器中的发行版,该插件可从插件存储库安装。
提供商名称 | 镜子 | 登记 | 搜索和 RSS 过滤器 | 按 ID 搜索 | RSS |
---|---|---|---|---|---|
鲁追踪器 | 3 | 是的* | 类别 | 是的 | 本国的 |
基诺萨尔 | 3 | 是的* | 类别、发布年份、格式 | 是的 | 风俗 |
鲁托尔 | 2 | 不 | 类别 | 是的 | 风俗 |
无名俱乐部 | 1 | 不 | 类别 | 是的 | 本国的 |
*仅当通过直接链接下载 torrent 文件时才需要注册。按id (标识符)搜索时的所有发行版均包含信息哈希和和磁力链接(已包含 torrent 跟踪服务器的当前列表),这允许在使用任何 torrent 客户端(例如 qBittorrent)下载元数据后立即开始加载内容发行版或生成 torrent 文件(支持 RSS 和搜索插件)、Transmission 或 Webtorrent Desktop。
通过重定向原始频道来访问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 Hub 下载并使用 docker-compose 文件来构建容器:
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中通过模块 swagger-ui-express 获取: http://localhost:8443/docs
。该文档通过 swagger-jsdoc 库进行描述。
要创建最新或更新JSON
和YAML
格式的 Swagger 文档文件,请使用以下命令:
npm run docs
您可以在控制台中运行测试来快速检查所有端点的运行状况:
npm start -- --test
在测试期间,本地服务器启动,向端点/api/provider/test
发出请求,以 JSON 格式记录输出,然后服务器退出。
更改请求中的标头参数:
npm start -- --test --q " The Rookie "
参数化测试也可以通过 GitHub Actions 使用 Postman 通过 newman 以JUnit
格式进行:
要在本地运行测试:
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 扩展程序,向 Kinopoisk 网站添加按钮,并提供 Jackett 风格的TorAPI界面(无需安装服务器部分和使用 VPN),用于快速搜索开源中的电影和连续剧。
? Kinozal 机器人 - Telegram 机器人,允许您仅使用手机自动将内容传送到电视的过程。提供一个方便的界面,用于与 torrent 跟踪器 Kinozal 和数据库 TMDB 进行交互,以跟踪剧集的发布日期、季节并搜索每集的演员,以及在计算机上管理 torrent 客户端 qBittorrent 或 Transmission 的能力,从家里和单一界面远程。
❤️ WebTorrent Desktop api - WebTorrent Desktop 客户端的分支,它通过基于 Express Framework 的REST API
添加了远程控制机制。
?反向代理 .NET - 用于实现基于.NET的反向代理服务器的跨平台命令行实用程序。它用于通过TCP 、 UDP或HTTP/HTTPS协议(支持GET
和POST
请求通过 Internet 访问外部资源)从一个网络接口向远程应用程序提供对网络上主机的访问,可通过另一个网络接口(例如通过VPN )在您的主机上,无需不必要的配置并具有授权支持。