RTorrent


rTorrent is a text-based ncurses BitTorrent client written in C++, based on the libTorrent libraries for Unix, whose author's goal is "a focus on high performance and good code".

Technical details

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 claims to be able to seed at three times the speed of the official client.
rTorrent packages are available for various Linux distributions and Unix-like systems, and it will compile and run on nearly every POSIX-compliant operating system, such as FreeBSD and OS X.
rTorrent uses ncurses and is suitable for use with screen or Tmux; it uses commands such as Carriage return to load a torrent, after which ^S can be used to start a torrent, backspace can be used to automatically start a torrent once it is loaded, making a subsequent issue of ^S unnecessary, ^K for stop, and ^D for pause, or if already paused or stopped, ^D again to delete the torrent. 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 was also implemented. PEX, DHT and initial seeding were recently implemented in rTorrent.
rTorrent can be controlled via XML-RPC over SCGI.