Gopeed 中文文档 下载 App

下载完成自动跑脚本:环境变量与解释器支持

任务下载成功后自动执行你指定的脚本——移动文件、推送通知、触发转码,都在这个钩子上实现。与 Webhook 的区别:脚本在本机直接跑,不依赖外部服务。

开启方法

「设置 → 高级 → 开发者」区域的「脚本执行」开关,添加脚本文件完整路径。可配置多个脚本,按顺序依次执行。

支持的脚本类型

按文件扩展名自动选解释器:

扩展名解释器平台
.sh / .bashBashmacOS / Linux
.pyPython 3全平台
.jsNode.js全平台
.bat / .cmdcmd.exe仅 Windows
.ps1PowerShell全平台
无扩展名直接执行(需 shebang 或可执行权限)macOS / Linux

脚本里能拿到什么

执行时注入环境变量:

变量说明
GOPEED_EVENT事件类型(下载完成)
GOPEED_TASK_ID任务唯一 ID
GOPEED_TASK_NAME任务显示名称
GOPEED_TASK_STATUS任务状态
GOPEED_TASK_PATH文件完整路径(单文件任务指向文件,多文件任务指向文件夹)

两个现成例子

自动把完成文件搬到机械盘:

#!/bin/bash
DEST="/data/hdd/downloads/"
mkdir -p "$DEST"
mv "$GOPEED_TASK_PATH" "$DEST"
echo "Moved $GOPEED_TASK_NAME to $DEST"

用 Python 推送通知:

import os, json, urllib.request
task_name = os.environ.get("GOPEED_TASK_NAME", "")
task_path = os.environ.get("GOPEED_TASK_PATH", "")
data = json.dumps({"title": "下载完成", "body": task_name + " " + task_path}).encode()
req = urllib.request.Request("你的通知服务地址", data=data,
                             headers={"Content-Type": "application/json"})
urllib.request.urlopen(req)

三个注意点

相关阅读