macOS で Clash クライアントを導入:ネットワーク拡張とキーチェーン許可の対処
macOSでクライアント初回起動時、ネットワーク拡張・キーチェーン・アクセシビリティの許可要求が連続表示されます。本記事はポップアップの表示順に沿って、何を選ぶべきか、拒否した場合の対処法、システム設定での再確認場所を解説します。
macOS で確認ポップアップが他プラットフォームより多い理由
Windows や Android のプロキシクライアントは通常ネットワーク権限の確認が一度だけで済みますが、macOS のシステムレベルのセキュリティ機構はより細かく分かれています。「ネットワーク通信の引き受け」「機密資格情報の読み書き」「システム操作の模倣」という3つの独立した権限に分けられ、それぞれネットワーク拡張・キーチェーンアクセス・アクセシビリティに対応しています。Clash系クライアントが正常に動作するには最低でも前の2種類が必要で、画面に「システムプロキシをワンクリック設定」のような自動化ボタンがある場合は3番目の権限も関わってきます。
この仕組みは悪意あるプログラムがネットワークデータを密かに傍受したり、パスワードを盗んだりするのを防ぐために設計されたもので、プロキシソフト専用の障壁ではありません。それぞれのポップアップが対応するシステム機能を理解しておけば、許可を出す際に迷わず、拒否した後もどこで補完すればよいか分かり、クライアントを再インストールする必要もなくなります。
1つ目のポップアップ:ネットワーク拡張(Network Extension)
クライアントが初めて TUN モードやシステムプロキシを有効化しようとすると、macOS は「『Clash』がVPN設定を追加しようとしています」や「ネットワーク拡張がブロックされました」といった通知を表示し、同時にシステム設定の「一般 → VPNとデバイス管理」または「ネットワーク → フィルタとプロキシの拡張機能」に確認待ちの項目が現れます。
これは NetworkExtension フレームワークのコンテンツフィルタまたは個人用VPN機能に対応しています。TUN モードではクライアントがシステムのネットワークスタックに仮想ネットワークカードを挿入し、全部または一部の通信を Clash コアへリダイレクトする必要があり、これは本質的に VPN アプリの動作方式と同じため、システムは統一して VPN 設定の承認フローに乗せています。
- ポップアップが表示されたら「許可」または「システム環境設定を開く」をクリックします。
- システムが「プライバシーとセキュリティ」または「ネットワーク」の項目に移動するので、対応するクライアントの項目を見つけてスイッチをオンにします。
- macOS のバージョンによってはこの確認時に管理者パスワードの入力を求められますが、これは正常な流れなので入力すれば問題ありません。
- クライアントに戻り、再度起動または TUN スイッチをオンにすれば、ポップアップは表示されなくなります。
誤って「許可しない」を選んでしまった場合、クライアント内の TUN スイッチはグレー表示になったり「拡張機能が有効化されていません」というエラーが出たりします。この場合再インストールは不要で、システム設定から該当の拡張機能を手動で有効化すれば解決します。具体的な手順は次のセクションで説明します。
2つ目のポップアップ:キーチェーンアクセスの許可
ネットワーク拡張の許可が済むと、続けて「『Clash』がキーチェーンに保存されている機密情報を使用しようとしています」というポップアップが表示されることが多いです。これはクライアントが Keychain Access(キーチェーンアクセス)に読み書き権限を申請している段階で、VPN 設定の証明書やパスワード項目を保存し、再起動ごとにシステム認証を繰り返さないようにするためのものです。
このポップアップはネットワーク自体とは直接関係ありませんが、拒否するとシステムプロキシを有効化するたびに確認ダイアログが再表示され、使い勝手が悪くなります。「常に許可」を選択して一度で解決しておくことをおすすめします。
キーチェーンアクセスを手動で開いて権限を確認する
- 「Spotlight検索」(⌘+スペース)で「キーチーンアクセス」と入力して開きます。
- 左側で「ログイン」キーチェーンを選択し、右上の検索欄にクライアント名を入力します。
- 一致した項目をダブルクリックし、「アクセス制御」タブに切り替えます。
- 一覧にクライアント本体があり、削除されていないことを確認します。削除されていた場合は左下の「+」ボタンから再度追加してください。
3つ目のポップアップ:アクセシビリティ権限(自動化機能を使う場合)
一部のクライアントには「システムプロキシをワンクリック設定」や「プロキシモードを自動切替」といったショートカット機能があり、これは内部で macOS の Accessibility(アクセシビリティ)権限を使ってシステム操作を模倣しています。クライアントの画面にこの種のボタンがある場合、初回クリック時に「『Clash』がこのコンピュータを制御しようとしています」という通知が表示されます。
この権限の範囲は前の2つより広く、システムは不足していても自動的にポップアップを出さず、関連する機能ボタンをクリックした時に初めて要求が発生します。ある自動化ボタンをクリックしても何も反応がない場合、大半は権限が付与されていないだけで、クライアント側の不具合ではありません。
- 「システム設定」→「プライバシーとセキュリティ」→「アクセシビリティ」を開きます。
- 右側の一覧からクライアントを見つけ、スイッチをオンにします。
- 一覧にクライアントが表示されていない場合、先に権限要求を発生させる機能を一度クリックすると、システムが自動的に一覧へ追加し、チェック待ちの状態にします。
- チェックを入れた後、クライアントを完全に終了して再度開かないと権限が反映されない場合があります。
拒否した後の対処法:システム設定内の3つの再確認場所
インストール中に慌ててどこかのポップアップで「許可しない」を選んでしまった場合、インストーラーを再ダウンロードする必要はなく、システム設定内の対応するスイッチから許可を追加すれば済みます。3つの入口はそれぞれ前述の3種類の権限に対応しています。
| 権限の種類 | システム設定のパス | 影響する機能 |
|---|---|---|
| ネットワーク拡張 / VPN設定 | プライバシーとセキュリティ → VPNとデバイス管理(または ネットワーク → フィルタとプロキシの拡張機能) | TUN モード、システムレベルの通信引き受け |
| キーチェーンアクセス | キーチェーンアクセスアプリ → クライアント名を検索 → アクセス制御 | 設定資格情報の永続保存 |
| アクセシビリティ | プライバシーとセキュリティ → アクセシビリティ | システムプロキシのワンクリック設定などの自動化ボタン |
3つの権限は互いの有効状態に影響しないので、順に確認していけます。まず「VPNとデバイス管理」でクライアントのスイッチがオンであることを確認し、次にキーチェーン項目がアクセスリストから外されていないかチェックし、最後に自動化ボタンを使う場合はアクセシビリティにチェックが入っているか確認します。それぞれ有効化した後、クライアントに戻って該当の操作を再度試せば、多くの場合再起動は不要です。
よくある症状と対処法
TUN スイッチをオンにするとすぐ自動でオフになる
大半はネットワーク拡張の権限が完全に反映されていないことが原因です。まず「VPNとデバイス管理」で項目の状態が「接続済み」またはスイッチがオンになっているか確認します。項目そのものが存在しない場合は初回ポップアップで「許可しない」を選んでしまったということなので、クライアントに戻って TUN スイッチを再度トリガーし、システムに認証要求を再発行させてください。
クライアントを再起動するたびにパスワードの再入力を求められる
これはキーチェーン権限が取り消された、または「今回のみ許可」を選んで「常に許可」にしなかったことが原因です。前述のキーチェーンアクセスの手動確認手順に従い、アクセス制御を「常に許可」に変更すれば一度で解決します。
「不明な開発元の拡張機能です」と表示される
インストーラーの入手元が正常であれば、この通知は署名なし、または独自証明書で署名された拡張機能を初めて実行する際によく表示されます。「プライバシーとセキュリティ」の下部にある「このまま開く」などの確認ボタンから許可すれば問題ありません。これはシステムの通常のセキュリティ通知であり、インストーラー自体に問題があるわけではありません。
OS をアップデートしたら権限がすべて無効になった
macOS のメジャーバージョンアップ後、セキュリティ方針の一環として一部の機密権限の許可状態がリセットされることがあります。これはシステム側の仕様であり、クライアントのバージョンとは無関係です。アップデート完了後、本記事の順序に従って3種類の権限を一通り再確認すれば復旧します。
インストール完了後の一度きりの検証
3種類の権限すべてに問題がないことを確認した後、プロキシ経路が実際に機能していることを確認するため、「接続済み」と表示されているだけで終わらせず、一通りの検証を行うことをおすすめします:
- クライアントのノード一覧からノードを1つ選び、遅延の数値が正常に表示されるか(タイムアウトになっていないか)を確認します。
- システムの「ネットワーク」設定を開き、現在アクティブなネットワークの下にクライアントが設定したプロキシの説明が表示されているか確認します。
- ブラウザで任意のIP確認ページにアクセスし、表示される地理的位置が選択したノードと一致しているか確認します。
- TUN モードを有効にしている場合、ブラウザのプロキシ拡張機能をオフにしてから再テストし、ブラウザ拡張機能だけでなくシステムレベルで通信が実際に引き受けられているか確認します。
この4つのステップを終えれば、一連の権限設定とネットワーク構成が正しく反映されていることをほぼ確認できます。以後の通常利用では確認ダイアログが頻繁に出ることはなくなります。