media-server-docker-compose/config/prowlarr/Definitions/sharewood.yml
Braden Jageman fd77c332fb new stuff
2024-04-07 00:37:31 -04:00

217 lines
6.6 KiB
YAML

---
id: sharewood
name: Sharewood
description: "sharewood is a Semi-Private FRENCH Torrent Tracker for GENERAL"
language: fr-FR
type: semi-private
encoding: UTF-8
certificates:
- 023A091295E81813D040DFA0FA842DF9892BF0F5 # expired 10-March-2024 note: despite a new CA issued this one still pops up occasionally
links:
- https://www.sharewood.tv/
caps:
categorymappings:
- {id: "Films", cat: Movies, desc: "Films"}
- {id: "Films_Animations", cat: Movies, desc: "Films Animation"}
- {id: "Animes", cat: TV/Anime, desc: " Séries Animations"}
- {id: "Series", cat: TV, desc: "TV Series"}
- {id: "Documentaires", cat: TV/Documentary, desc: "TV Documentaires"}
- {id: "Emissions", cat: TV, desc: "TV Emissions"}
- {id: "Sports", cat: TV/Sport, desc: "TV Sports"}
- {id: "Spectacles", cat: TV, desc: "TV Spectacles/Concerts"}
- {id: "Karaoke_Video", cat: Audio/Video, desc: "Karaoké Vidéo"}
- {id: "Videos_Clips", cat: Audio/Video, desc: "TV Videos Clips"}
- {id: "Musiques", cat: Audio, desc: "Audio Musiques"}
- {id: "Karaoke", cat: Audio, desc: "Audio Karaoké"}
- {id: "Samples", cat: Audio, desc: "Audio Samples"}
- {id: "Podcasts", cat: Audio, desc: "Audio Podcasts"}
- {id: "AudioBooks", cat: Audio/Audiobook, desc: "Audio Books"}
- {id: "Windows", cat: PC/0day, desc: " Applications Windows"}
- {id: "APK", cat: PC/Mobile-Android, desc: " Applications Android"}
- {id: "GPS", cat: PC/Mobile-Other, desc: " Applications GPS"}
- {id: "Ebooks", cat: Books/EBook, desc: "Books Ebooks"}
- {id: "BDs", cat: Books/EBook, desc: "Books BDs"}
- {id: "Presse", cat: Books/Mags, desc: "Books Presse"}
- {id: "Mangas", cat: Books/Comics, desc: "Books Mangas"}
- {id: "Comics", cat: Books/Comics, desc: "Books Comics"}
- {id: "Nintendo", cat: Console/NDS, desc: "Jeux Nintendo"}
- {id: "Microsoft", cat: Console/XBox, desc: "Jeux Microsoft"}
- {id: "Linux", cat: PC/Games, desc: "Jeux Linux"}
- {id: "Mac", cat: PC/Games, desc: "Jeux Mac"}
- {id: "Sony", cat: Console/PSP, desc: "Jeux Sony"}
- {id: "Smartphone_Tablette", cat: Console, desc: "Jeux Smartphone/Tablette"}
- {id: "Retrogaming_Emulation", cat: Console, desc: "Jeux Rétrogaming & Emulation"}
- {id: "Formations", cat: Other, desc: "Formations"}
- {id: "Formations_Video", cat: Other, desc: "Formations Video"}
- {id: "Formations_Logiciels", cat: Other, desc: "Formations Logiciels"}
- {id: "Films_X", cat: XXX, desc: "XXX"}
- {id: "Ebooks_X", cat: XXX, desc: "XXX"}
- {id: "Hentai", cat: XXX, desc: "Hentai"}
- {id: "ImagesX", cat: XXX, desc: "ImagesX"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
allowrawsearch: true
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- 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
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: form[action$="/login"] .text-red
- selector: h1:contains("503 Service Temporarily Unavailable")
# test:
# path: /
# selector: a[href$="/logout"]
search:
paths:
- path: filterTorrents
inputs:
search: "{{ .Keywords }}"
sorting: "{{ .Config.sort }}"
direction: "{{ .Config.type }}"
qty: 100
freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
keywordsfilters:
- name: re_replace
args: ["[\\:\\-\\/\\|]+", " "]
rows:
selector: div.table-responsive-line
fields:
category:
selector: img.torrent-icon
attribute: src
filters:
- name: regexp
args: "/img/NewIcones/(.+?).png"
title_phase1:
selector: a.view-torrent
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 }}"
download:
selector: a.view-torrent
attribute: href
filters:
- name: replace
args: ["/torrents/", "/download/"]
details:
selector: a.view-torrent
attribute: href
size:
selector: div.col-detail div.row div:nth-child(2)
seeders:
selector: div.bouton-s
leechers:
selector: div.bouton-l
grabs:
selector: div.bouton-c
date:
selector: div.col-detail div.row div span
filters:
- name: replace
args: ["il y a ", ""]
- name: replace
args: ["seconde", "second"]
- name: replace
args: ["heure", "hour"]
- name: replace
args: ["jour", "day"]
- name: replace
args: ["semaine", "week"]
- name: replace
args: ["mois", "month"]
- name: replace
args: ["an", "year"]
- name: append
args: " ago"
downloadvolumefactor:
case:
"span.badge-extra:contains('Freeleech')": 0
"*": 1
uploadvolumefactor:
case:
"span.badge-extra:contains('Double Upload')": 2
"*": 1
minimumratio:
text: 0.75
minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
# UNIT3D