From 659fd56801ca49bd80df9517fa4a77b63f18db0a Mon Sep 17 00:00:00 2001 From: Garfield69 Date: Sun, 3 Nov 2019 21:09:05 +1300 Subject: [PATCH] add hdreactor a public Russian site. resolves #6287 --- README.md | 1 + src/Jackett.Common/Definitions/hdreactor.yml | 125 +++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 src/Jackett.Common/Definitions/hdreactor.yml diff --git a/README.md b/README.md index e8dd81445..dd469e755 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/ * Frozen Layer * GkTorrent * GloDLS + * HDReactor * Hon3yHD.net * Horrible Subs * Idope diff --git a/src/Jackett.Common/Definitions/hdreactor.yml b/src/Jackett.Common/Definitions/hdreactor.yml new file mode 100644 index 000000000..a8656bcdc --- /dev/null +++ b/src/Jackett.Common/Definitions/hdreactor.yml @@ -0,0 +1,125 @@ +--- + site: hdreactor + name: HDReactor + description: "HDReactor is a RUSSIAN Public Torrent Tracker for MOVIES / TV" + language: ru-ru + type: public + encoding: windows-1251 + links: + - https://hdreactor.net/ + - https://hdreactor.club/ + - https://hdreactor.guru/ + - https://hdreactor.su/ + + caps: + categorymappings: + - {id: 2001, cat: Movies/HD, desc: "Кино HD"} + - {id: 5006, cat: Movies/HD, desc: "Кино 4K"} + - {id: 2007, cat: Movies/Other, desc: "Анимация"} + - {id: 2006, cat: TV/HD, desc: "Сериалы"} + - {id: 5005, cat: TV/Sport, desc: "Спорт"} + - {id: 2004, cat: Audio/Lossless, desc: "Музыка"} + - {id: 2005, cat: PC/Games, desc: "Игры"} + - {id: 2003, cat: XXX, desc: "18+"} + + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q] + + settings: + - name: striprussian + type: checkbox + label: Strip Russian Letters + default: false + + download: + selector: a[href^="magnet:?xt="] + + search: + # https://hdreactor.net/index.php?do=search&subaction=search&showposts=1&story=2019&catlist[]=2001&catlist[]=2006 + paths: + - path: index.php + keywordsfilters: + - name: diacritics + args: replace + - name: re_replace # S01 to Сезон 1 + args: ["(?i)\\bS0*(\\d+)\\b", " Сезон $1"] + - name: re_replace # S01E01 to Сезон 1 Серии 1 + args: ["(?i)\\bS0*(\\d+)E0*(\\d+)\\b", " Сезон $1 Серии $2"] + inputs: + $raw: "{{range .Categories}}catlist[]={{.}}&{{end}}" + do: search + subaction: search + showposts: 1 + story: "{{ if .Keywords }}{{ .Keywords }}{{ else }}2019{{ end }}" + + rows: + selector: div.news:contains("Категория:") + + fields: + category: + selector: div.news-content > a + case: + a[href$="/4k_uhd/"]: 5006 + a[href$="/1/"]: 2001 + a[href$="/6/"]: 2006 + a[href$="/7/"]: 2007 + a[href$="/4/"]: 2004 + a[href$="/5/"]: 2005 + a[href$="/3/"]: 2003 + a[href$="/sport-hd/"]: 5005 + title: + selector: h1 > a + filters: + # normalize to SXXEYY format + - name: re_replace + args: ["[\\.\\,\\:\\-\\/\\|\\[\\]]", " "] + - name: re_replace + args: ["(.*)[CСcс]езон\\s*(\\d+)\\s*[CСcс]ери[ия]\\s*(\\d+)\\s*(\\d+)\\s*из\\s*\\d+(.*)", "$1 S$2E$3-$4 rus $5"] + - name: re_replace + args: ["(.*)[CСcс]езон\\s*(\\d+)\\s*[CСcс]ери[ия]\\s*(\\d+)\\s*(\\d+)\\s*(.*)", "$1 S$2E$3-$4 rus $5"] + - name: re_replace + args: ["(.*)[CСcс]езон\\s*(\\d+)\\s*[CСcс]ери[ия]\\s*(\\d+)\\s*из\\s*\\d+(.*)", "$1 S$2E$3 rus $4"] + - name: re_replace + args: ["(.*)[CСcс]езон\\s*(\\d+)(.*)", "$1 S$2 rus $3"] + - name: re_replace + args: ["(.*)[CСcс]]ери[ия]\\s*(\\d+)(.*)", "$1 E$2 rus $3"] + - name: re_replace + args: ["(\\([А-Яа-яЁё\\W]+\\))|(^[А-Яа-яЁё\\W\\d]+\\/ )|([а-яА-ЯЁё \\-]+,+)|([а-яА-ЯЁё]+)", "{{ if .Config.striprussian }}{{ else }}$1$2$3$4{{ end }}"] + - name: replace + args: ["WEBRip", "WEBDL"] + - name: replace + args: ["WEB DL", "WEBDL"] + - name: replace + args: ["WEB DLRip", "WEBDL"] + - name: replace + args: ["HDTVRip", "HDTV"] + details: + selector: h1 > a + attribute: href + download: + selector: h1 > a + attribute: href + size: + text: "500 MB" + seeders: + text: 1 + leechers: + text: 1 + date: + selector: div.news-content + filters: + # - 30-10-2019, 14:49] + - name: strdump + - name: regexp + args: "(\\d{1,2}\\-\\d{2}\\-\\d{4}\\, \\d{1,2}\\:\\d{2})" + - name: replace + args: [",", ""] + - name: dateparse + args: "2-01-2006 15:04" + - name: strdump + downloadvolumefactor: + text: 0 + uploadvolumefactor: + text: 1