-
-
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 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: 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: 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.ygg.re/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: 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: | |
$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 }}" | |
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: 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 | |
seeders: 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 |
Hello,
J'ai adapté le yml pour prendre en compte le tracker à utiliser lors de la configuration :
ygg-api-download.yml :
--- 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: 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: 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.ygg.re/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: 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: $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 }}" 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
Merci pour la contribution, je vais update le gist
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hello,
J'ai adapté le yml pour prendre en compte le tracker à utiliser lors de la configuration :
ygg-api-download.yml :