ClashX Proでできること:システムプロキシとルール分岐
ClashX ProでmacOSの通信をプロキシ経由にする基本操作は、メニューバーのアイコンから「Set as System Proxy」を有効にすることです。この設定をオンにすると、macOSのネットワーク設定にHTTPプロキシとHTTPSプロキシが登録され、システムプロキシに対応したブラウザやアプリケーションの通信がClashX Proのローカルポートへ送られます。一般的なウェブ閲覧を始めるだけなら、まずこの方式を使うのが最も分かりやすい方法です。
ただし、システムプロキシはMac上のすべての通信を強制的に取り込む機能ではありません。アプリがmacOSのプロキシ設定を参照しない場合、独自の接続方式を使う場合、UDP通信や一部のバックグラウンド通信を利用する場合は、プロキシを通らず直接接続されることがあります。ターミナルの一部コマンド、ゲーム、仮想マシン、Docker、システムサービスなどは特にこの影響を受けやすい対象です。
ClashX Proの「Rule」モードを選んだ場合、システムプロキシから受け取ったリクエストは、設定ファイルの rules を上から順に照合します。国内サイトを直接接続し、それ以外をプロキシへ送る構成なら、国内サービスの遅延や通信量を抑えながら必要な通信だけを分岐できます。「Global」モードは対象をまとめてプロキシへ送るため確認には便利ですが、常用する場合はルールの内容と選択中の策略グループを確認してください。
システムプロキシとTUNは別の機能
「Set as System Proxy」はmacOSのプロキシ設定を変更する機能であり、端末全体のパケットを取り込むTUNモードとは異なります。ClashX Proの画面にTUN関連の項目がない、または使用しているカーネルが対応していない場合は、システムプロキシだけで対応できる範囲を前提に設定してください。
設定前に確認する項目:ClashX Pro、プロファイル、ローカルポート
設定を始める前に、ClashX ProがmacOSの「アプリケーション」フォルダに入っていて、メニューバーにアイコンが表示されていることを確認します。初回起動時に「開発元を確認できないため開けません」と表示された場合は、システム設定の「プライバシーとセキュリティ」を開き、表示されたアプリの通知から「このまま開く」を選択します。macOSのバージョンによって項目名や配置は少し異なります。
次に、サービス提供者から発行されたサブスクリプションURL、または利用するYAML設定ファイルを用意します。ClashX Proは本体をインストールしただけでは、接続先のノードやプロキシグループが表示されないことがあります。プロファイルを追加した後、一覧から対象を選択して有効化し、ノードまたは策略グループが表示される状態にしてください。
ローカルポートはClashX ProがMac上で待ち受ける接続先です。HTTPプロキシとSOCKS5のポート番号は設定ファイルやクライアントのバージョンによって異なるため、固定値を思い込まず、メニューの「Config」や設定画面で確認します。システムプロキシをClashX Proから有効にする場合、通常はこのポート情報を手動入力する必要はありません。
| 確認項目 | 確認する場所 | 正常な状態 |
|---|---|---|
| アプリの起動 | macOSのメニューバー | ClashX Proのアイコンが表示されている |
| プロファイル | メニューのConfig / Profiles | 有効な設定にチェックが付いている |
| ノード一覧 | Proxy / Proxies | 利用可能なノードや策略グループが表示される |
| ローカルポート | 設定画面または設定ファイル | HTTP・SOCKSポートが競合していない |
| 動作モード | Mode / モード選択 | Rule、Global、Directのいずれかを意図的に選んでいる |
プロファイルの導入方法を確認したい場合は、クイックスタートを見ると、URLの追加から有効化までの流れを確認できます。なお、サブスクリプションURLには認証情報が含まれることがあるため、チャットやスクリーンショットにそのまま貼り付けないでください。
実際の操作手順:macOSのシステムプロキシをオンにする
ここでは、ClashX Proでプロファイルを有効化した後、macOSのシステムプロキシをオンにしてブラウザの通信を確認する手順を説明します。メニュー名はClashX Proのビルドや表示言語によって英語・日本語が混在する場合がありますが、「System Proxy」または「システムプロキシ」と書かれた項目を探してください。
- ClashX Proを起動し、メニューバーにあるClashX Proのアイコンをクリックします。アプリのウィンドウを閉じただけでは終了していないことがあるため、アイコンが表示されているかを先に確認します。
- 「Config」または「Profiles」を開き、使用するプロファイルを選択します。選択した設定にチェックが付いていること、Proxyメニューにノードや策略グループが表示されることを確認します。
- 「Proxy」または「Mode」を開き、通常利用では「Rule」を選択します。動作確認だけを行う場合は一時的に「Global」を選んでも構いませんが、確認後は目的に合ったモードへ戻します。
- ClashX Proのメインメニューに戻り、「Set as System Proxy」をクリックします。チェックマークが表示されれば、macOSの現在のネットワークサービスにプロキシ設定が登録された状態です。
- SafariやChromeなど、いったん終了して再起動したブラウザで確認ページを開きます。ブラウザを完全に終了してから起動し直すと、既存の接続やDNSキャッシュの影響を切り分けやすくなります。
- ClashX Proの「Logs」を開き、ブラウザで新しいページを読み込んだ時刻に接続ログが増えるか確認します。対象ドメイン、使用された策略グループ、DIRECTまたはプロキシの判定を見て、意図した経路になっているか判断します。
システムプロキシをオンにしても、すでに接続済みのページや常時接続型のアプリが自動的に新しい設定へ切り替わるとは限りません。ブラウザの再起動、アプリの再接続、場合によってはMacからのログアウトが必要になることがあります。確認時は、ClashX Proのログと外部から見える出口アドレスの両方を照らし合わせると、単にチェックマークが付いているだけの状態を避けられます。
オンになったかを確認するポイント
メニューにチェックがあることは設定が登録された目印ですが、通信が実際にプロキシを通った証明ではありません。ログにブラウザの接続が記録され、選択した策略グループの通信量または接続数が変化し、出口アドレスも想定したノード側になることまで確認してください。
設定後の確認と、通信できないときの切り分け
確認は「プロキシ設定が登録されたか」「ClashX Proがリクエストを受け取ったか」「ルールが正しい出口を選んだか」の3段階に分けると効率的です。最初にmacOSの「システム設定」から「ネットワーク」を開き、使用中のWi-FiまたはEthernetを選択して「詳細」へ進みます。macOSの世代によっては「プロキシ」タブにHTTPプロキシやHTTPSプロキシのチェックが入り、サーバーが 127.0.0.1 または localhost になっています。
次にClashX Proのログを見ながら、ブラウザで新しいドメインを開きます。ログが一切増えない場合は、ブラウザがシステムプロキシを使用していない、ClashX Proが終了している、あるいは別のVPNやプロキシが優先されている可能性があります。ログが増えているのにページが開かない場合は、選択中のノード、プロキシグループ、DNS設定、ルールの判定を順に確認します。
| 症状 | 考えられる原因 | 確認・対処 |
|---|---|---|
| チェックはあるが接続先が変わらない | ブラウザが古い接続を再利用している | ブラウザを完全終了し、ClashX Proのログを見ながら再起動する |
| ログにブラウザの通信が出ない | プロキシ非対応のアプリ、別VPN、設定の競合 | 他のVPNを停止し、macOSのプロキシ欄とアプリ側の接続設定を確認する |
| ログにDIRECTと表示される | Ruleモードのルールが直接接続を指定している | 対象ドメインに一致するルールと、上位にあるルールの順序を確認する |
| すべてのサイトが開かない | ノード停止、策略グループ未選択、DNSまたはポート競合 | 別ノードを選び、設定ファイルの有効状態とログのエラーを確認する |
| 一部アプリだけ直接接続になる | アプリがシステムプロキシを参照していない | アプリ独自のプロキシ設定を使うか、対応するTUN方式を検討する |
ターミナルの動作確認では、システムプロキシを参照するコマンドと、参照しないコマンドを区別してください。たとえば curl は環境変数やオプションによってプロキシ利用の有無が変わります。curl -I https://example.com の結果だけで全アプリの通信経路を判断せず、ClashX Proのログとアプリごとの設定を合わせて確認してください。
自動切替の設定:ログイン時起動、プロファイル更新、ルール分岐
ClashX Proでいう「自動切替」は、いくつかの機能をまとめて呼ぶことがあります。Macの起動後にクライアントを自動で立ち上げること、登録済みプロファイルを定期的に更新すること、アクセス先に応じてノードやDIRECTを自動選択することは、それぞれ別の設定です。ここを混同すると、ログイン後にプロキシが有効にならない、ノードが古いまま、国内サイトまでプロキシ経由になるといった問題が起こります。
ログイン時にClashX Proを起動する
macOSの「システム設定」から「一般」→「ログイン項目と機能拡張」を開き、ClashX Proをログイン時に開くアプリとして追加します。これによりメニューバーのクライアントは自動起動できますが、システムプロキシまで必ずオンになるかはClashX Proのバージョンや権限状態に左右されます。ログイン後にメニューバーの「Set as System Proxy」のチェックを確認し、必要であれば一度オフにしてからオンに戻してください。
プロファイルを定期的に更新する
サブスクリプションを使っている場合は、プロファイルの更新間隔を設定できることがあります。更新後に自動でそのプロファイルが有効になるか、選択中の策略グループが維持されるかはクライアントの実装によって異なります。更新直後にノード一覧、ルール、DNS設定が変わる場合があるため、重要な作業中に自動更新が走らない時間帯へ設定するのが安全です。
ルールで接続先を自動選択する
Ruleモードでは、ドメインやIPアドレスに応じてDIRECTまたはプロキシグループへ自動的に切り替えられます。たとえば国内ドメインを直接接続にする場合、概念上は次のようなルールを上から順に配置します。実際のプロファイルでは使用するルールプロバイダーやカーネルの対応状況に合わせて書き換えてください。
rules:
- DOMAIN-SUFFIX,local,DIRECT
- GEOSITE,cn,DIRECT
- GEOIP,CN,DIRECT
- MATCH,PROXY
GEOSITE は対応するmihomo系カーネルやgeodataを必要とするため、ClashX Proの内蔵カーネルが対応していない場合は、利用可能なルール形式へ置き換えます。また、ルールは上から下へ評価され、最初に一致した行で処理が止まります。特定ドメインをプロキシへ送るルールを全体ルールより下に置くと、意図どおりに動作しないため注意してください。
システムプロキシをオフに戻す方法と安全な運用
通常のインターネット接続へ戻すときは、ClashX Proのメニューバーアイコンをクリックし、「Set as System Proxy」のチェックを外します。オフにした後、macOSの「システム設定」→「ネットワーク」→使用中の接続→「詳細」→「プロキシ」で、HTTPプロキシとHTTPSプロキシのチェックが外れていることを確認します。ClashX Proを終了するだけでは、macOS側に登録されたプロキシ設定が残る場合があるため、先にシステムプロキシをオフにするのが安全です。
オフにしたのに通信できない場合は、ブラウザやアプリを再起動し、別のVPN、手動プロキシ、ネットワーク監視ツールが動作していないか確認します。macOSのプロキシ設定に 127.0.0.1 が残っている状態でClashX Proを終了すると、接続先が存在しないローカルポートになり、すべてのウェブ通信が止まることがあります。
自動起動を利用する場合でも、空港やホテルなど信頼できないネットワークへ接続した直後は、ClashX Proのプロファイルと接続ログを確認してください。プロキシが有効でも、選択したノードが停止している、ルールがDIRECTになっている、DNSだけが別経路になっているといった可能性があります。システムプロキシは便利な入口ですが、通信経路全体を自動的に保証するものではありません。
終了前に必ずプロキシをオフにする
ClashX Proを終了する前に「Set as System Proxy」をオフにしてください。プロキシ設定を残したままアプリだけ終了すると、macOSのブラウザが停止したローカルポートへ接続し続けるため、通信不能に見える状態になります。