適用於種子追蹤器 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 )在您的主機上,無需不必要的配置並具有授權支援。