172 lines
4.6 KiB
YAML
172 lines
4.6 KiB
YAML
|
---
|
||
|
id: uploadcx
|
||
|
name: upload.cx
|
||
|
description: "upload.cx (ULCX) is a Private Torrent Tracker for MOVIES / TV"
|
||
|
language: en-US
|
||
|
type: private
|
||
|
encoding: UTF-8
|
||
|
links:
|
||
|
- https://upload.cx/
|
||
|
|
||
|
caps:
|
||
|
categorymappings:
|
||
|
- {id: 1, cat: Movies, desc: "Movies"}
|
||
|
- {id: 2, cat: TV, desc: "TV"}
|
||
|
|
||
|
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://upload.cx/\" target=\"_blank\">upload.cx</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: "All members of ULCX must engage with the site, through either logging in or navigating upload.cx. Any account that remains inactive for over four months will be deactivated and pruned after an additional four months of deactivation."
|
||
|
|
||
|
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:
|
||
|
# 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:
|
||
|
selector: name
|
||
|
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)^None$", ""]
|
||
|
- 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 }}"
|
||
|
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.6 but torrents must be seeded for 2 days regardless of ratio
|
||
|
# minimumratio:
|
||
|
# text: 0.6
|
||
|
minimumseedtime:
|
||
|
# 2 day (as seconds = 2 x 24 x 60 x 60)
|
||
|
text: 172800
|
||
|
# json UNIT3D 7.2.5
|