242 lines
7.8 KiB
YAML
242 lines
7.8 KiB
YAML
---
|
|
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: 6, cat: PC/0day, desc: "Aplikacje/Programy"}
|
|
- {id: 33, cat: Movies, desc: "iNTERNAL"}
|
|
- {id: 4, cat: Movies, desc: "Bajki"}
|
|
- {id: 31, cat: TV/Anime, desc: "Anime/Seriale"}
|
|
- {id: 1, cat: Movies/HD, desc: "Filmy HD"}
|
|
- {id: 30, cat: TV, desc: "TV Seriale Bajki"}
|
|
- {id: 13, cat: Movies/DVD, desc: "DVD5/9"}
|
|
- {id: 12, cat: Movies/BluRay, desc: "BD25/50_5/9"}
|
|
- {id: 14, cat: Movies/3D, desc: "Filmy 3D"}
|
|
- {id: 16, cat: Movies/SD, desc: "Filmy SD"}
|
|
- {id: 17, cat: Movies/Other, desc: "Filmy inne"}
|
|
- {id: 24, cat: PC/Games, desc: "Gry dodatki"}
|
|
- {id: 5, cat: PC/Games, desc: "Gry PC"}
|
|
- {id: 10, cat: Console, desc: "Gry Konsole"}
|
|
- {id: 18, cat: PC/Mobile-Android, desc: "Mobile"}
|
|
- {id: 19, cat: Other, desc: "Inne"}
|
|
- {id: 8, cat: Audio, desc: "Muzyka"}
|
|
- {id: 11, cat: Movies, desc: "Paczki"}
|
|
- {id: 20, cat: Books, desc: "Book"}
|
|
- {id: 25, cat: Audio/Audiobook, desc: "Audiobook"}
|
|
- {id: 27, cat: TV/Other, desc: "Teatr Telewizyjny"}
|
|
- {id: 21, cat: TV/Sport, desc: "Sport"}
|
|
- {id: 29, cat: Movies, desc: "Stare Filmy"}
|
|
- {id: 22, cat: TV/SD, desc: "TV Seriale SD"}
|
|
- {id: 23, cat: Movies/UHD, desc: "Filmy 4K"}
|
|
- {id: 9, cat: TV/HD, desc: "TV Seriale HD"}
|
|
- {id: 28, cat: TV/Documentary, desc: "TV Dokument"}
|
|
- {id: 2, cat: TV/UHD, desc: "TV 4K"}
|
|
- {id: 15, cat: Movies, desc: "Filmy bez lektora"}
|
|
- {id: 7, cat: XXX, desc: "XXX 18+"}
|
|
- {id: 32, cat: Movies/Other, desc: "Anime/Filmy"}
|
|
- {id: 34, cat: Movies, desc: "Ai - Filmy"}
|
|
- {id: 35, cat: TV, desc: "Ai - Seriale"}
|
|
|
|
modes:
|
|
search: [q]
|
|
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
|
movie-search: [q, imdbid, tmdbid]
|
|
music-search: [q]
|
|
book-search: [q]
|
|
|
|
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: "Accounts that are inactive for 3 months will be moved to the 'Disabled' group. Strict restrictions are imposed on this group. If the account is still inactive after being moved to this group, it will be permanently blocked without the possibility of unblocking. Simply logging in and browsing the site does not count as an active account. Required activity: downloading/uploading torrents, possibly activity on the forum."
|
|
|
|
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://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x)
|
|
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476
|
|
- 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
|
|
infohash:
|
|
selector: info_hash
|
|
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: [" & ", "_&_"]
|
|
description:
|
|
text: "{{ .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.4 but torrents must be seeded for 2 days regardless of ratio
|
|
# minimumratio:
|
|
# text: 0.4
|
|
minimumseedtime:
|
|
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
|
text: 172800
|
|
# json UNIT3D 9.0.3 (custom)
|