まず警告の種類を見分けてから、必要な権限を設定

アプリが開かない、TUNの起動に失敗する、キーチェーンへのアクセスを求められる。これらはそれぞれ別の問題です。警告の全文、要求元の名前、直前に行った操作を控え、該当する設定を確認してください。すべてを「権限不足」と決めつけたり、複数のセキュリティ設定を一度に変更したりしないでください。

Clashはルールベースのプロキシコアや、そのクライアント群で広く使われる名称です。macOSクライアントによって、使用するバックグラウンドコンポーネントは異なります。Clash Meta(現名称はmihomo)コアを使っていても、必ずAppleのネットワーク拡張がインストールされるわけではありません。クライアントによっては、特権ヘルパーツールでコアを起動し、TUN仮想インターフェースを作成します。

表示された警告・現象該当する処理まず確認する項目
開発元を検証できない、Appleがマルウェアの有無を確認できないGatekeeperによる起動時のチェック入手元、署名、「プライバシーとセキュリティ」
VPN構成の追加、ネットワーク拡張の許可VPN構成または拡張機能の登録要求元の名前とシステム上の該当項目
ヘルパーツールのインストール、管理者の承認が必要特権バックグラウンドコンポーネントクライアントのサービス状態とバックグラウンド項目
アプリがキーチェーン内の機密情報へのアクセスを要求認証情報の読み取りキーチェーン名、項目名、要求元プロセス

「開けません」と表示されたら、まずアーキテクチャとGatekeeperを確認

お使いのMacに合ったインストーラーか確認する

  1. Appleメニューから「このMacについて」を開きます。Apple Mシリーズチップと表示される場合はApple Siliconまたはarm64版を、Intelプロセッサと表示される場合はx64またはIntel版を選びます。
  2. 起動中の旧クライアントを終了し、ディスクイメージ内のアプリを「アプリケーション」フォルダにドラッグしてから、インストール用ディスクイメージを取り出します。DMGから直接起動し続けないでください。
  3. 「アプリケーション」フォルダから一度起動し、システムに表示されたメッセージを記録します。アーキテクチャの不一致、macOSのバージョン要件、開発元の検証失敗は、それぞれ別に対処する必要があります。

「ターミナル」で次の読み取り専用コマンドを実行して確認することもできます。Rosettaを介さずに起動したターミナルでは、arm64は通常Apple Siliconを示します。ターミナル自体がRosettaで動作している場合はx86_64と表示されることがあるため、その場合は「このMacについて」に表示されるチップ情報を確認してください。

uname -m
sw_vers -productVersion

入手元を確認したアプリだけを個別に許可する

開発元を検証できないという警告が表示されたら、まず想定したプロジェクトの配布元からダウンロードしたことを確認します。次にAppleメニューから「システム設定」→「プライバシーとセキュリティ」を開きます。「セキュリティ」までスクロールし、今回の起動に対応するブロック記録の横にある「このまま開く」を選択して、システムの案内に従って認証し、もう一度確認します。この項目は通常、一度起動を試した後に表示されます。

macOS 13・14では、ブロックされたケースの一部について、FinderでアプリをControlキーを押しながらクリックし、「開く」を選ぶ方法でも確認できます。macOS 15では、適切な署名や公証がないソフトウェアに対するこの回避方法が制限されています。「プライバシーとセキュリティ」内のシステム操作を使い、右クリックを繰り返さないでください。

ネットワーク拡張の許可:まずクライアントの仕組みを確認

システムプロキシを使うだけなら、通常ネットワーク拡張は必要ありません。システムプロキシは主にmacOSのHTTP・HTTPSなどのプロキシ設定を変更し、システムプロキシに従うアプリをローカルの待ち受けポートへ接続します。一方、TUNは仮想ネットワークインターフェースで通信を取り込みます。必要な権限は、クライアントがNetwork Extensionを使うか、特権付きのコアとヘルパーツールを使うかによって異なります。

拡張機能やVPNの警告が実際に表示された場合

  1. クライアント内で該当機能を有効にし、システムのダイアログに表示されたアプリ名を確認します。名称、入手元、現在の操作がすべて想定どおりの場合に限り、VPN構成の追加や拡張機能の有効化を許可してください。
  2. macOS 15では「システム設定」→「一般」→「ログイン項目と機能拡張」を開き、「機能拡張」内の「ネットワーク機能拡張」を確認します。クライアントの項目がある場合は、有効になっているか確認してください。
  3. macOS 13・14で、ブロックされたシステムソフトウェアや拡張機能の承認を求める警告が表示された場合は、「プライバシーとセキュリティ」で該当する許可項目を確認します。一般的なアプリの拡張機能では、同じボタンが表示されないこともあります。
  4. 「システム設定」に「VPN」画面や「ネットワーク」内のVPN構成が表示される場合は、名前と接続状態を確認します。VPN構成の許可とシステム拡張機能の承認は別の手順です。すべてのクライアントで両方が表示されるわけではありません。

