Mes passions, le boulots, mes coups de gueule...




Installation de Transmission-daemon sur un Raspberry Pi

Catégories : Geek, Informatique, Raspberry Pi · par 30 Avr 2014

Transmission-BT-01Té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

Transmission-BT-02

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.