Torrents/Prowlarr/config/Definitions/polishtorrent.yml
2026-02-02 13:54:24 -06:00

247 lines
8.0 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: polishtorrent
name: Polish Torrent (API)
description: "Polish Torrent (PTT) is a POLISH Private Torrent Tracker for MOVIES / TV / GENERAL"
language: pl-PL
type: private
encoding: UTF-8
links:
- https://polishtorrent.top/
caps:
categorymappings:
- {id: 32, cat: Movies/Other, desc: "Anime/Filmy"}
- {id: 31, cat: TV/Anime, desc: "Anime/Seriale"}
- {id: 6, cat: PC/0day, desc: "Aplikacje/Programy"}
- {id: 25, cat: Audio/Audiobook, desc: "Audiobook"}
- {id: 4, cat: Movies, desc: "Bajki"}
- {id: 12, cat: Movies/BluRay, desc: "BD25/50_5/9"}
- {id: 20, cat: Books, desc: "Book"}
- {id: 13, cat: Movies/DVD, desc: "DVD5/9"}
- {id: 14, cat: Movies/3D, desc: "Filmy 3D"}
- {id: 23, cat: Movies/UHD, desc: "Filmy 4K"}
- {id: 1, cat: Movies/HD, desc: "Filmy HD"}
- {id: 16, cat: Movies/SD, desc: "Filmy SD"}
- {id: 15, cat: Movies, desc: "Filmy bez lektora"}
- {id: 34, cat: Movies/Other, desc: "Filmy HDTS - Kino"}
- {id: 17, cat: Movies/Other, desc: "Filmy inne"}
- {id: 5, cat: PC/Games, desc: "Gry PC"}
- {id: 24, cat: PC/Games, desc: "Gry dodatki"}
- {id: 10, cat: Console, desc: "Gry Konsole"}
- {id: 19, cat: Other, desc: "Inne"}
- {id: 33, cat: Movies, desc: "iNTERNAL"}
- {id: 18, cat: PC/Mobile-Android, desc: "Mobile"}
- {id: 8, cat: Audio, desc: "Muzyka"}
- {id: 37, cat: TV, desc: "Reality TV"}
- {id: 11, cat: Movies, desc: "Paczki"}
- {id: 36, cat: TV, desc: "Seriale TV - Całe Sezony"}
- {id: 21, cat: TV/Sport, desc: "Sport"}
- {id: 29, cat: Movies, desc: "Stare Filmy"}
- {id: 27, cat: TV/Other, desc: "Teatr Telewizyjny"}
- {id: 2, cat: TV/UHD, desc: "TV 4K"}
- {id: 28, cat: TV/Documentary, desc: "TV Dokument"}
- {id: 30, cat: TV, desc: "TV Seriale Bajki"}
- {id: 9, cat: TV/HD, desc: "TV Seriale HD"}
- {id: 22, cat: TV/SD, desc: "TV Seriale SD"}
- {id: 38, cat: TV, desc: "Reality TV"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
movie-search: [q, imdbid, tmdbid]
music-search: [q]
book-search: [q]
allowtvsearchimdb: true
settings:
- name: apikey
type: text
label: APIKey
- name: info_key
type: info
label: About your API key
default: "Find or Generate a new API Token by accessing your <a href=\"https://polishtorrent.top/\" target=\"_blank\">Polish Torrent</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: single_file_release_use_filename
type: checkbox
label: Use filename as title for single file releases
default: true
- name: multilang
type: checkbox
label: Replace MULTI by another language in release name
default: false
- name: multilanguage
type: select
label: Replace MULTI by this language
default: POLISH
options:
POLISH: POLISH
MULTI POLISH: MULTI POLISH
- name: sort
type: select
label: Sort requested from site
default: created_at
options:
created_at: created
seeders: seeders
size: size
name: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: info_activity
type: info
label: Account Inactivity
default: "<ul><li> login as much as possible no login for 30 days results in the account as DISABLED.</li><li>Lack of login for another 60 days causes permanent account blocking.</li><li>after 90 days of inactivity, the account is automatically deleted by the system.</li><li>This policy applies to users in the following groups: User, PowerUser, SuperUser, and Leech.</li></ul>"
login:
path: /api/torrents
method: get
inputs: {} # TODO: remove in v10
error:
- selector: a[href*="/login"]
message:
text: "The API key was not accepted by {{ .Config.sitelink }}."
- selector: :root:contains("Account is Banned")
search:
paths:
# https://hdinnovations.github.io/UNIT3D/torrent_api.html
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
- path: api/torrents/filter
response:
type: json
headers:
Authorization: ["Bearer {{ .Config.apikey }}"]
inputs:
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
seasonNumber: "{{ .Query.Season }}"
episodeNumber: "{{ .Query.Ep }}"
imdbId: "{{ .Query.IMDBIDShort }}"
tmdbId: "{{ .Query.TMDBID }}"
tvdbId: "{{ .Query.TVDBID }}"
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
keywordsfilters:
- name: re_replace
args: ["\\.", " "]
rows:
selector: data
attribute: attributes
fields:
category:
selector: category_id
title_optional:
selector: name
title_filename:
selector: "files[0].name"
optional: true
files:
selector: num_file
title_phase1:
text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
title_multilang:
text: "{{ .Result.title_phase1 }}"
filters:
- name: re_replace
args: ["(?i)\\b(MULTI(?!.*(?:POLISH|ENGLISH|\\bPL\\b)))\\b", "{{ .Config.multilanguage }}"]
- name: re_replace
args: ["(?i)\\b(pl)\\b", "POLISH"]
title:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
details:
selector: details_link
download:
selector: download_link
poster:
selector: meta.poster
filters:
- name: replace
args: ["https://via.placeholder.com/90x135", ""]
imdbid:
selector: imdb_id
tmdbid:
selector: tmdb_id
tvdbid:
selector: tvdb_id
genre:
selector: meta.genres
filters:
- name: re_replace
args: ["(?i)(Akcja i Przygoda)", "Akcja_i_Przygoda"]
- name: re_replace
args: ["(?i)(film TV)", "film_TV"]
- name: replace
args: [" & ", "_&_"]
_internal:
selector: internal
case:
False: "{{ .False }}"
True: "{{ .True }}"
description:
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
seeders:
selector: seeders
leechers:
selector: leechers
grabs:
selector: times_completed
date:
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
selector: created_at
filters:
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "MM/dd/yyyy HH:mm:ss zzz"
size:
selector: size
_featured:
selector: featured
case:
False: "{{ .False }}"
True: "{{ .True }}"
downloadvolumefactor_freeleech:
# api returns 0%, 25%, 50%, 75%, 100%
selector: freeleech
case:
0%: 1 # not free
25%: 0.75
50%: 0.5
75%: 0.25
100%: 0 # freeleech
"*": 0 # catch errors
downloadvolumefactor:
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
uploadvolumefactor_double_upload:
# api returns False, True
selector: double_upload
case:
False: 1 # normal
True: 2 # double
uploadvolumefactor:
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
# global MR is 0.7 but torrents must be seeded for 5 days regardless of ratio
# minimumratio:
# text: 0.7
minimumseedtime:
# 10 days (as seconds = 10 x 24 x 60 x 60)
text: 864000
# json UNIT3D 9.2.0 (custom)