195 lines
6.0 KiB
YAML
195 lines
6.0 KiB
YAML
---
|
|
id: asiancinema
|
|
name: AsianCinema
|
|
description: "AsianCinema is a Private Tracker for ASIAN MOVIES / TV / MUSIC"
|
|
language: en-US
|
|
type: private
|
|
encoding: UTF-8
|
|
links:
|
|
- https://eiga.moi/
|
|
legacylinks:
|
|
- https://asiancinema.me/
|
|
|
|
caps:
|
|
categorymappings:
|
|
- {id: 1, cat: Movies, desc: "Movies"}
|
|
- {id: 2, cat: TV, desc: "TV"}
|
|
- {id: 3, cat: Audio, desc: "Music"}
|
|
|
|
modes:
|
|
search: [q]
|
|
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
|
movie-search: [q, imdbid, tmdbid]
|
|
music-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://eiga.moi/\" target=\"_blank\">AsianCinema</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 account will be automatically deleted from the database after 90 days of inactivity. If you return or visit the site with your account before that amount of time passes, then the inactivity timer will reset and your account will be fine for another 90 days.<br>Keep in mind that 'activity' is considered a visit to any page and that torrent traffic is not counted as account activity. In order to reset the inactivity timer all you have to do is visit a single page while logged in with your account. If your account is deleted for inactivity, please do not ask the site staff to un-delete it for you. The deletion is performed automatically by the server and, as such, your account cannot be recovered after it has been deleted."
|
|
|
|
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://hdinnovations.github.io/UNIT3D/torrent_api.html
|
|
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
|
- 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
|
|
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: [" & ", "_&_"]
|
|
_internal:
|
|
selector: internal
|
|
case:
|
|
False: "{{ .False }}"
|
|
True: "{{ .True }}"
|
|
description:
|
|
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .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 9.2.0
|