Skip to main content

rTorrent & ruTorrent

Please make yourself aware of the Ultra.cc Fair Usage Policy. Directly pointing any cloud storage directory using Rclone will create extreme strain on your slot's disk and WILL cause a 24-hour ban on accessing your cloud storage repeatedly. It is YOUR responsibility to ensure usage is within acceptable limits. Ignorance is not an excuse.

If you are on an HDD plan, you should be mindful not to have multiple simultaneous downloads active as it will cause high disk IO utilization, and negatively affect your disk neighbors. There is no set limit on how many active downloads you can have, though depending on the download speeds, we recommend 1-3 at the most. To monitor the disk IO utilization, see this guide.

rTorrent is a text-based ncurses BitTorrent client written in C++, based on the libTorrent libraries for Unix, whose author's goal is "a focus on high performance and good code." It is known to be stable and can handle many seeding torrents, making it a solid choice for long-term seeding.

ruTorrent is a popular front-end for rTorrent, which can be used to interact with rTorrent. It is designed to emulate the look and feel of µTorrent WebUI, so its appearance is quite similar to the "parent." The name "ruTorrent" is the combination of µTorrent and rtorrent. The original version of ruTorrent was based on an older version of µTorrent Webui but has been completely rewritten as of 3.0.

For more information on rTorrent and ruTorrent, refer to the following links:

Initial Setup

We have pre-configured and optimized rTorrent/ruTorrent for best possible performance.

  • Install from the Installers tab on the User Control Panel
    • Install rTorrent first before installing ruTorrent
  • For ruTorrent, you can select either v3.10 or the newer v4.x.x.
    • We are currently offering ruTorrent v4.3.6 as a BETA application. See below for install instructions.
      • To upgrade, backup your ruTorrent configuration with cp -r /var/users/<username>/rutorrent ~/rutorrent.bak and then uninstall and re-install while choosing the newer version. And then replace the configuration files with those that you backed up.
  • Set a password.
  • Once installed, click Connect under ruTorrent
  • When prompted, enter your ruTorrent login credentials.
    • Username: Ultra service username
    • Password: ruTorrent password
cp -r /var/users/<username>/rutorrent ~/rutorrent.bak

Accessing rTorrent CLI Interface

  • Should you need to access rTorrent's CLI interface, type in the following command in SSH:
screen -r rtorrent
  • To exit the interface, do CTRL + A + D

Default File Paths

Default Downloads Folder: ~/downloads/rtorrent

Default Watch Folder: ~/watch/rtorrent

rTorrent's config folder: ~/.config/rtorrent

Find IP Address

If your private tracker requests the IP of your torrent client, you can find it with the following instructions. You can see which IP is being used by rTorrent from the Apps tab of your User Control Panel. Find rTorrent in the list and press the Show Info button to reveal the Assigned IP: xxx.xxx.xxx.xxx.

Enable rTorrent IP Binding

By default, rTorrent is set to use the server's default IP address. This should not be changed unless necessary. An IP from the IP pool can be bonded to your rTorrent instance with the following steps:

  • Connect to your service via SSH
  • Once connected, execute the following command.
app-rtorrent ip

Installing ruTorrent Plugins

ruTorrent is equipped with most of the plugins any client needs. Should there be a plugin that you need that is not installed, this section will help you learn to install those plugins. To do this, you will need to access the slot via SSH. For more information on that, visit this guide to learn more: How to connect to your slot via SSH

Installation

To install any plugin, first navigate to your home directory by executing the following command:

cd ~/

The plugin repository to be used will differ depending on your installed ruTorrent version.

Make sure to replace plugin-name with the name of the plugin that you want to install. In the links below you can find a list of all the available plugins.

ruTorrent v3.10

Do note, ruTorrent v3 is no longer supported by the developers. Currently, plugins are still available and can be added. However, we recommend that you move on to v4.

Then, visit this link to check the following plugins available. To install the plugin, run the following command:

git clone --branch v3.10 --depth 1 https://github.com/Novik/ruTorrent.git && cp -r ~/ruTorrent/plugins/plugin-name ~/www/rutorrent/plugins/ && rm -rf ~/ruTorrent

ruTorrent v4.x

Then, visit this link to check the following plugins available. To install the plugin, run the following command:

