クライアント選び 読了目安:約12分

Mac向けClashクライアントの選び方:Clash Verge Rev・ClashX Meta・FlClashを比較

mihomoのバージョンや画面構成、TUN、購読管理、リソース使用量を比較し、使い方に合ったmacOS向けClashクライアントを紹介します。

使い方から選び、インストーラーを確認する

3つのクライアントはいずれもMacでプロキシ設定を管理できますが、操作の中心はそれぞれ異なります。Clash Verge Revはデスクトップ上で一元管理できる画面を備え、ClashX Metaはメニューバーからの操作を重視しています。FlClashはクロスプラットフォームの画面で設定、プロキシ、接続情報を管理します。選ぶ際は、接続状況の確認やプロキシグループの変更、複数の購読設定の管理が日常的に必要かを考えてから、画面の使い勝手を比べましょう。

購読設定を1つ読み込み、メニューバーからノードを切り替えるだけなら、複雑な管理画面が最適とは限りません。ルールの適用状況を頻繁に確認したり、ターミナルの通信を制御したりする場合は、接続、ログ、TUNの状態をまとめて確認できるクライアントが便利です。画面の好みとカーネルの互換性は別々に判断しましょう。ウィンドウの大きさからプロキシ機能の優劣は判断できません。

比較項目Clash Verge RevClashX MetaFlClash
画面の特徴設定、接続、各種項目を一元管理できるデスクトップ画面macOSのメニューバー中心で、すばやく切り替え可能機能をページごとに整理したクロスプラットフォームの画面
技術構成Tauri製デスクトップアプリ、mihomoカーネルを使用macOSネイティブのメニューバーアプリ、Meta系カーネルを使用Flutter製の画面、mihomoカーネルを使用
購読の管理複数設定の管理やオーバーライドに適しているメニューからの設定選択と更新が中心設定とプロキシグループを同じ画面で管理しやすい
TUN利用時の確認事項サービスモード、権限、TUNの設定を確認配布パッケージごとに拡張モードと補助コンポーネントを確認デスクトップサービス、権限、TUNの設定を確認
まず試したいユーザーログや接続状況を頻繁に確認し、設定をオーバーライドする人主にメニューバーを使い、メインウィンドウをあまり開かない人複数プラットフォームで共通した操作感を好む人

カーネルのバージョン:画面が似ていても、設定の対応範囲は同じとは限らない

GUIクライアントは設定の読み込み、ノードの表示、システムプロキシの制御、バックグラウンドサービスの呼び出しを担います。mihomoカーネルは設定の解析、ルールの照合、外向き接続の確立を担当します。Clash Metaはmihomoの旧称で、過去のチュートリアルや設定、プロジェクト名にはMetaの表記が残っている場合があります。名前が似ていても、インストーラーに含まれるカーネルのバージョンが同じとは限りません。

比較時は「クライアントのバージョン」と「カーネルのバージョン」を分けて記録しましょう。クライアントの更新は画面やサービスの導入手順だけを変更する場合がありますが、カーネルの更新ではプロトコル対応、DNSの動作、設定項目が変わることがあります。新しい設定項目を別のクライアントで読み込めない場合は、購読が無効だと決めつけず、まず設定の解析ログを確認してください。

インストール後に確認する4項目

  1. クライアントの「バージョン情報」などを開いてアプリのバージョンを記録し、カーネル情報または起動ログからmihomoのバージョンも確認します。
  2. 「設定」画面で使用中の購読設定を確認します。3つのクライアントで実際に異なる設定を使っていないか確かめましょう。
  3. 設定内のproxy-groups、rules、dns、tunを確認し、読み込み後に解析エラーがないか確かめます。
  4. 購読設定に新しいプロトコルや項目が含まれる場合は、クライアント紹介にある「Clash設定に対応」という説明だけで判断せず、使用するカーネルのバージョンに合った設定ドキュメントを参照してください。

基本的なYAML設定は比較的移行しやすい一方、クライアント固有のスクリプトオーバーライド、ルールのマージ、設定選択履歴、鍵の保存データなどは、そのまま引き継げるとは限りません。アプリを切り替える前に元の設定を書き出し、ローカルで加えた変更を記録してください。別のクライアントのデータフォルダーを丸ごと上書きするのは避けましょう。

画面と購読管理:メニューバーの手軽さか、一元管理できる画面か

Clash Verge Rev:設定を頻繁に調整する人向け

購読、プロキシグループ、接続、ログを行き来して確認するなら、情報をまとめて表示できるウィンドウが便利です。Clash Verge Revの設定管理とオーバーライド機能を使えば、提供元の購読設定とローカルの設定を分けて扱えます。たとえば購読側でノード一覧を管理し、ローカルのオーバーライドで待ち受けポートを設定したり、ルールを追加したりできます。実際に使う前に、現在のバージョンで設定がマージされる順序を確認してください。

購読からダウンロードしたYAMLファイルに直接ルールを書き込むのは避けましょう。次回の更新で編集内容が上書きされる可能性があります。クライアントに用意された永続的なオーバーライド機能を使い、更新後に最終的な実行設定を確認して、ローカルルールが意図した位置に残っているか確かめてください。

