{{Short description|BitTorrent library and text-based client}} {{Redirect-distinguish|libTorrent|libtorrent}} {{Lowercase title}} {{Primary sources|date=May 2010}} {{Use dmy dates|date=September 2022}} {{Infobox software | name = rTorrent | screenshot = Rtorrent.png | caption = The main information screen for rTorrent and libTorrent (rTorrent v0.9.2) | developer = Jari Sundell (a.k.a. rakshasa) | released = {{Start date and age|2005|01|25|df=yes}}<ref>{{cite web|url=https://github.com/rakshasa/rtorrent/commit/ca6a7e2d16d982b5140eb2c5d72935249d701c54|title=Earliest known code import|website=GitHub |access-date=17 February 2016|archive-date=24 February 2021|archive-url=https://web.archive.org/web/20210224223516/https://github.com/rakshasa/rtorrent/commit/ca6a7e2d16d982b5140eb2c5d72935249d701c54|url-status=live}}</ref> | latest release version = {{wikidata|property|preferred|references|edit|Q284842|P348|P548=Q2804309}} | latest release date = {{Start date and age|{{wikidata|qualifier|preferred|single|Q284842|P348|P548=Q2804309|P577}}}} | latest preview version = {{wikidata|property|preferred|references|edit|Q284842|P348|P548=Q51930650}} | latest preview date = {{Start date and age|{{wikidata|qualifier|preferred|single|Q284842|P348|P548=Q51930650|P577}}}} | repo = {{URL|https://github.com/rakshasa/rtorrent}} | programming language = C++<ref name=languages>{{Citation | url = https://github.com/rakshasa/rtorrent | title = rTorrent BitTorrent client | work = rakshasa/rtorrent repo | via = GitHub | access-date = 2015-07-14 | archive-date = 18 October 2014 | archive-url = https://web.archive.org/web/20141018232400/https://github.com/rakshasa/rtorrent | url-status = live }}</ref> | operating system = Unix-like | platform = IA-32, x86-64 | size = 1.3&nbsp;MiB<!-- Size = size of rTorrent + size of libTorrent --> | genre = BitTorrent client | license = GPL-2.0-or-later{{efn|name="license"|GPL-2.0-or-later with OpenSSL exception}} | website = {{URL|https://rakshasa.github.io/rtorrent/}} }}

'''rTorrent''' is a text-based BitTorrent client written in C++,<ref name=rakshasa>{{Citation | url = http://libtorrent.rakshasa.no/ | title = The libTorrent and rTorrent Project | first = Jari | last = Sundell | access-date=2007-08-09 | archive-url = https://web.archive.org/web/20140409012528/http://libtorrent.rakshasa.no/| archive-date=9 April 2014}}</ref> 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.<ref name=rakshasa/>

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.<ref>{{Citation | url = http://libtorrent.rakshasa.no/wiki/RTorrentUserGuide | title = RTorrent User Guide | publisher = Jari Sundell | access-date = 2009-11-25 | archive-url = https://web.archive.org/web/20140217022315/http://libtorrent.rakshasa.no/wiki/RTorrentUserGuide| archive-date=17 February 2014}}</ref> 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.<ref>{{Citation | url = http://rakshasa.no/pipermail/libtorrent-devel/2006-December/000982.html | title = LibTorrent 0.11.0 and rTorrent 0.7.0 released | publisher = Jari Sundell | access-date = 2006-12-13 | archive-url = https://web.archive.org/web/20121102122313/http://rakshasa.no/pipermail/libtorrent-devel/2006-December/000982.html| archive-date=2 November 2012}}</ref> PEX, DHT and initial seeding were recently{{when|date=June 2020}} 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.<ref>{{cite web |url=https://github.com/rakshasa/rtorrent/commit/9f48226 |title=Add JSON-RPC capability |website=GitHub |date=2025-01-20 |access-date=2025-08-01 |agency=rakshasa/rtorrent and jesec/rtorrent contributors}}</ref><ref>{{cite web |url=https://github.com/rakshasa/rtorrent/releases/tag/v0.15.2 |title=rTorrent v0.15.2 release |website=GitHub |date=2025-03-28 |access-date=2025-08-01 |agency=rTorrent contributors}}</ref> Benchmarking shows that JSON-RPC delivers a twofold performance improvement and reduces total client CPU usage by about 15%.<ref>{{cite web |url=https://flood.js.org/Changelog-4.5/#march-14-2021 |title=Release 4.5 |website=Flood |date=14 March 2021 |access-date=1 August 2025 |agency=Flood project}}</ref>

== See also == * Comparison of BitTorrent clients

== Notes == {{reflist|group=lower-alpha}}

== References == {{Reflist}}

== External links == * {{Official website}} * {{github|rakshasa/rtorrent|rTorrent}} * {{github|rakshasa/libtorrent|libTorrent}} * {{webarchive |url=https://web.archive.org/web/*/http://rakshasa.no/mailman/listinfo |date=* |title=rTorrent Mailing List }} * {{webarchive |url=https://web.archive.org/web/*/http://libtorrent.rakshasa.no/ |date=* |title=Old website }}

{{BitTorrent}} {{File sharing}} {{Portal bar|Free and open-source software}}

Category:BitTorrent clients for Linux Category:Free BitTorrent clients Category:Free software programmed in C++ Category:Free software that uses ncurses Category:Software using the GNU General Public License