2 个不稳定版本
0.2.0 | 2024 年 5 月 31 日 |
---|---|
0.1.0 | 2024 年 5 月 21 日 |
#1067 在 命令行工具
34KB
400 行
qbfrt (qBittorrent fastresume 工具)
用于处理 qBittorrent 的 fastresume 数据的命令行工具。支持实验性的 SQLite 数据库和(即将)传统的 .fastresume 文件。
queue-bee-fart
为什么?
qBittorrent 的 SQLite 数据库仍然是实验性的。虽然它在处理大量种子时大大提高了启动时间,但大多数处理 qBittorrent fastresume 数据的工具都不支持新数据库。此工具可防止您需要将数据转换回 .fastresume 文件以使用其他 fastresume 工具。
功能
使用此工具您可以进行
- 批量更新 SQLite 数据库中种子的保存路径
- 更改文件到新的驱动器或目录,无需在 qBittorrent 中移动种子或重新检查所有种子数据
- 从 Windows 上的 qBittorrent 迁移到 Linux,无需重新检查种子数据
- 批量更新 SQLite 数据库中种子的追踪器 URL
更多功能即将推出!
应用程序将查找包含 torrents.db 文件的默认 qBittorrent 数据目录。此行为可以通过传递 --data_dir /some/path/to/db
来更改。
参数
-p, --config_dir
- qB 本地配置目录的路径(其中包含 torrents.db)- 如果没有指定,则使用默认的 qBittorrent 数据目录
-d, --disable_backup
- 禁用自动的 torrents.db 备份--existing-path
- 已存在的保存路径或路径片段- 需要提供
--new-path
- 需要提供
--new-path
- 替换现有路径的新保存路径或路径片段- 需要提供
--existing-path
--old-tracker
- 已存在的追踪器或 URL 片段
- 需要提供
- 需要提供
--new-tracker
--new-tracker
- 替换现有追踪器的新追踪器或 URL 片段
-v, --verbose
- 启用更详细的输出--old-path
- 要替换的旧保存路径或部分路径--new-path
- 新的保存路径或要替换的部分路径--use-unix-sep
- 强制使用路径斜杠 "/" 更新路径--use-win-sep
- 强制使用 Windows 分隔符 "" 更新路径
示例和用法
在 Unix 上更新保存路径
在这里,种子文件保存在 ~/torrents/some/old/path/here
。运行以下命令将导致保存路径变为 ~/torrents/new/thing/here
。
qbfrt -v --old-path /some/old/path --new-path /new/thing
在 Windows 上更新保存路径
在这里,种子文件保存在 D:\Downloads\torrents\some\old\path\here
。运行以下命令将导致保存路径变为 C:\torrents\some\old\path\here
。
.\qbfrt -v --old-path "D:\Downloads" --new-path "C:\"
强制使用特定路径分隔符
您可以通过传递 --use-unix-sep
或 --use-win-sep
来强制更新路径使用特定分隔符。如果您想更新不同机器上的保存路径,这很有用。在这里,种子文件在一个 Windows 机器上保存为 D:\Downloads\some\folder
,我们正在 Linux 上运行命令。新路径仍然使用 Windows "" 路径分隔符。注意,您需要在 bash 中转义反斜杠。
qbfrt -v --old-path "D:\\Downloads" --new-path "C:\\" --use-win-sep
更新跟踪器 URL
这里的种子文件有以下跟踪器
http://some.tracker:6969/tracker
http://other.tracker:6969/tracker
运行以下命令将导致跟踪器变为
http://some.tracker:6969/tracker
http://beans.tracker:6969/tracker
qbfrt -v --old-tracker other --new-tracker beans
注意
- 默认情况下,在处理更改之前将创建 torrents.db 文件的带时间戳的备份。目前,使用简单的文件复制来执行备份,而不是正确的 SQL 导出。在运行此工具之前,请确保 qBittorrent 已完全关闭。
- 保存路径替换使用懒查找和替换。它将替换所有旧字符串的实例。如果您正在更新可能与他人共享段的部分路径,请小心。例如,
--existing-path /torrents/movie
将匹配/torrents/movies
和/torrents/movie-folder
。避免使用单个单词,因为它将替换其所有实例。 - 与保存路径一样,跟踪器替换也使用懒查找和替换。它将替换所有旧字符串的实例。
- 如果您在字符串末尾添加一个斜杠,请注意在新字符串末尾也包含一个斜杠,否则它将删除它。
- 您必须为每个要更改的路径运行一次命令,目前您不能批量处理不同的路径替换。
- 使用类似 Beekeeper Studio 的工具来确认已做出适当的更改。检查
target_save_path
列。您可以检查 libtorrent_resume_data 保存路径和跟踪器列表,但首先您必须将十六进制数据块转换为文本。 - Windows 的 Git bash/MINGW64:mingw 会搞乱以 "/" 开头的部分路径,使其相对于本地 git 程序目录。请参阅 这里。请使用命令提示符或 PowerShell 运行命令。
从源代码构建
在我弄清楚如何编译跨平台之前,您将不得不自己完成。
1. 安装 Rust
2. 克隆 git 仓库
git clone https://github.com/strangeepoxy/qbfrt.git
3. 编译应用程序
cargo build --release
4. 将编译的执行文件移动到您想要的位置
Unix
mv /target/release/qbfrt /place/you/want/qbfrt
Windows
move ./target/release/qbfrt.exe C:/place/you/want/qbfrt.exe
5. (可选)将 qbfrt 添加到您的路径
从源代码更新
1. 从仓库拉取更新
git pull
2. 从步骤 3 开始,遵循“从源代码构建”。
依赖项
~23–34MB
~508K SLoC