diff --git a/README.md b/README.md index 0d3cf2e67..71039ba44 100644 --- a/README.md +++ b/README.md @@ -198,6 +198,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/ * Hebits * Hon3y HD * HQSource + * HuSh * Hyperay * ICE Torrent * I Love Classics diff --git a/src/Jackett.Common/Definitions/hush.yml b/src/Jackett.Common/Definitions/hush.yml new file mode 100644 index 000000000..f83a88aa1 --- /dev/null +++ b/src/Jackett.Common/Definitions/hush.yml @@ -0,0 +1,109 @@ +--- + site: hush + name: HuSh + description: "HuSh is a community-built Movie/TV/FANRES database." + language: fr-fr + type: private + encoding: UTF-8 + links: + - https://team-hush.org/ + + caps: + categorymappings: + - {id: 1, cat: Movies, desc: "Movies"} + - {id: 2, cat: TV, desc: "TV"} + - {id: 3, cat: Movies, desc: "FANRES"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid] + movie-search: [q, imdbid] + + login: + path: /login + method: form + inputs: + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + error: + - selector: form[action*="/login"] .text-red + test: + path: /torrents + + search: + paths: + - path: /filterTorrents + inputs: + $raw: "{{range .Categories}}categories[]={{.}}&{{end}}" + search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}" + uploader: "" + imdb: "{{ .Query.IMDBIDShort }}" + tvdb: "" + tmdb: "" + mal: "" + sorting: created_at + direction: desc + qty: 100 + rows: + selector: table > tbody > tr + fields: + category: + selector: a[href*="/categories/"] + attribute: href + filters: + - name: regexp + args: "/categories/.*?\\.(\\d+)" + title: + selector: a.view-torrent + download: + selector: a[href*="/download/"] + attribute: href + details: + selector: a.view-torrent + attribute: href + size: + selector: td:nth-child(5) + seeders: + selector: td:nth-child(7) + leechers: + selector: td:nth-child(8) + grabs: + selector: td:nth-child(6) + filters: + - name: regexp + args: ([\d\.]+) + date: + selector: time + filters: + # translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portoguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch + - name: re_replace + args: ["(önce|tagasi|geleden|fa|temu|siden|atrás|nazpět|назад|acum|hace|il y a|vor|преди)", "ago"] + - name: re_replace + args: ["(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut)", "minute"] + - name: re_replace + args: ["(dakika|minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"] + - name: re_replace + args: ["(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur)", "hour"] + - name: re_replace + args: ["(saat|tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"] + - name: re_replace + args: ["(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден)", "day"] + - name: re_replace + args: ["(gün|päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"] + - name: re_replace + args: ["(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица)", "week"] + - name: re_replace + args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"] + - name: re_replace + args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"] + - name: re_replace + args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"] + downloadvolumefactor: + case: + "i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech + "i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech + "*": "1" + uploadvolumefactor: + case: + "i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload + "i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload