Posted by: anilxer | June 19, 2009

Review: Ktorrent, one of the best bittorent clients in the world.

I was an azureus user for a long time and while I find the ‘blue frog’ to be an (almost) excellent client and still using it, I have been playing with ktorrent since several months for several reasons, the three major of which are: 1.low system resources consumption, 2.perfect integration in KDE, and 3.the growing ktorrent community.
So, at present ktorrent is at version 3.2.2. In this review I will focus on a more thorough explanation of the client features and viable strengths, rather than posting numerious screen-shots. (personally, I don’t see much sense in this, as a well-written explanation, at least in my experience, is more helpful than beautiful GUI demonstrations). To view screenshots of the client, follow this link: http://ktorrent.org/?q=screenshots . One more thing to note is that while Ktorrent is essentially a part of KDE and was originally made to run on Unix and Unix-based operation systems, recently the developers created a Windows port, so M$ fans out there should be able to enjoy this piece of software as well.
Basic torrent features:
multiple torrent downloads
data check for torrents
silent downloading – performing downloads without asking any questions
torrents grouping
support for various scripts
filtering single IP addresses
enqueueing/dequeueing torrents
integrated ‘recommended settings calculator’
DHT support
UPNP support
µtorrent-capable peer exchange
connection encryption
disk space reserving before starting download
lots more options, given as plug-ins
As you may see, there are some quite common options you can find in a big range of programs, but there are some that only the best competing projects offer.
And now to the actual observation of the program.
Ktorrent is a client with a contemporary GUI. The client is written in C++ with the help of the Qt toolkit. While this may not tell much to the average user, to put things simply: you have a modern application with a very nice GUI, the application itself is fast and spares system resources. It also means, however, that you need to install additional libraries in order for the app to run. But its well worth the dependencies. On a side note, non-Unix users won’t need to bother, as the pre-compiled binaries contain all the libs needed. Also, KDE users will have everything installed and only the core application will be required.
The app in action.
The first time when you start the application, you will see the main window, with a tab ‘all torrents’ – here are viewed all torrents loaded from the program. You can open many tabs, as many as you wish (but I wonder if you would, who needs tens of tabs). On the left , there is a button called ‘group’. When clicked, a new panel shows up with many, well, groups of torrents in a tree-like view. Here you can click on any you wish and the torrents will be filtered to match the pointed group. Below ‘groups’, there is another button, called ’scripts’ – here you can chose some of the given to run, and – good news for programmers- you can write your own scripts. Ktorrent has support for a bunch of languages, including Perl, JavaScript, Ruby, Python. So if you are, say a JavaScript coder or a Ruby fan (like me), this is a good opportunity to experiment. There is even a nice guide for you at this page: http://ktorrent.org/wiki/index.php/Writing_Scripts .
Above you can see the download and search toolbars, separated from one another with a delimiter. On the download toolbar, there are several icons, the descriptions of which speak for themselves. The search toolbar presents the user with a box, in which you fill the desired torrent name, a ’search’ button and a list of available torrent search engines. This way you do not need to utilize a separate web-browser, you can hunt torrents directly from the application. To the bottom of the window you can see several icons, depending on which plug-ins are loaded , as well as status-bars, again depending on the set options. In my case, for instance, I can see how many DHT nodes are there and how many tasks, the upload and download speeds and the total amount of transfers for the session (meaning for the time Ktorrent has been running without being stopped, every app restart starts a new session).
I think this is enough for the main window, lets proceed with the awaiting interesting features below Ktorrent’s skin- the application options.
The menu-bar is at the top of the window. Click Settings>>Configure Ktorrent. Here it is finally – you can see to the left all possible options. When clicked, to the right appear the settings. So lets get down to the bits and pieces.
When you click ‘Application’, the basic settings appear. Here you can tell Ktorrent where to store the .torrent files and where the data will go. A system tray icon is always useful, so leave this and the pop-up messages ticked. As for the miscellaneous settings, this is largely a matter of taste: when hovering over those, you will get a good description – personally, I prefer to be asked when I open a torrent, so I have left ‘open multiple torrents silently’ blank.
When you click ‘Network’, several setting show up, there are a lot of things you can fine tune, but I suggest that you use the perfectly functional ‘Recommended Settings’ button below the test boxes, as when you give it the right values, it will make Ktorrent perform optimally for your specific connection. If you are not satisfied, you can always edit what you need.
If you want to use a proxy, Ktorrent provides you with everything necessary under ‘Proxy’.
There are several useful settings under ‘BitTorrent’. If you want to be able to download and seed data even when the tracker for some reason is down, you can make use of DHT by checking ‘Use DHT to get additional peers’. And as the current most popular torrent client is µtorrent, you may also check the ‘Use peer exchange’ box. To avoid traffic shaping (this is a common practice these days), you’d be better of using encryption, but bear in mind that this also means additional CPU power, although any modern CPU can cope with this without getting in your way. Data checking is one more important thing you must do to ensure you don’t happen to have any corrupted data on your PC, but do not make too regular checks, because this will slow down your machine considerably, no matter how powerful the machine is. The default settings should do for just about anyone.
If you have run the integrated ‘Recommended Settings’ helper, in the ‘Queue Manager’ all important setting should have already been set. Once again, in my personal experience the built-in wizard gives optimal results, so if in doubt, use them.
If you want to dig deeper, in the ‘Advanced’ options you can chose whether to reserve disk space, how to reserve it, how frequent should the GUI update interval be and how should the time estimation be calculated.
By now you should have already managed to set up Ktorrent up and running, so if you feel what so far you’ve read is enough, then don’t read the rest. For the power users amongst us, however, the nuts and bolts are of huge importance, that’s the reason why I will go through them as well.
The ‘Plugins’
This is the place where you can extend the functionality of Ktorrent. If, so far, you have been thinking that Ktorrent is nothing different from the common torrent clientout there, then here you will see for yourselves why Ktorrent has the reputation of one of the best available pieces of software. Once again, at the time of writing this review Ktorrent’s stable version is 3.2.2 and probably in the future more plug-ins will be added. Nevertheless, at present there are a lot of plug-ins and this review will mention only some of them, as all have very good descriptions.
The info widget is capable of showing the list if peers, trackers, downloading chunks, as well as web-seeds.
The log viewer will give thorough information about all connections including DHT, disk I/O, searches, trackers and UPNP.
You can modify the search plug-in to use more torrent search engines, or fewer than the available if you think they are too many. You can also specify which browser is to be used, although the default does its job pretty well.
Another useful add-on is the UPNP plug-in, with the help of which you can forward connections, which is very useful for those users which have a router.
I hope that if you have had the nerves to read this all, you have successfully set your torrent client up. If not, then at least now you are aware of yet another well-made program. Should you be interested, why not join the community? There is a good forum, http://ktorrent.org/forum/ , and IRC support at #ktorrent on irc.freenode.net .

The above work is under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
http://creativecommons.org/licenses/by-nc-sa/3.0/


Leave a response

Your response:

Categories