Aller au contenu

Tuto : T


Jess

Messages recommandés

Le téléchargement de fichiers torrent via des flux RSS est maintenant mis en place nativement dans beaucoup de client Bittorrent sous Windows ou Mac. Dans le monde des NAS (Et linux par extension) c'est une autre paire de manche.

Pour y arriver, il va falloir justement se les retrousser, et y mettre du sien!

Mais au final, ça fonctionne, et ce plutôt pas mal! Vu que j'ai un peu galéré, et que peu (voir pas!) de tuto sur ce sujet sont dispo, me voilà à partager mon expérience avec vous ;)

Après cette petite introduction, c'est parti pour le tuto lui même!

Tout d'abord , il y a un certains nombres de pré-requis :

1) Avoir installé le gestionnaire de package IPKG sur son NAS.

2) Avoir installé le client Transmission (version daemon donc) sur son NAS avec un WatchDir actif. Plus d'info sur ce point : Transmissionbt - Editing Configuration Files

En gros, voici les étapes que nous allons mettre en oeuvre via ce Tuto :

1) Installer Python 2.5 via le gestionnaire de package IPKG

2) Installer Easy_install

3) Installer Flexget

4) Paramétrer Flexget

5) Mettre à jour le crontab

1) Installer Python

1.1) Avant d'installer python, nous allons mettre à jour notre liste de package IPKG via la commande :

ipkg update
Pour vérifier si vous avez déjà Python d'installé, ou tout simplement connaitre la version de celui-ci, exécuter la commande suivante :
python -V
Si python est déjà installé, vous devriez avoir un message du type suivant s'afficher :
Python 2.5.5
Si tel est le cas, on passe directement au point 2. Sinon, on continue, et on lance l'installation de Pyhon grâce à la commande :
ipkg install python2.5
L'installation s'effectue de façon autonome. Pour vérifier que l'installation s'est bien déroulée, exécuter à nouveau la commande :
python -V
Hop, 1ère étape OK. On continue! 2) Installer Easy_install Easy_install est un programme inclut dans un package nommé SetupTools permettant l'installation simplifiée de programmes Python. Ce programme est nécessaire pour l'installation de FlexGet. On va tout d'abord se rendre dans le dossier tmp où nous pourrons télécharger le package :
cd /tmp/
Ensuite, on va télécharger le package directement à partir d'internet vers notre dossier tmp. En fonction de la version de python qui est installée, (2.5 ou 2.6) changer le lien vers le bon fichier que vous trouverez ici <a title="Python Package Tool : setuptools 06.c11" href="http://pypi.python.org/pypi/setuptools#files" target="_blank">http://pypi.python.org/pypi/setuptools#files</a> pour correspondre à l'exemple ci-dessous (pour python 2.5) :
wget http://pypi.python.o...gg

Le fichier "setuptools-0.6c11-py2.5.egg" est téléchargé dans notre dossier tmp. Une fois le téléchargement fini, on va lancer l'installation à proprement parlé :
sh setuptools-0.6c11-py2.5.egg
Et voilà, l'installation de easy_install est OK et est présent dans /opt/local/bin. Allez, on continue ! 3) Installer Flexget Toujours dans notre dossier /tmp, on va télécharger le package Flexget. Ici aussi, il y a deux packages différents en fonction de la version de python utilisée. Si vous n'utilisez pas la version 2.5 de python, aller sur le site de Flexget pour récupérer la version appropriée (et par la même occasion la dernière version disponible) et mettez à jour le lien correspondant dans la commande suivante :
wget http://download.flex...gg
Ensuite, on installe tout ça en lançant la commande suivante (à mettre à jour au besoin en fonction de la version du fichier Flexget récupérée) :
/opt/local/bin/easy_install /tmp/FlexGet-1.0r1197-py2.5.egg
Et voilà, ça c'est de l'installation facile :) On peut quand même vérifier que l'installation est correcte via la commande suivante :
/opt/local/bin/flexget -V
C'est bon? Vous avez un message du genre "FlexGet 1.0r1197", c'est que c'est OK. Alors, on passe à la suite! 4) Paramétrer Flexget Flexget est installé. C'est bien. Maintenant, on va faire en sorte de lui dire quoi télécharger, et où les télécharger. Pour se faire nous allons créer un fichier de configuration pour Flexget, nommé config.yml Ce fichier sera formaté selon le code YAML (<a title="YAML " href="http://en.wikipedia.org/wiki/Yaml" target="_blank">plus d'info par ici</a>), il y a donc quelques règles à respecter : <ol> <li>Niveau d'indentation. Toujours utiliser (un multiple de) <strong>2 espaces</strong> et ne <strong>jamais</strong> utiliser de tabulation!</li> <li>Tous les plugins sont supposés à être utilisé au même niveau d'indentation.</li> <li>Colonnes (indentation). Faire très attention à ce point et bien suivre les exemples.</li> <li>Si des valeurs de textes devaient contenir les caractères <strong><tt>{}[]%:</tt></strong>, les entourer de simples quotes ' '.</li> <li>L'utilisation de chiffre en tant que texte (Série 24), les entourer de simples quotes ' '.</li> </ol> Le fichier de configuration est à placer dans le dossier /root/.flexget/ et sera donc nommé config.yml Voici l'exemple d'un fichier simple config.yml :

feeds:

__tv-shows:

____rss: http://www.ssrze.it/feed/

____series:

______- chick

______- '42'

______- north park

____download: /volume1/torrents/

N'ayant pas réussi a garder l'indentation du fichier, il faut remplacer les underscores "_" par des espaces ;) quelques explications sur l'exemple : - RSS --&gt; url vers le flux RSS des Séries - Serries --&gt; C'est sous series qu'on va lister les séries à télécharger. Il faut bien sur que ces séries apparaissent dans le flux rss. - download --&gt; Le dossier vers lequel les .torrent seront téléchargé. Il doit correspondre au "Watch Dir" mis en place du coté de Transmission (voir Tuto sur Transmission) Il est bien sur possible de créer des fichiers de configuration bien plus complexe en précisant la qualité souhaitée (720p, HDTV...), de lister plusieurs flux RSS, et même d'envoyer un email dès qu'un fichier est téléchargé! Par exemple, un fichier plus complexe gérant ces derniers point donne ceci :

