Après vous avoir présenté Transmission et Flood, voici un autre client torrent incontournable pour votre seedbox : ruTorrent. Tout comme Flood, c'est une interface web libre pour rTorrent, mais elle est cette fois-ci propulsée par PHP et non pas Node.js.
L'interface de ruTorrent est clairement moins moderne que Flood, mais elle reste néanmoins ergonomique et complète. Aussi, on peut ajouter de nombreux plugins, mais je ne vais pas couvrir l'installation de ceux-ci dans ce tutoriel.

Une Seedbox ?
Une seedbox est un serveur dédié au téléchargement et au partage de fichiers torrents. Transmission est une interface web qui nous permet de télécharger ces fichiers.
Pourquoi avoir une seedbox ? Le fait que ce soit un serveur signifie que :
• vous avez beaucoup de stockage
• vous avez beaucoup de bande passante, donc des téléchargements rapides
• vous n’êtes pas surveillés par HADOPI
• vous pouvez regarder vos films ou séries en streaming depuis votre serveur.
Installation
Installation des dépendances
apt install screen unzipInstallation de rTorrent
Contrairement à mon article pour installer Flood, qui concernait Debian 8, on peut directement installer rTorrent et libtorrent depuis les dépôts, sans les compiler, puisqu'ils sont disponibles dans leur dernière version.
apt install rtorrentConfiguration de rTorrent
On crée un utilisateur pour rTorrent :
adduser --disabled-password rtorrentOn édite la configuration de rTorrent :
nano /home/rtorrent/.rtorrent.rcEt on ajoute ceci :
# Vitesse de téléchargement max up/down, en KiB. "0" équivaut à aucune limite.
download_rate = 0
upload_rate = 10000
# Nombre maximal de téléchargements simultanés
max_downloads_global = 10
# Nombre maximal de peers par torrent
max_peers = 100
# Nombre maximal de peers à upload par torrent
max_uploads = 20
# Répertoire qui contient les fichiers téléchargés.
directory = /srv/seedbox/downloads
# Répertoire où rTorrent stocke l'état de téléchargement des torrents.
session = /srv/seedbox/.session
# Ports utilisables par rTorrent. 2x la même valeur = 1 port
port_range = 49999-49999
port_random = no
# Vérification des données à la fin du téléchargement
check_hash = yes
# Activation de DHT pour les torrents sans trackers.
# À désactiver si vous utilisez des trackers privés
dht = auto
dht_port = 6881
peer_exchange = yes
# On préfère les échanges avec chiffrement
encryption = allow_incoming,try_outgoing,enable_retry
# On autorise les trackers UDP
use_udp_trackers = yes
# Port SCGI, on en a besoin pour communiquer avec ruTorrent
scgi_port = 127.0.0.1:5000On applique les bonnes permissions au dossier de rTorrent :
chown rtorrent:rtorrent /home/rtorrent/On crée les dossiers de téléchargement et on applique les permissions :
mkdir -p /srv/seedbox/{downloads,.session}
chown rtorrent:rtorrent -R /srv/seedbox/Ensuite on crée un service systemd pour rTorrent qui nous permet de le démarrer et de l'arrêter.
nano /etc/systemd/system/rtorrent.service[Unit]
Description=rTorrent
After=network.target
[Service]
User=rtorrent
Type=forking
KillMode=none
ExecStart=/usr/bin/screen -d -m -fa -S rtorrent /usr/bin/rtorrent
ExecStop=/usr/bin/killall -w -s 2 /usr/bin/rtorrent
WorkingDirectory=%h
[Install]
WantedBy=default.targetsystemctl daemon-reload
systemctl enable rtorrent.service
systemctl start rtorrent.serviceInstallation de ruTorrent
On télécharge les fichiers de ruTorrent :
cd /srv/
wget https://github.com/Novik/ruTorrent/archive/v3.8.zip
unzip v3.8.zip
rm v3.8.zip
mv ruTorrent-3.8/ seedbox/rutorrentOn y applique les bonnes permissions pour que PHP y ait accès :
chown www-data:www-data -R /srv/seedbox/rutorrent
chmod 775 -R /srv/seedboxInstallation de PHP
On installe PHP-FPM 7.0 depuis les dépôts :
apt install php7.0 php7.0-fpmGénération du certificat avec Let's Encrypt
On installe le client letsencrypt :
apt install letsencryptPuis on génère un certificat signé par une clé RSA 4096 bits. Mettez votre domaine et votre adresse mail dans la commande ci-dessous.
letsencrypt certonly -d seedbox.hadopi.fr --agree-tos -m contact@hadopi.fr --rsa-key-size 4096 --standaloneConfiguration du serveur web Nginx
On installe nginx :
apt install nginxEnsuite on va créer un couple utilisateur / mot de passe pour protéger l'accès à ruTorrent via une authentification HTTP.
apt install apache2-utils
htpasswd -c /etc/nginx/auth utilisateurEnsuite on configure nginx:
nano /etc/nginx/conf.d/seedbox.confModifiez le domaine ci-dessous par le votre.
server {
listen 80;
listen [::]:80;
server_name seedbox.hadopi.fr;
return 301 https://seedbox.hadopi.fr$request_uri;
access_log /dev/null;
error_log /dev/null;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name seedbox.hadopi.fr;
root /srv/seedbox/rutorrent/;
index index.html;
access_log /var/log/nginx/rutorrent-access.log;
error_log /var/log/nginx/rutorrent-error.log;
auth_basic "Fermé!";
auth_basic_user_file /etc/nginx/auth;
ssl_certificate /etc/letsencrypt/live/seedbox.hadopi.fr/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/seedbox.hadopi.fr/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/seedbox.hadopi.frchain.pem;
ssl_protocols TLSv1.2;
ssl_ecdh_curve X25519:P-521:P-384:P-256;
ssl_ciphers EECDH+CHACHA20:EECDH+AESGCM:EECDH+AES;
ssl_prefer_server_ciphers on;
ssl_stapling on;
ssl_stapling_verify on;
resolver 80.67.169.12 80.67.169.40 valid=300s;
resolver_timeout 5s;
ssl_session_cache shared:SSL:10m;
location ~* \.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf|x-html|html|css|xml|js|woff|woff2|ttf|svg|eot)$ {
expires 30d;
access_log off;
log_not_found off;
}
location / {
try_files $uri $uri/ =404;
}
location /RPC2 {
include /etc/nginx/scgi_params;
scgi_pass 127.0.0.1:5000;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffers 4 256k;
fastcgi_buffer_size 128k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
}Configuration de ruTorrent
Vous allez probablement avoir ce genre d'erreurs si vous allez sur ruTorrent :

Ce ne sont pas des erreurs bloquantes, mais mieux vaut ne pas en avoir !
On installe donc les dépendances nécessaires :
apt install unrar mediainfo ffmpeg curlPersonnellement j'ai du aller modifier le fichier de conf de ruTorrent pour spécifier l'emplacement de curl :
nano /srv/seedbox/rutorrent/conf/config.phpComme ceci :

Enjoy
Et voilà, vous pouvez accéder à votre client torrent super performant via https://votre-domaine.
Je vous laisser faire un tour dans les réglages et télécharger des distributions GNU/Linux ;)





17 commentaires