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

183 lines
4.9 KiB
YAML

---
id: bitspyder
name: Bitspyder
description: "Bitspyder is a Private site for Educational BOOKS / AUDIO"
language: en-US
type: private
encoding: iso-8859-1
links:
- https://bitspyder.net/
legacylinks:
- http://bitspyder.net/
caps:
categorymappings:
- {id: 61, cat: Books, desc: "3D"}
- {id: 69, cat: Books, desc: "Anim|GFX"}
- {id: 56, cat: Books, desc: "Art"}
- {id: 40, cat: Audio/Audiobook, desc: "Audio Books"}
- {id: 55, cat: Books, desc: "Business"}
- {id: 46, cat: Books, desc: "Career"}
- {id: 2, cat: Books, desc: "CBTs"}
- {id: 39, cat: Books, desc: "Cert QA"}
- {id: 63, cat: Books, desc: "College"}
- {id: 53, cat: Books, desc: "Cooking"}
- {id: 35, cat: Books, desc: "Developer"}
- {id: 42, cat: Books, desc: "Documentary"}
- {id: 37, cat: Books/EBook, desc: "e-Books"}
- {id: 65, cat: Books, desc: "Engineering"}
- {id: 45, cat: Books, desc: "Ethical hacking"}
- {id: 54, cat: Books, desc: "Health-Fitness"}
- {id: 64, cat: Books, desc: "Kids"}
- {id: 47, cat: Books, desc: "Languages"}
- {id: 49, cat: Books, desc: "Linux CBTs"}
- {id: 43, cat: Books, desc: "Lynda.com"}
- {id: 57, cat: Books/Mags, desc: "Magazines"}
- {id: 60, cat: Books, desc: "Medical"}
- {id: 44, cat: Books, desc: "Misc Learning"}
- {id: 51, cat: Books, desc: "Music Learning"}
- {id: 41, cat: Books, desc: "Others"}
- {id: 58, cat: Books, desc: "Packt"}
- {id: 52, cat: Books, desc: "Photography"}
- {id: 71, cat: Books, desc: "Pluralsight"}
- {id: 68, cat: Books, desc: "Self Growth"}
- {id: 72, cat: Books, desc: "Templates"}
- {id: 38, cat: Books, desc: "Udemy"}
- {id: 59, cat: Books, desc: "WEB | SocialMedia"}
modes:
search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: sort
type: select
label: Sort requested from site
default: 8
options:
8: created
6: seeders
4: size
1: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: info
type: info
label: Results Per Page
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
login:
path: login.php
method: form
form: form
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.msg_info > font > b
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
- path: browse.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# 0 active, 1 incldead, 2 onlydead
incldead: 1
# 0 title, 1 default
scope: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
keywordsfilters:
- name: re_replace
args: ["\\s+", " "] # More than 1 space to 1 space
- name: re_replace
args: ["(\\w+)", "+$1"] # prepend + to each word
- name: trim
rows:
selector: table > tbody > tr[class]
fields:
# there are two styles, we support both
title:
selector: a[href^="details.php?id="]
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="details.php?id="]
attribute: href
filters:
- name: replace
args: ["details.php?id=", "download.php/"]
- name: replace
args: ["&hit=1", "/dummy.torrent"]
size:
selector: td.rowcol:nth-child(6):has(br), font:contains("Size:") + font
files:
selector: a[href*="&filelist=1"]
grabs:
selector: td.rowcol:nth-child(7):has(br), td.clear:nth-child(4)
seeders:
selector: td.rowcol:nth-last-child(3)
leechers:
selector: td.rowcol:nth-last-child(2)
date_added:
optional: true
selector: font[color="5F5F5F"]
filters:
- name: split
args: [" (", 0]
- name: replace
args: ["\xA0", " "]
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
date_upload:
optional: true
selector: a[title^="Upploaded at"]
attribute: title
filters:
- name: replace
args: ["Upploaded at - ", ""]
- name: replace
args: ["\xA0", " "]
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
date:
text: "{{ if or .Result.date_upload .Result.date_added }}{{ or .Result.date_upload .Result.date_added }}{{ else }}now{{ end }}"
downloadvolumefactor:
text: 1
uploadvolumefactor:
text: 1
description:
selector: font[color="#990000"]
minimumratio:
text: 1.0
# custom v4