Jackett/src/Jackett.Common/Definitions/danishbytes-api.yml

174 lines
4.4 KiB
YAML

---
id: danishbytes-api
name: DanishBytes (API)
description: "DanishBytes is a Private Danish Tracker"
language: en-US
type: private
encoding: UTF-8
links:
- https://danishbytes.club/
- https://danishbytes2.org/
- https://dbytes.org/
- https://danishbytes.art/
legacylinks:
- https://danishbytes.org/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "TV"}
- {id: 3, cat: Audio, desc: "Sound"}
- {id: 4, cat: PC/Games, desc: "Games"}
- {id: 5, cat: PC/0day, desc: "Appz"}
- {id: 8, cat: Books, desc: "Bookz"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
movie-search: [q, imdbid, tmdbid]
music-search: [q]
book-search: [q]
settings:
- name: apikey
type: text
label: APIKey
- name: info_apikey
type: info
label: About your API key
default: "Find or Generate a new API Token by accessing your <a href=\"https://danishbytes.club/\" target=\"_blank\">DanishBytes</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
- name: rsskey
type: text
label: RSSKey
- name: info_rsskey
type: info
label: About your RSS key
default: "Find or Generate a new RSS key by accessing your <a href=\"https://danishbytes.club/\" target=\"_blank\">DanishBytes</a> account <i>My Security</i> page and clicking on the <b>RSS Key (RID)</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: "If you have not logged in for 90 days, the user is automatically deleted."
login:
path: /api/torrents
method: get
error:
- selector: a[href*="/login"]
message:
text: "The API key was not accepted by {{ .Config.sitelink }}."
search:
paths:
- path: api/torrents/v2/filter
response:
type: json
headers:
Authorization: ["Bearer {{ .Config.apikey }}"]
inputs:
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
search: "{{ .Keywords }}"
imdb: "{{ .Query.IMDBIDShort }}"
tmdb: "{{ .Query.TMDBID }}"
tvdb: "{{ .Query.TVDBID }}"
freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
sorting: "{{ .Config.sort }}"
direction: "{{ .Config.type }}"
qty: 100
page: 1
rows:
selector: torrents
count:
selector: $.resultsCount
fields:
_id:
selector: .id
category:
selector: category_id
title:
selector: name
details:
text: "/torrents/{{ .Result._id }}"
download:
text: "/torrent/download/{{ .Result._id }}.{{ .Config.rsskey }}"
infohash:
selector: info_hash
poster:
selector: poster_image
genre:
selector: meta_genres
filters:
- name: re_replace
args: ["(?i)(Action og eventyr)", "Action_og_eventyr"]
- name: re_replace
args: ["(?i)(Sci-fi og Fantasy)", "Sci-fi_og_Fantasy"]
- name: re_replace
args: ["(?i)(Stand-Up Comedy)", "Stand-Up_Comedy"]
- name: replace
args: [" & ", "_&_"]
description:
text: "{{ .Result.genre }}"
imdbid:
selector: imdb
tmdbid:
selector: tmdb
tvdbid:
selector: tvdb
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=false, 1=true
selector: free
case:
0: 1 # not free
1: 0 # freeleech
uploadvolumefactor:
# api returns 0=false, 1=true
selector: doubleup
case:
0: 1 # normal
1: 2 # double
minimumratio:
text: 1.0
minimumseedtime:
# 2 day (as seconds = 2 x 24 x 60 x 60)
text: 172800
# json DBy v0.96