conversion rtorrent vers transmission
J'ai passé une partie de l'après-midi à passer de rtorrent à transmission comme logiciel bittorrent). La raison principale est que j'étais curieux d'utiliser ce logiciel, qui semble être le plus populaire des logiciels libres pouvant rouler en arrière plan. Je suis très satisfait du résultat et j'ai même écrit un petit script pour automatiser la conversion.
C'est en lisant cette discussion que j'ai découvert que Transmission avait une interface web, et donc pouvait rouler en arrière plan. Quelle bonne surprise! J'avais déjà essayé l'interface GTK du logiciel et j'avais apprécié la simplicité de l'interface, mais le fait qu'il fallait avoir une session graphique pour lancer le logiciel m'avait empêché de faire le changement, étant donné que je garde mes torrents ouvert tout le temps.
En gros, voici les avantages:
- l'interface web est très joli et directement incluse dans le "daemon"
- l'interface web permet de filtrer par tracker de torrent et faire des recherches textuelles, fort utile quand on veut faire du ménage ou trouver des torrents perdus
- l'interface web permet également de faire des opérations (arrêter, démarrer, effacer) sur plusieurs torrents simultanément
- et ça peut paraître trivial, mais l'interface web me donne des informations comme le nombre de torrents présentement ouverts :P
- l'interface en ligne de commande permet de faire toutes les opérations que le client graphique et plus, ce qui rend le daemon très facile à scripter
- déplacer des torrents se fait très facilement en ligne de commande (
transmission-remote -t 1234 --move ./nouvel_emplacement
), contrairement à rtorrent, qui demande une série d'étapes (fermer le torrent, déplacer les fichiers, changer l'emplacement du torrent, rouvrir le torrent) - support pour le Local Peer Discover qui permet de trouver les autres sources du torrent sur le réseau local
- support pour le protocole µTP, qui permet de ne pas surcharger les connexions
- support pour le webseeding qui permet de télécharger des fichiers directement de sites web si disponibles
- support IPv6
- le daemon est "builtin" (j'avais dû écrire un gros hack pour faire que rtorrent se lance comme "daemon" au démarrage, qui incluait du gossage avec screen entre autre)
Le désavantage:
- perte de la fonctionnalité de "watch directory", qui permet de lancer des torrent simplement en les enregistrant à un endroit particulier (serait facile à scripter avec inotify et
transmission-remote
, par contre) - perte des millions de détails que rtorrent fournit dans son interface (remarquez: les détails étaient tellement cryptiques que c'était pas très utile)
C'est pas mal ça. J'ai eu pratiquement aucune difficulté à basculer vers transmission. J'ai même écrit un petit script pour faire la transition, et le fait qu'il ait été si facile de le faire en dit beaucoup sur la conception supérieure de transmission. Voici le script:
#!/bin/sh -e
for torrent in "$@"; do
path=`awk -F: '{print $28}' < $torrent.rtorrent | sed 's/7$//'`
if grep -q path $torrent; then
realpath=`dirname "$path"`
else
realpath="$path"
fi
printf "$torrent\t$path\t=>\t$realpath\n"
echo "transmission-remote --start-paused -w \"$realpath\" -a $torrent"
printf "go? [Y/n] "
read ans
if [ "$ans" = "y" ] || [ "$ans" = "" ]; then
transmission-remote --start-paused -w "$realpath" -a $torrent
fi
done
Pour l'utiliser, lancer le script dans le répertoire par défaut de rtorrent avec comme argument les fichiers .torrent
conservés dans le répertoire de sessions de rtorrent. Le script passe les fichiers un par un et demande si vous voulez les ajouter à transmission. Lancez la commande, acceptez quelques entrées et voyez le résultat dans l'interface web avant de continuer, afin de vous assurer que les torrents ne sont pas en train de se "redownloader".
Voilà, le changement est fait et je suis bien content!
Mise à jour, 2019-12-15:
le premier "désavantage" ci-haut est incorrect: Transmission supporte bel et bien un "watch directory" - je n'utilise pas la fonctionnalité parce que le client (
transmission-qt
) communique directement avec le serveur et cette fonction, nécessaire en rtorrent, est superflue avec Transmission
Aussi, à ce que je me souviens de rtorrent, voici les raisons que je suis content de ne plus l'utiliser:
transmission-daemon
a un démarrage plus "standard" avec un fichier.service
ouinit.d
dans transmission, au lieu d'un hack complexe avecscreen
pour mettre rtorrent en arrière planj'avais plein de hack avec rtorrent pour faire des choses simples, par exemple le "watch directory" au lieu de juste passer des commandes à rtorrent directement
rtorrent, après 14 ans de développement, est encore à une version "beta" (0.9.8 au moment d'écrire ces lignes) contrairement à Transmission (2.94)
l'interface de rtorrent est franchement horrible: j'avais toujours de la difficulté à me souvenir des raccourcis claviers, obligatoires pour l'utilisation, et je faisais fréquemment des erreurs. Transmission a une interface graphique intuitive que pratiquement n'importe qui peut utiliser, et qui se connecte (optionnellement!) sur le serveur
Et ce, en plus des "avantages" notés ci-haut...