Outils du site

Outils pour utilisateurs


Panneau latéral

P2PFR:Wiki

p2p:bittorrent:seedbox-deluged-deluge-web-debian-wheezy (lu 602 fois)

Ceci est une ancienne révision du document !


Seedbox avec deluge (deluged et deluge-web)

  • Article initialement écrit en 2013 sous Debian Wheezy, avec la version 1.3.3-2+nmu1 de Deluge. L'interface web était alors pas mal buggée et pas vraiment utilisable, ça a sûrement évolué depuis.
  • Article repris en août 2017, sous Debian Stretch, avec la version de Deluge (en cours!)

Préambule

Deluge a été conçu de façon flexible et modulaire. Il est possible de le lancer en tant que daemon, c'est à dire sans interface graphique. Il est alors possible de lui greffer l'interface graphique souhaitée, qui peut être une console, une interface graphique classique (GTK), ou bien une interface web. Dans le cas d'une seedbox, on sera plutôt tentés par l'interface web.

Le guide du site officiel (en anglais) décrivant cet usage, appellé “Thin Client”, est consultable ici : http://dev.deluge-torrent.org/wiki/UserGuide/ThinClient#ClientSetup1

Installation sous Debian Stretch

Cela se fait assez simplement, il suffit d'installer les paquets deluged et deluge-web. Il n'est pas nécessaire d'installer le meta-paquet deluge.

apt install deluged deluge-web

Rappel: le “d” du bout deluged signifie daemon, autrement dit il est conçu pour tourner en tant que service système, sans interface graphique liée.

Info: deluged intègre son propre serveur web, il n'est donc pas utile d'installer apache ou un autre serveur web.

Un peu de repérage

Debian créé un compte utilisateur système debian-deluged, qui ne dispose pas de répertoire /home.

# service deluged status
● deluged.service - LSB: Start or stop the Deluge BitTorrent daemon.
   Loaded: loaded (/etc/init.d/deluged; generated; vendor preset: enabled)
   Active: active (exited) since Sat 2017-08-05 22:30:38 CEST; 17min ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/deluged.service

On voit ici que même sous Stretch, qui utilise SystemD, le script de lancement est du type init.d.1).

Le chemin du script est /etc/init.d/deluged, on évitera d'y toucher mais on peut regarder son contenu.

Il nous indique l'emplacement du fichier de config : /var/lib/deluged/config

On pensera aussi à éditer le fichier /etc/default/deluged, il faut en effet indiquer dedans que oui, on désire charger le démon au démarrage du système.

Lancement

# (sous le compte utilisateur du serveur qui gèrera les transferts)
# Lancez deluge, plus précisément le daemon
deluged
 
# Lancez aussi l'interface graphique.
deluge-web &
# (n'oubliez pas l'esperluette, symbole '&' dans la commande du dessus, elle signifie au shell de vous rendre la main)

Vous pouvez ensuite vous assurer que les logiciels tournent avec un:

ps ux | grep deluge

… vous devriez voir les 2 processus tourner: deluged, et deluge-web.

delugeuser     15335  1.1  2.6 254752 26860 ?        Sl   13:26   0:37 /usr/bin/python /usr/bin/deluged
delugeuser     15341  1.0  3.2 117872 33236 pts/3    Sl   13:26   0:32 /usr/bin/python /usr/bin/deluge-web

Configuration Basique

Pour configurer deluge, vous devrez simplement vous rendre sur la page web que deluge-web a dû mettre en place de lui-même, sur le port 8112. Rendez-vous avec votre navigateur sur http://ip.de.votre.serveur:8112

Il vous demande un mot de passe, par défaut il s'agit de: deluge Il vous est alors conseillé de le changer dans les options.

Voilà tout pour la configuration basique.

Configuration

1ère tentative

Je constate plusieurs problèmes avec l'interface web:

  • Les boutons “close” “appliquer” et “ok” sont confus, car “ok” ne ferme pas la fenêtre, est-ce la même chose que “apply” ?
  • On peut activer les Modules (plugins), mais on ne peut pas les configurer depuis l'interface web.
  • Il n'y a, de base, pas de moyen d'indiquer simplement des répertoires d'arrivée distincts pour les téléchargements.
  • L'interface web est un peu buggée, je ne peux pas créer de “Label” car clicker sur “OK” n'a aucun effet.