bash <(wget -qO- https://scripts.ultra.cc/util/rutorrent_v4_plugins/main.sh) <plugin-name>

Enable Public Torrent Seeding (Optional)

  • Public torrents are stopped after download by default to avoid HDD IO resource abuse and inadvertent usage of upload traffic. You can easily enable public torrent seeding with the instructions given below.
  • Login to your service via SSH. How to connect to your Ultra.cc slot via SSH
  • Execute the following SSH command:
app-rtorrent restart --remove-pubscript
  • That's it.
  • Note that repairing the rtorrent client or re-installing it will disable public torrent seeding again.

Editing rtorrent.rc to allow more options

Rtorrent is a reasonably powerful torrent client with many features not in use by default, being a command line application changing settings require you to edit a file on your slot while rtorrent is shutdown. Without this method any changes made using the Webui companion RUtorrent will be lost whenever you next restart the rtorrent process.

Editing the settings can cause issues if done incorrectly and Ultra.cc cannot support modifications done to rtorrent.rc.

You will need to use SSH in order to follow this guide.

Backing up your original file before editing

If this is your first time editing values in rtorrent, it is best first to create a copy so it can be restored should anything go wrong.

This can break your rtorrent installation BACKUP is a MUST.

Your .rtorrent.rc is located in your home folder, so it is simple to backup in one command

cp ~/.rtorrent.rc .rtorrent.rc.bk

This will leave you with two files now rtorrent.rc and .rtorrent.rc.bk

If you make a mistake on the original file, you can quickly revert back by running the following commands

rm ~/.rtorrent.rc

cp ~/.rtorrent.rc.bk ~/.rtorrent.rc

This keeps the backup intact, so you won't need to back up again until you settle on your working modified version.

Now that the file is safe, we can begin to dig into the file but before doing so it would be best if you stopped rutorrent/rtorrent via your control panel it is considered an excellent measure to pause your active torrents before stopping rtorrent/rutorrent as it will be quicker when starting again.

Return to your SSH client and open up the .rtorrent.rc file.

nano .rtorrent.rc

Now what you see is the current configuration, don't worry, as any changes can be added to a new line at the bottom

Options Available

Adding new watch Directory with RUtorrent label

You may need to create the watch directories you plan on using before you can make the changes. This can be done with this command

mkdir -p ~/rutorrent/watch2 changing the path ~/watch2 to whatever you'd like to call your new watch directory


schedule =
watch_directory_2,5,5,load.start=~/rutorrent/watch2/*.torrent,d.set_custom1=watch2"

schedule =
watch_directory_3,5,5,load.start=~/rutorrent/watch3/*.torrent,d.set_custom1=watch3"

schedule =
watch_directory_4,5,5,load.start=~/rutorrent/watch4/*.torrent,d.set_custom1=watch4"

To help explain what the above is actually telling rtorrent, we can easily break it down

schedule = watch_directory Explains the kind of instruction you are passing to rtorrent

_2,5,5 Now this is important, notice in the example above that the first number in the sequence is rising with each watch folder; you must make sure that each watch folder you add has the following number

load.start=~/ load.start=~/watch2/*. start download instruction and the path to the folder to watch for .torrent files (setting the value `load.start to load.normal will cause torrents to be added in a "Paused" state)

d.set_custom1=watch3" Direction to create a label for any files found in the watch directory specified in the line.

Once your modification is completed, press Ctrl+X then Press Y, and then Enter to confirm and save

Move completed files to Folder matching Label Number

Building on the above, it is possible to move completed downloads to a folder matching your label name.

For example, we want all files under our new watch folder "watch2" to be stored in a folder called watch2 inside our ~/files directory. This will actually apply to any labels you are using, so please keep this in mind before making the change below.

Paste this code under your watch directory code and Save it.

method.insert = d.get_finished_dir,simple,"cat=~/files/,$d.get_custom1="
method.set_key =
event.download.finished,move_complete,"d.set_directory=$d.get_finished_dir=;execute=mkdir,-p,$d.get_finished_dir=;execute=mv,-u,$d.get_base_path=,$d.get_finished_dir="

Rtorrent/rutorrent can now be started

The changes will only apply to any future torrents, so it is a good idea to now give this a test by placing a .torrent file into your new watch directory.

Troubleshooting FAQ for rTorrent and ruTorrent

Bad response from server: (0 [error,getplugins])

This Error requires your webserver to be reinstalled from your UCP. The reinstall webserver button (Orange button) can be found in your main dashboard next to your traffic quota. You can also do this on your slot's shell by running the following commands:

app-nginx uninstall
app-nginx install

No connection to rTorrent. Check if it is running. Check $ scgi_port and $ scgi_host in config.php and scgi_port in rTorrent config file.

This Error means that rTorrent is not running, and it usually needs to be restarted from your UCP or running app-rtorrent restart while connected to your shell. This can happen in a few scenarios:

  • Your allotted disk quota is exceeded, so your session cannot write to your directory.
    • You will need to connect to your service via Shell or FTP, remove unneeded data, and restart rTorrent.
  • You have a bad torrent in your session.
    • You need to restart rTorrent, quickly connect to your ruTorrent, and stop all torrents. Then, start the torrents one by one. Usually, torrents with random letters or a .meta extension in the name are the bad torrents. Once you have found the files, remove them from the client, and try again.
  • Your HDD's IO is extremely saturated.
    • You will need to check this using iostat. Visit this guide here for more information.

Error downloading files. Make sure autodl-irssi is started and configured correctly (e.g., password, port number): Error getting files listing: Error: Could not connect: (111) Connection refused

Two common reasons why you would receive the Error:

  • The first and most common is irssi is just not running for whatever reason, such as a hard crash or a reboot. In most cases restarting autodl-irssi will fix the issue.
  • The other reason maybe you have reinstalled ruTorrent. This changes the GUI password, so autodl-irssi can no longer connect to ruTorrent. In this case, you will need to back up ~/.autodl/autodl.cfg and reinstall autodl-irssi.

Uncaught TypeError: Cannot read property 'rTorrent' of undefined or JS errors in general;

These errors are usually caused by security and antivirus software or browser extensions such as ad blockers preventing the scripts from ruTorrent from loading. Try disabling these and test ruTorrent in an incognito tab to start. These are almost always client-side.

Clients who use Kaspersky software are most likely to see this Error.

Why does the main IP of my slot and download clients appear different? Which IP should I report to sites?

IP Bind/Pooling is no longer enabled by default. Many do not need it but customers can enable the option with rtorrent ip for those who desire it. After fresh install or repair an IP should appear.