CLI tool
rakshasa/rtorrent avatar
rakshasa/rtorrent

rTorrent: a ncurses torrent client bound to one libtorrent version

rTorrent BitTorrent client

4,891 stars489 forksC++GPL-2.0

At a glance

What is it?
rTorrent is a terminal torrent client whose source build refuses to be casual: libtorrent has to match its version exactly, the tree is autotools, and every runtime question is answered in the wiki rather than the README. Here is what that means for packaging it, and what the repository does and does not tell you.
Who is it for?
Use rTorrent if you want a torrent client that lives in a terminal and that you can script, and if you are prepared to package libtorrent alongside it at the same version. Do not pick it expecting a self-contained installer, since the build starts with autoreconf and the runtime instructions live in a wiki rather than in the repository.
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 2 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 November 14, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • rakshasa/rtorrent4,891 ★ · +27
Star history
Repository2026-09-232026-11-14
rakshasa/rtorrent4.9k4.9k

27 Stars in the last 52 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

The build stalls on a libtorrent version mismatch

The dependency section is three lines and one of them is a constraint rather than a minimum: libcurl >= 7.12.0, ncurses, and libtorrent at the same version. The build section says the same thing in prose, that rTorrent follows the development of libtorrent closely and therefore the versions must be in sync, and it tells you to install libtorrent with the same version as rTorrent before doing anything else. The build side needs the autotools pieces: libtoolize, aclocal, autoconf, autoheader, and automake. That pairing rule is the practical constraint for anyone packaging rTorrent, because you are shipping two libraries whose versions move together, and a distribution that holds libtorrent at the version its archive prefers will fail this build rather than degrade.

autoreconf is the only build path the README prints

The build instructions are two commands.

bash
cd rtorrent
autoreconf -ivf

autoreconf generates the configure scripts, which tells you what kind of project this is. The root of the repository is an autotools tree: configure.ac and Makefile.am sit beside INSTALL, AUTHORS, COPYING, and the source lives under src/ with doc/, lua/, scripts/, and test/ directories around it. No cmake, meson, or plain makefile route appears anywhere in the README, so a distribution package that wants to avoid running autoreconf during the build has no path the project documents. There is also a .clang-format and a .clang-tidy at the root, which is what you would expect from a C++ project that expects its own formatting to be applied.

Man pages need docbook2man, which no dependency list names

Man pages are optional and the command is given separately.

bash
docbook2man rtorrent.1.xml

The output lands in doc/rtorrent.1, and doc/ is one of the directories in the repository. The gap is in the dependency lists: neither DEPENDENCIES, which holds libcurl, libtorrent, and ncurses, nor BUILD DEPENDENCIES, which holds libtoolize, aclocal, autoconf, autoheader, and automake, mentions docbook2man. So on a build host with only the listed packages installed, that optional step fails, and the README does not name the distribution package that provides the tool. Worth knowing before a packaging script treats the man page step as part of a standard build.

Usage questions are answered in the wiki, not the repository

Every runtime question is delegated. The introduction sends you to the wiki to learn how to use rTorrent, and the usage section points at a User Guide page inside that wiki. The README itself prints no runtime commands, no configuration file path, no key bindings, and no description of what the interface looks like beyond calling it ncurses-based and aimed at high performance. The practical consequence is that the common questions about this client, how to quit it, where its rc file lives, which commands exist, cannot be answered from the repository at all. If you are writing documentation or a wrapper script, the wiki is the only source the project points to, and anything not in that wiki is not documented anywhere the project sends you.

rbedit is the only related project, and it edits bencode

The Related Projects section names exactly one project: rakshasa/rbedit, described as a dependency-free bencode editor. That is a small but pointed choice. A torrent file is bencode, and a tool with no dependencies is what you want on a machine where installing a library is not an option, for instance when a .torrent file is malformed and the client that produced it will not load it. The README names no web interface, no alternative client, and no plugin system, so anyone arriving from search results expecting a browser based front end will not find one listed here. The only other links in the file are the download link for the latest stable release and the donation channels.

One file carries a triple licence and an OpenSSL exception

The licence section is more interesting than a single licence line. The project is GNU GPL, with the text in COPYING, but libtorrent/src/utils/sha_fast.cc and its header came from Mozilla NSS and are under MPL, LGPL, and GPL together. An exception was added for non-NSS code so it can link against OpenSSL, at Debian's request, although the author argues that OpenSSL is part of the operating system and therefore linking is allowed under the GPL anyway. The escape hatch is preserved: the code needed to compile against Mozilla's NSS implementation of SHA1 was kept, so a build that wants to avoid OpenSSL can use it instead. If your distribution audits licences per file rather than per project, that one path is the item to review.

0.16.25 shipped on the same day as the last commit

The release rhythm is fast and visible in the tags. v0.16.27 was published on 2026-10-28, v0.16.26 on 2026-10-22, and v0.16.25 on 2026-10-05, and the last push to the default branch master is dated 2026-10-31. That pairing matters for the version rule in the build section: when a new tag appears, the matching libtorrent release is what you need, not whatever version your distribution already ships. The repository is not archived, the licence is GPL-2.0, the primary language is C++, and the wiki is the project's declared home page.

Editorial conclusion

Use rTorrent if you want a torrent client that lives in a terminal and that you can script, and if you are prepared to package libtorrent alongside it at the same version. Do not pick it expecting a self-contained installer, since the build starts with autoreconf and the runtime instructions live in a wiki rather than in the repository. Before you start, install the matching libtorrent first, keep a copy of the exact version numbers you pair, and read the licence note about the SHA-1 code if your distribution has opinions about OpenSSL and Mozilla NSS.

Frequently asked questions

What is rTorrent?

It is an ncurses-based command line torrent client built for high performance. The README points to the project wiki and its User Guide for how to use it, and describes it as following the development of libtorrent closely.

How do I install rTorrent from source?

Install libtorrent at the same version as rTorrent first, then run autoreconf -ivf inside the cloned directory to generate the configure scripts. Runtime dependencies are libcurl >= 7.12.0, the matching libtorrent, and ncurses, while the build needs libtoolize, aclocal, autoconf, autoheader, and automake.

Which commands does the rTorrent README actually show?

Only build steps: cd rtorrent, autoreconf -ivf, and optionally docbook2man rtorrent.1.xml for man pages. Runtime commands are not in the README, which sends usage questions to the wiki User Guide.

How does rTorrent compare with qBitTorrent?

The README makes no comparison. It describes rTorrent as an ncurses-based command line torrent client for high performance, and its only related project is rbedit, a dependency-free bencode editor.

Where is the rTorrent rc file?

The README does not name a configuration file or its location. It links the project wiki and the User Guide for usage, and the commands it prints itself are build steps only.

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)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/rakshasa-rtorrent.svg)](https://hysenlabs.com/projects/rakshasa-rtorrent)

Was this useful?