-
-
Save Clemv95/8bfded23ef23ec78f6678896f42a2b60 to your computer and use it in GitHub Desktop.
Indexeur ygg-api pour jackett / prowlarr
This file contains hidden or 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
--- | |
id: ygg-api | |
name: Ygg API | |
description: Indexeur non officiel pour YggTorrent (YGG) MOVIES / TV | |
language: fr-FR | |
type: private | |
encoding: UTF-8 | |
testlinktorrent: false | |
links: | |
- https://yggapi.eu/ | |
caps: | |
categorymappings: | |
- {id: 2178, cat: Movies/Other, desc: "Films d’animation"} | |
- {id: 2183, cat: Movies, desc: "Films"} | |
- {id: 2145, cat: TV, desc: "Film/Vidéo"} | |
- {id: 2179, cat: TV/Anime, desc: "Séries d’animation / Mangas"} | |
- {id: 2181, cat: TV/Documentary, desc: "Film/Vidéo : Documentaire"} | |
- {id: 2182, cat: TV, desc: "Film/Vidéo : Emission TV"} | |
- {id: 2184, cat: TV, desc: "Séries"} | |
- {id: 2185, cat: TV, desc: "Film/Vidéo : Spectacle"} | |
- {id: 2186, cat: TV/Sport, desc: "Film/Vidéo : Sport"} | |
- {id: 2187, cat: TV/Other, desc: "Film/Vidéo : Vidéo-clips"} | |
- {id: 2139, cat: Audio, desc: "Audio"} | |
- {id: 2147, cat: Audio, desc: "Audio : Karaoké"} | |
- {id: 2148, cat: Audio, desc: "Audio : Musique"} | |
- {id: 2149, cat: Audio/Other, desc: "Audio : Samples"} | |
- {id: 2150, cat: Audio, desc: "Audio : Podcast Radio"} | |
- {id: 2151, cat: Audio/Audiobook, desc: "eBook : Audio"} | |
- {id: 2180, cat: Audio/Video, desc: "Film/Vidéo : Concert"} | |
- {id: 2140, cat: Books, desc: "eBook"} | |
- {id: 2152, cat: Books/EBook, desc: "eBook : Bds"} | |
- {id: 2153, cat: Books/Comics, desc: "eBook : Comics"} | |
- {id: 2154, cat: Books/EBook, desc: "eBook : Livres"} | |
- {id: 2155, cat: Books/Comics, desc: "eBook : Mangas"} | |
- {id: 2156, cat: Books/Mags, desc: "eBook : Presse"} | |
modes: | |
search: [q] | |
tv-search: [q, season, ep] | |
movie-search: [q, year] | |
music-search: [q] | |
book-search: [q] | |
allowrawsearch: true | |
settings: | |
- name: passkey | |
type: password | |
label: Passkey | |
- name: info_key | |
type: info | |
label: About your passkey | |
default: "You will find your passkey on the <a href=\"https://www.yggtorrent.top/user/account\" target=\"_blank\">YGG</a> account page." | |
- name: sort | |
type: select | |
label: Sort requested from site | |
default: uploaded_at | |
options: | |
uploaded_at: publish_date | |
seed: seeders | |
- name: multilang | |
type: checkbox | |
label: Replace MULTi by another language in release name | |
default: false | |
- name: multilanguage | |
type: select | |
label: Replace MULTi by this language | |
default: FRENCH | |
options: | |
FRENCH: FRENCH | |
MULTi.FRENCH: MULTi.FRENCH | |
ENGLISH: ENGLISH | |
MULTi.ENGLISH: MULTi.ENGLISH | |
VOSTFR: VOSTFR | |
MULTi.VOSTFR: MULTi.VOSTFR | |
- name: info_downloads | |
type: info | |
label: About missing Downloads | |
default: "If the torrent has no seeder and no leecher then the torrent file may be missing and download may fail." | |
download: | |
before: | |
path: "torrent/{{ .DownloadUri.Query.id }}/magnet?passkey=PASSKEY_TO_BE_REPLACED_BY_REG_EX" | |
method: get | |
selectors: | |
- selector: body | |
usebeforeresponse: true | |
filters: | |
- name: regexp | |
args: \"magnet\"\s*:\s*"(?<magnet>magnet:[^"]+)" | |
- name: replace | |
args: ["PASSKEY_TO_BE_REPLACED_BY_REG_EX", "{{ .Config.passkey }}"] | |
search: | |
paths: | |
- path: torrents | |
response: | |
type: json | |
inputs: | |
$raw: "{{ range .Categories }}&category_id={{.}}{{end}}" | |
q: "{{ .Keywords }}" | |
page: 1 | |
per_page: 100 | |
order_by: "{{ .Config.sort }}" | |
rows: | |
selector: $ | |
missingAttributeEqualsNoResults: true | |
fields: | |
category: | |
selector: category_id | |
title_normal: | |
selector: title | |
title_multilang: | |
text: "{{ .Result.title_normal }}" | |
filters: | |
- name: re_replace | |
args: ["(?i)[\\.](MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))[\\.]", ".{{ .Config.multilanguage }}."] | |
title: | |
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_normal }}{{ end }}" | |
_id: | |
selector: id | |
details: | |
text: "torrent/{{ .Result._id }}" | |
year: | |
selector: title | |
filters: | |
- name: regexp | |
args: (\b(19|20)\d{2}\b) | |
size: | |
selector: size | |
seeders: | |
selector: seeders | |
leechers: | |
selector: leechers | |
grabs: | |
selector: downloads | |
optional: true | |
default: 0 | |
download: | |
text: torrent?id={{ .Result._id }} | |
date: | |
# unix | |
selector: uploaded_at | |
downloadvolumefactor: | |
text: 1 | |
uploadvolumefactor: | |
text: 1 | |
# JSON 1.0.0 |
Perso, j'ai expérimenter la même chose. Je l'ai mit sur le github original (pas ce fork) aucune réponse pour lemoment, donc juste retire le sort by seeder et met l'original. Ça fonctionnera.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Bonjour ! Je join le thread pour mettre au courant d'un petit soucis, mais d'abord merci pour cette API, c'est tout juste dingue, GG pour le boulot abattu.
J'ai tout juste ajouté l'API via le .yml à Jackett et cela fonctionne très bien, sauf si je "sort by seeders"', je reçois cette erreur de la part de Jackett :
Exception (ygg-api): Error Parsing Json Response: Status=UnprocessableEntity Response={"detail":[{"type":"enum","loc":["query","order_by"],"msg":"Input should be 'uploaded_at', 'seeders' or 'downloads'","input":"seed","ctx":{"expected":"'uploaded_at', 'seeders' or 'downloads'"}}]}: Error Parsing Json Response: Status=UnprocessableEntity Response={"detail":[{"type":"enum","loc":["query","order_by"],"msg":"Input should be 'uploaded_at', 'seeders' or 'downloads'","input":"seed","ctx":{"expected":"'uploaded_at', 'seeders' or 'downloads'"}}]}
Est-ce un bug connu ou est-ce ma faute auquel cas j'en suis désolé. Bonne journée !