-
-
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: yggapi | |
name: YggAPI | |
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] | |
allowrawsearch: true | |
settings: | |
- name: website_domain | |
type: text | |
label: YGG website domain | |
default: www.yggtorrent.top | |
- 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 | |
seeders: seeders | |
downloads: downloads | |
- 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: strip_season | |
type: checkbox | |
label: Strip season-only (e.g. S01) from searches, as tracker does not support partial matches | |
default: true | |
- name: tracker_domain | |
type: select | |
label: Domaine du tracker à utiliser | |
default: tracker.p2p-world.net | |
options: | |
tracker.p2p-world.net: tracker.p2p-world.net | |
connect.maxp2p.org: connect.maxp2p.org | |
- 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." | |
search: | |
paths: | |
- path: torrents | |
response: | |
type: json | |
inputs: | |
page: 1 | |
- path: torrents | |
response: | |
type: json | |
inputs: | |
page: 2 | |
- path: torrents | |
response: | |
type: json | |
inputs: | |
page: 3 | |
- path: torrents | |
response: | |
type: json | |
inputs: | |
page: 4 | |
- path: torrents | |
response: | |
type: json | |
inputs: | |
page: 5 | |
- path: torrents | |
response: | |
type: json | |
inputs: | |
page: 6 | |
- path: torrents | |
response: | |
type: json | |
inputs: | |
page: 7 | |
- path: torrents | |
response: | |
type: json | |
inputs: | |
page: 8 | |
- path: torrents | |
response: | |
type: json | |
inputs: | |
page: 9 | |
- path: torrents | |
response: | |
type: json | |
inputs: | |
page: 10 | |
inputs: | |
$raw: "{{ range .Categories }}&category_id={{.}}{{end}}" | |
q: "{{ .Keywords }}" | |
per_page: 100 | |
order_by: "{{ .Config.sort }}" | |
# https://github.com/Prowlarr/Indexers/blob/953aa766ef67c782f5aab1b563ce180f49eb9ea5/definitions/v10/yggtorrent.yml#L277 | |
keywordsfilters: | |
- name: trim | |
# fix date search and workaround for internal YGG issues | |
- name: re_replace | |
args: ["[\\\\\\-\\.\\/!\\s]+", " "] | |
# strip season-only as tracker does not support partial matches | |
- name: re_replace | |
args: ["(?i)\\b(S\\d{1,3})\\b", "{{ if .Config.strip_season }}{{ else }}$1{{ end }}"] | |
# put each word in quotations to prevent exact phrase search | |
- name: re_replace | |
args: ["([^\\s]+)", "\"$1\""] | |
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 | |
_slug: | |
selector: slug | |
details: | |
selector: link | |
download: | |
text: "torrent/{{ .Result._id }}/download?passkey={{ .Config.passkey }}&tracker_domain={{ .Config.tracker_domain }}" | |
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 | |
date: | |
# unix | |
selector: uploaded_at | |
downloadvolumefactor: | |
text: 1 | |
uploadvolumefactor: | |
text: 1 | |
# JSON 1.0.0 |
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: yggapi | |
name: YggAPI | |
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] | |
allowrawsearch: true | |
settings: | |
- name: website_domain | |
type: text | |
label: YGG website domain | |
default: www.yggtorrent.top | |
- 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 | |
seeders: seeders | |
downloads: downloads | |
- 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: strip_season | |
type: checkbox | |
label: Strip season-only (e.g. S01) from searches, as tracker does not support partial matches | |
default: true | |
- name: tracker_domain | |
type: select | |
label: Domaine du tracker à utiliser | |
default: tracker.p2p-world.net | |
options: | |
tracker.p2p-world.net: tracker.p2p-world.net | |
connect.maxp2p.org: connect.maxp2p.org | |
- 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 }}"] | |
- name: replace | |
args: ["tracker.p2p-world.net", "{{ .Config.tracker_domain }}"] | |
search: | |
paths: | |
- path: torrents | |
response: | |
type: json | |
inputs: | |
page: 1 | |
- path: torrents | |
response: | |
type: json | |
inputs: | |
page: 2 | |
- path: torrents | |
response: | |
type: json | |
inputs: | |
page: 3 | |
- path: torrents | |
response: | |
type: json | |
inputs: | |
page: 4 | |
- path: torrents | |
response: | |
type: json | |
inputs: | |
page: 5 | |
- path: torrents | |
response: | |
type: json | |
inputs: | |
page: 6 | |
- path: torrents | |
response: | |
type: json | |
inputs: | |
page: 7 | |
- path: torrents | |
response: | |
type: json | |
inputs: | |
page: 8 | |
- path: torrents | |
response: | |
type: json | |
inputs: | |
page: 9 | |
- path: torrents | |
response: | |
type: json | |
inputs: | |
page: 10 | |
inputs: | |
$raw: "{{ range .Categories }}&category_id={{.}}{{end}}" | |
q: "{{ .Keywords }}" | |
per_page: 100 | |
order_by: "{{ .Config.sort }}" | |
# https://github.com/Prowlarr/Indexers/blob/953aa766ef67c782f5aab1b563ce180f49eb9ea5/definitions/v10/yggtorrent.yml#L277 | |
keywordsfilters: | |
- name: trim | |
# fix date search and workaround for internal YGG issues | |
- name: re_replace | |
args: ["[\\\\\\-\\.\\/!\\s]+", " "] | |
# strip season-only as tracker does not support partial matches | |
- name: re_replace | |
args: ["(?i)\\b(S\\d{1,3})\\b", "{{ if .Config.strip_season }}{{ else }}$1{{ end }}"] | |
# put each word in quotations to prevent exact phrase search | |
- name: re_replace | |
args: ["([^\\s]+)", "\"$1\""] | |
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 | |
_slug: | |
selector: slug | |
details: | |
selector: link | |
download: | |
text: "torrent?id={{ .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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
oui j'ai cocher série mais rien ne change j'ai été obliger de faire une recherche a la main pour un épisode qui est sortie par exemple y a deux heures sur ygg pour que ca le download ... donc perso moi ca ne change rien