qBittorrent下载完成自动执行脚本设置教程
时间:2026-05-19 | 作者:318050 | 阅读:0如果你用qBittorrent下载资源,下载完成后往往还有“一堆手工活”:
文件要重命名、要上传网盘、要清理临时文件……手动操作不仅繁琐,还容易出错。
其实,qBittorrent内置的“下载完成时运行外部程序”功能,就是解决这些问题的自动化利器。
它能在下载完成的瞬间,自动触发一系列脚本,实现从文件处理到任务管理的全流程自动化。
下面这五种方法,覆盖了从修改文件哈希、自动重命名,到调用API打标、清理挂载盘,再到批量管理种子的高级场景。你可以直接部署,彻底解放双手。
一、使用Python脚本修改文件哈希值,适配115网盘上传
115网盘对重复文件的校验非常严格。如果文件云端已存在,直接上传会被拒绝。
一个巧妙的绕过方法是:在文件末尾追加几个随机字节。这样,文件的SHA-1哈希值会改变,从而被115识别为新文件,但文件内容和播放完全不受影响。
具体操作如下:
- 创建脚本:创建一个名为
change_hash.py的Python脚本,内容如下:
import os
import sys
import random
file_path = sys.argv[1]
if os.path.isfile(file_path):
with open(file_path, 'ab') as f:
f.write(os.urandom(random.randint(1, 8)))
- 赋予权限:在Linux或macOS系统上,给脚本加上可执行权限:
chmod +x /path/to/change_hash.py
- 配置qBittorrent:在qBittorrent WebUI中,找到“设置 → 选项 → 高级 → 下载完成时运行外部程序”,填入命令:
/usr/bin/python3 "/path/to/change_hash.py" "%F"
二、使用Bash脚本自动重命名,供Jellyfin刮削
对于电视剧或电影资源,杂乱的文件名会让Jellyfin、Emby等媒体服务器无法正确刮削元数据。
这个脚本的作用,是在下载完成后,自动将文件夹和视频文件重命名为规整格式。
- 创建脚本:创建
auto-rename.sh脚本,内容如下:
#!/bin/bash
TORRENT_NAME="$1"
SA VE_PATH="$2"
cd "$SA VE_PATH"
if [[ -d "$TORRENT_NAME" ]]; then
mv "$TORRENT_NAME" "$(echo "$TORRENT_NAME" | sed -E 's/[^a-zA-Z0-9._u4e00-u9fa5]+/-/g' | sed 's/-+/\-/g' | sed 's/^-\|-$//g')"
fi
- 赋予权限:保存后,赋予执行权限:
chmod +x /path/to/auto-rename.sh
- 配置qBittorrent:在“下载完成时运行外部程序”字段中配置:
/path/to/auto-rename.sh "%N" "%D"
三、调用Ja vaScript脚本,批量添加标签并暂停任务
通过qBittorrent的Web API,可以实现更精细的下载后管理。
例如,自动给指定分类(如“Other”)的种子添加标签并暂停,避免影响主任务队列。
- 准备脚本:准备一个名为
run-tag-pause.js的Ja vaScript脚本:
const axios = require('axios');
const TORRENT_HASH = process.argv[2];
const QBIT_URL = 'http://localhost:8080';
const QBIT_USER = 'admin';
const QBIT_PASS = 'adminadmin';
async function main() {
await axios.post(QBIT_URL + '/api/v2/auth/login', `username=${QBIT_USER}&password=${QBIT_PASS}`);
await axios.post(QBIT_URL + '/api/v2/torrents/addTags', { hashes: TORRENT_HASH, tags: ['AutoProcessed'] });
await axios.post(QBIT_URL + '/api/v2/torrents/pause', { hashes: TORRENT_HASH });
}
main();
- 安装依赖与测试:使用前安装axios依赖,并可预先测试:
npm install axios
node run-tag-pause.js "torrent_name" "hash_value"
- 配置qBittorrent:在自动执行命令框中填入:
node "/path/to/run-tag-pause.js" "%N" "%I"
四、通过Shell命令,触发挂载目录同步与清理
很多人将下载目录设在CloudDrive挂载的115或阿里云盘路径上。
但下载完成后,挂载点可能残留临时文件(如 *.!qB),导致缓存未刷新或显示空间占用异常。这个脚本能自动清理并同步。
- 创建脚本:创建
sync-and-clean.sh脚本:
#!/bin/bash
DOWNLOAD_DIR="$1"
find "$DOWNLOAD_DIR" -name "*.!qB" -delete 2>/dev/null
find "$DOWNLOAD_DIR" -name ".unwanted" -type d -exec rm -rf {} + 2>/dev/null
sync && echo "Sync completed for $DOWNLOAD_DIR"
- 赋予权限:设置可执行权限:
chmod +x /path/to/sync-and-clean.sh
- 配置qBittorrent:在qBittorrent中配置执行:
/path/to/sync-and-clean.sh "%D"
五、利用qui工具,执行高级批量操作
对于需要长期挂机做种的用户,管理大量种子很麻烦。qui 是专为qBittorrent设计的命令行工具,能基于做种时间、分享率等条件进行批量操作,实现智能清理。
- 安装工具:首先,安装qui工具:
npm install -g qui
- 编写清理脚本:编写一个用于清理低分享率种子的脚本,例如
cleanup-low-ratio.js:
const { Qui } = require('qui');
const client = new Qui({ host: 'http://localhost:8080', username: 'admin', password: 'adminadmin' });
client.getTorrents({ filter: 'seeding', sort: 'ratio', reverse: true }).then(torrents => {
torrents.slice(10).forEach(t => {
if (t.ratio < 0.5 && t.seeding_time_seconds > 3600) {
client.deleteTorrent(t.hash, false);
}
});
});
- 配置自动执行:在“下载完成时运行外部程序”中调用这个脚本。它会在每次有任务完成时,自动检查并清理那些分享率低于0.5且已做种超过1小时的种子。
node "/path/to/cleanup-low-ratio.js"
以上方法,你可以根据实际需求组合使用。一旦配置完成,qBittorrent就能在后台默默处理好一切收尾工作,让下载体验真正变得省心高效。
来源:整理自互联网
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- 小星记账手机版常用类别数量修改教程
- 时间:2026-05-19
-
- C4D三维钻石建模教程:从零到精通的完整步骤
- 时间:2026-05-19
-
- C4D晶格效果制作教程 详解三维图形晶格化步骤
- 时间:2026-05-19
-
- Cinema 4D球体聚光灯添加与打光技巧详解
- 时间:2026-05-19
-
- 茄子免费小说手机版书架分组管理书籍教程
- 时间:2026-05-19
-
- 偃武建筑布局攻略不同建筑最佳摆放位置详解
- 时间:2026-05-19
-
- 枪林弹雨游戏账号购买平台与渠道推荐
- 时间:2026-05-19
-
- 美多集成灶自动清洗功能需要多长时间完成
- 时间:2026-05-19
精选合集
更多大家都在玩
大家都在看
更多-
- 从红月开始游戏下载地址分享
- 时间:2026-05-18
-
- 一公顷等于多少平方米土地面积换算详解
- 时间:2026-05-18
-
- iPhone通话录音设置教程与实用技巧详解
- 时间:2026-05-18
-
- 韩剧app哪个最全
- 时间:2026-05-18
-
- 遮天帝路争锋隐藏地图介绍
- 时间:2026-05-18
-
- 史莱姆城堡手游怎么下载
- 时间:2026-05-18
-
- 顶级清醒句句杀疯
- 时间:2026-05-18
-
- 句句胡说句句可爱
- 时间:2026-05-18
