--- id: torrent9 name: Torrent9 description: "Torrent9 is a FRENCH Public site for TV / MOVIES / GENERAL" language: fr-FR type: public encoding: UTF-8 followredirect: true links: - https://torrent9.to/ - https://www.torrent9.gg/ - https://torrent9.unblockninja.com/ legacylinks: - http://www.torrent9.ec/ - http://www.torrent9.red/ - http://www.torrent9.bz/ - http://www.torrents9.pe/ - http://www.torrent9.cc/ - http://www.torrent9.pe/ - http://www.torrent9.blue/ - https://www.torrent9.blue/ - https://ww2.torrent9.blue/ - https://www.torrent9.rip/ - https://www.torrent9.ph/ - https://ww1.torrent9.ph/ - https://torrent9.ga/ - https://www.torrent9.uno/ - https://wvw.torrent9.uno/ - https://ww1.torrent9.uno/ - https://wvw.t9.pe/ - https://www4.torrent9.to/ - https://www.torrent9.cat/ - https://www.torrent09.uno/ - https://www.torrent9.pl/ # this is a proxy for torrent9clone - https://torrent9.black-mirror.xyz/ # this is a proxy for torrent9clone - https://torrent9.unblocked.casa/ # this is a proxy for torrent9clone - https://torrent9.proxyportal.fun/ # this is a proxy for torrent9clone - https://torrent9.uk-unblock.xyz/ # this is a proxy for torrent9clone - https://torrent9.ind-unblock.xyz/ # this is a proxy for torrent9clone - https://ww1.torrent9.is/ - https://ww1.torrent9.to/ - https://www.torrent9.is/ - https://torrent9.li/ # not a proxy for torrent9 or torrent9clone - https://www.oxtorrent.me/ # http 522 Connection timed out caps: # dont forget to update the search fields category case block categorymappings: - {id: films, cat: Movies, desc: "Movies"} - {id: series, cat: TV, desc: "TV"} - {id: musique, cat: Audio, desc: "Music"} - {id: ebook, 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 - name: sort type: select label: Sort requested from site (Only works for searches with Keywords) default: ".html" options: ".html": best ".html,trie-date-d": created desc ".html,trie-date-a": created asc ".html,trie-seeds-d": seeders desc ".html,trie-seeds-a": seeders asc ".html,trie-poid-d": size desc ".html,trie-poid-a": size asc ".html,trie-nom-d": title desc ".html,trie-nom-a": title asc - name: info_131681 type: info label: About Torrent9 Categories default: Torrent9 only returns category Movies in its Keywordless search results page.
To pass your apps' indexer TEST you will need to include the 131681(Movies) category. download: selectors: - selector: a[href^="magnet:?"] attribute: href search: paths: - path: "{{ if .Keywords }}/search_torrent/{{ .Keywords }}{{ .Config.sort }}{{ else }}/top_torrent.html{{ end }}" keywordsfilters: # if searching for season packs with 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"] - name: replace args: [" ", "-"] rows: selector: table.table-striped > tbody > tr filters: - name: andmatch fields: category: selector: td:nth-child(1) i case: i[class="fa fa-video-camera"]: films i[class="fa fa-desktop"]: series i[class="fa fa-tv"]: series i[class="fa fa-music"]: musique i[class="fa fa-gamepad"]: jeux-pc i[class="fa fa-laptop"]: logiciels i[class="fa fa-book"]: ebook 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 date: text: now size: selector: td:nth-child(2) filters: - name: replace args: ["Ko", "KB"] - name: replace args: ["Mo", "MB"] - name: replace args: ["Go", "GB"] - name: replace args: ["To", "TB"] seeders_optional: selector: td:nth-child(3) optional: true seeders: text: "{{ if .Result.seeders_optional }}{{ .Result.seeders_optional }}{{ else }}0{{ end }}" leechers_optional: selector: td:nth-child(4) optional: true leechers: text: "{{ if .Result.leechers_optional }}{{ .Result.leechers_optional }}{{ else }}0{{ end }}" downloadvolumefactor: text: 0 uploadvolumefactor: text: 1 # engine n/a