CLI tool
rakshasa/rtorrent avatar
rakshasa/rtorrent

rTorrent: the ncurses client that treats BitTorrent as a systems problem

rTorrent BitTorrent client

4,869 stars484 forksC++GPL-2.0

At a glance

What is it?
rTorrent is rakshasa's GPL-2.0 ncurses-based command line torrent client for high performance, built in C++ against its sibling libtorrent library whose version must match exactly, with releases now landing weekly on the 0.16 line. Building from source requires the autotools chain, libcurl 7.12.0 or newer and ncurses, and its licensing carries a documented OpenSSL exception with a retained Mozilla NSS SHA1 alternative.
Who is it for?
Run rTorrent when a torrent client must live on a headless server, driven over SSH and scripted rather than clicked, and when performance on long-running swarms matters more than a graphical interface. Choose a GUI client when the desktop is the context.
Can I use it commercially?
Yes, with conditions. GPL-2.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 5 days ago.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 27, 2026, and from our analysis. They are not legal advice.

Editorial analysis

ncurses, not a web UI

rTorrent describes itself as an ncurses-based command line torrent client for high performance, and each word of that description is a decision. ncurses means the interface renders in any terminal over SSH, on servers without displays, with keyboard-driven views rather than panels, and command line means the client's behavior extends through configuration and scripting rather than being bounded by its interface. High performance is the engineering goal that the C++ codebase and the paired libtorrent library serve. The project's homepage is its GitHub wiki, and usage questions route to the wiki's user guide, a document long enough to be the real manual, with the README itself staying under three hundred words.

libtorrent in lockstep

The defining dependency is libtorrent, the BitTorrent protocol implementation from the same author's rakshasa organization, and the README is emphatic about the relationship, rTorrent follows the development of libtorrent closely, and thus the versions must be in sync, with the dependency list encoding it as libtorrent equal to the same version. The install instruction repeats the rule, install libtorrent with the same version rTorrent. This is a coupled pair, not a client and a library developed independently, so an operator upgrading one upgrades both, and the version numbers across the two repositories move together, which is why the build guide leads with the dependency rather than the client itself.

The autotools path, start to finish

Building follows the classic autotools sequence with the project's specifics attached. Jump into the cloned directory with cd rtorrent, install libtorrent matching the version, then generate the configure scripts:

code
autoreconf -ivf

Optionally, generate man pages with docbook2man rtorrent.1.xml, output landing at doc/rtorrent.1. The build dependencies list names the autotools family explicitly, libtoolize, aclocal, autoconf, autoheader and automake, and the runtime dependencies are libcurl at 7.12.0 or greater, the version-matched libtorrent, and ncurses. The man page generation being optional and documented tells the audience, operators packaging for servers want the manual page even when desktop users never notice it.

A licensing story with three ways out

The license section is unusually detailed because the codebase carries history. The GNU GPL governs, but libtorrent's sha_fast source files originate from Mozilla NSS and are under a triple license of MPL, LGPL and GPL, and an exception to the non-NSS code permits linking to OpenSSL, added at Debian's request, though the author considers that library part of the operating system and thus already permitted under the GPL. The closing sentence offers the choice to every builder, use whatever fits your purpose, the code required to compile with Mozilla's NSS implementation of SHA1 has been retained and can be compiled if the user wishes to avoid using OpenSSL. A cryptographic dependency question answered three ways, in writing, inside the repository, is the kind of due diligence embedded systems and distributions appreciate.

Weekly releases on the 0.16 train

The release cadence is the project's most visible current signal, v0.16.22 on September 3, v0.16.23 on September 15 and v0.16.24 on September 22, 2026, three releases in three weeks, with the repository pushed 2026-09-25. The 0.16 versioning line continues the project's long history of decimal versioning, and the pace indicates active maintenance of a codebase that has run on servers for decades. Downloads route to the releases page for the latest stable build, and the wiki carries usage and configuration documentation that the README delegates to, keeping the release notes and user guide in their separate homes.

Funding in four currencies and a sibling editor

The README's funding section is a portrait of its era and its author, donations accepted through Paypal, Patreon and SubscribeStar, plus four cryptocurrency addresses, Bitcoin, Ethereum, Litecoin and Cardano, with the request phrased personally, help keep rTorrent development going by donating to its creator, Jaris Sundell being the developer behind the rakshasa handle. The related projects section names rbedit, a dependency-free bencode editor from the same organization, the small companion tool for editing torrent metadata that complements a client. The pairing shows a coherent toolkit rather than a single program, the client and the editor both living at the bencode level of the protocol.

A codebase with modern hygiene

The repository's furniture shows the maintenance style, clang-format and clang-tidy configuration for C++ style and static analysis, a test directory beside src, an lua directory exposing the client's scripting interface, and the autotools sources, configure.ac and Makefile.am, at the root. The scripting interface matters for the target deployment, headless servers automate torrent management, and a Lua hook surface is how rTorrent integrates with watch directories, notifications and external tooling. GitHub Actions run in the .github directory, and the AUTHORS and COPYING files complete the project's records, with the whole repository structured as a classic Unix program rather than a modern application framework, matching the ncurses identity it opens with.

Editorial conclusion

Run rTorrent when a torrent client must live on a headless server, driven over SSH and scripted rather than clicked, and when performance on long-running swarms matters more than a graphical interface. Choose a GUI client when the desktop is the context. Before building, install libtorrent from the same repository at exactly the matching version, since the two move in lockstep and a mismatch is the first thing to check when the build fails, run autoreconf -ivf to generate the configure scripts, and read the wiki's user guide for operation, since the interface's commands are a language of their own rather than a menu.

Frequently asked questions

What is rTorrent?

rTorrent is an ncurses-based command line BitTorrent client for high performance, written in C++ and licensed under the GNU GPL. It runs in any terminal, making it suited to headless servers, and is built against the rakshasa libtorrent library whose version must match the client's exactly.

how to install rtorrent?

Build from source by installing libtorrent from the same repository at the matching version, then in the rtorrent directory run autoreconf -ivf to generate the configure scripts and compile with the autotools chain, needing libtoolize, aclocal, autoconf, autoheader and automake plus runtime dependencies libcurl 7.12.0 or newer and ncurses. Prebuilt releases are also on the GitHub releases page.

Where is rTorrent's documentation?

The project homepage is its GitHub wiki, and the user guide at the wiki's User-Guide page is the reference for operation and configuration. Man pages can also be generated from the source with docbook2man rtorrent.1.xml, outputting to doc/rtorrent.1.

Official sources

  1. License: GPL-2.0
  2. Project website
  3. rakshasa/rtorrent on GitHub
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/rakshasa-rtorrent.svg)](https://hysenlabs.com/projects/rakshasa-rtorrent)