Seedbox : installer le client torrent Transmission sous Debian et Ubuntu

Étant en pleine migration de mon dédié SoYouStart vers un VPS PulseHeberg pour ma seedbox, j'en profite pour écrire une série de tutoriel lié à l'installation de celle-ci.

Transmission est un client qui permet de télécharger des fichiers torrent. Il est disponible sur un grand nombre de plateformes sous la forme un client "lourd", un outil en ligne de commande, ou encore un service en arrière plan, ce qui nous intéresse ici pour notre seedbox.

C'est un client qui existe depuis 11 ans et qui est très stable. Il n'a pas énormément de fonctionnalités, mais c'est mon client préféré parce que c'est une valeur sûre, "ça juste marche ©"

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

C'est probablement le client qui s'installe le plus facilement, puisqu'il est disponible sous forme de paquet dans les dépôts.

apt install transmission-daemon

Configuration

Ensuite, on va pouvoir modifier le fichier de configuration ici :

nano /etc/transmission-daemon/settings.json

Attention : une fois les modifications effectuées, il faudra faire service transmission-daemon reload et non pas restart. En effet, pour une raison obscure, si vous faites restart, le fichier de conf va se réinitialiser...

Transmission sera accessible à cette adresse : http://IP_DU_SERVEUR:9091/transmission/web/.

Vous aurez une erreur vous indiquant que vous n'avez pas le droit d'y accéder. En effet la page est protégé par une whitelist d'IPs et une authentification par utilisateur et mot de passe.

Il va falloir aller chercher ici dans la conf :

 "rpc-authentication-required": true, // Activation de l'auth par mot de passe
 "rpc-bind-address": "0.0.0.0", // 127.0.0.1 pour écouter en local
 "rpc-enabled": true, // Activation de l'interface web
 "rpc-password": "MOT_DE_PASSE", // Tapez votre mot de passe, il sera salé au reload
 "rpc-port": 9091, // Port d'écoute
 "rpc-url": "/transmission/", // Correspond à l'URL d'accès
 "rpc-username": "UTILISATEUR", // Nom d'utilisateur pour l'auth
 "rpc-whitelist": "127.0.0.1", // IPs à whitelist
 "rpc-whitelist-enabled": true, // Activation de la whitelist

(Attention à ne pas mettre les commentaires et // dans votre conf, ça marchera pas)

Le reste des options dans la configuration concerne les dossiers de téléchargement, le ratio de partage, la vitesse, les slots, les peers, etc.. Vous trouverez une explication complète du fichier ici.

Pour que les modifications soient prisent en compte :

service transmission-daemon reload

(Surtout pas de stop/start ou de restart : ça reset la conf.)

Une fois que vous avez configuré transmission à votre goût, vous pouvez commencer à télécharger !

Seedbox : installer le client torrent Transmission sous Debian et Ubuntu

Configurer un reverse proxy HTTPS avec Nginx

Tant qu'on y est, autant faire les choses proprement, et accéder à notre seedbox en HTTPS via un nom de domaine :)

Pré-requis :

  • Faire pointer son domaine ou sous-domaine en A (ou AAAA) sur l'IP de la seedbox
  • Installer Nginx
  • Générer un certificat pour son domaine avec Let's Encrypt

On va faire en sorte que Transmission n'écoute qu'en local :

"rpc-bind-address": "127.0.0.1",

Ensuite, on configure Nginx. Dans cet exemple ce sera pour le domaine seedbox.hadopi.fr.

La configuration sera à placer dans /etc/nginx/conf.d/seedbox/conf ou /etc/nginx/sites-enabled/seedbox.conf, selon votre version de Nginx.

upstream transmission  {
 server 127.0.0.1:9091;
}
server {
 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;
 server_name seedbox.hadopi.fr;

 access_log /var/log/nginx/seedbox-access.log;
 error_log /var/log/nginx/seedbox-error.log;

 location / {
  return 301 https://$server_name/transmission/;
 }
 location ^~ /transmission {
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $http_host;
  proxy_set_header Connection "";
  proxy_pass_header X-Transmission-Session-Id;
       
  location /transmission/rpc {
   proxy_pass http://transmission;
  }
       
  location /transmission/web/ {
   proxy_pass http://transmission;
  }
       
  location /transmission/upload {
   proxy_pass http://transmission;
  }
       
  location /transmission/web/style/ {
   alias /usr/share/transmission/web/style/;
  }
       
  location /transmission/web/javascript/ {
   alias /usr/share/transmission/web/javascript/;
  }
       
  location /transmission/web/images/ {
   alias /usr/share/transmission/web/images/;
  }
           
  location /transmission/ {
   return 301 http://$server_name/transmission/web;
  }
 }

 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.fr/chain.pem;

 ssl_protocols TLSv1.2;
 ssl_ecdh_curve secp384r1;
 ssl_ciphers EECDH+AESGCM:EECDH+AES;
 ssl_prefer_server_ciphers on;
 resolver 80.67.169.12 80.67.169.40 valid=300s;
 resolver_timeout 5s;
 ssl_stapling on;
 ssl_stapling_verify on;
 ssl_session_cache shared:SSL:10m;
 ssl_session_timeout 5m;
 ssl_session_tickets off;
}

La configuration HTTPS est tiré de mon article sur le sujet.

Et voilà, profitez bien !

Seedbox : installer le client torrent Transmission sous Debian et Ubuntu


Image de une par Revista Espírito Livre.

Je me propose aussi de vous installer votre seedbox sur 5euros.com.

L'article Seedbox : installer le client torrent Transmission sous Debian et Ubuntu a été publié sur Angristan

Vus : 1689
Publié par Angristan : 57