-
-
Notifications
You must be signed in to change notification settings - Fork 65
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
jackett indexers as of ba962a638260a2dcc6e1a47b07b476036391b8ab [2024…
…-11-25T22:20:19Z]
- Loading branch information
1 parent
7b7097c
commit c5f27cd
Showing
1 changed file
with
191 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,191 @@ | ||
--- | ||
id: blutopia-api | ||
name: Blutopia (API) | ||
description: "Blutopia (BLU) is a Private Torrent Tracker for HD MOVIES / TV" | ||
language: en-US | ||
type: private | ||
encoding: UTF-8 | ||
links: | ||
- https://blutopia.cc/ | ||
legacylinks: | ||
- https://blutopia.xyz/ | ||
|
||
caps: | ||
categorymappings: | ||
- {id: 1, cat: Movies, desc: "Movie"} | ||
- {id: 2, cat: TV, desc: "TV Show"} | ||
- {id: 3, cat: Movies/Other, desc: "FANRES"} | ||
- {id: 5, cat: Movies/Other, desc: "Trailer"} | ||
|
||
modes: | ||
search: [q] | ||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid] | ||
movie-search: [q, imdbid, tmdbid] | ||
|
||
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://blutopia.cc/\" target=\"_blank\">Blutopia</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: single_file_release_use_filename | ||
type: checkbox | ||
label: Use filename as title for single file releases | ||
default: true | ||
- 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 membership requires that you stay active at Blutopia. To not get disabled, you are required to login to the site at least once every 30 days or be actively seeding at least 1 torrent." | ||
|
||
login: | ||
path: /api/torrents | ||
method: get | ||
error: | ||
- selector: a[href*="/login"] | ||
message: | ||
text: "The API key was not accepted by {{ .Config.sitelink }}." | ||
- selector: :root:contains("Account is Banned") | ||
|
||
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: | ||
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6 | ||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}" | ||
name: "{{ .Keywords }}" | ||
seasonNumber: "{{ .Query.Season }}" | ||
episodeNumber: "{{ .Query.Ep }}" | ||
imdbId: "{{ .Query.IMDBIDShort }}" | ||
tmdbId: "{{ .Query.TMDBID }}" | ||
tvdbId: "{{ .Query.TVDBID }}" | ||
"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_optional: | ||
selector: name | ||
title_filename: | ||
selector: "files[0].name" | ||
optional: true | ||
files: | ||
selector: num_file | ||
title: | ||
text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}" | ||
details: | ||
selector: details_link | ||
download: | ||
selector: download_link | ||
infohash: | ||
selector: info_hash | ||
poster: | ||
selector: meta.poster | ||
filters: | ||
- name: replace | ||
args: ["https://via.placeholder.com/90x135", ""] | ||
imdbid: | ||
selector: imdb_id | ||
tmdbid: | ||
selector: tmdb_id | ||
tvdbid: | ||
selector: tvdb_id | ||
genre: | ||
selector: meta.genres | ||
filters: | ||
- name: re_replace | ||
args: ["(?i)(Science Fiction)", "Science_Fiction"] | ||
- name: re_replace | ||
args: ["(?i)(TV Movie)", "TV_Movie"] | ||
- name: replace | ||
args: [" & ", "_&_"] | ||
description: | ||
text: "{{ .Result.genre }}" | ||
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 | ||
_featured: | ||
selector: featured | ||
case: | ||
False: "{{ .False }}" | ||
True: "{{ .True }}" | ||
downloadvolumefactor_freeleech: | ||
# 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 | ||
downloadvolumefactor: | ||
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}" | ||
uploadvolumefactor_double_upload: | ||
# api returns False, True | ||
selector: double_upload | ||
case: | ||
False: 1 # normal | ||
True: 2 # double | ||
uploadvolumefactor: | ||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}" | ||
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio | ||
# minimumratio: | ||
# text: 0.4 | ||
minimumseedtime: | ||
# 7 days (as seconds = 7 x 24 x 60 x 60) | ||
text: 604800 | ||
# json UNIT3D 8.3.3 |