RTorrent
BitTorrent library and text-based client
From Wikipedia, the free encyclopedia
rTorrent is a text-based BitTorrent client written in C++,[4] based on the ncurses and libTorrent (not to be confused with libtorrent) libraries for Unix.
| rTorrent | |
|---|---|
The main information screen for rTorrent and libTorrent (rTorrent v0.9.2) | |
| Developer | Jari Sundell (a.k.a. rakshasa) |
| Initial release | 25 January 2005[1] |
| Stable release | |
| Written in | C++[3] |
| Operating system | Unix-like |
| Platform | IA-32, x86-64 |
| Size | 1.3 MiB |
| Type | BitTorrent client |
| License | GPL-2.0-or-later[a] |
| Website | rakshasa |
| Repository | github |
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.[4]
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 macOS.
rTorrent uses the ncurses library and is suitable for use with GNU Screen or Tmux; it uses commands such as Carriage return to load a torrent, after which ^S can be used to start a torrent (where ^ is shorthand for Ctrl key), 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.[5] 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.[6] PEX, DHT and initial seeding were recently[when?] 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.[7][8] Benchmarking shows that JSON-RPC delivers a twofold performance improvement and reduces total client CPU usage by about 15%.[9]
See also
Notes
- GPL-2.0-or-later with OpenSSL exception