cca7869d2a
* start refactor * default golang loyaout separate qbittorrent and torrent structures * stage * move flags handle to module and cover it with tests change handle sep with path.join * ugly remove unneeded fields from resume.dat * use path joing prepare for resume structs * Introduce subtests * fix behavior * Move to structures instead of using interfaces * Make main cmd clean, decomposite functions * Make main cmd clean, decomposite functions * Detect torrents functions and tests * Fixes * Fixes * New tests for content layout and file paths reformat code for project change libtorrent version append torrent v2 schema in torrent structs * filepath helper module fix some tests * fileHelpers new functions and tests * new function with cut last part with tests * function description and small fix * rename some variables and structures * beautiful tests handle for savePaths starting refactor savepaths * Refactor HandleSavePath func. Cover with tests Move replace field creation to handle and assign pointer, instead of generate each time with handle resumeItem. Moved opts to transferStructure. * fix some tests * HandleSavePaths covered with tests and little bit fixed * Another one additional test for fully function cover * check for tests * Remove PiecePriority * Refactored HandlePieces functions Removed unused functions * Rename variables. Introduced new tests * Append tests * Rename test funcs * New tests * New tests * move modules * introduce Makefile * Adapt fileHelpers for both windows and linux. Linux tests passed Use slashed paths for search torrents * remove test template * test fileset * Makefile. Version introduce * Fix darwin i386 version build * Bug fix with mappedfiles Need more tests and append new functionality. * tests for HandleSavePaths with absoulte paths in mapped files * additional tests with fileshare * all tests OK * Fix torrent state. Added tests * fixes after code inspection * Magnet link support. Tests * README.md update Co-authored-by: Alexey Kostin <a.kostin@corp.mail.ru> |
||
---|---|---|
.github/ISSUE_TEMPLATE | ||
internal | ||
pkg | ||
test | ||
.gitignore | ||
bt2qbt.go | ||
go.mod | ||
go.sum | ||
LICENSE | ||
Makefile | ||
README.md |
bt2qbt
bt2qbt is cli tool for export from uTorrent\Bittorrent into qBittorrent (convert)
Important
Actual version tested with uTorrent 3.5.5 (build 46206) and qBittorrent 4.4.2
Feature:
- 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 *
- Processing magnet links
- Processing modified torrent names
- Save date, metrics, status. **
- Import of tags and labels
- Multithreading
- Covered with tests
Note
* This torrents will not be done (0%) and will need force recheck (right click on torrent -> Force recheck)
[!NOTE] * If you migrate from windows to linux and use replace function attention that multiple flags -r processing one by one
Note
* If you migrate from windows to linux and yours torrent files saves to some place you must use flag --search with actual paths in yours system
Note
* If you migrate from windows to linux you may need to define path separathor with --sep flag
Note
** The calculation of the completed parts is based only on the priority of the files in torrent. Don't transfer global uTorrent/BitTorrent statistics.
Note
*** Partially downloaded torrents will be visible as 100% completed, but in fact you will need to do a recheck (right click on torrent -> Force recheck). Without recheck 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.
Important
Don't forget before use make backup bittorrent\utorrent, qbittorrent folder. and config %APPDATA%/Roaming/qBittorrent/qBittorrent.ini. Close all this program before.
[!IMPORTANT] You must previously disable option "Append .!ut/.!bt to incomplete files" in preferences of uTorrent/Bittorrent, or that files wouldn't be handled
Help:
Help (from cmd or powershell)
Usage:
bt2qbt_v1.999_amd64.exe [OPTIONS]
Application Options:
-s, --source= Source directory that contains resume.dat and torrents files (default: C:\Users\user\AppData\Roaming\uTorrent)
-d, --destination= Destination directory BT_backup (as default) (default: C:\Users\user\AppData\Local\qBittorrent\BT_backup)
-c, --config= qBittorrent config file (for write tags) (default: C:\Users\user\AppData\Roaming\qBittorrent\qBittorrent.ini)
--without-labels Do not export/import labels
--without-tags Do not export/import tags
-t, --search= Additional search path for torrents files
Example: --search='/mnt/olddisk/savedtorrents' --search='/mnt/olddisk/workstorrents'
-r, --replace= Replace save paths. Important: you have to use single slashes in paths
Delimiter for from/to is comma - ,
Example: -r "D:/films,/home/user/films" -r "D:/music,/home/user/music"
--sep= Default path separator that will use in all paths. You may need use this flag if you migrating from windows to linux in some cases
(default: \)
-v, --version Show version
Help Options:
-h, --help Show this help message
Usage examples:
- If you just run application, it will handle torrents from %APPDATA%\uTorrent\ to %LOCALAPPDATA%\qBittorrent\BT_BACKUP\
C:\Users\user\Downloads> .\bt2qbt.exe
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.
Check that you previously disable option "Append .!ut/.!bt to incomplete files" in preferences of uTorrent/Bittorrent
Press Enter to start
Started
1/2 Sucessfully imported 1.torrent
2/2 Sucessfully imported 2.torrent
Press Enter to exit
- Run application from cmd or powershell with keys, if you want change source dir or destination dir, or export/import behavior
C:\Users\user\Downloads> .\bt2qbt.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.
Check that you previously disable option "Append .!ut/.!bt to incomplete files" in preferences of uTorrent/Bittorrent
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