# 用 Shortcuts 远程调用 Downie 下载视频

> 本文公开全文。

原文：https://utgd.net/article/20109

在 iOS 设备上想要下载各路网络视频，一直以来都是个难题。我家里有台 Mac mini 作为家庭服务器长期开机运行，于是我就想到了远程调用 Mac mini 上的 Downie 来下载视频，并将视频存储至 iCloud 中，迂回地解决此问题。

该方案的缺陷也很明显，若希望立刻将视频下载至本地，就需要有一台 macOS 设备持续运行。若安装了该方案的 macOS 设备并未持续运行，则视频将在此 macOS 设备下次开机时进行下载。

此自动化流程需要用到以下 App：

- Hazel \(macOS\)

- Downie \(macOS\)

- Actions \(iOS, macOS\)

- Shortcuts \(iOS, macOS\)

DLV\.shortcut 快捷指令下载

Hazel 规则下载

## Shortcuts 配置

iOS 及 macOS 设备均需要安装 DLV\.shortcut 快捷指令（DLV 为 Download Videos 下载视频的缩写）, 其作用在于：

- 在 iOS 设备上，通过 sharesheet 或快捷指令主程序内直接运行的方式，将视频链接写入至 DLV\.txt 文件中；

- 在 macOS 设备上，经由 Hazel 调用快捷指令读取 DLV\.txt 文件内的视频链接，再通过 AppleScript 调用 Downie 下载视频，同时 DLV\.txt 文件内的视频链接清空以便下次再读取。

我将 DLV\.txt 存放于 iCloud 的 Shortcuts 文件夹内（上图左），便于 iOS 设备上的 Shortcuts 快捷指令写入视频链接。其在 macOS 设备上的完整文件路径是 /Users/se7en/Library/Mobile Documents/iCloud~is~workflow~my~workflows/Documents/DLV\.txt。各位读者下载 DLV\.shortcut 快捷指令后，需要在 macOS 平台打开此快捷指令，并将上述文件路径中的用户名 se7en 改为自己的用户名（上图右）。

在 DLV\.shortcut 中，我使用了 AppleScript 来清空 DLV\.txt 文件，原因在于 macOS 平台 Shortcuts 快捷指令自带的动作存在 bug, 可能会无法清空文件。

## Hazel 配置

即使没有长期开机运行的 macOS 设备，也可以随时在 iOS 设备上使用 DLV\.shortcut 快捷指令添加视频链接。如上图红框中的 Hazel 规则所示，触发条件只和文件名、文件体积大小有关，当 macOS 设备开机时，Hazel 将开始检查 DLV\.txt 内的视频链接，执行下载任务。

在 Hazel 动作中，我使用了 AppleScript 来运行 DLV\.shortcut, 而没有使用 Hazel 自带的 Run Shortcut 动作，原因在于 macOS 可能出现不授权 Hazel 运行 Shortcuts 快捷指令的情况，从而导致流程被打断。

---

[前往标准阅读页](https://utgd.net/article/20109?audience=web)
