mirror of
https://github.com/Prowlarr/Indexers.git
synced 2026-04-27 11:53:24 +01:00
jackett indexers as of 1b441bd030a95d7bce7af8149af8450cb6570bb5 jackett indexers as of 97296ac02151e6ee42cf1f26b24e74c140f517b7 jackett indexers as of 49a0c2d7e0f1f61b2fd04883ccc21267f7068f78 jackett indexers as of 1076bb3a895e8c8482ae131c2a365a52f24ba1c6 jackett indexers as of 30c308b0992de9a673a73e68b36959243dec1066
193 lines
5.8 KiB
YAML
193 lines
5.8 KiB
YAML
---
|
|
id: shareisland-api
|
|
name: Shareisland (API)
|
|
description: "A general italian tracker"
|
|
language: it-IT
|
|
type: private
|
|
encoding: UTF-8
|
|
links:
|
|
- https://shareisland.org/
|
|
legacylinks:
|
|
- http://shareisland.org/
|
|
- http://www.shareisland.org/
|
|
|
|
caps:
|
|
# dont forget to update the case block in the search fields category
|
|
categorymappings:
|
|
- {id: 1, cat: Movies, desc: "Movie"}
|
|
- {id: 2, cat: TV, desc: "Serie TV"}
|
|
- {id: 15, cat: Books/EBook, desc: "Ebook"}
|
|
- {id: 17, cat: Books/Mags, desc: "Riviste e Giornali"}
|
|
- {id: 19, cat: XXX, desc: "XXX"}
|
|
- {id: 3, cat: Audio, desc: "Music"}
|
|
- {id: 7, cat: PC/Games, desc: "Games"}
|
|
- {id: 23, cat: PC, desc: "Software"}
|
|
|
|
modes:
|
|
search: [q]
|
|
tv-search: [q, season, ep, imdbid, tvdbid]
|
|
movie-search: [q, imdbid, tmdbid]
|
|
music-search: [q]
|
|
book-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://shareisland.org/\" target =_blank>Shareisland</a> account <i>My Security</i> page and clicking on the <b>API Token</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
|
|
|
|
login:
|
|
path: /api/torrents
|
|
method: get
|
|
inputs:
|
|
api_token: "{{ .Config.apikey }}"
|
|
error:
|
|
- selector: a[href*="/login"]
|
|
message:
|
|
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
|
|
|
search:
|
|
paths:
|
|
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
|
|
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
|
|
- path: "/api/torrents/filter"
|
|
response:
|
|
type: json
|
|
|
|
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
|
|
api_token: "{{ .Config.apikey }}"
|
|
name: "{{ .Keywords }}"
|
|
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
|
sortField: "{{ .Config.sort }}"
|
|
sortDirection: "{{ .Config.type }}"
|
|
perPage: 100
|
|
page: 1
|
|
|
|
keywordsfilters:
|
|
- name: diacritics
|
|
args: replace
|
|
- name: re_replace # S01 to 1
|
|
args: ["(?i)\\bS0*(\\d+)\\b", "$1"]
|
|
- name: re_replace # S01E01 to 1 1
|
|
args: ["(?i)\\bS0*(\\d+)E0*(\\d+)\\b", "$1 $2"]
|
|
|
|
rows:
|
|
selector: data
|
|
attribute: attributes
|
|
count:
|
|
selector: meta.total
|
|
|
|
fields:
|
|
category:
|
|
selector: category
|
|
case:
|
|
"Movie": 1
|
|
"Serie TV": 2
|
|
"Ebook": 15
|
|
"Riviste e Giornali": 17
|
|
"XXX": 19
|
|
"Music": 3
|
|
"Games": 7
|
|
"Software": 23
|
|
title:
|
|
selector: name
|
|
filters:
|
|
- name: re_replace # replace special characters with " " (space)
|
|
args: ["[\\[!\"#$%&'()*+,\\-.\\/:;<=>?@[\\]^_`{|}~]", " "]
|
|
- name: diacritics
|
|
args: replace
|
|
- name: re_replace # replace multiple spaces
|
|
args: ["[ ]{2,}", " "]
|
|
# normalize to SXXEYY format
|
|
- name: re_replace # S01 E01 to S01E01
|
|
args: ["(?i)\\bS(\\d+)\\sE(\\d+)\\b", "S$1E$2"]
|
|
- name: re_replace # 01x01 to S01E01
|
|
args: ["(?i)(\\d{2})x(\\d+)", "S$1E$2"]
|
|
- name: re_replace # 1x01 to S01E01
|
|
args: ["(?i)\\b(\\d{1})x(\\d+)", "S0$1E$2"]
|
|
- name: re_replace # Stagione X --> S0X
|
|
args: ["(?i)\\bStagion[ei]\\s?(\\d{1})\\b|\\bSeason'?s?\\s?(\\d{1})\\b", "S0$1$2"]
|
|
- name: re_replace # Stagione XX --> SXX
|
|
args: ["(?i)\\bStagion[ei]\\s?(\\d{2,})\\b|\\bSeason'?s?\\s?(\\d{2,})\\b", "S$1$2"]
|
|
- name: re_replace # Episodio 4 to E4
|
|
args: ["(?i)\\b(?:[\\/\\|]?Episodio\\s?(\\d+)|Puntata\\s?(\\d+))", "E$1$2"]
|
|
- name: re_replace # Episodi 4 5 to E04-05
|
|
args: ["(?i)\\b(?:Puntate\\s*)(\\d+)\\s?(\\d+)", "E0$1-0$2"]
|
|
- name: re_replace # rimozioni varie
|
|
args: ["(?i)(Serie completa|Completat?a?|in pausa)", ""]
|
|
details:
|
|
selector: details_link
|
|
download:
|
|
selector: download_link
|
|
poster:
|
|
selector: poster
|
|
filters:
|
|
- name: replace
|
|
args: ["https://via.placeholder.com/90x135", ""]
|
|
imdbid:
|
|
selector: imdb_id
|
|
tmdbid:
|
|
selector: tmdb_id
|
|
tvdbid:
|
|
selector: tvdb_id
|
|
files:
|
|
selector: num_file
|
|
seeders:
|
|
selector: seeders
|
|
leechers:
|
|
selector: leechers
|
|
grabs:
|
|
selector: times_completed
|
|
date:
|
|
# 2021-10-18T00:34:50.000000Z"
|
|
selector: created_at
|
|
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 0=false, 1=true
|
|
selector: double_upload
|
|
case:
|
|
0: 1 # normal
|
|
1: 2 # double
|
|
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
|
|
# minimumratio:
|
|
# text: 0.4
|
|
minimumseedtime:
|
|
# 7 day (as seconds = 7 x 24 x 60 x 60)
|
|
text: 604800
|
|
# json UNIT3D 6.0.0
|