ATTENTION cet article comporte des inexactitudes, se reporter à la page Deluge mise à jour régulièrement


Lors de l’installation de sweetBox et en vu d’en faire un serveur de téléchargement je me suis mis en quête d’un client torrent et comme pour tous autre logiciel sous Linux il y en a pléthore.

Sous Windows j’utilisais µtorrent, ce dernier n’existe pas sous Linux (tout du moins au moment où j’ai cherché) et de plus il ne répond pas aux besoins spécifique d’une machine sans interface graphique.

Les besoins sont les suivants :

  • Téléchargement automatique via la surveillance d’un répertoire (dès qu’un .torrent est ajouté é ce répertoire le téléchargement commence)
  • Fonctionnement sans interface graphique
  • Existence d’un interface d’administration Web
  • Déplacements de torrents (une fois le téléchargement terminé)
  • Blocage d’IP par import de listes noires

Après quelque recherche et hésitation (rtorrent, transmission) j’ai finalement choisi Deluge.


Installation

Téléchargement du dernier package sur le site de Deluge (lors de ma première installation il s’agissait du 0.9.02, actuellement j’en suis au 1.1.2 et sur le site il y a la 1.1.6).

Installation par dpkg :

dpkg -i deluge-torrent_1.1.2-1_i386.gutsy.deb

Et voila, on peut ensuite lancer le démon par un :

deluged -l /var/log/deluged.log

Et l’interface Web par :

deluge -u web

Qui est alors accessible a cette adresse :

http://localhost:8112/

et « deluge » comme mot de passe par défaut


Paramétrage


Installation en tant que service

Une fois cet installation faite, il peut être utile voir indispensable de démarrer Deluge en tant que service.

Créer le fichier /etc/init.d/deluge-daemon et copier ceci :


#!/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="-l /var/log/deluged.log"
DAEMON2=/usr/bin/deluge
DAEMON2_ARGS="-u web"
PIDFILE1=/var/run/$NAME1.pid
PIDFILE2=/var/run/$NAME2.pid
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 "$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 --test > /dev/null
 RETVAL1="$?"
 start-stop-daemon --start --background --quiet --pidfile $PIDFILE2 --exec $DAEMON2 \
 --chuid $DELUGED_USER --user $DELUGED_USER --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 -- $DAEMON1_ARGS
 RETVAL1="$?"
 sleep 2
 start-stop-daemon --start --background --quiet --pidfile $PIDFILE2 --make-pidfile --exec $DAEMON2 \
 --chuid $DELUGED_USER --user $DELUGED_USER -- $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
 
:



Comme vous pouvez le voir le script n’est pas de moi….


Créer le fichier /etc/default/deluge-daemon  et copier ceci :

# Configuration for /etc/init.d/deluge-daemon
 
# The init.d script will only run if this variable non-empty.
DELUGED_USER="mon_user"
 
# Should we run at startup?
RUN_AT_STARTUP="YES"


Installer ensuite le service :

sudo update-rc.d deluge-daemon defaults 99


Et le démarrer :

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


Autres paramétrages

Dans l’interface web :

  • Network / Ports : changer le port par défaut et mettre le même port dans « from » et « to » (port à ouvrir dans votre routeur, mais c’est un autre sujet)
  • Bandwidth / Global : voila qui est délicat à régler et qui peut avoir de grandes conséquences sur la vitesse de download. J’avais il y a quelques temps trouvé un post expliquant comment régler ces paramètres mais je n’arrive plus à remettre la main dessus. Voici mes réglages (connexion free 2 Mo)
    • Maximum connections : 375
    • Maximum upload speed : 30
    • Maximum upload slot : 4
  • Deluge / Download : à vous de voir, voici mes réglages
    • Store all downoads in : /home/mon_user/downloads
    • Save .torrent files to : /home/mon_user/downloads
    • Auto Add folder : /home/mon_user/downloads/torrentfiles
    • Auto Add enabled : coché
  • Deluge / Queue : idem Bandwidth / Global, délicat..
    • Total active torrents: 8
    • Total active downloading: 3
    • Total active seeding: 3
    • Share ratio limit: 2.0
    • Seed time ratio limit: 7.0
    • Seed time limit: 100.

On notera le paramétrage indiquant à Delue le répertoire a scanner, pour l’auto-ajout de téléchargement.


Et voila, on pourra aussi

  • Changer le mot de passe
  • Changer le port
  • Activer et paramétrer le plugin Blocklist


Edit : Pour plus d’information Installation Deluge, Configuration Deluge (partie 1) et Configuration Deluge (partie 2)

Les commentaires sont fermés.