301 lines
10 KiB
YAML
301 lines
10 KiB
YAML
|
---
|
|||
|
id: anilibria
|
|||
|
name: AniLibria
|
|||
|
description: "AniLibria is a Public torrent tracker for anime, voiced on russian by AniLibria team"
|
|||
|
language: ru-RU
|
|||
|
type: public
|
|||
|
encoding: UTF-8
|
|||
|
links:
|
|||
|
- https://www.anilibria.tv/
|
|||
|
|
|||
|
caps:
|
|||
|
categories:
|
|||
|
Anime: TV/Anime
|
|||
|
Movies: Movies/Other
|
|||
|
|
|||
|
modes:
|
|||
|
search: [q]
|
|||
|
tv-search: [q, season, ep]
|
|||
|
movie-search: [q]
|
|||
|
|
|||
|
settings:
|
|||
|
- name: stripcyrillic
|
|||
|
type: checkbox
|
|||
|
label: Strip Cyrillic Letters
|
|||
|
default: false
|
|||
|
- name: sonarr_compatibility
|
|||
|
type: checkbox
|
|||
|
label: Improve Sonarr compatibility by trying to better parse Season information in release titles.
|
|||
|
default: false
|
|||
|
- name: addrussiantotitle
|
|||
|
type: checkbox
|
|||
|
label: Add RUS to end of all titles to improve language detection by Sonarr and Radarr. Will cause English-only results to be misidentified.
|
|||
|
default: false
|
|||
|
|
|||
|
search:
|
|||
|
paths:
|
|||
|
# https://github.com/anilibria/docs/blob/master/api_v3.md
|
|||
|
- path: "https://api.anilibria.tv/v3/title/{{ if .Keywords }}search{{ else }}updates{{ end }}"
|
|||
|
response:
|
|||
|
type: json
|
|||
|
|
|||
|
inputs:
|
|||
|
search: "{{ .Keywords }}"
|
|||
|
filter: "names,posters.small.url,code,torrents.list,season.year,description"
|
|||
|
limit: 100
|
|||
|
|
|||
|
keywordsfilters:
|
|||
|
# strip season and/or ep
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)\\b(?:[SE]\\d{1,4}){1,2}\\b\\s?", ""]
|
|||
|
|
|||
|
rows:
|
|||
|
selector: list
|
|||
|
attribute: torrents.list
|
|||
|
multiple: true
|
|||
|
|
|||
|
fields:
|
|||
|
_episodes:
|
|||
|
selector: episodes.string
|
|||
|
optional: true
|
|||
|
category:
|
|||
|
text: "{{ if eq .Result._episodes \"Фильм\" }}Movies{{ else }}Anime{{ end }}"
|
|||
|
title_ru:
|
|||
|
selector: ..names.ru
|
|||
|
title_en:
|
|||
|
selector: ..names.en
|
|||
|
title_en_parsed:
|
|||
|
selector: ..names.en
|
|||
|
filters:
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)\\bPart\\s*1\\b", "Part One"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)\\bPart\\s*2\\b", "Part Two"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)\\bPart\\s*3\\b", "Part Three"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)\\bPart\\s*4\\b", "Part Four"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)\\bPart\\s*5\\b", "Part Five"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)\\bPart\\s*6\\b", "Part Six"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)\\bPart\\s*7\\b", "Part Seven"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)\\bPart\\s*8\\b", "Part Eight"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)\\bPart\\s*9\\b", "Part Nine"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)\\bseason\\s*(\\d+)\\b", ""]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)\\b(\\d+)(st|nd|rd|th)\\s*season[\\s\\.]*", ""]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)\\b(\\d+)\\s*season\\b[\\s\\.]*", ""]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)\\bseason\\s*([IVXLCDM]+)\\b", ""]
|
|||
|
- name: re_replace
|
|||
|
args: ["\\bI$", ""]
|
|||
|
- name: re_replace
|
|||
|
args: ["\\bII$", ""]
|
|||
|
- name: re_replace
|
|||
|
args: ["\\bIII$", ""]
|
|||
|
- name: re_replace
|
|||
|
args: ["\\bIV$", ""]
|
|||
|
- name: re_replace
|
|||
|
args: ["\\bV$", ""]
|
|||
|
- name: re_replace
|
|||
|
args: ["\\bVI$", ""]
|
|||
|
- name: re_replace
|
|||
|
args: ["\\bVII$", ""]
|
|||
|
- name: re_replace
|
|||
|
args: ["\\bVIII$", ""]
|
|||
|
- name: re_replace
|
|||
|
args: ["\\bIX$", ""]
|
|||
|
- name: re_replace
|
|||
|
args: ["\\bX$", ""]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)\\b(\\d+)(?:st|nd|rd|th)?\\b", ""]
|
|||
|
- name: trim
|
|||
|
title_alternative:
|
|||
|
selector: ..names.alternative
|
|||
|
optional: true
|
|||
|
filters:
|
|||
|
- name: re_replace
|
|||
|
args: ["(\\([\\p{IsCyrillic}\\W]+\\))|(^[\\p{IsCyrillic}\\W\\d]+\\/ )|([\\p{IsCyrillic} \\-]+,+)|([\\p{IsCyrillic}]+)", "{{ if .Config.stripcyrillic }}{{ else }}$1$2$3$4{{ end }}"]
|
|||
|
- name: re_replace
|
|||
|
args: ["[\\[\\(\\{<«][\\s\\W]*[\\]\\)\\}>»]", ""]
|
|||
|
- name: re_replace
|
|||
|
args: ["^[\\s&,\\.!\\?\\+\\-_\\|\\/':]+", ""]
|
|||
|
- name: re_replace
|
|||
|
args: ["^OVA$", ""]
|
|||
|
_season_number_en:
|
|||
|
selector: ..names.en
|
|||
|
filters:
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)\\bPart\\s*\\d+\\s*$", ""]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)(^.*\\bseason\\s*(\\d+)\\b\\s*$)", "S$2"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)(^.*\\b(\\d+)(st|nd|rd|th)\\s*season\\b.*$)", "S$2"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)(^.*\\b(\\d+)\\s*season\\b.*$)", "S$2"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)(^.*\\bseason\\s*([IVXLCDM]+)\\b\\s*$)", "$1"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(^.*X$)", "S10"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(^.*IX$)", "S9"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(^.*VIII$)", "S8"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(^.*VII$)", "S7"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(^.*VI$)", "S6"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(^.*V$)", "S5"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(^.*IV$)", "S4"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(^.*III$)", "S3"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(^.*II$)", "S2"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(^.*I$)", "S1"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)(^.*\\b(\\d+)(?:st|nd|rd|th)?\\b\\s*$)", "S$2"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)^(?!S\\d+).*", ""]
|
|||
|
_season_number_alternative:
|
|||
|
selector: ..names.alternative
|
|||
|
optional: true
|
|||
|
filters:
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)\\bPart\\s*\\d+\\s*$", ""]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)(^.*\\bseason\\s*(\\d+)\\b\\s*$)", "S$2"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)(^.*\\b(\\d+)(st|nd|rd|th)\\s*season\\b\\s*$)", "S$2"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)(^.*\\b(\\d+)\\s*season\\b\\s*$)", "S$2"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)(^.*\\bseason\\s*([IVXLCDM]+)\\b\\s*$)", "$1"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(^.*X$)", "S10"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(^.*IX$)", "S9"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(^.*VIII$)", "S8"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(^.*VII$)", "S7"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(^.*VI$)", "S6"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(^.*V$)", "S5"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(^.*IV$)", "S4"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(^.*III$)", "S3"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(^.*II$)", "S2"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(^.*I$)", "S1"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)(^.*\\b(\\d+)(?:st|nd|rd|th)?\\b\\s*$)", "S$2"]
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)^(?!S\\d+).*", ""]
|
|||
|
_season_number:
|
|||
|
text: "{{ .Result._season_number_en }}"
|
|||
|
filters:
|
|||
|
- name: append
|
|||
|
args: "{{ .Result._season_number_alternative }}"
|
|||
|
- name: re_replace
|
|||
|
args: ["^S1S1$", "S1"]
|
|||
|
- name: re_replace
|
|||
|
args: ["^S1(.+)$", "$1"]
|
|||
|
- name: re_replace
|
|||
|
args: ["^(S\\d+).*$", "$1"]
|
|||
|
- name: re_replace
|
|||
|
args: ["^$", "S1"]
|
|||
|
year:
|
|||
|
selector: ..season.year
|
|||
|
_quality:
|
|||
|
selector: quality.string
|
|||
|
_quality_type:
|
|||
|
selector: quality.type
|
|||
|
_quality_resolution:
|
|||
|
selector: quality.resolution
|
|||
|
_quality_encoder:
|
|||
|
selector: quality.encoder
|
|||
|
filters:
|
|||
|
- name: re_replace
|
|||
|
args: ["(?i)^h", "x"]
|
|||
|
title_parsed:
|
|||
|
text: "{{ if .Config.stripcyrillic }}{{ else }}{{ .Result.title_ru }} / {{ end }}{{ .Result.title_en_parsed }} {{ .Result._season_number}}E{{ .Result._episodes }} [{{ .Result._quality_type }} {{ .Result._quality_resolution }} {{ .Result._quality_encoder }}]"
|
|||
|
filters:
|
|||
|
- name: re_replace
|
|||
|
args: ["\\bS\\d+EФильм\\b", "({{ .Result.year }}) MOVIE"]
|
|||
|
- name: re_replace
|
|||
|
args: ["\\bS\\d+EOVA\\b", "({{ .Result.year }}) OVA"]
|
|||
|
- name: re_replace
|
|||
|
args: ["\\bS\\d+EONA\\b", "({{ .Result.year }}) ONA"]
|
|||
|
- name: re_replace
|
|||
|
args: ["\\bS\\d+EMovie\\b", "({{ .Result.year }}) MOVIE"]
|
|||
|
- name: re_replace
|
|||
|
args: ["\\bS\\d+EП/м фильм\\b", "({{ .Result.year }}) MOVIE"]
|
|||
|
- name: re_replace
|
|||
|
args: ["\\bS\\d+EРекап\\b", "({{ .Result.year }}) RECAP"]
|
|||
|
- name: re_replace
|
|||
|
args: ["\\bS\\d+ETV-Special\\b", "({{ .Result.year }}) SPECIAL"]
|
|||
|
- name: append
|
|||
|
args: "{{ if .Config.addrussiantotitle }} - RUS{{ else }}{{ end }}"
|
|||
|
title_original:
|
|||
|
text: "{{ if .Config.stripcyrillic }}{{ else }}{{ .Result.title_ru }} / {{ end }}{{ .Result.title_en }}{{ if .Result.title_alternative }} / AKA {{ .Result.title_alternative }}{{ else }}{{ end }} ({{ .Result.year }}) [{{ .Result._quality }}]{{ if .Result._episodes }} - E{{ .Result._episodes }}{{ else }}{{ end }}"
|
|||
|
filters:
|
|||
|
- name: re_replace
|
|||
|
args: [" - \\bEФильм\\b", " - MOVIE"]
|
|||
|
- name: re_replace
|
|||
|
args: [" - \\bEMovie\\b", " - MOVIE"]
|
|||
|
- name: re_replace
|
|||
|
args: [" - \\bEП/м фильм\\b", " - MOVIE"]
|
|||
|
- name: re_replace
|
|||
|
args: [" - \\bEOVA\\b", " - OVA"]
|
|||
|
- name: re_replace
|
|||
|
args: [" - \\bEONA\\b", " - ONA"]
|
|||
|
- name: append
|
|||
|
args: "{{ if .Config.addrussiantotitle }} - RUS{{ else }}{{ end }}"
|
|||
|
title:
|
|||
|
text: "{{ if .Config.sonarr_compatibility }}{{ .Result.title_parsed }}{{ else }}{{ .Result.title_original }}{{ end }}"
|
|||
|
_code:
|
|||
|
selector: ..code
|
|||
|
details:
|
|||
|
text: "{{ .Config.sitelink }}release/{{ .Result._code }}.html"
|
|||
|
download_url:
|
|||
|
selector: url
|
|||
|
download:
|
|||
|
text: "{{ .Config.sitelink }}{{ .Result.download_url }}"
|
|||
|
magnet:
|
|||
|
selector: magnet
|
|||
|
poster:
|
|||
|
selector: ..posters.small.url
|
|||
|
filters:
|
|||
|
- name: prepend
|
|||
|
args: "https://static.anilibria.tv"
|
|||
|
seeders:
|
|||
|
selector: seeders
|
|||
|
leechers:
|
|||
|
selector: leechers
|
|||
|
grabs:
|
|||
|
selector: downloads
|
|||
|
date:
|
|||
|
# unix
|
|||
|
selector: uploaded_timestamp
|
|||
|
size:
|
|||
|
selector: total_size
|
|||
|
downloadvolumefactor:
|
|||
|
text: 0
|
|||
|
uploadvolumefactor:
|
|||
|
text: 1
|
|||
|
description:
|
|||
|
selector: ..description
|
|||
|
# json api v3
|