From efc16029363c48b1c29cc011ba8d34455a5bc8d1 Mon Sep 17 00:00:00 2001 From: ilike2burnthing <59480337+ilike2burnthing@users.noreply.github.com> Date: Sat, 27 May 2023 03:47:17 +0100 Subject: [PATCH] trezzor: update, add separate cookie indexer. resolves #14376 (#14379) --- README.md | 2 +- src/Jackett.Common/Definitions/trezzor.yml | 162 ++++++++++----- .../Definitions/trezzorcookie.yml | 184 ++++++++++++++++++ 3 files changed, 295 insertions(+), 53 deletions(-) create mode 100644 src/Jackett.Common/Definitions/trezzorcookie.yml diff --git a/README.md b/README.md index a5d949e82..6110e98ee 100644 --- a/README.md +++ b/README.md @@ -576,7 +576,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht * TotallyKids (TK) * ToTheGlory (TTG) [![(invite needed)][inviteneeded]](#) * TranceTraffic - * Trezzor [![(invite needed)][inviteneeded]](#) + * TreZzoR [![(invite needed)][inviteneeded]](#) * TurkSeed * TurkTorrent (TT) * TV Chaos UK (TVCUK) diff --git a/src/Jackett.Common/Definitions/trezzor.yml b/src/Jackett.Common/Definitions/trezzor.yml index f0992d4bc..5a359204d 100644 --- a/src/Jackett.Common/Definitions/trezzor.yml +++ b/src/Jackett.Common/Definitions/trezzor.yml @@ -1,7 +1,7 @@ --- id: trezzor -name: Trezzor -description: "Trezzor is a CZECH Private site for TV / MOVIES / GENERAL" +name: TreZzoR +description: "TreZzoR is a CZECH Private site for TV / MOVIES / GENERAL" language: cs-CZ type: private encoding: windows-1250 @@ -10,74 +10,103 @@ links: caps: categorymappings: - - {id: 1, cat: Movies/DVD, desc: "DVD CZ/SK dabing"} - - {id: 2, cat: Movies/DVD, desc: "DVD CZ/SK titulky"} - - {id: 3, cat: Audio/Video, desc: "DVD Hudební video"} - - {id: 4, cat: Movies/SD, desc: "XviD, DivX CZ/SK dabing"} - - {id: 13, cat: Audio, desc: "Hudba CZ/SK scéna"} - - {id: 24, cat: Audio, desc: "Mluv. slovo CZ/SK dabing"} - - {id: 10, cat: Audio/Other, desc: "DTS audio"} - - {id: 14, cat: PC/Games, desc: "Hry"} - - {id: 17, cat: PC, desc: "Programy"} - - {id: 14, cat: PC, desc: "Cestiny,patche,upgrady"} - - {id: 18, cat: Books, desc: "Knihy CZ/SK lokalizace"} - - {id: 18, cat: Books/Comics, desc: "Komiks CZ/SK lokalizace"} - - {id: 16, cat: Other, desc: "Foto,obrázky"} - - {id: 20, cat: Console, desc: "Konzole"} - - {id: 21, cat: PC/Mobile-Other, desc: "Mobilmánia"} - - {id: 22, cat: Other, desc: "Ostatní CZ/SK scéna"} - - {id: 23, cat: Other, desc: "Na prani non CZ/SK"} - - {id: 27, cat: Other, desc: "TreZzoR rls"} - - {id: 35, cat: Audio/Video, desc: "HDTV Hudební video"} - - {id: 36, cat: Movies/SD, desc: "XviD, DivX CZ/SK titulky"} - - {id: 31, cat: Movies/HD, desc: "HDTV CZ/SK Dabing"} - - {id: 33, cat: Movies/HD, desc: "HDTV CZ/SK Titulky"} - - {id: 39, cat: Movies/3D, desc: "3D HDTV CZ/SK Dabing"} - - {id: 40, cat: Movies/3D, desc: "3D HDTV CZ/SK Titulky"} - - {id: 5, cat: Movies/SD, desc: "TV-rip CZ/SK dabing"} + - {id: 31, cat: Movies/HD, desc: "HD CZ/SK Dabing"} + - {id: 33, cat: Movies/HD, desc: "HD CZ/SK Titulky"} - {id: 41, cat: TV/HD, desc: "HD Seriály CZ/SK dabing"} - {id: 42, cat: TV/HD, desc: "HD Seriály CZ/SK titulky"} + - {id: 1, cat: Movies/BluRay, desc: "Full disc CZ/SK dabing"} + - {id: 2, cat: Movies/BluRay, desc: "Full disc CZ/SK titulky"} + - {id: 4, cat: Movies/SD, desc: "SD CZ/SK dabing"} + - {id: 36, cat: Movies/SD, desc: "SD CZ/SK titulky"} - {id: 7, cat: TV/SD, desc: "Seriály CZ/SK dabing"} - {id: 37, cat: TV/SD, desc: "Seriály CZ/SK titulky"} - - {id: 9, cat: XXX/XviD, desc: "XXX CZ/SK dabing"} - - {id: 32, cat: XXX/x264, desc: "XXX HD CZ/SK dabing"} + - {id: 35, cat: Audio/Video, desc: "Hudebni video"} + - {id: 32, cat: XXX, desc: "XXX CZ/SK"} + - {id: 13, cat: Audio, desc: "Hudba"} + - {id: 24, cat: Audio/Audiobook, desc: "Mluv. slovo CZ/SK dabing"} + - {id: 14, cat: PC/Games, desc: "Hry"} + - {id: 17, cat: PC/0day, desc: "Programy"} + - {id: 15, cat: PC/Games, desc: "Cestiny,patche,upgrady"} + - {id: 18, cat: Books, desc: "Knihy CZ/SK lokalizace"} + - {id: 19, cat: Books/Comics, desc: "Komiks CZ/SK lokalizace"} + - {id: 16, cat: Other, desc: "Foto,obrázky"} + - {id: 21, cat: PC/Mobile-Android, desc: "Mobilmánia"} + - {id: 20, cat: Console, desc: "Konzole"} + - {id: 22, cat: Other, desc: "Ostatní CZ/SK scéna"} + - {id: 23, cat: Other, desc: "Na prani non CZ/SK"} modes: search: [q] - tv-search: [q, season, ep] - movie-search: [q] + tv-search: [q, season, ep, year] + movie-search: [q, year] music-search: [q] book-search: [q] settings: - - name: cookie + - name: username type: text - label: Cookie - - name: info + label: Username + - name: password + type: password + label: Password + - name: freeleech + type: checkbox + label: Filter FreeLeech only + default: false + - name: sort + type: select + label: Sort requested from site + default: data + options: + data: created + seeds: seeders + size: size + filename: title + - name: type + type: select + label: Order requested from site + default: DESC + options: + DESC: desc + ASC: asc + - name: info_tpp type: info - label: How to get the Cookie - default: "
  1. Login to this tracker with your browser
  2. Open the DevTools panel by pressing F12
  3. Select the Network tab
  4. Click on the Doc button (Chrome Browser) or HTML button (FireFox)
  5. Refresh the page by pressing F5
  6. Click on the first row entry
  7. Select the Headers tab on the Right panel
  8. Find 'cookie:' in the Request Headers section
  9. Select and Copy the whole cookie string (everything after 'cookie: ') and Paste here.
