diff --git a/definitions/v7/bithorlo.yml b/definitions/v7/bithorlo.yml
index a796027b1..c2555f55a 100644
--- a/definitions/v7/bithorlo.yml
+++ b/definitions/v7/bithorlo.yml
@@ -39,7 +39,7 @@ caps:
- {id: 20, cat: Other, desc: "Képek"}
- {id: 21, cat: PC/Mobile-Other, desc: "Mobil"}
# Program
- - {id: 22, cat: PC/0day, desc: "Win/Program/ISO"}
+ - {id: 54, cat: PC/0day, desc: "Win/Program/ISO"}
- {id: 23, cat: PC/0day, desc: "Win/Program/Rip"}
# Felnőtt tartalom
- {id: 9, cat: XXX, desc: "XXX/Film"}
diff --git a/definitions/v7/chdbits.yml b/definitions/v7/chdbits.yml
index 39586c0ec..a3c9be7ab 100644
--- a/definitions/v7/chdbits.yml
+++ b/definitions/v7/chdbits.yml
@@ -6,6 +6,8 @@ language: zh-CN
type: private
encoding: UTF-8
links:
+ - https://ptchdbits.co/
+legacylinks:
- https://chdbits.co/
caps:
diff --git a/definitions/v7/digitalcore.yml b/definitions/v7/digitalcore.yml
index f88f0101b..371bc5eed 100644
--- a/definitions/v7/digitalcore.yml
+++ b/definitions/v7/digitalcore.yml
@@ -75,6 +75,10 @@ settings:
type: checkbox
label: Search P2P releases only
default: false
+ - name: unrar_releases_only
+ type: checkbox
+ label: Search UNRAR releases only
+ default: false
- name: sort
type: select
label: Sort requested from site
@@ -119,6 +123,7 @@ search:
section: all
sort: "{{ .Config.sort }}"
stereoscopic: false
+ unrar: "{{ if .Config.unrar_releases_only }}true{{ else }}{{ end }}"
watchview: false
rows:
@@ -212,6 +217,12 @@ search:
case:
0: ""
1: P2P
+ _unrartag:
+ selector: unrar
+ case:
+ 0: ""
+ 1: UNRAR
+ optional: true
_packtag:
selector: pack
case:
@@ -224,7 +235,7 @@ search:
"*": Request
_tag_desc:
optional: true
- text: "{{ if .Result._p2ptag }}{{ .Result._p2ptag }}, {{ else }}{{ end }}{{ if .Result._packtag }}{{ .Result._packtag }}, {{ else }}{{ end }}{{ if .Result._reqidtag }}{{ .Result._reqidtag }}{{ else }}{{ end }}"
+ text: "{{ if .Result._p2ptag }}{{ .Result._p2ptag }}, {{ else }}{{ end }}{{ if .Result._unrartag }}{{ .Result._unrartag }}, {{ else }}{{ end }}{{ if .Result._packtag }}{{ .Result._packtag }}, {{ else }}{{ end }}{{ if .Result._reqidtag }}{{ .Result._reqidtag }}{{ else }}{{ end }}"
filters:
- name: regexp
args: "(.+?), $"
diff --git a/definitions/v7/fantasticheaven.yml b/definitions/v7/fantasticheaven.yml
deleted file mode 100644
index f67190f3c..000000000
--- a/definitions/v7/fantasticheaven.yml
+++ /dev/null
@@ -1,181 +0,0 @@
----
-id: fantasticheaven
-name: Fantastic Heaven
-description: "Fantastic Heaven is a German Time based tracker"
-language: de-DE
-type: private
-encoding: UTF-8
-links:
- - https://fantastic-heaven.eu/
-
-caps:
- categorymappings:
- - {id: 157, cat: TV/Documentary, desc: "Doku 1080p"}
- - {id: 156, cat: TV/Documentary, desc: "Doku 720p"}
- - {id: 155, cat: TV/Documentary, desc: "Doku SD x264/x265"}
- - {id: 152, cat: Books, desc: "E-Books"}
- - {id: 141, cat: Movies/HD, desc: "Filme HD 1080p"}
- - {id: 154, cat: Movies/HD, desc: "Filme HD 720p"}
- - {id: 139, cat: Movies/HD, desc: "Filme Packs HD 1080p"}
- - {id: 106, cat: Movies/HD, desc: "Filme Packs HD 720p"}
- - {id: 105, cat: Movies/SD, desc: "Filme Packs SD x264/x265"}
- - {id: 119, cat: Movies/UHD, desc: "Filme Packs UHD 2160p"}
- - {id: 153, cat: Movies/SD, desc: "Filme SD x264/x265"}
- - {id: 140, cat: Movies/UHD, desc: "Filme UHD 2160p"}
- - {id: 104, cat: Movies/HD, desc: "Filmklassiker HD 1080p"}
- - {id: 103, cat: Movies/HD, desc: "Filmklassiker HD 720p"}
- - {id: 124, cat: Movies/HD, desc: "Filmklassiker Packs HD 1080p"}
- - {id: 121, cat: Movies/HD, desc: "Filmklassiker Packs HD 720p"}
- - {id: 123, cat: Movies/UHD, desc: "Filmklassiker Packs UHD 2160p"}
- - {id: 127, cat: Movies/SD, desc: "Filmklassiker Packs x264/x265"}
- - {id: 102, cat: Movies/SD, desc: "Filmklassiker SD x264/x265"}
- - {id: 135, cat: Movies/UHD, desc: "Filmklassiker UHD 2160p"}
- - {id: 118, cat: Audio/Audiobook, desc: "Hörbücher"}
- - {id: 109, cat: Audio/Lossless, desc: "Musik Flac"}
- - {id: 129, cat: Audio/MP3, desc: "Musik MP3"}
- - {id: 111, cat: Audio/Lossless, desc: "Musik Packs Flac"}
- - {id: 112, cat: Audio/MP3, desc: "Musik Packs MP3"}
- - {id: 113, cat: TV/HD, desc: "Serie HD 1080p"}
- - {id: 125, cat: TV/HD, desc: "Serie HD 720p"}
- - {id: 115, cat: TV/Foreign, desc: "Serie International"}
- - {id: 138, cat: TV/HD, desc: "Serie Packs HD 1080p"}
- - {id: 116, cat: TV/HD, desc: "Serie Packs HD 720p"}
- - {id: 144, cat: TV/Foreign, desc: "Serie Packs International"}
- - {id: 137, cat: TV/SD, desc: "Serie Packs SD x264/x265"}
- - {id: 143, cat: TV/UHD, desc: "Serie Packs UHD 2160p"}
- - {id: 133, cat: TV/SD, desc: "Serie SD x264/x265"}
- - {id: 114, cat: TV/UHD, desc: "Serie UHD 2160p"}
- - {id: 150, cat: PC/0day, desc: "Windows Apps"}
- - {id: 149, cat: PC/Games, desc: "Windows Spiele"}
- - {id: 147, cat: XXX/x264, desc: "XXX HD 1080p"}
- - {id: 146, cat: XXX/x264, desc: "XXX HD 720p"}
- - {id: 148, cat: XXX/Pack, desc: "XXX Packs"}
- - {id: 69, cat: XXX/SD, desc: "XXX SD x264/x265"}
- - {id: 151, cat: Books/Mags, desc: "Zeitschriften"}
-
- 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: pin
- type: text
- label: Pin
- - name: freeleech
- type: checkbox
- label: Filter FreeLeech only
- default: false
- - name: onlyupload
- type: checkbox
- label: Filter OnlyUpload only
- default: false
- - name: info_free
- type: info
- label: About Freeleech and OnlyUpload at Fantastic Heaven
- default: "
- FreeLeech are torrents where neither the download or upload is counted. (On the Prowlarr search results page these are tagged as NoUpload).
- OnlyUpload are torrents where download is not counted but upload is. Good for building your Ratio up. (On the Prowlarr search results page these are tagged as Freeleech).
"
- - name: sort
- type: select
- label: Sort requested from site
- default: added
- options:
- added: created
- seeds: seeders
- size: size
- name: 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 pro Seite: setting to 100 on your Control Panel. The default is 15.
-
-login:
- path: login.php
- method: form
- form: form[action="../takelogin.php"]
- cookies: ["JAVA=OK"] # avoid jscheck redirect
- inputs:
- username: "{{ .Config.username }}"
- password: "{{ .Config.password }}"
- secure_pin: "{{ .Config.pin }}"
- error:
- - selector: table.tableinborder:contains("Anmeldung Gescheitert!") > tbody > tr > td.tablea
- test:
- path: index.php
- selector: a[href="logout.php"]
-
-search:
- paths:
- - path: browse.php
- inputs:
- $raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
- showsearch: 1
- search: "{{ .Keywords }}"
- # 0 active, 1 all, 2 dead
- incldead: 1
- orderby: "{{ .Config.sort }}"
- sort: "{{ .Config.type }}"
-
- rows:
- selector: "table.tableinborder[cellspacing=\"1\"][cellpadding=\"0\"] > tbody > tr:has(a[href^=\"download.php\"]){{ if .Config.freeleech }}:has(img[src=\"pic/freeleech.gif\"]){{ else }}{{ end }}{{ if .Config.onlyupload }}:has(img[src=\"pic/oupic.gif\"]){{ else }}{{ end }}"
-
- fields:
- category:
- selector: a[href^="browse.php?cat="]
- attribute: href
- filters:
- - name: querystring
- args: cat
- title:
- selector: a[href^="details.php?id="] > b
- details:
- selector: a[href^="details.php?id="]
- attribute: href
- download:
- selector: a[href^="download.php?torrent="]
- attribute: href
- poster:
- selector: div[id^="details"] img
- attribute: src
- size:
- selector: td.content_wrap table tbody tr:nth-child(2) td:nth-child(1) b:nth-child(1)
- files:
- selector: td.content_wrap table tbody tr:nth-child(2) td:nth-child(1) b:nth-child(2)
- seeders:
- selector: td.content_wrap table tbody tr:nth-child(2) td:nth-child(2) b:nth-child(1)
- leechers:
- selector: td.content_wrap table tbody tr:nth-child(2) td:nth-child(2) > b:nth-of-type(2)
- grabs:
- selector: td.content_wrap table tbody tr:nth-child(2) td:nth-child(3) b:nth-child(1)
- date:
- selector: td.content_wrap table tbody tr:nth-child(2) td:nth-child(5)
- filters:
- - name: append
- args: " +01:00" # CET
- - name: replace
- args: ["\xA0", " "]
- - name: dateparse
- args: "dd.MM.yyyy HH:mm:ss zzz"
- downloadvolumefactor:
- case:
- img[src="pic/oupic.gif"]: 0 # only upload is counted
- "*": 1
- uploadvolumefactor:
- case:
- img[src="pic/freeleech.gif"]: 0 # nothing is counted
- "*": 1
-# engine n/a
diff --git a/definitions/v7/gimmepeers.yml b/definitions/v7/gimmepeers.yml
index 25ed63561..6d5311b53 100644
--- a/definitions/v7/gimmepeers.yml
+++ b/definitions/v7/gimmepeers.yml
@@ -104,7 +104,7 @@ search:
type: "{{ .Config.type }}"
rows:
- selector: table.browsetable:not(:has(td.gp_sub_nav):contains("Top 20")) tbody tr:has(a[href^="download.php"])
+ selector: table.browsetable:not(:has(td.gp_sub_nav):contains("Top 25")) tbody tr:has(a[href^="download.php"])
fields:
category:
diff --git a/definitions/v7/greekteam.yml b/definitions/v7/greekteam.yml
index 86ed40044..c4f1bd21a 100644
--- a/definitions/v7/greekteam.yml
+++ b/definitions/v7/greekteam.yml
@@ -167,8 +167,11 @@ search:
selector: td:has(a[href$="filelist=1"]) ~ td ~ td ~ td ~ td ~ td
seeders:
selector: td:has(a[href$="filelist=1"]) ~ td ~ td ~ td ~ td ~ td ~ td
- leechers:
+ leechers_optional:
selector: td:has(a[href$="filelist=1"]) ~ td ~ td ~ td ~ td ~ td ~ td ~ td
+ optional: true
+ leechers:
+ text: "{{ if .Result.leechers_optional }}{{ .Result.leechers_optional }}{{ else }}0{{ end }}"
downloadvolumefactor:
case:
img[src="pic/free.png"]: 0
diff --git a/definitions/v7/hdcztorrent.yml b/definitions/v7/hdcztorrent.yml
index 59b60c34b..49cf5f699 100644
--- a/definitions/v7/hdcztorrent.yml
+++ b/definitions/v7/hdcztorrent.yml
@@ -27,12 +27,14 @@ caps:
- {id: 129, cat: TV/Sport, desc: "Sportovní Filmy"}
- {id: 130, cat: TV/WEB-DL, desc: "TV - WEB- DL"}
- {id: 131, cat: Movies, desc: "RLS For HDCZT"}
+ - {id: 132, cat: Movies, desc: "Film na přání"}
- {id: 91, cat: TV, desc: "Serial titulky"}
- {id: 45, cat: TV, desc: "SERIALY CZ"}
- {id: 81, cat: Movies, desc: "ORIGINAL JAZYK"}
# Animované
- {id: 47, cat: TV/Other, desc: "Animované"}
# HUDBA
+ - {id: 39, cat: Audio/Video, desc: "Hudba Video"}
- {id: 57, cat: Audio/Lossless, desc: "Hudba flac"}
- {id: 58, cat: Audio/MP3, desc: "Hudba mp3"}
- {id: 96, cat: Audio/Other, desc: "RETRO HUDBA"}
diff --git a/definitions/v7/idope.yml b/definitions/v7/idope.yml
index a2f14f145..520e6d767 100644
--- a/definitions/v7/idope.yml
+++ b/definitions/v7/idope.yml
@@ -1,6 +1,6 @@
---
id: idope
-name: Idope
+name: iDope
description: "iDope is a Public torrent search engine presenting direct magnet links"
language: en-US
type: public
diff --git a/definitions/v7/kamept.yml b/definitions/v7/kamept.yml
index 8b9707865..51a019893 100644
--- a/definitions/v7/kamept.yml
+++ b/definitions/v7/kamept.yml
@@ -180,4 +180,4 @@ search:
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
-# NexusPHP v1.8.2 2023-05-08
+# NexusPHP KEMURIKUSA 2019-01-09
diff --git a/definitions/v7/pterclub.yml b/definitions/v7/pterclub.yml
index a21b8e695..3aad07c6a 100644
--- a/definitions/v7/pterclub.yml
+++ b/definitions/v7/pterclub.yml
@@ -177,4 +177,4 @@ search:
description:
selector: td:has(table.torrentname)
remove: a, img
-# NexusPHP custom v2019.12
+# NexusPHP prod#60d2fdc724a 2023-05-10
diff --git a/definitions/v7/thepiratebay.yml b/definitions/v7/thepiratebay.yml
index af07afb03..e4a139103 100644
--- a/definitions/v7/thepiratebay.yml
+++ b/definitions/v7/thepiratebay.yml
@@ -74,14 +74,17 @@ caps:
# Video
- {id: 200, cat: Movies, desc: "Video"}
- {id: 201, cat: Movies, desc: "Movies"}
- - {id: 202, cat: Movies, desc: "Movies"}
+ - {id: 202, cat: Movies, desc: "Movies DVDR"}
- {id: 203, cat: Audio/Video, desc: "Music Videos"}
- {id: 204, cat: Movies/Other, desc: "Movie Clips"}
- - {id: 205, cat: TV, desc: "TV"}
+ - {id: 205, cat: TV, desc: "TV Shows"}
- {id: 206, cat: TV/Other, desc: "Handheld"}
- {id: 207, cat: Movies/HD, desc: "HD - Movies"}
- {id: 208, cat: TV/HD, desc: "HD - TV shows"}
- {id: 209, cat: Movies/3D, desc: "3D"}
+ - {id: 210, cat: Movies/SD, desc: "CAM/TS"}
+ - {id: 211, cat: Movies/UHD, desc: "UHD/4k - Movies"}
+ - {id: 212, cat: TV/UHD, desc: "UHD/4k - TV shows"}
- {id: 299, cat: Movies/Other, desc: "Video Other"}
# Applications
- {id: 300, cat: PC, desc: "Applications"}
@@ -109,12 +112,13 @@ caps:
- {id: 502, cat: XXX/DVD, desc: "Movies DVDR"}
- {id: 503, cat: XXX/ImageSet, desc: "Pictures"}
- {id: 504, cat: XXX, desc: "Games"}
- - {id: 505, cat: XXX, desc: "HD - Movies"}
+ - {id: 505, cat: XXX/x264, desc: "HD - Movies"}
- {id: 506, cat: XXX, desc: "Movie Clips"}
+ - {id: 507, cat: XXX/UHD, desc: "UHD/4k - Movies"}
- {id: 599, cat: XXX/Other, desc: "Porn other"}
# Other
- {id: 600, cat: Other, desc: "Other"}
- - {id: 601, cat: Books, desc: "E-books"}
+ - {id: 601, cat: Books/EBook, desc: "E-books"}
- {id: 602, cat: Books/Comics, desc: "Comics"}
- {id: 603, cat: Books, desc: "Pictures"}
- {id: 604, cat: Books, desc: "Covers"}
diff --git a/definitions/v7/torrent9clone.yml b/definitions/v7/torrent9clone.yml
index 6326b0160..e23d383dc 100644
--- a/definitions/v7/torrent9clone.yml
+++ b/definitions/v7/torrent9clone.yml
@@ -8,11 +8,10 @@ encoding: UTF-8
followredirect: true
# to fetch current domain use https://www.protege-torrent.com/Torrent9
links:
- - https://www.torrent9.wtf/
+ - https://www.torrent9.sc/
- https://torrent9.nocensor.click/
- https://torrent9.mrunblock.bond/
legacylinks:
- - https://www.torrent9.la/
- https://www.torrent9.ninja/
- https://torrent9.nocensor.space/
- https://torrent9.nocensor.work/
@@ -36,6 +35,7 @@ legacylinks:
- https://torrent9.nocensor.art/
- https://torrent9.mrunblock.life/
- https://www.torrent9.fi/
+ - https://www.torrent9.wtf/
caps:
categorymappings:
diff --git a/definitions/v7/torrentsir.yml b/definitions/v7/torrentsir.yml
index f674d1eb5..842ff49ab 100644
--- a/definitions/v7/torrentsir.yml
+++ b/definitions/v7/torrentsir.yml
@@ -7,10 +7,8 @@ type: public
encoding: UTF-8
followredirect: true
links:
- - https://torrentsir113.com/
+ - https://torrentsir114.com/
legacylinks:
- - http://torrentsir94.com/
- - https://torrentsir94.com/
- http://torrentsir95.com/
- https://torrentsir95.com/
- http://torrentsir96.com/
@@ -40,6 +38,8 @@ legacylinks:
- http://torrentsir112.com/
- https://torrentsir112.com/
- http://torrentsir113.com/
+ - https://torrentsir113.com/
+ - http://torrentsir114.com/
caps:
categorymappings:
diff --git a/definitions/v7/trackermk.yml b/definitions/v7/trackermk.yml
new file mode 100644
index 000000000..d20c017e5
--- /dev/null
+++ b/definitions/v7/trackermk.yml
@@ -0,0 +1,155 @@
+---
+id: trackermk
+name: TrackerMK
+description: "TrackerMK is a MACEDONIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
+language: mk-MK
+type: private
+encoding: UTF-8
+links:
+ - http://trackermk.com/ # does not support https, CA expired December 2017
+
+caps:
+ categorymappings:
+ - {id: 49, cat: Movies/DVD, desc: "Movies DVD-R"}
+ - {id: 68, cat: PC/Mobile-Android, desc: "Андроид (Android)"}
+ - {id: 72, cat: PC/Mobile-Android, desc: "Андроид - Апликации (Android)"}
+ - {id: 47, cat: PC, desc: "Апликации (Software)"}
+ - {id: 71, cat: PC/Mac, desc: "Апликации - Mac OS"}
+ - {id: 70, cat: PC/0day, desc: "Апликации - Window 7/8.1/10/11"}
+ - {id: 63, cat: Audio/Audiobook, desc: "Аудио (Audiobooks)"}
+ - {id: 60, cat: TV/Documentary, desc: "Документарци (Documentaries)"}
+ - {id: 61, cat: TV, desc: "Домашни серии (TV Local)"}
+ - {id: 69, cat: TV, desc: "Домашни серии - Српски / Хрватски / Босански (TV Local)"}
+ - {id: 57, cat: Books/EBook, desc: "Е-Книги (EBooks)"}
+ - {id: 53, cat: Console, desc: "Игри (Games)"}
+ - {id: 54, cat: Audio/Video, desc: "Концерти (Concerts)"}
+ - {id: 52, cat: Audio/Video, desc: "Музички Спотови (Music Videos)"}
+ - {id: 67, cat: Other, desc: "Од се по нешто (VIP)"}
+ - {id: 73, cat: Audio, desc: "Рип од Плоча (Music Rips)"}
+ - {id: 65, cat: Other, desc: "Слики (pictures)"}
+ - {id: 55, cat: TV/Sport, desc: "Спорт (sport)"}
+ - {id: 48, cat: TV/Anime, desc: "Цртани (Animations)"}
+ - {id: 64, cat: Audio/Lossless, desc: "FLAC"}
+ - {id: 62, cat: Movies/HD, desc: "Movies HDTV"}
+ - {id: 50, cat: Audio/MP3, desc: "Mp3"}
+ - {id: 56, cat: Movies/SD, desc: "Movies Xvid"}
+ - {id: 59, cat: XXX, desc: "XXX"}
+
+ 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: freeleech
+ type: checkbox
+ label: Filter freeleech only
+ default: false
+ - name: sort
+ type: select
+ label: Sort requested from site
+ default: added
+ options:
+ added: 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: takelogin.php
+ method: post
+ inputs:
+ username: "{{ .Config.username }}"
+ password: "{{ .Config.password }}"
+ logout: ""
+ error:
+ - selector: table:contains("Грешка!")
+ test:
+ path: index.php
+ selector: a[href*="/logout.php?logouthash="]
+
+search:
+ paths:
+ - path: browse.php
+ keywordsfilters:
+ - name: re_replace
+ args: ["[\\s]+", "%"]
+ inputs:
+ do: search
+ keywords: "{{ .Keywords }}"
+ # t_name, t_description, t_both, t_uploader, t_genre
+ search_type: t_name
+ # does not support multi category searching so defaulting to all.
+ category: 0
+ include_dead_torrents: yes
+ sort: "{{ if .Config.freeleech }}free{{ else }}{{ .Config.sort }}{{ end }}"
+ order: "{{ if .Config.freeleech }}asc{{ else }}{{ .Config.type }}{{ end }}"
+ # does not return imdb link in results and t_genre does not return imdbid search results
+
+ rows:
+ selector: "table.sortable tr:has(a[href*=\"/download.php?id=\"]){{ if .Config.freeleech }}:has(img[src$=\"/freedownload.gif\"]){{ else }}{{ end }}"
+
+ fields:
+ category:
+ selector: a[href*="/browse.php?category="]
+ attribute: href
+ filters:
+ - name: querystring
+ args: category
+ title:
+ selector: a[href*="/details.php?id="]
+ details:
+ selector: a[href*="/details.php?id="]
+ attribute: href
+ download:
+ selector: a[href*="/download.php?id="]
+ attribute: href
+ poster:
+ selector: img[src*="/torrents/images/"]
+ attribute: src
+ date:
+ selector: td:nth-child(2)
+ # auto adjusted by site account profile
+ filters:
+ - name: regexp
+ args: "(\\d{2}-\\d{2}-\\d{4} \\d{2}:\\d{2})"
+ - name: dateparse
+ args: "dd-MM-yyyy HH:mm"
+ size:
+ selector: td:nth-last-child(5)
+ grabs:
+ selector: td:nth-last-child(4)
+ seeders:
+ selector: td:nth-last-child(3)
+ leechers:
+ selector: td:nth-last-child(2)
+ downloadvolumefactor:
+ case:
+ img[src$="/freedownload.gif"]: 0
+ img[src$="/silverdownload.gif"]: 0.5
+ "*": 1
+ uploadvolumefactor:
+ case:
+ img[src$="/x2.gif"]: 2
+ "*": 1
+ minimumratio:
+ text: 1.0
+ minimumseedtime:
+ # 24 hours (as seconds = 24 x 60 x 60)
+ text: 86400
+# TS Special Edition v.7.2
diff --git a/definitions/v9/3wmg.yml b/definitions/v9/3wmg.yml
index 522b2431c..b853c4eb9 100644
--- a/definitions/v9/3wmg.yml
+++ b/definitions/v9/3wmg.yml
@@ -141,6 +141,14 @@ search:
download:
selector: a[href^="download.php?id="]
attribute: href
+ imdbid:
+ # site currently only has a badge and rating, the id is not present. just in case a future update.
+ selector: a[href*="imdb.com/title/tt"]
+ attribute: href
+ doubanid:
+ # site currently only has a badge and rating, the id is not present. just in case a future update.
+ selector: a[href*="movie.douban.com/subject/"]
+ attribute: href
date_elapsed:
# time type: time elapsed (default)
selector: td.rowfollow:nth-child(4) > span[title]
@@ -189,4 +197,4 @@ search:
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
-# NexusPHP v1.6.0-beta12 2020-06-23
+# NexusPHP v1.8.5 2023-07-29
diff --git a/definitions/v9/chdbits.yml b/definitions/v9/chdbits.yml
index f4a0cfaea..45b3cf032 100644
--- a/definitions/v9/chdbits.yml
+++ b/definitions/v9/chdbits.yml
@@ -6,6 +6,8 @@ language: zh-CN
type: private
encoding: UTF-8
links:
+ - https://ptchdbits.co/
+legacylinks:
- https://chdbits.co/
caps:
diff --git a/definitions/v9/gamera.yml b/definitions/v9/gamera.yml
new file mode 100644
index 000000000..81faff549
--- /dev/null
+++ b/definitions/v9/gamera.yml
@@ -0,0 +1,172 @@
+---
+id: gamera
+name: Gamera
+description: "Gamera (駕瞑羅) is a CHINESE Private Torrent Tracker for Japanese Monster and Superhero MOVIES / TV"
+language: zh-CN
+type: private
+encoding: UTF-8
+links:
+ - https://gamerapt.link/
+
+caps:
+ categorymappings:
+ - {id: 410, cat: Movies, desc: "Monster怪兽"}
+ - {id: 410, cat: TV, desc: "Monster怪兽"}
+ - {id: 411, cat: Movies, desc: "Kamen Rider假面骑士"}
+ - {id: 411, cat: TV, desc: "Kamen Rider假面骑士"}
+ - {id: 412, cat: Movies, desc: "Ultraman奥特曼"}
+ - {id: 412, cat: TV, desc: "Ultraman奥特曼"}
+ - {id: 413, cat: Movies, desc: "Team战队"}
+ - {id: 413, cat: TV, desc: "Team战队"}
+ - {id: 414, cat: Movies, desc: "Other其他特摄"}
+ - {id: 414, cat: TV, desc: "Other其他特摄"}
+ - {id: 415, cat: Movies, desc: "Musical特摄音乐"}
+ - {id: 415, cat: TV, desc: "Musical特摄音乐"}
+
+ modes:
+ search: [q]
+ tv-search: [q, season, ep]
+ movie-search: [q, imdbid, doubanid]
+
+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: sort
+ type: select
+ label: Sort requested from site
+ default: 4
+ options:
+ 4: created
+ 7: seeders
+ 5: size
+ 1: 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[href="logout.php"]
+
+search:
+ paths:
+ - path: torrents.php
+ inputs:
+ $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
+ search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ 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
+ 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, 2 exact
+ search_mode: 0
+ sort: "{{ .Config.sort }}"
+ type: "{{ .Config.type }}"
+ notnewword: 1
+
+ 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:
+ selector: a[title][href^="details.php?id="]
+ attribute: title
+ optional: true
+ default: "{{ .Result.title_default }}"
+ details:
+ selector: a[href^="details.php?id="]
+ attribute: href
+ download:
+ selector: a[href^="download.php?id="]
+ attribute: href
+ poster:
+ selector: img[data-src]
+ attribute: data-src
+ imdbid:
+ # site currently only has a badge and rating, the id is not present. just in case a future update.
+ selector: a[href*="imdb.com/title/tt"]
+ attribute: href
+ doubanid:
+ # site currently only has a badge and rating, the id is not present. just in case a future update.
+ selector: a[href*="movie.douban.com/subject/"]
+ attribute: href
+ date_elapsed:
+ # time type: time elapsed (default)
+ selector: td.rowfollow:nth-last-of-type(5) > span[title]
+ attribute: title
+ optional: true
+ filters:
+ - name: append
+ args: " +08:00"
+ - name: dateparse
+ args: "yyyy-MM-dd HH:mm:ss zzz"
+ date_added:
+ # time added
+ selector: td.rowfollow:nth-last-of-type(5):not(:has(span))
+ optional: true
+ filters:
+ - name: append
+ args: " +08:00" # CST
+ - name: dateparse
+ args: "yyyy-MM-ddHH:mm:ss zzz"
+ date:
+ text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
+ size:
+ selector: td.rowfollow:nth-last-of-type(4)
+ seeders:
+ selector: td.rowfollow:nth-last-of-type(3)
+ leechers:
+ selector: td.rowfollow:nth-last-of-type(2)
+ grabs:
+ selector: td.rowfollow:nth-last-of-type(1)
+ 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, b, font, img, span
+ minimumratio:
+ text: 0.2
+# NexusPHP KEMURIKUSA 2019-01-09
diff --git a/definitions/v9/greekteam.yml b/definitions/v9/greekteam.yml
new file mode 100644
index 000000000..464499226
--- /dev/null
+++ b/definitions/v9/greekteam.yml
@@ -0,0 +1,193 @@
+---
+id: greekteam
+name: Greek Team
+description: "Greek Team is a GREEK Private site for TV / MOVIES / GENERAL"
+language: el-GR
+type: private
+encoding: windows-1253
+links:
+ - https://www.greek-team.cc/
+legacylinks:
+ - http://www.greek-team.cc/
+
+caps:
+ categorymappings:
+ - {id: 9, cat: TV/Anime, desc: "Anime/Cartoon HD"}
+ - {id: 63, cat: TV/Anime, desc: "Anime/Cartoon HDTV"}
+ - {id: 35, cat: TV/Anime, desc: "Anime/Cartoon SD"}
+ - {id: 59, cat: TV/Anime, desc: "Anime/Cartoon SD Emb"}
+ - {id: 57, cat: TV/Anime, desc: "Anime/Cartoon TV"}
+ - {id: 46, cat: PC, desc: "Applications Linux"}
+ - {id: 45, cat: PC, desc: "Applications MAC"}
+ - {id: 23, cat: PC, desc: "Applications Windows"}
+ - {id: 10, cat: Books, desc: "Books/Magazines/English"}
+ - {id: 12, cat: Books, desc: "Books/Magazines/Greek"}
+ - {id: 8, cat: TV/Documentary, desc: "Documentaries"}
+ - {id: 5, cat: TV/Documentary, desc: "Documentaries Greek"}
+ - {id: 25, cat: TV/Documentary, desc: "Documentaries HD"}
+ - {id: 27, cat: Movies/DVD, desc: "Movies DVD-R"}
+ - {id: 31, cat: Console/Other, desc: "Games Other"}
+ - {id: 20, cat: PC/Games, desc: "Games Windows"}
+ - {id: 11, cat: Other, desc: "Misc"}
+ - {id: 47, cat: PC/Mobile-Other, desc: "Mobile"}
+ - {id: 53, cat: Movies/3D, desc: "Movies 3D"}
+ - {id: 15, cat: Movies/UHD, desc: "Movies 4K"}
+ - {id: 18, cat: Movies/BluRay, desc: "Movies Bluray"}
+ - {id: 29, cat: Movies, desc: "Movies Emb Packs"}
+ - {id: 19, cat: Movies/HD, desc: "Movies HD"}
+ - {id: 13, cat: Movies/HD, desc: "Movies HD Emb"}
+ - {id: 52, cat: Movies/HD, desc: "Movies HD Packs"}
+ - {id: 40, cat: Movies/SD, desc: "Movies SD"}
+ - {id: 14, cat: Movies/SD, desc: "Movies SD Emb"}
+ - {id: 60, cat: Movies/SD, desc: "Movies SD Packs"}
+ - {id: 22, cat: Audio, desc: "Music"}
+ - {id: 2, cat: Audio, desc: "Music Discographies"}
+ - {id: 48, cat: Audio, desc: "Music DJ & Promos"}
+ - {id: 33, cat: Audio/Lossless, desc: "Music Flac"}
+ - {id: 1, cat: Audio, desc: "Music Greek"}
+ - {id: 21, cat: Audio, desc: "Music Greek Discographies"}
+ - {id: 50, cat: Audio/Lossless, desc: "Music Greek Flac"}
+ - {id: 16, cat: Audio/Video, desc: "Music Videos"}
+ - {id: 6, cat: TV/Sport, desc: "Sports"}
+ - {id: 54, cat: TV/Sport, desc: "Sports HD"}
+ - {id: 55, cat: TV/SD, desc: "TV Greek Movies"}
+ - {id: 49, cat: TV/HD, desc: "TV Greek Movies HD"}
+ - {id: 3, cat: TV/SD, desc: "TV Greek Series"}
+ - {id: 44, cat: TV/SD, desc: "TV Greek Packs"}
+ - {id: 4, cat: TV/SD, desc: "TV Greek Shows"}
+ - {id: 34, cat: TV/SD, desc: "TV Series"}
+ - {id: 7, cat: TV/SD, desc: "TV Series Emb"}
+ - {id: 26, cat: TV/SD, desc: "TV Series Emb Packs"}
+ - {id: 36, cat: TV/HD, desc: "TV Series HD"}
+ - {id: 62, cat: TV/HD, desc: "TV Series HD Packs"}
+ - {id: 42, cat: TV/SD, desc: "TV Series Packs"}
+
+ modes:
+ search: [q]
+ tv-search: [q, season, ep]
+ movie-search: [q, imdbid]
+ 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: sort
+ type: select
+ label: Sort requested from site
+ default: added
+ options:
+ added: 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
+ type: info
+ label: Results Per Page
+ default: For best results, change the Torrents per page: setting to 100 on your account profile. The default is 25.
+
+login:
+ path: login.php
+ method: post
+ inputs:
+ take_login: 1
+ logout: no
+ username: "{{ .Config.username }}"
+ password: "{{ .Config.password }}"
+ error:
+ - selector: td.embedded:has(h2:contains("failed"))
+ test:
+ path: index.php
+ selector: a[href="logout.php"]
+
+search:
+ paths:
+ - path: browse.php
+ inputs:
+ $raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
+ search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
+ # 0 active, 1 incldead, 2 onlydead, 3 free (gold)
+ incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
+ # 0 name, 1 descr, 2 uploader
+ blah: "{{ if .Query.IMDBID }}1{{ else }}0{{ end }}"
+ sort: "{{ .Config.sort }}"
+ d: "{{ .Config.type }}"
+ # does not show IMDB but can support searching with it in descriptions
+
+ rows:
+ selector: table.row1 > tbody > tr:has(a.torname)
+
+ fields:
+ _id:
+ selector: a.torname
+ attribute: href
+ filters:
+ - name: querystring
+ args: id
+ category:
+ selector: a[href^="browse.php?cat="]
+ attribute: href
+ filters:
+ - name: querystring
+ args: cat
+ title:
+ selector: a.torname
+ details:
+ selector: a.torname
+ attribute: href
+ download:
+ text: "download2.php?torrent={{ .Result._id }}"
+ files:
+ selector: td:has(a[href$="filelist=1"])
+ date:
+ selector: td:has(a[href$="filelist=1"]) ~ td ~ td > nobr
+ filters:
+ - name: append
+ args: " +02:00" # EET
+ - name: dateparse
+ args: "yyyy-MM-ddHH:mm:ss zzz"
+ size:
+ selector: td:has(a[href$="filelist=1"]) ~ td ~ td ~ td ~ td
+ grabs:
+ selector: td:has(a[href$="filelist=1"]) ~ td ~ td ~ td ~ td ~ td
+ seeders:
+ selector: td:has(a[href$="filelist=1"]) ~ td ~ td ~ td ~ td ~ td ~ td
+ leechers:
+ selector: td:has(a[href$="filelist=1"]) ~ td ~ td ~ td ~ td ~ td ~ td ~ td
+ optional: true
+ default: 0
+ downloadvolumefactor:
+ case:
+ img[src="pic/free.png"]: 0
+ img[src="pic/freedownload.gif"]: 0 # freeleech slot exchange
+ img[src="pic/personal_free.png"]: 0 # applies to VIPs only
+ "*": 1
+ uploadvolumefactor:
+ case:
+ img[src="pic/x2new.png"]: 0 # double uploaded with a freleech slot exchange
+ "*": 1
+ minimumratio:
+ case:
+ img[src="pic/hnrfree.png"]: 0 # exempt from H&R
+ img[src="pic/hnr-50.png"]: 0.5 # min ratio is 0.5
+ "*": 0.5 # rules say 0.3 but FAQ says 0.4 but H&R says 0.5 !#?
+ minimumseedtime:
+ case:
+ img[src="pic/hnrfree.png"]: 0 # exempt from H&R
+ "*": 432000 # 5 days (as seconds = 5 x 24 x 60 x 60)
+# engine n/a
diff --git a/definitions/v9/idope.yml b/definitions/v9/idope.yml
index 8d7db86a7..751d68940 100644
--- a/definitions/v9/idope.yml
+++ b/definitions/v9/idope.yml
@@ -1,6 +1,6 @@
---
id: idope
-name: Idope
+name: iDope
description: "iDope is a Public torrent search engine presenting direct magnet links"
language: en-US
type: public
diff --git a/definitions/v9/kamept.yml b/definitions/v9/kamept.yml
index 454dea888..a735d1985 100644
--- a/definitions/v9/kamept.yml
+++ b/definitions/v9/kamept.yml
@@ -179,4 +179,4 @@ search:
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
-# NexusPHP v1.8.2 2023-05-08
+# NexusPHP KEMURIKUSA 2019-01-09
diff --git a/definitions/v9/kufei.yml b/definitions/v9/kufei.yml
index 5bc27a700..e5645e733 100644
--- a/definitions/v9/kufei.yml
+++ b/definitions/v9/kufei.yml
@@ -196,4 +196,4 @@ search:
description:
selector: td:nth-child(2)
remove: a, b, font, img, span
-# NexusPHP v1.8.5 2023-07-22
+# NexusPHP v1.8.6 2023-07-30
diff --git a/definitions/v9/pterclub.yml b/definitions/v9/pterclub.yml
index 46519b628..9b1f43760 100644
--- a/definitions/v9/pterclub.yml
+++ b/definitions/v9/pterclub.yml
@@ -176,4 +176,4 @@ search:
description:
selector: td:has(table.torrentname)
remove: a, img
-# NexusPHP custom v2019.12
+# NexusPHP prod#60d2fdc724a 2023-05-10
diff --git a/definitions/v9/torrent9clone.yml b/definitions/v9/torrent9clone.yml
index da73e9836..fb3ab7853 100644
--- a/definitions/v9/torrent9clone.yml
+++ b/definitions/v9/torrent9clone.yml
@@ -8,11 +8,10 @@ encoding: UTF-8
followredirect: true
# to fetch current domain use https://www.protege-torrent.com/Torrent9
links:
- - https://www.torrent9.wtf/
+ - https://www.torrent9.sc/
- https://torrent9.nocensor.click/
- https://torrent9.mrunblock.bond/
legacylinks:
- - https://www.torrent9.la/
- https://www.torrent9.ninja/
- https://torrent9.nocensor.space/
- https://torrent9.nocensor.work/
@@ -36,6 +35,7 @@ legacylinks:
- https://torrent9.nocensor.art/
- https://torrent9.mrunblock.life/
- https://www.torrent9.fi/
+ - https://www.torrent9.wtf/
caps:
categorymappings:
diff --git a/definitions/v9/ultrahd.yml b/definitions/v9/ultrahd.yml
index a1232efd7..674740a08 100644
--- a/definitions/v9/ultrahd.yml
+++ b/definitions/v9/ultrahd.yml
@@ -163,4 +163,4 @@ search:
description:
selector: td:nth-child(2)
remove: a, b, font, img, span
-# NexusPHP v1.8.5 2023-07-10
+# NexusPHP v1.8.6 2023-07-29
diff --git a/definitions/v9/wintersakura.yml b/definitions/v9/wintersakura.yml
new file mode 100644
index 000000000..12d1950a9
--- /dev/null
+++ b/definitions/v9/wintersakura.yml
@@ -0,0 +1,207 @@
+---
+id: wintersakura
+name: WinterSakura
+description: "WinterSakura is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
+language: zh-CN
+type: private
+encoding: UTF-8
+requestDelay: 2
+links:
+ - https://wintersakura.net/
+
+caps:
+ categorymappings:
+ # torrents.php
+ - {id: 409, cat: Other, desc: "Misc其他", default: true}
+ - {id: 407, cat: TV/Sport, desc: "Sports体育", default: true}
+ - {id: 406, cat: Audio/Video, desc: "Music Videos音乐MV", default: true}
+ - {id: 408, cat: Audio, desc: "HQ Audio无损音乐", default: true}
+ - {id: 418, cat: TV, desc: "TV Shows综艺(分集)", default: true}
+ - {id: 403, cat: TV, desc: "TV Shows综艺(Packs合集)", default: true}
+ - {id: 402, cat: TV, desc: "TV Series剧集(分集)", default: true}
+ - {id: 414, cat: TV, desc: "TV Series剧集(Packs合集)", default: true}
+ - {id: 413, cat: TV/Anime, desc: "Animation series动漫剧集(分集)", default: true}
+ - {id: 423, cat: TV/Anime, desc: "Animation series动漫剧集(Packs合集)", default: true}
+ - {id: 422, cat: TV/Anime, desc: "Animation flims动漫电影", default: true}
+ - {id: 410, cat: TV/Documentary, desc: "Documentaries纪录片", default: true}
+ - {id: 401, cat: Movies, desc: "Movies电影", default: true}
+ # special.php
+ - {id: 427, cat: PC, desc: "Software软件/程序/代码", default: false}
+ - {id: 426, cat: Books/Technical, desc: "Papers期刊/论文", default: false}
+ - {id: 428, cat: Books/EBook, desc: "Books图书", default: false}
+ - {id: 425, cat: Other, desc: "Database数据/数据库", default: false}
+ - {id: 424, cat: Other, desc: "Course课程", default: false}
+
+ 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: 2facode
+ type: text
+ label: 2FA code
+ - name: info_2fa
+ type: info
+ label: "About 2FA code"
+ default: "Only fill in the 2FA code box if you have enabled 2FA on the WinterSakura Web Site. Otherwise just leave it empty."
+ - name: freeleech
+ type: checkbox
+ label: Search freeleech only
+ default: false
+ - name: sort
+ type: select
+ label: Sort requested from site
+ default: 4
+ options:
+ 4: created
+ 7: seeders
+ 5: size
+ 1: 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:
+ path: login.php
+ method: form
+ form: form[action="takelogin.php"]
+ captcha:
+ type: image
+ selector: img[alt="CAPTCHA"]
+ input: imagestring
+ inputs:
+ secret: ""
+ username: "{{ .Config.username }}"
+ password: "{{ .Config.password }}"
+ two_step_code: "{{ .Config.2facode }}"
+ logout: ""
+ securelogin: ""
+ ssl: yes
+ trackerssl: yes
+ error:
+ - selector: td.embedded:has(h2:contains("失败"))
+ test:
+ path: index.php
+ selector: a[href="logout.php"]
+
+search:
+ paths:
+ - path: torrents.php
+ categories: [409, 407, 406, 408, 418, 403, 402, 414, 413, 423, 422, 410, 401]
+ - path: special.php
+ categories: [427, 426, 428, 425, 424]
+ inputs:
+ $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
+ search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ 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
+ search_area: "{{ if or .Query.IMDBID .Query.DoubanID }}1{{ else }}0{{ end }}"
+ # 0 AND, 2 exact
+ search_mode: 0
+ sort: "{{ .Config.sort }}"
+ type: "{{ .Config.type }}"
+ notnewword: 1
+
+ rows:
+ selector: table.torrents > tbody > tr:has(a[href^="details.php?id="])
+
+ fields:
+ category:
+ selector: a[href^="?cat="]
+ attribute: href
+ filters:
+ - name: querystring
+ args: cat
+ title_default:
+ selector: a[href^="details.php?id="]
+ title:
+ selector: a[title][href^="details.php?id="]
+ attribute: title
+ optional: true
+ default: "{{ .Result.title_default }}"
+ details:
+ selector: a[href^="details.php?id="]
+ attribute: href
+ download:
+ selector: a[href^="download.php?id="]
+ attribute: href
+ poster:
+ selector: img[data-src]
+ attribute: data-src
+ imdbid:
+ # site currently only has a badge and rating, the id is not present. just in case a future update.
+ selector: a[href*="imdb.com/title/tt"]
+ attribute: href
+ doubanid:
+ # site currently only has a badge and rating, the id is not present. just in case a future update.
+ selector: a[href*="movie.douban.com/subject/"]
+ attribute: href
+ date_elapsed:
+ # time type: time elapsed (default)
+ selector: td.rowfollow:nth-child(4) > span[title]
+ attribute: title
+ optional: true
+ filters:
+ - name: append
+ args: " +08:00" # CST
+ - name: dateparse
+ args: "yyyy-MM-dd HH:mm:ss zzz"
+ date_added:
+ # time added
+ selector: td.rowfollow:nth-child(4):not(:has(span))
+ optional: true
+ filters:
+ - name: append
+ args: " +08:00" # CST
+ - name: dateparse
+ args: "yyyy-MM-ddHH:mm:ss zzz"
+ date:
+ text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
+ size:
+ selector: td.rowfollow:nth-child(5)
+ seeders:
+ selector: td.rowfollow:nth-child(6)
+ leechers:
+ selector: td.rowfollow:nth-child(7)
+ grabs:
+ selector: td.rowfollow: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
+ minimumratio:
+ text: 0.4
+ description:
+ selector: td.rowfollow:nth-child(2)
+ remove: a, b, font, img, span
+# NexusPHP f99d919 2023-05-08
diff --git a/definitions/v9/wukong.yml b/definitions/v9/wukong.yml
index c1ef2e79f..cfdc2e1f8 100644
--- a/definitions/v9/wukong.yml
+++ b/definitions/v9/wukong.yml
@@ -1,7 +1,7 @@
---
id: wukong
name: Wukong
-description: "Wukong (悟空问道) is a Chinese Private Torrent Tracker for E-LEARNING"
+description: "Wukong (悟空问道) is a CHINESE Private Torrent Tracker for E-LEARNING"
language: zh-CN
type: private
encoding: UTF-8