My Own Memory Hole

Transmission sur NAS D-Link DNS-320 avec fun_plug

Si je gère toujours mes téléchargements de torrents sur mon NAS « augmenté » de fun_plug, je n'utilise plus rTorrent en daemon mais Transmission. Plusieurs raisons à ce changement : la plus importantes étant la non disponibilité de certaines dépendances du fait de la disparition de plusieurs dépôts pour fun_plug ; et puis, rTorrent présentait certaines limitations, notamment l'absence de file d'attente...

Installation

L'installation de Transmission ne peut se faire par le biais de slacker, l'outil de gestion de paquets de fun_plug, encore une fois pour des questions de dépendances non satisfaites...
Il faut commencer par installer Optware, qui fournit de nombreux logiciels :

$ wget http://wolf-u.li/u/233 -O /ffp/start/optware.sh
$ chmod a+x /ffp/start/optware.sh
$ /ffp/start/optware.sh start

L'on dispose alors de la commande ipkg 

# ipkg update
# ipkg list
# ipkg list transmission
# ipkg install transmission

Préparation

On commence par créer les répertoires de téléchargement et de configuration&nbp;:

# mkdir -p /mnt/HD/HD_b2/torrent/{.transmission,complete,incomplete}

Ensuite, pour bénéficier du script de lancement de transmission-daemon, nous installons puis désinstallons dans la foulée via slacker le paquet transmission :

# slacker -a transmission
# slacker -r transmission

Puis on édite le fichier /ffp/start/transmission.sh en modifiant les chemins des exécutables (qui se trouvent dans /opt/bin) et des fichiers de configuration de Transmission :

# nano /ffp/start/transmission.sh 

Voici mon script :

#!/ffp/bin/sh

# PROVIDE: Transmission

. /ffp/etc/ffp.subr

TRANSMISSION_HOME=/mnt/HD/HD_b2/torrent/.transmission

name="transmission-daemon"
command="/opt/bin/$name"
start_cmd="transmission_start"
stop_cmd="transmission_stop"
status_cmd="transmission_status"
user=root
su_cmd="/ffp/bin/su"

transmission_start()
{
   if [ ! -d ${TRANSMISSION_HOME} ]; then
      $su_cmd $user -c "mkdir ${TRANSMISSION_HOME}"
   fi
   echo "Starting $name"
      $su_cmd $user -c "$command -g ${TRANSMISSION_HOME} -e ${TRANSMISSION_HOME}/$name.log"
}

transmission_stop()
{
   echo "Stopping $name"
      /ffp/bin/killall -SIGINT $name
}

transmission_status()
{
   _pids=$(pidof $name)
   if test -n "$_pids"; then
      echo "$name is running, pid:"
      pidof $name
   else
      echo "$name not running"
   fi
}

run_rc_command "$1"

On le rend exécutable :

# chmod a+x /ffp/start/transmission.sh

Premier lancement

Afin de générer le fichier de configuration, il convient de lancer une première fois transmission-daemon avec les arguments suivants :

  • -g : le chemin vers le répertoire de configuration et autres fichiers générés par Transmission ;
  • -w : le répertoire où seront stockés les fichiers téléchargés ;
  • -T : je n'ai pas besoin d'authentification puisque je me limite à mon réseau local (option -a).
# /opt/bin/transmission-daemon -f -g /mnt/HD/HD_b2/torrent/.transmission -w /mnt/HD/HD_b2/torrent/complete -T -a 127.0.0.1,192.168.1.*

On peut interrompre le daemon (Ctrl+C) puis éditer le fichier de configuration qui a été créé :

# nano /mnt/HD/HD_b2/torrent/.transmission/settings.json 

Ensuite, on peut lancer Transmission simplement avec :

# /ffp/start/transmission.sh

Références :