SSIDサスペンド
Chute iOS、Chute Mac、Chute Androidで利用できます。Apple TVでは利用できません。
指定したWi-Fiネットワークに接続している間、Chuteをサスペンドするように設定できます。
[SSID Setting]
"Corp-VPN" suspend=true
各プラットフォームでの動作:
- iOS: 正確なネットワーク名(そのまま、引用符付き、または
SSID:<名前>)を持つエントリとTYPE:WIFI/TYPE:CELLULARエントリは、VPN構成のオンデマンド切断ルールになります。TYPE:WIFIはすべてのWi-Fiネットワークを対象にします。デバイスがそのネットワークに参加するとシステムがトンネルを切断し、滞在中は切断状態を維持します。次のネットワーク変更後は通常のオンデマンドルールが再び適用されるため、「常時オン」は自動的に再接続します。BSSID:とROUTER:のエントリ、TYPE:WIRED、および*や?を含む名前はオンデマンドルールとして表現できません。エンジン自身の判定が一致するとトンネルは自ら停止し、そのネットワークを離れた後に手動で再接続します。ただし「常時オン」が有効な場合、その接続ルールがトンネルをすぐに復帰させるため、これらのエントリはiOSではサスペンドせず、Chuteは理由を通知するだけです。サスペンドが始まるたびに、Chute iOSは「このネットワークで一時停止」通知を表示します(アプリの通知設定に従います)。 - Mac: 現在のネットワークが
suspend=trueエントリに一致している間、ChuteはシステムプロキシとTUNをオフにし、一致しなくなると復元します。すべてのセレクター種別が有効です。設定がWi-Fiネットワークを名前で指定している場合、Chuteは位置情報の許可を一度求めます(macOS 10.15 以降)。macOS 14 以降では許可がないとWi-Fi名を読み取れず、TYPE:とROUTER:エントリのみ一致します。 - Apple TV: ネットワークに基づく設定は他のプラットフォーム向けに設定に保持されますが、適用されません。保存時にアプリが通知を表示します。
- Android: Chuteはトランスポート、SSID、BSSID、ゲートウェイを読み取り、ネットワークが変わるたびと1分ごとにエントリを照合して、一致したエントリの
dns-server/encrypted-dns-serverをリゾルバーに反映します。VPNモードでは、一致したsuspend=trueエントリがVPNインターフェースを外します。エンジンは動き続けるので、トラフィックはChuteを経由しなくなります。Chuteは「このネットワークで一時停止」通知を表示し、メイン画面には一致したエントリが示され、デバイスがそのネットワークを離れるとインターフェースは自動的に戻ります。すべてのセレクター種別が有効です。ローカルプロキシモードではサスペンドしません。ネットワーク名を読むため、[SSID Setting]セクションがある場合、アプリは位置情報の許可(Android 12 以前)または付近のWi-Fiデバイスの許可(Android 13 以降)を求めます。要求を表示できない開始方法では、代わりに通知が出ます — Androidクイックスタートを参照してください。
後続の一致する suspend=false エントリは、MacとAndroidでサスペンドを取り消し、iOSでも同様です: オンデマンドルールもエンジン自身の判定と同じく「最後に一致したものが勝つ」方式で走査されるため、切断ルールは書き出されません。オンデマンドルールでは表現できない取り消しが 2 つあります。セレクター種別をまたぐ場合、TYPE:WIFI suspend=true の後に SSID:Home suspend=false を書いても、ルールはすべてのWi-Fi向けに組み立てられるため、そのネットワークではトンネルが切断されます。また、ワイルドカードのエントリで具体的なエントリを取り消すことはできないので、SSID:Home suspend=true の後に Home* suspend=false と書いてもルールは残ります。エンジン自身の判定はどちらも尊重します。
ネットワークごとのDNS
エントリは、そのネットワークに接続している間のDNSも変更できます:
[SSID Setting]
SSID:Home dns-server=192.168.1.1, 192.168.1.2:5353, encrypted-dns-server=off
BSSID:AA:BB:CC:DD:EE:FF encrypted-dns-server=https://doh.example/dns-query, tls://dot.example
TYPE:CELLULAR dns-server=1.1.1.1
dns-server=はメインプールの通常のリゾルバーを置き換えます。受け付けるのは通常のエントリだけです — ポートを付けてもよいIPアドレス(IPv6は[v6]:port)、system、syslibで、書き方はグローバルのdns-serverと同じです。グローバルのキーなら受け付ける暗号化リゾルバーのURLは、ここでは通知とともに破棄されます。代わりにencrypted-dns-server=に書いてください。DNS over TCP用のtcp://IP[:port]のエントリも受け付けます。encrypted-dns-server=offはすべての暗号化リゾルバーをオフにします。URLのリストを書くと、代わりにそれらで置き換え、スキームに応じてDoH、DoT、DoQ、DoH3に振り分けます。- セレクターはサスペンドと同じです: 引用符で囲んだネットワーク名、
SSID:<名前>、BSSID:<アドレス>、TYPE:WIFI、TYPE:CELLULAR、TYPE:WIRED、ROUTER:<ゲートウェイアドレス>。名前には*と?のワイルドカードを使えます。MCCMNC:は受け付けますが、一致することはありません。 - 上書きはネットワークが変わったときと設定の読み込み時に適用されます。複数のエントリが一致した場合は後のものが優先され、そのネットワークを離れると設定どおりのサーバーに戻ります。
- 1つのエントリで
suspend=とDNSのパラメータを組み合わせられます。
Shadowrocketの[Host]での書き方ssid:<名前> = server:<dns>は、この種類のエントリになります。ローカルDNSマッピングを参照してください。Apple TVではこれらのエントリは保持されますが、適用されることはありません。
本ページは英語版からの翻訳です。内容に相違がある場合は、英語版が優先されます。