macOS版Clashクライアントでは、アプリの起動チェック、プロキシ設定、特権ヘルパーツール、キーチェーンへのアクセスが関係することがあります。それぞれ必要な権限は異なり、パスワードを何度も入力しても一括で解決するものではありません。まず、どのアプリがどのタイミングでダイアログを表示したか確認してから、該当する権限に対処しましょう。インストールの問題をサブスクリプションやノードの不具合と取り違えずに済みます。

1. インストール前にアーキテクチャ、OSバージョン、アプリの場所を確認

Appleシリコン用とIntel用のインストーラーはファイル名だけで判断しない

Appleメニュー →「このMacについて」を開き、「チップ」または「プロセッサ」の項目を確認します。Apple Mシリーズ搭載Macでは、Apple Silicon、ARM64、aarch64版を選びます。Intel搭載Macでは、x64またはx86_64版を選択してください。Universal版には通常どちらのアーキテクチャも含まれますが、クライアントが指定する最低macOSバージョンも満たす必要があります。

  • 「MacのOS」のような曖昧な記載ではなく、macOS 14.7のように正確なバージョンを記録します。
  • ダウンロード元、プロジェクト名、インストーラーのアーキテクチャを確認します。配布元が不明な再パッケージ版はインストールしないでください。
  • DMGを開き、アプリを「アプリケーション」フォルダにドラッグします。ディスクイメージを取り出してから、「アプリケーション」フォルダ内のアプリを起動してください。
  • 初回起動の前に、古いクライアントを終了します。複数のアプリが同時にシステムプロキシを変更したり、同じポートを使ったりするのを防げます。

DMGや「ダウンロード」フォルダから長期間起動しないでください。インストール先を固定すると、アップデーターやヘルパーツール、権限の記録を一貫して管理できます。別の場所にある複数のコピーを起動すると、キーチェーンの許可対象と実際に動作しているアプリが食い違うことがあります。Appleシリコン搭載MacでIntel版を実行する際にRosettaのインストールを求められる場合がありますが、これはプロキシ権限とは別の問題です。

2. Gatekeeperの警告が表示されたときの対処

Gatekeeperのチェックはアプリの起動時に行われます。この段階ではコアがまだ起動していない可能性があり、サブスクリプションやDNS、ルールを変更しても通常は解決しません。macOSのバージョンによって警告の文言は多少異なるため、表示内容に応じて対処してください。

警告・症状確認するポイント次の対処
開発元を確認できない/マルウェアが含まれていないことを確認できない配布元、署名、システムでの認識状況配布元を確認したうえで、「プライバシーとセキュリティ」に一度だけ許可する項目があるか確認
アプリが破損しているため開けないダウンロードの完全性、アプリの改変、ビルドの互換性そのアプリを削除し、信頼できる配布元からダウンロードし直す
アプリがコンピュータに損害を与える可能性がある/マルウェアとして検出されたシステムによるセキュリティブロック起動せず、配布元の説明を確認する。無理にブロックを回避しない
このバージョンはこのMacでは使用できないプロセッサのアーキテクチャと最低システム要件対応するインストーラーを選び直す

信頼できるアプリを一度だけ許可する手順

  1. 「アプリケーション」フォルダからアプリを一度起動し、システムの警告を確認します。
  2. Appleメニュー →「システム設定」→「プライバシーとセキュリティ」を開きます。
  3. 「セキュリティ」欄で、直前にブロックされたアプリを探します。該当する項目が表示され、配布元も信頼できると確認できた場合に限り、「このまま開く」を選択します。
  4. システムの指示に従って認証し、アプリ名をもう一度確認してから開きます。

macOS 13、14、15では、設定項目やボタンが表示される条件が異なる場合があります。管理対象のデバイスでは、ユーザーによる許可が制限されていることもあります。ボタンが見当たらない場合は、署名やシステム互換性、デバイスのポリシーを確認してください。何度も起動を繰り返すのは避けましょう。

3. システムプロキシ、TUN、ネットワーク拡張機能の許可

システムプロキシ:システム設定に従うアプリをローカルポートに接続

システムプロキシでは、HTTP、HTTPS、SOCKSのリクエストをクライアントのローカル待ち受けアドレスに転送します。すべてのプロセスを自動的に経由させる機能ではなく、TUNインターフェースを作る機能とも異なります。クライアントによってはプロキシ設定を直接変更できますが、ヘルパーツールのインストールやネットワーク設定の変更時に管理者認証を求めるものもあります。

macOS 13以降では、「システム設定」→「ネットワーク」→ 使用中のWi-FiまたはEthernetサービス →「詳細」→「プロキシ」で設定を確認できます。システム設定で「プロキシ」と検索すると、該当する項目をすばやく見つけられます。

  • ローカルアドレスは通常 127.0.0.1 ですが、ポート番号は使用中のクライアントの設定を確認してください。
  • たとえば設定が mixed-port: 7890 の場合、このポートではHTTPとSOCKSの両方を受け付けます。あくまで一例であり、すべてのクライアントが7890を使うわけではありません。
  • プロキシを設定していても、コアが該当ポートで待ち受けていなければ、ブラウザはすぐに接続エラーを表示することがあります。

