Torrent Clients

Guides, scripts and tutorials to extend functionality on torrent clients.

Adding torrents using a Browser Extension

In this guide, we'll be setting up extensions that send torrent files from your browser to your remote client for downloading torrents without logging into your torrent client's web interface.

Installing the Extension

Setting Up

Remote Torrent Adder

ruTorrent

Server name: {any name}
Server type: ruTorrent WebUI

Host: {username}.{servername}.usbx.me
Port: 443
SSL: Checked
Username: {username}
Password: Password: As configured in UCP under ruTorrent
Relative Path: /rutorrent

::: info This will throw a Server responded with an irregular HTTP code when adding a torrent. You can safely ignore this error. :::

Deluge

Server name: {any name}
Server type: Deluge WebUI
Host: {username}.{servername}.usbx.me
Port: 443
SSL: Checked
Username: {username}
Password: Password: As configured in UCP under Deluge
Relative Path: /deluge

Transmission

Server name: {any name}
Server type: Transmission WebUI
Host: {username}.{servername}.usbx.me/transmission/rpc
Port: 443
SSL: Checked
Username: {username}
Password: Password: As configured in UCP under Transmission

qBittorrent

Server name: {any name}
Server type: qBittorrent v4.1+ WebUI
Host: {username}.{servername}.usbx.me
Port: 443/qbittorrent
SSL: Checked
Username: {username}
Password: As configured in UCP under qBittorrent

Torrent Control

ruTorrent

Server name: {any name}
Bittorrent Client: ruTorrent
Server address: https://{username}.{servername}.usbx.me/rutorrent
Username: {username}
Password: As configured in UCP under ruTorrent

Click Save after configuring

Deluge

Server name: {any name}
Bittorrent Client: Deluge
Server address: https://{username}.{servername}.usbx.me/deluge
Password: As configured in UCP under Deluge

Click Save after configuring

Transmission

Server name: {any name}
Bittorrent Client: Transmission
Server address: https://{username}.{servername}.usbx.me/transmission/rpc
Username: {username}
Password: As configured in UCP under Transmission

Click Save after configuring

qBittorrent

Server name: {any name}
Bittorrent client: qBittorrent
Server address: https://{username}.{servername}.usbx.me/qbittorrent
Username: {username}
Password: As configured in UCP under qBittorrent

ruTorrent Ratiocolor plugin

Ratiocolor is a ruTorrent plugin that will colorize the ratio column in different colors depending on the ratio level.

Requirements

Installation

cd ~/www/rutorrent/plugins/
git clone https://github.com/Gyran/rutorrent-ratiocolor.git

Configuration

sed -i "s:changeWhat = \"font\";:changeWhat = \"cell-background\";:g" ~/www/rutorrent/plugins/ratiocolor/init.js

sed -i "s:changeWhat = \"cell-background\";:changeWhat = \"font\";:g" ~/www/rutorrent/plugins/ratiocolor/init.js

ruTorrent Ratio Groups

Ratio groups are an advanced feature in rTorrent & ruTorrent that give you precise control over seeding rules and conditions for your torrents. With detailed ratio groups configurations, you can automatically manage seeding and uploading behavior across your entire torrent library.

Features

Accessing Ratio Groups Settings

ratio groups.jpg

Ratio Group Conditions

Each ratio group contains a set of conditions that must be met for the configured action to trigger:

Understanding How Ratio Group Conditions Work

Here is a table showing examples of how the conditions interplay to trigger the action:

Min % Max % Min UL Max Time Action? Reasoning
Yes No Yes No Yes Min conditions met
No Yes No No Yes Max condition met
No No Yes No No Need both min conditions
Yes No No Yes No Need both min conditions
Yes Yes Yes Yes Yes All conditions met

As shown, the action occurs when:

So you have full flexibility to combine conditions or isolate certain rules.

Common Ratio Group Configurations

Here are some useful ratio group configurations you may want to employ:

Simple Ratio Stopping

Scenario: Stop seeding when a torrent reaches a specified ratio.

Example:

This will stop all torrents when they reach 2.0 ratio.

Time Limited Seeding

Scenario: Stop seeding after a certain amount of time, regardless of ratio.

Example:

This will stop all torrents after 48 hours seeded, no matter the ratio.

Combined Ratio and Time Stopping

Scenario: Stop seeding based on ratio OR time, whichever comes first.

Example:

This stops at 2.0 ratio or 48 hours, whichever happens first.

Fixed Upload Amount Stopping

Scenario: Stop seeding after uploading a fixed amount of data.

Example:

This stops all torrents after 10GB uploaded, regardless of ratio.

Stop Unseeded Torrents

Scenario: Stop torrents that don't reach set ratio after a certain time period.

Example:

Stops torrents unseeded after 1 week.

Additional Points and Tips

Here are some additional tips to keep in mind when working with ratio groups:

