Skip to content

Instantly share code, notes, and snippets.

@Clemv95
Forked from LimeDrive/ygg-api.yml
Last active April 22, 2025 21:08
Show Gist options
  • Save Clemv95/8bfded23ef23ec78f6678896f42a2b60 to your computer and use it in GitHub Desktop.
Save Clemv95/8bfded23ef23ec78f6678896f42a2b60 to your computer and use it in GitHub Desktop.
Indexeur ygg-api pour jackett / prowlarr
---
id: ygg-api
name: Ygg API
description: Indexeur non officiel pour ygg.re 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: 2179, cat: TV/Anime, desc: "Séries d’animation / Mangas"}
- {id: 2183, cat: Movies, desc: "Films"}
- {id: 2184, cat: TV, desc: "Séries"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q, year]
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
@ygg-api
Copy link

ygg-api commented Apr 11, 2025

@Bastien42 Beaucoup de questions ^^ Oui tout scrapé il y a quelques temps. Pas de mise à jour malheureusement, trop compliqué. Ça prend... pas mal de Go ^^ J'héberge sur un VPS. Oui pour les nouveaux torrents ça récupère comme ça. Et pour la charge, il y a de la marge :-)

@almottier
Copy link

Bonjour, je vous propose d'ouvrir des issues dans le projet GitHub du maintainer lorsque nous avons un souci. Ce sera plus simple pour le suivi.

J'en ai ouvert un sur le téléchargement de certain torrent récent qui est en erreur : ygg-api/ygg-api#2

@Syzla
Copy link

Syzla commented Apr 15, 2025

Je remercie grandement le créateur de cet API !! Fonctionne à merveille, même si un peu galère quand on installe pour la première fois Prowlarr sur son serveur Ultra.cc

Je cite ce commentaire qui a tout débloqué pour ma part après 30 minutes de recherches :-)

Alors je l'avais mis que dans Distribution mais pas avec le dossier Custom de créer, mtn ça marche haha

Fonctionnel pour mes Séries et Animes, même avec la recherche avancée pour les anciens épisodes.

@maxtouf
Copy link

maxtouf commented Apr 16, 2025

Bonjour, je n'arrive pas à avoir l'url de base, je ne comprend pas :)
2025-04-17_00h26_09

@Clemv95
Copy link
Author

Clemv95 commented Apr 22, 2025

UPDATE :

En collaboration avec @ygg-api, nous avons modifié le fonctionnement afin que la passkey ne soit plus passée en requete à l'API, dans un soucis de confidentialité de celle ci

J'ai mis la version de l'indexeur modifiée en conséquence, n'hésitez pas si vous avez des retours ;)

@NormalRandomPeople
Copy link

UPDATE :

En collaboration avec @ygg-api, nous avons modifié le fonctionnement afin que la passkey ne soit plus passée en requete à l'API, dans un soucis de confidentialité de celle ci

J'ai mis la version de l'indexeur modifiée en conséquence, n'hésitez pas si vous avez des retours ;)

le goat

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment