rTorrent is a text-based BitTorrent client written in C++, based on the ncurses and libTorrent (not to be confused with libtorrent) libraries for Unix.

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. 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; support for JSON-RPC was merged upstream in version 0.15.2 and later. Benchmarking shows that JSON-RPC delivers a twofold performance improvement and reduces total client CPU usage by about 15%.

See also

  • Comparison of BitTorrent clients

Notes

References