183 lines
4.9 KiB
YAML
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
|