# RTorrent

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/RTorrent
> Markdown URL: https://mediated.wiki/source/RTorrent.md
> Source: https://en.wikipedia.org/wiki/RTorrent
> Source revision: 1352923490
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

{{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](/source/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++](/source/C%2B%2B)<ref name=languages>{{Citation | url = https://github.com/rakshasa/rtorrent | title = rTorrent BitTorrent client | work = rakshasa/rtorrent repo | via = [GitHub](/source/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](/source/Unix-like)
| platform               = [IA-32](/source/IA-32), [x86-64](/source/x86-64)
| size                   = 1.3&nbsp;[MiB](/source/Mebibyte)<!-- Size = size of rTorrent + size of libTorrent -->
| genre                  = [BitTorrent client](/source/Glossary_of_BitTorrent_terms)
| license                = [GPL-2.0-or-later](/source/GNU_General_Public_License){{efn|name="license"|GPL-2.0-or-later with OpenSSL exception}}
| website                = {{URL|https://rakshasa.github.io/rtorrent/}}
}}

'''rTorrent''' is a [text-based](/source/text-based_user_interface) [BitTorrent client](/source/Glossary_of_BitTorrent_terms) written in [C++](/source/C%2B%2B),<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](/source/ncurses) and libTorrent (not to be confused with [libtorrent](/source/libtorrent)) libraries for [Unix](/source/Unix).

== Technical details ==
The library differentiates itself from other implementations by transferring data directly between [file pages](/source/Paging) mapped to memory by the [mmap](/source/mmap)() function and the [network stack](/source/Protocol_stack). On high-bandwidth connections, it claims to be able to seed at three times the speed of the [official client](/source/BitTorrent_(software)).<ref name=rakshasa/>

rTorrent packages are available for various [Linux distribution](/source/Linux_distribution)s and [Unix-like](/source/Unix-like) systems, and it will compile and run on nearly every [POSIX](/source/POSIX)-compliant [operating system](/source/operating_system), such as [FreeBSD](/source/FreeBSD) and [macOS](/source/macOS).

rTorrent uses the [ncurses](/source/ncurses) library and is suitable for use with [GNU Screen](/source/GNU_Screen) or [Tmux](/source/Tmux); it uses commands such as [Carriage return](/source/Carriage_return) to load a torrent, after which ^S can be used to start a torrent (where ^ is shorthand for Ctrl key), [backspace](/source/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](/source/BitTorrent). It also supports partial downloading of multi-file torrents. In the release of rTorrent-0.7.0 support for [BitTorrent protocol encryption](/source/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](/source/Peer_exchange), [DHT](/source/Distributed_hash_table) and [initial seeding](/source/Super-seeding) were recently{{when|date=June 2020}} implemented in rTorrent.

rTorrent can be controlled via [XML-RPC](/source/XML-RPC) over [SCGI](/source/Simple_Common_Gateway_Interface); support for [JSON-RPC](/source/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](/source/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

---
Adapted from the Wikipedia article [RTorrent](https://en.wikipedia.org/wiki/RTorrent) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/RTorrent?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
