LinuxCommandLibrary

rtorrent

Download torrent files

TLDR

Add a torrent file or magnet to be downloaded

$ rtorrent [torrent_or_magnet]
copy

Start the download
$ <Ctrl s>
copy

View details about downloading torrent
$ <ArrowRight>
copy

Close rtorrent safely
$ <Ctrl q>
copy

SYNOPSIS

rtorrent [OPTIONS] [TORRENT_FILE | MAGNET_URI | URL]
rtorrent -o key=value [-o key=value ...]

PARAMETERS

-h, --help
    Displays a summary of command-line options.

-o, --option key=value
    Sets a session option. Can be used multiple times to set multiple options.

-n, --no-start
    Adds the torrent without automatically starting the download upon loading.

-d, --daemon
    Starts rtorrent in daemon mode, running in the background without a user interface.

-s, --session directory
    Specifies the directory for session files and torrent metadata. Defaults to ~/.rtorrent/.

-D, --do-not-detach
    Used with --daemon to prevent rtorrent from detaching from the terminal, useful for debugging or logging.

-C, --check-hash
    Forces a full hash check of all data after loading the torrent, regardless of previous state.

--version
    Prints the rtorrent version information and exits.

DESCRIPTION

rtorrent is a powerful and efficient console-based BitTorrent client, designed for low resource consumption and high performance. Written in C++ and utilizing the ncurses library, it provides a text-based user interface that is ideal for servers, headless environments, or users who prefer a terminal-centric workflow.

It supports essential BitTorrent features including DHT, PEX, UPnP, NAT-PMP, encryption, and selective file downloading. Its disk caching mechanism helps optimize performance and reduce disk I/O. Beyond interactive use, rtorrent can be extensively controlled via an XML-RPC interface, making it highly scriptable and suitable for integration with web-based frontends like ruTorrent.

CAVEATS

The rtorrent ncurses interface, while powerful, can have a steeper learning curve for users unfamiliar with terminal-based applications.

Optimal configuration often requires manual editing of the ~/.rtorrent.rc file, which can be complex for new users.

While highly extensible via XML-RPC, setting up and interacting with this interface might require additional scripting knowledge and tools.

CONFIGURATION FILE (<B>~/.RTORRENT.RC</B>)

This file is central to configuring rtorrent's behavior. It allows setting global options like default download directories, port ranges, upload/download limits, queue management, and advanced features such as scripting commands and watch directories. It's essential for automating rtorrent operations or customizing its extensive features.

XML-RPC INTERFACE

rtorrent exposes a powerful XML-RPC interface, enabling external applications and scripts to control and monitor it remotely. This is widely used by web-based frontends (e.g., ruTorrent) to provide a graphical user interface over a headless rtorrent instance, allowing for comprehensive management of torrents, settings, and statistics.

INTERACTIVE CONTROLS

When run in interactive mode, rtorrent provides a rich set of keyboard shortcuts for managing torrents directly within the terminal. Users can start, stop, pause, and delete torrents, view detailed information about peers and files, navigate through different views, and dynamically adjust settings.

HISTORY

rtorrent was created by Jari Sundell and first publicly released around 2007. It was developed to be a lightweight and high-performance BitTorrent client, distinct from other clients by its direct use of the libtorrent BitTorrent library (Sundell's own, not the one by Arvid Norberg). Its design prioritizes efficiency, making it a popular choice for continuous operation on servers and seedboxes, a role it has maintained for over a decade.

SEE ALSO

Copied to clipboard