Files

181 lines
5.8 KiB
YAML
Raw Permalink Normal View History

2026-06-18 02:51:20 +00:00
---
id: nostradamus
name: Nostradamus
description: "Nostradamus is a ratioless FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL"
language: fr-FR
type: private
encoding: UTF-8
links:
- https://nostradamus.foo/
caps:
categorymappings:
# from https://nostradamus.foo/api?t=caps&apikey=YOUR-API-KEY
- {id: 2000, cat: Movies, desc: "Films"}
- {id: 2020, cat: Movies, desc: "Films/Film"}
- {id: 2010, cat: Movies/Other, desc: "Films/Animation"}
- {id: 2030, cat: TV/Documentary, desc: "Films/Documentaire"}
- {id: 2040, cat: Audio/Video, desc: "Films/Spectacle"}
- {id: 2060, cat: Audio/Video, desc: "Films/Concert"}
- {id: 5000, cat: TV, desc: "Séries TV"}
- {id: 5040, cat: TV, desc: "Séries TV/Série TV"}
- {id: 5070, cat: TV/Anime, desc: "Séries TV/Animation Série"}
- {id: 5080, cat: TV, desc: "Séries TV/Emission TV"}
- {id: 5090, cat: Audio/Video, desc: "Vidéo"}
- {id: 5060, cat: TV/Sport, desc: "Vidéo/Sport"}
- {id: 5091, cat: Audio/Video, desc: "Vidéo/Vidéo-clips"}
- {id: 5092, cat: Audio/Video, desc: "Vidéo/Autre"}
- {id: 7000, cat: Books, desc: "eBook"}
- {id: 7010, cat: Audio/Audiobook, desc: "eBook/Audio"}
- {id: 7030, cat: Books/Comics, desc: "eBook/BDs"}
- {id: 7040, cat: Books/Comics, desc: "eBook/Comics"}
- {id: 7020, cat: Books/EBook, desc: "eBook/Livres"}
- {id: 7050, cat: Books/Comics, desc: "eBook/Mangas"}
- {id: 7060, cat: Books/Mags, desc: "eBook/Presse"}
- {id: 8000, cat: Books/Mags, desc: "eBook/Littérature & Audio/Autre"}
- {id: 3000, cat: Audio, desc: "Audio"}
- {id: 3030, cat: Audio/Other, desc: "Audio/Karaoke"}
- {id: 3010, cat: Audio, desc: "Audio/Musique"}
- {id: 3040, cat: Audio/Other, desc: "Audio/Podcast Radio"}
- {id: 3050, cat: Audio/Other, desc: "Audio/Samples"}
- {id: 1000, cat: Console, desc: "Jeu vidéo"}
- {id: 1099, cat: Console/Other, desc: "Jeu vidéo/Autre"}
- {id: 1091, cat: PC/Games, desc: "Jeu vidéo/Linux"}
- {id: 1092, cat: PC/Games, desc: "Jeu vidéo/MacOS"}
- {id: 1040, cat: PC/Games, desc: "Jeu vidéo/Microsoft"}
- {id: 1030, cat: Console/NDS, desc: "Jeu vidéo/Nintendo"}
- {id: 1060, cat: Console/Other, desc: "Jeu vidéo/Smartphone"}
- {id: 1080, cat: Console/PS4, desc: "Jeu vidéo/Sony"}
- {id: 1061, cat: Console/Other, desc: "Jeu vidéo/Tablette"}
- {id: 1090, cat: PC/Games, desc: "Jeu vidéo/Windows"}
modes:
search: [q]
tv-search: [q, season, ep, tvdbid]
movie-search: [q, imdbid]
music-search: [q]
book-search: [q]
settings:
- name: apikey
type: text
label: API Key
- name: info_key
type: info
label: About your API Key
default: "You can find your API Key by accessing the <a href=\"https://nostradamus.foo/api-access\" target=\"_blank\">Nostradamus API access</a> page and scrolling down to the <b>API Credentials</b> section."
- 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: vostfr
type: checkbox
label: Replace VOSTFR and SUBFRENCH with ENGLISH
default: false
login:
# returns "401 Unauthorized, check your credentials" if passkey is invalid
path: api
method: get
inputs:
apikey: "{{ .Config.apikey }}"
t: search
limit: 1
search:
paths:
- path: api
response:
type: xml
inputs:
apikey: "{{ .Config.apikey }}"
t: "{{ if .Query.IMDBID }}movie{{ else }}{{ end }}{{ if .Query.TVDBID }}tvsearch{{ else }}{{ end }}{{ if or .Query.TVDBID .Query.IMDBID }}{{ else }}search{{ end }}"
q: "{{ .Keywords }}"
cat: "{{ join .Categories \",\" }}"
season: "{{ .Query.Season }}"
ep: "{{ .Query.Ep }}"
imdbid: "{{ .Query.IMDBID }}"
tvdbid: "{{ .Query.TVDBID }}"
limit: 100
keywordsfilters:
# replace spaces between words with percent wildcard
- name: re_replace
args: ["\\W+", "%"]
rows:
selector: rss > channel > item
fields:
category:
selector: "[name=category]"
attribute: value
title_phase1:
selector: title
title_vostfr:
text: "{{ .Result.title_phase1 }}"
filters:
- name: re_replace
args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
title_phase2:
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
title_multilang:
text: "{{ .Result.title_phase2 }}"
filters:
- name: re_replace
args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR|VF2|VFF|VFQ|VOQ|VFI|VOF)))\\b", "{{ .Config.multilanguage }}"]
title:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
details:
selector: link
download:
selector: enclosure
attribute: url
infohash:
selector: "[name=infohash]"
attribute: value
date:
# Thu, 15 Jan 2026 16:24:34 +0000
selector: pubDate
filters:
- name: dateparse
args: "ddd, dd MMM yyyy HH:mm:ss zzz"
size:
selector: "[name=size]"
attribute: value
imdbid:
selector: "[name=imdbid]"
attribute: value
tmdbid:
selector: "[name=tmdbid]"
attribute: value
seeders:
selector: "[name=seeders]"
attribute: value
leechers:
selector: "[name=leechers]"
attribute: value
grabs:
selector: "[name=grabs]"
attribute: value
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
# torznab xml