Two years ago I wrote an article about the best 5 torrent clients for linux. In the open-source world, two years means a lot of time. So, here it is an updated and enlarged list :

GUI torrent clients:

Deluge is a full-featured BitTorrent client written in python, for Linux, OS X, Unix and Windows. It uses libtorrent in it’s backend and features multiple user-interfaces including: GTK+, web and console. It has been designed using the client server model with a daemon process that handles all the bittorrent activity. The Deluge daemon is able to run on headless machines with the user-interfaces being able to connect remotely from any platform. [Homepage] [Download]

Written in: Python & C++

Python & C++ Library: libtorrent (Rasterbar version)

libtorrent (Rasterbar version) Last release: 1.3.0 2010/09/13

1.3.0 2010/09/13 Interface: GUI (GTK), Web, CLI, Daemon

GUI (GTK), Web, CLI, Daemon Encryption: Yes

Yes Mainline DHT: Yes

Yes Magnet link: Yes

Yes Peer Exchange: Yes

Yes UPnP: Yes

Yes NAT: Yes Local Peer Discovery: Yes

Yes IPv6 support: Yes

Yes Super Seeding: No

No Selective downloads: Yes

Yes Search engine: Yes

Yes RSS: Yes (via plugin)

Yes (via plugin) Remote control: Yes

Yes Prioritization: Yes

Yes Proxy: Yes

KTorrent is a BitTorrent client written in C++ for KDE using the Qt user interface toolkit. It can be considered the most powerful BitTorrent client for KDE. It is the alternative of Deluge for KDE. [Homepage] [Download]

Written in: C++

C++ Library: libktorrent

libktorrent Last release: 4.0.3 2010/08/30

4.0.3 2010/08/30 Interface: GUI(Qt),Web,CLI (poor)

GUI(Qt),Web,CLI (poor) Encryption: Yes

Yes Mainline DHT: Yes

Yes Magnet link: Yes

Yes Peer Exchange: Yes

Yes UPnP: Yes

Yes NAT: Yes Local Peer Discovery: Poor

Poor IPv6 support: Yes

Yes Super Seeding: No

No Selective downloads: Yes

Yes Search engine: Yes

Yes RSS: Yes

Yes Remote control: Yes

Yes Prioritization: Yes

Yes Proxy: Yes

Transmission is designed to for easy, powerful use. It Just Work and it only takes a few clicks to configure advanced features like watch directories, bad peer blocklists, and the web interface. Transmission has the lowest memory footprint of any major BitTorrent client. Transmission is also available as a daemon , which is ideal for server installations without X, nas, etc. It can be controlled by web or terminal client. [Homepage] [Download]

Written in: C++

C++ Library: —

— Last release: 2.04 2010/08/06

2.04 2010/08/06 Interface: GUI (GTK,Qt,Mac),CLI,Web

GUI (GTK,Qt,Mac),CLI,Web Encryption: Yes

Yes Mainline DHT: Yes

Yes Magnet link: Yes

Yes Peer Exchange: Yes

Yes UPnP: Yes

Yes NAT: Yes Local Peer Discovery: Yes

Yes IPv6 support: Yes

Yes Super Seeding: No

No Selective downloads: Yes

Yes Search engine: No

No RSS: No

No Remote control: Yes

Yes Prioritization: Yes

Yes Proxy: Yes

From Vuze homepage: “the most powerful bittorrent app on earth” . The true it’s that Vuze (formerly Azureus) can be declared as the most future rich torrent client for Linux. You can search, browse, download, share torrents and playback HD files. All this with a cost: being a Java based app, it is a system resource hogger. [Homepage] [Download]

Written in: Java

Based on: —

Last release: 4.5 2010/08/05

4.5 2010/08/05 Interface: GUI(Java), CLI(poor), web

GUI(Java), CLI(poor), web Encryption: Yes

Yes Mainline DHT: Yes

Yes Magnet link: Yes

Yes Peer Exchange: Yes

Yes UPnP: Yes

Yes NAT: Yes Local Peer Discovery: No

No IPv6 support: Yes

Yes Super Seeding: Yes

Yes Selective downloads: Yes

Yes Search engine: Yes (best)

Yes (best) RSS: Yes

Yes Remote control: Yes (via plugin)

Yes (via plugin) Prioritization: Yes

Yes Proxy: Yes

The qBittorrent project aims to provide a Free Software alternative to µtorrent. UPDATE: My favorite client now. I warmly recommend it. [Homepage] [Download]

Written in: C++

Based on: libtorrent (Rasterbar)

libtorrent (Rasterbar) Last release: 2.4.0 2010/08/24

2.4.0 2010/08/24 Interface: GUI(Qt), CLI(poor), Web

GUI(Qt), CLI(poor), Web Encryption: Yes

Yes Mainline DHT: Yes

