Chute iOS、Chute tvOS、Chute Mac、Chute AndroidのURLスキーム
Chute iOS(1.0.2から)とChute tvOSは以下のアクションと1つのオプションをサポートしています。
Chute Macも同じ chute スキームを登録しますが、応答するのは install-config と import の2つだけで、ホスト形式とパス形式のどちらでも構いません: 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はホストだけで照合されるため、パス形式のchute:///tv?url=...は何もしません。例:
chute://tv?url=https://example.com/chute.conf
オプション:
autoclose=true
アクション完了後にChuteを自動的に閉じます。Chute iOSのみです: Chute tvOSはこのパラメータを受け付けますが無視し、アプリは開いたままです。
例:
chute:///toggle?autoclose=true
注意: Chute iOSでは、1 回のアクティベーションにつき最初のURLしか処理されません。そのため、ショートカットが複数の
chute://URLを一度に渡しても、実行されるのはそのうちの 1 つだけです。
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://}}" }}
x-success は、Chuteがスイッチを操作し終えた時点で開かれます。これは要求が実行されたことを示すだけで、トンネルが立ち上がったことを意味しません: 開始に失敗した場合や、VPNのダイアログを拒否した場合でも x-success になります。x-error が開かれるのは、start の時点でトンネルがすでに動作中だった場合と、stop の時点ですでに停止していた場合だけで、その旨を伝えるアラートを閉じたあとに開かれます。toggle では開かれません。設定が選択されていない場合は、どちらのコールバックも開かれません。
Chute Android
Chute Androidがchute://リンク(およびそれを含み、設定一覧ページやセットアップウィザードで読み取ったQRコード)を開くのはインポートのためだけです。
chute://download?url=...(import、install-configも可)—urlの設定を一度だけダウンロードします。ネイティブのプロファイルはinterval=を持たない#!MANAGED-CONFIG <url>ヘッダーを付けて保存し、Clashやsing-boxのプロファイルは変換して、このヘッダーの無い静的なスナップショットとして保存します。chute://subscribe?url=...— サブスクリプションではなく、downloadのエイリアスです。同じ一度きりの経路を通り、書き出されるファイルにinterval=が無いため、アプリがそれを更新することはありません。それでもネイティブのプロファイルであれば、実行中のエンジンは24時間ごとにURLを再取得して新しい内容をメモリ上で適用し、次回の起動時にはまたファイルが読み込まれます — 管理設定を参照してください。Chuteにサブスクリプションを最新に保たせたい場合は、アプリの サブスクリプションを追加 を使ってください。間隔を尋ねられます。chute://tv?url=...(remoteも可)—urlのリモート設定リポジトリを読み込みます。
アプリの外から開いたリンクが追加した設定 — ダウンロードしたもの、またはtvリンクが開いたリポジトリから選んだもの — は選択されません。Chuteは設定一覧ページを開いてその設定に保留中の印を付け、完了をタップしたときに初めて実行中の設定になります。したがって、このようなリンクがChuteの実行中の設定を切り替えることはありません。
アプリの外から開いたリンクも、設定一覧 ページの URLからダウンロード と同じようにClashやsing-boxのプロファイルを変換します。同じリンクをそのページの QRコードからダウンロード やセットアップウィザードで読み取った場合も同様です。ネイティブのプロファイルをサブスクリプションとして保持するのはセットアップウィザードだけです。そこで読み取ったリンクからは、アプリが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を開きます: そこでスイッチをタップして同意してください — そのタップでトンネルも開始されます — 以後はブロードキャストが機能します。ローカルプロキシ のサービスモードでは同意するものが無いので、どちらもすぐに機能します。
本ページは英語版からの翻訳です。内容に相違がある場合は、英語版が優先されます。