--- id: gktorrent name: GkTorrent description: "GkTorrent is a French Public site for TV / MOVIES / GENERAL" language: fr-FR type: public encoding: UTF-8 followredirect: true # to fetch current domain use https://www.protege-liens.com/gktorrent links: - https://www.gktorrents.cc/ - https://gktorrent.nocensor.world/ legacylinks: - http://www.gktorrent.co/ - https://www.gktorrent.co/ - https://www.gktorrent.ws/ - https://www.gktorrent.org/ - https://www.gktorrent.me/ - https://www.rantop.org/ - https://www.gktorrent.cx/ - https://www.gktorrent.tv/ - https://www.gktorrent.net/ - https://www.gktorrent.biz/ - https://www.gktorrent.io/ - https://www.gktorrent.pw/ - https://wvw.gktorrent.pw/ - https://vww.gktorrent.pw/ - https://www.gktorrent.cc/ - https://gktorrent.nocensor.space/ - https://www.gktorrents.com/ - https://gktorrent.nocensor.work/ - https://www.gktorrents.net/ - https://gktorrent.nocensor.biz/ - https://www.gktorrents.org/ - https://gktorrent.nocensor.sbs/ caps: categorymappings: - {id: Films, cat: Movies, desc: "Movies"} - {id: Séries, cat: TV, desc: "TV"} - {id: Musiques, cat: Audio, desc: "Music"} - {id: Ebooks, cat: Books, desc: "Books"} - {id: Logiciels, cat: PC, desc: "Software"} - {id: Jeux-PC, cat: PC/Games, desc: "PC Games"} - {id: Jeux-Consoles, cat: Console/XBox 360, desc: "Console Games"} modes: search: [q] tv-search: [q, season, ep] movie-search: [q] music-search: [q] book-search: [q] settings: - name: multilang type: checkbox label: Replace MULTI by another language in release name default: false - name: multilanguage type: select label: Replace MULTI by this language default: FRENCH options: FRENCH: FRENCH MULTI.FRENCH: MULTI.FRENCH ENGLISH: ENGLISH MULTI.ENGLISH: MULTI.ENGLISH VOSTFR: VOSTFR MULTI.VOSTFR: MULTI.VOSTFR - name: vostfr type: checkbox label: Replace VOSTFR with ENGLISH default: false download: selectors: - selector: a[href^="magnet:?"] attribute: href - selector: script:contains("magnet:?") filters: - name: regexp args: "\\s'(magnet:\\?.+?)';" search: paths: - path: "{{ if .Keywords }}recherche/{{ .Keywords }}{{ else }}{{ end }}" keywordsfilters: # if searching for season packs swith S01 to saison 1 #9712 - name: re_replace args: ["(?i)(S0)(\\d{1,2})$", "saison $2"] - name: re_replace args: ["(?i)(S)(\\d{1,3})$", "saison $2"] rows: selector: table.table-hover > tbody > tr:has(a[href*=torrent]) fields: category: selector: td:nth-child(1) > i attribute: class _site_date: selector: td:nth-child(1) a filters: # year is at the end of the title, so we get it and name it _site_date - name: regexp args: "(19|20\\d{2})$" title_phase1: selector: td:nth-child(1) a filters: # now we put the date at the right place according scene naming rules using .Result._site_date - name: re_replace args: ["(?i)( FRENCH)", " {{ .Result._site_date }} FRENCH"] - name: re_replace args: ["(?i)( MULTI)", " {{ .Result._site_date }} MULTI"] - name: re_replace args: ["(?i)( TRUEFRENCH)", " {{ .Result._site_date }} TRUEFRENCH"] - name: re_replace args: ["(?i)( VOSTFR)", " {{ .Result._site_date }} VOSTFR"] - name: re_replace args: ["(?i)( SUBFRENCH)", " {{ .Result._site_date }} SUBFRENCH"] # and we delete it at the end - name: re_replace args: ["(19|20\\d{2})$", ""] title_multilang: text: "{{ .Result.title_phase1 }}" filters: - name: re_replace args: ["(?i)(\\smulti\\s)", " {{ .Config.multilanguage }} "] title_phase2: text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase1 }}{{ end }}" title_vostfr: text: "{{ .Result.title_phase2 }}" filters: - name: re_replace args: ["(?i)(\\svostfr\\s)", " ENGLISH "] - name: re_replace args: ["(?i)(\\ssubfrench\\s)", " ENGLISH "] title: text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase2 }}{{ end }}" details: selector: td:nth-child(1) a attribute: href download: selector: td:nth-child(1) a attribute: href size: selector: td:nth-child(2) date: text: now seeders: selector: td:nth-child(3) leechers: selector: td:nth-child(4) downloadvolumefactor: text: 0 uploadvolumefactor: text: 1 # engine n/a