127 lines
3.1 KiB
YAML
127 lines
3.1 KiB
YAML
---
|
|
id: torrentcontrol
|
|
name: TorrentControl (API)
|
|
description: "TorrentControl (API) is a Public Torrent Tracker for MOVIES / TV / ANIME"
|
|
language: en-US
|
|
type: public
|
|
encoding: UTF-8
|
|
requestDelay: 2
|
|
links:
|
|
- https://torrentcontrol.pw/
|
|
|
|
caps:
|
|
categorymappings:
|
|
- {id: movie, cat: Movies, desc: Movies, default: true}
|
|
- {id: series, cat: TV, desc: Series, default: true}
|
|
- {id: anime, cat: TV/Anime, desc: Anime, default: true}
|
|
|
|
modes:
|
|
search: [q]
|
|
movie-search: [q]
|
|
tv-search: [q, season, ep]
|
|
|
|
settings: []
|
|
|
|
search:
|
|
# docs: https://torrentcontrol.pw/en/api-docs
|
|
paths:
|
|
# since per_page is only 20 we needs to query all 3 cats separately to ensure we get hits for keywordless
|
|
- path: "api/v1/torrents?type=movie&search={{ .Keywords }}"
|
|
response:
|
|
type: json
|
|
categories: [movie]
|
|
|
|
- path: "api/v1/torrents?type=series&search={{ .Keywords }}"
|
|
response:
|
|
type: json
|
|
categories: [series]
|
|
|
|
- path: "api/v1/torrents?type=anime&search={{ .Keywords }}"
|
|
response:
|
|
type: json
|
|
categories: [anime]
|
|
|
|
rows:
|
|
selector: data
|
|
|
|
fields:
|
|
category:
|
|
selector: type
|
|
_id:
|
|
selector: content_id
|
|
details:
|
|
text: "contents/{{ .Result._id }}"
|
|
_language:
|
|
selector: language
|
|
case:
|
|
fr: French
|
|
es: Spanish
|
|
it: Italian
|
|
latino: Latino
|
|
ru: Russian
|
|
"*": ""
|
|
title_default:
|
|
selector: title
|
|
title_file_name:
|
|
selector: file_name
|
|
optional: true
|
|
title_magnet:
|
|
selector: magnet_uri:contains(&dn=)
|
|
optional: true
|
|
filters:
|
|
- name: htmldecode
|
|
- name: querystring
|
|
args: dn
|
|
title:
|
|
text: "{{ if or .Result.title_file_name .Result.title_magnet }}{{ or .Result.title_file_name .Result.title_magnet }}{{ else }}{{ .Result.title_default }}{{ end }}"
|
|
filters:
|
|
- name: append
|
|
args: "{{ if .Result._language }} {{ .Result._language }}{{ else }}{{ end }}"
|
|
magnet:
|
|
selector: magnet_uri
|
|
filters:
|
|
- name: htmldecode
|
|
poster:
|
|
selector: poster_url
|
|
imdbid:
|
|
selector: imdb_id
|
|
tmdbid:
|
|
selector: tmdb_id
|
|
seeders_zero:
|
|
selector: seeders
|
|
seeders:
|
|
selector: seeders
|
|
filters:
|
|
- name: append
|
|
args: "{{ if eq .Result.seeders_zero \"0\" }}1{{ else }}{{ end }}"
|
|
leechers_zero:
|
|
selector: leechers
|
|
leechers:
|
|
selector: leechers
|
|
filters:
|
|
- name: append
|
|
args: "{{ if eq .Result.leechers_zero \"0\" }}1{{ else }}{{ end }}"
|
|
date:
|
|
# 2025-10-12T21:59:04.000000Z
|
|
selector: created_at
|
|
size_default:
|
|
selector: type
|
|
case:
|
|
movie: 9GB
|
|
series: 2GB
|
|
size_in_mb:
|
|
selector: size_in_mb
|
|
optional: true
|
|
size:
|
|
text: "{{ if .Result.size_in_mb }}{{ .Result.size_in_mb }}MB{{ else }}{{ .Result.size_default }}{{ end }}"
|
|
description:
|
|
selector: provider
|
|
filters:
|
|
- name: prepend
|
|
args: "provider: "
|
|
downloadvolumefactor:
|
|
text: 0
|
|
uploadvolumefactor:
|
|
text: 1
|
|
# json api v1
|