diff --git a/src/Jackett.Common/Definitions/yggtorrent.yml b/src/Jackett.Common/Definitions/yggtorrent.yml index 712385271..74cd57131 100644 --- a/src/Jackett.Common/Definitions/yggtorrent.yml +++ b/src/Jackett.Common/Definitions/yggtorrent.yml @@ -1,42 +1,73 @@ --- site: yggtorrent name: YGGtorrent - description: "YGGTorrent is a FRENCH Private Torrent Tracker for 0DAY / GENERAL" + description: "YGGTorrent is a FRENCH Semi-Private Torrent Tracker for 0DAY / GENERAL" language: fr-fr type: semi-private encoding: UTF-8 links: - - https://yggtorrent.com + - https://yggtorrent.com/ caps: categorymappings: - # Film/Video for search results - - {id: 2145, cat: Other, desc: "Movies & TV"} - - {id: 2178, cat: Movies, desc: "Anim Movies"} - - {id: 2179, cat: TV/Anime, desc: "Anim TV"} - - {id: 2180, cat: Other, desc: "Concerts"} - - {id: 2181, cat: TV/Documentary, desc: "Documentary"} - - {id: 2182, cat: TV, desc: "TV Shows"} - - {id: 2183, cat: Movies, desc: "Movies"} - - {id: 2184, cat: TV, desc: "TV"} - - {id: 2185, cat: TV/Other, desc: "Shows"} - - {id: 2186, cat: TV/Sport, desc: "Sport"} - - {id: 2187, cat: TV/Other, desc: "Clips"} - # Film/Video for blank search - - {id: "Tous les torrents", cat: Other, desc: "Movies & TV"} - - {id: "Animation", cat: Movies, desc: "Anim Movies"} - - {id: "Animation Série", cat: TV/Anime, desc: "Anim TV"} - - {id: "Concert", cat: Other, desc: "Concerts"} - - {id: "Documentaire", cat: TV/Documentary, desc: "Documentary"} - - {id: "Emission TV", cat: TV, desc: "TV Shows"} - - {id: "Film", cat: Movies, desc: "Movies"} - - {id: "Série TV", cat: TV, desc: "TV"} - - {id: "Spectacle", cat: TV/Other, desc: "Shows"} - - {id: "Sport", cat: TV/Sport, desc: "Sport"} - - {id: "Vidéo-clips", cat: TV/Other, desc: "Clips"} + - {id: 2145, cat: TV, desc: "Film/Vidéo"} + - {id: 2178, cat: TV, desc: "Film/Vidéo : Animation"} + - {id: 2179, cat: TV, desc: "Film/Vidéo : Animation Série"} + - {id: 2180, cat: TV, desc: "Film/Vidéo : Concert"} + - {id: 2181, cat: TV, desc: "Film/Vidéo : Documentaire"} + - {id: 2182, cat: TV, desc: "Film/Vidéo : Emission TV"} + - {id: 2183, cat: TV, desc: "Film/Vidéo : Film"} + - {id: 2184, cat: TV, desc: "Film/Vidéo : Série TV"} + - {id: 2185, cat: TV, desc: "Film/Vidéo : Spectacle"} + - {id: 2186, cat: TV, desc: "Film/Vidéo : Sport"} + - {id: 2187, cat: TV, desc: "Film/Vidéo : Vidéo-clips"} + - {id: 2139, cat: Audio, desc: "Audio"} + - {id: 2147, cat: Audio, desc: "Audio : Karaoké"} + - {id: 2148, cat: Audio, desc: "Audio : Musique"} + - {id: 2150, cat: Audio, desc: "Audio : Podcast Radio"} + - {id: 2149, cat: Audio, desc: "Audio : Samples"} + - {id: 2144, cat: PC, desc: "Application"} + - {id: 2177, cat: PC, desc: "Application : Autre"} + - {id: 2176, cat: PC, desc: "Application : Formation"} + - {id: 2171, cat: PC, desc: "Application : Linux"} + - {id: 2172, cat: PC, desc: "Application : MacOS"} + - {id: 2174, cat: PC, desc: "Application : Smartphone"} + - {id: 2175, cat: PC, desc: "Application : Tablette"} + - {id: 2173, cat: PC, desc: "Application : Windows"} + - {id: 2142, cat: PC/Games, desc: "Jeu vidéo"} + - {id: 2167, cat: PC/Games, desc: "Jeu vidéo : Autre"} + - {id: 2159, cat: PC/Games, desc: "Jeu vidéo : Linux"} + - {id: 2160, cat: PC/Games, desc: "Jeu vidéo : MacOS"} + - {id: 2162, cat: PC/Games, desc: "Jeu vidéo : Microsoft"} + - {id: 2163, cat: PC/Games, desc: "Jeu vidéo : Nintendo"} + - {id: 2165, cat: PC/Games, desc: "Jeu vidéo : Smartphone"} + - {id: 2164, cat: PC/Games, desc: "Jeu vidéo : Sony"} + - {id: 2166, cat: PC/Games, desc: "Jeu vidéo : Tablette"} + - {id: 2161, cat: PC/Games, desc: "Jeu vidéo : Windows"} + - {id: 2140, cat: Books, desc: "eBook"} + - {id: 2151, cat: Books, desc: "eBook : Audio"} + - {id: 2152, cat: Books, desc: "eBook : Bds"} + - {id: 2153, cat: Books, desc: "eBook : Comics"} + - {id: 2154, cat: Books, desc: "eBook : Livres"} + - {id: 2155, cat: Books, desc: "eBook : Mangas"} + - {id: 2156, cat: Books, desc: "eBook : Presse"} + - {id: 2141, cat: Other, desc: "Emulation"} + - {id: 2157, cat: Other, desc: "Emulation : Emulateurs"} + - {id: 2158, cat: Other, desc: "Emulation : Roms"} + - {id: 2143, cat: Other, desc: "GPS"} + - {id: 2168, cat: Other, desc: "GPS : Applications"} + - {id: 2169, cat: Other, desc: "GPS : Cartes"} + - {id: 2170, cat: Other, desc: "GPS : Divers"} + - {id: 2188, cat: XXX, desc: "XXX"} + - {id: 2189, cat: XXX, desc: "XXX : Films"} + - {id: 2190, cat: XXX, desc: "XXX : Hentai"} + - {id: 2191, cat: XXX, desc: "XXX : Images"} + modes: search: [q] - #tv-search: [q, season, ep] + tv-search: [q, season, ep] + movie-search: [q] + settings: - name: username type: text @@ -44,10 +75,25 @@ - name: password type: password label: Password + - name: category + type: select + label: Catégorie + default: all + options: + all : "Tous" + 2145 : "Film/Vidéo" + 2139 : "Audio" + 2144 : "Application" + 2142 : "Jeu vidéo" + 2140 : "eBook" + 2141 : "Emulation" + 2143 : "GPS" + 2188 : "XXX" - name: filter_title type: checkbox label: Try to normalize releases names by moving year after the title default: false + login: path: "/user/login" method: post @@ -65,15 +111,91 @@ test: path: "/" selector: "a[href=\"https://yggtorrent.com/user/logout\"]" + search: paths: - - path: "{{if .Keywords}}/engine/search?q={{ .Keywords}}{{else}}/torrents/popular{{end}}" - - path: "{{if .Keywords}}/engine/search?q={{ .Keywords}}&page=15{{else}}/torrents/popular?page=25{{end}}" - - path: "{{if .Keywords}}/engine/search?q={{ .Keywords}}&page=30{{else}}/torrents/popular?page=50{{end}}" + - path: "{{ if .Keywords }}/engine/search?category={{ .Config.category }}&q={{ .Keywords }}{{else}}/torrents/today?category=2145{{end}}" + - path: "{{ if .Keywords }}/engine/search?category={{ .Config.category }}&q={{ .Keywords }}&page=25{{else}}/torrents/today?category=2145&page=25{{end}}" + - path: "{{ if .Keywords }}/engine/search?category={{ .Config.category }}&q={{ .Keywords }}&page=50{{else}}/torrents/today?category=2145&page=50{{end}}" + rows: selector: "table.table.table-striped > tbody > tr" fields: - site_date: + title_normal: + selector: "a.torrent-name" + title_filtered: + selector: "a.torrent-name" + filters: + - name: re_replace + args: ["(?i)^(?:(.+?)((?:[\\.\\-\\s_\\[]+(?:imax|(?:dvd|bd|tv)(?:rip|scr)|bluray(?:\\-?rip)?|720\\s*p?|1080\\s*p?|vof?|vost(?:fr)?|multi|vf(?:f|q)?[1-3]?|(?:true)?french|eng?)[\\.\\-\\s_\\]]*)*)([\\(\\[]?(?:20|1[7-9])\\d{2}[\\)\\]]?)(.*)$|(.*))$", "$1 $3 $2 $4 $5"] + - name: replace + args: [".", " "] + - name: trim + - name: re_replace + args: ["(?i)\\s(mkv|avi|divx|xvid|mp4)$", ""] + - name: re_replace + args: ["(\\s{2,5})", " "] + - name: trim + title: + text: "{{if .Config.filter_title }}{{ .Result.title_filtered }}{{else}}{{ .Result.title_normal }}{{end}}" + details: + selector: "a.torrent-name" + attribute: href + category: + selector: "a.torrent-name" + case: + "a[href*=\"/filmvidéo/animation/\"]" : 2178 + "a[href*=\"/filmvidéo/animation-série/\"]" : 2179 + "a[href*=\"/filmvidéo/concert/\"]" : 2180 + "a[href*=\"/filmvidéo/documentaire/\"]" : 2181 + "a[href*=\"/filmvidéo/emission-tv/\"]" : 2182 + "a[href*=\"/filmvidéo/film/\"]" : 2183 + "a[href*=\"/filmvidéo/série-tv/\"]" : 2184 + "a[href*=\"/filmvidéo/spectacle/\"]" : 2185 + "a[href*=\"/filmvidéo/sport/\"]" : 2186 + "a[href*=\"/filmvidéo/vidéo-clips/\"]" : 2187 + "a[href*=\"/audio/karaoké/\"]" : 2147 + "a[href*=\"/audio/musique/\"]" : 2148 + "a[href*=\"/audio/podcast-radio/\"]" : 2150 + "a[href*=\"/audio/samples/\"]" : 2149 + "a[href*=\"/application/autre/\"]" : 2177 + "a[href*=\"/application/formation/\"]" : 2176 + "a[href*=\"/application/linux/\"]" : 2171 + "a[href*=\"/application/macos/\"]" : 2172 + "a[href*=\"/application/smartphone/\"]" : 2174 + "a[href*=\"/application/tablette/\"]" : 2175 + "a[href*=\"/application/windows/\"]" : 2173 + "a[href*=\"/jeu-vidéo/autre/\"]" : 2167 + "a[href*=\"/jeu-vidéo/linux/\"]" : 2159 + "a[href*=\"/jeu-vidéo/macos/\"]" : 2160 + "a[href*=\"/jeu-vidéo/microsoft/\"]" : 2162 + "a[href*=\"/jeu-vidéo/nintendo/\"]" : 2163 + "a[href*=\"/jeu-vidéo/smartphone/\"]" : 2165 + "a[href*=\"/jeu-vidéo/sony/\"]" : 2164 + "a[href*=\"/jeu-vidéo/tablette/\"]" : 2166 + "a[href*=\"/jeu-vidéo/windows/\"]" : 2161 + "a[href*=\"/ebook/audio/\"]" : 2151 + "a[href*=\"/ebook/bds/\"]" : 2152 + "a[href*=\"/ebook/comics/\"]" : 2153 + "a[href*=\"/ebook/livres/\"]" : 2154 + "a[href*=\"/ebook/mangas/\"]" : 2155 + "a[href*=\"/ebook/presse/\"]" : 2156 + "a[href*=\"/emulation/emulateurs/\"]" : 2157 + "a[href*=\"/emulation/roms/\"]" : 2158 + "a[href*=\"/gps/applications/\"]" : 2168 + "a[href*=\"/gps/cartes/\"]" : 2169 + "a[href*=\"/gps/divers/\"]" : 2170 + "a[href*=\"/xxx/films/\"]" : 2189 + "a[href*=\"/xxx/hentai/\"]" : 2190 + "a[href*=\"/xxx/images/\"]" : 2191 + comments: + optional: true + selector: "td:nth-child(1) > a[href$=\"#comments\"]" + attribute: href + download: + selector: "td:nth-child(1) > a[href*=\"/engine/download_torrent?id=\"]" + attribute: href + date: selector: "td:nth-child(3)" filters: - name: replace @@ -98,56 +220,8 @@ args: [ " an", " year"] - name: append args: " ago" - title_normal: - selector: "a.torrent-name" - title_filtered: - selector: "a.torrent-name" - filters: - - name: re_replace - args: ["(?i)^(?:(.+?)((?:[\\.\\-\\s_\\[]+(?:imax|(?:dvd|bd|tv)(?:rip|scr)|bluray(?:\\-?rip)?|720\\s*p?|1080\\s*p?|vof?|vost(?:fr)?|multi|vf(?:f|q)?[1-3]?|(?:true)?french|eng?)[\\.\\-\\s_\\]]*)*)([\\(\\[]?(?:20|1[7-9])\\d{2}[\\)\\]]?)(.*)$|(.*))$", "$1 $3 $2 $4 $5"] - - name: replace - args: [".", " "] - - name: trim - - name: re_replace - args: ["(?i)\\s(mkv|avi|divx|xvid|mp4)$", ""] - - name: re_replace - args: ["(\\s{2,5})", " "] - - name: trim - title: - text: "{{if .Config.filter_title }}{{ .Result.title_filtered }}{{else}}{{ .Result.title_normal }}{{end}}" - details: - selector: "a.torrent-name" - attribute: href - category: - selector: "td:nth-child(1) > span > i:last-child > a" - comments: - optional: true - selector: "td:nth-child(1) > a[href$=\"#comments\"]" - attribute: href - download: - selector: "td:nth-child(1) > a[href^=\"https://yggtorrent.com/engine/download_torrent?id=\"]" - attribute: href size: selector: "td:nth-child(4)" - filters: - - name: re_replace - args: [ "\\.(\\d) KB", "$1X00"] - - name: re_replace - args: [ " KB", "000"] - - name: re_replace - args: [ "\\.(\\d) MB", "$1X00000"] - - name: re_replace - args: [ " MB", "000000"] - - name: re_replace - args: [ "\\.(\\d) GB", "$1X00000000"] - - name: re_replace - args: [ " GB", "000000000"] - - name: re_replace - args: [ "\\.(\\d) TB", "$1X00000000000"] - - name: re_replace - args: [ " TB", "000000000000"] - - name: replace - args: [ "X", "" ] seeders: text: 0 seeders: @@ -158,8 +232,6 @@ leechers: selector: "td:nth-child(6)" optional: true - date: - text: "{{ .Result.site_date }}" downloadvolumefactor: text: "1" uploadvolumefactor: