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 | ||
rtorrent [Le 14/11/2009, 00:48] 213.95.41.13 Supression des occurence GUI, recréé au dessus |
rtorrent [Le 11/09/2022, 11:36] (Version actuelle) moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Feisty Gutsy réseau p2p bittorrent}} | + | {{tag>Xenial réseau p2p bittorrent}} |
---- | ---- | ||
Ligne 7: | Ligne 7: | ||
**rTorrent** est un client BitTorrent très léger fonctionnant en ligne de commande. Il n'utilise que très peu de ressources (pratique si vous disposez d'une vieille machine). | **rTorrent** est un client BitTorrent très léger fonctionnant en ligne de commande. Il n'utilise que très peu de ressources (pratique si vous disposez d'une vieille machine). | ||
- | La seule contrainte de cet outil est qu'on ne peut pas fermer le terminal dans lequel il est lancé sans le stopper. Pour contourner ce problème, on utilisera le programme [[:Screen]] ou dtach. | + | {{https://i.imgur.com/6V6pB.png?500}} |
- | Il est également possible d'utiliser [[alltray]] afin d'envoyer l'icône du terminal dans la zone de notification. | + | |
+ | La seule contrainte de cet outil est qu'on ne peut pas fermer le terminal dans lequel il est lancé sans le stopper. Pour contourner ce problème, on utilisera le programme [[:Screen]], tmux ou dtach. | ||
+ | Il est également possible d'utiliser [[:alltray]] afin d'envoyer l'icône du terminal dans la zone de notification. | ||
===== Pré-requis ===== | ===== Pré-requis ===== | ||
- | + | ||
- | Vous devez activer les [[depots#universe_et_multiverse|dépôts Multiverse]]. | + | * Disposer des [[:sudo|droits d'administration]]. |
+ | * Disposer d'une connexion à Internet configurée et activée. | ||
===== Installation ===== | ===== Installation ===== | ||
- | [[tutoriel:comment_installer_un_paquet|Installez les paquets]] **[[apt://rtorrent|rtorrent]]** et **[[apt://screen|screen]]** (ou **[[apt://dtach|dtach]]**). | + | [[tutoriel:comment_installer_un_paquet|Installez les paquets]] **[[apt>rtorrent]]** et **[[apt>screen]]** (ou **[[apt>dtach]]**). |
===== Configuration ===== | ===== Configuration ===== | ||
- | Tout d'abord, commencez par créer le fichier de configuration. | ||
- | Copier le fichier **/usr/share/doc/rtorrent/examples/rtorrent.rc** dans votre dossier personnel. | + | Tout d'abord, commencez par créer le fichier de configuration. |
+ | |||
+ | Copier le fichier **/usr/share/doc/rtorrent/examples/rtorrent.rc** dans votre **dossier personnel**. | ||
<code>cp /usr/share/doc/rtorrent/examples/rtorrent.rc ~/.rtorrent.rc</code> | <code>cp /usr/share/doc/rtorrent/examples/rtorrent.rc ~/.rtorrent.rc</code> | ||
Ligne 27: | Ligne 30: | ||
Puis [[:tutoriel:comment_editer_un_fichier|Éditez le fichier]]. | Puis [[:tutoriel:comment_editer_un_fichier|Éditez le fichier]]. | ||
- | Voici une configuration basique de ce fichier. Pour plus de détails, consultez la [[:page de manuel]] de rTorrent. | + | Voici une configuration basique de ce fichier. Pour plus de détails, consultez la [[:man|page de manuel]] de rTorrent. |
- | <file> | + | <file rtorrent.rc> |
# Fichier de configuration de rtorrent. | # Fichier de configuration de rtorrent. | ||
# Par défaut, c'est le fichier ~/.rtorrent.rc | # Par défaut, c'est le fichier ~/.rtorrent.rc | ||
- | # Limites des taux de telechargement en reception et en envoi. "0" équivaut à aucune limite. | + | # Limites des taux de téléchargement en réception et en envoi. "0" équivaut à aucune limite. |
- | download_rate = 500 | + | #download_rate = 500 |
- | upload_rate = 150 | + | #upload_rate = 150 |
- | # Répertoire qui contient les fichiers qui pendant le téléchargement. | + | # Répertoire qui contient les fichiers téléchargés. |
directory = ~/torrent/data | directory = ~/torrent/data | ||
# Répertoire où rtorrent stocke l'état de téléchargement des torrents. | # Répertoire où rtorrent stocke l'état de téléchargement des torrents. | ||
session = ~/torrent/session | session = ~/torrent/session | ||
+ | # Utilisez un chemin //relatif// si vous êtes susceptible de lancer plusieurs | ||
+ | # instances de rtorrent ! Commentez la ligne précédente et décommentez celle-ci : | ||
+ | #session = ./session | ||
# Ports utilisables par rtorrent (utilisez deux fois la même valeur pour utiliser tout le temps ce port) | # Ports utilisables par rtorrent (utilisez deux fois la même valeur pour utiliser tout le temps ce port) | ||
Ligne 51: | Ligne 56: | ||
check_hash = yes | check_hash = yes | ||
- | # Ce repertoire contient les fichiers .torrent. | + | # Ce répertoire contient les fichiers .torrent. |
# Dès qu'un nouveau .torrent y est ajouté, le téléchargement commence. | # Dès qu'un nouveau .torrent y est ajouté, le téléchargement commence. | ||
schedule = watch_directory,15,15,load_start=~/torrent/torrent_active/*.torrent | schedule = watch_directory,15,15,load_start=~/torrent/torrent_active/*.torrent | ||
# Dès que le téléchargement est achevé, le fichier est déplacé dans le | # Dès que le téléchargement est achevé, le fichier est déplacé dans le | ||
- | # répertoire ~/torrent_finis | + | # répertoire ~/torrent_finis. |
- | on_finished = move_complete,"execute=mv,-u,$d.get_base_path=,~/torrent_finis/;d.set_directory=~/torrent_finis/" | + | # Pour les versions récentes de rtorrent (0.8.4 et supérieures), utilisez la ligne suivante : |
+ | #system.method.set_key = event.download.finished,move_complete,"execute=mv,-u,$d.get_base_path=,~/torrent_finis/;d.set_directory=~/torrent_finis/" | ||
+ | # Pour les versions 0.7.7 de 0.8.3, utilisez la ligne suivante : | ||
+ | #on_finished = move_complete,"execute=mv,-u,$d.get_base_path=,~/torrent_finis/;d.set_directory=~/torrent_finis/" | ||
# Activation de DHT pour les torrents sans trackers. | # Activation de DHT pour les torrents sans trackers. | ||
- | # Il est obligatoire de définir un répertoire de session | + | # Il est obligatoire de définir un répertoire de session (voir plus haut). |
dht = auto | dht = auto | ||
- | # Port UDP pour l'utilisation de DHT. | + | # Port UDP pour l'utilisation de DHT. |
dht_port = 6880 | dht_port = 6880 | ||
# Forcer l'utilisation de transactions chiffrées, pour ne recevoir et n'envoyer que des données protégées. | # Forcer l'utilisation de transactions chiffrées, pour ne recevoir et n'envoyer que des données protégées. | ||
- | # En revanche, les identités du l'expéditeur et du destinaire restent visisles. | + | # En revanche, les identités du l'expéditeur et du destinataire restent visibles. |
encryption = allow_incoming,require,require_rc4 | encryption = allow_incoming,require,require_rc4 | ||
</file> | </file> | ||
- | + | <note tip>Il faut penser à ouvrir les ports utilisés par rtorrent dans [[:iptables]]. Les ports définis dans port_range & dht_port.</note> | |
- | + | ||
===== Utilisation ===== | ===== Utilisation ===== | ||
- | Pour lancer rtorrent, tapez dans une console : | + | Pour lancer rtorrent, tapez dans un [[:terminal]] : |
rtorrent | rtorrent | ||
Ligne 110: | Ligne 116: | ||
Voici l'exemple d'un torrent : | Voici l'exemple d'un torrent : | ||
<code> | <code> | ||
- | * ubuntu-5.10-install-i386.iso | + | * ubuntu-11.04-install-i386.iso |
* Torrent: 161.6 / 617.2 MB Rate: 1.1 / 41.3 KB Uploaded: 5.1 MB [24%] 0d 3:09 [TI R: 0.03] | * Torrent: 161.6 / 617.2 MB Rate: 1.1 / 41.3 KB Uploaded: 5.1 MB [24%] 0d 3:09 [TI R: 0.03] | ||
* | * | ||
Ligne 117: | Ligne 123: | ||
Voici sa signification : | Voici sa signification : | ||
- | ubuntu-5.10-install-i386.iso | + | ubuntu-11.04-install-i386.iso |
Nom du fichier téléchargé. | Nom du fichier téléchargé. | ||
Ligne 131: | Ligne 137: | ||
[24%] | [24%] | ||
- | Pourcentage du torrent déjà téléchargé. | + | Pourcentage du torrent déjà téléchargé. |
0d 3:09 | 0d 3:09 | ||
Ligne 138: | Ligne 144: | ||
T | T | ||
- | <del> | + | Indique que le torrent a été chargé à l'aide d'un fichier *.torrent stocké localement (le flag n'est pas présent lorsque le fichier torrent est chargé par le biais d'une URL) |
- | Present if torrent is tied to a file, blank otherwise. | + | |
- | </del> ((Je ne sais pas à quoi ça sert, ni ce que ça signifie. Si vous le savez, merci de compléter. )) | + | |
I | I | ||
Ligne 147: | Ligne 151: | ||
R: 0.03 | R: 0.03 | ||
Indique le pourcentage de partage (//share ratio//) : c'est le nombre de données envoyées par rapport au nombre de données reçues. Ici, vous avez jusqu'ici envoyés 5.1 Mo et vous avez reçu 161.6 Mo, vous avez donc partagé 3 % du torrent. | Indique le pourcentage de partage (//share ratio//) : c'est le nombre de données envoyées par rapport au nombre de données reçues. Ici, vous avez jusqu'ici envoyés 5.1 Mo et vous avez reçu 161.6 Mo, vous avez donc partagé 3 % du torrent. | ||
- | |||
===== rtorrent en daemon...===== | ===== rtorrent en daemon...===== | ||
Ligne 154: | Ligne 157: | ||
Voici un petit script qui permet de lancer rtorrent au démarrage de la distribution tout en se laissant la possibilité d'accéder à l'interface console. | Voici un petit script qui permet de lancer rtorrent au démarrage de la distribution tout en se laissant la possibilité d'accéder à l'interface console. | ||
- | Vous devez tout d'abord avoir [[apt://dtach|dtach]]. | ||
- | Ensuite dans [[:tutoriel:comment_editer_un_fichier|/etc/init.d/rtorrent-daemon.sh]] on écrit : | + | Ensuite dans [[:tutoriel:comment_editer_un_fichier|/etc/init.d/rtorrentd]] on écrit : |
- | <code>#!/bin/sh -e | + | <file bash>#!/bin/sh -e |
- | # Démarrer/arrêter rtorrent sous forme de daemon. | + | # |
- | + | ### BEGIN INIT INFO | |
- | NAME=rtorrent-daemon.sh | + | # Provides: rtorrentd |
+ | # Required-Start: $network $syslog | ||
+ | # Required-Stop: $network | ||
+ | # Default-Start: 2 3 5 | ||
+ | # Default-Stop: 0 1 6 | ||
+ | # Description: Démarrer/arrêter rtorrent sous forme de daemon. | ||
+ | ### END INIT INFO | ||
+ | user= | ||
+ | NAME=rtorrentd | ||
SCRIPTNAME=/etc/init.d/$NAME | SCRIPTNAME=/etc/init.d/$NAME | ||
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin | ||
+ | # path du fichier temporaire | ||
+ | TMP=/tmp/rtorrent.dtach | ||
+ | # user qui lance le torrent | ||
+ | |||
+ | # chemin vers fichier conf | ||
+ | CONF=/home/${user}/.rtorrent.rc | ||
+ | |||
+ | start() { | ||
+ | echo -n $"Starting $NAME: " | ||
+ | su -l ${user} -c "dtach -n $TMP rtorrent -n -o import=$CONF" | ||
+ | chmod 666 /tmp/rtorrent.dtach | ||
+ | echo "started" | ||
+ | } | ||
+ | |||
+ | stop() { | ||
+ | echo -n $"Stopping $NAME: " | ||
+ | killall -r "rtorrent" | ||
+ | echo "stopped" | ||
+ | } | ||
+ | |||
+ | restart() { | ||
+ | |||
+ | if [ "$(ps aux | grep -e 'rtorrent' -c)" != 0 ]; then | ||
+ | { | ||
+ | stop | ||
+ | sleep 5 | ||
+ | } | ||
+ | fi | ||
+ | start | ||
+ | } | ||
+ | |||
case $1 in | case $1 in | ||
start) | start) | ||
- | echo -n "Démarrage de rtorrent... " | + | start |
- | dtach -n /tmp/rtorrent.dtach rtorrent -n -o import=/CHEMIN/VERS/VOTRE/FICHIER.rc | + | |
- | chmod 666 /tmp/rtorrent.dtach | + | |
- | echo "Démarré." | + | |
;; | ;; | ||
stop) | stop) | ||
- | echo -n "Arrêt de rtorrent... " | + | stop |
- | killall rtorrent | + | ;; |
- | echo "Arrêté." | + | restart) |
+ | restart | ||
;; | ;; | ||
*) | *) | ||
- | echo "Usage: $SCRIPTNAME {start|stop}" >&2 | + | echo "Usage: {start|stop|restart}" >&2 |
exit 2 | exit 2 | ||
;; | ;; | ||
esac | esac | ||
- | </code> | ||
- | <note tip>N'oubliez pas de changer "/CHEMIN/VERS/VOTRE/FICHIER.rc". La plupart du temps il se trouve ici : /home/USER/.rtorrent.rc</note> | ||
- | Pensez à rendre votre script exécutable : | + | </file> |
- | <code>sudo chmod +x /etc/init.d/rtorrent-daemon.sh</code> | + | <note tip>N'oubliez pas de renseigner compléter "user=" par votre nom d'utilisateur.</note> |
+ | |||
+ | Pensez à rendre votre script exécutable : | ||
+ | <code>sudo chmod +x /etc/init.d/rtorrentd</code> | ||
On termine avec la commande suivante pour indiquer que ce script doit s'exécuter au démarrage : | On termine avec la commande suivante pour indiquer que ce script doit s'exécuter au démarrage : | ||
- | <code>sudo update-rc.d rtorrent-daemon.sh defaults 99</code> | + | <code>sudo update-rc.d rtorrentd defaults 99</code> |
Maintenant, à chaque démarrage du système, rtorrent se lancera automatiquement. | Maintenant, à chaque démarrage du système, rtorrent se lancera automatiquement. | ||
Ligne 197: | Ligne 237: | ||
<note tip>Vous pouvez créer un [[:alias]] pour exécuter plus facilement la commande précédente.</note> | <note tip>Vous pouvez créer un [[:alias]] pour exécuter plus facilement la commande précédente.</note> | ||
- | Pour détacher ensuite l'interface console il suffit de taper CTRL + \. (Sur mac avec clavier suisse, le backslash se fait avec Maj + Alt + 7, et ça ne fonctionne pas avec l'interface console. Un Ctrl + $ fonctionne correctement pour détacher l'interface) | + | Pour détacher ensuite l'interface console il suffit de |
+ | * en qwerty: taper CTRL + \ | ||
+ | * en azerty: taper CTRL + MAJ + 4 | ||
+ | * mac avec clavier suisse, le backslash se fait avec Maj + Alt + 7 | ||
+ | * Ctrl + $ | ||
- | ===... avec screen === | ||
- | Installez [[apt://screen|screen]] qui est un outil plus répandu que dtach, il n'est pas aussi léger mais offre plus de fonctionnalités. | ||
- | Ensuite dans [[:tutoriel:comment_editer_un_fichier|/etc/init.d/rtorrent-daemon.sh]] on écrit : | ||
- | <code>#!/bin/sh -e | ||
- | # Démarrer/arrêter rtorrent sous forme de daemon. | ||
- | NAME=rtorrent-daemon.sh | ||
- | SCRIPTNAME=/etc/init.d/$NAME | ||
- | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin | ||
- | case $1 in | ||
- | start) | ||
- | echo -n "Démarrage de rtorrent... " | ||
- | # (ne marchera que pour l'utilisateur USER) | ||
- | su -l USER -c "screen -fn -dmS rtd nice -19 rtorrent" | ||
- | echo "Démarré." | ||
- | ;; | ||
- | stop) | ||
- | echo -n "Arrêt de rtorrent... " | ||
- | killall rtorrent | ||
- | echo "Arrêté." | ||
- | ;; | ||
- | *) | ||
- | echo "Usage: $SCRIPTNAME {start|stop}" >&2 | ||
- | exit 2 | ||
- | ;; | ||
- | esac | ||
- | </code> | ||
- | <note tip>N'oubliez pas de changer "USER" par votre nom d'utilisateur.</note> | ||
- | Pensez à rendre votre script exécutable: | ||
- | <code>sudo chmod +x /etc/init.d/rtorrent-daemon.sh</code> | ||
- | On termine avec la commande suivante pour indiquer que ce script doit s'exécuter au démarrage : | + | ===…avec screen === |
- | <code>sudo update-rc.d rtorrent-daemon.sh defaults 99</code> | + | Screen est un outil plus répandu que dtach, il n'est pas aussi léger mais offre plus de fonctionnalités. |
- | + | Dans [[:tutoriel:comment_editer_un_fichier|/etc/init.d/rtorrent-daemon]] on écrit : | |
- | Maintenant, à chaque démarrage du système, rtorrent se lancera automatiquement. | + | <file bash>#!/bin/sh -e |
- | + | ||
- | Pour pouvoir accéder à l'interface console on utilise la commande: | + | |
- | <code>stty stop undef; stty start undef; screen -r rtd</code> | + | |
- | + | ||
- | <note tip>Vous pouvez vous créer un [[:tutoriel:script_shell|script]] ou un [[:alias]] pour exécuter plus facilement la commande précédente.</note> | + | |
- | + | ||
- | Pour détacher ensuite l'interface console il suffit de taper Ctrl + a puis d . | + | |
- | + | ||
- | + | ||
- | Pour ceux qui préfère restart à start et stop : | + | |
- | + | ||
- | <code> | + | |
- | #!/bin/sh -e | + | |
# Start/Stop rtorrent sous forme de daemon. | # Start/Stop rtorrent sous forme de daemon. | ||
- | + | user= | |
- | NAME=rtorrentd | + | NAME=rtorrent-daemon |
SCRIPTNAME=/etc/init.d/$NAME | SCRIPTNAME=/etc/init.d/$NAME | ||
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin | ||
Ligne 258: | Ligne 260: | ||
start) | start) | ||
echo "Starting rtorrent... " | echo "Starting rtorrent... " | ||
- | su -l root -c "screen -fn -dmS rtd nice -19 rtorrent" | + | su -l ${user} -c "screen -fn -dmS rtd nice -19 rtorrent" |
echo "Terminated" | echo "Terminated" | ||
;; | ;; | ||
Ligne 281: | Ligne 283: | ||
killall -r "^.*rtorrent$" | killall -r "^.*rtorrent$" | ||
echo "Starting rtorrent... " | echo "Starting rtorrent... " | ||
- | su -l root -c "screen -fn -dmS rtd nice -19 rtorrent" | + | su -l ${user} -c "screen -fn -dmS rtd nice -19 rtorrent" |
echo "Terminated" | echo "Terminated" | ||
} | } | ||
Ligne 288: | Ligne 290: | ||
echo "rtorrent not yet started !" | echo "rtorrent not yet started !" | ||
echo "Starting rtorrent... " | echo "Starting rtorrent... " | ||
- | su -l root -c "screen -fn -dmS rtd nice -19 rtorrent" | + | su -l ${user} -c "screen -fn -dmS rtd nice -19 rtorrent" |
echo "Terminated" | echo "Terminated" | ||
} | } | ||
Ligne 298: | Ligne 300: | ||
;; | ;; | ||
esac | esac | ||
- | </code> | + | </file> |
+ | <note tip>N'oubliez pas de compléter "user=" par votre nom d'utilisateur.</note> | ||
+ | Pensez à rendre votre script exécutable: | ||
+ | <code>sudo chmod +x /etc/init.d/rtorrent-daemon</code> | ||
- | Sans vouloir critiquer, ce code est plus propre car il ne kill pas le daemon en même temps que les processus de rtorrent. | + | On termine avec la commande suivante pour indiquer que ce script doit s'exécuter au démarrage : |
- | Ne pas oublier de remplacer root par le nom d'utilisateur. | + | <code>sudo update-rc.d rtorrent-daemon defaults 99</code> |
+ | |||
+ | Maintenant, à chaque démarrage du système, rtorrent se lancera automatiquement. | ||
+ | |||
+ | Pour pouvoir accéder à l'interface console on utilise la commande: | ||
+ | <code>stty stop undef; stty start undef; screen -r rtd</code> | ||
+ | |||
+ | <note tip>Vous pouvez vous créer un [[:tutoriel:script_shell|script]] ou un [[:alias]] pour exécuter plus facilement la commande précédente.</note> | ||
+ | |||
+ | Pour détacher ensuite l'interface console il suffit de taper Ctrl + a puis d . | ||
+ | |||
+ | ===…avec crontab === | ||
+ | |||
+ | Dans la crontab de l'utilisateur en lançant dtach. | ||
+ | L'utilisateur torrent lancera le dtach à chaque démarrage de la machine. | ||
+ | C'est simple, efficace, mais un peu brutal. | ||
+ | |||
+ | <code>sudo crontab -e -u torrent</code> | ||
+ | |||
+ | On rajoute cette ligne | ||
+ | |||
+ | # Start rtorrent in a detached session | ||
+ | @reboot TERM=xterm dtach -n ~/torrents/rtorrent rtorrent | ||
+ | ===== Interfaces graphiques ===== | ||
+ | Ce qui fait toute la puissance de rTorrent est son API : xmlrpc. Elle permet a un logiciel client de se connecter à rTorrent et à fournir une interface en se basant sur le moteur du logiciel. Cette flexibilité, obtenu à un coût très raisonnable (installation du paquet rtorrent), permet d'utiliser rTorrent de multiples façons. | ||
+ | Il peut être nécessaire d'installer pour ces clients mod_scgi : | ||
+ | [[apt>libapache2-mod-scgi]] (Disponible uniquement sur [[bionic|Ubuntu 18.04]] ((https://packages.ubuntu.com/search?suite=default§ion=all&arch=any&searchon=names&keywords=libapache2-mod-scgi))) | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Interfaces "Web" ==== | ||
+ | * [[rutorrent]] est une interface web en php. Elle est basée sur l'apparence (très agréable au demeurant) de uTorrent, le logiciel windows. | ||
+ | |||
+ | * [[https://github.com/Flood-UI/flood|flood]] est une interface moderne écrite en Node.js spécifiquement pour rTorrent, minimaliste et très fiable. | ||
===== Voir aussi ===== | ===== Voir aussi ===== | ||
- | * [[http://libtorrent.rakshasa.no/|Site officiel de rTorrent]] (en) | + | * [[http://rakshasa.github.io/rtorrent/|Site officiel de rTorrent]] (en) |
---- | ---- | ||
- | //Contributeurs : [[utilisateurs:yoyomoony|Yoann/Yoyo/Yoyomoony]], [[utilisateurs:Samaga]], Geek Spirit.// | + | //Contributeurs : [[utilisateurs:Yoann]], [[utilisateurs:Samaga]], [[utilisateurs:Flayor]], Geek Spirit, Simtris.// |