許可したらクライアントに戻り、該当機能を一度オフにしてから再度オンにします。Macの再起動は、システムから明示的に求められた場合に限ってください。会社や学校の管理下にあるデバイスでは、管理者による承認ポリシーの適用が必要なことがあります。標準ユーザーだけでは完了できず、同じソフトウェアを何度インストールし直しても制限は回避できません。

ネットワーク拡張の項目がない場合

クライアントのドキュメント、コアのログ、「サービスモード」の状態を確認します。TUNの作成時にログへoperation not permittedと表示される場合は、存在しないネットワーク拡張のスイッチを探すのではなく、特権サービスを確認してください。TUNが起動しているのにドメイン名を開けない場合は、DNSやルールの問題を調べます。通常、これは拡張機能の許可とは別の問題です。

ヘルパーツールのインストール:管理者パスワードが必要な場面

TUNインターフェースの作成、ルートの管理、または必要な権限でのコア実行のため、一部のクライアントは特権ヘルパーツールのインストールを求めます。システムの認証画面では、管理者アカウント名とパスワードが必要になることがあります。これはサブスクリプションのパスワードでもApple Accountのパスワードでもありません。Touch IDを使えるかどうかは、システムの認証方式によります。

  1. ルートを同時に変更する古いバックグラウンドプロセスを避けるため、ほかのプロキシやVPNを終了し、設定するクライアントだけを起動しておきます。
  2. クライアント内で「サービスモード」「ヘルパーツール」「サービスをインストール」などの項目を探します。名称は統一されていないため、現在使っているクライアントの画面を確認してください。特定のクライアントのメニュー手順を、すべてのClashクライアントに当てはめないでください。
  3. サービスのインストールまたは修復を選び、認証画面に表示された要求元を確認してから、このMacの管理者認証情報を入力します。標準ユーザーの場合は管理者に依頼してください。ターミナルからroot権限でGUIアプリ全体を起動しようとしないでください。
  4. 「システム設定」→「一般」→「ログイン項目」を開きます。macOS 15では「ログイン項目と機能拡張」にあります。「バックグラウンドでの実行を許可」欄で、開発元やヘルパーコンポーネントが無効になっていないか確認してください。
  5. クライアントに戻り、サービスの準備ができていることを確認してからTUNを有効にします。それでも失敗する場合は、パスワードを何度も入力するのではなく、サービスのインストール時に表示されたエラーを記録してください。

クライアントをアップデートした後もサービスのインストールを求められる場合、古いヘルパーツールと新しいアプリのバージョンが合っていないか、バックグラウンドコンポーネントが無効になっている可能性があります。まずクライアント内の「サービスをアンインストール」「サービスを修復」機能を使い、完了後にアプリを再起動してください。名前だけを頼りに/Library/PrivilegedHelperToolsや/Library/LaunchDaemons内のファイルを削除しないでください。誤ったファイルを削除すると、ほかのソフトウェアに影響することがあります。

キーチェーンのダイアログ:項目を確認してアクセス範囲を選ぶ

キーチェーンにはパスワード、トークン、証明書などが保存されています。クライアントがサブスクリプションの認証情報などの機密設定をキーチェーンに保存している場合、読み取り時に許可を求められることがあります。すべてのClashクライアントがキーチェーンを使うわけではありません。ダイアログが表示されたら、プロキシツールだからという理由だけで許可せず、対象の項目を確認してください。

まず次の3項目を確認

  • 要求元:直前に起動したクライアントですか、それとも見覚えのないプロセスですか?クライアントのアップデート後にパスや署名が変わり、再確認を求められることもあります。
  • 項目名:そのクライアント、アカウント、保存済みの認証情報に関係する項目ですか?ダイアログの見た目だけで信頼できるか判断しないでください。
  • キーチェーン名:「ログイン」キーチェーンのロック解除を求められた場合、通常はキーチェーン自体のパスワードが必要です。多くの場合はMacのログインパスワードと同じですが、常に同期されているとは限りません。

要求元と項目の両方を確認できた場合は、まず「許可」を選んで今回のアクセスを完了できます。今後もそのアプリが項目を読み取る必要があると確認できた場合に限り、「常に許可」を検討してください。「拒否」を選ぶと今回の読み取りはブロックされ、再ログインや認証情報の再入力が必要になることがありますが、アプリのアンインストールに代わるものではありません。

パスワードが正しいのに何度も表示される場合

