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
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and ot ...
, 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
In computing, mmap(2) is a POSIX-compliant Unix system call that maps files or devices into memory. It is a method of memory-mapped file I/O. It implements demand paging because file contents are not immediately read from disk and initially use no ...
() function and the network stack
The protocol stack or network stack is an implementation of a computer networking protocol suite or protocol family. Some of these terms are used interchangeably but strictly speaking, the ''suite'' is the definition of the communication protoco ...
. 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 distribution
A Linux distribution (often abbreviated as distro) is an operating system made from a software collection that includes the Linux kernel and, often, a package management system. Linux users usually obtain their operating system by downloading one ...
s and Unix-like
A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
systems, and it will compile and run on nearly every POSIX
The Portable Operating System Interface (POSIX) is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines both the system- and user-level application programming interf ...
-compliant operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
, such as FreeBSD
FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
and macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
.
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
Backspace () is the keyboard key that originally pushed the typewriter carriage one position backwards and in modern computer systems moves the display cursor one position backwards,"Backwards" means to the left for left-to-right languages. delete ...
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
PEX is cross-linked polyethylene, a form of polyethylene with cross-links.
PEX or Pex may also refer to: Science and technology
*Peer exchange, a method to gather peers for BitTorrent
*PHIGS Extension to X, in programming
*Pex (software), a unit ...
, DHT and initial seeding were recently implemented in rTorrent.
rTorrent can be controlled via XML-RPC
XML-RPC is a remote procedure call (RPC) protocol which uses XML to encode its calls and HTTP as a transport mechanism.Simon St. Laurent, Joe Johnston, Edd Dumbill. (June 2001) ''Programming Web Services with XML-RPC.'' O'Reilly. First Edition. ...
over SCGI
The Simple Common Gateway Interface (SCGI) is a protocol for applications to interface with HTTP servers, as an alternative to the CGI protocol. It is similar to FastCGI but is designed to be easier to parse. Unlike CGI, it permits a long-running ...
.
See also
* Comparison of BitTorrent clients
Notes
References
External links
*
*
*
*
*
{{Portal bar, Free and open-source software
BitTorrent clients for Linux
Free BitTorrent clients
Free software programmed in C++
Software that uses ncurses