目次
Mac でプロキシを設定すると、さまざまなシステムの許可を求められます。ただし、許可をやり直せばすべて解決するわけではありません。アプリのリクエストを転送するには、クライアントが動作し、設定を読み込めている必要があります。取り込む通信の範囲を広げるときは、ブラウザーで動作を確認したシステムプロキシを残したうえで、必要なネットワーク権限と、ネットワークを切り替えた後の結果を確認しましょう。
メニューバーのクライアントが動いていてもコアは正常か
macOS のクライアントはメニューバーに常駐し、メインウィンドウを閉じても通常は動き続けます。設定やログのコア状態は、接続を処理するプロセスが正常かを示します。core failed や permission denied が続く場合は、ローカルの起動と権限の問題を処理します。
古い ClashX、ほかの Mihomo クライアント、VPN を同時に終了し、複数のプログラムが一緒にシステムプロキシを変更しないようにしてください。
Profiles(プロファイル)で設定を取り込み、更新して選択する
この節の画面とスクリーンショットは Clash Verge Rev を例にしています。サイドバーの項目は Profiles(プロファイル)です。ほかの macOS クライアントでは、そのアプリの設定操作を使い、同じ名前のページを探す必要はありません。後の権限設定も、使っているクライアントが実際に求めるものだけを扱います。
macOS でリモート設定をインポートする
Profiles(プロファイル)を開く
サービス提供元の Clash または Mihomo 互換 HTTPS リンクを貼り付けます。
手動で更新する
新しい更新日時を待ち、401、403、timeout、parse error に注意します。
Profile を選択する
現在のマークが古い設定またはサンプルファイルに付いていないことを確認します。
Proxies を開く
ポリシーグループとノードが空でないことを確認します。
macOS のネットワーク権限ではサブスクリプションのエラーは直せません。更新で 401/403 が返る場合は token やアカウントを、YAML の解析エラーならコアと形式を確認します。Profile が読み込まれて初めて、システムプロキシと TUN がそのノードとルールを使えます。
System Proxy:ブラウザーで接続を検証する
メニューバーのアイコンが点灯していても、クライアントが動作中であることしか分かりません。ブラウザがクライアントへ渡されたとは限りません。Proxies のメイン選択グループでノードを一つ固定し、モードは Rule のままにします。System Proxy を有効にすると、macOS からアプリによるネットワークプロキシ変更の許可を求められる場合があります。要求元が現在のクライアントであることを確認してから、システム認証情報を入力するか Touch ID を使用してください。
Safari または Chrome で使い慣れたサイトを開き、Connections でドメイン、ルール、出口を確認します。ページが表示されて記録も想定どおりなら、今回のシステムプロキシ経由のリクエストは正常です。ノードを確認するには、実際に選んだノードを通ったかも調べます。ブラウザーは動いてもターミナルに記録がなければ、ターミナルがシステムプロキシを使っていない可能性があります。
システムプロキシが動作する証拠
- macOS のネットワーク設定に、現在のクライアントのローカルプロキシポートが表示される
- ブラウザリクエストが Connections に入る
- Rule と最終送信経路が想定どおりである
- System Proxy を無効にすると、同じリクエストが Clash を経由しなくなる

