From 46df52bd5f5b6a974401ca18ba0aafd338aadbe1 Mon Sep 17 00:00:00 2001 From: Garfield69 Date: Wed, 25 Sep 2024 06:55:01 +1200 Subject: [PATCH] uniongangcookie: for #15607 --- .../Definitions/uniongangcookie.yml | 216 ++++++++++++++++++ 1 file changed, 216 insertions(+) create mode 100644 src/Jackett.Common/Definitions/uniongangcookie.yml diff --git a/src/Jackett.Common/Definitions/uniongangcookie.yml b/src/Jackett.Common/Definitions/uniongangcookie.yml new file mode 100644 index 000000000..17ce19f19 --- /dev/null +++ b/src/Jackett.Common/Definitions/uniongangcookie.yml @@ -0,0 +1,216 @@ +--- +id: uniongangcookie +name: UnionGangCookie +description: "UnionGang is a RUSSIAN Private Torrent Tracker for MOVIES / TV / GENERAL. This indexer uses cookie login." +language: ru-RU +type: private +encoding: UTF-8 +links: + - https://uniongang.net/ +legacylinks: + - http://www.uniongang.net/ + - https://www.uniongang.net/ + +caps: + categorymappings: + - {id: 1, cat: Movies, desc: "Movies / HDRip / BDRip"} + - {id: 21, cat: Movies/WEB-DL, desc: "Movies WEB-DL / WEB-DLRip"} + - {id: 2, cat: Movies/HD, desc: "Movies x264"} + - {id: 5, cat: Movies/HD, desc: "Movies BDRemux / BDRip1080p"} + - {id: 6, cat: TV, desc: "TV Сериал"} + - {id: 7, cat: TV/Documentary, desc: "TV Документальный"} + - {id: 9, cat: TV, desc: "Мультфильм"} + - {id: 10, cat: TV, desc: "ТВ / Выпуски / Шоу"} + - {id: 11, cat: PC, desc: "Игра / PC"} + - {id: 13, cat: Audio, desc: "Музыка / Русская"} + - {id: 14, cat: Audio, desc: "Музыка / Зарубежная"} + - {id: 23, cat: Movies/UHD, desc: "Movies / 4K"} + + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q] + music-search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: stripcyrillic + type: checkbox + label: Strip Cyrillic Letters + default: false + - name: addrussiantotitle + type: checkbox + label: Add RUS to end of all titles to improve language detection by Sonarr and Radarr. Will cause English-only results to be misidentified. + default: false + - 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_activity + type: info + label: Account Inactivity + default: "" + +login: + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: / + selector: a[href="/logout.php"] + +search: + paths: + - path: browse.php + inputs: + $raw: "{{ range .Categories }}cat[]={{.}}&{{end}}" + search: "{{ .Keywords }}" + shw_incl_cats: 0 + # 0 default, 1 active, 1 inactive, 3 gold, 4 important, 5 unverified, 6 banned, 7 no tags, 8 my torrents, 9-31 lots of other choices + incldead: "{{ if .Config.freeleech }}3{{ else }}0{{ end }}" + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + # site does not support imdbid search or provide imdb links in results + + keywordsfilters: + # strip season and/or ep + - name: re_replace + args: ["(?i)\\b(?:[SE]\\d{1,4}){1,2}\\b\\s?", ""] + + rows: + selector: table.brws.main > tbody > tr[class^="torcont"] + after: 1 + + fields: + category: + selector: a[href^="browse.php?cat="] + attribute: href + filters: + - name: querystring + args: cat + title: + selector: a[href^="details.php?id="] + filters: + # normalize to SXXEYY format + - name: re_replace + args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?).+?(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))[\\s:]*(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)", "S$1E$2 of $3"] + - name: re_replace + args: ["(?i)(\\d+(?:-\\d+)?)\\s*[CС]езоны?.+?(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))?", "S$1E$2 of $3"] + - name: re_replace + args: ["(?i)(\\d+(?:-\\d+)?)\\s*[CС]езоны?.+?(\\d+(?:-\\d+)?)\\s*(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))\\s+из\\s*(\\w?)", "S$1E$2 of $3"] + - name: re_replace + args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?).+?(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))?", "S$1E$2 of $3"] + - name: re_replace + args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?).+?(\\d+(?:-\\d+)?)\\s*(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))\\s+из\\s*(\\w?)", "S$1E$2 of $3"] + - name: re_replace + args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?).+?(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))[\\s:]*(\\d+(?:-\\d+)?)", "S$1E$2"] + - name: re_replace + args: ["(?i)(\\d+(?:-\\d+)?)\\s*[CС]езоны?.+?(\\d+(?:-\\d+)?)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))", "S$1E$2"] + - name: re_replace + args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?).+?(\\d+(?:-\\d+)?)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))", "S$1E$2"] + - name: re_replace + args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?)", "S$1"] + - name: re_replace + args: ["(?i)(\\d+(?:-\\d+)?)\\s+[CС]езоны?", "S$1"] + - name: re_replace + args: ["(?i)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))[\\s:]*(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)", "E$1 of $2"] + - name: re_replace + args: ["(?i)(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))", "E$1 of $2"] + - name: re_replace + args: ["(?i)(\\d+(?:-\\d+)?)\\s+(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))\\s+из\\s*(\\w?)", "E$1 of $2"] + - name: re_replace + args: ["(?i)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))[\\s:]*(\\d+(?:-\\d+)?)", "E$1"] + - name: re_replace + args: ["(?i)(\\d+(?:-\\d+)?)\\s+(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))", "E$1"] + - name: re_replace + args: ["(?i)\\bР(\\d)?\\b", "P$1"] + - name: re_replace + args: ["(?i)\\sот\\s([\\w\\p{P}\\p{S}]+)\\s\\|(.+)", "$2-$1"] + - name: re_replace + args: ["\\s\\|\\s(\\w{4,})$", "-$1"] + - name: re_replace + args: ["(\\([\\p{IsCyrillic}\\W]+\\))|(^[\\p{IsCyrillic}\\W\\d]+\\/ )|([\\p{IsCyrillic} \\-]+,+)|([\\p{IsCyrillic}]+)", "{{ if .Config.stripcyrillic }}{{ else }}$1$2$3$4{{ end }}"] + - name: re_replace + args: ["(?i)\\bHDTV[-\\s]?Rip\\b", "HDTV"] + - name: re_replace + args: ["(?i)\\bSAT[-\\s]?Rip\\b", "HDTV"] + - name: re_replace + args: ["(?i)\\bWEB[-\\s]?DL[-\\s]?Rip\\b", "WEB-DL"] + - name: re_replace + args: ["(?i)\\bWEB\\sRip\\b", "WEBRip"] + - name: re_replace + args: ["(?i)\\bWEB\\sDL\\b", "WEB-DL"] + - name: re_replace + args: ["[\\[\\(\\{<«][\\s\\W]*[\\]\\)\\}>»]", ""] + - name: re_replace + args: ["^[\\s&,\\.!\\?\\+\\-_\\|\\/':]+", ""] + - name: append + args: "{{ if .Config.addrussiantotitle }} RUS{{ else }}{{ end }}" + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?id="], a[href^="magnet:?xt="] + attribute: href + size: + selector: a[href^="download.php?id="], a[href^="magnet:?xt="] + seeders: + selector: td:nth-last-child(3) + filters: + - name: split + args: ["|", 0] + leechers: + selector: td:nth-last-child(3) + filters: + - name: split + args: ["|", 1] + date: + selector: td:has(a[href^="userdetails.php?id="]) ~ td, td:has(a[href^="browse.php?gr="]) ~ td + remove: a + filters: + - name: re_replace + args: ["(?i)(назад)", "ago"] + - name: re_replace + args: ["(?i)(секунду|секунды|секунд)", "seconds"] + - name: re_replace + args: ["(?i)(минуты|минуту|минут)", "minutes"] + - name: re_replace + args: ["(?i)(часов|часа|час)", "hours"] + - name: re_replace + args: ["(?i)(день|дней|дня)", "days"] + - name: re_replace + args: ["(?i)(неделю|недели|недель)", "weeks"] + - name: re_replace + args: ["(?i)(месяц|месяца|месяцев)", "months"] + - name: re_replace + args: ["(?i)(года|год|лет)", "years"] + - name: timeago + downloadvolumefactor: + case: + img[src="/pic/freedownload.gif"]: 0 + "*": 1 + uploadvolumefactor: + text: 1 + minimumratio: + text: 0.3 +# Engine n/a