diff --git a/src/Jackett.Common/Definitions/girotorrent.yml b/src/Jackett.Common/Definitions/girotorrent.yml new file mode 100644 index 000000000..e56a1f168 --- /dev/null +++ b/src/Jackett.Common/Definitions/girotorrent.yml @@ -0,0 +1,225 @@ +--- + site: girotorrent + name: Girotorrent + description: "Girotorrent is an ITALIAN Private site for TV / MOVIES / GENERAL" + language: it-it + type: private + encoding: UTF-8 + links: + - http://girotorrent.org/ + + caps: + categorymappings: + # LIBREDICOLA + - {id: 13, cat: Books, desc: "Giornali e Riviste"} + - {id: 15, cat: Books, desc: "Ebook"} + - {id: 16, cat: Books, desc: "Fumetti"} + - {id: 70, cat: Books, desc: "Manuali e Guide"} + - {id: 72, cat: Audio/Audiobook, desc: "Audiolibri"} + # CINEMA + - {id: 17, cat: Movies/Other, desc: "Movie Cam-Ts"} + - {id: 18, cat: Movies/Other, desc: "Movie Screener"} + - {id: 61, cat: Movies/Other, desc: "Movie R5-R6"} + - {id: 19, cat: Movies/Other, desc: "Movie DVDRip"} + - {id: 20, cat: Movies/Other, desc: "Movie BDRip"} + - {id: 60, cat: Movies/Other, desc: "Movie BluRay"} + - {id: 63, cat: Movies/Other, desc: "Movie WEBDLRip"} + # VIDEOTECA + - {id: 22, cat: Movies/SD, desc: "Movie BDRip"} + - {id: 23, cat: Movies/SD, desc: "Movie DvdRip"} + - {id: 23, cat: Movies/SD, desc: "Movie WEBRip"} + - {id: 24, cat: Movies/DVD, desc: "Movie DVD-R 5"} + - {id: 25, cat: Movies/DVD, desc: "Movie DVD-R 9"} + - {id: 26, cat: Movies/HD, desc: "Movie Blu-Ray HD"} + - {id: 27, cat: Movies/3D, desc: "Movie 3D-SBS"} + - {id: 96, cat: Movies/HD, desc: "Movie x265 HEVC"} + - {id: 28, cat: Movies/Foreign, desc: "Movie Subbet-ita"} + - {id: 73, cat: Movies/SD, desc: "Movie MP4"} + - {id: 29, cat: Movies/Foreign, desc: "Movie Ligua Originale"} + # ANIMAZIONE + - {id: 32, cat: TV/Anime, desc: "Anime Disney"} + - {id: 33, cat: TV/Anime, desc: "Anime"} + - {id: 34, cat: TV/Anime, desc: "Anime Altri Cartoni"} + # TELEVISIONE + - {id: 36, cat: TV, desc: "TV Serie TV"} + - {id: 77, cat: TV, desc: "TV Reality"} + - {id: 37, cat: TV, desc: "TV Film TV"} + - {id: 59, cat: TV, desc: "TV Sport"} + - {id: 38, cat: TV, desc: "TV Concerti-Spettacoli"} + - {id: 39, cat: TV, desc: "TV Teatro-Cabaret"} + - {id: 40, cat: TV/Documentary, desc: "Tv Documentario"} + # MUSICA + - {id: 42, cat: Audio, desc: "Musica CD Singoli"} + - {id: 43, cat: Audio, desc: "Musica Italiana"} + - {id: 44, cat: Audio, desc: "Musica Straniera"} + - {id: 45, cat: Audio, desc: "Musica Compilation"} + - {id: 46, cat: Audio, desc: "Musica Video Clip"} + - {id: 58, cat: Audio, desc: "Musica Discografie"} + # SALA GIOCHI + - {id: 47, cat: PC/Games, desc: "PC Games"} + - {id: 48, cat: PC/Games, desc: "PC Giochi PS2-PS3"} + - {id: 49, cat: PC/Games, desc: "PC Giochi Nintendo Wii"} + - {id: 50, cat: PC/Games, desc: "PC Giochi Xbox"} + - {id: 52, cat: PC/Games, desc: "PC Giochi DS-DS3"} + # SOFTWARE + - {id: 54, cat: PC, desc: "PC Programmi Windows"} + - {id: 55, cat: PC/Mac, desc: "PC Mac"} + - {id: 69, cat: PC, desc: "PC Portable"} + - {id: 56, cat: PC, desc: "PC Linux"} + # CELLULARI-PALMARI + - {id: 71, cat: PC/Phone-Android, desc: "Android APP"} + - {id: 74, cat: Other, desc: "Varie"} + - {id: 75, cat: Other, desc: "Immagini Wallpaper"} + + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q] + + login: + path: /index.php?page=login + method: post + inputs: + uid: "{{ .Config.username }}" + pwd: "{{ .Config.password }}" + error: + - selector: div.error + test: + path: /index.php + selector: a[href="logout.php"] + + download: + before: + path: "thanks.php" + method: "post" + inputs: + infohash: "{{ .DownloadUri.Query.id }}" + thanks: "1" + rndval: "1487013827343" + selector: a[href^="download.php?id="] + + search: + paths: + - path: /index.php + keywordsfilters: + - name: re_replace + args: ["S[0-9]{2}([^E]|$)", ""] # remove season tag without episode (search doesn't support it) + - name: diacritics + args: replace + # most ITA TV torrents are in XXxYY format, so we search without S/E prefixes and filter later + - name: re_replace + args: ["S0?(\\d{1,2})", " $1 "] + - name: re_replace + args: ["E(\\d{2,3})", " $1 "] + inputs: + search: "{{ .Keywords }}" + category: "{{range .Categories}}{{.}};{{end}}" + page: "torrents" + active: 0 + rows: + selector: div.b-content > table > tbody > tr > td > table.lista > tbody > tr:has(a[href^="index.php?page=torrent-details&id="]) + #http://girotorrent.org/index.php?page=torrent-details&id=73d93dccf84ea3a8b614a3113acfd9eea186d730 + fields: + download: + selector: a[href^="index.php?page=downloadcheck&id="] + attribute: href + title: # shortened title? + selector: a[onmouseover][href^="index.php?page=torrent-details&id="] + # normalize to SXXEYY format + filters: + - name: re_replace # replace special characters with " " (space) + args: ["[^a-zA-Z0-9]|\\.", " "] + # normalize to SXXEYY format + - name: re_replace + args: ["(\\d{2})x(\\d{2})", "S$1E$2"] + - name: re_replace + args: ["(\\d{1})x(\\d{2})", "S0$1E$2"] + - name: re_replace #Stagione X --> S0X + args: ["Stagione (\\d{0,1}\\s)", "S0$1"] + - name: re_replace #Stagione XX --> SXX + args: ["Stagione (\\d{2}\\s)", "S$1"] + - name: re_replace #/ Episodio [YY-YY --> EYY-YY + args: ["(\\s\\/\\sEpisodio|\\s\\/\\sEpisodi|\\sEpisodio|\\s\\|\\sEpisodio|\\sEpisodi)\\s\\[", "E"] + - name: re_replace #/ Completa [episodi YY-YY --> EYY-YY + args: ["(\\s\\/\\sCompleta\\s\\[episodi\\s)", "E"] + - name: re_replace #remove di YY] | remove /YY] + args: ["(\\sdi\\s\\d{1,2}|\\/\\d{1,2})\\]", " "] + - name: re_replace #remove various + args: ["(Serie completa|Completa|\\[in pausa\\])", ""] + # fine prova + title: # long titles? + optional: true + selector: a[title][href^="index.php?page=torrent-details"] + attribute: title + filters: + - name: replace + args: ["Vedi Dettagli: ", ""] + # inizio prova + - name: re_replace # replace special characters with " " (space) + args: ["[^a-zA-Z0-9]|\\.", " "] + # normalize to SXXEYY format + - name: re_replace + args: ["(\\d{2})x(\\d{2})", "S$1E$2"] + - name: re_replace + args: ["(\\d{1})x(\\d{2})", "S0$1E$2"] + - name: re_replace #Stagione X --> S0X + args: ["Stagione (\\d{0,1}\\s)", "S0$1"] + - name: re_replace #Stagione XX --> SXX + args: ["Stagione (\\d{2}\\s)", "S$1"] + - name: re_replace #/ Episodio [YY-YY --> EYY-YY + args: ["(\\s\\/\\sEpisodio|\\s\\/\\sEpisodi|\\sEpisodio|\\s\\|\\sEpisodio|\\sEpisodi)\\s\\[", "E"] + - name: re_replace #/ Completa [episodi YY-YY --> EYY-YY + args: ["(\\s\\/\\sCompleta\\s\\[episodi\\s)", "E"] + - name: re_replace #remove di YY] | remove /YY] + args: ["(\\sdi\\s\\d{1,2}|\\/\\d{1,2})\\]", " "] + - name: re_replace #remove various + args: ["(Serie completa|Completa|\\[in pausa\\])", ""] + # fine prova + category: + selector: a[href^="index.php?page=torrents&category="] + attribute: href + filters: + - name: querystring + args: category + details: + selector: a[onmouseover][href^="index.php?page=torrent-details&id="] + attribute: href + banner: + optional: true + selector: a[onmouseover][href^="index.php?page=torrent-details&id="] + attribute: onmouseover + filters: + - name: regexp + args: "src=(.+?) " + size: + selector: td:nth-child(11) + date: + selector: td:nth-child(6) + filters: + - name: dateparse + args: "02/01/2006" + grabs: + selector: td:nth-child(9) + filters: + - name: replace + args: ["---", "0"] + seeders: + selector: td:nth-child(7) + leechers: + selector: td:nth-child(8) + downloadvolumefactor: + case: + img[alt="Free Leech"]: "0" + img[alt="Gold 100% Free"]: "0" + img[alt="Silver 50% Free"]: "0.5" + img[alt="Bronze 25% Free"]: "0.75" + "*": "1" + uploadvolumefactor: + text: "1" + uploadvolumefactor: + optional: true + selector: img[alt$="x Upload Multiplier"] + attribute: alt + filters: + - name: replace + args: ["x Upload Multiplier", ""]