Discussion sur ce topic : ici Merci.
Il y a peu, je recherchais une solution pour récupérer des épisodes de séries sans avoir à répéter chaque semaine le parcours site de torrent, téléchargement du .torrent, envoi sur la seedbox. Certes, c'est rapide, mais répétitif. Je me suis dit qu'il devait y avoir une solution.
Je suis alors tombé sur Flexget. Pratique, mais requiert un tracker supportant les .torrent flux RSS; il y en a peu, ces derniers voyant sans doute un manque à gagner à ne plus voir les visiteurs venir admirer leurs pubs ou faire vivre la communauté. Pas de RSS sur FTDB ou T411 par exemple.
J'ai ensuite trouvé...
Il est parfait, il fait tout: recherche en fond de la sortie de votre dernier épisode, téléchargement des sous-titres si besoin, notification sur PC, Android ou iOS quand le téléchargement s'effectue. En plus, il supporte beaucoup de trackers, ainsi que les newsgroup. Liste complète: https://github.com/pymedusa/Medusa/wiki/Medusa-Search-Providers
Le tout est agrémenté d'informations issues de TVDB et TVRage.
Vous pouvez l'installer sur à peu près tout: votre NAS, votre PC sous Linux ou Windows. Ici, je vais m'intéresser à l'installation sur une seedbox Debian (fonctionnera aussi sur Ubuntu et ses dérivés)
On commence par installer python, son module cheetah et git. Si vous ne les avez pas, ça donne ça:
apt-get install git-core python python-cheetah
On télécharge et installe Medusa:
git clone git://github.com/pymedusa/Medusa.git /chemin/vers/votre/installation/medusa
cd /chemin/vers/votre/installation
On met des permissions si nécessaire sur le dossier qui a été créé (si vous n'êtes pas root par exemple):
chown -R <user>:<user> /chemin/vers/votre/installation
Maintenant, on va faire en sorte que Medusa se lance à chaque démarrage du système: copie du fichier de configuration et on rend ce dernier exécutable.
sudo cp /chemin/vers/votre/installation/medusa/runscripts/init.debian /etc/init.d/medusa
sudo chmod +x /etc/init.d/medusa
On crée ensuite un fichier qui va contenir les paramètres de notre installation:
nano /etc/default/medusa
On y met:
APP_USER=votreutilisateur
APP_HOME=/chemin/vers/votre/installation/medusa/
APP_DATA=/chemin/vers/votre/installation/medusa/
APP_GROUP=votregroup
Il faut remplir le groupe sans quoi vous aurez des problèmes de permissions! Le plus souvent, votre groupe = votre nom d'utilisateur.
Changez le propriétaire du dossier /var/run/PyMedusa avec monuser:root
On ajoute ensuite Medusa à la séquence de démarrage, puis on le lance!
update-rc.d medusa defaults
service medusa start
Tout devrait se passer sans erreur. Allez sur IPserveur:8081 et Medusa se lance.
Vous pouvez aussi le lancer directement en tant que daemon python:
python /var/www/medusa/SickBeard.py -d
Je vous recommande de passer l'installation en reverse proxy, c'est à dire pouvoir y accéder depuis IPserveur/Medusa. Vous pourrez aussi y mettre une protection par mot de passe via le panneau d'administration Medusa.
Pour Nginx, on ajoute à /etc/nginx/sites-available/default le contenu suivant:
location ^~ /medusa {
proxy_pass http://localhost:8081;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host:443;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-Port 443;
proxy_set_header X-Forwarded-Proto $scheme;
# Websocket
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
Une version plus complète de ce reverse proxy est donnée ici: https://gist.github.com/Thermionix/3375989
Redémarrez nginx, arrêtez Medusa :
nginx -s reload
service medusa stop
L'arrêt de Medusa permet de modifier le fichier de configuration. Ouvrez /chemin/vers/votre/installation/medusa/config.ini, et modifiez la ligne 8 (web_root) comme ceci:
web_root = /medusa
On peut désormais redémarrer Medusa.
service medusa start
Allez à IPserveur/medusa, tout devrait être bon.
Enfin, pour empêcher l'accès par IPserveur:8081, si vous avez IPTables, vous pouvez lancer
iptables -A INPUT -p tcp --dport 8081 -s localhost -j ACCEPT
iptables -A INPUT -p tcp --dport 8081 -j DROP
On peut ensuite configurer la bête.
Allez dans Search Settings (depuis les engrenages en haut à droite), effacez les "ignore words" et mettez "vostfr, subfrench" dans les "required words": Ainsi, on force Medusa à ne télécharger que de la VOSTFR, c'est à dire des torrents contenant le mot "VOSTFR" ou "subfrench" dans leur nom. Vous pouvez aussi rajouter des mots, comme "french" ou "VOSTEN" par exemple. A vous de voir
Depuis les engrenages, allez dans Search Providers pour mettre vos comptes sur les trackers. Sélectionnez vos trackers par ordre de priorité (glisser-déposer), cochez ceux que vous voulez activer et rentrez vos informations de compte dans l'onglet Provider Options.
Spécifiez ensuite quelle méthode de téléchargement vous préférez dans l'onglet Torrent Search. Je vous recommande rTorrent ou le Black Hole (envoi des .torrents dans un répertoire particulier, habituellement un dossier "watch"). J'ai choisi le Black Hole bien qu'utilisant rTorrent, car les torrents envoyés par cette méthode ne démarraient jamais, sans raison. A vous de tester et voir ce qui vous convient le mieux!
Voilà, il ne vous reste plus qu'à ajouter vos séries par le bouton Add show dans la page d'accueil. Vous pouvez alors choisir la qualité préférée ainsi que la langue.
Vous avez aussi une option pour télécharger automatiquement les sous-titres depuis Addic7ed, U-Sub, Sous-Titres.eu et d'autres =)
Vous pouvez aussi vous faire envoyer une notification Pushbullet, Notifymyandroid ou autre depuis le panel. Une option pour indiquer vos épisodes comme vus sur Trakt ou BetaSeries est aussi disponible, de même pour Plex ou votre xbox... Vous pouvez même vous faire envoyer un SMS si vous êtes chez Free Mobile. Les possibilités sont grandes.
Bonus track: l'appli smartphone! J'utilise l'application ShowsRage qui permet de garder un œil sur mon installation depuis mon téléphone (marche derrière un htpasswd et reverse proxy nginx) =)