ClashX Meta:メニューバー中心の使い方に適したクライアント

ClashX Metaは、よく使う操作にメニューバーからアクセスできるのが特長です。システムプロキシの切り替え、設定の選択、プロキシグループの変更が中心なら、少ない手順で操作できます。一方、複雑な設定の変更では設定ファイルや別の管理画面を開くことが多く、デスクトップ型の管理画面と同じ操作手順をそのまま当てはめることはできません。

「ローカル設定ファイルの選択」と「リモート購読の追加」は区別しましょう。リモート設定が自動更新されるか、更新間隔をどこで設定するかは、使用中のバージョンで確認してください。名前の似たリモート設定を複数登録している場合は、ノードが変わらない原因を調べる前に、現在選択されている設定を確かめましょう。

FlClash:複数プラットフォームで同じ操作感を使いたい人向け

FlClashはFlutterで画面を構築しており、ページ構成に慣れているユーザーに向いています。複数プラットフォームで共通しているのは主な操作の考え方であり、システム権限の仕組みではありません。macOSのシステムプロキシ、バックグラウンドサービス、TUNの権限は別途設定が必要です。他のプラットフォームの手順をそのまま使わないでください。

  • 購読設定が1つ:更新が成功するか、ノードを簡単に切り替えられるかを確認。
  • 設定が3つ以上:名前、更新状況、現在選択中の設定を確認。
  • ローカルルールを使う:購読更新後もオーバーライドが保持されるか、最終的なルールの順序を確認。

TUNとシステムプロキシ:まず通信の制御範囲を確かめる

システムプロキシは、macOSのネットワーク設定にプロキシのアドレスを書き込み、主にその設定に従うアプリの通信に適用されます。ターミナルのプログラム、独自のネットワーク機能を持つソフト、一部のゲームはシステムプロキシを参照しない場合があります。TUNは仮想ネットワークインターフェースとルーティング設定を使って対象の通信を制御し、通常は補助サービスや管理者の許可が必要です。

Clash Verge RevとFlClashのmacOS版には、通常TUN関連の設定項目があります。ClashX Metaの拡張モードの機能や導入方法は、配布パッケージごとに確認してください。カーネルがTUNに対応していても、GUIクライアント側でサービスの導入、権限管理、ルート設定まで済んでいるとは限りません。

繰り返し使える検証手順

  1. ほかのプロキシアプリ、VPN、旧クライアントの自動起動を停止し、テスト対象のクライアントだけを起動します。
  2. TUNをオフにして、システムプロキシだけを有効にします。「システム設定」→「ネットワーク」→現在のネットワークサービス→「詳細」→「プロキシ」でアドレスとポートを確認してください。macOSのバージョンによって項目名が多少異なる場合があります。
  3. クライアントの実際の待ち受けポートを確認します。以下ではローカルの混合ポート7890を例にしています。この値は設定例であり、3製品共通の初期値ではありません。
  4. 明示的なプロキシ接続が成功することを確認してから、クライアントの案内に従って補助サービスをインストールまたは有効化し、TUNをオンにします。起動ログにインターフェース、ルート、DNSのエラーがないか確認してください。
  5. システムプロキシをオフにし、ターミナルのプロキシ環境変数を解除してからテスト通信を行います。クライアントの接続一覧で通信が制御されているか、どのルールが適用されたかを確認してください。
# HTTPプロキシを明示的に指定して、ローカルの待ち受けポートを確認
curl --proxy http://127.0.0.1:7890 --connect-timeout 10 -I https://example.com

# 一般的なプロキシ環境変数を除外し、curlのプロキシオプションは使わない
env -u http_proxy -u https_proxy -u all_proxy \
    -u HTTP_PROXY -u HTTPS_PROXY -u ALL_PROXY \
    curl --noproxy '*' --connect-timeout 10 -I https://example.com

2つ目のコマンドは、アプリケーション層のプロキシ設定を除外して試す方法の1つです。成功しただけではTUNが有効だと証明できません。接続先のWebサイトに直接アクセスできる場合もあります。接続記録でプロセス、接続先アドレス、適用された出向き先のポリシーを併せて確認してください。必要に応じて一時的に明確なテスト用ルールを追加し、確認後に削除します。

リソース使用量:同じ設定で測定し、フレームワークだけで比較しない

「ネイティブのメニューバーアプリなら必ず省メモリ」「特定のフレームワークなら必ず高速」といった見方だけでは判断できません。GUI、カーネル、補助サービスは別々のプロセスです。ルールや接続の数、ログレベル、購読の更新、TUNの設定によってもリソース使用量は変わります。メインウィンドウのプロセスだけを確認すると、実際に通信を処理しているバックグラウンドプロセスを見落とすことがあります。

