Deluge 0.5.5

I've recently been looking into new Linux desktop torrent programs to possibly use as a replacement for Azureus. Deluge is the first one that I looked at and, overall, I've found it to be satisfactory and is well worth considering if you're after a native Linux client.

Version 0.5.5 was released a couple days ago so I got to try out the older version and the latest one before I write this. The new version doesn't seem to have all that much different and there's no nice changelog to be found on the website – if you want one check out the forum announcement post. One thing that is very noticeable is the new configuration wizard, which runs through the basic settings needed to get up and running.

The actual client itself is quite basic. The ability to download torrents is there, along with basic statistics on downloads and some settings. More functionality is provided via plugins and the default distribution contains quite a few that do add some more advanced features, such as lists of files inside torrents, display of the individual pieces of a torrent, statistics on connected peers, blocklists, notifications for torrents and many others. Interestingly, I noticed a feature that was in the core client in the last version – moving completed torrents to a different directory – is now provided as a plugin. I was initially upset when I found this missing in the preferences so it would have been nice if they'd make the changelog more visible as the change was announced there.

With a bunch of plugins enabled the functionality of Deluge is pretty close to Azureus and other torrent programs like uTorrent. A few areas are lacking but these are slightly more "out of the ordinary". One feature that is noticeably missing is a web interface, which seems to be all the rage these days and would allow me to replace Azureus on my server. Again, a plugin could probably add this and just needs someone to write it up.

The core program is written in a combination of Python and C++ and libtorrent library (which in turn uses some of the Boost libraries), as well as the usual Glade stuff for the GTK+ interface. I find it interesting that the developers specify being "lightweight" as one of their primary goals yet they utilise Python as their primary development language – I would have thought C/C++ would be the more obvious choice for sheer performance. From the looks of things Python is used as an embedded interpreter so there is no reliance on any system Python interpreters and the C++ libraries can be included more easily, although there appears to be developer discussion about using the Python-native libtorrent bindings in future versions.

One thing that is of zero relevance but that I think is amusing is a comment I found inside the source code:

`I've recently been looking into new Linux desktop torrent programs to possibly use as a replacement for Azureus. Deluge is the first one that I looked at and, overall, I've found it to be satisfactory and is well worth considering if you're after a native Linux client.

Version 0.5.5 was released a couple days ago so I got to try out the older version and the latest one before I write this. The new version doesn't seem to have all that much different and there's no nice changelog to be found on the website – if you want one check out the forum announcement post. One thing that is very noticeable is the new configuration wizard, which runs through the basic settings needed to get up and running.

The actual client itself is quite basic. The ability to download torrents is there, along with basic statistics on downloads and some settings. More functionality is provided via plugins and the default distribution contains quite a few that do add some more advanced features, such as lists of files inside torrents, display of the individual pieces of a torrent, statistics on connected peers, blocklists, notifications for torrents and many others. Interestingly, I noticed a feature that was in the core client in the last version – moving completed torrents to a different directory – is now provided as a plugin. I was initially upset when I found this missing in the preferences so it would have been nice if they'd make the changelog more visible as the change was announced there.

With a bunch of plugins enabled the functionality of Deluge is pretty close to Azureus and other torrent programs like uTorrent. A few areas are lacking but these are slightly more "out of the ordinary". One feature that is noticeably missing is a web interface, which seems to be all the rage these days and would allow me to replace Azureus on my server. Again, a plugin could probably add this and just needs someone to write it up.

The core program is written in a combination of Python and C++ and libtorrent library (which in turn uses some of the Boost libraries), as well as the usual Glade stuff for the GTK+ interface. I find it interesting that the developers specify being "lightweight" as one of their primary goals yet they utilise Python as their primary development language – I would have thought C/C++ would be the more obvious choice for sheer performance. From the looks of things Python is used as an embedded interpreter so there is no reliance on any system Python interpreters and the C++ libraries can be included more easily, although there appears to be developer discussion about using the Python-native libtorrent bindings in future versions.

One thing that is of zero relevance but that I think is amusing is a comment I found inside the source code:

`

In terms of performance Deluge isn't bad. The program is responsive and I found that it consistently uses around 20MB of RAM. Most of this, I'm sure, comes from the Python code as I've seen other Python apps using around this amount of memory for even the smallest program. While 20MB isn't that crazy I'm again surprised that a program apparently intended for light memory usage would use that much. I guess that's the price you pay for speedier development times using a simpler language. The use of Python also makes writing plugins a bit easier as well so they might be trying to encourage external development.

My only real complaint is that a lot of the interface areas are not very nice to look at, especially in the plugins. One thing I liked about Azureus is that you can get access to some simple graphs to show things like the pieces completed in a torrent or the network traffic and peer information. The most impressive thing Deluge has is the progress bars on the torrents, which aren't even present for the completion of individual files or pieces. Being a GTK+ application, Deluge does integrate nicely into my GNOME desktop though.

Deluge 0.5.5

Overall, Deluge is quite a good torrent client but it needs some work on the interface and possibly the inclusion of a web interface. If a web interface plugin was created I might even switch from Azureus. If you're looking for a bittorrent app for Unix-like systems then I recommended giving Deluge a go.