presets:

__tv:

____email:

______from: adresse@mail.com

________to: adresse@mail.com

________smtp_host: smtp.mail.com

________smtp_port: 25

________smtp_login: true

________smtp_username: adresse@mail.com

________smtp_password: password

________smtp_tls: true

______download: /volume1/Downloads/TorrentWatchDir/

______series:

________720p:

__________- '42'

__________- ISC

________HDTV:

__________- Muidem


feeds:

__RSS1:

____rss: http://www.ssrze.it/feed/

____preset: tv


__RSS2 :

____rss: http://rss.tpb.org/user/zeropluszeroegallateteatoto

____preset: tv


N'ayant pas réussi a garder l'indentation du fichier, il faut remplacer les underscores "_" par des espaces ;) Si vous désirez effectivement aller plus loin dans la configuration de FlexGet, je vous invite à vous rendre sur le <a title="Cookbook - FlexGet" href="http://flexget.com/wiki/Cookbook" target="_blank">Cookbook</a> (Livre de recette <img src="../wp-includes/images/smilies/icon_biggrin.gif" alt=":grin:" />) du site FlexGet. Petit conseil: pour éviter la configuration, pouvant se révéler fastidieuse, d'un fichier de config pour FlexGet en ligne de commande sous VI, créez le fichier sur votre ordinateur grâce a votre éditeur de texte favori, positionnez le ensuite dans un dossier partagé de votre NAS, "Partage" par exemple, puis en ligne de commande copiez le dans le bon dossier sur votre NAS via la commande suivante :
cp /volume1/Partage/config.yml /root/.flexget/
Une fois que vous avez mis en place ce fichier de configuration, il va falloir le tester. Pour ça, FlexGet inclut un mode test permettant de vérifier si votre fichier de configuration est bon, et ce qu'il est censé télécharger. La commande est la suivante :
/opt/local/bin/flexget --test
Il est aussi possible de lancer FlexGet en mode vérification, permettant ainsi de nous préciser, en cas de problème sur le fichier de configuration, où se situe l'erreur. La commande correspondante est la suivante :
/opt/local/bin/flexget --test
Tout est bon ? Alors, passons à la suite! 5) Mettre à jour le Crontab Tout bon jusque là? Parfait... Il manque juste une dernière petite chose : automatiser tout ça! Et pour se faire nous allons devoir toucher au fichier que l'on nome Crontab (<a title="Crontab" href="http://fr.wikipedia.org/wiki/Crontab" target="_blank">Plus d'info par ici</a>) qui permet la programmation de tâche programmées. Nous allons tout d'abord ouvrir ce fichier avec la commande suivante :
vi /etc/crontab
Il suffit ensuite dans ce fichier de rajouter une nouvelle ligne : (Rappel: I pour écrire dans le fichier, ESC :wq pour quitter et enregistrer les modifications)
*/30	* 	* 	* 	* 	root	/opt/local/bin/flexget --cron
Cette ligne va nous permettre de lancer FlexGet toutes les 30 minutes. Vous pouvez bien sûr mettre à jour ceci selon votre convenance, toutes les heures, plus, moins... C'est à vous de voir! Enfin, après avoir mis à jour notre fichier crontab, nous devons le redémarrer afin que ces modifications soient prises en compte. Pour se faire, exécuter les scripts suivant :
/usr/syno/etc/rc.d/S04crond.sh stop


/usr/syno/etc/rc.d/S04crond.sh star

Voilà, c'est tout bon!

Vous n'avez plus qu'à vérifier que vos séries sont bien ajoutées dans Transmission ;)

Des questions, des suggestions, des remarques (pertinentes ou pas ^^), n'hésitez pas à vous exprimer ;)

Version adapté de mon tuto depuis mon blog : http://www.jessblog.fr

Tuto Version 1.0, le 28/03/2010.

Lien vers le commentaire
Partager sur d’autres sites

  • 1 an après...

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.