不知道你有没有设想过,躺在沙发上就能让卧室的电脑帮你下载想看的电影、说一句话就能让电脑打开想玩的游戏……这些看似「科幻」的操作,在智能家庭逐渐普及的当下,显然已经不是什么难事了。
不过,依赖第三方解决方案往往很难满足自身的所有需求。以我自己为例,我的 PC 作为家用游戏机,一直连接在电视上。想舒服的进行遥控,要么使用无线键鼠,要么使用远程桌面,终归费时费力。无意瞄到桌面摆放的 HomePod,开始思考能不能使用语音去进行遥控。呀,用语音进行控制 Windows 电脑,好像是个很酷的事情耶~
想到就做,但想法是美好的,事实是残酷的。就这样一个简单的需求,局限于设备平台以及系统权限,需要付出大量心血才能实现。愿意折腾的玩家或许会享受这个过程,但作为普通人的我们,就想简单快速的满足自己,那有没有好方案呢?
有的,而且很简单。下面请允许我将这个「魔法」剖析给你,助你成为家里的魔术师🪄
-
Quicker:Windows 平台上的效率工具,亮点在于用户可以通过可视化编程的方式编写属于自己的动作;
-
Aria2c:跨平台的一款轻量级命令行下载工具。
本文将以远程调用 Aria2c 下载,作为案例分享,发掘 Windows 远程自动化的潜力。
其中 Quicker 作为灵魂,实现动作组合、远程调用等功能。快捷指令作为触发器,实现自动化操作。
关于Aria2c,详细参考链接置于文章底部,简要介绍一下,在本文中 Aria2c 通过传入下载链接,进行高速下载。
注
:Quicker 免费版有调用限制,如果想拥有更好的服务,建议购买专业版。
作为在我派的保留节目,不玩玩派派怎么行?为了实现远程打开游戏、电影的操作,于是我先做了一个「一键直达少数派」的 Demo。只需要对 Siri 说「嘿,Siri 打开少数派」,电脑便会自动通过默认浏览器打开少数派首页。
完成了「打开软件」这个基础操作后,觉得大材小用了,这么简单的操作简直是对不起 Quicker 提供的接口。
故从自己的需求出发,由于我自己没有做内网穿透,上班的时候想用家中的电脑下载一些大文件就无从谈起。回了家等下载的过程总是心痒痒得很。这样的事情,之前只能忍了,但是现在有了远程的法子,自然是可以玩玩的,于是我又写了一个「远程下载文件」的动作。
现在只需要在 iPhone 上复制一个链接,黏贴到快捷指令中,电脑便会自动将链接文件下载到指定位置。在这个自动化中,下载地址将会被 Quicker 接收,再调用 Aria2c 进行下载,在下载完成后使用 Bark 通知到手机。
你需要做的,仅仅只是复制,黏贴。当然,你也可以直接读取剪贴板,或是 Share Sheet 分享,也可以实现本操作。
光说不练怎么行。
不然做个酷酷的事情,把大家的兴趣勾起来了就跑,想想也是挺刺激的,不过为了防止被打,
以下将以远程调用 Aria2c 下载为例,抛砖引玉,让工具为你服务。
获取登录用户的验证码
想实现远程控制 Quicker,我们首先要获取登陆用户的验证码。你可以将其理解为你的身份识别码,你的 Quicker 只会对你发出的指令响应。
在网页端登陆 Quicker 并打开
https://getquicker.net/Member/PushTools
。页面右侧将会展示你的「推送验证码」。
该验证码将用于之后所有请求的校验,以确保你是你。不建议将其交予任何人,如若真意外泄露,你也可以点击「随机生成」按钮重置。这时不要忘记点击「保存」哟。
鉴于后续步骤还需频繁使用,建议暂时将它保存到其他地方。
打开推送服务
获取推送验证码之后,请回到 Quicker 主程序中进行操作。或许是鉴于安全性考量,作者没有默认允许远程调用。我们手动将其打开,如下方贴图左侧,先点击 Quicker 右上角用户头像按钮,再展开「推送服务」菜单。会看到目前显示的是未开启状态,点击「连接到推送服务」即可将其打开。
当开启后,状态如右图所示,此时你的远程调用条件就设置完毕了。之后我们可以开始配置被调用的动作啦。
新建动作
在 Quicker 主面板中找到一个空位,鼠标右键点击后展开选项卡,你可根据需求选择相应的动作。例如打开少数派网页,你可以选择「打开网址」动作。或者打开 Steam 程序,请选择「启动软件」动作。在这里,为了实现复杂动作,我们选择「新建组合动作」。
编辑 Quicker 动作
区域描述
-
变量区域
:在本案例中,主要为「程序所在位置」与「下载文件夹」所在路径。
-
程序步骤区
:你可以从三号区域中拖动动作添加于此,该区域为 Quicker 的精华,可视化的鼎鼎大名绝离不开该区域的优质展示。「注:在指定动作上双击,即可打开编辑」
-
动作区域
:Quicker 提供的动作将于此展示。
动作集区域:Quicker 根据不同功能点,将动作进行分组,你可以在此选择不同分组,动作区域会根据你选择的动作集切换不同的内容。
动作讲解
1. 配置 Aria2c 程序所在位置,将其输出到 programPath变量中。
例如在我的电脑里,Aria2c 程序保存在桌面的某个路径中,复制出完整路径,黏贴到输入框中即可,需要注意的是,请确保该路径下包含 aria2c.exe 程序。已保证调用时候可以正确的找寻到 Aria2c 程序。
在填写完输入值后,在输出部分,将其输出到变量 programPath 中。以方便后期调用。
「该步骤是为了方便未配置环境变量的用户,如果你明白环境变量的概念,该步骤可以忽略,但你也需要对应的调整一下之后命令行调用部分的命令」。
2. 配置下载目录所在位置,将其输出到 downloadPath 变量中。
你需要将下载路径的全路径黏贴到输入中,再输出到 downloadPath 中。这与第一步相似,也是为了方便后期调用。
如果远程调用,这东西用途不大😂
毕竟那时候我们不在电脑跟前,看不到提醒。
但是谁能拒绝一个程序正确的 run 起来之后那成就感呢,这简直就是沙漠中的绿洲。它会告诉你,你现在在做的事情是对的,你的程序现在正在根据你的需求在运行~
所以哪怕浪费了一点篇幅我也要写出来,只为那一抹你懂我懂的会心一笑。
$$aria2c.exe "{quicker_in_param}" -d {downloadPath}
这句话的完整含义为,使用 aria2c 程序,下载指定的链接,并保存到指定的目录中。
同时,请记得配置「工作目录」为程序所在位置,此处调用 ProgramPath 即可。
如果你清楚如何配置环境变量,「工作目录」就无需配置了。
在 Bark App 中复制你的请求地址,稍作修改。
此处多啰嗦两句,Quicker 自身支持调用结果返回,在你远程调用之后,会返回一个调用结果。但其最大等待时间仅为 5 分钟。而下载通常是一个长耗时的操作,故更换思路,改让 Windows 去通知手机。
同时也可以避免快捷指令在那边傻等(´Д` ),影响后续手机的使用。
复制动作 ID
如图,在你编辑的动作保存后,回到主页面。在指定动作上点击鼠标右键,在弹出的菜单内找到「复制动作 ID」。得到的 ID 大致如此「b7821721-aaaa-xxxx-yyyy-008d8c1ffde6」,该 ID 将作为该动作的唯一标识码,使该动作可以准确的被调用到。
重新编辑动作不影响其 ID,你可以放心的进行修改,修改后也可以通过原来的 ID 进行调用,有效减少我们调试时候的操作。
配置基本参数
在文末提供的案例中,我详细的注释了每一个参数的由来,你可以直接将前文中得到的参数填写到对应的文本框内,即可实现快捷指令的基本配置。主要配置项为「推送验证码」、「动作 ID 」、「Quicker 的登录邮箱」、「URL中的相关参数」。其中 URL 请求参数配置略微复杂,且千人千面,根据动作不同均有不同,故请根据文档进行相应配置。
你可以暂时根据下方截图去了解需要的参数,详细配置请下载文末的示例。
URL 请求头配置详解
下方图片为 Quicker 文档中贴出的参数说明,看上去有些复杂。不过对于我们这个示例来说,大部分用不到,为了简化操作说明,此处单独拎出几个来讲讲。
笔者自己配置好的参数如下图,仅供参考。其中链接来自于快捷指令最上方的「请求输入」组件,在调用的时候,我将黏贴一个地址进去,该地址将会被传递到 Quicker 中,由 Aria2c 进行调用。从而实现下载需求。
测试
理论上,你现在可以执行测试了。如果遇到错误,Quicker 和快捷指令都会以一个友好的方式对你进行提示,你可以根据提示进行修改,以达到你期望的效果。
Debug 的过程是「痛苦」的,结局是美好的。就像一句话说的那样「成就感真的是一个折腾人的小妖精,得到后就无法自拔(´・ω・`)」——我编的
文中从 Quicker 设置项开始讲起,贯穿了由快捷指令调取一个复杂动作的全流程,实现了远程调用下载这种原先需要内网穿透的才能实现的复杂操作。而这,也只是笔者自己不成熟的智能家庭使用场景中的一个小景,相信少数派的各位大神们会有比这个更好的想法,让工具更好的服务于我们。
题图来自 Unsplash:@miguelavtomas
原文链接:https://sspai.com/post/70188