TUN のネットワーク拡張、VPN、補助サービスの権限
TUN は仮想ネットワークインターフェースを作成し、より多くの TCP、UDP 接続を Mihomo へ渡します。ターミナルツール、ゲームランチャー、システムプロキシを参照しないソフトウェアが Connections にまったく表示されない場合は、TUN と比較してください。すでに Clash に入っているものの誤ったルールに一致するリクエストでは、取り込み範囲を広げる必要はありません。
TUN を有効にすると、macOS からネットワーク拡張、補助サービス、または VPN 設定のインストールや許可を求められる場合があります。システム設定には具体的な項目が表示されます。許可する開発元とアプリが現在のクライアントと一致することを確認してください。
スイッチがすぐ戻る、またはログに permission denied が出る場合は、ログに従って現在のクライアントに必要なネットワーク拡張、VPN、補助サービスの権限を確認します。システム設定またはクライアント内のサービス項目で対処した後、クライアントへ戻って再度有効にし、仮想インターフェースの準備を待ちます。
権限の案内とその用途
| macOS の案内 | 有効になる機能 |
|---|---|
| システムプロキシを変更する | システムプロキシに従うアプリをローカルポートへ接続させる |
| ネットワーク拡張 / VPN 設定 | TUN の取り込み経路を作成または実行する |
| 管理者権限 / 補助サービス | システム権限が必要なネットワーク操作を実行する |
| ローカルネットワークへのアクセス | LAN 内の端末を検出または接続する。必要かどうかは用途によって異なる |
以前に記録がなかったプログラムを TUN で再テストする
TUN の前後で操作を一つだけ比較する
TUN を無効にして再現する
システムプロキシ使用時に、そのプログラムの接続記録がないことを確認します。
TUN を有効にする
同じ Profile、Rule モード、固定ノードを維持します。
まったく同じ操作を繰り返す
たとえば、同じターミナルコマンドを実行するか、同じランチャーページを開きます。
新しい接続を確認する
プロセス、ドメイン、一致ルール、送信経路を記録します。
有効化後に履歴が表示されて通信も成功すれば、TUN がそのリクエストを取り込めています。DIRECT ならルールを、ノード経由で timeout ならノードとネットワークを比較します。履歴がなければサブスクリプションを変更し続けず、ネットワーク拡張の状態、ファイアウォール、ほかの VPN を確認します。
スリープ復帰やネットワーク切り替え後の切断
Mac がスリープから復帰したり Wi-Fi からスマートフォンのテザリングへ切り替わると、実際の出口アダプターが変わっても TUN インターフェースに古い状態が残ることがあります。数秒待って元の要求を繰り返し、Connections を確認して以下の症状に応じて対処します。
システムプロキシを使う場合も、古い設定が残っていないか確認します。コアが待ち受けを停止しているのに macOS が 127.0.0.1 のポートを参照していると、そのプロキシを使うページへのリクエストは失敗します。残った設定を解除するか、現在のクライアントを再起動してください。メイン画面を閉じただけでは、コアが停止したとは限りません。
スリープ解除後に Connections が空
コアを再読み込みし、クライアントに Wi-Fi と既定の送信経路を再検出させます。
ネットワーク変更後、TUN だけが失敗する
TUN インターフェースを作り直し、ほかの VPN がルートを奪っていないか確認します。
クライアント終了後、ブラウザの通信がすべて切れる
macOS の HTTP、HTTPS、SOCKS プロキシが古いポートを参照したままか確認してください。
NAS、プリンター、社内ドメインへの直接接続
プリンター、NAS、ルーターの管理画面、社内ドメインが TUN 有効時に到達不能になる場合、原因はノードではなく、プライベートアドレスがプロキシ経路へ入ったことにある可能性が高いと考えられます。TUN を無効にするとローカル端末がすぐ復旧するなら、原因を LAN ルール、内部 DNS、ルーティングへ絞れます。
その IP が Connections で DIRECT に一致するか確認します。自宅で一般的なプライベートアドレス範囲は通常すでにルールがありますが、企業独自の範囲と split DNS は実際の環境に合わせて追加する必要があります。見覚えのない範囲を含む「全体迂回リスト」をコピーせず、自分で確認できるアドレスだけを扱ってください。
- IP では開けるが、内部ドメインでは開けない
- 内部 DNS が元のネットワーク経由で解決されていない可能性が高いと考えられます。
- IP とドメインの両方がプロキシグループへ入る
- 正確なローカルサブネットまたはドメインルールを、より広いルールより前へ置きます。
- すべてのプロキシを無効にしてもアクセスできない
- 問題は Clash の外にあります。現在の Wi-Fi と端末自体を確認してください。
再起動やスリープ復帰後の構成と権限を確認する
サブスクリプション、System Proxy、TUN の権限を設定した後、クライアントを一度再起動し、Mac をスリープさせて復帰させます。Profile が現在の設定のままで、ブラウザリクエストが Connections に入り、以前 TUN を必要としたプログラムにも接続記録が出続けるなら、権限とバックグラウンドサービスは今回のセッションだけに一時適用されたものではありません。
システムプロキシは動いても再起動後に TUN が再び拒否される場合は、ログに従って現在のクライアントのネットワーク拡張、VPN、補助サービスの権限を確認します。スリープ後にどのリクエストも記録されない場合は、コアを再読み込みし、メニューバーのプロセスを確認してください。
