rTorrent : client bitTorrent en mode texte sous linux

J’ai récemment découvert rTorrent, un client bitTorrent en mode texte (avec une interface ncurses) sous linux, parfait donc sur un serveur dédié ou sur l’un de vos vieux PC qui traînent.

Sur un serveur dédié, vous pourrez installer screen qui vous permet de lancer (par exemple) rTorrent, puis de fermer l’écran de rTorrent sans arrêter le programme. Je l’explique plus loin !

Installation de rTorrent

Comme la version sur les serveurs de Debian est ancienne, les fichiers de configuration ayant légèrement changé de syntaxe, je vous conseille de regarder sur le site pour compiler le programme depuis les sources.

Installez également screen si vous ne l’avez pas :

apt-get install screen

Et créez un dossier pour vos torrents et vos téléchargements (on l’utilisera dans la configuration) :

mkdir /var/torrents

Et créez un dossier dans ce dossier pour automatiser les téléchargements (rTorrent téléchargera directement les .torrent qu’on met dans ce dossier !)

mkdir /var/torrents/todo

Puis un dossier qui servira à rTorrent à stocker ses infos en fonctionnement :

mkdir /var/torrents/sessions

Puis le dossier qui contiendra vos downloads en cours (non-terminés) :

mkdir /var/torrents/working

Puis le dossier qui contiendra vos downloads terminés :

mkdir /var/torrents/complete

Et enfin un dossier pour mettre vos torrents en pause de façon simple (sans avoir à passer par rTorrent) :

mkdir /var/torrents/pause

Configuration de rTorrent :

La configuration de rTorrent se passe par un seul fichier de configuration qui va nous permettre d’automatiser son fonctionnement.

nano -w /root/.rtorrent.rc

Vous n’avez plus qu’à faire un copier/coller :

# download max à 10 Mbps, augmentez la valeur suivant votre bande passante
download_rate = 10240
# upload max à 200 kbps on est radins !
upload_rate = 200     

# ip de votre routeur/serveur
# si vous êtes derrière un routeur (freebox...)
# décommentez et indiquez ici votre IP publique (WhatIsMyIp.com)
# ip = xx.xx.xx.xx     

# répertoire pour stocker les fichiers
directory = /var/torrents/working
session = /var/torrents/sessions     

# ports de connexion sur votre machine, pensez à
# ouvrir ces ports dans votre firewall et à les rediriger vers cette machine !
port_range = 6881-6999     

# le reste je l'explique pas :
port_random = yes
check_hash = yes
max_memory_usage = 268435456    

# surveiller les répertoires
schedule = watch_directory,15,15,load_start=/var/torrents/todo/*.torrent
schedule = tied_directory,15,15,start_tied=
schedule = untied_directory,15,15,stop_untied=     

# arrêter de partager le fichier quand vous avez
# donné plus de 200 Mo ou plus de 20% du fichier
schedule = ratio,60,60,"stop_on_ratio=200,200M,2000" 

# déplacer les downloads terminés
on_finished = move_complete,"execute=mv,-u,$get_d_base_path=,/var/torrents/complete/ ;set_d_directory=/var/torrents/complete/"  

# pour ne pas épuiser le disque dur, on augmente la taille du buffer en mémoire :
send_buffer_size = 1048576
receive_buffer_size = 1048576

Enfin, deux scripts (inspirés de dns777) :

1) script pour lancer rTorrent dans un “screen” :

nano -w ~/rtorrent-start.sh

Copiez-collez ça et enregistrez :

cd /var/torrents
screen -dmS rTorrent nice -n 15 rtorrent

2) et l’autre pour retourner dans le “screen” pour voir rTorrent :

nano -w ~/rtorrent-view.sh
stty stop undef
stty start undef
screen -r rTorrent

Rendez ces scripts exécutables :

chmod 755 ~/rtorrent-*.sh

Utilisation de rTorrent :

C’est easy avec notre script :

~/rtorrent-start.sh

Voilà, rTorrent tourne. Maintenant pour lui faire démarrer un téléchargement, c’est easy, allez sur un site de torrents (légal bien évidemment, donc pas comme the Pirate Bay) et enregistrez votre torrent dans : /var/torrents/todo, par exemple en faisant :

wget http://cdimage.debian.org/debian-cd/4.0_r0/i386/bt-cd/debian-40r0-i386-CD-1.iso.torrent

Une fois le téléchargement terminé, vous trouverez votre fichier dans /var/torrents/complete.

Pour mettre en pause un téléchargement, déplacez le .torrent du répertoire /var/torrents/todo vers /var/torrents/pause.

Si vous avez besoin de passer dans rTorrent pour voir ce qu’il fait, tapez :

~/rtorrent-view.sh

Vous trouverez les commandes utiles en tapant :

man rtorrent

N’oubliez pas que une fois que vous êtes dans rTorrent il ne faut pas le fermer (CTRL + Q) sinon vous arrêtez vos téléchargements. Par contre, vous pouvez le laisser tourner en tâche de fond en tapant : CTRL + A et D pour “détacher l’écran” de rTorrent créé par screen.

Interface de rTorrent :

Lorsque vous êtes dans rTorrent, voici quelques touches utiles pour utiliser l’interface qui fait peur au début :

  • HAUT / BAS : choisir un torrent
  • DROITE / GAUCHE : avoir des infos sur un torrent ou revenir en arrière dans l’interface
  • CTRL + D : arrête un torrent (s’il tourne, sinon le supprime)
  • CTRL + S : démarre un torrent
  • CTRL + Q : quitter rTorrent

Pour en savoir plus :