Deluge est un client Bittorrent efficace (basé sur libtorrent) et riche en fonctionnalités.
Installer le démon :
Et installer une ou plusieurs interfaces :
Pour l'installation minimale avec une interface déportée, installer au moins deluge-console pour tester.
Remarque : python sera automatiquement installé.
Deluge est composé de deux parties :
Etape1 : lancer le démon
# deluged # ps aux|grep deluge root 19758 0.8 1.1 60888 11720 ? Sl 20:46 0:00 /usr/bin/python /usr/bin/deluged root 19766 0.0 0.0 3696 800 pts/0 R+ 20:46 0:00 grep deluge #
Etape 2 : lancer une interface avec deluge-web, deluge-gtk ou deluge-console
# deluge-web [ERROR ] 20:48:01 config:293 Error backing up old config..
Dans cet exemple, nous utilisons l'interface web, accessible sur le port 8112.
deluged est un service qui écoute sur le port 58846.
Les comptes utilisés par deluged sont définis dans le fichier ~/.config/deluge/auth.
Le format des lignes du fichier est le suivant :
login:pass:level
les mots de passe sont en clair et le level est compris entre 0 et 10 :
Le compte localuser est défini automatiquement et est utilisé par les clients deluge locaux.
Ces comptes ne sont pas utilisable à distance par défaut. Voir autoriser l'acces distant pour l'activer.
Lorsque l'interface web est lancée, celle-ci est authentifiée par son propre mot de passe enregistré dans web.conf. “deluge” par défaut.
Il est donc impératif de changer ce mot de passe à la première connexion.
Dans la version actuelle du paquet Debian, deluge ne se lance pas au démarrage, et l'interface web n'est pas en démon.
De plus deluge tourne avec l'utilisateur qui le lance et enregistrer ses paramètres dans le répertoire home de l'utilisateur (dans .config/deluge).
Nous allons ici :
# adduser deluge Ajout de l'utilisateur « deluge »... Ajout du nouveau groupe « deluge » (1002)... Ajout du nouvel utilisateur « deluge » (1002) avec le groupe « deluge »... Création du répertoire personnel « /home/deluge »... Copie des fichiers depuis « /etc/skel »... Entrez le nouveau mot de passe UNIX : Retapez le nouveau mot de passe UNIX : passwd : le mot de passe a été mis à jour avec succès Changing the user information for deluge Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Ces informations sont-elles correctes ? [O/n] o #
La section suivante provient de http://dev.deluge-torrent.org/wiki/UserGuide/InitScript (venant de http://apocryph.org/2008/11/30/setting_deluge_headless_ubuntu_seedbox_windows_client/).
Ajouter le fichier /etc/default/deluge-daemon contenant (ne pas oublier de changer le nom d'utilisateur) :
# Configuration for /etc/init.d/deluge-daemon # The init.d script will only run if this variable non-empty. DELUGED_USER="deluge" # !!!CHANGE THIS!!!! # Should we run at startup? RUN_AT_STARTUP="YES"
Ajouter le fichier /etc/init.d/deluge-daemon :
#!/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=22 # 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 :
Rendre le script exécutable et l'insérer au démarrage :
/etc/init.d# chmod 755 deluge-daemon /etc/init.d# update-rc.d deluge-daemon defaults Adding system startup for /etc/init.d/deluge-daemon ... /etc/rc0.d/K20deluge-daemon -> ../init.d/deluge-daemon /etc/rc1.d/K20deluge-daemon -> ../init.d/deluge-daemon /etc/rc6.d/K20deluge-daemon -> ../init.d/deluge-daemon /etc/rc2.d/S20deluge-daemon -> ../init.d/deluge-daemon /etc/rc3.d/S20deluge-daemon -> ../init.d/deluge-daemon /etc/rc4.d/S20deluge-daemon -> ../init.d/deluge-daemon /etc/rc5.d/S20deluge-daemon -> ../init.d/deluge-daemon /etc/init.d#
Lancer le démon :
# /etc/init.d/deluge-daemon start # ps aux|grep del deluge 20151 1.1 1.2 69084 12516 ? Sl 21:46 0:00 /usr/bin/python /usr/bin/deluged -d deluge 20162 2.6 0.9 96500 9624 ? Sl 21:46 0:00 /usr/bin/python /usr/bin/deluge -u web root 20178 0.0 0.0 3640 504 pts/1 R+ 21:46 0:00 grep del #
Pour utiliser une interface distante (par exemple GTK sous Linux ou Windows), il faut réaliser les étapes suivantes :
matthieu:mypassword:10
"allow_remote": true,
Une fois lancé, modifier les éléments suivants :