J’ai passé un peu de temps à me configurer une instance de transmission, alors je partage mes notes.

L’idée est d’installer une instance de transmission sur un serveur headless - certain appelleront cela une seedbox - sous Debian il suffit de faire apt-get install transmission-daemon. L’installeur vous propose quelques dépendances en plus, acceptez.

Configuration du serveur

Arrétez le serveur pour être sûr de ne pas perdre les modifs en cours : service transmission-daemon stop. Éditez le fichier settings.json (qui se trouve sur ma machine dans /etc/transmission-daemon). La conf est assez explicite, remplissez au feeling et particulièrement les lignes suivantes :

"download-dir": "/chemin_vers_dossier_fichiers_terminés",
"rpc-authentication-required": true, 
"rpc-bind-address": "ip_de_votre_serveur",
"rpc-enabled": true,
"rpc-password": "votre_mot_de_passe",
"rpc-port": 9091,
"rpc-url": "/transmission/",
"rpc-username": "votre_login",
"rpc-whitelist": "les_adresses_ip_autorisées",
"rpc-whitelist-enabled": true,

Vous pouvez maintenant démarrer le service transmission service transmission-daemon start.

Voilà votre instance de téléchargement est en place, voyons maintenant comment la contrôler - je fais l’impasse sur la partie pare-feu qui est très spécifique et qui potentiellement ne vous impacte pas si vous faites tout cela en local.

Utilisation du serveur

Vous pouvez y accéder par un client web classique (firefox/iceweasel par exemple) à l’adresse http://nom_ou_ip_de_votre_serveur/transmission/web/admin/ (attention n’oubliez pas le “/” final), vous vous retrouverez alors devant l’interface classique de transmission, et pourrez ainsi ajouter des torrents ou gérer les encours.

Bon… pas très sexy tout ça, voyons comment améliorer la situation afin que votre moitié non-geek puisse s’en servir facilement.

Pour les utilisateurs windows ou les aficionados de firefox, l’add-on Add to Transmission vous ravira, clic droit sur un lien magnet, add to transmission, et le voilà lancé (pensez à le configurer au préalable pour indiquer l’adresse de votre serveur et les credentials associés).

Par contre, pour les utilisateurs Gnome, j’ai mieux :-).

L’idée va être de créer un petit script bien à vous et de l’associer comme appli par défaut aux liens magnets. Ainsi, dès que vous cliquez sur un lien magnet, le téléchargement se lance sur votre serveur sans même vous poser de question.

Commençons par le script magnetLinkTransfer.sh (le nom est libre mais il est référencé plus loin donc pensez à répercuter vos adaptations) :

#!/bin/bash
test -z $1 && echo "need magnet link!
$0 <magnet link>" && exit -1

HOST=nom_ou_ip_de_votre_serveur
PORT=9091 #le port du serveur, celui ci est le port par défaut, à modifier si vous en avez choisi un autre.
USER=nom_du_user #cf conf serveur également
# NOTE: I had issues using passwords with semicolons (;) in them,
#       you might want to stay away from them
PASS=mot_de_passe #cf conf serveur

LINK="$1"
# set true if you want every torrent to be paused initially
PAUSED="false"
SESSID=$(curl --silent --anyauth --user $USER:$PASS "http://$HOST:$PORT/transmission/rpc" | sed 's/.*<code>//g;s/<\/code>.*//g')
curl --silent --anyauth --user $USER:$PASS --header "$SESSID" "http://$HOST:$PORT/transmission/rpc" -d "{\"method\":\"torrent-add\",\"arguments\":{\"paused\":${PAUSED},\"filename\":\"${LINK}\"}}"

Le crédit pour ce script revient à Florian Klien, si vous êtes sur une ancienne version de gnome, suivez plutôt la méthode de son blog pour la suite.

Ensuite, créons une “application”, pour cela créez le fichier ~/.local/share/applications/magnetLinkTransfer.desktop :

[Desktop Entry]
Type=Application
MimeType=x-scheme-handler/magnet
Name=magnetLinkTransfer
Exec=/./CHEMIN_DE_VOTRE_SCRITPT/magnetLinkTransfer.sh %u

Enfin faisons l’association par défaut :

update-desktop-database ~/.local/share/applications
gvfs-mime --set x-scheme-handler/magnet magnetLinkTransfer.desktop

Vous pouvez contrôler la bonne prise en compte de la commande précédente par gvfs-mime --query x-scheme-handler/magnet

Pensez à tester votre script au préalable dans un terminal afin de vous assurer que tout fonctionne bien. Pour ma part, il manquait par défaut la présence de curl sur une de mes machines, donc un petit apt-get install curl au préalable était nécessaire.

Pour terminer, afin de contrôler que tous ces téléchargements se font bien, vous pouvez ajouter l’extension Transmission Deamon Indicator à gnome, vous aurez ainsi un petit applet en haut de votre écran vous donnant un status des encours et vous permettant même d’activer ou désactiver le mode «tortue» afin de vous libérer un peu de bande passante (pensez à la configurer au préalable pour indiquer l’adresse de votre serveur et les credentials associés).

Dernier point pour récupérer vos fichiers, vous pouvez partager via nfs ou samba le dossier d’arrivée de transmission, ils seront ainsi dispo sur un partage réseau. Autre point, vous pouvez ajouter ce dossier au scan de votre serveur dlna, vous pourrez ainsi streamer directement sur vos appareils compatibles.

Notes

Attention à ne pas télécharger de torrent sous licence non libre, sinon vous vous exposez à des poursuites judiciaires. Préférez donc des logiciels libres (si vous êtes ici cela doit vous causer donc je vous laisse imaginer les exemples) ou des créations libres : liste de films Open Sources ici ou ou encore ici.

Dernière remarque, sachez que transmission peut être configuré pour blacklister des listes d’ips, cela peut être particulièrement utile pour éviter de s’appairer avec des tiers peu scrupuleux de l’intégrité des fichiers ou de votre droit de vie privée, pensez à jeter un œil à cette conf (blocklist-enabled et blocklist-url), et vous pouvez trouver des listes dynamiques ici : iblocklist.