Crates.io | qbfrt |
lib.rs | qbfrt |
version | 0.2.0 |
source | src |
created_at | 2024-05-21 03:34:51.134529 |
updated_at | 2024-05-31 04:44:49.60464 |
description | Command line tool for working with qBittorrent's fastresume data |
homepage | https://github.com/strangeepoxy/qbfrt |
repository | https://github.com/strangeepoxy/qbfrt |
max_upload_size | |
id | 1246388 |
size | 52,663 |
Command line tool for working with qBittorrent's fastresume data. Supports the experimental SQLite database and (soon) traditional .fastresume files.
queue-bee-fart
The qBittorrent SQLite database is still experimental. While it drastically improves start up times when you have many torrents, most tools that manipulate qBittorrent fastresume data do not support the new database. This tool prevents you from having to convert back to the .fastresume files to use those other fastresume tools.
With this tool you can:
Mass update the save paths for torrents in the SQLite database
Mass update the tracker URLs for torrents in the SQLite database
More functionality to come!
The application will look for the default qBittorrent data directory
containing the torrents.db file. This behavior can be changed by passing
--data_dir /some/path/to/db
-p, --config_dir
- Path to the qB local config directory (where torrents.db lives)
-d, --disable_backup
- Disables the automatic torrents.db backup--existing-path
- Existing save path or path fragment
--new-path
to be provided--new-path
- New save path or path fragment to replace existing path
--existing-path
to be provided
--old-tracker
- Existing tracker or URL fragment--new-tracker
to be provided--new-tracker
- New tracker or URL fragment to replace existing tracker
--old-tracker
to be provided-v, --verbose
- Enables more verbose output--old-path
- The old save path or partial path to replace--new-path
- The new save path or partial path to replace with--use-unix-sep
- Force using path slash "/" for updated paths--use-win-sep
- Force using Windows separators "" for updated pathsHere the torrent is saved at ~/torrents/some/old/path/here
. Running the following command
will result in the save path becoming ~/torrents/new/thing/here
.
qbfrt -v --old-path /some/old/path --new-path /new/thing
Here the torrent is saved at D:\Downloads\torrents\some\old\path\here
. Running the following
command will result in the save path becoming C:\torrents\some\old\path\here
.
.\qbfrt -v --old-path "D:\Downloads" --new-path "C:\"
You can force updated paths to use a specific separator by passing --use-unix-sep
or --use-win-sep
.
This is useful if you want to update save paths for a different machine. Here the torrent is saved at
D:\Downloads\some\folder
on a Windows machine and we are running the command on Linux. The new path
will still use Windows "" path separators. Note you would have to escape the back slashes in bash.
qbfrt -v --old-path "D:\\Downloads" --new-path "C:\\" --use-win-sep
Here the torrent has the following trackers:
http://some.tracker:6969/tracker
http://other.tracker:6969/tracker
Running the following command will result in the trackers becoming:
http://some.tracker:6969/tracker
http://beans.tracker:6969/tracker
qbfrt -v --old-tracker other --new-tracker beans
--existing-path /torrents/movie
will
match both /torrents/movies
and /torrents/movie-folder
. Avoid using a single word, it will replace all instances
of it.target_save_path
column. You can check the libtorrent_resume_data save path and tracker list, but first
you will have to convert the hex blob to text.Until I figure out how to compile cross-platform, you're going to have to do it yourself.
git clone https://github.com/strangeepoxy/qbfrt.git
cargo build --release
mv /target/release/qbfrt /place/you/want/qbfrt
move ./target/release/qbfrt.exe C:/place/you/want/qbfrt.exe
git pull