diff --git a/definitions/v5/3dtorrents.yml b/definitions/v5/3dtorrents.yml
index 8b660339d..e550cece5 100644
--- a/definitions/v5/3dtorrents.yml
+++ b/definitions/v5/3dtorrents.yml
@@ -10,20 +10,20 @@ links:
caps:
categorymappings:
- - {id: 14, cat: Movies, desc: "Movies XviD"}
- - {id: 34, cat: Movies, desc: "Movies UltraHD"}
- - {id: 15, cat: Movies, desc: "Movies DVD-R"}
- - {id: 11, cat: Movies, desc: "Movies 720p"}
- - {id: 13, cat: Movies, desc: "Movies 1080p"}
- - {id: 16, cat: Movies, desc: "Movies 3DTV"}
- - {id: 17, cat: Movies, desc: "Movies Blu-ray"}
- - {id: 27, cat: Movies, desc: "Movies BD25 Encode"}
- - {id: 33, cat: Movies, desc: "Movies BD9 AVCHD"}
+ - {id: 14, cat: Movies/SD, desc: "Movies XviD"}
+ - {id: 15, cat: Movies/DVD, desc: "Movies DVD-R"}
+ - {id: 11, cat: Movies/HD, desc: "Movies 720p"}
+ - {id: 13, cat: Movies/HD, desc: "Movies 1080p"}
+ - {id: 16, cat: Movies/3D, desc: "Movies 3DTV"}
+ - {id: 17, cat: Movies/BluRay, desc: "Movies Blu-ray"}
+ - {id: 27, cat: Movies/BluRay, desc: "Movies BD25 Encode"}
+ - {id: 33, cat: Movies/BluRay, desc: "Movies BD9 AVCHD"}
- {id: 22, cat: Movies, desc: "Movies 2D to 3D Conv"}
- {id: 32, cat: Movies, desc: "Bluray MKV Remux"}
- - {id: 23, cat: Movies, desc: "Movies Evo 3D"}
+ - {id: 23, cat: Movies/3D, desc: "Movies Evo 3D"}
+ - {id: 36, cat: Movies/UHD, desc: "Movies 4K UHD Bluray"}
+ - {id: 37, cat: Movies/UHD, desc: "Movies 4K UHD Encode"}
- {id: 21, cat: PC, desc: "3D Software"}
- - {id: 2, cat: Audio, desc: "Music"}
- {id: 28, cat: XXX, desc: "Adult 720p"}
- {id: 29, cat: XXX, desc: "Adult 1080p"}
- {id: 30, cat: XXX, desc: "Adult Blu-ray"}
@@ -42,6 +42,21 @@ settings:
- name: password
type: password
label: Password
+ - name: sort
+ type: select
+ label: Sort requested from site
+ default: 3
+ options:
+ 3: created
+ 5: seeders
+ 2: title
+ - name: type
+ type: select
+ label: Order requested from site
+ default: 2
+ options:
+ 1: desc
+ 2: asc
- name: info
type: info
label: Results Per Page
@@ -62,6 +77,7 @@ login:
- selector: span.errormsg
test:
path: index.php
+ selector: a[href="logout.php"]
search:
paths:
@@ -71,8 +87,12 @@ search:
search: "{{ .Keywords }}"
page: torrents
category: 0
+ # 0 all, 1 Anaglyph 3D, 2 Side by Side,3 Over Under
3dformat: 0
- active: 1
+ # 0 all, 1 active only, 2 dead only
+ active: 0
+ order: "{{ .Config.sort }}"
+ by: "{{ .Config.type }}"
rows:
selector: table[cellspacing!="1"].lista > tbody > tr:has(a[href^="index.php?page=torrents&category="])
@@ -85,23 +105,22 @@ search:
- name: querystring
args: category
title:
- remove: span
- selector: td:nth-child(2)
+ selector: a[href^="index.php?page=torrent-details&id="]
+ details:
+ selector: a[href^="index.php?page=torrent-details&id="]
+ attribute: href
download:
selector: a[href^="index.php?page=torrent-details&id="]
attribute: href
filters:
- name: replace
args: ["index.php?page=torrent-details&id=", "download.php?id="]
- details:
+ poster:
selector: a[href^="index.php?page=torrent-details&id="]
- attribute: href
- size:
- selector: td:nth-last-child(4)
- seeders:
- selector: td:nth-last-child(3)
- leechers:
- text: 0
+ attribute: onmouseover
+ filters:
+ - name: regexp
+ args: ",\\'(.+?)\\'"
date:
selector: td:nth-last-child(5)
filters:
@@ -109,11 +128,23 @@ search:
args: " -07:00" # PDT
- name: dateparse
args: "02/01/2006 -07:00"
+ size:
+ selector: td:nth-last-child(4)
+ seeders:
+ selector: a[href^="index.php?page=peers"]
+ leechers:
+ selector: td:has(a[href^="index.php?page=peers"]) + td
+ grabs_optional:
+ selector: a[href^="index.php?page=torrent_history"]
+ optional: true
+ grabs:
+ text: "{{ if .Result.grabs_optional }}{{ .Result.grabs_optional }}{{ else }}0{{ end }}"
downloadvolumefactor:
case:
- img[title^="You get 50% off download count on this torrent"]: 0.5
+ img[src="images/50off.png"]: 0.5
"*": 1
uploadvolumefactor:
- case:
- "*": 1
+ text: 1
+ minimumratio:
+ text: 1.0
# xbtit
diff --git a/definitions/v5/btsow.yml b/definitions/v5/btsow.yml
index 00922cbca..6f20de865 100644
--- a/definitions/v5/btsow.yml
+++ b/definitions/v5/btsow.yml
@@ -5,17 +5,10 @@ description: "BTSOW is a Public torrent indexer"
language: en-US
type: public
encoding: UTF-8
+# use https://tellme.pw/btsow to find the new domain
links:
- - https://btsow.bar/
+ - https://btsow.click/
legacylinks:
- - https://btos.pw/
- - https://btio.pw/
- - https://btsow.club/
- - https://bteve.com/
- - https://btsow.fun/
- - https://btsow.space/
- - https://btsow.site/
- - https://btsow.cyou/
- https://btsow.monster/
- https://btsow.casa/
- https://btsow.website/
@@ -30,6 +23,7 @@ legacylinks:
- https://btsow.us/
- https://btsow.one/
- https://btsow.rest/
+ - https://btsow.bar/
caps:
categories:
diff --git a/definitions/v5/extremetorrents.yml b/definitions/v5/extremetorrents.yml
index 977432773..8cadf0081 100644
--- a/definitions/v5/extremetorrents.yml
+++ b/definitions/v5/extremetorrents.yml
@@ -10,28 +10,29 @@ links:
caps:
categorymappings:
- - {id: 10, cat: Movies/DVD, desc: "Film DVD rip"}
- - {id: 111, cat: Movies/DVD, desc: "Film DVD Promo"}
- - {id: 118, cat: Movies/DVD, desc: "Film DVD Kids"}
- - {id: 113, cat: Movies, desc: "Films Independent"}
- - {id: 129, cat: Movies/HD, desc: "Films HD DVD"}
- - {id: 130, cat: Movies/UHD, desc: "Films 4K"}
- - {id: 143, cat: Movies/HD, desc: "Films DivX 720P"}
- - {id: 114, cat: Audio/MP3, desc: "Muziek MP3"}
+ - {id: 130, cat: Movies/UHD, desc: "4K Film"}
+ - {id: 129, cat: Movies/HD, desc: "HD Film - HD MKV"}
+ - {id: 123, cat: Movies/HD, desc: "HD Film - HEVC x265"}
+ - {id: 10, cat: Movies/DVD, desc: "DVD Film - Retail DVD"}
+ - {id: 111, cat: Movies/DVD, desc: "DVD Film - HD2DVD / BR2DVD"}
+ - {id: 128, cat: Audio/Video, desc: "DVD Film - Muziek DVD"}
+ - {id: 118, cat: Movies/Other, desc: "DVD Film - Kids DVD"}
+ - {id: 125, cat: Movies/SD, desc: "DivX - Divx Rip"}
+ - {id: 143, cat: Movies/HD, desc: "DivX - Divx 720P"}
+ - {id: 132, cat: TV, desc: "Serie's - Complete Seizoen"}
+ - {id: 139, cat: TV, desc: "Serie's - Losse Afleveringen"}
+ - {id: 105, cat: TV/Documentary, desc: "Docu's"}
+ - {id: 115, cat: PC/0day, desc: "Software - Windows"}
+ - {id: 116, cat: PC/Mac, desc: "Software - Mac"}
+ - {id: 105, cat: PC/ISO, desc: "Software - Linux"}
+ - {id: 120, cat: PC/Games, desc: "Games"}
+ - {id: 114, cat: Audio/MP3, desc: "Muziek - MP3"}
+ - {id: 142, cat: Audio/Lossless, desc: "Muziek - Flac"}
+ - {id: 131, cat: Books/Comics, desc: "Stipboeken"}
- {id: 140, cat: Books/EBook, desc: "E-Book"}
- - {id: 105, cat: TV/Documentary, desc: "Documentaire"}
- - {id: 115, cat: PC, desc: "PC apps"}
- - {id: 120, cat: PC/Games, desc: "PC Games"}
- - {id: 106, cat: Other, desc: "Overig"}
- - {id: 131, cat: Books/Comics, desc: "Stripboeken"}
- - {id: 132, cat: TV/HD, desc: "TV HD Serie"}
- - {id: 116, cat: PC/Mac, desc: "Mac Software"}
- - {id: 125, cat: Movies/SD, desc: "Xvid Rip"}
- - {id: 123, cat: Movies/HD, desc: "MKV/X265"}
- - {id: 108, cat: XXX, desc: "18+"}
- - {id: 142, cat: XXX/x264, desc: "18+ HD"}
- - {id: 139, cat: TV, desc: "TV Series"}
- - {id: 128, cat: Audio/Video, desc: "muziek DVD"}
+ - {id: 155, cat: Books/Mags, desc: "Tijdschriften"}
+ - {id: 108, cat: XXX, desc: "18+ XXX"}
+ - {id: 106, cat: Other, desc: "Overige"}
modes:
search: [q]
@@ -91,6 +92,11 @@ search:
search: "{{ .Keywords }}"
incldead: 1
# does not support imdbid search and does not return imdb link in results
+ keywordsfilters:
+ - name: re_replace # S01E02 to 1 2
+ args: ["(?i)\\bS0*(\\d{1,2})\\s*E0*(\\d{1,2})\\b", "$1 $2"]
+ - name: re_replace # S01 to 1
+ args: ["(?i)\\bS0*(\\d{1,2})\\b", "$1"]
rows:
selector: table.mainouter
@@ -108,11 +114,13 @@ search:
selector: a[href^="details.php?id="]
filters:
- name: re_replace
- args: ["(?i)seizoen\\s*(\\d{1,2})\\s*(tot|t\/m)\\s*(\\d{1,2})", "S$1-$3"]
+ args: ["(?i)(seizoen\\s*)(\\d{1,2})\\s*(tot|t\/m|&|\\+)\\s*(\\d{1,2})", "S$2-$4"]
- name: re_replace
args: ["(?i)(seizoen\\s*)(\\d{1,2})", "S$2"]
- name: re_replace
- args: ["(?i)(afl.\\s*|aflevering\\s*)(\\d{1,2})", "E$2"]
+ args: ["(?i)(afl.\\s*|aflevering\\s*|ep.\\s*)(\\d{1,2})\\s*(tot|t\/m|&|\\+)\\s*(\\d{1,2})", "E$2-$4"]
+ - name: re_replace
+ args: ["(?i)(afl.\\s*|aflevering\\s*|ep.\\s*)(\\d{1,2})", "E$2"]
- name: re_replace
args: ["(?i)compleet", "Complete"]
details:
@@ -183,4 +191,6 @@ search:
text: 0
uploadvolumefactor:
text: 1
+ minimumratio:
+ text: 1.0
# engine n/a
diff --git a/definitions/v5/extremlymtorrents.yml b/definitions/v5/extremlymtorrents.yml
index 7f25a0182..6e4d37088 100644
--- a/definitions/v5/extremlymtorrents.yml
+++ b/definitions/v5/extremlymtorrents.yml
@@ -128,17 +128,15 @@ search:
args: cat
_language:
selector: td:nth-last-child(5)
- description:
+ _vip:
selector: img[src="/images/vip-icon.png"]
- attribute: src
- filters:
- - name: replace
- args: ["/images/vip-icon.png", " VIP ONLY"]
+ attribute: alt
+ optional: true
title:
selector: a[href^="file.php?id="] b
filters:
- name: append
- args: " {{ .Result._language }}{{ .Result.description }}"
+ args: " {{ .Result._language }}{{ if .Result._vip }} VIP ONLY{{ else }}{{ end }}"
details:
selector: a[href^="file.php?id="]
attribute: href
diff --git a/definitions/v5/film-paleis.yml b/definitions/v5/film-paleis.yml
index 00c67f3a1..a74af416b 100644
--- a/definitions/v5/film-paleis.yml
+++ b/definitions/v5/film-paleis.yml
@@ -113,7 +113,7 @@ search:
- name: re_replace
args: ["(?i)(seizoen\\s*)(\\d{1,2})\\s*(tot|t\/m|&|\\+)\\s*(\\d{1,2})", "S$2-$4"]
- name: re_replace
- args: ["(?i)(seizoen\\s*)(\\d{1,2})\\s*", "S$2"]
+ args: ["(?i)(seizoen\\s*)(\\d{1,2})", "S$2"]
- name: re_replace
args: ["(?i)(afl.\\s*|aflevering\\s*|ep.\\s*)(\\d{1,2})\\s*(tot|t\/m|&|\\+)\\s*(\\d{1,2})", "E$2-$4"]
- name: re_replace
diff --git a/definitions/v5/fouducinema.yml b/definitions/v5/fouducinema.yml
index e948528e5..a10b39cd5 100644
--- a/definitions/v5/fouducinema.yml
+++ b/definitions/v5/fouducinema.yml
@@ -14,6 +14,7 @@ caps:
categorymappings:
- {id: 1, cat: Movies/SD, desc: "FILM Xvid"}
- {id: 62, cat: Movies/WEB-DL, desc: "FILM WEB"}
+ - {id: 63, cat: Movies/WEB-DL, desc: "FILM WEB"}
- {id: 66, cat: Movies/HD, desc: "FILM HDRip"}
- {id: 34, cat: Movies/SD, desc: "FILM TVRip"}
- {id: 33, cat: Movies/HD, desc: "FILM HDTV"}
@@ -26,8 +27,9 @@ caps:
- {id: 25, cat: Movies/BluRay, desc: "FILM ISO"}
- {id: 4, cat: Movies/HD, desc: "FILM 1080"}
- {id: 2, cat: Movies/DVD, desc: "FILM DVD"}
- - {id: 63, cat: Movies/WEB-DL, desc: "FILM WEB"}
+ - {id: 75, cat: Movies/UHD, desc: "FILM 2160 P"}
- {id: 9, cat: TV/SD, desc: "SERIE DVD"}
+ - {id: 65, cat: TV/HD, desc: "SERIE HDRip"}
- {id: 37, cat: TV, desc: "SERIE EPISODE"}
- {id: 21, cat: TV/HD, desc: "SERIE HDTV.1080p"}
- {id: 20, cat: TV/HD, desc: "SERIE HDTV.720p"}
@@ -38,7 +40,7 @@ caps:
- {id: 15, cat: TV/WEB-DL, desc: "SERIE WEB.1080p"}
- {id: 14, cat: TV/WEB-DL, desc: "SERIE WEB.720p"}
- {id: 12, cat: TV/WEB-DL, desc: "SERIE WEB"}
- - {id: 65, cat: TV/HD, desc: "SERIE HDRip"}
+ - {id: 72, cat: TV/UHD, desc: "SERIE 2160 P"}
- {id: 67, cat: TV/Anime, desc: "ANIMEE films"}
- {id: 70, cat: TV/Anime, desc: "ANIMEE Series"}
- {id: 56, cat: PC/ISO, desc: "LOGICIELS Linux"}
diff --git a/definitions/v5/huntorrent.yml b/definitions/v5/huntorrent.yml
index c86313131..6da9e3286 100644
--- a/definitions/v5/huntorrent.yml
+++ b/definitions/v5/huntorrent.yml
@@ -103,11 +103,12 @@ search:
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
# Age Limit: 0 all, 1 no, 5 6, 2 12, 3 16, 4 18
korhatar: 0
- # 0 active, 1 all, 2 dead, 3 my uploads, 4 my bookmarks
+ # 0 active, 1 active+dead, 2 dead, 3 my uploads, 4 waiting for seed, 7 my bookmarks, 12 reseeded by me
incldead: 1
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
# no freeleech atm
+ # can search by genre but you need to know the id. &mufaj[]=20 for Romantikus
rows:
selector: table[align="center"][cellpadding="5"] > tbody > tr[id^="torrent-main-"]
diff --git a/definitions/v5/kinozal.yml b/definitions/v5/kinozal.yml
index b873e1b9e..d41856fb2 100644
--- a/definitions/v5/kinozal.yml
+++ b/definitions/v5/kinozal.yml
@@ -152,6 +152,8 @@ search:
keywordsfilters:
# - name: diacritics # 8686
# args: replace
+ - name: re_replace
+ args: ["[^a-zA-Zа-яА-Я0-9]+", " "]
- name: re_replace # S01 to 1
args: ["(?i)\\bS0*(\\d+)\\b", "$1"]
- name: re_replace # S01E01 to 1 1
diff --git a/definitions/v5/piratbit.yml b/definitions/v5/piratbit.yml
index 8ce8c843f..c6fc45317 100644
--- a/definitions/v5/piratbit.yml
+++ b/definitions/v5/piratbit.yml
@@ -7,12 +7,13 @@ type: public
encoding: UTF-8
links:
- https://pb.wtf/
- - http://top.piratbit.fun/
+ - https://top.pirat.one/
legacylinks:
- https://piratbit.pw/
- https://piratbit.ml/
- http://piratbit.top/
- https://piratbit.top/
+ - http://top.piratbit.fun/
caps:
categorymappings:
diff --git a/definitions/v5/piratbitl.yml b/definitions/v5/piratbitl.yml
index ab1bde544..402434031 100644
--- a/definitions/v5/piratbitl.yml
+++ b/definitions/v5/piratbitl.yml
@@ -7,12 +7,13 @@ type: semi-private
encoding: UTF-8
links:
- https://pb.wtf/
- - http://top.piratbit.fun/
+ - https://top.pirat.one/
legacylinks:
- https://piratbit.pw/
- https://piratbit.ml/
- http://piratbit.top/
- https://piratbit.top/
+ - http://top.piratbit.fun/
caps:
categorymappings:
diff --git a/definitions/v5/pixelados.yml b/definitions/v5/pixelados.yml
index 35361f885..3cabb3245 100644
--- a/definitions/v5/pixelados.yml
+++ b/definitions/v5/pixelados.yml
@@ -100,8 +100,26 @@ search:
fields:
category:
selector: category_id
+ _mejorada:
+ selector: types:contains(Mejorada)
+ optional: true
+ _corregida:
+ selector: types:contains(Corregida)
+ optional: true
+ _audio_editado:
+ selector: types:contains(Audio-Editado)
+ optional: true
+ title_vose:
+ selector: name:contains(VOSE)
+ optional: true
+ title_notvose:
+ selector: name:not(:contains(VOSE))
+ optional: true
+ filters:
+ - name: append
+ args: " SPANISH"
title:
- selector: name
+ text: "{{ if .Result.title_vose }}{{ .Result.title_vose }}{{ else }}{{ .Result.title_notvose }}{{ end }}{{ if or .Result._mejorada .Result._corregida .Result._audio_editado }} PROPER{{ else }}{{ end }}"
filters:
# Replace Spanish season names like T1, MS (MiniSerie), TU (Temporada Unica) for normalized format S1
- name: re_replace
diff --git a/definitions/v5/pttime.yml b/definitions/v5/pttime.yml
index 7eed80cc8..bd388e259 100644
--- a/definitions/v5/pttime.yml
+++ b/definitions/v5/pttime.yml
@@ -25,6 +25,14 @@ caps:
- {id: 430, cat: TV/Anime, desc: "Animate(3D动画、2.5次元)"}
- {id: 431, cat: TV/Anime, desc: "ACGN(二次元)"}
- {id: 432, cat: TV/Other, desc: "Baby(婴幼、早教、小学及相关)"}
+ - {id: 440, cat: XXX, desc: "9kg-AV(步兵/无码)"}
+ - {id: 441, cat: XXX, desc: "9kg-Sex(骑兵/有码)"}
+ - {id: 442, cat: XXX, desc: "9kg-III(三级片、限制级电影)"}
+ - {id: 443, cat: XXX, desc: "9kg-H动漫"}
+ - {id: 444, cat: XXX, desc: "9kg-H游戏"}
+ - {id: 445, cat: XXX, desc: "9kg-H书籍(书籍、有声书)"}
+ - {id: 446, cat: XXX, desc: "9kg-H写真(图片、私拍、短视频)"}
+ - {id: 447, cat: XXX, desc: "9kg-H音频(ASMR、音乐、音频)"}
- {id: 450, cat: Other, desc: "Resource(资源、素材、模板)"}
- {id: 451, cat: PC, desc: "Software(软件、系统、 程序、APP等)"}
- {id: 490, cat: Other, desc: "Other(其它)"}
@@ -71,6 +79,9 @@ login:
search:
paths:
- path: torrents.php
+ categories: ["!", 440, 441, 442, 443, 444, 445, 446, 447]
+ - path: adults.php
+ categories: [440, 441, 442, 443, 444, 445, 446, 447]
inputs:
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
diff --git a/definitions/v5/rudub.yml b/definitions/v5/rudub.yml
index b768e10e8..4260638ca 100644
--- a/definitions/v5/rudub.yml
+++ b/definitions/v5/rudub.yml
@@ -7,6 +7,7 @@ type: semi-private
encoding: windows-1251
links:
- http://rudub.tv/ # https is unsupported ERR_CONNECTION_REFUSED
+ - http://rudub.co/ # https is unsupported ERR_CONNECTION_REFUSED
legacylinks:
- http://baibako.tv/
- https://baibako.tv/
diff --git a/definitions/v5/torrentsir.yml b/definitions/v5/torrentsir.yml
index acbf18360..0383f4c94 100644
--- a/definitions/v5/torrentsir.yml
+++ b/definitions/v5/torrentsir.yml
@@ -7,12 +7,8 @@ type: public
encoding: UTF-8
followredirect: true
links:
- - https://torrentsir64.com/
+ - https://torrentsir65.com/
legacylinks:
- - http://torrentsir56.com/
- - https://torrentsir56.com/
- - http://torrentsir57.com/
- - https://torrentsir57.com/
- http://torrentsir58.com/
- https://torrentsir58.com/
- http://torrentsir59.com/
@@ -26,6 +22,8 @@ legacylinks:
- http://torrentsir63.com/
- https://torrentsir63.com/
- http://torrentsir64.com/
+ - https://torrentsir64.com/
+ - http://torrentsir65.com/
caps:
categorymappings:
diff --git a/definitions/v6/fouducinema.yml b/definitions/v6/fouducinema.yml
index e948528e5..a10b39cd5 100644
--- a/definitions/v6/fouducinema.yml
+++ b/definitions/v6/fouducinema.yml
@@ -14,6 +14,7 @@ caps:
categorymappings:
- {id: 1, cat: Movies/SD, desc: "FILM Xvid"}
- {id: 62, cat: Movies/WEB-DL, desc: "FILM WEB"}
+ - {id: 63, cat: Movies/WEB-DL, desc: "FILM WEB"}
- {id: 66, cat: Movies/HD, desc: "FILM HDRip"}
- {id: 34, cat: Movies/SD, desc: "FILM TVRip"}
- {id: 33, cat: Movies/HD, desc: "FILM HDTV"}
@@ -26,8 +27,9 @@ caps:
- {id: 25, cat: Movies/BluRay, desc: "FILM ISO"}
- {id: 4, cat: Movies/HD, desc: "FILM 1080"}
- {id: 2, cat: Movies/DVD, desc: "FILM DVD"}
- - {id: 63, cat: Movies/WEB-DL, desc: "FILM WEB"}
+ - {id: 75, cat: Movies/UHD, desc: "FILM 2160 P"}
- {id: 9, cat: TV/SD, desc: "SERIE DVD"}
+ - {id: 65, cat: TV/HD, desc: "SERIE HDRip"}
- {id: 37, cat: TV, desc: "SERIE EPISODE"}
- {id: 21, cat: TV/HD, desc: "SERIE HDTV.1080p"}
- {id: 20, cat: TV/HD, desc: "SERIE HDTV.720p"}
@@ -38,7 +40,7 @@ caps:
- {id: 15, cat: TV/WEB-DL, desc: "SERIE WEB.1080p"}
- {id: 14, cat: TV/WEB-DL, desc: "SERIE WEB.720p"}
- {id: 12, cat: TV/WEB-DL, desc: "SERIE WEB"}
- - {id: 65, cat: TV/HD, desc: "SERIE HDRip"}
+ - {id: 72, cat: TV/UHD, desc: "SERIE 2160 P"}
- {id: 67, cat: TV/Anime, desc: "ANIMEE films"}
- {id: 70, cat: TV/Anime, desc: "ANIMEE Series"}
- {id: 56, cat: PC/ISO, desc: "LOGICIELS Linux"}
diff --git a/definitions/v6/pixelados-html.yml b/definitions/v6/pixelados-html.yml
index 4070ba3c2..e12be9d76 100644
--- a/definitions/v6/pixelados-html.yml
+++ b/definitions/v6/pixelados-html.yml
@@ -154,6 +154,9 @@ search:
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
+ tvdbid:
+ selector: a[href*="thetvdb.com/"]
+ attribute: href
tmdbid:
selector: a[href*="themoviedb.org/movie/"], a[href*="themoviedb.org/tv/"]
attribute: href
@@ -218,4 +221,4 @@ search:
minimumseedtime:
# 7 day (as seconds = 7 x 24 x 60 x 60)
text: 604800
-# html UNIT3D 6.1.0 custom
+# html UNIT3D 6.2.1 custom
diff --git a/definitions/v6/pixelados.yml b/definitions/v6/pixelados.yml
index 0b77fac35..4108c71e7 100644
--- a/definitions/v6/pixelados.yml
+++ b/definitions/v6/pixelados.yml
@@ -184,4 +184,4 @@ search:
minimumseedtime:
# 7 day (as seconds = 7 x 24 x 60 x 60)
text: 604800
-# json UNIT3D 6.1.0 custom
+# json UNIT3D 6.2.1 custom
diff --git a/definitions/v7/3dtorrents.yml b/definitions/v7/3dtorrents.yml
new file mode 100644
index 000000000..456ab2287
--- /dev/null
+++ b/definitions/v7/3dtorrents.yml
@@ -0,0 +1,154 @@
+---
+id: 3dtorrents
+name: 3D Torrents
+description: "3D Torrents (3DT) is a Private Torrent Tracker for 3D HD / BLURAY MOVIES"
+language: en-US
+type: private
+encoding: UTF-8
+links:
+ - http://www.3dtorrents.org/ # site does not support https ERR_CONNECTION_CLOSED
+
+caps:
+ categorymappings:
+ - {id: 14, cat: Movies/SD, desc: "Movies XviD"}
+ - {id: 15, cat: Movies/DVD, desc: "Movies DVD-R"}
+ - {id: 11, cat: Movies/HD, desc: "Movies 720p"}
+ - {id: 13, cat: Movies/HD, desc: "Movies 1080p"}
+ - {id: 16, cat: Movies/3D, desc: "Movies 3DTV"}
+ - {id: 17, cat: Movies/BluRay, desc: "Movies Blu-ray"}
+ - {id: 27, cat: Movies/BluRay, desc: "Movies BD25 Encode"}
+ - {id: 33, cat: Movies/BluRay, desc: "Movies BD9 AVCHD"}
+ - {id: 22, cat: Movies, desc: "Movies 2D to 3D Conv"}
+ - {id: 32, cat: Movies, desc: "Bluray MKV Remux"}
+ - {id: 23, cat: Movies/3D, desc: "Movies Evo 3D"}
+ - {id: 36, cat: Movies/UHD, desc: "Movies 4K UHD Bluray"}
+ - {id: 37, cat: Movies/UHD, desc: "Movies 4K UHD Encode"}
+ - {id: 21, cat: PC, desc: "3D Software"}
+ - {id: 28, cat: XXX, desc: "Adult 720p"}
+ - {id: 29, cat: XXX, desc: "Adult 1080p"}
+ - {id: 30, cat: XXX, desc: "Adult Blu-ray"}
+ - {id: 31, cat: Other, desc: "Misc"}
+ - {id: 19, cat: Audio, desc: "Audio Packs"}
+
+ modes:
+ search: [q]
+ movie-search: [q]
+ music-search: [q]
+
+settings:
+ - name: username
+ type: text
+ label: Username
+ - name: password
+ type: password
+ label: Password
+ - name: sort
+ type: select
+ label: Sort requested from site
+ default: 3
+ options:
+ 3: created
+ 5: seeders
+ 2: title
+ - name: type
+ type: select
+ label: Order requested from site
+ default: 2
+ options:
+ 1: desc
+ 2: asc
+ - name: info
+ type: info
+ label: Results Per Page
+ default: For best results, change the Torrents per page: setting to 100 on your account profile.
+
+login:
+ path: index.php?page=login&returnto=index.php
+ method: form
+ form: form
+ inputs:
+ uid: "{{ .Config.username }}"
+ pwd: "{{ .Config.password }}"
+ captcha:
+ type: image
+ selector: img.captcha
+ input: private_key
+ error:
+ - selector: span.errormsg
+ test:
+ path: index.php
+ selector: a[href="logout.php"]
+
+search:
+ paths:
+ - path: index.php
+ inputs:
+ $raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
+ search: "{{ .Keywords }}"
+ page: torrents
+ category: 0
+ # 0 all, 1 Anaglyph 3D, 2 Side by Side,3 Over Under
+ 3dformat: 0
+ # 0 all, 1 active only, 2 dead only
+ active: 0
+ order: "{{ .Config.sort }}"
+ by: "{{ .Config.type }}"
+
+ rows:
+ selector: table[cellspacing!="1"].lista > tbody > tr:has(a[href^="index.php?page=torrents&category="])
+
+ fields:
+ category:
+ selector: a[href^="index.php?page=torrents&category="]
+ attribute: href
+ filters:
+ - name: querystring
+ args: category
+ title:
+ selector: a[href^="index.php?page=torrent-details&id="]
+ details:
+ selector: a[href^="index.php?page=torrent-details&id="]
+ attribute: href
+ download:
+ selector: a[href^="index.php?page=torrent-details&id="]
+ attribute: href
+ filters:
+ - name: replace
+ args: ["index.php?page=torrent-details&id=", "download.php?id="]
+ poster:
+ selector: a[href^="index.php?page=torrent-details&id="]
+ attribute: onmouseover
+ filters:
+ - name: regexp
+ args: ",\\'(.+?)\\'"
+ genre:
+ selector: td:nth-child(2) span
+ description:
+ text: "{{ .Result.genre }}"
+ date:
+ selector: td:nth-last-child(5)
+ filters:
+ - name: append
+ args: " -07:00" # PDT
+ - name: dateparse
+ args: "02/01/2006 -07:00"
+ size:
+ selector: td:nth-last-child(4)
+ seeders:
+ selector: a[href^="index.php?page=peers"]
+ leechers:
+ selector: td:has(a[href^="index.php?page=peers"]) + td
+ grabs_optional:
+ selector: a[href^="index.php?page=torrent_history"]
+ optional: true
+ grabs:
+ text: "{{ if .Result.grabs_optional }}{{ .Result.grabs_optional }}{{ else }}0{{ end }}"
+ downloadvolumefactor:
+ case:
+ img[src="images/50off.png"]: 0.5
+ "*": 1
+ uploadvolumefactor:
+ text: 1
+ minimumratio:
+ text: 1.0
+# xbtit
diff --git a/definitions/v7/extremlymtorrents.yml b/definitions/v7/extremlymtorrents.yml
new file mode 100644
index 000000000..914289dc0
--- /dev/null
+++ b/definitions/v7/extremlymtorrents.yml
@@ -0,0 +1,189 @@
+---
+id: extremlymtorrents
+name: ExtremlymTorrents
+description: "ExtremlymTorrents (XTR) is a Semi-Private tracker for MOVIES / TV / GENERAL"
+language: en-US
+type: semi-private
+encoding: UTF-8
+links:
+ - https://extremlymtorrents.ws/
+caps:
+ categorymappings:
+ - {id: 15, cat: Movies/HD, desc: "1080p HD"}
+ - {id: 52, cat: Other/Misc, desc: "2021 xROBOT Extern"}
+ - {id: 40, cat: Movies/UHD, desc: "4K UHD 2160p"}
+ - {id: 48, cat: Audio/Video, desc: "4K | 2160p | Music Video"}
+ - {id: 22, cat: Movies/HD, desc: "720p HD"}
+ - {id: 19, cat: PC/Mobile-Android, desc: "Android Apk"}
+ - {id: 28, cat: TV/Anime, desc: "Anime | Japanese"}
+ - {id: 3, cat: PC, desc: "Applications"}
+ - {id: 16, cat: Movies/3D, desc: "BluRay 3D"}
+ - {id: 12, cat: Movies/BluRay, desc: "BluRay HDR"}
+ - {id: 44, cat: Movies, desc: "Bollywood"}
+ - {id: 35, cat: Movies, desc: "BRRip | BDRip | HDRip"}
+ - {id: 36, cat: Movies, desc: "CAMRip | REC"}
+ - {id: 8, cat: Books/EBook, desc: "Comics | EBook"}
+ - {id: 31, cat: TV/Documentary, desc: "DOC's"}
+ - {id: 27, cat: Movies/DVD, desc: "DVD | PAL | NTSC"}
+ - {id: 5, cat: Movies/DVD, desc: "DVDRip"}
+ - {id: 1, cat: PC/Games, desc: "Games PC"}
+ - {id: 32, cat: PC/Mobile-Other, desc: "GPS Navigation"}
+ - {id: 13, cat: TV/HD, desc: "HDTV"}
+ - {id: 43, cat: XXX, desc: "Hentai | Manga"}
+ - {id: 20, cat: PC/Mobile-iOS, desc: "Iphone iOS"}
+ - {id: 9, cat: TV, desc: "Kidz | Cartoons"}
+ - {id: 23, cat: PC, desc: "Linux"}
+ - {id: 7, cat: PC/Mac, desc: "Mac"}
+ - {id: 6, cat: Audio, desc: "Music Mp3 | FLAC"}
+ - {id: 21, cat: Movies, desc: "Pack"}
+ - {id: 30, cat: TV/SD, desc: "PDTV | SDTV"}
+ - {id: 11, cat: XXX, desc: "Porn -[+18]- xXx"}
+ - {id: 47, cat: XXX/UHD, desc: "Porn UHD 4K -[+18]- xXx"}
+ - {id: 18, cat: Console/PS3, desc: "PS3 | Playstation 3"}
+ - {id: 46, cat: Console/PS4, desc: "PS4 | PlayStation 4"}
+ - {id: 17, cat: Console/PSP, desc: "PSP | Playstation"}
+ - {id: 39, cat: TV/Sport, desc: "Sport TV"}
+ - {id: 38, cat: Movies, desc: "TS: TeleSync | HD-TS"}
+ - {id: 10, cat: TV, desc: "TV Episode | Season Complete"}
+ - {id: 49, cat: TV/UHD, desc: "TV UHD | 2160p | Episodes"}
+ - {id: 41, cat: TV/WEB-DL, desc: "TVRip"}
+ - {id: 24, cat: Audio/Video, desc: "VideoClip"}
+ - {id: 45, cat: Audio, desc: "Vinyl Rip"}
+ - {id: 14, cat: Other, desc: "Wallpapers"}
+ - {id: 25, cat: Movies/WEB-DL, desc: "WEBRip | WEB-DL"}
+ - {id: 26, cat: Console/Wii, desc: "Wii Games"}
+ - {id: 29, cat: PC/0day, desc: "Windows PC"}
+ - {id: 42, cat: Other/Misc, desc: "X EXTERN ONLY MAGNET"}
+ - {id: 2, cat: Console/XBox 360, desc: "XBOX 360"}
+ - {id: 50, cat: XXX/ImageSet, desc: "xXx iMAGESET (+18)"}
+
+ modes:
+ search: [q]
+ tv-search: [q, season, ep]
+ movie-search: [q]
+ music-search: [q]
+ book-search: [q]
+
+settings:
+ - name: username
+ type: text
+ label: Username
+ - name: password
+ type: password
+ label: Password
+ - name: sort
+ type: select
+ label: Sort requested from site
+ default: id
+ options:
+ id: created
+ seeders: seeders
+ size: size
+ name: title
+ - name: type
+ type: select
+ label: Order requested from site
+ default: desc
+ options:
+ desc: desc
+ asc: asc
+
+login:
+ path: account-login.php
+ method: post
+ inputs:
+ username: "{{ .Config.username }}"
+ password: "{{ .Config.password }}"
+ error:
+ - selector: span.titlebar:contains("Access Denied")
+ message:
+ selector: td.text
+ test:
+ path: index.php
+ selector: a[href="account-logout.php"]
+
+search:
+ paths:
+ - path: torrents-search.php
+ inputs:
+ $raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
+ search: "{{ .Keywords }}"
+ # 0 all 1 English 2 etc...
+ lang: 0
+ sort: "{{ .Config.sort }}"
+ order: "{{ .Config.type }}"
+ keywordsfilters:
+ - name: re_replace
+ args: ["(\\w+)", " +$1"] # prepend + to each word
+
+ rows:
+ selector: table.xtrz > tbody > tr[class^="ttable_col"]
+
+ fields:
+ category:
+ selector: a[href^="torrents.php?cat="]
+ attribute: href
+ filters:
+ - name: querystring
+ args: cat
+ _language:
+ selector: td:nth-last-child(5)
+ _vip:
+ selector: img[src="/images/vip-icon.png"]
+ attribute: alt
+ optional: true
+ title:
+ selector: a[href^="file.php?id="] b
+ filters:
+ - name: append
+ args: " {{ .Result._language }}{{ if .Result._vip }} VIP ONLY{{ else }}{{ end }}"
+ details:
+ selector: a[href^="file.php?id="]
+ attribute: href
+ download:
+ selector: a[href^="download.php?id="]
+ attribute: href
+ poster:
+ selector: a[href^="file.php?id="]
+ attribute: onmouseover
+ filters:
+ - name: regexp
+ args: "src=(.+?) "
+ date:
+ selector: td:nth-last-child(1)
+ filters:
+ - name: append
+ args: " +00:00" # auto adjusted by site account profile
+ - name: dateparse
+ args: "02.01.200615:04:05 -07:00"
+ leechers:
+ selector: td:nth-last-child(2)
+ seeders:
+ selector: td:nth-last-child(3)
+ size:
+ selector: td:nth-last-child(4)
+ downloadvolumefactor:
+ case:
+ img[src="/images/free.png"]: 0
+ "*": 1
+ uploadvolumefactor:
+ text: 1
+ genre_optional:
+ # Drama, Romance | N/A | 2022 | 112 min | N/A
+ # Drama:Family:Romance
+ selector: td:nth-child(2)
+ remove: a
+ filters:
+ - name: split
+ args: ["|", 0]
+ genre:
+ # if its VIP then do not keep genre
+ text: "{{ if .Result._vip }}{{ else }}{{ .Result.genre_optional }}{{ end }}"
+ description:
+ text: "{{ if .Result._vip }}VIP ONLY{{ else }}{{ .Result.genre }}{{ end }}"
+ minimumratio:
+ text: 1.0
+ minimumseedtime:
+ # 1 day (as seconds = 24 x 60 x 60)
+ text: 86400
+# engine n/a
diff --git a/definitions/v7/huntorrent.yml b/definitions/v7/huntorrent.yml
new file mode 100644
index 000000000..c639daeaa
--- /dev/null
+++ b/definitions/v7/huntorrent.yml
@@ -0,0 +1,174 @@
+---
+id: huntorrent
+name: HunTorrent
+description: "HunTorrent is a Hungarian Semi-Private site for MOVIES / TV / GENERAL"
+language: hu-HU
+type: semi-private
+encoding: UTF-8
+links:
+ - https://huntorrent.net/
+
+caps:
+ categorymappings:
+ - {id: 28, cat: Movies/SD, desc: "Cam/ENG"}
+ - {id: 27, cat: Movies/SD, desc: "Cam/HUN"}
+ - {id: 4, cat: Movies/DVD, desc: "DVDR/ENG"}
+ - {id: 3, cat: Movies/DVD, desc: "DVDR/HUN"}
+ - {id: 6, cat: Movies/HD, desc: "HD/ENG"}
+ - {id: 5, cat: Movies/HD, desc: "HD/HUN"}
+ - {id: 29, cat: Movies, desc: "Mese/ENG"}
+ - {id: 30, cat: Movies, desc: "Mese/HUN"}
+ - {id: 8, cat: TV/SD, desc: "Sorozat/ENG"}
+ - {id: 31, cat: TV/HD, desc: "Sorozat/HD/ENG"}
+ - {id: 9, cat: TV/HD, desc: "Sorozat/HD/HUN"}
+ - {id: 7, cat: TV/SD, desc: "Sorozat/HUN"}
+ - {id: 2, cat: Movies/SD, desc: "XviD/ENG"}
+ - {id: 1, cat: Movies/SD, desc: "XviD/HUN"}
+ - {id: 25, cat: Other, desc: "Kép"}
+ - {id: 24, cat: Books, desc: "eBook/ENG"}
+ - {id: 23, cat: Books, desc: "eBook/HUN"}
+ - {id: 38, cat: Audio/Audiobook, desc: "Hangoskönyv"}
+ - {id: 17, cat: PC/Games, desc: "Játék/ISO"}
+ - {id: 18, cat: PC/Games, desc: "Játék/RIP"}
+ - {id: 19, cat: Console, desc: "Konzol"}
+ - {id: 26, cat: PC/Mobile-Other, desc: "Mobil"}
+ - {id: 20, cat: PC/ISO, desc: "Program/ISO"}
+ - {id: 21, cat: PC/0day, desc: "Program/RIP"}
+ - {id: 13, cat: Audio/Video, desc: "Klip/ENG"}
+ - {id: 12, cat: Audio/Video, desc: "Klip/HUN"}
+ - {id: 11, cat: Audio/MP3, desc: "MP3/ENG"}
+ - {id: 10, cat: Audio/MP3, desc: "MP3/HUN"}
+
+ modes:
+ search: [q]
+ tv-search: [q, season, ep, imdbid]
+ movie-search: [q, imdbid]
+ music-search: [q]
+ book-search: [q]
+
+settings:
+ - name: cookie
+ type: text
+ label: Cookie
+ - name: info
+ type: info
+ label: How to get the Cookie
+ default: "
- Login to this tracker with your browser
- Open the DevTools panel by pressing F12
- Select the Network tab
- Click on the Doc button (Chrome Browser) or HTML button (FireFox)
- Refresh the page by pressing F5
- Click on the first row entry
- Select the Headers tab on the Right panel
- Find 'cookie:' in the Request Headers section
- Select and Copy the whole cookie string (everything after 'cookie: ') and Paste here.
"
+ - name: useragent
+ type: text
+ label: User-Agent
+ - name: info_useragent
+ type: info
+ label: How to get the User-Agent
+ default: "- From the same place you fetched the cookie,
- Find 'user-agent:' in the Request Headers section
- Select and Copy the whole user-agent string (everything after 'user-agent: ') and Paste here.
"
+ - name: sort
+ type: select
+ label: Sort requested from site
+ default: 4
+ options:
+ 1: name
+ 4: created
+ 7: seeders
+ 5: size
+ - name: type
+ type: select
+ label: Order requested from site
+ default: desc
+ options:
+ desc: desc
+ asc: asc
+ - name: info
+ type: info
+ label: Results Per Page
+ default: For best results, change the Torrents per page: setting to 100 on your account profile.
+
+login:
+ method: cookie
+ inputs:
+ cookie: "{{ .Config.cookie }}"
+ test:
+ path: browse.php
+ selector: a[href^="logout.php?k="]
+
+search:
+ headers:
+ User-Agent: ["{{ .Config.useragent }}"]
+ paths:
+ # https://huntorrent.net/browse.php?time=1616615308&korhatar=0&incldead=1&xyz=yes&c28=1&c27=1&c6=1&c5=1&sort=4&type=desc
+ - path: browse.php
+ inputs:
+ $raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
+ viewMode: ""
+ xyz: yes
+ search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
+ # Age Limit: 0 all, 1 no, 5 6, 2 12, 3 16, 4 18
+ korhatar: 0
+ # 0 active, 1 active+dead, 2 dead, 3 my uploads, 4 waiting for seed, 7 my bookmarks, 12 reseeded by me
+ incldead: 1
+ sort: "{{ .Config.sort }}"
+ type: "{{ .Config.type }}"
+ # no freeleech atm
+ # can search by genre but you need to know the id. &mufaj[]=20 for Romantikus
+
+ rows:
+ selector: table[align="center"][cellpadding="5"] > tbody > tr[id^="torrent-main-"]
+
+ fields:
+ _id:
+ selector: a.download-link
+ attribute: data-id
+ category:
+ selector: a[href^="browse.php?cat="]
+ attribute: href
+ filters:
+ - name: querystring
+ args: cat
+ title:
+ selector: a[href^="#details_tr_"]
+ attribute: title
+ filters:
+ - name: replace
+ args: ["Név: ", ""]
+ details:
+ text: "details.php?id={{ .Result._id }}"
+ download:
+ selector: a[href^="download.php?torrent="]
+ attribute: href
+ genre:
+ selector: "span[style=\"font-size: 6pt; font-weight: bold;\"]"
+ description:
+ selector: td:nth-child(2) div:nth-child(2)
+ filters:
+ - name: append
+ args: "{{ if .Result.genre }}{{ .Result.genre }}{{ else }}{{ end }}"
+ imdbid:
+ selector: a[href*="imdb.com/title/tt"]
+ attribute: href
+ poster:
+ selector: a[href^="torrents_data/posters/"]
+ attribute: href
+ date:
+ selector: td:nth-last-child(5)
+ filters:
+ - name: append
+ args: " +01:00" # CET
+ - name: dateparse
+ args: "2006-01-02 15:04:05 -07:00"
+ size:
+ selector: td:nth-last-child(4) b
+ grabs:
+ selector: td:nth-last-child(3)
+ seeders:
+ selector: td:nth-last-child(2) a b
+ leechers:
+ selector: td:nth-last-child(1)
+ downloadvolumefactor:
+ text: 1
+ uploadvolumefactor:
+ text: 2
+ minimumratio:
+ text: 1.0
+ minimumseedtime:
+ # 32 hours (as seconds = 32 x 60 x 60)
+ text: 115200
+# engine n/a
diff --git a/definitions/v7/karagarga.yml b/definitions/v7/karagarga.yml
index 5122bd9d0..e48b9618c 100644
--- a/definitions/v7/karagarga.yml
+++ b/definitions/v7/karagarga.yml
@@ -134,18 +134,17 @@ search:
_subs:
selector: span:contains("Subs:")
optional: true
- _genre:
+ genre:
selector: td:nth-child(5)
- optional: true
filters:
- - name: prepend
- args: "Genre: "
+ - name: replace
+ args: ["\n", " "]
_mom:
selector: img[title^="CURRENT"]
attribute: title
optional: true
description:
- text: "{{ .Result._subs }} {{ .Result._genre }}{{ if .Result._mom }} Current MoM{{ else }}{{ end }}"
+ text: "{{ if .Result._subs }}Subs: {{ .Result._subs }}{{ else }}{{ end }}{{ if .Result.genre }}Genre: {{ .Result.genre }}{{ else }}{{ end }}{{ if .Result._mom }}Current MoM{{ else }}{{ end }}"
downloadvolumefactor:
case:
"span:contains(\"Freeleech\")": 0
diff --git a/definitions/v7/keepfriends.yml b/definitions/v7/keepfriends.yml
new file mode 100644
index 000000000..a085fadaa
--- /dev/null
+++ b/definitions/v7/keepfriends.yml
@@ -0,0 +1,183 @@
+---
+id: keepfriends
+name: Keep Friends
+description: "Keep Friends is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
+language: zh-CN
+type: private
+encoding: UTF-8
+links:
+ - https://pt.keepfrds.com/
+
+caps:
+ categorymappings:
+ - {id: 401, cat: Movies, desc: "Movies/电影"}
+ - {id: 301, cat: Movies, desc: "Movie Packs/电影(合集)"}
+ - {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
+ - {id: 304, cat: TV/Documentary, desc: "Documentary Packs/纪录片(合集)"}
+ - {id: 405, cat: TV/Anime, desc: "Animations/动漫"}
+ - {id: 305, cat: TV/Anime, desc: "Animation Packs/动漫(合集)"}
+ - {id: 402, cat: TV, desc: "TV Series/剧集"}
+ - {id: 302, cat: TV, desc: "TV Serie Packs/剧集(合集)"}
+ - {id: 403, cat: TV, desc: "TV Shows/综艺"}
+ - {id: 303, cat: TV, desc: "TV Show Packs/综艺(合集)"}
+ - {id: 407, cat: TV/Sport, desc: "Sports/体育"}
+ - {id: 307, cat: TV/Sport, desc: "Sport Packs/体育(合集)"}
+ - {id: 406, cat: Audio/Video, desc: "MusicVideo/音乐录影带"}
+ - {id: 306, cat: Audio/Video, desc: "MusicVideo Packs/音乐录影带(合集)"}
+ - {id: 408, cat: Audio, desc: "Music/音乐"}
+ - {id: 308, cat: Audio, desc: "Music Packs/音乐(合集)"}
+ - {id: 409, cat: Other, desc: "Misc/其他"}
+ - {id: 309, cat: Other, desc: "Misc Packs/其他(合集)"}
+ - {id: 300, cat: Other, desc: "Recycle Bin/回收站"}
+
+ modes:
+ search: [q]
+ tv-search: [q, season, ep, imdbid, doubanid]
+ movie-search: [q, imdbid, doubanid]
+ music-search: [q]
+
+settings:
+ - name: cookie
+ type: text
+ label: Cookie
+ - name: info
+ type: info
+ label: How to get the Cookie
+ default: "- Login to this tracker with your browser
- Open the DevTools panel by pressing F12
- Select the Network tab
- Click on the Doc button (Chrome Browser) or HTML button (FireFox)
- Refresh the page by pressing F5
- Click on the first row entry
- Select the Headers tab on the Right panel
- Find 'cookie:' in the Request Headers section
- Select and Copy the whole cookie string (everything after 'cookie: ') and Paste here.
"
+ - name: freeleech
+ type: checkbox
+ label: Search freeleech only
+ default: false
+ - name: english_title
+ type: checkbox
+ label: "Use English titles instead of Chinese ones (when available)."
+ default: false
+ - name: sort
+ type: select
+ label: Sort requested from site
+ default: 4
+ options:
+ 4: created
+ 7: seeders
+ 5: size
+ 10: title
+ - name: type
+ type: select
+ label: Order requested from site
+ default: desc
+ options:
+ desc: desc
+ asc: asc
+ - name: info_tpp
+ type: info
+ label: Results Per Page
+ default: For best results, change the Torrents per page: setting to 100 on your account profile.
+
+login:
+ method: cookie
+ inputs:
+ cookie: "{{ .Config.cookie }}"
+ test:
+ path: index.php
+ selector: a[onclick="document.getElementById('logout').submit();"]
+
+search:
+ paths:
+ - path: torrents.php
+ inputs:
+ $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
+ search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if .Query.DoubanID }}/{{ .Query.DoubanID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}{{ .Keywords }}{{ end }}"
+ # 0 incldead, 1 active, 2 dead
+ incldead: 0
+ # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
+ spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
+ # 0 title, 1 descr, 3 uploader, 4 imdburl, 5 doubankeywords (not working)
+ search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
+ # 0 AND, 1 OR, 2 exact
+ search_mode: 0
+ sort: "{{ .Config.sort }}"
+ type: "{{ .Config.type }}"
+ # supports imdbid searches but does not display imdb links in results.
+
+ rows:
+ selector: table.torrents > tbody > tr:has(table.torrentname)
+
+ fields:
+ category:
+ selector: a[href^="?cat="]
+ attribute: href
+ filters:
+ - name: querystring
+ args: cat
+ title_default:
+ selector: a[href^="details.php?id="]
+ title_optional:
+ optional: true
+ selector: a[title][href^="details.php?id="]
+ attribute: title
+ title_raw:
+ text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
+ # note: final title processing is at the bottom after descrptions is fetched.
+ details:
+ selector: a[href^="details.php?id="]
+ attribute: href
+ download:
+ selector: a[href^="download.php?id="]
+ attribute: href
+ imdbid:
+ selector: a[href*="imdb.com/title/tt"]
+ attribute: href
+ doubanid:
+ selector: a[href*="movie.douban.com/subject/"]
+ attribute: href
+ date_elapsed:
+ # time type: time elapsed (default)
+ selector: td:nth-child(4) > span[title]
+ attribute: title
+ optional: true
+ filters:
+ - name: append
+ args: " +08:00" # CST
+ - name: dateparse
+ args: "2006-01-02 15:04:05 -07:00"
+ date_added:
+ # time added
+ selector: td:nth-child(4):not(:has(span))
+ optional: true
+ filters:
+ - name: append
+ args: " +08:00" # CST
+ - name: dateparse
+ args: "2006-01-0215:04:05 -07:00"
+ date:
+ text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
+ size:
+ selector: td:nth-child(5)
+ seeders:
+ selector: td:nth-child(6)
+ leechers:
+ selector: td:nth-child(7)
+ grabs:
+ selector: td:nth-child(8)
+ downloadvolumefactor:
+ case:
+ img.pro_free: 0
+ img.pro_free2up: 0
+ img.pro_50pctdown: 0.5
+ img.pro_50pctdown2up: 0.5
+ img.pro_30pctdown: 0.3
+ "*": 1
+ uploadvolumefactor:
+ case:
+ img.pro_50pctdown2up: 2
+ img.pro_free2up: 2
+ img.pro_2up: 2
+ "*": 1
+ description:
+ selector: td:nth-child(2)
+ remove: a, img
+ title_english:
+ selector: table.torrentname > tbody > tr > td.embedded
+ title:
+ text: "{{ if and .Config.english_title .Result.title_english }}{{ .Result.title_english }}{{ else }}{{ .Result.title_raw }}{{ end }}"
+# NexusPHP Standard v1.5 Beta 4 (custom title search)
diff --git a/definitions/v7/moviesite.yml b/definitions/v7/moviesite.yml
new file mode 100644
index 000000000..3c2397b7a
--- /dev/null
+++ b/definitions/v7/moviesite.yml
@@ -0,0 +1,219 @@
+---
+id: moviesite
+name: Moviesite
+description: "Moviesite is a HUNGARIAN Semi-Private tracker for MOVIES / TV / GENERAL"
+language: hu-HU
+type: semi-private
+encoding: ISO-8859-2
+links:
+ - http://moviesite.info.hu/ # does not support https ERR_CONNECTION_REFUSED
+
+caps:
+ categorymappings:
+ - {id: 25, cat: Movies/SD, desc: "CAM"}
+ - {id: 4, cat: Movies/DVD, desc: "DVD/Eng"}
+ - {id: 3, cat: Movies/DVD, desc: "DVD/Hun"}
+ - {id: 6, cat: Movies/HD, desc: "HD/Eng"}
+ - {id: 5, cat: Movies/HD, desc: "HD/Hun"}
+ - {id: 13, cat: PC/Games, desc: "Játék"}
+ - {id: 20, cat: Other, desc: "Képek"}
+ - {id: 16, cat: Books/EBook, desc: "Könyv"}
+ - {id: 11, cat: Movies, desc: "Mese, Animáció"}
+ - {id: 21, cat: PC/Mobile-Other, desc: "Mobil"}
+ - {id: 23, cat: PC/ISO, desc: "Program/iso"}
+ - {id: 24, cat: PC/0day, desc: "Program/rip"}
+ - {id: 8, cat: TV, desc: "Sorozat/Eng"}
+ - {id: 7, cat: TV, desc: "Sorozat/Hun"}
+ - {id: 2, cat: Movies/SD, desc: "Xvid/Eng"}
+ - {id: 1, cat: Movies/SD, desc: "Xvid/Hun"}
+ - {id: 9, cat: XXX, desc: "XXX-film"}
+ - {id: 19, cat: XXX/ImageSet, desc: "xxx-képek"}
+ - {id: 12, cat: Audio, desc: "Zene"}
+
+ modes:
+ search: [q]
+ tv-search: [q, season, ep, imdbid]
+ movie-search: [q, imdbid]
+ music-search: [q]
+ book-search: [q]
+
+settings:
+ - name: username
+ type: text
+ label: Username
+ - name: password
+ type: password
+ label: Password
+ - name: sort
+ type: select
+ label: Sort requested from site
+ default: added
+ options:
+ added: added
+ size: size
+ seeders: seeders
+ - name: type
+ type: select
+ label: Order requested from site
+ default: DESC
+ options:
+ DESC: desc
+ ASC: asc
+ - name: info_tpp
+ type: info
+ label: Results Per Page
+ default: For best results, change the Torrentek oldalanként setting to 40 Torrent oldalanként on your account profile.
+
+login:
+ method: form
+ path: login.php
+ form: form[action="takelogin.php"]
+ inputs:
+ username: "{{ .Config.username }}"
+ password: "{{ .Config.password }}"
+ logout: ""
+ logintype: yes
+ error:
+ - selector: table:contains("Hiba történt!")
+ test:
+ path: index.php
+ selector: a[href*="logout.php?logouthash="]
+
+search:
+ paths:
+ - path: browse.php
+ inputs:
+ sort_order: yes
+ page: 0
+ do: search
+ # does not support multi categories so defaulting to ALL
+ category: 0
+ keywords: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
+ # t_both2, t_name, t_t_image4, t_description, t_both, t_uploader, t_genre
+ search_type: "{{ if .Query.IMDBID }}t_genre{{ else }}t_name{{ end }}"
+ sortby: "{{ .Config.sort }}"
+ orderby: "{{ .Config.type }}"
+
+ keywordsfilters:
+ - name: re_replace
+ args: ["(\\w+)", " +$1"] # prepend + to each word
+
+ rows:
+ selector: table tbody tr:has(a[href*="download.php?id="]:has(img[src="../pic/yes.png"]))
+
+ fields:
+ category:
+ selector: a[href*="browse.php?browse_categories"]
+ attribute: href
+ filters:
+ - name: querystring
+ args: category
+ title_default:
+ # is often abbreviated
+ selector: a[href^="details.php?id="]
+ title_optional:
+ # usually longer than details title
+ selector: a[href*="download.php?id="]:has(img[src="../pic/yes.png"])
+ attribute: title
+ optional: true
+ filters:
+ - name: replace
+ args: ["Download torrent: ", ""]
+ - name: replace
+ args: ["Torrent letöltése: ", ""]
+ - name: replace
+ args: ["Downloadeaza torentul: ", ""]
+ title:
+ text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
+ details:
+ selector: a[href^="details.php?id="]
+ attribute: href
+ download:
+ selector: a[href*="download.php?id="]:has(img[src="../pic/yes.png"])
+ attribute: href
+ poster:
+ selector: div.bottom > img
+ attribute: src
+ filters:
+ - name: replace
+ args: ["../pic/+18.png", ""]
+ genre:
+ selector: font[color="black"]
+ filters:
+ - name: replace
+ args: ["Műfaj:\xA0", ""]
+ - name: replace
+ args: ["Categorie:\xA0", ""]
+ - name: replace
+ args: ["Genre:\xA0", ""]
+ - name: replace
+ args: ["\x09", ""]
+ description:
+ selector: div center font b i
+ filters:
+ - name: append
+ args: "{{ if .Result.genre }}{{ .Result.genre }}{{ else }}{{ end }}"
+ imdbid:
+ selector: a[href*="imdb.com/title/tt"]
+ attribute: href
+ date_today:
+ # Ma 11-06 18:19 (Today)
+ optional: true
+ selector: td:nth-child(2):contains("Ma ")
+ filters:
+ - name: regexp
+ args: "Ma \\d{2}-\\d{2} (\\d{2}:\\d{2})"
+ - name: prepend
+ args: "Today "
+ - name: append
+ args: " +01:00" # CET
+ - name: fuzzytime
+ date_yday:
+ # Tegnap 11-05 15:15 (Yesterday)
+ optional: true
+ selector: td:nth-child(2):contains("Tegnap ")
+ filters:
+ - name: regexp
+ args: "Tegnap \\d{2}-\\d{2} (\\d{2}:\\d{2})"
+ - name: prepend
+ args: "Yesterday "
+ - name: append
+ args: " +01:00" # CET
+ - name: fuzzytime
+ date_year:
+ # 2021-10-28 10-28 20:18
+ optional: true
+ selector: td:nth-child(2):not(:contains("Tegnap ")):not(:contains("Ma "))
+ filters:
+ - name: regexp
+ args: "(\\d{4}-\\d{2}-\\d{2} \\d{2}-\\d{2} \\d{2}:\\d{2})"
+ - name: re_replace
+ args: ["(\\d{4}-\\d{2}-\\d{2} )\\d{2}-\\d{2} (\\d{2}:\\d{2})", "$1$2"]
+ - name: append
+ args: " +01:00" # CET
+ - name: dateparse
+ args: "2006-01-02 15:04 -07:00"
+ date:
+ text: "{{ if or .Result.date_year .Result.date_today .Result.date_yday }}{{ or .Result.date_year .Result.date_today .Result.date_yday }}{{ else }}now{{ end }}"
+ size:
+ selector: td:nth-last-child(2)
+ files:
+ selector: td:nth-last-child(6)
+ grabs:
+ selector: td:nth-last-child(2) b b
+ seeders:
+ selector: td:nth-last-child(4)
+ leechers:
+ selector: td:nth-last-child(3)
+ downloadvolumefactor:
+ case:
+ img[src$="freedownload.gif"]: 0
+ "*": 1
+ uploadvolumefactor:
+ case:
+ img[src$="x2.gif"]: 2
+ "*": 1
+ minimumseedtime:
+ # 3 days (as seconds = 3 x 24 x 60 x 60)
+ text: 259200
+# TS Special Edition v5.6
diff --git a/definitions/v7/pttime.yml b/definitions/v7/pttime.yml
new file mode 100644
index 000000000..1c9bf353e
--- /dev/null
+++ b/definitions/v7/pttime.yml
@@ -0,0 +1,176 @@
+---
+id: pttime
+name: PTTime
+description: "PTTime is a ratioless CHINESE Private Torrent Tracker for HD MOVIES / TV / GENERAL"
+language: zh-CN
+type: private
+encoding: UTF-8
+links:
+ - https://www.pttime.org/
+
+caps:
+ categorymappings:
+ - {id: 401, cat: Movies, desc: "Movies(电影)"}
+ - {id: 402, cat: TV, desc: "TV Series(电视剧)"}
+ - {id: 403, cat: TV, desc: "TV Shows(综艺)"}
+ - {id: 404, cat: TV/Documentary, desc: "Documentaries(纪录片)"}
+ - {id: 405, cat: TV/Sport, desc: "Sport(体育、竞技、武术及相关)"}
+ - {id: 406, cat: PC/Games, desc: "Games(游戏及相关)"}
+ - {id: 408, cat: Audio, desc: "Music(音乐、专辑、MV、演唱会)"}
+ - {id: 409, cat: Other, desc: "Art(舞蹈、歌剧、戏曲、相声、评书等)"}
+ - {id: 411, cat: Other, desc: "Science(科学、知识、技能)"}
+ - {id: 412, cat: Other, desc: "School(应试、考级、初中以上教育)"}
+ - {id: 413, cat: Books, desc: "Book(书籍、有声书)"}
+ - {id: 420, cat: PC, desc: "Code(IT、编程、大数据、人工智能"}
+ - {id: 430, cat: TV/Anime, desc: "Animate(3D动画、2.5次元)"}
+ - {id: 431, cat: TV/Anime, desc: "ACGN(二次元)"}
+ - {id: 432, cat: TV/Other, desc: "Baby(婴幼、早教、小学及相关)"}
+ - {id: 440, cat: XXX, desc: "9kg-AV(步兵/无码)"}
+ - {id: 441, cat: XXX, desc: "9kg-Sex(骑兵/有码)"}
+ - {id: 442, cat: XXX, desc: "9kg-III(三级片、限制级电影)"}
+ - {id: 443, cat: XXX, desc: "9kg-H动漫"}
+ - {id: 444, cat: XXX, desc: "9kg-H游戏"}
+ - {id: 445, cat: XXX, desc: "9kg-H书籍(书籍、有声书)"}
+ - {id: 446, cat: XXX, desc: "9kg-H写真(图片、私拍、短视频)"}
+ - {id: 447, cat: XXX, desc: "9kg-H音频(ASMR、音乐、音频)"}
+ - {id: 450, cat: Other, desc: "Resource(资源、素材、模板)"}
+ - {id: 451, cat: PC, desc: "Software(软件、系统、 程序、APP等)"}
+ - {id: 490, cat: Other, desc: "Other(其它)"}
+
+ modes:
+ search: [q]
+ tv-search: [q, season, ep, imdbid, doubanid]
+ movie-search: [q, imdbid, doubanid]
+ music-search: [q]
+ book-search: [q]
+
+settings:
+ - name: username
+ type: text
+ label: Username
+ - name: password
+ type: password
+ label: Password
+ - name: freeleech
+ type: checkbox
+ label: Search freeleech only
+ default: false
+ - name: info_tpp
+ type: info
+ label: Results Per Page
+ default: For best results, change the Torrents per page: setting to 100 on your account profile.
+
+login:
+ path: takelogin.php
+ method: post
+ inputs:
+ loginmethod: username
+ username: "{{ .Config.username }}"
+ password: "{{ .Config.password }}"
+ dutime: month
+ ssl: yes
+ error:
+ - selector: td.embedded:has(h2:contains("失败"))
+ - selector: td.embedded:has(h2:contains("Failed"))
+ test:
+ path: index.php
+ selector: a[href="logout.php"]
+
+search:
+ paths:
+ - path: torrents.php
+ categories: ["!", 440, 441, 442, 443, 444, 445, 446, 447]
+ - path: adults.php
+ categories: [440, 441, 442, 443, 444, 445, 446, 447]
+ inputs:
+ $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
+ search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}{{ .Keywords }}{{ end }}"
+ # 0 incldead, 1 active, 2 dead
+ incldead: 0
+ # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
+ spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
+ # 0 title, 1 descr, 2 smalldesc, 3 uploader, 4 imdburl, 5 doubanurl
+ search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}5{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
+ # 0 AND, 1 OR, 2 exact
+ search_mode: 0
+
+ rows:
+ selector: table.torrents > tbody > tr:has(table.torrentname)
+
+ fields:
+ category:
+ selector: a[href^="?cat="]
+ attribute: href
+ filters:
+ - name: querystring
+ args: cat
+ title_default:
+ selector: a[href^="details.php?id="]
+ title_optional:
+ optional: true
+ selector: a[title][href^="details.php?id="]
+ attribute: title
+ title:
+ text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
+ details:
+ selector: a[href^="details.php?id="]
+ attribute: href
+ download:
+ selector: a[href^="download.php?id="]
+ attribute: href
+ poster:
+ selector: td.torrentimg > img
+ attribute: src
+ imdbid:
+ selector: a[href*="imdb.com/title/tt"]
+ attribute: href
+ doubanid:
+ selector: a[href*="movie.douban.com/subject/"]
+ attribute: href
+ date_elapsed:
+ # time type: time elapsed (default)
+ selector: td:nth-child(5) > span[title]
+ attribute: title
+ optional: true
+ filters:
+ - name: append
+ args: " +08:00" # CST
+ - name: dateparse
+ args: "2006-01-02 15:04:05 -07:00"
+ date_added:
+ # time added
+ selector: td:nth-child(5):not(:has(span))
+ optional: true
+ filters:
+ - name: append
+ args: " +08:00" # CST
+ - name: dateparse
+ args: "2006-01-0215:04:05 -07:00"
+ date:
+ text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
+ size:
+ selector: td:nth-child(6)
+ seeders:
+ selector: td:nth-child(7)
+ leechers:
+ selector: td:nth-child(8)
+ grabs:
+ selector: td:nth-child(9)
+ downloadvolumefactor:
+ case:
+ font.promotion.free: 0
+ font.promotion.twoupfree: 0
+ font.promotion.halfdown: 0.5
+ font.promotion.twouphalfdown: 0.5
+ font.promotion.thirtypercent: 0.3
+ "*": 1
+ uploadvolumefactor:
+ case:
+ font.promotion.twoup: 2
+ font.promotion.twoupfree: 2
+ font.promotion.twouphalfdown: 2
+ "*": 1
+ description:
+ selector: td:nth-child(2)
+ remove: a, img
+# NexusPHP Standard v1.5 Beta 4
diff --git a/definitions/v7/selezen.yml b/definitions/v7/selezen.yml
new file mode 100644
index 000000000..364a5c9dd
--- /dev/null
+++ b/definitions/v7/selezen.yml
@@ -0,0 +1,207 @@
+---
+id: selezen
+name: seleZen
+description: "seleZen is a RUSSIAN Semi-Private Torrent Tracker for MOVIES"
+language: ru-RU
+type: semi-private
+encoding: UTF-8
+links:
+ - https://use.selezen.club/
+ - https://www.selezen.net/
+ - https://selezen.org/
+legacylinks:
+ - https://www.selezen.site/
+ - https://mel.selezen.net/
+ - https://s1.selezen.site/
+
+caps:
+ categorymappings:
+ - {id: 0, cat: Movies, desc: "Movies"}
+ - {id: 45, cat: Movies/HD, desc: "WEBRip 720p"}
+ - {id: 46, cat: Movies/HD, desc: "WEBRip 1080p"}
+ - {id: 47, cat: Movies/UHD, desc: "WEBRip 2160p"}
+ - {id: 48, cat: Movies/HD, desc: "WEB-DL 720p"}
+ - {id: 49, cat: Movies/HD, desc: "WEB-DL 1080p"}
+ - {id: 50, cat: Movies/UHD, desc: "SDR WEB-DL 2160p"}
+ - {id: 51, cat: Movies/UHD, desc: "HDR WEB-DL 2160p"}
+ - {id: 52, cat: Movies/HD, desc: "BDRip 720p"}
+ - {id: 53, cat: Movies/HD, desc: "BDRip 1080p"}
+ - {id: 54, cat: Movies/UHD, desc: "SDR BDRip 2160p"}
+ - {id: 55, cat: Movies/UHD, desc: "HDR BDRip 2160p"}
+ - {id: 56, cat: Movies/HD, desc: "UHD BDRip 720p"}
+ - {id: 57, cat: Movies/HD, desc: "UHD BDRip 1080p"}
+ - {id: 58, cat: Movies/HD, desc: "BDRemux 1080p"}
+ - {id: 59, cat: Movies/UHD, desc: "SDR BDRemux 2160p"}
+ - {id: 60, cat: Movies/UHD, desc: "HDR BDRemux 2160p"}
+ - {id: 61, cat: Movies/UHD, desc: "DV BDRemux 2160p"}
+ - {id: 62, cat: Movies/HD, desc: "Blu-Ray 1080p"}
+ - {id: 63, cat: Movies/UHD, desc: "Blu-Ray 2160p"}
+ - {id: 64, cat: Movies/3D, desc: "3D BDRemux 1080p"}
+ - {id: 65, cat: Movies/3D, desc: "3D Blu-Ray 1080p"}
+
+ modes:
+ search: [q]
+ movie-search: [q, imdbid]
+
+settings:
+ - name: username
+ type: text
+ label: Username
+ - name: password
+ type: password
+ label: Password
+ - name: striprussian
+ type: checkbox
+ label: Strip Russian Letters
+ default: false
+ - name: addrussian
+ type: checkbox
+ label: Add RUSSIAN to end of all titles to improve language detection by Sonarr and Radarr. Will cause English-only results to be misidentified.
+ default: false
+ - name: sort
+ type: select
+ label: Sort requested from site
+ default: date
+ options:
+ date: created
+ title: title
+ - name: type
+ type: select
+ label: Order requested from site
+ default: desc
+ options:
+ desc: desc
+ asc: asc
+
+login:
+ path: login.html
+ method: form
+ form: form[role="form"]
+ inputs:
+ login_name: "{{ .Config.username }}"
+ login_password: "{{ .Config.password }}"
+ login_not_save: ""
+ login: submit
+ error:
+ - selector: div.alert-warning:contains("Ошибка авторизации")
+ test:
+ path: /
+ selector: a[href$="/index.php?action=logout"]
+
+download:
+ selectors:
+ - selector: a[href^="magnet:?xt="]
+ attribute: href
+
+search:
+ # do=search&subaction=search&story=greyhound&titleonly=0&sortby=date&resorder=desc&showposts=0&catlist[]=45&catlist[]=46&catlist[]=47
+ paths:
+ - path: index.php
+ inputs:
+ $raw: "{{ range .Categories }}catlist[]={{.}}&{{end}}"
+ do: search
+ subaction: search
+ showposts: 1
+ # 0 in article 1 in comments 2 in static pages 3 in article titles
+ titleonly: "{{ if .Query.IMDBID }}0{{ else }}3{{ end }}"
+ story: "{{ if or .Query.IMDBID .Keywords }}{{ or .Query.IMDBID .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
+ sortby: "{{ .Config.sort }}"
+ resorder: "{{ .Config.type }}"
+
+ rows:
+ selector: div.card-default:has(i.fa-file-video-o)
+
+ fields:
+ category:
+ text: 0
+ category|noappend:
+ selector: div.noimg > a
+ optional: true
+ case:
+ a[href$="/webrip720p/"]: 45
+ a[href$="/webrip1080p/"]: 46
+ a[href$="/webrip2160p/"]: 47
+ a[href$="/web-dl720p/"]: 48
+ a[href$="/web-dl1080p/"]: 49
+ a[href$="/sdrweb-dl2160p/"]: 50
+ a[href$="/hdrweb-dl2160p/"]: 51
+ a[href$="/bdrip720p/"]: 52
+ a[href$="/bdrip1080p/"]: 53
+ a[href$="/sdrbdrip2160p/"]: 54
+ a[href$="/hdrbdrip2160p/"]: 55
+ a[href$="/uhdbdrip-720p/"]: 56
+ a[href$="/uhdbdrip1080p/"]: 57
+ a[href$="/bdremux1080p/"]: 58
+ a[href$="/sdrbdremux2160p/"]: 59
+ a[href$="/hdrbdremux2160p/"]: 60
+ a[href$="/dvbdremux2160p/"]: 61
+ a[href$="/blu-ray1080p/"]: 62
+ a[href$="/blu-ray2160p/"]: 63
+ a[href$="/3dbdremux1080p/"]: 64
+ a[href$="/3dblu-ray1080p/"]: 65
+ title:
+ selector: div.short-title > a
+ filters:
+ - name: replace
+ args: ["Лицензия", "Lic"]
+ - name: replace
+ args: ["селезень", "selezen"]
+ - name: re_replace
+ args: ["(\\([А-Яа-яЁё\\W]+\\))|(^[А-Яа-яЁё\\W\\d]+\\/ )|([а-яА-ЯЁё \\-]+,+)|([а-яА-ЯЁё]+)", "{{ if .Config.striprussian }}{{ else }}$1$2$3$4{{ end }}"]
+ - name: re_replace
+ args: ["[\\:\\-\\/\\|\\[\\]]", " "]
+ - name: append
+ args: "{{ if .Config.addrussian }} - RUSSIAN{{ else }}{{ end }}"
+ - name: replace
+ args: [" Rip", "Rip"]
+ - name: replace
+ args: ["WEB DL", "WEBDL"]
+ - name: replace
+ args: ["WEBDLRip", "WEBDL"]
+ - name: replace
+ args: ["HDTVRip", "HDTV"]
+ details:
+ selector: div.short-title > a
+ attribute: href
+ download:
+ selector: div.short-title > a
+ attribute: href
+ poster:
+ selector: img.poster
+ attribute: src
+ imdbid:
+ selector: a[href*="imdb.com/title/tt"]
+ attribute: href
+ genre:
+ selector: li.linka2
+ filters:
+ - name: validate
+ args: "Аниме, Биографический, Боевик, Вестерн, Военный, Детектив, Документальный, Драма, Исторический, Комедия, Короткометражный, Криминал, Мелодрама, Мистика, Музыкальный, Мультфильм, Приключения, Семейный, Спорт, Триллер, Ужасы, Фантастика, Фэнтези"
+ description:
+ selector: span.noimg
+ filters:
+ - name: append
+ args: "{{ if .Result.genre }}{{ .Result.genre }}{{ else }}{{ end }}"
+ date:
+ selector: a:has(span.glyphicon-time)
+ filters:
+ # 30.10.2019 14:49
+ - name: regexp
+ args: "(\\d{1,2}\\.\\d{2}\\.\\d{4} \\d{1,2}\\:\\d{2})"
+ - name: append
+ args: " +03:00" # MSK
+ - name: dateparse
+ args: "2.01.2006 15:04 -07:00"
+ seeders:
+ selector: i.fa-arrow-up ~ span
+ leechers:
+ selector: i.fa-arrow-down ~ span
+ grabs:
+ selector: i.fa-download ~ span
+ size:
+ selector: i.fa-file-video-o ~ b
+ downloadvolumefactor:
+ text: 0
+ uploadvolumefactor:
+ text: 1
+# engine n/a
diff --git a/definitions/v7/sktorrent.yml b/definitions/v7/sktorrent.yml
new file mode 100644
index 000000000..5022dbc6c
--- /dev/null
+++ b/definitions/v7/sktorrent.yml
@@ -0,0 +1,240 @@
+---
+id: sktorrent
+name: SkTorrent
+description: "SkTorrent is a CZECH/SLOVAK Semi-Private Torrent Tracker for MOVIES / TV / GENERAL"
+language: cs-CZ
+type: semi-private
+encoding: windows-1250
+links:
+ - https://sktorrent.eu/
+legacylinks:
+ - http://sktorrent.eu/torrent/
+ - http://sktorrent.eu/
+
+caps:
+ categorymappings:
+ - {id: 9, cat: XXX, desc: "xXx"}
+ - {id: 23, cat: Books, desc: "Knihy a Časopisy"}
+ - {id: 25, cat: Other, desc: "Ostatní"}
+ - {id: 5, cat: Movies, desc: "Filmy Kreslené"}
+ - {id: 1, cat: Movies, desc: "Filmy CZ/SK dabing"}
+ - {id: 14, cat: Movies/Other, desc: "Filmy Kamera"}
+ - {id: 15, cat: Movies, desc: "Filmy s titulkama"}
+ - {id: 20, cat: Movies/DVD, desc: "Filmy DVD"}
+ - {id: 31, cat: Movies, desc: "Filmy bez titulků"}
+ - {id: 3, cat: Movies/3D, desc: "Filmy 3D"}
+ - {id: 19, cat: Movies/HD, desc: "Filmy HD"}
+ - {id: 28, cat: Movies/BluRay, desc: "Filmy Blu-ray"}
+ - {id: 29, cat: Movies/3D, desc: "Filmy 3D Blu-ray"}
+ - {id: 43, cat: Movies/UHD, desc: "Filmy UHD"}
+ - {id: 18, cat: PC/Games, desc: "Hry na Windows"}
+ - {id: 30, cat: PC/Games, desc: "Hry na Konzole"}
+ - {id: 37, cat: PC/Games, desc: "Hry na Linux"}
+ - {id: 59, cat: PC/Games, desc: "Hry na Mac"}
+ - {id: 60, cat: PC/Games, desc: "xXx hry (18+)"}
+ - {id: 16, cat: TV, desc: "TV Seriál"}
+ - {id: 17, cat: TV/Documentary, desc: "TV Dokument"}
+ - {id: 42, cat: TV, desc: "TV Pořad"}
+ - {id: 44, cat: TV/Sport, desc: "TV Sport"}
+ - {id: 2, cat: Audio, desc: "Hudba"}
+ - {id: 22, cat: Audio, desc: "Hudba DJ's Mix"}
+ - {id: 24, cat: Audio, desc: "Mluvené slovo"}
+ - {id: 26, cat: Audio/Video, desc: "Hudební videa"}
+ - {id: 45, cat: Audio, desc: "Soundtrack"}
+ - {id: 21, cat: PC, desc: "Programy"}
+ - {id: 27, cat: PC/Mobile-Other, desc: "Mobil, PDA"}
+ - {id: 58, cat: Other, desc: "Neschválené"}
+
+ modes:
+ search: [q]
+ tv-search: [q, season, ep, genre]
+ movie-search: [q, genre]
+ music-search: [q]
+ book-search: [q]
+
+login:
+ path: torrent/login.php
+ method: form
+ form: form[action^="login.php?returnto=index.php"]
+ inputs:
+ uid: "{{ .Config.username }}"
+ pwd: "{{ .Config.password }}"
+ error:
+ - selector: font:contains("Incorrect")
+ test:
+ path: torrent/index.php
+ selector: a[href^="usercp.php"]
+
+download:
+ selectors:
+ - selector: a[href^="download.php?id="]
+ attribute: href
+
+search:
+ paths:
+ - path: torrent/torrents_v2.php
+ inputs:
+ search: "{{ .Keywords }}"
+ category: "{{ range .Categories }}{{.}};{{end}}"
+ # 0 all, 1 activeonly, 2 deadonly
+ active: 0
+ zaner: "{{ .Query.Genre }}"
+ keywordsfilters:
+ - name: diacritics
+ args: replace
+
+ rows:
+ selector: table.lista > tbody > tr > td > table.lista > tbody > tr > td:has(a[href^="details.php?name="])
+
+ fields:
+ category:
+ selector: a[href^="torrents_v2.php?category="]
+ attribute: href
+ filters:
+ - name: querystring
+ args: category
+ title:
+ selector: a[href^="details.php?name="]
+ filters:
+ - name: re_replace
+ args: ["^VA\\s*\\|", "VA -"]
+ - name: re_replace
+ args: ["^.*? \\/\\s*|^.*? \\|\\s*", ""]
+ - name: diacritics
+ args: replace
+ - name: re_replace
+ args: ["\\|\\s*\\d+\\% CSFD\\.cz\\/|\\s*=*\\s*CSFD\\s*\\d+\\%|\\s*CSFD\\s*=*\\s*\\d+\\%|\\s*CSFD", ""]
+ - name: re_replace
+ args: ["(\\d{1})\\s*\\.*\\s*az*\\s*(\\d{2,})\\s*\\.*\\s(?i)serie\\.*", "S0$1-S$2"]
+ - name: re_replace
+ args: ["(\\d{1})\\s*\\.*\\s*az*\\s*(\\d{1})\\s*\\.*\\s(?i)serie\\.*", "S0$1-S$2"]
+ - name: re_replace
+ args: ["(?i)serie\\s*(\\d{1})\\s*\\.*\\s*az*\\s*(\\d{2,})\\s*\\.*", "S0$1-S$2"]
+ - name: re_replace
+ args: ["(?i)serie\\s*(\\d{1})\\s*\\.*\\s*az*\\s*(\\d{1})\\s*\\.*", "S0$1-S$2"]
+ - name: re_replace
+ args: ["(?i)season\\,*\\s*(\\d{1})\\,\\s*\\d{1}\\,\\s*(\\d{2,})", "S0$1-S$2"]
+ - name: re_replace
+ args: ["(?i)season\\,*\\s*(\\d{1})\\,\\s*\\d{1}\\,\\s*(\\d{1})", "S0$1-S0$2"]
+ - name: re_replace
+ args: ["(?i)season\\s*(\\d{1})\\s*\\.*\\-*\\,*\\+*\\s*(\\d{2,})\\s*\\.*", "S0$1-S$2"]
+ - name: re_replace
+ args: ["(?i)season\\s*(\\d{1})\\s*\\.*\\-*\\,*\\+*\\s*(\\d{1})\\s*\\.*", "S0$1-S0$2"]
+ - name: re_replace
+ args: ["^GRID\\:*\\s(?i)season", "GRID Seasson"]
+ - name: re_replace
+ args: ["(?i)season\\s*(\\d{2,})\\.*", "S$1"]
+ - name: re_replace
+ args: ["(?i)season\\s*(\\d{1})\\.*", "S0$1"]
+ - name: re_replace
+ args: ["GRID Seasson", "GRID Season"]
+ - name: re_replace
+ args: ["\\sPES\\s(\\d{4})\\s(?i)season", " PES $1 Seasson"]
+ - name: re_replace
+ args: ["\\s\\(*(\\d{2,})\\.*\\s*(?i)season\\)*", " S$1"]
+ - name: re_replace
+ args: ["\\s\\(*(\\d{1})\\s*\\.*\\-*\\,*\\+*\\s*(\\d{2,})\\.*\\s(?i)season\\)*", " S0$1-S$2"]
+ - name: re_replace
+ args: ["\\s\\(*(\\d{1})\\s*\\.*\\-*\\,*\\+*\\s*(\\d{1})\\.*\\s(?i)season\\)*", " S0$1-S0$2"]
+ - name: re_replace
+ args: ["\\s\\(*(\\d{1})\\.*\\s*(?i)season\\)*", " S0$1"]
+ - name: re_replace
+ args: [" PES (\\d{4}) Seasson", " PES $1 Season"]
+ - name: re_replace
+ args: ["\\s\\(*(\\d{1})\\,\\s*\\d{1}\\,\\s*(\\d{2,})\\,*\\s*(?i)serie\\)*", " S0$1-S$2"]
+ - name: re_replace
+ args: ["\\s\\(*(\\d{1})\\,\\s*\\d{1}\\,\\s*(\\d{1})\\,*\\s*(?i)serie\\)*", " S0$1-S0$2"]
+ - name: re_replace
+ args: ["\\s\\(*(\\d{2,})\\.*\\s*(?i)serie\\)*", " S$1"]
+ - name: re_replace
+ args: ["\\s\\(*(\\d{1})\\s*\\.*\\-*\\,*\\+*\\s*(\\d{2,})\\.*\\s(?i)serie\\)*", " S0$1-S$2"]
+ - name: re_replace
+ args: ["\\s\\(*(\\d{1})\\s*\\.*\\-*\\,*\\+*\\s*(\\d{1})\\.*\\s(?i)serie\\)*", " S0$1-S0$2"]
+ - name: re_replace
+ args: ["\\s\\(*(\\d{1})\\.*\\s*(?i)serie\\)*", " S0$1"]
+ - name: re_replace
+ args: ["\\s\\(*(\\d{1})\\,\\s*\\d{1}\\,\\s*(\\d{2,})\\,*\\s*(?i)seria\\)*", " S0$1-S$2"]
+ - name: re_replace
+ args: ["\\s\\(*(\\d{1})\\,\\s*\\d{1}\\,\\s*(\\d{1})\\,*\\s*(?i)seria\\)*", " S0$1-S0$2"]
+ - name: re_replace
+ args: ["\\s\\d{2,}\\.*\\s*(?i)seria\\s\\((?i)s(\\d{2,})", " (S$1"]
+ - name: re_replace
+ args: ["\\s\\(*(\\d{1})\\s*\\.*\\-*\\,*\\+*\\s*(\\d{2,})\\.*\\s(?i)seria\\)*", " S0$1-S$2"]
+ - name: re_replace
+ args: ["\\s\\(*(\\d{1})\\s*\\.*\\-*\\,*\\+*\\s*(\\d{1})\\.*\\s(?i)seria\\)*", " S0$1-S0$2"]
+ - name: re_replace
+ args: ["\\s\\(*(\\d{2,})\\.*\\s*(?i)seria\\)*", " S$1"]
+ - name: re_replace
+ args: ["\\s\\(*(\\d{1})\\.*\\s*(?i)seria\\)*", " S0$1"]
+ - name: re_replace
+ args: ["\\s\\d{1}\\.*\\s*(?i)seria\\s*\\((?i)s(\\d{1})", " (S0$1"]
+ - name: re_replace
+ args: ["(\\d{2,})\\.*\\s*(?i)serii\\)*", "S01-S$1"]
+ - name: re_replace
+ args: ["(\\d{1})\\.*\\s*(?i)serii\\)*", "S01-S0$1"]
+ - name: re_replace
+ args: ["(?i)pouze (\\d{1})\\-(\\d{2,})", "pouze S0$1-S$2"]
+ - name: re_replace
+ args: ["(?i)pouze (\\d{1})\\-(\\d{1})", "pouze S0$1-S0$2"]
+ - name: re_replace
+ args: ["(?i)komplet (\\d{1})\\-(\\d{2,})", "komplet S0$1-S$2"]
+ - name: re_replace
+ args: ["(?i)komplet (\\d{1})\\-(\\d{1})", "komplet S0$1-S0$2"]
+ details:
+ selector: a[href^="details.php?name="]
+ attribute: href
+ poster_default:
+ selector: img[class="lozad"]
+ attribute: data-src
+ optional: true
+ poster_optional:
+ selector: img[src="//cdn.sktorrent.eu/obrazky/xXx.jpg"]
+ attribute: src
+ optional: true
+ poster:
+ text: "{{ if .Result.poster_optional }}{{ .Result.poster_optional }}{{ else }}{{ .Result.poster_default }}{{ end }}"
+ download:
+ selector: a[href^="details.php?name="]
+ attribute: href
+ size:
+ selector: div > div
+ filters:
+ - name: regexp
+ args: "Velkost (.+?) \\|"
+ date:
+ selector: div > div
+ filters:
+ - name: regexp
+ args: "Pridany (\\d{2}/\\d{2}/\\d{4})"
+ - name: append
+ args: " +00:00" # auto adjusted by site account profile
+ - name: dateparse
+ args: "02/01/2006 -07:00"
+ seeders:
+ selector: div > div
+ filters:
+ - name: regexp
+ args: "Odosielaju : (\\d+)"
+ leechers:
+ selector: div > div
+ filters:
+ - name: regexp
+ args: "Stahuju : (\\d+)"
+ genre:
+ selector: div > div
+ filters:
+ - name: replace
+ args: ["\n", ""]
+ - name: replace
+ args: ["\x09", " "]
+ - name: validate
+ args: "Akcni, Animovany, Dobrodruzny, Dokumentarny, Drama, Eroticky, Experimentalni, Fantasy, Historicky, Horor, Hudebni, Katastroficky, Komedie, Kratkometrazni, Krimi, Loutkovy, Muzikal, Mysteriozni, Pohadka, Povidkovy, Psychologicky, Publicisticky, Reality-TV, Road-Movie, Rodinny, Romanticky, Sci-Fi, Soutezni, Sportovni, Talk-show, Telenovela, Thriller, Valecny, Western, Zivotopisny"
+ description:
+ text: "{{ .Result.genre }}"
+ downloadvolumefactor:
+ text: 1
+ uploadvolumefactor:
+ text: 1
+ minimumratio:
+ text: 0.51
+# BtiTracker 1.4.8