From 1ffe33f52ef1d2ab3f3fa64107a2b34961a7342d Mon Sep 17 00:00:00 2001 From: ilike2burnthing <59480337+ilike2burnthing@users.noreply.github.com> Date: Wed, 14 Feb 2024 04:15:48 +0000 Subject: [PATCH] tgay: add new Russian private tracker. resolves #14989 (#15054) --- README.md | 1 + src/Jackett.Common/Definitions/tgay.yml | 269 ++++++++++++++++++++++++ 2 files changed, 270 insertions(+) create mode 100644 src/Jackett.Common/Definitions/tgay.yml diff --git a/README.md b/README.md index 4506af1f0..17ddeb29d 100644 --- a/README.md +++ b/README.md @@ -547,6 +547,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht * TeamOS * TEKNO3D [![(invite needed)][inviteneeded]](#) * teracod (Movie Zone) + * TGay * The Crazy Ones * The Falling Angels (TFA) * The Geeks diff --git a/src/Jackett.Common/Definitions/tgay.yml b/src/Jackett.Common/Definitions/tgay.yml new file mode 100644 index 000000000..1c1238eff --- /dev/null +++ b/src/Jackett.Common/Definitions/tgay.yml @@ -0,0 +1,269 @@ +--- +id: tgay +name: TGay +description: "TGay is a RUSSIAN Private Torrent Tracker for LGBTQ MOVIES / TV / GENERAL" +language: ru-RU +type: private +encoding: UTF-8 +links: + - https://tgay.pro/ + +caps: + categorymappings: + # Кино и ТВ + - {id: 38, cat: Movies, desc: "Полнометражные гей-фильмы"} + - {id: 39, cat: Movies, desc: "Короткий метр"} + - {id: 41, cat: Movies/HD, desc: "Гей-фильмы в высоком качестве"} + - {id: 40, cat: Movies, desc: "Гей-мюзиклы и театральные постановки"} + - {id: 16, cat: Movies, desc: "Арт-хаус и авторское кино"} + - {id: 45, cat: Movies, desc: "Арт-хаус полнометражные гей-фильмы"} + - {id: 44, cat: Movies, desc: "Арт-хаус короткий метр"} + - {id: 43, cat: Movies/HD, desc: "Арт-хаус в высоком качестве"} + - {id: 17, cat: TV/Documentary, desc: "Документальные фильмы и телепередачи"} + - {id: 47, cat: TV/Documentary, desc: "Отечественные документальные фильмы и телепередачи"} + - {id: 46, cat: TV/Documentary, desc: "Зарубежные документальные фильмы и передачи"} + - {id: 18, cat: TV, desc: "Сериалы"} + - {id: 51, cat: TV, desc: "ЛГБТ-сериалы"} + - {id: 50, cat: TV, desc: "ЛГБТ-минисериалы"} + - {id: 49, cat: TV/HD, desc: "ЛГБТ-сериалы в высоком качестве"} + - {id: 48, cat: TV, desc: "Не тематические сериалы"} + - {id: 19, cat: Movies, desc: "Разное интересное кино"} + - {id: 56, cat: Movies, desc: "Лесби- и транс-фильмы"} + - {id: 55, cat: Movies, desc: "Не тематические художественные фильмы"} + - {id: 75, cat: Movies, desc: "Мюзиклы и театральные постановки"} + - {id: 54, cat: TV/Documentary, desc: "Не тематические документальные фильмы"} + - {id: 53, cat: Movies, desc: "Разное интересное кино короткий метр"} + - {id: 52, cat: Movies/HD, desc: "Разное интересное кино в высоком качестве"} + - {id: 20, cat: Movies/Foreign, desc: "Фильмы без русского перевода"} + - {id: 62, cat: Movies/Foreign, desc: "Художественные гей-фильмы без перевода"} + - {id: 61, cat: TV/Foreign, desc: "Документальные гей-фильмы и передачи без перевода"} + - {id: 60, cat: Movies/Foreign, desc: "Фильмы без перевода в высоком качестве"} + - {id: 59, cat: Movies/Foreign, desc: "Короткий метр без перевода"} + - {id: 58, cat: TV/Foreign, desc: "Гей-сериалы без перевода"} + - {id: 57, cat: Movies/Foreign, desc: "Дополнительные материалы без перевода"} + - {id: 22, cat: Movies/Other, desc: "Мультфильмы"} + - {id: 21, cat: Movies/Other, desc: "Дополнительные материалы к фильмам"} + # Музыка + - {id: 23, cat: Audio, desc: "Аудио"} + - {id: 24, cat: Audio/Video, desc: "Музыкальное видео"} + # Книги + - {id: 25, cat: Books, desc: "Печатные книги и журналы"} + - {id: 26, cat: Audio/Audiobook, desc: "Аудиокниги"} + # Игры + - {id: 27, cat: PC/Games, desc: "Гей-игры"} + - {id: 28, cat: PC/Games, desc: "Не тематические игры"} + # Знакомства + - {id: 65, cat: Other, desc: "Анкеты для знакомств"} + # Служебный форум + # - {id: 37, cat: Other, desc: "Песочница"} + # - {id: 63, cat: Other, desc: "test Гей-фильмы"} + # - {id: 76, cat: Other, desc: "test Мюзиклы и театральные постановки"} + + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q] + music-search: [q] + book-search: [q] + allowrawsearch: true + +settings: + - name: username + type: text + label: Username + - name: password + type: password + label: Password + - 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_50 + type: checkbox + label: Search freeleech and 50% freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 1 + options: + 1: created + 10: seeders + 7: size + 2: title + - name: type + type: select + label: Order requested from site + default: 2 + options: + 2: desc + 1: asc + +login: + path: login.php + method: post + inputs: + redirect: index.php + login_username: "{{ .Config.username }}" + login_password: "{{ .Config.password }}" + autologin: on + login: "Log in" + error: + - selector: div.msg + test: + path: index.php + selector: a[href="./login.php?logout=1"] + +search: + paths: + - path: tracker.php + inputs: + $raw: "{{ if .Categories }}{{ range .Categories }}f[]={{.}}&{{end}}{{ else }}f[]=-1{{ end }}" + prev_allw: 1 + prev_a: 0 + prev_dla: 0 + prev_dlc: 0 + prev_dld: 0 + prev_dlw: 0 + prev_my: 0 + prev_new: 0 + prev_sd: 0 + prev_da: 1 + prev_dc: 0 + prev_df: 1 + prev_ds: 0 + prev_tor_type: 0 + # sort by 1=registered 2=topicTitle 4=completed 10=seed 11=leech 12=up 13=down 5=replies 6=views 7=size 8=lastPost 9=seedLastSeen + o: "{{ .Config.sort }}" + # 1=asc 2=desc + s: "{{ .Config.type }}" + # show category + dc: 0 + # show forum + df: 1 + # show author + da: 1 + # show speed + ds: 0 + # -1=all time + tm: -1 + # seed not seen -1=disregard + sns: -1 + # group releases -1=not selected + srg: -1 + nm: "{{ .Keywords }}" + # search by partial word + allw: 0 + tor_type: "{{ if .Config.freeleech_50 }}1{{ else }}{{ end }}" + + keywordsfilters: + - name: diacritics + args: replace + - name: re_replace # S01 to сезон 1 + args: ["(?i)\\bS0*(\\d+)\\b", "сезон $1"] + - name: re_replace # E02 to сери 1 + args: ["(?i)\\bE0*(\\d+)\\b", "сери $1"] + - name: re_replace # S01E02 to сезон 1 сери 2 + args: ["(?i)\\bS0*(\\d+)E0*(\\d+)\\b", "сезон $1 сери $2"] + + rows: + selector: tr[id^="tor_"]:has(a[href^="magnet:?xt="]) + + fields: + category: + selector: a[href^="tracker.php?f="] + attribute: href + filters: + - name: querystring + args: f + title: + selector: a[href^="./viewtopic.php?t="] + 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: ["(\\([\\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: re_replace + args: ["(?i)^\\(\\s*([SE]\\d+.*?)\\s*\\)[\\s\\/\\|]*(.+)", "$2 $1"] + - name: append + args: "{{ if .Config.addrussiantotitle }} RUS{{ else }}{{ end }}" + details: + selector: a[href^="./viewtopic.php?t="] + attribute: href + magnet: + selector: a[href^="magnet:?xt="] + attribute: href + size: + selector: td:nth-child(6) > u + seeders: + selector: td.seedmed > b + leechers: + selector: td.leechmed > b + grabs: + selector: td:nth-child(9) + date: + selector: td:last-child > u + downloadvolumefactor: + case: + img[src="styles/images/tor_gold.gif"]: 0 + img[src="styles/images/tor_silver.gif"]: 0.5 + "*": 1 + uploadvolumefactor: + text: 1 + description_verified: + case: + span.tor-approved: "Verified:" + span.tor-not-approved: "Unverified:" + description: + selector: a[href^="./viewtopic.php?t="] + filters: + - name: prepend + args: "{{ .Result.description_verified }} " +# TorrentPier II