--- id: concertos name: Concertos description: "Concertos is a Private Torrent Tracker for Live Concerts with Strict Quality Control" language: en-US type: private encoding: UTF-8 links: - https://concertos.live/ caps: categorymappings: - {id: 1, cat: TV, desc: "Live Concert"} - {id: 2, cat: Audio/Video, desc: "Music Video"} - {id: 4, cat: TV, desc: "Music Documentary"} - {id: 5, cat: Audio/Lossless, desc: "Pure Audio"} - {id: 7, cat: TV, desc: "Opera"} - {id: 8, cat: TV, desc: "Musical"} - {id: 9, cat: Audio, desc: "Podcast"} modes: search: [q] tv-search: [q, imdbid] movie-search: [q, imdbid] music-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: sort type: select label: Sort requested from site default: created_at options: created_at: created seeders: seeders size: size - 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: form[action$="/login"] .text-red # test: # path: / # selector: a[href$="/logout"] search: paths: - path: torrents inputs: $raw: "{{ range .Categories }}categories[]={{.}}&{{end}}" title: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search imdb: "{{ .Query.IMDBIDShort }}" freeleech: "{{ if .Config.freeleech }}on{{ else }}{{ end }}" order_by: "{{ .Config.sort }}" direction: "{{ .Config.type }}" rows: selector: table > tbody > tr fields: category: selector: a[href*="?category_"] attribute: href filters: - name: regexp args: "category_(\\d+)" title: selector: a[href*="/torrent/"] details: selector: a[href*="/torrent/"] attribute: href download: selector: a[href*="/torrent/"] attribute: href filters: - name: append args: "/download" size: selector: td.torrents__size date: selector: td.torrents__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 seeders: selector: td:nth-last-child(3) leechers: selector: td:nth-last-child(2) grabs: selector: td:nth-last-child(1) imdbid: selector: a[href*="imdb.com/title/tt"] attribute: href downloadvolumefactor: case: i.fa-star: 0 # Freeleech i.fa-certificate: 0 # Featured "*": 1 uploadvolumefactor: case: i.fa-certificate: 2 # Featured i.fa-gem: 2 # Double Upload "*": 1 minimumratio: text: 1.0 minimumseedtime: # 7 day (as seconds = 7 x 24 x 60 x 60) text: 604800 # UNIT3D