Skip to main content

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.

  • Deluge - Unstable and fast downloading, with a limit of 1000 torrents
  • qBittorrent - Stable and fast seeding, with a limit of 10K torrents
  • rTorrent - Unstable and slow seeding, with a limit of 2000 torrents
  • Transmission - Slow and featureless, with a limit of 25K torrents

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.

  • Connect to your Ultra.cc service via SSH
  • Once connected you can find your torrent session stored in these locations:
    • Deluge: ~/.config/deluge/state
    • qBittorrent: ~/.local/share/qBittorrent/BT_backup
    • rTorrent: ~/.config/rtorrent/session
    • Transmission: ~/.config/transmission-daemon/torrents

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 watch directory is located at ~/watch/<name-of-torrent-client>
    • If you are migrating to Deluge, it would be ~/watch/deluge
    • If you are migrating to qBittorrent, it would be ~/watch/qbittorrent
    • If you are migrating to rTorrent, it would be ~/watch/rtorrent
    • If you are migrating to Transmission, it would be ~/watch/transmission

  • To avoid heavy resource usage, which could lead to your torrent client crashing, do not add more than ~50 torrent files at the same time. Once those torrents you have added has been hashed, you can add a new set of 50 torrents.
    • You should set your destination torrent client to Add torrents in a paused state, and then manually resume the torrents in groups of 50 once they have been added to the torrent client.
    • You should also set Max Active Downloads to 1 to avoid high IO utilization if torrents are re-checked. To monitor your IO utilization, see this guide.

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.

  • Execute the following command:
cp -l ~/.config/deluge/state/* ~/watch/qbittorrent/
  • Once the command has successfully been executed, you should see new torrents being added to your destination torrent client.

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.

  • Install qbittorrent-cli by following the instructions here.
  • Once you have successfully installed and configured qbittorrent-cli, you are ready to migrate your torrent session by executing the following command:
qbt torrent import deluge --source-dir ~/.config/deluge/state/ --qbit-dir ~/.local/share/qBittorrent/BT_backup/
  • In the above example, the command would execute a torrent migration from Deluge to qBittorrent. As you can see, it specifies the Deluge torrent session path, but it does not specify the watch directory of qBittorrent. The reason for this is that it is injecting the torrent directly into the qBittorrent client, instead of adding the torrent to the watch directory and letting it be added that way.

  • To export your torrent session from qBittorrent to another torrent client, execute the following command:

qbt torrent export --source ~/.local/share/qBittorrent/BT_backup/ --export-dir ~/watch/deluge
  • The --export-dir of the above command can be replaced with the watch directory of another torrent client. See them listed below.

  • Paths to the watch directory of each torrent client:
    • Deluge: ~/watch/deluge
    • qBittorrent: ~/watch/qbittorrent
    • rTorrent: ~/watch/rtorrent
    • Transmission: ~/watch/transmission