クライアントと権限の種類を確認する

ClashXを初めて開くと、管理者パスワードやネットワーク設定、キーチェーンに関する確認が順番に表示されることがありますが、それぞれ別の権限です。確認を始める前に、メニューバーのアプリメニューから「ClashXについて」を開き、アプリ名とバージョン、macOSのバージョンを控えてください。従来のClashX、ClashXの派生版、mihomoコアを使う別のクライアントでは、補助ツールの導入方法や通信を制御する仕組みが異なる場合があります。同じ種類のダイアログが必ず表示されるとは限りません。

特に、システムプロキシを有効にすることはネットワーク拡張のインストールを意味せず、TUNモードでも必ずAppleのネットワーク拡張フレームワークを使うわけではありません。従来のClashXは、特権ヘルパーツールを使ってシステムプロキシを設定することがあります。別のクライアントでは、特権サービスでTUNインターフェイスを作成するものや、Network Extensionを使うものもあります。拡張機能の確認が表示されなくても、権限が不足しているとは限りません。

表示・機能用途確認するポイント
補助ツールのインストールに管理者の許可が必要特権操作を行うサービスをインストールまたは更新するアプリ名と入手元、今回の操作との関連性
VPN構成またはネットワーク拡張を追加クライアントが管理するネットワーク経路を作成する該当するVPNまたはトンネル機能を有効にしたか
システム拡張がブロックされました該当する拡張機能がシステムにまだ承認されていない開発元の名称と拡張機能が属するアプリ
キーチェーン内の項目へのアクセス保存済みの認証情報や機密データを読み取る要求元のプロセス、項目名、アクセス範囲

初回起動とセキュリティ確認

「アプリケーション」フォルダに移してから起動する

  1. ダウンロードページでAppleシリコンまたはIntel向けのクライアントを選択します。チップやプロセッサの種類は、Appleメニューの「このMacについて」で確認できます。
  2. ディスクイメージをダウンロードした場合は、開いてアプリを「アプリケーション」フォルダにドラッグし、その場所から起動してください。マウントしたディスクイメージやダウンロードフォルダから使い続けるのは避けましょう。
  3. 「インターネットからダウンロードされたアプリです」という確認が表示されたら、名前を確認して「開く」を選びます。これは初回起動時の確認であり、ネットワーク拡張の許可ではありません。
  4. 開発元を検証できないという警告が表示された場合は、まずダウンロード元とクライアントのメンテナンス状況を確認し、「システム設定」→「プライバシーとセキュリティ」に今回の起動に関する説明があるか確認してください。

macOS 13 Ventura、macOS 14 Sonoma以降では、ブロックの理由によって「プライバシーとセキュリティ」ページの下部に「このまま開く」が表示されることがあります。ボタンの表示はブロックの理由やシステムのバージョンによって異なり、すべてのエラーに使える方法ではありません。macOS 15 Sequoiaでは、一部の未署名または未公証ソフトウェアの起動手順が変更されています。右クリックして「開く」を選べば必ず回避できるわけではありません。

補助ツールと管理者パスワード

ClashXの一部のバージョンでは、システムプロキシを初めて設定するときに補助ツールのインストールを求められます。GUIアプリは通常、現在のユーザー権限で動作し、補助ツールはより高い権限が必要な操作を行います。ここで入力するのは、このMacの管理者アカウントの認証情報です。サブスクリプションやノードのパスワード、Apple Accountのパスワードではありません。

許可する前に3か所を確認

  • 操作のきっかけ:補助ツールのインストール、サービスの修復、システムプロキシの有効化を直前に行ったか確認します。こうした操作をしていないのに突然要求された場合は、いったんキャンセルしてプロセスを確認してください。
  • ダイアログの名称:要求元が現在インストールしているクライアントに属することを確認します。補助ツールの名称はメインアプリと異なる場合があるため、そのバージョンの説明を確認してください。
  • インストール先:アプリが「アプリケーション」フォルダにあることを確認します。何度も移動したり、古いコピーを複数残して交互に起動したりしないでください。

誤って「キャンセル」を選んでも、通常は今回のインストールが中断されるだけです。クライアントを開き直し、補助ツールのインストールまたは修復を再度実行してください。起動のたびにインストールを求められる場合は、同じ名前のクライアントをすべて終了し、現在使うバージョンだけを残して、ログにサービスのインストールエラーがないか確認します。/Library/PrivilegedHelperTools内の似た名前のファイルを直接削除したり、システムサービスを一括でアンインストールしたりしないでください。

会社や学校が管理するMacでは、特権サービスのインストールが制限されている場合があります。管理者権限がない場合は、端末の管理者に対応を依頼してください。一般ユーザーのパスワードを繰り返し入力しても、追加の権限は得られません。

