Page 1 of 1

macOS tool for migration from Bittorrent/uTorrent/Deluge to qBittorrent

Posted: Sun Feb 16, 2020 2:45 pm
by rumanzo
Original topic viewtopic.php?f=14&t=5889

Disappointed in the existing application on the ruby, which could not handle all my torrents, I wrote my own application on golang.
I tested it on my own torrent database (3k+) and test torrents on Bittorrent/uTorrent clients (version 3+).
Features:
  • Processing all torrents
  • Processing torrents with subdirectories and without subdirectories
  • Processing torrents with renamed files
  • Processing torrents with non-standard encodings (for example, cp1251)
  • Processing of torrents in the not ready state *
  • Save date, metrics, status. **
  • Import of tags and labels
  • Multithreading
  • Path replace mechanism
* This torrents will not be done (0%) and will need force rehash
** The calculation of the completed parts is based only on the priority of the files in torrent
*** Partially downloaded torrents will be visible as 100% completed, but in fact you will need to do a rehash. Without rehash torrents not will be valid. This is due to the fact that conversion of .dat files in which parts of objects are stored is not implemented.

Don't forget before use make backup bittorrent\utorrent, qbittorrent folder. and config %APPDATA%/Roaming/qBittorrent/qBittorrent.ini. Close all this program before.

Usage:
If you MacOs user or Linux user don't forget to make the file executable:

Code: Select all

$ chmod +x bt2qbt_v1.2_amd64_macos
1.) Help (from cmd or powerwhell)

Code: Select all

C:\Users\user\Downloads> .\bt2qbt_v1.2_amd64.exe -h
Usage of C:\Users\user\Downloads\bt2qbt_v1.2_amd64.exe:
-c, --qconfig (= "C:\\Users\\user\\AppData\\Roaming\\qBittorrent\\qBittorrent.ini")
    qBittorrent config files (for write tags)
-d, --destination (= "C:\\Users\\user\\AppData\\Local\\qBittorrent\\BT_backup\\")
    Destination directory BT_backup (as default)
--replace (= "")
    Replace paths.
        Delimiter for replaces - ;
        Delimiter for from/to - ,
        Example: "D:\films,/home/user/films;\,/"
        If you use path separator different from you system, declare it mannually    
-s, --source (= "C:\\Users\\user\\AppData\\Roaming\\uTorrent\\")
    Source directory that contains resume.dat and torrents files
--without-labels  (= false)
    Do not export/import labels
--without-tags  (= false)
    Do not export/import tags
2.) If you just run application, it will processing torrents from %APPDATA%\uTorrent\ to %LOCALAPPDATA%\qBittorrent\BT_BACKUP\
Example:

Code: Select all

It will be performed processing from directory C:\Users\user\AppData\Roaming\uTorrent\ to directory C:\Users\user\AppData\Local\qBittorrent\BT_backup\
Check that the qBittorrent is turned off and the directory C:\Users\user\AppData\Local\qBittorrent\BT_backup\ and config C:\Users\user\AppData\Roaming\qBittorrent\qBittorrent.ini is backed up.


Press Enter to start

Started
1/2 Sucessfully imported 1.torrent
2/2 Sucessfully imported 2.torrent

Press Enter to exit
3.) Run application from cmd or powershell with keys, if you want change source dir or destination dir, or export/import behavior
Example:

Code: Select all

C:\Users\user\Downloads> .\bt2qbt_v1.2_amd64.exe -s C:\Users\user\AppData\Roaming\BitTorrent\
It will be performed processing from directory C:\Users\user\AppData\Roaming\BitTorrent\ to directory C:\Users\user\AppData\Local\qBittorrent\BT_backup\
Check that the qBittorrent is turned off and the directory C:\Users\user\AppData\Local\qBittorrent\BT_backup\ is backed up.

Press Enter to start
Started
1/3233 Sucessfully imported 1.torrent
2/3233 Sucessfully imported 2.torrent
3/3233 Sucessfully imported 3.torrent
...
3231/3233 Sucessfully imported 3231.torrent
3232/3233 Sucessfully imported 3232.torrent
3233/3233 Sucessfully imported 3233.torrent

Press Enter to exit
Known issuses:
  • Unknown
Here's the project: https://github.com/rumanzo/bt2qbt
Code:  https://github.com/rumanzo/bt2qbt/blob/master/bt2qbt.go
Releases: https://github.com/rumanzo/bt2qbt/releases
x86_64 version binary: https://github.com/rumanzo/bt2qbt/relea ... _amd64.exe
i386 version binary: https://github.com/rumanzo/bt2qbt/relea ... 2_i386.exe
x86_64 Linux binary: https://github.com/rumanzo/bt2qbt/relea ... md64_linux
i386 Linux binary: https://github.com/rumanzo/bt2qbt/relea ... i386_linux
x86_64 MacOs binary: https://github.com/rumanzo/bt2qbt/relea ... md64_macos

Deluge branch:
Here's the project: https://github.com/rumanzo/deluge2qbt
code: https://github.com/rumanzo/deluge2qbt/b ... uge2qbt.go
Releases: https://github.com/rumanzo/deluge2qbt/releases
x86_64 version binary: https://github.com/rumanzo/deluge2qbt/r ... _amd64.exe
i386 version binary: https://github.com/rumanzo/deluge2qbt/r ... 2_i386.exe
x86_64 Linux version binary: https://github.com/rumanzo/deluge2qbt/r ... v1.2_amd64
i386 Linux  version binary:https://github.com/rumanzo/deluge2qbt/r ... _v1.2_i386
x86_64 MacOs binary: https://github.com/rumanzo/deluge2qbt/r ... v1.2_amd64

If there are any errors or if it help you - write there