TUN:クライアントが採用する実装を確認

TUNモードは、通信を仮想ネットワークインターフェースに取り込み、コアに渡します。インターフェースの作成やルート、DNSの設定に高い権限が必要な場合があります。一般的な実装には、特権ヘルパーツールでコアを起動する方式と、クライアントにNetwork Extensionを組み込む方式があります。インストールや許可の手順はそれぞれ異なるため、混同しないでください。

許可の対象よくあるきっかけ確認する場所
特権ヘルパーツールサービスの初回インストール、TUNの有効化、サービスの修復クライアントのサービス状態とシステムのバックグラウンド項目
ネットワーク拡張機能クライアントが提供するネットワーク拡張機能を初めて有効にするシステムの警告に記載された拡張機能の管理画面
VPN構成システムVPNインターフェースを使う接続構成の追加「システム設定」のVPN、または「ネットワーク」関連の画面

macOS 15では、「システム設定」→「一般」→「ログイン項目と機能拡張」で「ネットワーク機能拡張」を確認できます。項目が表示されるかどうかは、クライアントが実際に何をインストールしたかによります。旧バージョンのシステムでは、「プライバシーとセキュリティ」でブロックされたシステムソフトウェアの許可が必要な場合があります。現在表示されているシステムの案内に従い、開発元名も確認してください。

クライアントが特権ヘルパーツールだけをインストールする場合、ネットワーク拡張機能のスイッチが見当たらなくても正常なことがあります。通常のTUNを有効にするために、必ずしも復旧モードで起動セキュリティを下げる必要はありません。特定の拡張機能が必要だとクライアントが明示している場合に限り、該当するドキュメントを確認してください。旧式のカーネル拡張機能の手順を、すべてのmihomoクライアントに当てはめないでください。

4. キーチェーンのダイアログ:アクセス用パスワードと管理者パスワードの違い

キーチェーンは、パスワードやトークンなどの機密情報を保存する機能です。クライアントによってはサブスクリプションの認証情報などを保存しますが、すべてのクライアントが利用するわけではありません。ダイアログが表示されたら、要求元のアプリ名とキーチェーン項目名を確認してください。パスワード欄が表示されたからといって、すぐ入力しないようにしましょう。

まずダイアログの種類を見分ける

  • 「変更を加えようとしています」と表示され、管理者認証を求められる:通常はヘルパーツールのインストールやシステム設定の変更に関するもので、キーチェーンの読み取りとは異なります。
  • 「キーチェーンに保存されている機密情報を使用しようとしています」と表示される:特定の項目へのアクセス要求です。項目の用途を確認してください。
  • 「ログイン」キーチェーンのロック解除を求められる:通常はキーチェーン自体のパスワードが必要です。現在のアカウントのログインパスワードと一致するとは限りません。

アカウントの復旧などでmacOSのログインパスワードを変更した場合、古い「ログイン」キーチェーンには以前のパスワードが残っていることがあります。その場合、新しいパスワードを何度入力してもロックを解除できない可能性があります。また、サブスクリプションサービスのアカウントパスワードを、システムのキーチェーン解除画面に入力しないでください。これらは別の認証情報です。

「一度だけ許可」と「常に許可」の使い分け

初回の確認では一度だけ許可し、クライアントが該当する設定を読み込めるか確かめる方法があります。アプリの配布元、項目の用途、要求のタイミングが一致すると確認できてから、継続的な許可を検討してください。アップデート後に表示された場合、アプリの署名やアクセス制御の対象が変わった可能性があります。「更新直後だから」という理由だけで、要求を信頼できると判断しないでください。

  1. Command + スペースを押し、「キーチェーンアクセス」と入力して開きます。新しいmacOSの「パスワード」アプリとは別のツールです。
  2. 「ログイン」キーチェーンを選択し、クライアント名またはダイアログに表示されたサービス名で検索します。
  3. 該当する項目をダブルクリックして確認します。「アクセス制御」の設定がある場合は、アクセスを許可するアプリが現在のインストール先のコピーを指しているか確認してください。
  4. 手間を省くために、すべてのアプリに項目へのアクセスを許可しないでください。対象のクライアントに属すると確認できた項目だけを変更します。

5. 権限の問題を個別にリセットし、ネットワークを復旧する

ヘルパーツールが繰り返しインストールされる:複数のアプリコピーを確認

同種のクライアントをすべて終了し、「アプリケーション」フォルダに使用予定のコピーだけがあることを確認してから、再起動します。クライアントに「サービスをアンインストール」「サービスをインストール」「サービスを修復」などの機能がある場合は、そのクライアントのメンテナンス機能を使ってください。製品によってメニュー名は異なります。別のクライアントのボタンや手順を流用しないでください。

