BitTorrent is a protocol for P2P file sharing that's often the fastest way to get hold of the latest distros. It's expanded far beyond the original Python implementation and now incorporates all sorts of extra technologies, such as Distributed Hash Tables, Peer Exchange and more.
A modern BitTorrent client has to be able to cope with encryption, working behind NAT routers (preferably with UPnP) and a host of other acronymic terms. We also expect them to be easy to use, yet full of features and customisable parts.
There's a war being waged against torrent clients by ISPs that (understandably) want to use traffic shaping technology to de-prioritise the torrent traffic in favour of Facebook, so technologies such as encryption and randomised port access become useful if you don't want to get capped.
In this Roundup, we 've only considered clients that run natively on Linux. The reference BitTorrent client is still going, but the last Linux release was so long ago that we haven't bothered including it.
There are some active and up-to-date clients, such as Miro, that are tuned to particular activities. These are really good at what they do, but not for general use, so they've been excluded too.
Finally, there are plenty of commendable command line torrent clients such as rtorrent and aria2, but they make terrible screenshots and we have to draw the line somewhere, so these aren't represented either.
How we tested...
The clients were tested on a Core 2 Duo 2.5GHz desktop with 4GB memory running Fedora 13. Apart from normal usage, the main test for speed, CPU and memory use was performed with four test torrent files of 256MB each. The clients were restricted to downloading three files simultaneously.
The tracker was run on the same machine to eliminate any variance in network latency, and the torrents were seeded by three machines on a local 10/100 network using a variety of clients (Transmission, uTorrent, Vuze).
Using lots of memory or CPU cores is often intentional to speed up downloads. The timed downloads were averaged over three runs, but are guidelines only.
This client can be run in a variety of modes. Written in Python, it makes use of GTK for the desktop interface, but isn't really a Gnome app as such – it looks just as at home on KDE or whatever your desktop of choice is.
The layout of the main screen is pretty straightforward – a tree on the left enables you to select an item of interest (say, your current downloads), which are then displayed in the main panel. The status bar along the bottom gives readouts on various things, such as current speeds and connected or discovered peers.
Deluge also supports the System Tray, and displays the transfer speeds as well as options to control uploads and downloads and add a torrent without troubling yourself with the main interface – a nice touch not found in many clients.
The core functionality of a basic client is handled by the main app, but for what many people would consider essential features you may have to delve into the various plugins available – for blocklists or scheduling, for example. There are quite a few of these and they can be installed directly through Deluge without much fuss.
There's no option to launch a file directly from the download list, nor is there a torrent searching facility, which is frustrating. One annoying thing about this client is that the moving average for download speed continues moving after downloading has finished.
At the time of writing, version 1.3 of the software is imminent, so perhaps that will be fixed by the time you read this. It isn't a bad effort by any means, though it lacks some of the system integration of others, and is only a middleweight when it comes to useful options. It does work, and is pretty light on resource use.
Middle-of-the-road performer, but it does get lots of development love.
Apps based on KDE are expected to be full of settings, options and menus, and this is no exception. KTorrent wouldn't easily be mistaken for a Mac OS X application – every pixel of its interface seems to want to communicate urgent information, or request some option to be set.
For those who aren't frightened by overt functionality or upset that their application interface may wish to impart some useful details, this is probably no bad thing.
In terms of the underlying technology, KTorrent easily matches or exceeds every other client here, except for Vuze, as it lacks the tracker, media player and UPnP media server. To be honest, the searching is a bit lacklustre, too.
Although a number of search engines are included, KTorrent just palms you off on the respective website, which is lazy, and not as useful as qBittorrent's effort. Aside from that, KTorrent has all the bases covered.
Extra functionality is provided by plugins, and again these show the micro-management touch. The bandwidth scheduling can be set on a giant calendar, so if you want to allow unlimited uploads on Thursdays only, this is the only client that will do it. It's a KDE app of old, exposing pretty much every feature and option to user control and leaving it up to you to work out whether you need them or not.
KTorrent was the only client that managed connections to all the available peers in the time it took to download the test torrents, and it also clocked up the fastest time. Like some of the other clients, KTorrent can also be run in a headerless mode, and includes a built-in web interface.
Chock-full of features, if you can spare the effort to configure them.
This rather simplistic application started life as an offshoot or natural extension to the MonoTorrent project – a torrent library written using the Mono implementation of .NET. As most of the other clients here use the libtorrent library, we might have expected some performance differences from Monsoon – and there were.
It did hijack most of the available CPU cycles, but also managed a blistering throughput, clocking up the fastest average time for the local download test (just pipping KTorrent). With a watch folder for incoming torrents and the possibility of storing active and completed ones in different locations, this client at least serves up the basics of features in the filehandling department.
However, there's no scheduling, no scripting, no plugins and no mention of DHT or Peer Exchange (although these are supported by MonoTorrent).
Visually, the Monsoon software follows a very familiar theme, with categories down the left, a main sortable list view in the middle and a tabbed selection of information screens for the selected torrent below. As with most of the other clients in this roundup, this does extend to the ability to set various options, including changing the bandwidth settings for an individual torrent file.
Like Vuze and KTorrent, Monsoon includes a feed subscription. Many video podcasts are distributed in this way, and it's pretty simple to set up. There are some advanced filtering options to make sure you get exactly what you want.
Monsoon is a promising project that hasn't had a release in some time, although the underlying MonoTorrent library has been updated recently.
Lacking in finesse and features, but an aggressive downloader.