Spotlightで「キーチェーンアクセス」と検索して開き、「ログイン」キーチェーンを選択し、ダイアログに表示された項目名を検索します。項目の詳細と「アクセス制御」の設定を確認し、許可するアプリが旧バージョンや古いパスを参照していないか調べてください。アクセス権をすべてのアプリに許可しないでください。新しいmacOSには「パスワード」アプリもありますが、キーチェーンの管理機能をすべて代替するものではありません。

管理者によってMacのパスワードがリセットされた場合、「ログイン」キーチェーンには古いパスワードが設定されたままのことがあります。その場合、新しいログインパスワードでは古いキーチェーンを直接解除できません。元のキーチェーンパスワードを使うか、システムの復旧手順に従ってください。デフォルトキーチェーンをリセットすると、保存済みの認証情報に影響するため、最初のトラブルシューティングとして実行しないでください。

許可後もインターネットに接続できない場合:ポート、通信、DNSを確認

まずシステムプロキシだけを有効にして基本的な接続を確認し、必要に応じてTUNを有効にします。これにより、「コアが待ち受けていない」状態と「TUNのルート取り込みに失敗している」状態を切り分けられます。以下では設定例のmixed-port: 7890を使います。7890はすべてのクライアントで共通の固定値ではないため、現在の設定またはクライアントの画面で確認してください。

scutil --proxy
lsof -nP -iTCP:7890 -sTCP:LISTEN
networksetup -listallnetworkservices
  • scutil --proxyで現在のシステムプロキシ情報を確認できます。システムプロキシを使う場合は、有効化の状態、サーバーアドレス、ポートがクライアントの設定と一致するか確認してください。TUNだけを有効にしている場合、システムプロキシがオフでも異常とは限りません。
  • lsofでTCP 7890を待ち受けているプロセスを確認できます。何も表示されない場合は、ポート番号とコアの起動状態を確認してください。必要に応じてクライアントのログも確認し、ノードの障害だとすぐに決めつけないでください。
  • networksetup -listallnetworkservicesでネットワークサービス名を一覧表示できます。プロキシ設定を手動で確認する前に、実際に使用中のWi-FiまたはEthernetサービスを特定してください。使っていないネットワークアダプターを変更しないよう注意します。

HTTP互換のmixed-portとして7890を使っている場合は、次の明示的なプロキシリクエストを実行できます。これは今回のリクエストがローカルプロキシ経由で宛先に到達できるかを確認するもので、システムプロキシやTUNがすべてのアプリに適用されていることを証明するものではありません。

curl --proxy http://127.0.0.1:7890 --connect-timeout 10 --max-time 20 -I https://example.com/

ローカルポートへの接続がすぐに失敗する場合は、待ち受け状態を確認します。ローカルプロキシには接続できるのにリクエストがタイムアウトする場合は、ノード、ポリシーグループ、ルールを確認してください。ブラウザーだけで問題が起きる場合は、プロキシ拡張機能と古いプロキシ設定を調べます。TUNだけが使えない場合は、サービスの状態、ルート、ほかのVPNとの競合を確認してください。

ドメイン名の解決エラーが発生した場合は、コアのDNSログと現在の設定を確認してください。digの問い合わせ経路はブラウザーと異なる場合があるため、一度の問い合わせ失敗だけでTUNの許可が原因だとは判断できません。まず動作している設定を保存し、Fake-IP、上流DNSサーバー、ルーティングポリシーを同時に変更せず、DNS設定を一つずつ確認してください。

診断情報を送る前の最終確認

設定が正常に完了すると、アプリを「アプリケーション」フォルダから起動でき、必要なヘルパーツールが準備完了になります。また、システムプロキシかTUNの少なくとも一方で、接続できることを確認します。すべてのMacでネットワーク拡張、VPN構成、キーチェーンのダイアログが同時に表示されるわけではありません。

  1. macOSの正確なバージョン、チップのアーキテクチャ、クライアントのバージョン、クライアントに表示されるコアの名称とバージョンを記録します。
  2. 「サービスをインストールした後」「TUNを有効にした後」など、エラーが発生した操作を記録し、ダイアログの全文を保存します。
  3. 該当する時間帯のログをエクスポートし、サブスクリプションURL内のトークン、ノードのパスワード、アカウント情報などの機密情報を伏せます。
  4. システムプロキシとTUNのどちらが使えるか、ほかのVPNも同時に起動しているかを記載すると、確認のやり取りを減らせます。

続けて入門ガイドを参考にサブスクリプションのインポートとルールモードの設定を行ってください。接続に問題が残る場合は、トラブルシューティングでポート、DNS、ルールを確認します。エラーの記録を残しておくと、何度も再インストールするより原因を特定しやすくなります。