186 lines
6.0 KiB
YAML
186 lines
6.0 KiB
YAML
|
---
|
||
|
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
|
||
|
testlinktorrent: false
|
||
|
links:
|
||
|
- https://torrent9.to/
|
||
|
- https://torrent9.ninjaproxy1.com/
|
||
|
- https://torrent9.proxyninja.org/
|
||
|
legacylinks:
|
||
|
- 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/
|
||
|
- https://www.torrent9.gg/
|
||
|
- https://www.torrent9.fi/ # this is the torrent9clone domain
|
||
|
- https://torrent9.unblockninja.com/ # is a proxy for torrent9clone
|
||
|
- https://www.torrent9.fm/ # no response data
|
||
|
|
||
|
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: other, cat: Other, desc: "Other"} # dummy cat for results missing icon
|
||
|
|
||
|
modes:
|
||
|
search: [q]
|
||
|
tv-search: [q, season, ep]
|
||
|
movie-search: [q]
|
||
|
music-search: [q]
|
||
|
book-search: [q]
|
||
|
allowrawsearch: true
|
||
|
|
||
|
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 and SUBFRENCH 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
|
||
|
|
||
|
download:
|
||
|
selectors:
|
||
|
- selector: a:has(i.fa-magnet)
|
||
|
attribute: href
|
||
|
|
||
|
search:
|
||
|
paths:
|
||
|
- path: "{{ if .Keywords }}/search_torrent/{{ .Keywords }}{{ .Config.sort }}{{ else }}{{ 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: [" ", "-"]
|
||
|
|
||
|
headers:
|
||
|
# site blocks all Linux User-Agents, so use a slightly altered Windows Jackett UA here (e.g. Safari/537.36 > Safari/537.35)
|
||
|
User-Agent: ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.35"]
|
||
|
|
||
|
rows:
|
||
|
selector: table.table-striped > tbody > tr
|
||
|
filters:
|
||
|
- name: andmatch
|
||
|
|
||
|
fields:
|
||
|
category_optional:
|
||
|
selector: td:nth-child(1) i
|
||
|
optional: true
|
||
|
case:
|
||
|
i[class="fa fa-video-camera"]: films
|
||
|
i[class="fa fa-tv"]: series # search by name
|
||
|
i[class="fa fa-desktop"]: series # keywordless search
|
||
|
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
|
||
|
category:
|
||
|
text: "{{ if .Result.category_optional }}{{ .Result.category_optional }}{{ else }}other{{ end }}"
|
||
|
title_default:
|
||
|
selector: td:nth-child(1) a
|
||
|
title_optional:
|
||
|
selector: td:nth-child(1) a[title]
|
||
|
attribute: title
|
||
|
optional: true
|
||
|
title_phase1:
|
||
|
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
|
||
|
filters:
|
||
|
- name: re_replace
|
||
|
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b(19|20\\d{2})\\b)$", "$3 $1$2"]
|
||
|
title_vostfr:
|
||
|
text: "{{ .Result.title_phase1 }}"
|
||
|
filters:
|
||
|
- name: re_replace
|
||
|
args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
|
||
|
title_phase2:
|
||
|
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
|
||
|
title_multilang:
|
||
|
text: "{{ .Result.title_phase2 }}"
|
||
|
filters:
|
||
|
- name: re_replace
|
||
|
args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"]
|
||
|
title:
|
||
|
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
|
||
|
details:
|
||
|
selector: td:nth-child(1) a
|
||
|
attribute: href
|
||
|
download:
|
||
|
selector: td:nth-child(1) a
|
||
|
attribute: href
|
||
|
date:
|
||
|
selector: td:nth-child(2):contains("/")
|
||
|
optional: true
|
||
|
default: now
|
||
|
filters:
|
||
|
- name: dateparse
|
||
|
args: "dd/MM/yyyy"
|
||
|
size:
|
||
|
selector: "{{ if .Keywords }}td:nth-child(3){{ else }}td:nth-child(2){{ end }}"
|
||
|
filters:
|
||
|
- name: re_replace
|
||
|
args: ["(\\w)o", "$1B"]
|
||
|
seeders:
|
||
|
selector: "{{ if .Keywords }}td:nth-child(4){{ else }}td:nth-child(3){{ end }}"
|
||
|
optional: true
|
||
|
default: 0
|
||
|
leechers:
|
||
|
selector: "{{ if .Keywords }}td:nth-child(5){{ else }}td:nth-child(4){{ end }}"
|
||
|
optional: true
|
||
|
default: 0
|
||
|
downloadvolumefactor:
|
||
|
text: 0
|
||
|
uploadvolumefactor:
|
||
|
text: 1
|
||
|
# engine n/a
|