Yes Magnet link: Yes

Yes Peer Exchange: Yes

Yes UPnP: Yes

Yes NAT: Yes Local Peer Discovery: Yes

Yes IPv6 support: Yes

Yes Super Seeding: Yes

Yes Selective downloads: Yes

Yes Search engine: Yes

Yes RSS: Yes

Yes Remote control: Yes

Yes Prioritization: Yes

Yes Proxy: No

BitStormLite is a BitTorrent Client based on c++/gtk+2.0. It is an alternative to the classical bittorrent client for GNOME. The difference is that it permits to make selective downloads . Eric has a very nice article about why should someone use this client. [Homepage] [Download]

Written in: C++

C++ Library: —

— Last release: 0.2q 2010/01/17

0.2q 2010/01/17 Interface: GUI(GTK)

GUI(GTK) Encryption: No

No Mainline DHT: No

No Magnet link: No

No Peer Exchange: No

No UPnP: No

No NAT: No Local Peer Discovery: No

No IPv6 support: No

No Super Seeding: No

No Selective downloads: Yes

Yes Search engine: Of course not

Of course not RSS: No

No Remote control: No

No Prioritization: No

No Proxy: No

Console (ncurse) torrent clients:

rTorrent is a text-based ncurses BitTorrent client libTorrent library written in C++ for *nix, with a focus on high performance and good code. The library differentiates itself from other implementations by transfering directly from file pages to the network stack. On high-bandwidth connections it is able to seed at 3 times the speed of the official client.

It comes with every feature most of the clients have but, unlike those, it has very low resource requirements. It’s probably the best torrent client for Linux. [ Homepage ] [ Download

For an excellent article about how to use rtorrent read kmandla’s post

UPDATE: If you are not comfortable with the command line, you could use some of the GUI clients created for rtorrent (check ntoreent ) or a web based frontend (check this list for reference).

Written in: C++

C++ Library: libtorrent(Rakshasa)

libtorrent(Rakshasa) Last release: 0.8 2009/11/30

0.8 2009/11/30 Interface: CLI

CLI Encryption: Yes

Yes Mainline DHT: Yes

Yes Magnet link: Yes

Yes Peer Exchange: Yes

Yes UPnP: No

No NAT: No Local Peer Discovery: No

No IPv6 support: No

No Super Seeding: Yes

Yes Selective downloads: Yes

Yes Search engine: No

No RSS: Yes (third party)

Yes (third party) Remote control: Yes

Yes Prioritization: Yes

Yes Proxy: No

8 ) ctorrent

CTorrent is a BitTorrent client implemented in C++ to be lightweight and quick. [ Homepage ] [ Download

Written in: C++

C++ Library: —

Last release: 3.3.2 2008/06/15

3.3.2 2008/06/15 Interface: CLI

CLI Encryption: Yes

Yes Mainline DHT: ?

? Magnet link: Yes

Yes Peer Exchange: ?

? UPnP: No

No NAT: No

No Local Peer Discovery: No

No IPv6 support: No

No Super Seeding: No

No Selective downloads: Yes

Yes RSS: No

No Remote control: ?

? Prioritization: ?

? Proxy: No

aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, BitTorrent and Metalink. aria2 has two distinctive features: (1) aria2 can download a file from several URIs(HTTP(S)/FTP/BitTorrent) and (2) If you give aria2 a list of URIs, aria2 downloads them concurrently. You don’t have to wait for the current download queue to finish one file at a time anymore. aria2 tries to utilize your maximum download bandwidth and downloads files quickly. [Homepage] [Download]

Written in: C++

C++ library: —

— Last release: 1.10.2 2010/08/31

1.10.2 2010/08/31 Interface: CLI, Web

CLI, Web Encryption: Yes

Yes Mainline DHT: Yes

Yes Magnet link: Yes

Yes Peer Exchange: Yes

Yes UPnP: No

No NAT: No Local Peer Discovery: Yes

Yes IPv6 support: Yes (poor)

Yes (poor) Super Seeding: No

No Selective downloads: Yes

Yes RSS: No

No Remote control: Yes

Yes Prioritization: No

No Proxy: No

Web-based torrent client:

TorrentFlux is a web-based system for managing bit torrent file transfers. It is an open source package (GPL) and developed for Linux, Unix & BSD platforms on the ubiquitous LAMP stack. [Homepage] [Download]

Written in: C++

Library: BitTornado

Last release: 2.4 2008/06/18

Interface: Web

Encryption: Yes

Mainline DHT: No

Magnet link: No

Peer Exchange: No

UPnP: Yes

NAT: No Local Peer Discovery: No

IPv6 support: No

Super Seeding: Yes

Selective downloads: Yes

Search engine: Yes

RSS: Yes

Remote control: Yes

Prioritization: Yes

Proxy: No

And a little bonus: