diff --git a/README.md b/README.md index fb57d020b..e5306cec7 100644 --- a/README.md +++ b/README.md @@ -339,6 +339,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/ * Tapochek * Tasmanit * TeamHD + * TellyTorrent * TenYardTorrents (TYT) * TheEmpire (TE) * The Geeks diff --git a/src/Jackett.Common/Definitions/tellytorrent.yml b/src/Jackett.Common/Definitions/tellytorrent.yml new file mode 100644 index 000000000..a47b128e3 --- /dev/null +++ b/src/Jackett.Common/Definitions/tellytorrent.yml @@ -0,0 +1,144 @@ +--- + site: tellytorrent + name: TellyTorrent + description: "TellyTorrent is an INDIAN Private Tracker for MOVIES / TV" + language: en + type: private + encoding: UTF-8 + links: + - https://tellytorrent.net/ + + caps: + categorymappings: + - {id: 1, cat: Movies, desc: "Movies"} + - {id: 2, cat: TV, desc: "TV"} + - {id: 3, cat: Audio, desc: "Music"} + - {id: 4, cat: Movies, desc: "Web Originals"} + - {id: 5, cat: PC/Games, desc: "Games"} + - {id: 6, cat: PC/0day, desc: "Application"} + - {id: 7, cat: PC/Phone-Other, desc: "Mobile App"} + - {id: 8, cat: Other, desc: "IPL 2019"} + + 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 }}" + remember: 1 + error: + - selector: script[nonce]:contains("Error") + message: + selector: script[nonce]:contains("Error") + test: + path: torrents + selector: a[href$="/logout"] + + ratio: + path: torrents + selector: li:has(i.fa-sync-alt) + filters: + - name: regexp + args: "Ratio : (\\d+)" + + search: + paths: + - path: filterTorrents + inputs: + $raw: "{{range .Categories}}categories[]={{.}}&{{end}}" + search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}" + description: "" + uploader: "" + imdb: "{{ .Query.IMDBIDShort }}" + tvdb: "" + tmdb: "" + mal: "" + sort: "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 + banner: + optional: true + selector: div.torrent-poster img + attribute: src + filters: + - name: replace + args: ["https://via.placeholder.com/600x900", ""] + size: + selector: td:nth-last-child(4) + seeders: + selector: td:nth-last-child(3) + leechers: + selector: td:nth-last-child(2) + grabs: + selector: td:nth-last-child(1) + filters: + - name: regexp + args: ([\d\.]+) + imdb: + optional: true + selector: a[href*="www.imdb.com/title/tt"] + attribute: href + 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=\"Personal Freeleech\"]": "0" # 24 Hour FreeLeech From BON Store + "i[data-original-title=\"Special Freeleech\"]": "0" # Special FreeLeech For Certain User Groups + "i[data-original-title=\"Freeleech Token\"]": "0" # Freeleech From Token + "i[data-original-title=\"Global Freeleech\"]": "0" # Global Freeleech + "i[data-original-title=\"Freeleech\"]": "0" # Freeleech + "i[data-original-title=\"Featured\"]": "0" # Featured Torrent + "*": "1" + uploadvolumefactor: + case: + "i[data-original-title=\"Double Upload\"]": "2" # Single Torrent Double Upload + "i[data-original-title=\"Global Double Upload\"]": "2" # Global Double Upload + "i[data-original-title=\"Featured\"]": "2" # Featured Torrent + "*": "1" +# UNIT3D 1.9.3