Skip to content


rtorrent et rutorrent sur une Debian Wheezy

Introduction

J'ai dû me pencher sur la question : Comment télécharger depuis mon serveur dédié les épisodes (achetés légalement) qu'ils me manquaient sur mon smartPhone loin de chez moi !

Je me trouvait loin de mon domicile où se trouve mon ordinateur et mon client de torrent préféré et je suis l'heureux bénéficiaire d'un serveur dédié sous Debian wheezy 64bits.

rTorrent

Le moteur de téléchargement de fichier torrent dépouillé de toute fioriture !

Ce paquet installe un moteur de téléchargement de fichier par l'intermédiaire de fichiers torrent.

apt-get install -y rtorrent

Configuration basique de rtorrent

On crée un utilisateur dédié à la commande "rtorrent". Sachant que j'ai choisit comme répertoire de téléchargement /media/data/rtorrent/download/, celui-ci fera office de home pour l'utilisateur "rtorrentuser"

useradd -m -d /media/data/download/rtorrent/ rtorrentuser

Ajouter le groupe du processus apache à votre utilisateur

addgroup www-data rtorrentuser

Dans le répertoire de l'utilisateur qui lancera la commande "rtorrent" on crée un fichier rtorrent.rc (chez moi  /media/data/download/rtorrent/)

cat rtorrent.rc
 
# This is an example resource file for rTorrent. Copy to
# ~/.rtorrent.rc and enable/modify the options as needed. Remember to
# uncomment the options you wish to enable.
 
# Maximum and minimum number of peers to connect to per torrent.
#min_peers = 40
#max_peers = 100
 
# Same as above but for seeding completed torrents (-1 = same as downloading)
#min_peers_seed = 10
#max_peers_seed = 50
 
# Maximum number of simultanious uploads per torrent.
#max_uploads = 15
 
# Global upload and download rate in KiB. "0" for unlimited.
#download_rate = 0
#upload_rate = 0
 
# Default directory to save the downloaded torrents.
directory = /media/data/download/rtorrent/incomming/
 
# Default session directory. Make sure you don't run multiple instance
# of rtorrent using the same session directory. Perhaps using a
# relative path?
# session = /media/data/download/rtorrent/.session
 
# Watch a directory for new torrents, and stop those that have been
# deleted.
#schedule = watch_directory,5,5,load_start=./watch/*.torrent
#schedule = untied_directory,5,5,stop_untied=
 
# Close torrents when diskspace is low.
#schedule = low_diskspace,5,60,close_low_diskspace=100M
 
# The ip address reported to the tracker.
#ip = 127.0.0.1
#ip = rakshasa.no
 
# The ip address the listening socket and outgoing connections is
# bound to.
#bind = 127.0.0.1
#bind = rakshasa.no
 
# Port range to use for listening.
#port_range = 6890-6999
 
# Start opening ports at a random position within the port range.
#port_random = no
 
# Check hash for finished torrents. Might be usefull until the bug is
# fixed that causes lack of diskspace not to be properly reported.
#check_hash = no
 
# Set whetever the client should try to connect to UDP trackers.
#use_udp_trackers = yes
 
# Alternative calls to bind and ip that should handle dynamic ip's.
#schedule = ip_tick,0,1800,ip=rakshasa
#schedule = bind_tick,0,1800,bind=rakshasa
 
# Encryption options, set to none (default) or any combination of the following:
# allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext
#
# The example value allows incoming encrypted connections, starts unencrypted
# outgoing connections but retries with encryption if they fail, preferring
# plaintext to RC4 encryption after the encrypted handshake
#
# encryption = allow_incoming,enable_retry,prefer_plaintext
 
# Enable DHT support for trackerless torrents or when all trackers are down.
# May be set to "disable" (completely disable DHT), "off" (do not start DHT),
# "auto" (start and stop DHT as needed), or "on" (start DHT immediately).
# The default is "off". For DHT to work, a session directory must be defined.
#
# dht = auto
 
# UDP port to use for DHT.
#
# dht_port = 6881
 
# Enable peer exchange (for torrents not marked private)
#
# peer_exchange = yes
 
#
# Do not modify the following parameters unless you know what you're doing.
#
 
# Hash read-ahead controls how many MB to request the kernel to read
# ahead. If the value is too low the disk may not be fully utilized,
# while if too high the kernel might not be able to keep the read
# pages in memory thus end up trashing.
#hash_read_ahead = 10
 
# Interval between attempts to check the hash, in milliseconds.
#hash_interval = 100
 
# Number of attempts to check the hash while using the mincore status,
# before forcing. Overworked systems might need lower values to get a
# decent hash checking rate.
#hash_max_tries = 10
 
scgi_port = 127.0.0.1:5000

