150 lines
3.9 KiB
YAML
150 lines
3.9 KiB
YAML
|
---
|
||
|
id: brsociety-api
|
||
|
name: BrSociety (API)
|
||
|
description: "BrSociety (SemeandoCC) is a BRAZILIAN Private Torrent Tracker for E-LEARNING"
|
||
|
language: pt-BR
|
||
|
type: private
|
||
|
encoding: UTF-8
|
||
|
links:
|
||
|
- https://brsociety.club/
|
||
|
|
||
|
caps:
|
||
|
categorymappings:
|
||
|
- {id: 1, cat: Other, desc: "Cursos"}
|
||
|
- {id: 2, cat: Books/EBook, desc: "eBooks"}
|
||
|
- {id: 5, cat: Books/Mags, desc: "Revistas"}
|
||
|
- {id: 3, cat: Audio/Audiobook, desc: "Audiobooks"}
|
||
|
- {id: 4, cat: Other, desc: "Arquivos de Auxilio"}
|
||
|
- {id: 6, cat: Other, desc: "Graduação"}
|
||
|
- {id: 7, cat: TV/Documentary, desc: "Documentários"}
|
||
|
|
||
|
modes:
|
||
|
search: [q]
|
||
|
tv-search: [q, season, ep]
|
||
|
book-search: [q]
|
||
|
|
||
|
settings:
|
||
|
- name: apikey
|
||
|
type: text
|
||
|
label: APIKey
|
||
|
- name: info_key
|
||
|
type: info
|
||
|
label: About your API key
|
||
|
default: "Find or Generate a new API Token by accessing your <a href=\"https://brsociety.club/\" target=\"_blank\">BrSociety</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
|
||
|
- name: freeleech
|
||
|
type: checkbox
|
||
|
label: Search freeleech only
|
||
|
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
|
||
|
- name: info_activity
|
||
|
type: info
|
||
|
label: Account Inactivity
|
||
|
default: "Your account will be considered inactive if it exceeds 90 days without you logging in to the Website. After 90 days of inactivity (i.e., 180 days without login) it will be deleted from the tracker."
|
||
|
|
||
|
login:
|
||
|
path: /api/torrents
|
||
|
method: get
|
||
|
inputs: {} # TODO: remove in v10
|
||
|
error:
|
||
|
- selector: a[href*="/login"]
|
||
|
message:
|
||
|
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||
|
|
||
|
search:
|
||
|
paths:
|
||
|
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x)
|
||
|
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476
|
||
|
- path: "/api/torrents/filter"
|
||
|
response:
|
||
|
type: json
|
||
|
|
||
|
headers:
|
||
|
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||
|
|
||
|
inputs:
|
||
|
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||
|
name: "{{ .Keywords }}"
|
||
|
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||
|
sortField: "{{ .Config.sort }}"
|
||
|
sortDirection: "{{ .Config.type }}"
|
||
|
perPage: 100
|
||
|
|
||
|
keywordsfilters:
|
||
|
- name: re_replace
|
||
|
args: ["\\.", " "]
|
||
|
|
||
|
rows:
|
||
|
selector: data
|
||
|
attribute: attributes
|
||
|
|
||
|
fields:
|
||
|
category:
|
||
|
selector: category_id
|
||
|
title:
|
||
|
selector: name
|
||
|
details:
|
||
|
selector: details_link
|
||
|
download:
|
||
|
selector: download_link
|
||
|
magnet:
|
||
|
selector: magnet_link
|
||
|
optional: true
|
||
|
infohash:
|
||
|
selector: info_hash
|
||
|
files:
|
||
|
selector: num_file
|
||
|
seeders:
|
||
|
selector: seeders
|
||
|
leechers:
|
||
|
selector: leechers
|
||
|
grabs:
|
||
|
selector: times_completed
|
||
|
date:
|
||
|
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||
|
selector: created_at
|
||
|
filters:
|
||
|
- name: append
|
||
|
args: " +00:00" # GMT
|
||
|
- name: dateparse
|
||
|
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||
|
size:
|
||
|
selector: size
|
||
|
downloadvolumefactor:
|
||
|
# api returns 0%, 25%, 50%, 75%, 100%
|
||
|
selector: freeleech
|
||
|
case:
|
||
|
0%: 1 # not free
|
||
|
25%: 0.75
|
||
|
50%: 0.5
|
||
|
75%: 0.25
|
||
|
100%: 0 # freeleech
|
||
|
"*": 0 # catch errors
|
||
|
uploadvolumefactor:
|
||
|
# api returns False, True
|
||
|
selector: double_upload
|
||
|
case:
|
||
|
False: 1 # normal
|
||
|
True: 2 # double
|
||
|
# global MR is 0.7 but torrents must be seeded for 4 days regardless of ratio
|
||
|
# minimumratio:
|
||
|
# text: 0.7
|
||
|
minimumseedtime:
|
||
|
# 4 days (as seconds = 4 x 24 x 60 x 60)
|
||
|
text: 345600
|
||
|
# json UNIT3D 7.1.3 (custom)
|