サービスのメンテナンス後、まず起動ログを確認し、必要に応じてシステムを再起動します。/Library/PrivilegedHelperToolsや/Library/LaunchDaemons内のファイルを手作業で一括削除しないでください。これらのフォルダにはほかのソフトウェアのサービスも含まれます。会社管理のMacでポリシーによる制限がある場合は、管理者に許可される範囲を確認してください。

クライアント終了後にネットに接続できない:残ったシステムプロキシを確認

アプリが異常終了すると、システムプロキシの接続先が、すでに待ち受けを停止したローカルポートのまま残ることがあります。まず「システム設定」で現在のネットワークサービスに設定された、このクライアントのプロキシをオフにしてから、直接接続できるか確認してください。以下のターミナルコマンドは確認専用です。1つ目はネットワークサービス名の一覧を表示し、後の2つはサービス名が Wi-Fi の場合の例です。

networksetup -listallnetworkservices
networksetup -getwebproxy "Wi-Fi"
networksetup -getsecurewebproxy "Wi-Fi"
networksetup -getsocksfirewallproxy "Wi-Fi"

実際のサービス名が異なる場合は、1つ目のコマンドの出力にある完全な名前を使います。結果ではEnabled、Server、Portを確認してください。ローカルアドレスが表示されていても、プロキシが有効とは限りません。有効状態も確認しましょう。

プロキシが終了したクライアントのものだと確認でき、会社のネットワーク設定ではない場合に限り、以下のコマンドで無効にできます。操作には管理者認証が必要な場合があります。自動プロキシ構成と自動プロキシ検出は別の設定であり、この3つのコマンドでは変更されません。

networksetup -setwebproxystate "Wi-Fi" off
networksetup -setsecurewebproxystate "Wi-Fi" off
networksetup -setsocksfirewallproxystate "Wi-Fi" off

キーチェーンへのアクセスが繰り返し拒否される:確認済みの認証情報だけを作り直す

まずクライアントを終了し、設定をバックアップして、サブスクリプションURLやアカウント認証情報を再取得できることを確認します。「キーチェーンアクセス」でクライアントのものと確認できた項目を探します。必要な場合に限りその項目だけを削除し、クライアントを起動して再インポートまたはログインしてください。キーチェーンの項目を削除しても、設定ファイルが自動修復されたり、失ったサブスクリプションURLが復元されたりするわけではありません。

「フルディスクアクセスを許可」を一般的な修復方法として使わないでください。通常のプロキシ転送で、ネットワークの問題だけを理由にファイルへのアクセス権限を広げる必要はありません。特定の機能に必要であることが明確で、クライアントのドキュメントにも理由が説明されている場合に限り、許可を検討してください。

6. インストール後の確認手順とトラブル記録

  1. 起動を確認:「アプリケーション」フォルダからクライアントを起動し、コアが正常に動作していること、ログにクラッシュの連続やポート競合のエラーがないことを確認します。
  2. 設定を確認:信頼できる設定をインポートし、ポリシーグループとアウトバウンドが存在することを確認します。ウィンドウが開いても、サブスクリプションが読み込まれたとは限りません。
  3. システムプロキシを確認:TUNを無効にしてシステムプロキシを有効にし、確認対象のWebページを開きます。接続ログで対象ドメイン、適用ルール、実際のアウトバウンドを確認してください。
  4. TUNを確認:必要な場合に限り有効にして、インターフェースの作成、ルート、DNS関連のログを確認します。失敗した場合は、まずTUNを無効にし、システムプロキシ経由で接続できるか確認してください。
  5. 終了後の復元を確認:クライアントを正常に終了し、システムプロキシが元の状態に戻るか確認します。戻らない場合は、前のセクションに従って使用中のネットワークサービスを確認してください。

Webページが開かず、該当する接続ログもまったくない場合は、まず通信の取り込み経路を確認します。接続が記録され、ルールとアウトバウンドも表示されるのにタイムアウトする場合は、ノード、DNS、接続先のサービスを調べてください。ネットワーク拡張機能が許可されているのは、そのコンポーネントの読み込みがシステムに許可されたことを示すだけです。サブスクリプションの有効性や、接続先サイトへの到達を保証するものではありません。

問い合わせ時に添える情報

  • macOSの正確なバージョンと、AppleシリコンまたはIntelのどちらか。
  • クライアントのバージョンとコアのバージョンは、混同せず別々に記録します。
  • ダイアログの全文、表示のきっかけとなった操作、その時点でシステムプロキシとTUNのどちらを有効にしていたか。
  • 問題の発生前後約30秒間のログと、ほかのVPN、プロキシ、ネットワークフィルタリングソフトを同時に使っていたかどうか。

スクリーンショットやログを共有する前に、サブスクリプションURL、トークン、アカウント情報、ノードの認証情報を隠してください。「起動チェック → システムプロキシ → TUNまたは拡張機能 → キーチェーン」の順に個別に確認すると、すべてのコンポーネントを再インストールするより原因を追いやすく、既存のネットワーク設定への影響も抑えられます。