diff --git a/definitions/v10/1337x.yml b/definitions/v10/1337x.yml new file mode 100644 index 000000000..019bfe2bd --- /dev/null +++ b/definitions/v10/1337x.yml @@ -0,0 +1,295 @@ +--- +id: 1337x +name: 1337x +description: "1337X is a Public torrent site that offers verified torrent downloads" +language: en-US +type: public +encoding: UTF-8 +followredirect: true +requestDelay: 2 +links: + - https://1337x.to/ + - https://1337x.st/ + - https://x1337x.ws/ + - https://x1337x.eu/ + - https://x1337x.se/ + - https://1337x.unblockit.click/ + - https://1337x.mrunblock.guru/ + - https://1337x.unblockninja.com/ +legacylinks: + - https://1337x.is/ + - https://1337x.nocensor.work/ + - https://1337x.unblockit.how/ + - https://1337x.unblockit.cam/ + - https://1337x.nocensor.biz/ + - https://1337x.gd/ + - https://1337x.unblockit.day/ + - https://1337x.unblockit.llc/ + - https://1337x.unblockit.blue/ + - https://1337x.unblockit.name/ + - https://1337x.nocensor.sbs/ + - https://1337x.unblockit.ist/ + - https://1337x.unblockit.bet/ + - https://1337x.unblockit.cat/ + - https://1337x.unblockit.nz/ + - https://1337x.nocensor.world/ + - https://1337x.unblockit.page/ + - https://1337x.unblockit.pet/ + - https://1337x.nocensor.lol/ + - https://1337x.unblockit.ink/ + - https://1337x.nocensor.art/ + - https://1337x.unblockit.bio/ + - https://1337x.unblockit.boo/ + +caps: + categorymappings: + # Anime + - {id: 28, cat: TV/Anime, desc: "Anime/Anime"} + - {id: 78, cat: TV/Anime, desc: "Anime/Dual Audio"} + - {id: 79, cat: TV/Anime, desc: "Anime/Dubbed"} + - {id: 80, cat: TV/Anime, desc: "Anime/Subbed"} + - {id: 81, cat: TV/Anime, desc: "Anime/Raw"} + # Audio + - {id: 22, cat: Audio/MP3, desc: "Music/MP3"} + - {id: 23, cat: Audio/Lossless, desc: "Music/Lossless"} + - {id: 24, cat: Audio, desc: "Music/DVD"} + - {id: 25, cat: Audio/Video, desc: "Music/Video"} + - {id: 26, cat: Audio, desc: "Music/Radio"} + - {id: 27, cat: Audio/Other, desc: "Music/Other"} + - {id: 53, cat: Audio, desc: "Music/Album"} + - {id: 58, cat: Audio, desc: "Music/Box set"} + - {id: 59, cat: Audio, desc: "Music/Discography"} + - {id: 60, cat: Audio, desc: "Music/Single"} + - {id: 68, cat: Audio, desc: "Music/Concerts"} + - {id: 69, cat: Audio, desc: "Music/AAC"} + # Movies + - {id: 1, cat: Movies/DVD, desc: "Movies/DVD"} + - {id: 2, cat: Movies/SD, desc: "Movies/Divx/Xvid"} + - {id: 3, cat: Movies, desc: "Movies/SVCD/VCD"} + - {id: 4, cat: Movies/Foreign, desc: "Movies/Dubs/Dual Audio"} + - {id: 42, cat: Movies/HD, desc: "Movies/HD"} + - {id: 54, cat: Movies/HD, desc: "Movies/h.264/x264"} + - {id: 55, cat: Movies, desc: "Movies/Mp4"} + - {id: 66, cat: Movies/3D, desc: "Movies/3D"} + - {id: 70, cat: Movies/HD, desc: "Movies/HEVC/x265"} + - {id: 73, cat: Movies, desc: "Movies/Bollywood"} + - {id: 76, cat: Movies/UHD, desc: "Movies/UHD"} + # TV + - {id: 5, cat: TV, desc: "TV/DVD"} + - {id: 6, cat: TV, desc: "TV/Divx/Xvid"} + - {id: 7, cat: TV, desc: "TV/SVCD/VCD"} + - {id: 41, cat: TV/HD, desc: "TV/HD"} + - {id: 71, cat: TV, desc: "TV/HEVC/x265"} + - {id: 74, cat: TV, desc: "TV/Cartoons"} + - {id: 75, cat: TV/SD, desc: "TV/SD"} + - {id: 9, cat: TV/Documentary, desc: "TV/Documentary"} + # Apps + - {id: 18, cat: PC, desc: "Apps/PC Software"} + - {id: 19, cat: PC/Mac, desc: "Apps/Mac"} + - {id: 20, cat: PC, desc: "Apps/Linux"} + - {id: 21, cat: PC, desc: "Apps/Other"} + - {id: 56, cat: PC/Mobile-Android, desc: "Apps/Android"} + - {id: 57, cat: PC/Mobile-iOS, desc: "Apps/iOS"} + # Games + - {id: 10, cat: PC/Games, desc: "Games/PC Game"} + - {id: 11, cat: Console/PS3, desc: "Games/PS2"} + - {id: 12, cat: Console/PSP, desc: "Games/PSP"} + - {id: 13, cat: Console/XBox, desc: "Games/Xbox"} + - {id: 14, cat: Console/XBox 360, desc: "Games/Xbox360"} + - {id: 15, cat: Console/PS3, desc: "Games/PS1"} + - {id: 16, cat: Console/Other, desc: "Games/Dreamcast"} + - {id: 17, cat: PC/Mobile-Other, desc: "Games/Other"} + - {id: 43, cat: Console/PS3, desc: "Games/PS3"} + - {id: 44, cat: Console/Wii, desc: "Games/Wii"} + - {id: 45, cat: Console/NDS, desc: "Games/DS"} + - {id: 46, cat: Console/Other, desc: "Games/GameCube"} + - {id: 72, cat: Console/3DS, desc: "Games/3DS"} + - {id: 77, cat: Console/PS4, desc: "Games/PS4"} + - {id: 82, cat: Console/Other, desc: "Games/Switch"} + # XXX + - {id: 48, cat: XXX/DVD, desc: "XXX/Video"} + - {id: 49, cat: XXX/ImageSet, desc: "XXX/Picture"} + - {id: 50, cat: XXX, desc: "XXX/Magazine"} + - {id: 51, cat: XXX, desc: "XXX/Hentai"} + - {id: 67, cat: XXX, desc: "XXX/Games"} + # Other + - {id: 33, cat: Other, desc: "Other/Emulation"} + - {id: 34, cat: Books, desc: "Other/Tutorial"} + - {id: 35, cat: Other, desc: "Other/Sounds"} + - {id: 36, cat: Books/EBook, desc: "Other/E-books"} + - {id: 37, cat: Other, desc: "Other/Images"} + - {id: 38, cat: Other, desc: "Other/Mobile Phone"} + - {id: 39, cat: Books/Comics, desc: "Other/Comics"} + - {id: 40, cat: Other/Misc, desc: "Other/Other"} + - {id: 47, cat: Other, desc: "Other/Nulled Script"} + - {id: 52, cat: Audio/Audiobook, desc: "Other/Audiobook"} + + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q] + music-search: [q, album, artist] + book-search: [q] + allowrawsearch: true + limitsDefault: 80 + limitsMax: 80 + +settings: + - name: flaresolverr + type: info + label: FlareSolverr + default: This site may use Cloudflare DDoS Protection, therefore Prowlarr requires FlareSolverr to access it. + - name: downloadlink + type: select + label: Download link + default: "http://itorrents.org/" + options: + "http://itorrents.org/": iTorrents.org + "magnet:": magnet + - name: downloadlink2 + type: select + label: Download link (fallback) + default: "magnet:" + options: + "http://itorrents.org/": iTorrents.org + "magnet:": magnet + - name: info_download + type: info + label: About the Download links + default: As the iTorrents .torrent download link on this site is known to fail from time to time, we suggest using the magnet link as a fallback. The BTCache and Torrage services are not supported because they require additional user interaction (a captcha for BTCache and a download button on Torrage.) + - name: sort + type: select + label: Sort requested from site + default: time + options: + time: created + seeders: seeders + size: size + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + +download: + # the .torrent URL and magnet URI are on the details page + selectors: + - selector: ul li a[href^="{{ .Config.downloadlink }}"] + attribute: href + - selector: ul li a[href^="{{ .Config.downloadlink2 }}"] + attribute: href + +search: + pageSize: 20 + + paths: + # present first page of movies tv and music results if there are no search parms supplied (20 hits per page) + - path: "{{ if or .Query.Album .Query.Artist .Keywords }}sort-search{{ else }}cat/Movies{{ end }}{{ if or .Query.Album .Query.Artist }}/{{ or .Query.Album .Query.Artist }}{{ else }}/{{ .Keywords }}{{ end }}{{ if or .Query.Album .Query.Artist .Keywords }}/{{ else }}{{ end }}{{ .Config.sort }}/{{ .Config.type }}/1/" + - path: "{{ if or .Query.Album .Query.Artist .Keywords }}sort-search{{ else }}cat/TV{{ end }}{{ if or .Query.Album .Query.Artist }}/{{ or .Query.Album .Query.Artist }}{{ else }}/{{ .Keywords }}{{ end }}{{ if or .Query.Album .Query.Artist .Keywords }}/{{ else }}{{ end }}{{ .Config.sort }}/{{ .Config.type }}/{{ if or .Query.Album .Query.Artist .Keywords }}2{{ else }}1{{ end }}/" + - path: "{{ if or .Query.Album .Query.Artist .Keywords }}sort-search{{ else }}cat/Music{{ end }}{{ if or .Query.Album .Query.Artist }}/{{ or .Query.Album .Query.Artist }}{{ else }}/{{ .Keywords }}{{ end }}{{ if or .Query.Album .Query.Artist .Keywords }}/{{ else }}{{ end }}{{ .Config.sort }}/{{ .Config.type }}/{{ if or .Query.Album .Query.Artist .Keywords }}3{{ else }}1{{ end }}/" + - path: "{{ if or .Query.Album .Query.Artist .Keywords }}sort-search{{ else }}cat/Other{{ end }}{{ if or .Query.Album .Query.Artist }}/{{ or .Query.Album .Query.Artist }}{{ else }}/{{ .Keywords }}{{ end }}{{ if or .Query.Album .Query.Artist .Keywords }}/{{ else }}{{ end }}{{ .Config.sort }}/{{ .Config.type }}/{{ if or .Query.Album .Query.Artist .Keywords }}4{{ else }}1{{ end }}/" + + rows: + selector: tr:has(a[href^="/torrent/"]) + + fields: + title_default: + # the movies, tv and music pages abbreviate the title + selector: td[class^="coll-1"] a[href^="/torrent/"] + title_optional: + # the movies, tv and music pages abbreviate the title so we process the href instead. #8137 + optional: true + selector: td[class^="coll-1"] a[href^="/torrent/"]:contains("...") + attribute: href + filters: + - name: urldecode + - name: split + args: ["/", 3] + title: + # title_optional can be empty so use the title_default instead #8586 + text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}" + filters: + - name: re_replace + args: ["-([\\w]+(?:[\\[\\]\\(\\)\\w]+)?)$", "~$1"] + - name: replace + args: ["-", " "] + - name: re_replace + args: ["~([\\w]+(?:[\\[\\]\\(\\)\\w]+)?)$", "-$1"] + - name: replace + args: ["\u000f", ""] # get rid of unwanted character #6582 + # cleanup for Sonarr + - name: re_replace # EP 3 4 to E3-4 + args: ["(?i)\\sEP\\s(\\d{1,2})\\s(E?\\s?\\d{1,2})\\s", " E$1-$2 "] + - name: re_replace # S02E04 05 to S02E04-05 + args: ["(?i)\\sS(\\d{1,2})\\s?E\\s?(\\d{1,2})\\s(E?\\s?\\d{1,2})\\s", " S$1E$2-$3 "] + - name: re_replace + args: ["(?i)AC3\\s?(\\d)\\s(\\d)", "AC3 $1.$2"] + - name: re_replace + args: ["(?i) DD\\s?(\\d)\\s(\\d)", " DD $1.$2"] + - name: re_replace + args: ["(?i) DDP\\s?(\\d)\\s(\\d)", " DDP $1.$2"] + - name: re_replace + args: ["(?i)\\sE\\s?AC3", " EAC3"] + - name: re_replace + args: ["(?i)WEB\\sDL", "WEB-DL"] + - name: re_replace + args: ["(?i)HDTVRIP", "HDTV"] + category_sub: + optional: true + selector: td[class^="coll-1"] a[href^="/sub/"] + attribute: href + filters: + # extract the third part + - name: split + args: ["/", 2] + category: + text: "{{ if .Result.category_sub }}{{ .Result.category_sub }}{{ else }}40{{ end }}" + details: + selector: td[class^="coll-1"] a[href^="/torrent/"] + attribute: href + download: + # .torrent link is on the details page + selector: td[class^="coll-1"] a[href^="/torrent/"] + attribute: href + # dates come in three flavours: + date_year: + # (within this year) 7am Sep. 14th + optional: true + selector: td[class^="coll-date"]:not(:contains(":")):not(:contains("'")) + filters: + - name: re_replace + args: ["st|nd|rd|th", ""] + - name: dateparse + args: "htt MMM. d" + date_years: + # (more than a year ago) Apr. 18th '11 + optional: true + selector: td[class^="coll-date"]:contains("'") + filters: + - name: replace + args: ["'", ""] + - name: re_replace + args: ["st|nd|rd|th", ""] + - name: dateparse + args: "MMM. d yy" + date_today: + # (today) 12:25am + optional: true + selector: td[class^="coll-date"]:contains(":") + filters: + - name: fuzzytime + date: + text: "{{ if or .Result.date_year .Result.date_years .Result.date_today }}{{ or .Result.date_year .Result.date_years .Result.date_today }}{{ else }}now{{ end }}" + size: + selector: td[class^="coll-4"] + seeders: + selector: td[class^="coll-2"] + leechers: + selector: td[class^="coll-3"] + downloadvolumefactor: + text: 0 + uploadvolumefactor: + text: 1 +# engine n/a diff --git a/definitions/v10/bitsearch.yml b/definitions/v10/bitsearch.yml new file mode 100644 index 000000000..c72b49f35 --- /dev/null +++ b/definitions/v10/bitsearch.yml @@ -0,0 +1,149 @@ +--- +id: bitsearch +name: BitSearch +description: "BitSearch is a Public torrent meta-search engine" +language: en-US +type: public +encoding: UTF-8 +requestDelay: 2 +links: + - https://bitsearch.to/ + - https://bitsearch.mrunblock.guru/ +legacylinks: + - https://bitsearch.nocensor.biz/ + - https://bitsearch.nocensor.sbs/ + - https://bitsearch.nocensor.world/ + - https://bitsearch.nocensor.lol/ + +caps: + categories: + AudioBook: Audio/Audiobook + eBook: Books/EBook + "Ebook/Course": Books/EBook + Games: PC/Games + "Games/PC": PC/Games + Movies: Movies + Music: Audio + "Music/Album": Audio + "Music/mp3": Audio/MP3 + "Music/Lossless": Audio/Lossless + "Music/Video": Audio/Video + Other: Other + "Other/Android": PC/Mobile-Android + "Other/Archive": Other + "Other/Audio": Audio + "Other/Database": PC + "Other/DiskImage": PC/ISO + "Other/Document": Books/Comics + "Other/Image": Other/Misc + "Other/Program": PC/0day + "Other/Sourcecode": PC + "Other/Source Code": PC + "Other/Video": TV + Softwares: PC/0day + "Softwares/Windows": PC/0day + TV: TV + Unknown: Other + XXX: XXX + + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q] + music-search: [q] + book-search: [q] + +settings: + - name: sort + type: select + label: Sort requested from site + default: date + options: + date: created + seeders: seeders + size: size + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + +search: + pageSize: 100 + firstPageNumber: 1 + + paths: + # https://bitsearch.to/search?q=&sort=date&order=desc + - path: search + inputs: + q: "{{ .Keywords }}" + sort: "{{ .Config.sort }}" + order: "{{ .Config.type }}" + limit: "{{ .PageSize }}" + page: "{{ .Query.Page }}" + + keywordsfilters: + - name: re_replace + args: ["\\.", " "] + + rows: + selector: div.search-result:has(a.dl-torrent), li.search-result:has(a.dl-torrent) + + fields: + category: + selector: a.category + title: + selector: h5 + details: + selector: h5 a + attribute: href + download: + selector: a.dl-torrent + attribute: href + infohash: + selector: a[href^="magnet:?xt"] + attribute: href + filters: + - name: regexp + args: ([A-F|a-f|0-9]{40}) + grabs: + selector: div.stats div:has(img[alt="Download"]) + filters: + - name: replace + args: [".", ""] + - name: replace + args: ["K", "00"] + - name: replace + args: ["M", "00000"] + size: + selector: div.stats div:has(img[alt="Size"]) + seeders: + selector: div.stats div:has(img[alt="Seeder"]) + filters: + - name: replace + args: [".", ""] + - name: replace + args: ["K", "00"] + - name: replace + args: ["M", "00000"] + leechers: + selector: div.stats div:has(img[alt="Leecher"]) + filters: + - name: replace + args: [".", ""] + - name: replace + args: ["K", "00"] + - name: replace + args: ["M", "00000"] + date: + selector: div.stats div:has(img[alt="Date"]) + filters: + - name: dateparse + args: "MMM d, yyyy" + downloadvolumefactor: + text: 0 + uploadvolumefactor: + text: 1 +# engine n/a diff --git a/definitions/v10/digitalcore.yml b/definitions/v10/digitalcore.yml new file mode 100644 index 000000000..f13ec5504 --- /dev/null +++ b/definitions/v10/digitalcore.yml @@ -0,0 +1,230 @@ +--- +id: digitalcore +name: DigitalCore +description: "DigitalCore is a Private Torrent Tracker for MOVIES / TV / GENERAL" +language: en-US +type: private +encoding: UTF-8 +links: + - https://digitalcore.club/ + +caps: + categorymappings: + - {id: 2, cat: Movies/SD, desc: Movies/SD} + - {id: 1, cat: Movies/DVD, desc: Movies/DVDR} + - {id: 5, cat: Movies/HD, desc: Movies/720p} + - {id: 6, cat: Movies/HD, desc: Movies/1080p} + - {id: 4, cat: Movies/UHD, desc: Movies/2160p} + - {id: 3, cat: Movies/BluRay, desc: Movies/BluRay} + - {id: 38, cat: Movies/UHD, desc: Movies/Bluray/UHD} + - {id: 7, cat: Movies/HD, desc: Movies/PACKS} + - {id: 10, cat: TV/SD, desc: Tv/SD} + - {id: 11, cat: TV/SD, desc: Tv/DVDR} + - {id: 8, cat: TV/HD, desc: Tv/720p} + - {id: 9, cat: TV/HD, desc: Tv/1080p} + - {id: 13, cat: TV/UHD, desc: Tv/2160p} + - {id: 14, cat: TV/HD, desc: Tv/BluRay} + - {id: 12, cat: TV/HD, desc: Tv/PACKS} + - {id: 17, cat: Other, desc: Unknown} + - {id: 18, cat: PC/0day, desc: Apps/0DAY} + - {id: 20, cat: PC/ISO, desc: Apps/PC} + - {id: 21, cat: PC/Mac, desc: Apps/Mac} + - {id: 33, cat: PC, desc: Apps/Tutorials} + - {id: 22, cat: Audio/MP3, desc: Music/MP3} + - {id: 23, cat: Audio/Lossless, desc: Music/FLAC} + - {id: 24, cat: Audio/Video, desc: Music/MTV} + - {id: 29, cat: Audio, desc: Music/PACKS} + - {id: 39, cat: Audio/Video, desc: Music/DVD} + - {id: 40, cat: Audio/Video, desc: Music/Bluray} + - {id: 25, cat: PC/Games, desc: Games/PC} + - {id: 27, cat: PC/Mac, desc: Games/Mac} + - {id: 26, cat: Console, desc: Games/Consoles} + - {id: 43, cat: Console, desc: Games/ROMS} + - {id: 42, cat: XXX/Other, desc: Games/XXX} + - {id: 44, cat: Audio/Audiobook, desc: Audiobooks} + - {id: 28, cat: Books/EBook, desc: Ebooks} + - {id: 30, cat: XXX/SD, desc: XXX/SD} + - {id: 31, cat: XXX, desc: XXX/HD} + - {id: 32, cat: XXX/UHD, desc: XXX/4K} + - {id: 35, cat: XXX/SD, desc: XXX/Movies/SD} + - {id: 36, cat: XXX, desc: XXX/Movies/HD} + - {id: 37, cat: XXX/UHD, desc: XXX/Movies/4K} + - {id: 34, cat: XXX/ImageSet, desc: XXX/Imagesets} + - {id: 41, cat: XXX, desc: XXX/PACKS} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid] + movie-search: [q, imdbid] + music-search: [q] + book-search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info + type: info + label: How to get the Cookie + default: "