The possibilities are endless for creating automated, intelligent seeding behaviors with ratio groups. Use them wisely and they will make torrent library management a breeze.

Electorrent

Electorrent is a remote control client desktop application for qBittorrent, rTorrent, Transmission, Deluge, µTorrent and Synology. It is used to manage your torrent client instead of using the provided web UI of said torrent client.

More information can be found here.

Installation

Configuration

Once you successfully launch Electorrent, it will prompt you to enter connection details to access your torrent client. Below, you will find details for your specific torrent client.

Connection Details

Connection details can be found on the UCP by going to the Apps tab. In the list of installed applications, find your torrent client and click the blue Show Info button to reveal the details you need to connect Electorrent to your torrent client.

Deluge

Deluge can only be connected via HTTP protocol because of limitations within Electorrent.

qBittorrent

rTorrent/ruTorrent

Transmission

Torrent Session Migration

We do not officially support or assist with migrating your torrent session state. There is always a small risk for torrent data to become corrupted while migrating. The below procedures are provided for our clients to use at their own risk.

In this guide, we will cover the procedure of migrating torrent sessions from one client to another. There are multiple ways of getting this done, and we will show you a few of them. Before we begin with the instructions, we will list all torrent clients available on Ultra.cc, and their respective strengths and limitations.

Please note, the below characteristics are highly subjective and may not align with your specific use case. The amount of torrents listed are soft limits.

As these torrent clients are running in a shared environment on Ultra.cc. We do not recommend and neither do we officially support torrent clients with torrent sessions above these limitations.

Instructions

Basic Migration

As mentioned previously, there are multiple ways of migrating your torrent session between clients. Below, we will show you one of the more basic ways of doing it.

Before you start migrating your torrent session. Make sure you have set the same default save path for your destination torrent client, as you have set for your source torrent client. Failing to do so would result in your new torrent client re-downloading all of your torrents again.
Please read the rules of your torrent trackers as some do not allow seeding from more than one IP or client.

Next, you would want to copy your torrent files from the torrent session directory of your current torrent client, into the watch directory of the torrent client you are migrating to.

The next step in the procedure is to begin copying your torrent files from your current torrent client's session state directory, to your destination torrent client's watch directory. The session state and watch directories of each torrent client can be found further up in this guide. In the below command, we have used Deluge and qBittorrent as an example.

cp -l ~/.config/deluge/state/* ~/watch/qbittorrent/

qbittorrent-cli

If you are migrating to qBittorrent, there is a great utility tool called qbittorrent-cli which makes the process of migrating your torrents very easy and effortless.

qbt torrent import deluge --source-dir ~/.config/deluge/state/ --qbit-dir ~/.local/share/qBittorrent/BT_backup/
qbt torrent export --source ~/.local/share/qBittorrent/BT_backup/ --export-dir ~/watch/deluge

rTorrent - Find Corrupted Torrents

Take care while deleting files within your torrent session state. We do not take any responsibility for accidental data deletion and cannot restore deleted data. The below procedures are provided for our clients to use at their own risk.

This guide will cover how to find and remove a corrupted torrent in your torrent client. Occasionally, a torrent can become corrupted and cause your torrent client to crash. This can be somewhat complicated to troubleshoot and diagnose, as there are many reasons for why a torrent client might crash.

Before we begin, let's introduce the available torrent clients, their strengths, and weaknesses. The information below will help you decide what torrent client to use. Please note that the below characteristics are highly subjective and may not align with your specific use case. The number of torrents listed is are soft limits.

These torrent clients are running in a shared environment on Ultra.cc. We do not recommend nor officially support torrent clients with torrent sessions above these limits.

rTorrent

To locate a corrupt torrent file in rTorrent, you need to monitor the log output during the crash of rTorrent. By default, rTorrent logging is disabled and needs to be enabled.

Enabling logging of rTorrent should only be done temporarily. Leaving logging enabled for a prolonged time will create very large log files, and could lead to your storage being filled up.

mkdir ~/.config/rtorrent/logs && cp -r ~/.config/rtorrent/session ~/.config/rtorrent/session.bak
nano ~/.rtorrent.rc
log.open_file = "rtorrent", ~/.config/rtorrent/logs/rtorrent.log
log.open_file = "tracker", ~/.config/rtorrent/logs/tracker.log
log.open_file = "storage", ~/.config/rtorrent/logs/storage.log
log.open_file = "network", ~/.config/rtorrent/logs/network.log
log.add_output = "info", "rtorrent"
log.add_output = "critical", "rtorrent"
log.add_output = "error", "rtorrent"
log.add_output = "warn", "rtorrent"
log.add_output = "notice", "rtorrent"
log.add_output = "debug", "rtorrent"
log.add_output = "dht_debug", "tracker"
log.add_output = "tracker_debug", "tracker"
log.add_output = "storage_debug", "storage"
tail ~/.config/rtorrent/logs/storage.log
rm ~/.config/rtorrent/session/TORRENTID*