RTorrent

rTorrent is a text-based ncurses BitTorrent client written in C++, based on the libTorrent libraries for UNIX (Rakshasa's own, not the sourceforge libtorrent), with a focus on high performance and good code. The library differentiates itself from other implementations by transferring data directly between file pages mapped to memory by the mmap function and the network stack. On high-bandwidth connections, it is claimed to be able to seed at many times the speed of the official client. [1]

rTorrent packages are available for various Linux distributions and Unices, and it will compile and run on nearly every POSIX-compliant operating system, such as FreeBSD.

rTorrent uses ncurses and is suitable for use with screen or dtach. It supports saving of sessions and allows the user to add and remove torrents. It also supports partial downloading of multi-file torrents. In the release of rTorrent-0.7.0 support for BitTorrent protocol encryption is also implemented.[2] PEX was recently implemented in rTorrent.

rTorrent can be controlled via XML-RPC over SCGI or FastCGI, but the use of FastCGI is discouraged by the author of the software.