mardi, 06 mai 2014

Raspberry-pi : Deluge de Torrent

deluge,torrent,serveur,seedbox,transmissionCela faisait longtemps que je n'avais pas écrit quelque chose, la faute au soleil et a plein d'autre chose, comme notamment le fait que j'ai encore eu ma carte SD corrompue sur mon Pi(et oui encore) donc vu que sa faisait 3 fois le même problème depuis janvier, j'ai acheter une nouvelle carte SD.

Lorsque j'ai voulu DL un torrent, je n'ai pas pu supprimer le tracker donc je me suis mis a chercher un autre programme pour le serveur torrent, un lecteur m'avais signaler que Deluge était une alternative, donc je l'ai installer, j'ai trouver tellement bien l'alternative que j'ai désinstaller aussitôt Transmission.

Deluge possède une interface fluide, plus fluide que Transmission et surtout plus complet, sans avoir besoin d'utilisé un navigateur spécifique(car transmission est basique et l'interface shift est optimisé pour Firefox) celui ci a marcher a merveille chez moi, il possède plus d'options de gestion au niveau torrent, tracker, proxy, options ... et aussi avec quelques textes en françaisCool

Ce qui m'as poser le plus problème c'était le Tuto, car beaucoup de tuto sont fait, mais aucun en français et certains même pas complet ou trop compliquer pour la plupart des personnes.


Pour déluge, plusieurs possibilité s'offre a nous Soit on utilise le client desktop + console + Interface web pour avoir accès via le VNC et navigateur, soit on n'utilise que l'interface web avec la console, ce que j'ai choisit pour allégé le pi

Installation

Pour commencer on va installer Déluge avec la console et l'interface web

sudo apt-get install deluged deluge-console deluge-web 

Normalement l'installation va prendre quelques minutes vu le nombre de dépendances (20), vous pouvez allez vous faire un thé ou café.

Configuration

Une fois tout installer on va devoir lancer deluged et deluge-web pour qu'ils créent leurs fichiers de configuration.

deluged
sudo pkill deluged 

 Donc normalement lorsque l'on a ouvert/fermer deluged il a crée le fichier auth ici "/home/pi/.config/deluge/" dans ce fichier auth on trouve le login:mdp:niveau des utilisateurs

cd /home/pi
nano ~/.config/deluge/auth

on va donc rajouter la ligne avec notre utilisateur, son mot de passe et son niveau de contrôle après la ligne existante

pi:mdpdepi:10

 A présent on va aller autoriser l’accès a distance de déluge, donc on lance déluge et la console avec ceci comme commande 

deluged
deluge-console 

 une fois le daemon et la console lancé on va autorisé le remote en modifiant le paramétre puis on vérifie si cela a bien été fait, ensuite on peu quitter si vous voyez "allow_remote : true"

config -s allow_remote True

config allow_remote

exit 

 Il ne suffit maintenant plus qu'as fermer et ouvrir le daemon pour que la config soit en ordre, ensuite lancé l'interface web

deluged
sudo pkill deluged 
deluge-web

Maintenant vous pouvez allez sur l'addresse : http:// iprasberrypi:8112/ il vous demandera un mot de passe, par défaut le mot de passe est "deluge", une fois identifier vous avez quelque chose comme ceci 

deluge,torrent,serveur,seedbox,transmission

Vous sélectionner l’hôte en 127.0.0.1 qui est votre raspberry pi et cliquez sur "connect", bien sûr vous pouvez en ajouter plusieurs si par exemple vous avez des amis qui ont une seedbox pro ou qui ont une meilleur connexion que vous. D'autre part une je vous conseil de le modifier directement via préférence > interface

deluge,torrent,serveur,seedbox,transmission

 Pour des raisons pratiques, j'utilise des Dossiers qui sont sur mon NAS, donc je vais simplement allez modifier les configs pour remettre le fichier Temp pour les fichiers en cours et Torrent pour les DL qui sont terminer

deluge,torrent,serveur,seedbox,transmission

D'autre part, avec Transmission, j'avais un problème de Seed qui ne voulais pas seeder mes torrent, sans avoir a rien configurer j'ai eu déluge qui c'est mis a seed de lui même. Voici quelques impressions d'écran de Déluge

deluge,torrent,serveur,seedbox,transmission

deluge,torrent,serveur,seedbox,transmission

deluge,torrent,serveur,seedbox,transmission

 

Lancement automatique de Déluge

Pour pouvoir lancer Déluge au démarrage on va devoir démarrer "deluged" ainsi que "deluge-web", Sur ubuntu il y a les développeurs de déluge qui ont mis en ligne les scripts et ils fonctionnent pour le raspberry pi, donc on va crée le premier script

sudo nano /etc/default/deluge-daemon

 voici le texte a copier dans ce premier script

# Configuration for /etc/init.d/deluge-daemon

# The init.d script will only run if this variable non-empty.
DELUGED_USER="pi"     

# Should we run at startup?
RUN_AT_STARTUP="YES"

Bien Sûr si vous avez renommer votre user il faut que vous modifier le deluged_user, on va ensuite crée le script pour init.d

