嘿 Siri 前往香港|如何通过 Siri 控制路由器代理
昨晚洗澡的时候想着在电视上看部港区 Netflix 的电影,因为有喊 Siri 播放音乐的习惯,我就想能不能通过 Siri 直接切换节点,那岂不是特别方便。今天就实践了下,感觉还挺方便,写个教程分享下。
省流助手:
- 路由器、旁路由、或者 Mac 网关使用的是 Clash。(openclash、shellclash、MerlinClash、ClashX Rro、Clash For Windows 都可以)
- Mac Surge 作为网关也可以,操作基本一致。
🧠 基本思路
- iPhone、Mac、HomePod 都支持 Siri 且 Siri 也支持快捷指令 Shortcuts。
- 快捷指令支持 http 请求功能,Clash 和 Surge 也都有 restful API。
- 所以只用写一个 http 请求的快捷指令就能控制路由器的节点或开关代理了
✅ 通过 Siri 控制 Clash 配置
💻 获取 Clash 请求信息(推荐使用 chrome 浏览器)
openclash 默认就有 Yacd 和 Dashboad 控制面板,ShellClash 也是默认有的。如果你不知道 Clash 程序的控制面板在哪里:你可以先检查你在的 Clash 配置开启,然后打开默认的控制面板或是 Yacd 的面板填入信息即可。
Host 是你 Clash 网关设备局域网的 IP,端口在你的 Clash 文件里的 external-controller,密钥是配置文件里的 secret。
比如我打开就是这样,我点击节点选择便可以切换节点,或是选择全球直连则意味着关闭代理。
打开开发者工具(推荐使用 Chrome 浏览器,Mac 快捷按键是: Cmd+Opt+I,Windows Linux 是: F12,Ctrl+Shift+I )
然后在右边👉选择 Network-Fetch/XHR。
然后切换下节点,右边就能看到网络请求了。我们点开那个最长的(我这里分组名为「节点选择」是中文所以看起来乱码的,Request Method:PUT 为的请求就对了,你的如果分组名是英文则直接对应的英文分组名,看起来则不是乱码)。复制 Request URL: 后面那个 url,下面会用到。
下面 Request Headers 的 Authorization: Bearer 123456 也会用到,不过这里其实就后台控制密码,没有设置后台密码的这里则没有。
如果你想通过 Siri 操作的不是节点选择,而是别的比如 “自动选择”、“国外媒体”等也是同样的操作。
🔧 创建 Siri 快捷指令
打开快捷指令 App,选择 + 号,点击 添加操作,搜索 url 选择获取 URL 内容。
在第一栏的 URL 里填上上一步的“Request URL”链接,然后点击内容展开。
-
方法我们选择 PUT
-
添加头部
键填写:Authorization,文本:Bearer 123456(这个 123456 是我 clash 后台控制密码,如果你 Clash 后台没有设置密码这步可以不填)
-
添加请求体(选择文本)
键填写:name,文本:你的节点的名称(我这里是:台湾 01 [ H1 ],完全复制 clash 面板的里任意节点名字即可,带 emoji 也直接复制,「🎯 全球直连 」这种也可以)
最后修改默认的「获取 URL 内容」为你想要的 Siri 关键词,再点击右上角 X 即可。我这里是“切换到台湾”,你可以改成你喜欢习惯的。
🔒 如何验证:
点开捷径选择执行(播放按钮▶︎)没有任何返回即为成功。(有返回则一般为错误信息)
在 clash 控制面板可以看到切换到了指定节点。
🍇 如何创建更多
- 选择做好的快捷指令复制。
- 修改请求体里的节点名和 Siri 关键词即可。
🪢 总结:
我自己用下来还挺方便的,因为 Siri 会通过 iCloud 同步快捷指令,所以任意局域网设备都能完成这个操作包括 HomePod。
如果你想参考我的可以点击这里,只能参考哦,你还是得自己修改,如果大家不会 surge 版本我后面可以考虑写一下。其实大家如果用一套 Clash 配置模版的话这个倒是可以通用的,因为就局域网 IP 地址不一样。