次の条件をそろえて測定する

  • デバイスとOS:同じMacで順番にテストし、AppleシリコンかIntelか、メモリ容量、「このMacについて」に表示されるmacOSの完全なバージョン番号を記録します。
  • 設定:同じ購読設定のスナップショット、同じノード、同じルールとDNS設定を使います。まずTUNをすべてオフにして測定し、その後TUNを有効にした測定を別に行います。
  • アイドル時:起動後2分待ってから5分間続けて観察し、CPU、メモリ、スリープ解除の状況を記録します。
  • 負荷時:同じテストファイルを60秒間ダウンロードし、同じ10ページを閲覧します。各テストを3回繰り返し、所要時間とネットワーク環境を記録します。
  • ウィンドウの状態:メインウィンドウを閉じた状態と開いた状態をそれぞれ記録します。3つのクライアントでログレベルもそろえてください。

「アプリケーション」→「ユーティリティ」→「アクティビティモニタ」を開き、「表示」で「すべてのプロセス」を選択します。「CPU」「メモリ」「エネルギー」を確認し、アプリ、mihomoカーネル、関連する補助サービスを記録してください。Webページの描画を担う補助プロセスも見落とさないようにしましょう。CPU使用率は時間によって変動するため、同じ時間帯の測定値で比較します。メモリも単一の数値の低さだけでなく、システム全体のメモリプレッシャーを確認してください。

ここに記載した数値は測定時間と操作条件であり、3つのクライアントの実測結果ではありません。デバイス、バージョン、設定を統一できない場合、MB単位で順位を決めるのは適切ではありません。ノートMacでは、一度のスクリーンショットより、スリープ前にCPU使用率が高止まりしないか、アイドル時に頻繁にスリープ解除されないか、ウィンドウを閉じた後もバックグラウンドで正常に動作するかを確認するほうが参考になります。

AppleシリコンとIntel:インストール前にアーキテクチャと動作要件を確認

まずAppleメニューから「このMacについて」を開きます。「チップ」にApple Mシリーズと表示される場合は、arm64またはaarch64と記載されたインストーラーを優先してください。Intelプロセッサと表示される場合は、x64またはx86_64を選びます。「Universal」と記載されたパッケージは両方のアーキテクチャに対応している場合がありますが、配布元の説明も確認してください。

Appleシリコン上でRosettaを使ってIntelアプリを実行できても、プロキシの構成要素すべてがネイティブのアーキテクチャで動作するとは限りません。GUIアプリ、カーネル、補助サービスをそれぞれ確認してください。「アクティビティモニタ」に「種類」列を表示すると、プロセスがAppleかIntelかを判断する手掛かりになります。対応するmacOSの最小バージョンも製品ごとに確認が必要です。Mac対応と書かれていても、古いOSでインストールできるとは限りません。

  • 新しいクライアントをインストールする前に、旧クライアントのシステムプロキシの状態、待ち受けポート、自動起動の設定を記録します。
  • 2つのアプリで127.0.0.1:7890を同時に使用しないでください。アドレスの競合が発生した場合は、再インストールを繰り返すのではなく、まず旧カーネルを終了します。
  • 移行後は旧クライアントを終了し、システムプロキシを書き戻したりTUNを再度有効にしたりしないことを確認します。
  • クライアントの終了後にブラウザーで通信できなくなった場合は、システムプロキシが停止済みのローカルポートを指したままになっていないか、まず確認してください。

利用シーンから候補を選び、移行後に動作を検証する

複数の設定を管理し、接続ログを頻繁に確認してローカルのオーバーライドを使うなら、まずClash Verge Revを試すとよいでしょう。メニューバーを主に使い、設定が安定していて管理画面をあまり開かないなら、ClashX Metaが候補です。FlClashの設定画面やプロキシグループの操作に慣れていて、複数のデバイスで似た操作感を保ちたいなら、FlClashを試してみてください。

ターミナル、開発ツール、ゲームの通信制御が主な目的なら、画面の好みより先にTUNの権限、ルート、DNSを検証してください。ブラウザーだけで使う場合は、まずシステムプロキシを確認すればよく、「機能が多い」という理由だけでTUNを有効にする必要はありません。ルールモードは設定に応じて接続先を選び、グローバルモードは通常、接続を指定されたグローバルポリシーに振り分けます。この2つはTUNの有効・無効とは別の設定です。

本格的に切り替える前の5項目

  1. 購読を手動で更新でき、更新後のノード、プロキシグループ、ルールの数が想定どおりである。
  2. 購読の更新後もローカルのオーバーライドが適用され、公開ログやスクリーンショットに機密性の高い購読URLを載せていない。
  3. ブラウザーと普段使うターミナルツールの両方で検証し、接続記録のポリシーが想定どおりである。
  4. クライアントの終了、再起動、スリープからの復帰後に、ネットワーク設定が元に戻るか、想定どおりに通信を制御できる。
  5. 旧クライアントを削除する前に、普段の作業時間帯で少なくとも1サイクル、リソース使用量を確認する。

クライアント選びでは、設定の互換性、わかりやすい操作手順、検証可能な通信制御範囲、終了後に管理できるネットワーク状態が重要です。復元可能な元の設定を残してから順に移行すれば、複数のクライアントを同時に入れてプロキシを何度も切り替えるより、問題の原因を特定しやすくなります。

Clash Mac版のインストーラー