sudo nano /etc/init.d/deluge-daemon

vous pouvez le télécharger ici si vous voulez , au sinon voici le texte a copier/coller:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          deluge-daemon
# Required-Start:    $local_fs $remote_fs
# Required-Stop:     $local_fs $remote_fs
# Should-Start:      $network
# Should-Stop:       $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Daemonized version of deluge and webui.
# Description:       Starts the deluge daemon with the user specified in
#                    /etc/default/deluge-daemon.
### END INIT INFO

# Author: Adolfo R. Brandes 

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="Deluge Daemon"
NAME1="deluged"
NAME2="deluge"
DAEMON1=/usr/bin/deluged
DAEMON1_ARGS="-d"             # Consult `man deluged` for more options
DAEMON2=/usr/bin/deluge-web
DAEMON2_ARGS=""               # Consult `man deluge-web` for more options
PIDFILE1=/var/run/$NAME1.pid
PIDFILE2=/var/run/$NAME2.pid
UMASK=022                     # Change this to 0 if running deluged as its own user
PKGNAME=deluge-daemon
SCRIPTNAME=/etc/init.d/$PKGNAME

# Exit if the package is not installed
[ -x "$DAEMON1" -a -x "$DAEMON2" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$PKGNAME ] && . /etc/default/$PKGNAME

# Load the VERBOSE setting and other rcS variables
[ -f /etc/default/rcS ] && . /etc/default/rcS

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

if [ -z "$RUN_AT_STARTUP" -o "$RUN_AT_STARTUP" != "YES" ]
then
   log_warning_msg "Not starting $PKGNAME, edit /etc/default/$PKGNAME to start it."
   exit 0
fi

if [ -z "$DELUGED_USER" ]
then
    log_warning_msg "Not starting $PKGNAME, DELUGED_USER not set in /etc/default/$PKGNAME."
    exit 0
fi

#
# Function that starts the daemon/service
#
do_start()
{
   # Return
   #   0 if daemon has been started
   #   1 if daemon was already running
   #   2 if daemon could not be started
   start-stop-daemon --start --background --quiet --pidfile $PIDFILE1 --exec $DAEMON1 
      --chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK --test > /dev/null
   RETVAL1="$?"
   start-stop-daemon --start --background --quiet --pidfile $PIDFILE2 --exec $DAEMON2 
      --chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK --test > /dev/null
   RETVAL2="$?"
   [ "$RETVAL1" = "0" -a "$RETVAL2" = "0" ] || return 1

   start-stop-daemon --start --background --quiet --pidfile $PIDFILE1 --make-pidfile --exec $DAEMON1 
      --chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK -- $DAEMON1_ARGS
   RETVAL1="$?"
        sleep 2
   start-stop-daemon --start --background --quiet --pidfile $PIDFILE2 --make-pidfile --exec $DAEMON2 
      --chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK -- $DAEMON2_ARGS
   RETVAL2="$?"
   [ "$RETVAL1" = "0" -a "$RETVAL2" = "0" ] || return 2
}

#
# Function that stops the daemon/service
#
do_stop()
{
   # Return
   #   0 if daemon has been stopped
   #   1 if daemon was already stopped
   #   2 if daemon could not be stopped
   #   other if a failure occurred

   start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --user $DELUGED_USER --pidfile $PIDFILE2
   RETVAL2="$?"
   start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --user $DELUGED_USER --pidfile $PIDFILE1
   RETVAL1="$?"
   [ "$RETVAL1" = "2" -o "$RETVAL2" = "2" ] && return 2

   rm -f $PIDFILE1 $PIDFILE2

   [ "$RETVAL1" = "0" -a "$RETVAL2" = "0" ] && return 0 || return 1
}

case "$1" in
  start)
   [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME1"
   do_start
   case "$?" in
      0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
      2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
   esac
   ;;
  stop)
   [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME1"
   do_stop
   case "$?" in
      0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
      2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
   esac
   ;;
  restart|force-reload)
   log_daemon_msg "Restarting $DESC" "$NAME1"
   do_stop
   case "$?" in
     0|1)
      do_start
      case "$?" in
         0) log_end_msg 0 ;;
         1) log_end_msg 1 ;; # Old process is still running
         *) log_end_msg 1 ;; # Failed to start
      esac
      ;;
     *)
        # Failed to stop
      log_end_msg 1
      ;;
   esac
   ;;
  *)
   echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
   exit 3
   ;;
esac

:

 On rend executable le script, pour pouvoir le lancer automatiquement

sudo chmod 755 /etc/default/deluge-daemon
sudo chmod 755 /etc/init.d/deluge-daemon

puis il faut ajouter le script pour le demarage automatique

sudo update-rc.d deluge-daemon defaults

Ensuite pour tester on va lancer pour verifier que tout est bon

sudo invoke-rc.d deluge-daemon start

Suppression de Transmission

Pour ceux qui veulent se débarrasser de transmission il suffit de faire ceci

sudo service transmission-daemon stop
sudo apt-get purge transmission-daemon
sudo apt-get autoremove

Écrit par Viskor dans Astuces, Raspberry-Pi, Serveur |  Facebook | |