dark-shadow: > JSON resolves #7892

This commit is contained in:
Garfield69
2024-12-26 07:04:09 +13:00
parent c08259b971
commit c2756e6ce4

View File

@@ -13,56 +13,40 @@ legacylinks:
caps: caps:
categorymappings: categorymappings:
# Movie - {id: 32, cat: Movies/HD, desc: "Filme > HD"}
- {id: 32, cat: Movies/HD, desc: "Filme HD"} - {id: 28, cat: Movies/SD, desc: "Filme > SD"}
- {id: 114, cat: Movies/UHD, desc: "Filme UHD"} - {id: 114, cat: Movies/UHD, desc: "Filme > UHD"}
- {id: 140, cat: Movies/BluRay, desc: "Filme BluRay"} - {id: 140, cat: Movies/BluRay, desc: "Filme > BluRay"}
- {id: 28, cat: Movies/SD, desc: "Filme SD"} - {id: 138, cat: Movies, desc: "Filme > Pack's"}
- {id: 145, cat: Movies/SD, desc: "Filme all SD"} - {id: 57, cat: TV/HD, desc: "Serien > HD"}
- {id: 138, cat: Movies, desc: "Filme Pack's"} - {id: 60, cat: TV/SD, desc: "Serien > SD"}
# Serien - {id: 139, cat: TV/UHD, desc: "Serien > UHD"}
- {id: 57, cat: TV/HD, desc: "Serien HD"} - {id: 59, cat: TV, desc: "Serien > Pack's"}
- {id: 139, cat: TV/UHD, desc: "Serien UHD"} - {id: 110, cat: Audio/MP3, desc: "Audio > MP3"}
- {id: 60, cat: TV/SD, desc: "Serien SD"} - {id: 48, cat: Audio/Lossless, desc: "Audio > Flac"}
- {id: 59, cat: TV, desc: "Serien Pack's"} - {id: 52, cat: Audio, desc: "Audio > Pack"}
# Audio - {id: 63, cat: Audio/Audiobook, desc: "Audio > Hörbuch"}
- {id: 110, cat: Audio/MP3, desc: "Audio MP3"} - {id: 120, cat: Audio/Video, desc: "Audio > Videos"}
- {id: 48, cat: Audio/Lossless, desc: "Audio Flac"} - {id: 12, cat: PC/0day, desc: "Apps > Windows"}
- {id: 52, cat: Audio, desc: "Audio Pack"} - {id: 125, cat: PC/Mac, desc: "Apps > Mac-OSX"}
- {id: 63, cat: Audio/Audiobook, desc: "Audio Hörbuch"} - {id: 11, cat: PC/Mobile-Other, desc: "Apps > Mobil"}
- {id: 120, cat: Audio/Video, desc: "Audio Videos"} - {id: 141, cat: PC/ISO, desc: "Apps > Other"}
# Apps - {id: 14, cat: TV/Documentary, desc: "Doku > HD"}
- {id: 12, cat: PC/0day, desc: "Apps Windows"} - {id: 15, cat: TV/Documentary, desc: "Doku > SD"}
- {id: 125, cat: PC/Mac, desc: "Apps Mac-OSX"} - {id: 123, cat: TV/Documentary, desc: "Doku > Pack's"}
- {id: 11, cat: PC/Mobile-Other, desc: "Apps Mobil"} - {id: 17, cat: PC/Games, desc: "Spiel > PC"}
- {id: 141, cat: PC/ISO, desc: "Apps Other"} - {id: 24, cat: Console, desc: "Spiel > Konsole"}
# Doku - {id: 126, cat: Console/Other, desc: "Spiel > Mobil"}
- {id: 14, cat: TV/Documentary, desc: "Doku HD"} - {id: 121, cat: Console, desc: "Spiel > Wimmelbild"}
- {id: 15, cat: TV/Documentary, desc: "Doku SD"} - {id: 61, cat: TV/Sport, desc: "Sport > HD"}
- {id: 123, cat: TV/Documentary, desc: "Doku Pack's"} - {id: 62, cat: TV/Sport, desc: "Sport > SD"}
# Spiel - {id: 144, cat: TV/Sport, desc: "Sport > Wrestling"}
- {id: 17, cat: PC/Games, desc: "Spiel PC"} - {id: 96, cat: Books/Mags, desc: "ePaper > Zeitungen"}
- {id: 24, cat: Console, desc: "Spiel Konsole"} - {id: 136, cat: Books/EBook, desc: "ePaper > E-Book"}
- {id: 126, cat: Console/Other, desc: "Spiel Mobil"} - {id: 137, cat: Books/Comics, desc: "ePaper > Comics"}
- {id: 121, cat: Console, desc: "Spiel Wimmelbild"} - {id: 143, cat: XXX/x264, desc: "XXX > HD / SD"}
# Sport - {id: 75, cat: XXX/Pack, desc: "XXX > Pack's"}
- {id: 61, cat: TV/Sport, desc: "Sport HD"} - {id: 142, cat: XXX/ImageSet, desc: "XXX > Pic's"}
- {id: 62, cat: TV/Sport, desc: "Sport SD"}
- {id: 144, cat: TV/Sport, desc: "Sport Wrestling"}
# ePaper
- {id: 96, cat: Books/Mags, desc: "ePaper Zeitungen"}
- {id: 136, cat: Books/EBook, desc: "ePaper E-Book"}
- {id: 137, cat: Books/Comics, desc: "ePaper Comics"}
# XXX
- {id: 143, cat: XXX/x264, desc: "XXX HD / SD"}
- {id: 75, cat: XXX/Pack, desc: "XXX Pack's"}
- {id: 142, cat: XXX/ImageSet, desc: "XXX Pic's"}
# Internal
- {id: 128, cat: Movies/HD, desc: "Internal Film HD"}
- {id: 129, cat: Movies/SD, desc: "Internal Film SD"}
- {id: 130, cat: TV/HD, desc: "Internal Serien HD"}
- {id: 131, cat: TV/SD, desc: "Internal Serie SD"}
- {id: 132, cat: Other, desc: "Internal Sonstiges"}
modes: modes:
search: [q] search: [q]
@@ -82,26 +66,18 @@ settings:
- name: password - name: password
type: password type: password
label: Password label: Password
- name: sort
type: select
label: Sort requested from site
default: added
options:
added: created
seeds: seeders
size: size
name: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: info_activity - name: info_activity
type: info type: info
label: Account Inactivity label: Account Inactivity
default: "Inactive accounts will be deactivated after 7 weeks and deleted after another 3 weeks." default: "Inactive accounts will be deactivated after 7 weeks and deleted after another 3 weeks."
- name: onlyupload
type: checkbox
label: Search OnlyUpload
default: false
- name: info_free
type: info
label: About OnlyUpload at Dark-Shadow
default: "OnlyUpload are torrents where download is not counted but upload is. Good for building your Ratio up. (On the Jackett dashboard search results these are tagged as Freeleech)."
login: login:
path: login.php path: login.php
@@ -119,85 +95,62 @@ login:
search: search:
paths: paths:
# https://dark-shadow.me//selection.php?ajax=true&search=&page=1&visible=no&free=no&c32=1&c28=1
- path: selection.php - path: selection.php
response:
type: json
inputs: inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}" ajax: true
search: "{{ .Keywords }}" search: "{{ .Keywords }}"
# 0 name, 1 descr, 2 both page: 1
blah: 0 # visible: all active+inactive, yes active, no inactive
orderby: "{{ .Config.sort }}" # visible: all (the default is all which ajax simply drops the parm)
sort: "{{ .Config.type }}" # free: all all+onlyup, yes onlyup, no without onlyup the default is all which ajax simply drops the parm)
keywordsfilters: free: "{{ if .Config.onlyupload }}yes{{ else }}{{ end }}"
# prefix and postfix percent wildcard as well as replacing spaces between words $raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
- name: re_replace
args: ["\\W+", "%"]
- name: re_replace
args: ["^(.+)$", "%$1%"]
rows: rows:
selector: div.selection_wrap selector: $
fields: fields:
category_p1:
selector: div.kat_cat_pic_name
category_p2:
selector: div.kat_cat_pic_name_b
categorydesc: categorydesc:
text: "{{ .Result.category_p1 }} {{ .Result.category_p2 }}" selector: category
filters:
- name: replace
args: [">", ">"]
title: title:
selector: a.selection_a selector: name
filters: filters:
# remove [REQ] and anything else in [] that prefixes titles # remove [REQ] and anything else in [] that prefixes titles
- name: re_replace - name: re_replace
args: ["^(\\[.*\\])(.*)", "$2"] args: ["^(\\[.*\\])(.*)", "$2"]
_id:
selector: id
details: details:
selector: a.selection_a text: "details.php?id={{ .Result._id }}"
attribute: href
download: download:
selector: a[href^="download"] selector: download_link
attribute: href
poster: poster:
selector: div[id^="details"] img selector: cover
attribute: src
size: size:
selector: div.selection_unter_ad selector: size
grabs: date:
selector: div.selection_unter_ae # 25.12.2024 16:02
date_day: selector: added
# Heute 13:30:04
# Gestern 09:10:10
selector: div.selection_unter_ab:not(:contains("."))
optional: true
filters: filters:
- name: replace
args: ["Heute", "Today"]
- name: replace
args: ["Gestern", "Yesterday"]
- name: append
args: " +01:00" # CET
date_year:
# 30.02.2018 um 23:12:50
selector: div.selection_unter_ab:contains(".")
optional: true
filters:
- name: replace
args: [" um", ""]
- name: append - name: append
args: " +01:00" # CET args: " +01:00" # CET
- name: dateparse - name: dateparse
args: "dd.MM.yyyy HH:mm:ss zzz" args: "dd.MM.yyyy HH:mm zzz"
date:
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
description:
selector: selection_unter_af
seeders: seeders:
selector: div.selection_unter_aa selector: seeders
leechers: leechers:
selector: div.selection_unter_aaa selector: leechers
_onlyup:
selector: free_button
downloadvolumefactor: downloadvolumefactor:
case: text: "{{ if .Result._onlyup }}0{{ else }}1{{ end }}"
":root:has(div.onlyup)": 0 # GLobal Freeleech event
"*": 1
uploadvolumefactor: uploadvolumefactor:
text: 1 text: 1
minimumratio: minimumratio:
@@ -205,4 +158,4 @@ search:
minimumseedtime: minimumseedtime:
# 36 hours (as seconds = 36 x 60 x 60) # 36 hours (as seconds = 36 x 60 x 60)
text: 129600 text: 129600
# 3xT # JSON