ネットワーク拡張・システム拡張・VPN構成

拡張機能の許可が必要なのは、クライアントが該当する仕組みを実際に使う場合だけです。Network ExtensionはAppleが提供するネットワーク機能のフレームワークで、その一部はシステム拡張として配布できます。「ネットワーク拡張」と「システム拡張」は必ず別々に存在し、両方を許可しなければならないものではありません。VPN構成の追加確認も、カーネル拡張のインストールと同じではありません。

macOSのバージョンに応じて設定場所を確認

  • macOS 13・14:まず「システム設定」→「プライバシーとセキュリティ」で拡張機能がブロックされたときの説明を確認します。VPN構成は、システム設定で「VPN」を検索して確認できます。
  • macOS 15:ネットワーク拡張は「システム設定」→「一般」→「ログイン項目と機能拡張」→「ネットワーク機能拡張」で確認できます。表示される項目や操作ボタンは、インストール済みの拡張機能によって異なります。
  • それ以降のバージョン:設定場所の名称が変更されている場合があります。システム設定の検索欄で「ネットワーク拡張」または「VPN」を検索し、実際に表示される内容を確認してください。

特定の開発元のシステムソフトウェアを許可するよう求められたら、まずクライアントが案内する開発元情報と照合してください。承認後に再起動するのは、システムが明示的に求めた場合だけです。該当する項目が表示されない場合、別のソフトウェアの拡張機能を承認する必要はありません。「権限をそろえる」ために追加コンポーネントをインストールする必要もありません。

拡張機能を許可してもTUNを起動できない場合は、クライアントのログを確認してください。ルート設定の失敗、DNSリスナーの競合、別のVPNによるネットワークの制御などでも、同じ「接続できません」という状態になることがあります。拡張機能の一覧で有効と表示されるのは、その層で読み込みが許可されたことを示すだけです。サブスクリプション、DNS、アウトバウンドのルールが正しいとは限りません。

キーチェーンの確認:項目を確かめてから許可する

キーチェーンのダイアログには通常、どのプロセスがどの項目にアクセスしようとしているかが表示されます。ClashXのすべてのバージョンで初回起動時にキーチェーンへのアクセスを求めるわけではありません。クライアントや関連コンポーネントが認証情報を保存または読み取る場合にだけ表示されます。手順書にこの操作が載っているからといって、アプリにキーチェーン全体へのアクセスを許可しないでください。

「許可」「常に許可」「拒否」の違い

  • 許可:今回のアクセスだけを許可します。用途を確認できていても、長期的な許可を残したくない場合に適しています。
  • 常に許可:この項目へのアクセスを継続的に許可する設定を記録します。その後もアプリの識別情報やキーチェーンのアクセス制御が適用されます。要求元と対象項目を確認してから選択してください。
  • 拒否:今回は認証情報を渡しません。保存済みの情報をアプリが読み取れなくなる場合がありますが、通常はクライアントのほかの設定を確認する操作には影響しません。

「ログイン」キーチェーンのロック解除を求められた場合、通常はそのキーチェーンのパスワードが必要です。最初はMacへのログインパスワードと同じことが多いものの、復旧手順でアカウントのパスワードを変更した場合、古いキーチェーンのパスワードは更新されていないことがあります。その場合、新しいパスワードを何度入力しても通らず、クライアントの不具合とは限りません。

Spotlightで「キーチェーンアクセス」を検索して開き、「ログイン」キーチェーンからダイアログに表示された項目名を検索します。操作できる項目の場合は詳細を開き、「アクセス制御」を確認してください。現在のクライアントに関連すると明確に確認できた項目だけを変更し、「ログイン」キーチェーン全体を削除したり、すべてのアプリに項目へのアクセスを許可したりしないでください。新しいmacOSの「パスワード」アプリは、一般的なキーチェーンのアクセス制御機能を置き換えるものではありません。

アップデート後にダイアログが繰り返し表示される場合

アプリの更新、署名情報の変更、別の場所にあるコピーの起動などにより、以前のアクセス許可が一致しなくなる場合があります。まず古いコピーを終了し、「アプリケーション」フォルダから現在のバージョンを起動して、ダイアログに表示されるプロセス名を確認してください。要求された項目がブラウザのパスワードなど説明のつかない認証情報なら、いったん拒否して入手元を確認します。名前にClashが含まれているだけで許可しないでください。

誤って拒否した場合の復旧:失敗した箇所に応じて対処