" + label: Results Per Page + default: For best results, change the Torrentu na strance: setting to 100 on your account profile. + - name: info_xxx + type: info + label: XXX Results + default: To include XXX in results, click Kategoria XXX sa nezobrazuje!!!. povolit zobrazenie on the tracker search page. login: - method: cookie + path: prihlasenie.php + method: post inputs: - cookie: "{{ .Config.cookie }}" + uid: "{{ .Config.username }}" + pwd: "{{ .Config.password }}" + error: + - selector: div > font:has(a[href="neregpodp.php"]) test: - path: torrents.php + path: index.php + selector: a[href="logout.php"] search: paths: - path: torrents.php - keywordsfilters: - - name: re_replace - args: ["(?i)S(\\d{2})E(\\d{2})", "$1 $2"] inputs: search: "{{ .Keywords }}" category: 0 - active: 1 + # 0 all, 1 active, 2 dead + active: 0 + rok: "{{ .Query.Year }}" + # can search for genre but you need to know the id. &genres=57466 for Akční + + keywordsfilters: + - name: re_replace + args: ["(?i)S(\\d{2})E(\\d{2})", "$1 $2"] rows: - selector: tr.torrenty_lista + selector: "tr.torrenty_lista{{ if .Config.freeleech }}:has(a[href^=\"details.php?slug=\"] b span[style=\"color:darkmagenta\"]){{ else }}{{ end }}" fields: category: @@ -90,17 +119,36 @@ search: selector: a[href^="details.php?slug="] attribute: title filters: - # Czech, English - name: re_replace - args: ["(?i)(Zobrazit detaily: |View details: )", ""] + args: ["(?i)^(Zobrazit detaily|View details|Detaily): ", ""] - name: re_replace - args: ["(Detaily: )", ""] + args: ["(?i)[\\s\\->]*FREELEECH.*", ""] - name: re_replace - args: ["(\\w)\\.(\\w)", "$1 $2"] + args: [".*?/ ", ""] - name: re_replace - args: [".*? / ", ""] - - name: diacritics - args: replace + args: ["(?i)\\b(\\d{1,3})x(\\d{1,3})\\b", "S$1E$2"] + - name: re_replace + args: ["(?i)\\b(?:Sezona|Series?|Seria|Season)[\\s\\.]*(\\d{1,3}(?:-\\d+)?)[\\.,\\s]*Epizoda[\\s\\.]*(\\d+(?:-\\d+)?)\\b", "S$1E$2"] + - name: re_replace + args: ["(?i)\\b(\\d{1,3}(?:-\\d+)?)[\\s\\.]*(?:Sezona|Series?|Seria|Season)[\\.,\\s]*(\\d+(?:-\\d+)?)[\\s\\.]*Epizoda\\b", "S$1E$2"] + - name: re_replace + args: ["(?i)\\b(?:Sezona|Series?|Seria|Season)[\\s\\.]*(\\d{1,3}(?:-\\d+)?)[\\.,\\s]+(\\d+(?:-\\d+)?)[\\s\\.]*Epizoda\\b", "S$1E$2"] + - name: re_replace + args: ["(?i)\\b(?:Sezona|Series?|Seria|Season)[\\s\\.]*(\\d{1,3})[-\\+\\.,\\s]+(\\d+)\\b", "S$1-$2"] + - name: re_replace + args: ["(?i)\\b(\\d{1,3})[-\\+\\.\\s]+(\\d+)[\\s\\.]*(?:Sezona|Series?|Seria|Season)\\b", "S$1-$2"] + - name: re_replace + args: ["(?i)\\b(?:Sezona|Series?|Seria|Season)[\\s\\.]*(\\d{1,3}(?:-\\d+)?)\\b", "S$1"] + - name: re_replace + args: ["(?i)\\b(\\d{1,3}(?:-\\d+)?)[\\s\\.]*(?:Sezona|Series?|Seria|Season)\\b", "S$1"] + - name: re_replace + args: ["(?i)\\bEpizoda[\\s\\.]*(\\d+)[-\\+\\.,\\s]+(\\d+)\\b", "E$1-$2"] + - name: re_replace + args: ["(?i)\\b(\\d+)[-\\+\\.,\\s]+(\\d+)[\\s\\.]*Epizoda\\b", "E$1-$2"] + - name: re_replace + args: ["(?i)\\bEpizoda[\\s\\.]*(\\d+(?:-\\d+)?)\\b", "E$1"] + - name: re_replace + args: ["(?i)\\b(\\d+(?:-\\d+)?)[\\s\\.]*Epizoda\\b", "E$1"] details: selector: a[href^="details.php?slug="] attribute: href @@ -123,7 +171,17 @@ search: grabs: selector: td:nth-child(10) downloadvolumefactor: - text: 1 + case: + a[href^="details.php?slug="] b span[style="color:darkmagenta"]: 0 + "*": 1 uploadvolumefactor: text: 1 + description: + selector: a[href^="details.php?slug="] + attribute: title + filters: + - name: re_replace + args: ["(?i)^(Zobrazit detaily|View details|Detaily): ", ""] + - name: re_replace + args: ["(?i)[\\s\\->]*FREELEECH.*", ""] # engine tbd diff --git a/src/Jackett.Common/Definitions/trezzorcookie.yml b/src/Jackett.Common/Definitions/trezzorcookie.yml new file mode 100644 index 000000000..91ac435f9 --- /dev/null +++ b/src/Jackett.Common/Definitions/trezzorcookie.yml @@ -0,0 +1,184 @@ +--- +id: trezzorcookie +name: TreZzoRCookie +description: "TreZzoR is a CZECH Private site for TV / MOVIES / GENERAL. This uses the cookie method for access" +language: cs-CZ +type: private +encoding: windows-1250 +links: + - https://tracker.czech-server.com/ + +caps: + categorymappings: + - {id: 31, cat: Movies/HD, desc: "HD CZ/SK Dabing"} + - {id: 33, cat: Movies/HD, desc: "HD CZ/SK Titulky"} + - {id: 41, cat: TV/HD, desc: "HD Seriály CZ/SK dabing"} + - {id: 42, cat: TV/HD, desc: "HD Seriály CZ/SK titulky"} + - {id: 1, cat: Movies/BluRay, desc: "Full disc CZ/SK dabing"} + - {id: 2, cat: Movies/BluRay, desc: "Full disc CZ/SK titulky"} + - {id: 4, cat: Movies/SD, desc: "SD CZ/SK dabing"} + - {id: 36, cat: Movies/SD, desc: "SD CZ/SK titulky"} + - {id: 7, cat: TV/SD, desc: "Seriály CZ/SK dabing"} + - {id: 37, cat: TV/SD, desc: "Seriály CZ/SK titulky"} + - {id: 35, cat: Audio/Video, desc: "Hudebni video"} + - {id: 32, cat: XXX, desc: "XXX CZ/SK"} + - {id: 13, cat: Audio, desc: "Hudba"} + - {id: 24, cat: Audio/Audiobook, desc: "Mluv. slovo CZ/SK dabing"} + - {id: 14, cat: PC/Games, desc: "Hry"} + - {id: 17, cat: PC/0day, desc: "Programy"} + - {id: 15, cat: PC/Games, desc: "Cestiny,patche,upgrady"} + - {id: 18, cat: Books, desc: "Knihy CZ/SK lokalizace"} + - {id: 19, cat: Books/Comics, desc: "Komiks CZ/SK lokalizace"} + - {id: 16, cat: Other, desc: "Foto,obrázky"} + - {id: 21, cat: PC/Mobile-Android, desc: "Mobilmánia"} + - {id: 20, cat: Console, desc: "Konzole"} + - {id: 22, cat: Other, desc: "Ostatní CZ/SK scéna"} + - {id: 23, cat: Other, desc: "Na prani non CZ/SK"} + + modes: + search: [q] + tv-search: [q, season, ep, year] + movie-search: [q, year] + music-search: [q] + book-search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info + type: info + label: How to get the Cookie + default: "
  1. Login to this tracker with your browser
  2. Open the DevTools panel by pressing F12
  3. Select the Network tab
  4. Click on the Doc button (Chrome Browser) or HTML button (FireFox)
  5. Refresh the page by pressing F5
  6. Click on the first row entry
  7. Select the Headers tab on the Right panel
  8. Find 'cookie:' in the Request Headers section
  9. Select and Copy the whole cookie string (everything after 'cookie: ') and Paste here.
" + - name: freeleech + type: checkbox + label: Filter FreeLeech only + default: false + - name: sort + type: select + label: Sort requested from site + default: data + options: + data: created + seeds: seeders + size: size + filename: 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 Torrentu na strance: setting to 100 on your account profile. + - name: info_xxx + type: info + label: XXX Results + default: To include XXX in results, click Kategoria XXX sa nezobrazuje!!!. povolit zobrazenie on the tracker search page. + +login: + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + search: "{{ .Keywords }}" + category: 0 + # 0 all, 1 active, 2 dead + active: 0 + rok: "{{ .Query.Year }}" + # can search for genre but you need to know the id. &genres=57466 for Akční + + keywordsfilters: + - name: re_replace + args: ["(?i)S(\\d{2})E(\\d{2})", "$1 $2"] + + rows: + selector: "tr.torrenty_lista{{ if .Config.freeleech }}:has(a[href^=\"details.php?slug=\"] b span[style=\"color:darkmagenta\"]){{ else }}{{ end }}" + + fields: + category: + selector: a[href^="torrents.php?onlycat="] + attribute: href + filters: + - name: querystring + args: onlycat + title: + selector: a[href^="details.php?slug="] + attribute: title + filters: + - name: re_replace + args: ["(?i)^(Zobrazit detaily|View details|Detaily): ", ""] + - name: re_replace + args: ["(?i)[\\s\\->]*FREELEECH.*", ""] + - name: re_replace + args: [".*?/ ", ""] + - name: re_replace + args: ["(?i)\\b(\\d{1,3})x(\\d{1,3})\\b", "S$1E$2"] + - name: re_replace + args: ["(?i)\\b(?:Sezona|Series?|Seria|Season)[\\s\\.]*(\\d{1,3}(?:-\\d+)?)[\\.,\\s]*Epizoda[\\s\\.]*(\\d+(?:-\\d+)?)\\b", "S$1E$2"] + - name: re_replace + args: ["(?i)\\b(\\d{1,3}(?:-\\d+)?)[\\s\\.]*(?:Sezona|Series?|Seria|Season)[\\.,\\s]*(\\d+(?:-\\d+)?)[\\s\\.]*Epizoda\\b", "S$1E$2"] + - name: re_replace + args: ["(?i)\\b(?:Sezona|Series?|Seria|Season)[\\s\\.]*(\\d{1,3}(?:-\\d+)?)[\\.,\\s]+(\\d+(?:-\\d+)?)[\\s\\.]*Epizoda\\b", "S$1E$2"] + - name: re_replace + args: ["(?i)\\b(?:Sezona|Series?|Seria|Season)[\\s\\.]*(\\d{1,3})[-\\+\\.,\\s]+(\\d+)\\b", "S$1-$2"] + - name: re_replace + args: ["(?i)\\b(\\d{1,3})[-\\+\\.\\s]+(\\d+)[\\s\\.]*(?:Sezona|Series?|Seria|Season)\\b", "S$1-$2"] + - name: re_replace + args: ["(?i)\\b(?:Sezona|Series?|Seria|Season)[\\s\\.]*(\\d{1,3}(?:-\\d+)?)\\b", "S$1"] + - name: re_replace + args: ["(?i)\\b(\\d{1,3}(?:-\\d+)?)[\\s\\.]*(?:Sezona|Series?|Seria|Season)\\b", "S$1"] + - name: re_replace + args: ["(?i)\\bEpizoda[\\s\\.]*(\\d+)[-\\+\\.,\\s]+(\\d+)\\b", "E$1-$2"] + - name: re_replace + args: ["(?i)\\b(\\d+)[-\\+\\.,\\s]+(\\d+)[\\s\\.]*Epizoda\\b", "E$1-$2"] + - name: re_replace + args: ["(?i)\\bEpizoda[\\s\\.]*(\\d+(?:-\\d+)?)\\b", "E$1"] + - name: re_replace + args: ["(?i)\\b(\\d+(?:-\\d+)?)[\\s\\.]*Epizoda\\b", "E$1"] + details: + selector: a[href^="details.php?slug="] + attribute: href + download: + selector: a[href^="download.php?slug="] + attribute: href + date: + selector: td:nth-child(6) + filters: + - name: append + args: " +02:00" # EET + - name: dateparse + args: "d/M/yyyy HH:mm zzz" + size: + selector: td:nth-child(7) + seeders: + selector: td:nth-child(8) a + leechers: + selector: td:nth-child(9) a + grabs: + selector: td:nth-child(10) + downloadvolumefactor: + case: + a[href^="details.php?slug="] b span[style="color:darkmagenta"]: 0 + "*": 1 + uploadvolumefactor: + text: 1 + description: + selector: a[href^="details.php?slug="] + attribute: title + filters: + - name: re_replace + args: ["(?i)^(Zobrazit detaily|View details|Detaily): ", ""] + - name: re_replace + args: ["(?i)[\\s\\->]*FREELEECH.*", ""] +# engine tbd