Chute iOS、Chute tvOS、Chute Mac 和 Chute Android 的 URL 方案
Chute iOS(从 1.0.2 版本开始)和 Chute tvOS 支持以下操作和一个选项。
Chute Mac 注册了同样的 chute 方案,但只回应两个动词,install-config 和 import,host 和 path 两种写法都行:chute://import?url=... 与 chute:///install-config?url=...。url= 的值必须是 http 或 https 地址,或者一条分享链接(ss://、vmess:// 等);其他内容一律拒绝。Chute Mac 在获取任何内容之前会先请你确认,然后把地址交给主窗口的配置文件标签页,由它导入:原生配置存为更新间隔 24 小时的托管配置,Clash 或 sing-box 配置被转换后存为静态快照,分享链接——或者返回一组分享链接的订阅——则转换成一份配置。start、stop、toggle 和 tv 不是 Mac 上的操作。
Chute Android 只处理本页末尾描述的导入链接。
操作:
start | connect | on
使用所选配置启动。
示例:
chute://startchute:///startstop | disconnect | off
停止当前会话。
toggle | switch
使用所选配置启动或停止。
tv(仅 Chute iOS)
使用给定的配置 URL 打开远程配置导入视图。此操作仅在 Chute iOS 上可用;Chute tvOS 只处理 start/stop/toggle。
与其他操作不同,
tv只按 host 匹配,所以 path 写法chute:///tv?url=...什么也不做。示例:
chute://tv?url=https://example.com/chute.conf
选项:
autoclose=true
操作完成后自动关闭 Chute。仅限 Chute iOS:Chute tvOS 接受这个参数但会忽略它,应用不会关闭。
示例:
chute:///toggle?autoclose=true
注意:在 Chute iOS 上,一次激活只会处理第一个 URL,所以快捷指令一次性递给 Chute 多个
chute://URL 时,只有其中一个会被执行。
x-callback-url
Chute 支持 x-callback-url 规范。URL 方案为「chute」,可用操作为「start」、「stop」和「toggle」。
x-success 与 x-error 必须用双花括号包起来,就像下面的示例那样。不带双花括号写出来的值会被读成空值,不会打开任何回调。x-cancel 不作处理。
示例:chute://x-callback-url/start?x-success={{ "{{sms://}}" }}&x-error={{ "{{tel://}}" }}
Chute 操作过开关之后就会打开 x-success。它只说明请求已执行,不代表隧道已经连上:启动失败,或者你拒绝了 VPN 提示,结果也是 x-success。只有 start 发现隧道已在运行、或 stop 发现隧道已经停止时,才会在关掉提示框后打开 x-error;toggle 从不打开它。没有选中配置时,两个回调都不会打开。
Chute Android
Chute Android 打开 chute:// 链接(以及携带它们、在配置页或设置向导里扫描的二维码)仅用于导入:
chute://download?url=...(也接受import、install-config)——把url指向的配置下载一次。原生配置存成带#!MANAGED-CONFIG <url>头、但头里没有interval=的配置;Clash 或 sing-box 配置会被转换,存成不带这个头的静态快照。chute://subscribe?url=...——它是download的别名,不是订阅。它走的是同一条一次性路径,而且因为写出的文件没有interval=,应用永远不会刷新它。不过对原生配置,运行中的引擎仍会每 24 小时重新获取这个 URL,并在内存里应用新内容,下次启动时又会重新读取文件——见托管配置。要让 Chute 保持订阅最新,请用应用里的添加订阅,那里会问你间隔。chute://tv?url=...(也接受remote)——加载url指向的远程配置仓库。
从应用外打开的链接添加的配置——下载下来的,或从 tv 链接打开的仓库里挑选的——不会被选中:Chute 会打开配置页并把它标为待处理,只有点完成它才会成为运行中的配置,所以这类链接永远不会替换 Chute 正在运行的配置。
从应用外部打开的链接会像配置页的从 URL 下载一样转换 Clash 或 sing-box 配置;在那一页用从二维码下载或在设置向导里扫描同一条链接也是如此。只有设置向导会把原生配置当作订阅保存:在那里扫描,这条链接得到的配置会由应用每 86400 秒刷新一次;而从应用外部打开同一条链接,文件只下载一次,应用不会再刷新它。
start、stop、toggle 在 Android 上不是 URL 操作。自动化应用改用广播 Intent:com.r3studio.chute.action.START_VPN、com.r3studio.chute.action.STOP_VPN 和 com.r3studio.chute.action.TOGGLE_VPN。
广播弹不出系统的 VPN 授权对话框。因此在尚未授权时,START_VPN 会被静默丢弃,而 TOGGLE_VPN 改为打开 Chute:在那里点按开关授予授权——这一下同时也会启动隧道——此后广播就能正常使用。在本地代理服务模式下没有什么可授权的,两者都能直接工作。
本页为英文版的翻译。如内容有出入,以英文版为准。