mikedld / bt-migrate

Torrent state migration tool
GNU General Public License v3.0
89 stars 15 forks source link

Travis Build Status Coverity Scan Build Status

About

Inspired by old 'wontfix' Transmission ticket and couple of mentions on Transmission IRC channel, here is a tool to ease migration from one BitTorrent client to another.

Building

You will need boost library installed.

Clone, generate environment for your favorite build system (we use CMake as abstraction layer), then compile. For example,

% git clone https://github.com/mikedld/bt-migrate
% cd bt-migrate
% git submodule update --init --force
% mkdir _build
% cd _build
% cmake ..
% cmake --build .

Running

There are a number of command-line arguments you could use:

Currently supported clients include (names are case-insensitive):

Whether only --source, only --source-dir, or both (same goes for target arguments) are required depends on program ability to guess needed information. If client name allows (by checking various places) to find data directory, then the latter is optional. If path to data directory allows (by analyzing its content) to guess corresponding client name, then the latter is optional. Sometimes it's not possible to guess anything, or name/path guessed don't suit you, so both arguments are required.

Some other possible arguments include:

Example use:

% ./BtMigrate --source deluge --target-dir ~/.config/transmission --dry-run
% ./BtMigrate --source rtorrent --source-dir ~/.session --target transmission --target-dir ~/.config/transmission-daemon --dry-run

For a complete set of arguments, execute:

% ./BtMigrate --help

License

Code is distributed under the terms of GNU GPL v3 or later. Feel free to fork, hack and get back to me.