#sqlite #command-line-tool #qbittorrent #torrent #fastresume

bin+lib qbfrt

用于处理 qBittorrent 的 fastresume 数据的命令行工具

2 个不稳定版本

0.2.0 2024 年 5 月 31 日
0.1.0 2024 年 5 月 21 日

#1067命令行工具

MIT 许可证

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