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: "" - - 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: "
  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: 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