article_image

在 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/iCloudisworkflowmyworkflows/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 快捷指令的情况,从而导致流程被打断。

机器阅读:本文已开放全文。 标准阅读页 · Markdown