--- id: torrentland name: Torrentland description: "Torrentland is a SPANISH Private Torrent Tracker for MOVIES / TV / GENERAL" language: es-ES type: private encoding: UTF-8 links: - https://torrentland.li/ caps: categorymappings: - {id: 1, cat: Movies, desc: "Películas"} - {id: 2, cat: TV, desc: "Series"} - {id: 3, cat: TV/Anime, desc: "Animación"} - {id: 4, cat: TV/Anime, desc: "Series Animación"} - {id: 5, cat: TV/Documentary, desc: "Documentales"} - {id: 6, cat: TV/Documentary, desc: "Series Documentales"} - {id: 7, cat: TV/Sport, desc: "Deportes"} - {id: 8, cat: Audio/Video, desc: "Videos Músicales"} - {id: 9, cat: XXX, desc: "+18"} - {id: 10, cat: Other, desc: "Otros"} modes: search: [q] tv-search: [q, season, ep, imdbid, tvdbid, tmdbid] movie-search: [q, imdbid, tmdbid] music-search: [q] book-search: [q] settings: - name: username type: text label: Username - name: password type: password label: Password - name: freeleech type: checkbox label: Search freeleech only default: false - name: compatOld type: checkbox label: Improve Sonarr compatibility with the tracker's older season naming scheme by renaming Sxx to Txx in searches. Can cause results already using Sxx to not be found. default: false - name: sort type: select label: Sort requested from site default: created_at options: created_at: created seeders: seeders size: size name: title - name: type type: select label: Order requested from site default: desc options: desc: desc asc: asc login: path: login method: form form: form[action$="/login"] inputs: username: "{{ .Config.username }}" password: "{{ .Config.password }}" remember: on selectorinputs: _token: selector: input[name="_token"] attribute: value error: - selector: div#ERROR_COPY # test: # path: / # selector: a[href$="/logout"] search: paths: # https://torrentland.li/torrents? # name=&description=&mediainfo=&uploader=&keywords=&tmdbId=&imdbId=&tvdbId=&malId= # &startYear=&endYear=&playlistId=&collectionId=&categories[]=1&perPage=100&free[0]=100 - path: torrents inputs: $raw: "{{ range .Categories }}categories[]={{.}}&{{end}}" name: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search tmdbId: "{{ .Query.TMDBID }}" imdbId: "{{ .Query.IMDBIDShort }}" tvdbId: "{{ .Query.TVDBID }}" "free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}" sortField: "{{ .Config.sort }}" sortDirection: "{{ .Config.type }}" perPage: 100 page: 1 # supports genre search but you need to know the id, example genres=28 for Acción keywordsfilters: - name: re_replace args: ["(?i)\\bS(\\d+)", "{{ if .Config.compatOld }}T$1{{ else }}S$1{{ end }}"] rows: # pre-release/vip torrents don't have download link selector: table > tbody > tr:has(a[href*="/download/"]) fields: categorydesc_optional: selector: span[data-original-title="Categoria"] optional: true categorydesc: text: "{{ if .Result.categorydesc_optional }}{{ .Result.categorydesc_optional }}{{ else }}Otros{{ end }}" title_vose: selector: a.view-torrent:contains("VOSE") optional: true filters: - name: append args: " ENGLiSH" title_notvose: selector: a.view-torrent:not(:contains("VOSE")) optional: true filters: - name: append args: " SPANiSH" title: text: "{{ if .Result.title_vose }}{{ .Result.title_vose }}{{ else }}{{ .Result.title_notvose }}{{ end }}" filters: - name: re_replace args: ["^ *\\[[^\\]]*\\] *", ""] # Remove prefix tags - name: re_replace args: ["(?i)\\bT(\\d+)", "S$1"] - name: re_replace args: ["UHDRip", "BDRip"] # Fix for Radarr details: selector: a.view-torrent attribute: href download: selector: a[href*="/torrents/download/"] attribute: href poster: selector: div.torrent-poster img attribute: src filters: - name: replace args: ["https://via.placeholder.com/90x135", ""] imdbid: selector: div#imdb_id size: selector: td.torrent-listings-size seeders: selector: td.torrent-listings-seeders leechers: selector: td.torrent-listings-leechers grabs: selector: td.torrent-listings-completed date: selector: td.torrent-listings-age filters: # translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portuguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch|Chinese|Japanese|Swedish - name: re_replace args: ["(?i)(önce|tagasi|geleden|fa|temu|siden|há|atrás|nazpět|назад|acum|în urmă|hace|il y a|vor|преди|前|sedan)", " ago"] - name: re_replace args: ["(?i)(saniye|sekundit|sekunder|secondi|sekund|segundos|sekundami|секунд|secunde|secondes|Sekunden|секунди|seconden|秒前)", "seconds"] - name: re_replace args: ["(?i)(minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten|minuter)", "minutes"] - name: re_replace args: ["(?i)(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut|分钟|分)", " minute"] - name: re_replace args: ["(?i)(tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden|timmar)", "hours"] - name: re_replace args: ["(?i)(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur|小时|時間|timme)", " hour"] - name: re_replace args: ["(?i)(päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen|dagar)", "days"] - name: re_replace args: ["(?i)(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден|天|日)", " day"] - name: re_replace args: ["(?i)(nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken|veckor)", "weeks"] - name: re_replace args: ["(?i)(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица|周|週間|vecka)", " week"] - name: re_replace args: ["(?i) (ay)", "month"] - name: re_replace args: ["(?i)(kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden|månader)", "months"] - name: re_replace args: ["(?i)(kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|Monat|месец|maand|个月|ヶ月|månad)", " month"] - name: re_replace args: ["(?i)(aastat|anni|lata|anos|roky|года|ani|años|ans|Jahren|години)", " years"] - name: re_replace args: ["(?i)(yil|aasta|år|anno|rok|ano|год|año|Jahr|година|jaar|年)", " year"] - name: re_replace args: ["(?i) (an)", "year"] - name: re_replace args: ["(?i)(För |und)", ""] # Misc removals - name: timeago downloadvolumefactor: case: i[class*="fa-id-badge text-orange"]: 0 # 24 Hour FreeLeech From BON Store i[class*="fa-trophy text-purple"]: 0 # Special FreeLeech For Certain User Groups i[class*="fa-star text-bold"]: 0 # Freeleech From Token i[class*="fa-coins text-bold"]: 0 # Freeleech From Token i[class*="fa-globe text-blue"]: 0 # Global Freeleech i[class*="fa-star text-gold"]: 0 # Freeleech i[class*="fa-certificate text-pink"]: 0 # Featured Torrent "*": 1 uploadvolumefactor: case: i[class*="fa-gem text-green"]: 2 # Single Torrent Double Upload i[class*="fa-globe text-green"]: 2 # Global Double Upload i[class*="fa-certificate text-pink"]: 2 # Featured Torrent "*": 1 # global MR is 0.4 but torrents must be seeded for 4 days regardless of ratio # minimumratio: # text: 0.4 minimumseedtime: # 4 days (as seconds = 4 x 24 x 60 x 60) text: 345600 # UNIT3D 6.5.0 (custom)