Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
deluge [Le 10/02/2019, 19:36] spnux [Voir aussi] |
deluge [Le 20/02/2023, 12:08] (Version actuelle) L'Africain MAJ |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Xenial p2p}} | + | {{tag>Jammy p2p}} |
---- | ---- | ||
Ligne 6: | Ligne 6: | ||
====== Deluge ====== | ====== Deluge ====== | ||
- | Deluge est un client [[:p2p|BitTorrent]] basé sur Python et GTK+. il s'intègre donc bien dans [[:Gnome]], [[:XFCE]] et [[:LXDE]]. | + | Deluge est un client [[:p2p|BitTorrent]] basé sur Python et GTK+. il s'intègre donc bien dans [[:Gnome]], [[:XFCE]], [[:Mate]] et [[:LXDE]]. |
{{:image:deluge_lucid_10.png?600}} | {{:image:deluge_lucid_10.png?600}} | ||
- | == Fonctionnalités de base == | + | Fonctionnalités de base : |
* Affichage dans une seule fenêtre des téléchargements simultanés | * Affichage dans une seule fenêtre des téléchargements simultanés | ||
* Gestion des priorités de téléchargement (par torrent, mais aussi pour chacun des fichiers compris dans un torrent) | * Gestion des priorités de téléchargement (par torrent, mais aussi pour chacun des fichiers compris dans un torrent) | ||
- | * Supporte la Mainline DHT, | + | * Supporte la Mainline DHT, |
* Supporte l'UPnP et le mappage des ports NAT-PMP | * Supporte l'UPnP et le mappage des ports NAT-PMP | ||
* Supporte le chiffrement des flux | * Supporte le chiffrement des flux | ||
* Supporte le µTorrent Peer Exchange | * Supporte le µTorrent Peer Exchange | ||
- | == Greffons intégrés == | + | Greffons intégrés : |
* Création de torrents | * Création de torrents | ||
* Déplacements de torrents (une fois le téléchargement entamé) | * Déplacements de torrents (une fois le téléchargement entamé) | ||
Ligne 28: | Ligne 28: | ||
* Support des flux RSS | * Support des flux RSS | ||
- | ===== Pré-requis ===== | ||
- | |||
- | * Disposer des [[:sudo|droits d'administration]]. | ||
- | * Disposer d'une connexion à Internet configurée et activée. | ||
=====Installation===== | =====Installation===== | ||
Ligne 43: | Ligne 39: | ||
Il peut être intéressant d'installer Deluge dans ce mode si vous avez un ordinateur qui tourne en permanence et qui n'a pas d'écran ou de mode graphique installé. Vous pourrez y accéder depuis un autre poste au travers d'une interface web très proche de la version desktop. | Il peut être intéressant d'installer Deluge dans ce mode si vous avez un ordinateur qui tourne en permanence et qui n'a pas d'écran ou de mode graphique installé. Vous pourrez y accéder depuis un autre poste au travers d'une interface web très proche de la version desktop. | ||
- | [[:tutoriel:comment_installer_un_paquet|Installez]] les paquets **[[apt>deluged,deluge-webui|deluged deluge-webui]]** | + | [[:tutoriel:comment_installer_un_paquet|Installez]] les paquets **[[apt>deluged,deluge-web|deluged deluge-web]]** |
=====Configuration de la version serveur ===== | =====Configuration de la version serveur ===== | ||
Ligne 56: | Ligne 52: | ||
<code>sudo adduser Toto deluge</code> | <code>sudo adduser Toto deluge</code> | ||
- | ====Avant Ubuntu 16.04==== | ||
- | Nous allons maintenant faire en sorte que deluged (le daemon deluge) et deluge-web (son interface graphique web) soient lancés automatiquement au démarrage de l'ordinateur. Pour cela nous allons créer le [[:services|service]] correspondant. | ||
- | [[:tutoriel:comment_modifier_un_fichier|Créez le fichier]] **/etc/default/deluge-daemon** [[:sudo|avec les droits d'administration]]. | + | ==== Création du service Deluge Daemon (deluged) ==== |
- | Remplissez-le par le contenu suivant : | + | |
- | <file bash /etc/default/deluge-daemon> | + | |
- | # Configuration for /etc/init.d/deluge-daemon | + | |
- | + | ||
- | # The init.d script will only run if this variable non-empty. | + | |
- | DELUGED_USER="deluge" | + | |
- | + | ||
- | # Should we run at startup? | + | |
- | RUN_AT_STARTUP="YES" | + | |
- | </file> | + | |
- | + | ||
- | Créez un autre fichier du même nom dans **/etc/init.d** avec ce contenu: | + | |
- | <file bash /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 | + | |
- | # Modified: Sami Olmari | + | |
- | + | ||
- | PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin | + | |
- | DESC="Deluge Daemon" | + | |
- | NAME1="deluged" | + | |
- | NAME2="deluge-web" | + | |
- | DAEMON1=/usr/bin/deluged | + | |
- | DAEMON1_ARGS="-d -c /var/lib/deluge -l /var/log/deluged.log -L warning" | + | |
- | DAEMON2=/usr/bin/deluge-web | + | |
- | DAEMON2_ARGS="-p 9092 -c /var/lib/deluge -l /var/log/deluge-web.log -L warning" | + | |
- | 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 "$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 --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 | + | |
- | + | ||
- | : | + | |
- | </file> | + | |
- | + | ||
- | Rendez le script exécutable : | + | |
- | <code>sudo chmod a+x /etc/init.d/deluge-daemon</code> | + | |
- | + | ||
- | Configurez le lancement au démarrage du système et lancez le service : | + | |
- | <code>sudo update-rc.d deluge-daemon defaults | + | |
- | sudo service deluge-daemon start</code> | + | |
- | + | ||
- | === Installation automatisée === | + | |
- | Ce script réalise l'installation et le démarrage tel que vu dans ce tutoriel: | + | |
- | <file bash> | + | |
- | sudo apt-get update | + | |
- | sudo apt-get install deluged deluge-web | + | |
- | sudo adduser --disabled-password --system --home /var/lib/deluge --gecos "SamRo Deluge server" --group deluge | + | |
- | sudo wget http://doc.ubuntu-fr.org/_export/code/deluge?codeblock=2 --output-document=/etc/default/deluge-daemon | + | |
- | sudo wget http://doc.ubuntu-fr.org/_export/code/deluge?codeblock=3 --output-document=/etc/init.d/deluge-daemon | + | |
- | sudo chmod a+x /etc/init.d/deluge-daemon | + | |
- | sudo update-rc.d deluge-daemon defaults | + | |
- | sudo /var/lib/deluge | + | |
- | sudo service deluge-daemon start | + | |
- | </file> | + | |
- | + | ||
- | ==== À partir de Ubuntu 16.04==== | + | |
- | Comme [[:Xenial|Ubuntu 16.04]] utilise **systemd** en remplacement de [[:Init_d|Init.d]] ou [[:upstart]] pour la gestion des services, la configuration est légèrement différente. | + | |
- | + | ||
- | === Suppressions des anciennes configurations === | + | |
- | + | ||
- | Assurez vous qu'il n'y ait pas d'anciens fichiers de configuration [[:services|Init.d]] ou [[:upstart]] sur votre machine.\\ | + | |
- | Pour init.d : | + | |
- | <code>sudo /etc/init.d/deluge-daemon stop | + | |
- | sudo rm /etc/init.d/deluge-daemon | + | |
- | sudo update-rc.d deluge-daemon remove </code> | + | |
- | + | ||
- | Pour upstart : | + | |
- | <code>sudo stop deluged | + | |
- | sudo stop deluge-web | + | |
- | sudo rm /etc/init/deluge-web.conf | + | |
- | sudo rm /etc/init/deluged.conf</code> | + | |
- | + | ||
- | + | ||
- | === Création du service Deluge Daemon (deluged) === | + | |
[[:tutoriel:comment_modifier_un_fichier|Créez le fichier]] **/etc/systemd/system/deluged.service** [[:sudo|avec les droits d'administration]] et remplissez-le comme ceci : | [[:tutoriel:comment_modifier_un_fichier|Créez le fichier]] **/etc/systemd/system/deluged.service** [[:sudo|avec les droits d'administration]] et remplissez-le comme ceci : | ||
Ligne 283: | Ligne 76: | ||
[Install] | [Install] | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
- | </file> | + | </file> |
<note tip>Modifiez UMask=007 selon votre convenance : | <note tip>Modifiez UMask=007 selon votre convenance : | ||
Ligne 302: | Ligne 95: | ||
See system logs and 'systemctl status deluged.service' for details.</code></note> | See system logs and 'systemctl status deluged.service' for details.</code></note> | ||
- | === Création du service Deluge Web UI (deluge-web) === | + | ==== Création du service Deluge Web UI (deluge-web) ==== |
[[:tutoriel:comment_modifier_un_fichier|Créez le fichier]] **/etc/systemd/system/deluge-web.service** [[:sudo|avec les droits d'administration]] et remplissez-le comme ceci : | [[:tutoriel:comment_modifier_un_fichier|Créez le fichier]] **/etc/systemd/system/deluge-web.service** [[:sudo|avec les droits d'administration]] et remplissez-le comme ceci : | ||
<file txt /etc/systemd/system/deluge-web.service> | <file txt /etc/systemd/system/deluge-web.service> | ||
Ligne 316: | Ligne 109: | ||
UMask=027 | UMask=027 | ||
- | ExecStart=/usr/bin/deluge-web -p 9092 | + | ExecStart=/usr/bin/deluge-web -d -p 9092 |
Restart=on-failure | Restart=on-failure | ||
Ligne 384: | Ligne 177: | ||
Lancer Deluge dans un terminal pour voir un peu plus en détail ce qui se passe. | Lancer Deluge dans un terminal pour voir un peu plus en détail ce qui se passe. | ||
- | Si vous obtenez quelque chose qui ressemble à l'analyse des trackers actifs suivi d'une erreur semblable, lisez la méthode de résolution après. | + | Si vous obtenez quelque chose qui ressemble à l'analyse des trackers actifs suivi d'une erreur semblable, lisez la méthode de résolution après. |
Exemple : | Exemple : | ||
Ligne 414: | Ligne 207: | ||
* [[https://deluge-torrent.org/|Site officiel]] | * [[https://deluge-torrent.org/|Site officiel]] | ||
+ | * [[https://deluge.readthedocs.io/en/latest/how-to/systemd-service.html|Notice d'installation officielle]] | ||