Sign inSign up

jesec/rtorrent

By jesec

•Updated about 4 years ago

Image
1

500K+

jesec/rtorrent repository overview

⁠RTorrent BitTorrent Client

rTorrent is a stable, high-performance and low resource consumption BitTorrent client.

⁠Getting started

⁠Installation

Fully static binaries are available at Github Actions⁠.

  • Extract, sudo cp rtorrent /usr/local/bin/rtorrent and sudo chmod +x /usr/local/bin/rtorrent
  • Download default configuration from doc/rtorrent.rc⁠ and copy it to /etc/rtorrent/rtorrent.rc or $HOME/.rtorrent.rc.

Or run with Docker⁠

Or build from source⁠

⁠Use

Run rtorrent

You can execute rTorrent commands⁠ to set port, set announced IP, etc.

For example, to launch rTorrent with port 6881 and DHT disabled, rtorrent -o network.port_range.set=6881-6881,dht.mode.set=disable.

Checkout Flood⁠, a modern Web UI for rTorrent.

To learn how to use rTorrent visit the Wiki⁠.

⁠Configuration

Default configuration file is available at doc/rtorrent.rc⁠. It is often installed to /etc/rtorrent/rtorrent.rc.

You may modify the configuration file to fit your needs. Alternatively, use -o, as documented above, to override some configurations but keep using the loaded configuration file.

rTorrent loads a configuration file from several locations:

  • $XDG_CONFIG_HOME/rtorrent/rtorrent.rc (highest priority)
  • $HOME/.config/rtorrent/rtorrent.rc
  • $HOME/.rtorrent.rc
  • /etc/rtorrent/rtorrent.rc (lowest priority)

Or, use -n argument to prevent rTorrent from loading any configuration file. Then you can use -o try_import=<path> to load a config file from an arbitrary location.

⁠Build

⁠Bazel

Bazel 3 or later is required.

Bazel manages most dependencies.

Unmanaged dependencies:

  • GCC/Clang compiler toolchain and C/C++ development files (C++17 support required)
  • cmake (for build info generation)
  • libxmlrpc-c with development files (for XMLRPC support)
  • libcppunit with development files (optional, for unit tests)
# Install Bazel
# Use the build of your system and architecture
# bazelisk-linux-arm64 and bazelisk-darwin-amd64 are also available
sudo wget https://github.com/bazelbuild/bazelisk/releases/latest/download/bazelisk-linux-amd64 -O /usr/local/bin/bazel
sudo chmod +x /usr/local/bin/bazel

# Install unmanaged dependencies and build tools
# Use the package manager of your distribution
sudo apt install build-essential cmake libc6-dev libxmlrpc-c++8-dev

# Clone repository
git clone https://github.com/jesec/rtorrent.git
cd rtorrent

# Build
# To generate a fully static executable, use rtorrent.
# To generate a shared executable, use rtorrent-shared.
# Note that certain versions of glibc have bugs that make static executables unreliable.
# If you do want fully static, reproducible, portable and stable executable, build with Dockerfile.
bazel build rtorrent

# Binary available at bazel-bin/rtorrent (or bazel-bin/rtorrent-shared)
⁠CMake

CMake 3.5 or later is required.

You have to install dependencies manually to system or let CMake know where to find them.

Dependencies:

  • GCC/Clang compiler toolchain and C/C++ development files (C++17 support required)
  • libtorrent with development files (core dependency, matching version required)
  • libcurl with development files
  • libncurses/libncursesw with development files (for terminal UI)
  • libxmlrpc-c with development files (optional if USE_XMLRPC=OFF, for XMLRPC support)
  • libcppunit with development files (optional, for unit tests)
# Compile and install libtorrent (matching version required)
# Check README of libtorrent for instructions

# Install dependencies and build tools
# Use the package manager of your distribution
sudo apt install build-essential cmake libc6-dev libcurl4-openssl-dev libncursesw5-dev libxmlrpc-c++8-dev libcppunit-dev

# Clone repository
git clone https://github.com/jesec/rtorrent.git
cd rtorrent

# Configure and generate Makefile
cmake .

# Build
# By default, shared binaries are generated
make

# Binary available at ./rtorrent

# Install (optional)
sudo make install

⁠Docker

Dockerfile⁠

To test: docker run -it jesec/rtorrent

Note that you have to expose BitTorrent port (e.g. -p 50000:50000) and map folders (e.g. -v /home/download:/home/download) yourself.

By default, rTorrent's files are located in $HOME/.local/share/rtorrent. Check doc/rtorrent.rc⁠ to know more about the default configurations.

To integrate with Flood⁠, see flood:Dockerfile.rtorrent⁠ and discussions⁠.

⁠Donate to rTorrent development

Donate

  • Paypal⁠
  • Patreon⁠
  • SubscribeStar⁠
  • BitCoin: 1MpmXm5AHtdBoDaLZstJw8nupJJaeKu8V8
  • Etherium: 0x9AB1e3C3d8a875e870f161b3e9287Db0E6DAfF78
  • LiteCoin: LdyaVR67LBnTf6mAT4QJnjSG2Zk67qxmfQ

Help keep rTorrent development going by donating to its creator.

Tag summary

Content type

Image

Digest

Size

2.1 MB

Last updated

over 4 years ago

docker pull jesec/rtorrent