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, tmux ou dtach. Il est également possible d'utiliser alltray afin d'envoyer l'icône du terminal dans la zone de notification.
Installez les paquets rtorrent et screen (ou dtach).
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.
cp /usr/share/doc/rtorrent/examples/rtorrent.rc ~/.rtorrent.rc
Puis Éditez le fichier.
Voici une configuration basique de ce fichier. Pour plus de détails, consultez la page de manuel de rTorrent.
# Fichier de configuration de rtorrent. # Par défaut, c'est le fichier ~/.rtorrent.rc # Limites des taux de téléchargement en réception et en envoi. "0" équivaut à aucune limite. #download_rate = 500 #upload_rate = 150 # Répertoire qui contient les fichiers téléchargés. directory = ~/torrent/data # Répertoire où rtorrent stocke l'état de téléchargement des torrents. 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) port_range = 6881-6999 port_random = no # Vérification des données à la fin du téléchargement check_hash = yes # Ce répertoire contient les fichiers .torrent. # 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 # Dès que le téléchargement est achevé, le fichier est déplacé dans le # répertoire ~/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. # Il est obligatoire de définir un répertoire de session (voir plus haut). dht = auto # Port UDP pour l'utilisation de DHT. dht_port = 6880 # 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 destinataire restent visibles. encryption = allow_incoming,require,require_rc4
Pour lancer rtorrent, tapez dans un terminal :
rtorrent
# Default session directory. Make sure you don't run multiple instance # of rtorrent using the same session directory. Perhaps using a # relative path? session = ~/torrent/session
Ces modifications permettront de conserver vos préférences.
Vous pouvez ajouter des fichiers *.torrent de deux façons :
Pour agir sur un torrent, vous devez le sélectionner (avec les touches haut et bas). Le torrent sélectionné est indiqué par 3 étoiles sur le côté gauche.
Voici l'exemple d'un torrent :
* 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] *
Voici sa signification :
ubuntu-11.04-install-i386.iso
Nom du fichier téléchargé.
Torrent: 161.6 / 617.2 MB
Nombre de Mo déjà téléchargés / nombre total du torrent.
Rate: 1.1 / 41.3 KB
Vitesses de téléchargement en envoi et en réception.
Uploaded: 5.1 MB
Nombre de Mo déjà envoyés.
[24%]
Pourcentage du torrent déjà téléchargé.
0d 3:09
Estimation du temps restant (ce chiffre se fonde sur la vitesse courante en réception du téléchargement). Si la vitesse en réception reste la même, le téléchargement sera terminé dans 0 jours, 3 heures et 9 minutes.
T
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)
I
Indique que le torrent ignore les commandes (telles que stop_on_ratio, move_complete)
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.
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.
Ensuite dans /etc/init.d/rtorrentd on écrit :
#!/bin/sh -e # ### BEGIN INIT INFO # 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 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 start) start ;; stop) stop ;; restart) restart ;; *) echo "Usage: {start|stop|restart}" >&2 exit 2 ;; esac
Pensez à rendre votre script exécutable :
sudo chmod +x /etc/init.d/rtorrentd
On termine avec la commande suivante pour indiquer que ce script doit s'exécuter au démarrage :
sudo update-rc.d rtorrentd defaults 99
Maintenant, à chaque démarrage du système, rtorrent se lancera automatiquement.
Pour pouvoir accéder à l'interface console il suffit d'utiliser la commande :
dtach -a /tmp/rtorrent.dtach -r winch
Pour détacher ensuite l'interface console il suffit de
Screen est un outil plus répandu que dtach, il n'est pas aussi léger mais offre plus de fonctionnalités. Dans /etc/init.d/rtorrent-daemon on écrit :
#!/bin/sh -e # Start/Stop rtorrent sous forme de daemon. user= NAME=rtorrent-daemon SCRIPTNAME=/etc/init.d/$NAME PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin case $1 in start) echo "Starting rtorrent... " su -l ${user} -c "screen -fn -dmS rtd nice -19 rtorrent" echo "Terminated" ;; stop) if [ "$(ps aux | grep -e '.*rtorrent$' -c)" != 0 ]; then { echo "Shutting down rtorrent... " killall -r "^.*rtorrent$" echo "Terminated" } else { echo "rtorrent not yet started !" echo "Terminated" } fi ;; restart) if [ "$(ps aux | grep -e '.*rtorrent$' -c)" != 0 ]; then { echo "Shutting down rtorrent... " killall -r "^.*rtorrent$" echo "Starting rtorrent... " su -l ${user} -c "screen -fn -dmS rtd nice -19 rtorrent" echo "Terminated" } else { echo "rtorrent not yet started !" echo "Starting rtorrent... " su -l ${user} -c "screen -fn -dmS rtd nice -19 rtorrent" echo "Terminated" } fi ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2 exit 2 ;; esac
Pensez à rendre votre script exécutable:
sudo chmod +x /etc/init.d/rtorrent-daemon
On termine avec la commande suivante pour indiquer que ce script doit s'exécuter au démarrage :
sudo update-rc.d rtorrent-daemon defaults 99
Maintenant, à chaque démarrage du système, rtorrent se lancera automatiquement.
Pour pouvoir accéder à l'interface console on utilise la commande:
stty stop undef; stty start undef; screen -r rtd
Pour détacher ensuite l'interface console il suffit de taper Ctrl + a puis d .
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.
sudo crontab -e -u torrent
On rajoute cette ligne
# Start rtorrent in a detached session @reboot TERM=xterm dtach -n ~/torrents/rtorrent rtorrent
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 : libapache2-mod-scgi (Disponible uniquement sur Ubuntu 18.04 1))