--- 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 BrSociety account My Settings page and clicking on the API Key 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)