Où dans celui-ci on indique le répertoire de réception des fichiers en cours de téléchargement :

directory = /media/data/download/rtorrent/incomming/

Puis le répertoire de "session"

session =  /media/data/download/rtorrent/.session

Lancement de rtorrent

Pour créer le script "rtorrent" nous allons récupérer le script de démarrage ci-dessous :

#! /bin/sh
 
### BEGIN INIT INFO
# Provides: rtorrent
# 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: rtorrent
# Description: start rtorrent
### END INIT INFO
 
USER="user"
 
case "$1" in
  start)
echo "Starting rtorrent..."
su $USER -c 'screen -d -m -S rtorrent rtorrent'
;;
  stop)
echo "Stopping rtorrent..."
#killall -s 2 rtorrent
su $USER -c 'screen -X -S rtorrent quit'
;;
 
  restart|force-reload)
        $0 stop
        $0 start
;;
  *)
echo "Usage: $0 {start|stop|restart|force-reload}"
exit 1
;;
esac
Il faut modifier la valeur :
user="user"

en :

user="rtorrentuser"

Avec la commande suivante

sed -i -e "s/user=\"user\"/user=\"rtorrentuser\"/g" /etc/init.d/rtorrent

Nous allons planifier le démarrage de "rtorrent" au boot :

update-rc.d rtorrentInit.sh defaults

Puis nous démarrons celui-ci

service rtorrent restart

Voilà qui est fait côté "rtorrent"

Il nous faut une interface de gestion à distance de type web. Cela va ce faire par "rutorrent"

Installation de rutorrent

Nous téléchargeons l'archive et la décompressons

cd /tmp
wget https://rutorrent.googlecode.com/files/rutorrent-3.5.tar.gz
tar xvf rutorrent-3.5.tar.gz
mv rutorrent /var/www
wget https://rutorrent.googlecode.com/files/plugins-3.5.tar.gz
tar xvf plugins-3.5.tar.gz
mv plugins /var/www/rutorrent
rm -rf /var/www/rutorrent/plugins/darkpal # Depreciated plugin
chown -R www-data:www-data /var/www/rutorrent

On fixe les droits !

cd /var/www/
chown -R www-data:www-data rutorrent/
find share/ -type d -exec chmod 777 {} \;
find share/ -type f -exec chmod 666 {} \;

Accès à rutorrent

Simplement en accédant à :

http://IP-serveur/rutorrent/

ce qui donne :

Sécurisation de l'accès :

On crée un fichier ".htpaccess" dans le répertoire /var/www/rutorrent

AuthName "Identification accès"
 
AuthType Basic
 
AuthUserFile /var/www/rutorrent/.htpasswd
 
Require Valid-User

On crée le fichier .htaccess par la commande suivante :

htpasswd -c .htpasswd Jdownloadgrave

Voilà qui est fait !

enjoy 🙂

Print Friendly, PDF & Email

Posted in Debian, Linux, Technique, Toutes. Tagged with , , , .

4 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Bonjour,

    dir
    bin etc lib media proc sbin sys var
    boot home lib64 mnt root selinux tmp vmlinuz
    dev initrd.img lost+found opt run srv usr
    root@seedbox:/# useradd -m -d /media/data/download/rtorrent/ rtorrentuser
    useradd : impossible de créer le répertoire /media/data/download/rtorrent/

  2. Manque beaucoup de chose... pas mal de commande qui retourne une erreur...

    La version 3.6 ne contient pas de dossier share, le lien de téléchargement n'est plus disponible sur google....

  3. lolotux said

    Bonjour,

    Comme je le dis dans le tuto : "Sachant que j’ai choisit comme répertoire de téléchargement /media/data/rtorrent/download/, celui-ci fera office de home pour l’utilisateur « rtorrentuser »"

    Donc il vous faut choisir un répertoire qui existe (créé ou déjà existant) pour accueillir le home du user rtorrentuser....

    Par ailleurs difficile de mettre à jour un tuto fait il y a quelques mois sur des liens qui malheureusement ne pointe plus sur les pages attendues....

    Cependant la commande : svn checkout http://rutorrent.googlecode.com/svn/trunk/ rutorrent-read-only fonctionne et permet d'avoir
    rutorrent et plugins

    ...

  4. Owned said

    Merci pour la réponse cependant j'ai trouvé un autre tuto....

    Cordialement

Some HTML is OK

(required)

(required, but never shared)

or, reply to this post via trackback.

Time limit is exhausted. Please reload CAPTCHA.


/* */
Creative Commons License
Cette création par Laurent Besson est mise à disposition selon les termes de la licence Creative Commons Paternité-Partage des Conditions Initiales à l'Identique 2.0 France.