Seedbox : installer le client ruTorrent sous Debian 9
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 unzip
Installation 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 rtorrent
Configuration de rTorrent
On crée un utilisateur pour rTorrent :
adduser --disabled-password rtorrent
On édite la configuration de rTorrent :
nano /home/rtorrent/.rtorrent.rc
Et 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:5000
On 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.target
systemctl daemon-reload systemctl enable rtorrent.service systemctl start rtorrent.service
Installation 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/rutorrent
On 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/seedbox
Installation de PHP
On installe PHP-FPM 7.0 depuis les dépôts :
apt install php7.0 php7.0-fpm
Génération du certificat avec Let's Encrypt
On installe le client letsencrypt :
apt install letsencrypt
Puis 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 --standalone
Configuration du serveur web Nginx
On installe nginx :
apt install nginx
Ensuite 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 utilisateur
Ensuite on configure nginx:
nano /etc/nginx/conf.d/seedbox.conf
Modifiez 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 curl
Personnellement j'ai du aller modifier le fichier de conf de ruTorrent pour spécifier l'emplacement de curl :
nano /srv/seedbox/rutorrent/conf/config.php
Comme 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 ;)
L'article Seedbox : installer le client ruTorrent sous Debian 9 a été publié sur Angristan