media-server-docker-compose/config/prowlarr/Definitions/solidtorrents.yml

186 lines
4.7 KiB
YAML
Raw Normal View History

2024-04-07 00:37:31 -04:00
---
id: solidtorrents
name: Solid Torrents
description: "Solid Torrents is a Public torrent meta-search engine"
language: en-US
type: public
encoding: UTF-8
requestDelay: 2
links:
- https://solidtorrents.to/
legacylinks:
- https://solidtorrents.net/
- https://solidtorrents.nocensor.click/
- https://solidtorrents.eu/
- https://solidtorrents.nocensor.cloud/
caps:
categories:
AudioBook: Audio/Audiobook
eBook: Books/EBook
"Ebook/Course": Books/EBook
Games: PC/Games
"Games/PC": PC/Games
Movies: Movies
Music: Audio
"Music/Album": Audio
"Music/mp3": Audio/MP3
"Music/Lossless": Audio/Lossless
"Music/Video": Audio/Video
Other: Other
"Other/Android": PC/Mobile-Android
"Other/Archive": Other
"Other/Audio": Audio
"Other/Database": PC
"Other/DiskImage": PC/ISO
"Other/Document": Books/Comics
"Other/Image": Other/Misc
"Other/Program": PC/0day
"Other/Sourcecode": PC
"Other/Source Code": PC
"Other/Video": TV
Softwares: PC/0day
"Softwares/Windows": PC/0day
TV: TV
Unknown: Other
XXX: XXX
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: prefer_magnet_links
type: checkbox
label: Prefer Magnet Links
default: false
- name: sort
type: select
label: Sort requested from site
default: date
options:
date: created
seeders: seeders
size: size
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
search:
paths:
# https://solidtorrents.net/search?q=&sort=date&order=desc
- path: search
inputs:
q: "{{ .Keywords }}"
sort: "{{ .Config.sort }}"
order: "{{ .Config.type }}"
limit: 100
page: 1
rows:
selector: li.search-result:has(a[class="dl-torrent"])
fields:
category:
selector: a.category
title:
selector: h5
details:
selector: h5 a
attribute: href
download_optional:
selector: a[class="dl-torrent"]
attribute: href
optional: true
download:
text: "{{ if .Config.prefer_magnet_links }}{{ else }}{{ .Result.download_optional }}{{ end }}"
optional: true
magnet:
selector: a[href^="magnet:?xt"]
attribute: href
infohash:
selector: a[href^="magnet:?xt"]
attribute: href
filters:
- name: regexp
args: ([A-F|a-f|0-9]{40})
grabs_dot:
selector: div.stats div:has(img[alt="Download"]):contains(".")
optional: true
filters:
- name: replace
args: [".", ""]
- name: replace
args: ["K", "00"]
- name: replace
args: ["M", "00000"]
grabs_nodot:
selector: div.stats div:has(img[alt="Download"]):not(:contains("."))
optional: true
filters:
- name: replace
args: ["K", "000"]
- name: replace
args: ["M", "000000"]
grabs:
text: "{{ if or .Result.grabs_dot .Result.grabs_nodot }}{{ or .Result.grabs_dot .Result.grabs_nodot }}{{ else }}0{{ end }}"
size:
selector: div.stats div:has(img[alt="Size"])
seeders_dot:
selector: div.stats div:has(img[alt="Seeder"]):contains(".")
optional: true
filters:
- name: replace
args: [".", ""]
- name: replace
args: ["K", "00"]
- name: replace
args: ["M", "00000"]
seeders_nodot:
selector: div.stats div:has(img[alt="Seeder"]):not(:contains("."))
optional: true
filters:
- name: replace
args: ["K", "000"]
- name: replace
args: ["M", "000000"]
seeders:
text: "{{ if or .Result.seeders_dot .Result.seeders_nodot }}{{ or .Result.seeders_dot .Result.seeders_nodot }}{{ else }}0{{ end }}"
leechers_dot:
selector: div.stats div:has(img[alt="Leecher"]):contains(".")
optional: true
filters:
- name: replace
args: [".", ""]
- name: replace
args: ["K", "00"]
- name: replace
args: ["M", "00000"]
leechers_nodot:
selector: div.stats div:has(img[alt="Leecher"]):not(:contains("."))
optional: true
filters:
- name: replace
args: ["K", "000"]
- name: replace
args: ["M", "000000"]
leechers:
text: "{{ if or .Result.leechers_dot .Result.leechers_nodot }}{{ or .Result.leechers_dot .Result.leechers_nodot }}{{ else }}0{{ end }}"
date:
selector: div.stats div:has(img[alt="Date"])
filters:
- name: dateparse
args: "MMM d, yyyy"
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a