Télécharger des torrents légaux, c’est bien, mais parfois, pour de gros fichiers, le temps de téléchargement peut être très long. Et si comme moi, vous utilisez un portable qui n’est pas toujours allumé ou connecté à internet, rapatrier une distribution Linux de plusieurs Go peut vite se transformer en cauchemar.
D’où l’intérêt d’installer un client BitTorrent, accessible par une interface web sur mon Raspberry Pi : Transmission-deamon.
Cette version est similaire à la version classique à la différence qu’il s’agit d’un daemon controlé par une interface web et non un logiciel à part entière.
La procédure qui suit est largement inspirée du site de Robert Setiadi (en anglais) et adaptée à mon usage.
Avant de commencer, on va faire une mise à jour de la liste de versions des paquets disponible et mettre à jour ceux qui en ont besoin.
sudo apt-get update sudo apt-get upgrade
On va maintenant installer transmission-daemon :
sudo apt-get install transmission-daemon
Certaines procédures d’installation recommandent d’installer transmission-cli
et transmission-common
, mais ces 2 paquets s’installeront automatiquement en complément du daemon si nécessaire.
On va arrêter le daemon
le temps de sa configuration :
sudo service transmission-daemon stop
On va créer les dossiers pour stocker les torrents sur le disque externe USB en considérant qu’il est déjà monté sur /media/USB-HD
:
mkdir /media/USB-HD/Torrents mkdir /media/USB-HD/Torrents/incomplete mkdir /media/USB-HD/Torrents/complete
On va ajouter (-G) l’utilisateur pi
(par défaut, si vous ne l’avez pas changé à l’installation de Raspbian) au groupe debian-transmission
sans le supprimer des autres groupes (-a) :
sudo usermod -a -G debian-transmission pi
Dans de nombreux tutos, on ajoute également l’utilisateur pi
au groupe debian-transmission
avec cette commande :
sudo adduser pi debian-transmission
NB : J’avoue ne pas bien comprendre la subtilité et la différence entre les 2 commandes qui précèdent.
On va alors attribuer la propriété des dossiers suivants au groupe debian-transmission
:
chgrp debian-transmission /media/USB-HD/Torrents chgrp debian-transmission /media/USB-HD/Torrents/incomplete chgrp debian-transmission /media/USB-HD/Torrents/complete
Puis, on attribue la propriété des fichiers et dossiers suivants à l’utilisateur pi :
sudo chown pi -R /var/lib/transmission-daemon/info/
sudo chown pi -R /media/USB-HD/Torrents
sudo chown pi -R /media/USB-HD/Torrents/incomplete
sudo chown pi -R /media/USB-HD/Torrents/complete
sudo chown pi -R /etc/transmission-daemon/settings.json
Et on attribue des droits d'accès en lecture et écriture au groupe et à l'utilisateur, mais pas aux autres :
chmod 770 /media/USB-HD/Torrents chmod 770 /media/USB-HD/Torrents/incomplete chmod 770 /media/USB-HD/Torrents/complete
Enfin, on configure pi comme utilisateur de transmission en éditant le fichier :
sudo nano /etc/init.d/transmission-daemon
On repère la ligne qui commence par USER=
et on la change comme suit :
USER=pi
On peut alors redémarrer le daemon :
sudo service transmission-daemon start
Vient maintenant la grosse étape de configuration. Pour cela, on va éditer ce fichier :
sudo nano /etc/transmission-daemon/settings.json
Voici une proposition :
{ "alt-speed-down": 200, "alt-speed-enabled": true, "alt-speed-time-begin": 510, "alt-speed-time-day": 127, "alt-speed-time-enabled": true, "alt-speed-time-end": 180, "alt-speed-up": 15, "bind-address-ipv4": "0.0.0.0", "bind-address-ipv6": "::", "blocklist-enabled": true, "blocklist-url": "http://list.iblocklist.com/?list=bt_level1&fileformat=p2p&archiveformat=gz", "cache-size-mb": 4, "dht-enabled": true, "download-dir": "/media/USB-HD/Torrents/complete", "download-limit": 100, "download-limit-enabled": 0, "download-queue-enabled": true, "download-queue-size": 5, "encryption": 1, "idle-seeding-limit": 30, "idle-seeding-limit-enabled": false, "incomplete-dir": "/media/USB-HD/Torrents/incomplete", "incomplete-dir-enabled": true, "lpd-enabled": false, "max-peers-global": 200, "message-level": 2, "peer-congestion-algorithm": "", "peer-limit-global": 240, "peer-limit-per-torrent": 60, "peer-port": 51413, "peer-port-random-high": 65535, "peer-port-random-low": 49152, "peer-port-random-on-start": false, "peer-socket-tos": "default", "pex-enabled": true, "port-forwarding-enabled": true, "preallocation": 1, "prefetch-enabled": 1, "queue-stalled-enabled": false, "queue-stalled-minutes": 30, "ratio-limit": 2, "ratio-limit-enabled": false, "rename-partial-files": true, "rpc-authentication-required": true, "rpc-bind-address": "0.0.0.0", "rpc-enabled": true, "rpc-password": "votre_mot_de_passe", "rpc-port": 9091, "rpc-url": "/transmission/", "rpc-username": "votre_login", "rpc-whitelist": "127.0.0.1", "rpc-whitelist-enabled": false, "scrape-paused-torrents-enabled": true, "script-torrent-done-enabled": false, "script-torrent-done-filename": "", "seed-queue-enabled": false, "seed-queue-size": 10, "speed-limit-down": 500, "speed-limit-down-enabled": true, "speed-limit-up": 20, "speed-limit-up-enabled": true, "start-added-torrents": true, "trash-original-torrent-files": false, "umask": 18, "upload-limit": 100, "upload-limit-enabled": 0, "upload-slots-per-torrent": 14, "utp-enabled": true }
Et pour terminer, on reload et on restart :
sudo service transmission-daemon reload sudo service transmission-daemon restart
Une liste des URL pour le paramettre "blocklist-url
" peut être obtenue à cette adresse : https://www.iblocklist.com/lists.php
La page web devrait être accessible à cette adresse : http://adresse_ip_du_raspberry:9091