Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Matthieu Napoli

blog technique

[NSLU2] Installer un client pour Torrents (TorrentFlux)

Bonjour à tous,

Toujours dans la série NSLU2 (machine embarquée tournant sous Linux, et pouvant faire office de serveur pour 50 euros), voici un petit How-To pour installer un client pour torrents. Il s'agit d'un condensé de différentes sources, au fil des difficultés que j'ai rencontré.

TorrentFlux est un client torrent dont l'interface est une page web utilisant PHP. Les avantages de cette installation sont multiples : le serveur tourne 24/24, donc pas besoin d'avoir son ordinateur allumé pour télécharger, l'interface est accessible depuis internet (pour peu que vous ayez configuré votre routeur) et les fichiers téléchargés sont disponibles à travers le réseau (car téléchargés sur le serveur).

Le principe : l'interface PHP et SQL (sqlite) permet de lancer et voir l'état des torrents (très détaillé et ergonomique), et le script qui réalise le téléchargement proprement dit est en python.

Voici les étapes de l'installation de torrentflux sur un NSLU2 tournant sous Debian.

Installer les packages nécessaires

$ apt-get install lighttpd php5-cgi sqlite php5-sqlite

Récupérer TorrentFlux

$ cd /tmp
$ wget http://www.torrentflux.com/torrentflux_2.3.tar.gz
$ tar -xvzf torrentflux_2.3.tar.gz

Créer la base de données

$ cd /tmp/torrentflux_2.3/sql
$ wget http://homepage.ntlworld.com/cyborgsystems/CS_Main/NSLU2/torrentflux/sqlite_torrentflux.sql
$ mkdir /www-database
$ chown www-data /www-database
$ sqlite /www-database/torrentflux.db < sqlite_torrentflux.sql
$ chown www-data /www-database/torrentflux.db
$ chmod 777 /www-database/torrentflux.db

La base de données doit être accessible en écriture pour sqlite (qui s'exécutera sous l'utilisateur www-data). Elle doit également se trouver dans un répertoire possédé par www-data, c'est pourquoi ici nous créons /www-database/ (sinon on obtiens des erreurs à l'exécution du script PHP).

Configurer Lighttpd

$ nano /etc/lighttpd.conf
        modifier la ligne :
        fastcgi.server = ( ".php" => ((
                    "bin-path" => "/usr/bin/php5-cgi",
                    "socket" => "/tmp/php.socket" )))

Configurer TorrentFlux

$ mkdir /var/www/torrentflux
$ cp -R /tmp/torrentflux_2.3/html/. /var/www/torrentflux/.
$ nano /var/www/torrentflux/config.php
        Modifier db_type : $cfg["db_type"] = "sqlite";
        Modifier db_host : $cfg["db_host"] = "/www-database/torrentflux.db";

Correction d'erreurs

D'après un post du forum de TorrentFlux, voici quelques corrections à apporter au code :
Fichier functions.php : fonction startQManager : ligne 2212
remplacer :
  $btphp = "'" . $cmd1. "; HOME=".$cfg["path"]."; export HOME; nohup " . $pyCmd . " " .$cfg["btphpbin"] . " '";
par :
  $btphp = "\"'" . $cmd1. "; HOME=".$cfg["path"]."; export HOME; nohup " . $pyCmd . " " .$cfg["btphpbin"] . " '\"";
Fichier index.php : ligne 254
remplacer :
  $command .= " ".escapeshellarg($cfg["cmd_options"])." > /dev/null &";
par :
  $x = explode(" ",$cfg["cmd_options"]);
  foreach ($x as $y)
      $command .= " ".escapeshellarg($y);
  $command .= " > /dev/null &";

Première utilisation

Ouvrez la page http://adresse-ip/torrentflux/. À la première connexion, l'utilisateur sera créé. Pensez bien à modifier la configuration (lien "edit settings") et à controler que tous les icones soient verts (les scripts python se trouvent dans le dossier /var/www/torrentflux/).

Pensez également à supprimer les fichiers temporaires (dans /tmp).

Après une première utilisation, cela a l'air de bien fonctionner. L'interface est vraiment sympa, et si vous configurez votre routeur, vous pourrez y accéder depuis internet (à condition de connaitre l'adresse IP internet de votre NSLU2).

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: dimanche 17 mai 2009 23:05 par MadMatt

Commentaires

ROMELARD Fabrice a dit :

Intéressant, mais vraiment pas conseillé pour les résidents sur le territoire français avec la nouvelle loi qui est en cours de mise en place :)

Fabrice

# mai 18, 2009 10:27

MadMatt a dit :

Ah oui bien entendu j'ai oublié de préciser que cela me sert uniquement pour télécharger des iso d'installation de linux ;)

Les torrents en soit ne sont pas illégaux (heureusement ^^)

# mai 18, 2009 11:34
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Compte rendu : SharePoint / O365 : des pratiques pour une meilleure productivité par The Mit's Blog le 12-12-2014, 18:11

- [TFS] Suppression des feature SQL Entreprise en masse par Blog de Jérémy Jeanson le 12-06-2014, 09:18

- [Clean Code] règles de nommage par Fathi Bellahcene le 12-04-2014, 22:59

- Windows To Go 10 et Upgrades impossibles par Blog de Jérémy Jeanson le 12-04-2014, 21:38

- SharePoint OnPremise: Statistiques d’utilisation pour traquer les sites fantomes par Blog Technique de Romelard Fabrice le 12-03-2014, 10:28

- SharePoint 2007: Script PowerShell permettant le backup de toutes les collections de sites d’une application Web par Blog Technique de Romelard Fabrice le 12-02-2014, 10:00

- Xamarin : un choix précieux par .net is good... C# is better ;) le 12-01-2014, 15:10

- Office 365: Comparaison des composants pour préparer votre migration de SharePoint 2007 vers Office 365 par Blog Technique de Romelard Fabrice le 11-28-2014, 16:20

- Créer un périphérique Windows To Go 10 ! par Blog de Jérémy Jeanson le 11-21-2014, 04:54

- RDV à Genève le 12 décembre pour l’évènement “SharePoint–Office 365 : des pratiques pour une meilleure productivité !” par Le blog de Patrick [MVP Office 365] le 11-19-2014, 10:40