拒否した項目復旧手順復旧後の確認
補助ツールのインストールアプリを再起動し、インストールを再実行するか、クライアントに用意されたサービス修復機能を使うシステムプロキシを有効にした後も権限エラーが表示されるか
VPN構成の追加クライアントで該当するトンネル機能を再度起動し、システムの確認に応答するシステムのVPN一覧とクライアントの状態が一致しているか
ネットワーク拡張またはシステム拡張システム設定で該当アプリの拡張機能を探し、システムの案内に従って許可する新たな読み込みエラーが発生していないか、再起動を求められていないか
キーチェーンへの一時的なアクセス認証情報が必要な操作を再度行う。必要に応じてアプリを終了し、開き直す項目名と要求元が一致しているか

復旧時に変更するのは一度に1項目だけにしてください。まずシステムプロキシとTUNを無効にし、通常のネットワーク接続を確保します。該当する権限設定を済ませてから、必要な機能を有効にしてください。コアの切り替え、アプリの再インストール、設定の削除、DNSの変更を同時に行うと、何が解決または問題を引き起こしたのか判断しにくくなります。

構成プロファイルで管理されている端末では、一部の設定を変更できない場合があります。表示されたメッセージ、システムとクライアントのバージョンを記録し、管理者に確認を依頼してください。サブスクリプションURLにはアクセストークンが含まれるため、スクリーンショットやログを共有する前に、URL全体とアカウント情報を隠してください。

許可後にポートと実際の通信を確認する

許可が完了しても、セットアップはまだ終わりではありません。次に利用可能な設定をインポートし、コアが起動していることを確認してからシステムプロキシを有効にします。システムプロキシの影響を受けるのは、システムプロキシ設定に従うアプリが中心です。TUNは仮想インターフェイスとルーティングを使って、より多くの通信を制御します。ブラウザでWebページを開けても、ターミナルやゲーム、すべてのバックグラウンドプロセスが同じ経路を使うとは限りません。

読み取り専用コマンド3つで原因を絞り込む

「ターミナル」で次のコマンドを実行します。例ではHTTPまたは混合プロキシのポートとして7890を使います。先に現在の設定にあるportまたはmixed-portを確認し、実際の値に置き換えてください。このポート番号は例であり、すべてのClashXバージョンで共通の初期値ではありません。

# macOSの現在のシステムプロキシ設定を確認
scutil --proxy

# サンプルのポートでTCP接続が待ち受けているか確認
lsof -nP -iTCP:7890 -sTCP:LISTEN

# ローカルのHTTPプロキシを明示してリクエストを送信
curl --proxy http://127.0.0.1:7890 --connect-timeout 10 --max-time 20 -I https://example.com
  • scutil --proxyでは、有効なHTTPプロキシにHTTPEnable : 1やアドレス、ポートが表示されます。HTTPSはHTTPSEnableなどのフィールドを確認します。実際に有効なプロトコルを確認し、特定のフィールドだけを探さないでください。
  • lsofの出力がない場合は、まずコアが起動しているか、ポートの指定が正しいか、専用のSOCKSポートを使っていないか確認します。ポートが待ち受けている場合も、どのプロセスが使っているか確認してください。
  • curlの例では指定したプロキシを明示的に使用するため、ターミナルがシステムプロキシを読み込むかどうかに左右されません。接続を拒否された場合は、まず待ち受けポートを確認します。接続後にタイムアウトする場合は、ノード、DNS、アウトバウンドのルールを確認してください。

コマンドラインツールのcurlは通常、macOSのGUIで設定したシステムプロキシを自動的に使いません。そのため「ブラウザは使えるがターミナルは使えない」という状況を、すぐに権限の問題だと判断しないでください。SOCKSの接続先を試す場合は、実際のポート番号を使ってsocks5h://127.0.0.1:ポート番号の形式で指定します。アドレスとポートは適切な値に置き換えてください。

クライアントを終了する前にネットワークの復旧を確認

初回の設定が終わったら、システムプロキシとTUNを手動で無効にしてからクライアントを終了し、通常のネットワーク接続が使えることを確認しましょう。終了後にネットワークへ接続できない場合は、「システム設定」→「ネットワーク」→使用中のWi-FiまたはEthernet→「詳細」→「プロキシ」を開き、127.0.0.1を指すHTTP、HTTPS、SOCKSプロキシや自動プロキシ設定が残っていないか確認します。今回のクライアントが設定した項目だけを無効にし、組織のネットワークで必要な設定は残してください。

VPNまたはネットワーク拡張を使っている場合は、該当する接続が切断されているかも確認してください。ネットワークを復旧するために、ネットワークサービスを一括削除しないでください。確認後は、コアの起動、設定の有効性の確認、必要に応じたプロキシの有効化の順で操作します。明確な権限エラーが表示された場合に限り、該当する許可の手順に戻ってください。