Deluge Web Interface

In [my last post on Deluge][1] I commented that one of the things the BitTorrent client was lacking was a web interface. That situation has been rectified by a recent plugin that provides WebUI capabilities. After taking a look at what is offered I can say that it looks very promising but isn't quite at a stage where you'd want to use it for anything but the most basic administration of your torrents.

So far, the supported features are: authentication with username/password, viewing of the queue, uploading new torrents (from a local file or a URL), auto-refresh and pausing/resuming downloading. This enough for basic administration but one rather essential feature that is missing is the ability to change the queue position of torrents, such as to move something up or down. There are also no settings available so it relies on you having the system set up beforehand and not wanting to change anything.

Another key problem with running WebUI on Deluge is that the program itself requires a full desktop to be running as it requires GTK+. This means that you can't run it on a server that has been set up to run a minimal set of software daemons from the shell. There's no real reason why a torrent program needs a graphical interface so maybe a "headless" mode will be enabled on Deluge in future versions.

One interesting design decision made is that images and stylesheets are in a different directory to the templates. From the sounds of the directory they're in (static) the intention is to have the unchanging components served from a different directory which could theoretically be on a completely different server. This is good practice for high traffic sites and is a common way of optimising a web site but I have to wonder why it was employed here. I assume that a personal interface to your BitTorrent client would not qualify as a high traffic site and the templating system is extraordinarily handicapped by having stylesheets and images in a different directory that is not related to the template in any way.

I would like to take a look at the plugin further and see if some improvements can be made, such as allowing full AJAX operations. I think using AJAX refreshes would be particularly beneficial as full page refreshes are terribly wasteful in terms of bandwidth and not very nice from a usability point of view. Other improvements should just be a matter of changing the template – for example, making the layout fluid rather than fixed width.

The WebUI plugin for Deluge does look promising and could eventually replace Azureus as my BitTorrent client but there are some important problems that would need to be addressed first.