Je termine là mon expérience pour le moment, hélas peu concluante donc.

La webgui est buggée, donc incomfortable. Il serait possible d'utiliser un autre biais pour configurer deluge. Il est aussi possible que ce problème soit corrigé dans la version upstream (1.3.4) de Deluge.

2nde tentative

  • Après avoir relancé deluged et deluge-web, cette fois-ci l'interface web répond bien aux clicks sur “Ok” etc. Aussi, certains plugins se sont ajoutés au menu de configuration.
  • Je me rend compte que ce que je désire pour organiser mes torrents, est géré par le plugin auto-add
  • Nouveau problème: lorsque j'active des plugins depuis l'interface web, l'option n'est pas mémorisée sitôt que j'y retourne (après avoir clické sur Ok).

Je constate un bug qui resort dans le terminal où deluge-web a été lancé:

KeyError: label
--------------------------------------------------------------------------------
[ERROR   ] 21:12:31 client:393 RPCError Message Received!
--------------------------------------------------------------------------------
RPCRequest: core.get_torrents_status({u'label': u''}, [u'queue', u'name', u'total_size', u'state', u'progress', u'num_seeds', u'total_seeds', u'num_peers', u'total_peers', u'download_payload_rate', u'upload_payload_rate', u'eta', u'ratio', u'distributed_copies', u'is_auto_managed', u'time_added', u'tracker_host', u'save_path'], True)
--------------------------------------------------------------------------------
  File "/usr/lib/python2.7/dist-packages/deluge/core/rpcserver.py", line 298, in dispatch
    ret = self.factory.methods[method](*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/deluge/core/core.py", line 426, in get_torrents_status
    torrent_ids = self.filtermanager.filter_torrent_ids(filter_dict)
  File "/usr/lib/python2.7/dist-packages/deluge/core/filtermanager.py", line 173, in filter_torrent_ids
    if (not status[field] in values) and torrent_id in torrent_ids:
 [ERROR   ] 21:20:57 client:393 RPCError Message Received!
--------------------------------------------------------------------------------
RPCRequest: core.enable_plugin(Execute)
--------------------------------------------------------------------------------
  File "/usr/lib/python2.7/dist-packages/deluge/core/rpcserver.py", line 298, in dispatch
    ret = self.factory.methods[method](*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/deluge/core/core.py", line 506, in enable_plugin
    self.pluginmanager.enable_plugin(plugin)
  File "/usr/lib/python2.7/dist-packages/deluge/core/pluginmanager.py", line 82, in enable_plugin
    super(PluginManager, self).enable_plugin(name)
  File "/usr/lib/python2.7/dist-packages/deluge/pluginmanagerbase.py", line 151, in enable_plugin
    component.start([instance.plugin._component_name])
  File "/usr/lib/python2.7/dist-packages/deluge/component.py", line 278, in start
    if self.components[name]._component_depend:

KeyError: CorePlugin.Execute
--------------------------------------------------------------------------------
[ERROR   ] 21:46:41 json_api:227 Error calling method `web.get_host_status`
[ERROR   ] 21:46:42 json_api:228 free variable 'host' referenced before assignment in enclosing scope
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/deluge/ui/web/json_api.py", line 219, in _handle_request
    result = self._exec_local(method, params, request)
  File "/usr/lib/python2.7/dist-packages/deluge/ui/web/json_api.py", line 186, in _exec_local
    return meth(*params)
  File "/usr/lib/python2.7/dist-packages/deluge/ui/web/json_api.py", line 750, in get_host_status
    return response(_("Offline"))
  File "/usr/lib/python2.7/dist-packages/deluge/ui/web/json_api.py", line 745, in response
    return host_id, host, port, status, info
NameError: free variable 'host' referenced before assignment in enclosing scope

Le défi maintenant consisterait à isoler les bugs, les reproduire, et trouver le commit correspondant de façon à ce qu'ils soient réintégrés dans la version stable de Wheezy.

Documentation externe

1)
Deluge fournit ici un fichier Unit pour systemD si cela vous intéresse.
p2p/bittorrent/seedbox-deluged-deluge-web-debian-wheezy.1501966483.txt.gz · Dernière modification: le 05/08/2017 à 22h54 de 111110101011