# qBittorrent 接入 Server酱：下载完成自动推送微信通知（2026 教程）

> 通过 qBittorrent 内置的「运行外部程序」功能，在种子下载完成时调用 curl 向 Server酱 API 发送请求，自动收到微信通知。

- 网页版：https://sct.ftqq.com/docs/integrations/qbittorrent/
- 更新日期：2026-07-17

# qBittorrent + Server酱：下载完成自动推送微信通知

> 效果：种子下载完成后，qBittorrent 自动调用 Server酱 API，你的微信立刻收到包含种子名的通知。

## 前置条件

- 一个 Server酱 SendKey（[30 秒获取教程](https://sct.ftqq.com/docs/getting-started/sendkey/)）
- qBittorrent 桌面端或 WebUI，版本含「运行外部程序」设置项
- 系统已安装 curl（Linux/macOS 自带；Windows 10 1803+ 内置 curl.exe）
- 如需推送到企业微信/钉钉/飞书群，参见[通道说明](https://sct.ftqq.com/docs/getting-started/channels/)

## 配置步骤

### 1. 复制命令模板

Linux / NAS：

```
/usr/bin/curl -sS -X POST "https://sctapi.ftqq.com/你的SENDKEY.send" --data-urlencode "title=下载完成" --data-urlencode "desp=%N"
```

Windows（Win10 1803+）：

```
curl.exe -sS -X POST "https://sctapi.ftqq.com/你的SENDKEY.send" --data-urlencode "title=下载完成" --data-urlencode "desp=%N"
```

将 `你的SENDKEY` 替换为你自己的 SendKey。`%N` 是 qBittorrent 的占位符，运行时自动替换为种子名。

### 2. 在 qBittorrent 中填入命令

打开 qBittorrent，进入选项（Options）→ 下载（Downloads），找到「运行外部程序」（Run external program）区块，在「Torrent 完成时运行」（Run on torrent finished）一栏中粘贴上面的命令。

> 当前版本分两栏：添加时运行（Run on torrent added）/ 完成时运行（Run on torrent finished）；旧版本只有一条「Run external program on torrent completion」。界面文案以应用内实际显示为准。

### 3. 验证

保存设置后，完成一个种子下载（或添加一个小种子等待完成），微信应收到标题「下载完成」、正文为种子名的消息。

## 完整示例

如果想在通知中包含分类、大小、保存路径等更多信息，可以写一个脚本让 qBittorrent 调用，在脚本内部用多行文本组织消息内容。

创建脚本 `/opt/qb-notify.sh`：

```bash
#!/bin/bash
# 参数：$1=种子名 $2=分类 $3=大小(字节) $4=保存路径
/usr/bin/curl -sS -X POST "https://sctapi.ftqq.com/你的SENDKEY.send" \
  --data-urlencode "title=下载完成" \
  --data-urlencode "desp=种子名：$1
分类：$2
大小：$3 字节
保存路径：$4"
```

赋予执行权限：

```
chmod +x /opt/qb-notify.sh
```

在 qBittorrent 的「Torrent 完成时运行」中填入：

```
/bin/bash /opt/qb-notify.sh "%N" "%L" "%Z" "%D"
```

> qBittorrent 的命令不经过 shell 执行，管道和重定向不可用，但可以直接调用 `/bin/bash` 并传参。含空格的参数（如种子名）必须用引号包裹，官方建议写作 `"%N"`。可用占位符（大小写敏感）：%N 种子名、%L 分类、%G 标签、%F 内容路径、%D 保存路径、%C 文件数、%Z 种子大小（字节）、%T 当前 Tracker、%I InfoHash v1、%J InfoHash v2、%K 种子 ID、%M 备注。

## 常见问题

**每天能发多少条通知？**

免费用户每天 5 条，每分钟上限 50 条。订阅会员目前特价最低 3 元/月，一天最多可发 1000 条（[价格详情](https://sct.ftqq.com/subscribe)）。

**配置后收不到消息怎么办？**

先确认 SendKey 正确、curl 路径存在（NAS 上 curl 可能不在 `/usr/bin/`，用 `which curl` 确认实际路径并替换）。仍无法解决可查阅[常见问题与排查](https://sct.ftqq.com/docs/getting-started/faq/)。

**种子名含中文或特殊字符会出错吗？**

不会。`--data-urlencode` 会自动对参数值做 URL 编码，中文、空格、特殊符号都能正确传输。切勿改用 `-d` 传值，否则中文会导致请求失败。

**想在添加种子时也收到通知怎么办？**

在同一设置区块的「Torrent 添加时运行」（Run on torrent added）一栏填入相同命令，把 `title=下载完成` 改为 `title=下载开始` 即可。

**Windows 上 curl 报找不到命令？**

确认系统为 Win10 1803 或更高版本。若仍报错，在命令中改用 curl.exe 的完整路径（通过 `where curl` 查询）。

## 相关集成

- [青龙面板接入 Server酱](https://sct.ftqq.com/docs/integrations/qinglong/) —— 定时任务完成通知，同样适合 NAS 场景
- [Python 脚本接入 Server酱](https://sct.ftqq.com/docs/integrations/python/) —— 用 Python 封装推送逻辑，适合复杂通知场景
- [Uptime Kuma 接入 Server酱](https://sct.ftqq.com/docs/integrations/uptime-kuma/) —— 服务监控告警，搭配 NAS 使用


## 懒人方案：把这段话复制给你的 AI 助手

把下面这段文字原样粘贴给 Claude Code、Cursor 或任何 AI 编程助手，它就会替你完成 Server酱 的接入：

```text
请帮我把 Server酱 微信通知接入到我当前的项目/工具中：
1. API：POST https://sctapi.ftqq.com/{SendKey}.send，参数 title（必填，不能含换行）、desp（正文，支持 Markdown，可选）；成功时返回 JSON 的 code 为 0。
2. 如果我的 SendKey 以 sctp 开头，则改用 https://{uid}.push.ft07.com/send/{SendKey}.send，uid 是 SendKey 中 sctp 与 t 之间的数字。
3. SendKey 从环境变量 SERVERCHAN_SENDKEY 读取；如果没有，提醒我到 https://sct.ftqq.com 免费获取（每天 5 条额度）。
4. 安全要求：不要把 SendKey 硬编码进代码、不要打印到日志、不要提交到 git。
5. 频率约定：任务结束发 1 条结果摘要即可，批量任务合并成一条，不要每步都推。
请根据我当前的项目和场景直接写好代码/配置并验证。
```

