結論から:デバイスと使い方で選ぶ
Clashクライアント選びでありがちな間違いは、画面だけを比べることです。長く使ううえで重要なのは、メンテナンス状況、カーネルの種類、OSとの互換性、TUNの実装、設定の移行性です。画面の見やすさやトレイメニューの操作性は、その次に確認します。
すぐに候補を絞りたい場合は、まず以下の利用シーンから判断してください。ここでいう「向いている」とは、起動できるだけでなく、記事執筆時点でも新規インストールする価値があることを指します。
| プラットフォーム | 優先候補 | 向いている用途 | 選ぶ際の注意点 |
|---|---|---|---|
| Windows | Clash Verge Rev | 日常的なルール分岐、TUN、複数サブスクリプション | 初回のTUN有効化には管理者権限とサービスのインストールが必要 |
| macOS | Clash Verge Rev、または現在も保守されているClashX Meta派生版 | フル機能のパネル、またはメニューバー中心の操作 | ダウンロード時にAppleシリコン版とIntel版を区別する |
| Linux | Clash Verge Rev | デスクトップ環境、AppImage、deb、rpmによるインストール | Waylandのトレイと自動起動はデスクトップ環境に左右される |
| Android | Mihomoカーネルを採用し、継続的に保守されているクライアント | アプリごとの分岐、VPNによる全体制御、モバイル回線の切り替え | 旧版のClash Meta for Androidはメンテナンス終了 |
| iOS | Clashルール構文に対応するネットワークツール | ルール分岐、オンデマンド接続、モバイルデータ通信 | Clash設定に対応していることと、Clashカーネルを実行することは同じではない |
クライアント、カーネル、設定ファイルを分けて考える
「Clashクライアント」は通常、グラフィカルな画面とプロキシカーネルの2つで構成されます。画面側はサブスクリプション管理、ノード選択、ログ確認、システムプロキシの切り替え、サービスのインストールを担当します。カーネル側はYAML設定の読み込み、ルール照合、プロキシ接続の確立、DNS処理を行い、TUNを有効にするとより多くの種類の通信を制御します。
Clash Verge RevとMihomoの関係
Clash Verge Revはデスクトップ向けのグラフィカルクライアントで、一般的なバージョンではMihomoをカーネルとして使用します。MihomoはClash Metaの機能を引き継ぎながら拡張しており、ルールプロバイダー、プロキシプロバイダー、TUN、sniffer、fake-ip、より詳細なDNS設定に対応します。クライアントのバージョンとカーネルのバージョンは別物なので、互換性を調べる際は分けて記録してください。
デスクトップ版では通常、「設定」→「アプリ設定」または「設定」→「概要」でクライアントのバージョンを確認し、「設定」→「カーネル」でMihomoのバージョンを確認できます。ディストリビューションによってメニュー名は多少異なりますが、ログの起動行にもカーネル名とバージョンが表示されることが一般的です。問題を報告する際は、OSのバージョン、CPUアーキテクチャ、クライアントのバージョン、カーネルのバージョンを併記するとよいでしょう。
ClashXという名前には複数のプロジェクトがある
ClashXは当初、軽快なmacOSメニューバー体験で注目されましたが、元のプロジェクトと後発のMeta派生版を同一視してはいけません。検索結果にはClashX、ClashX Pro、ClashX Metaなど複数の派生版が表示されることがあり、カーネル、更新時期、署名方式はそれぞれ異なります。旧版が起動できても、新しい設定項目を正しく処理できるとは限りません。
- ダウンロード数だけでなく、直近の正式リリースとコミット時期を確認する。
- カーネルが旧Clash core、Clash Premium、Mihomoのどれなのか確認する。
- インストーラーのアーキテクチャがarm64、x64、ユニバーサル版のどれなのか確認する。
- TUNがシステム拡張、サービスプロセス、管理者権限のどれで実装されているか確認する。
- サブスクリプション更新、設定のオーバーライド、ルールプロバイダーへの明確な入口があるか確認する。
設定の互換性と機能の完全な一致は別
基本的なノード、プロキシグループ、ルールを含むYAMLは、複数のクライアント間で移行できることが多いです。ただし、より詳細なTUNパラメーター、ルールセットの動作、geodataモード、特定のプロトコル項目など、Mihomo固有のフィールドを使う設定では、旧カーネルがエラーを出したり、項目を無視して動作を続けたりします。後者は画面上で「有効」と表示されても、実際の振り分け結果が異なるため、発見が難しくなります。
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
ipv6: false
tun:
enable: true
stack: mixed
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
上は、Mihomoでよく使われる設定例です。デスクトップクライアントでは通常、TUNの切り替えを画面から管理できるため、サブスクリプションファイルを直接編集する必要はありません。更新で元の設定が上書きされる場合は、クライアントが用意しているオーバーライドまたはマージ設定にローカル変更を置いてください。
Windows:本格的なデスクトップ利用にはClash Verge Rev
Windowsでは、システムプロキシ、TUN、定期的なサブスクリプション更新、トレイメニュー、自動起動をまとめて使いたいユーザーが多いでしょう。Clash Verge Revはこれらを1つのデスクトップパネルに集約でき、旧Clash for Windowsからの移行にも向いています。リアルタイムの接続状況やルールのヒット状況を確認しやすい点も利点です。
通常のブラウザー利用ならシステムプロキシで十分
サブスクリプションを読み込み、設定を選んだら、まず「プロキシ」画面で利用可能なノードを選び、「システムプロキシ」を有効にします。一般的な設定ではmixed-port 7890がHTTPとSOCKSの両方を受け付けますが、HTTPポート7890とSOCKSポート7891を分けて使うサブスクリプションもあります。現在の設定表示を優先してください。
- 「サブスクリプション」または「設定」画面を開き、サブスクリプションURLを追加する。
- 更新をクリックし、設定のダウンロードが完了してから対象の設定を選択する。
- 「プロキシ」を開き、プロキシグループで自動測定または特定のノードを選ぶ。
- モードを「ルール」に設定し、すべての接続が無条件に同じノードを通らないようにする。
- ホーム画面またはトレイメニューに戻り、「システムプロキシ」を有効にする。
- 「ログ」でブラウザーのリクエストが表示されることを確認し、ルールのヒット結果を確認する。
システムプロキシの影響を受けるのは、主にOSのプロキシ設定を自動的に読み込むアプリです。ブラウザー、一部のチャットツール、システムコンポーネントは利用できますが、ゲームランチャー、コマンドラインツール、一部のストアアプリ、独自のネットワークスタックを使うソフトは読み込まない場合があります。「ブラウザーは使えるのに特定のアプリだけつながらない」からといって、ノードが無効とは限りません。
より多くのアプリを制御したいときにTUNを有効にする
Clash Verge Revでは通常、「設定」→「サービスモード」でサービスをインストールしてから、「TUNモード」を有効にします。初回インストール時にはWindowsの権限確認が表示されます。有効化すると、Mihomoが仮想ネットワークアダプターとシステムルートを使って通信を制御するため、システムプロキシに対応しないアプリにも適しています。
日常的な速度測定では、1回だけの極端に短い遅延を追い求める必要はありません。候補ノードを5秒間隔で3回連続測定し、100MB前後の固定ファイルで実効速度も確認するのがおすすめです。遅延80msでも安定しているノードのほうが、45msが出ても直後にタイムアウトするノードより、長期利用に向いていることが多いでしょう。
macOS:フルパネルとメニューバー操作が選択の分かれ目
macOSでは、まず「サブスクリプションを頻繁に編集するか、接続を確認するか、オーバーライドを切り替えるか、TUNを調整するか」を考えます。必要ならClash Verge Revのフルパネルが分かりやすく、メニューバーからプロキシグループだけを素早く切り替えたいなら、保守が続いていることを確認したうえでClashX Meta派生版の軽快な操作が日常に合います。
Appleシリコン版とIntel版のインストーラーを合わせる
Apple M1、M2、M3、M4以降のAppleシリコン搭載Macでは、arm64またはaarch64のインストーラーを優先します。旧型のIntel Macではx64またはx86_64を選びます。ユニバーサル版は両方のアーキテクチャに対応しますが、ファイルサイズは大きくなりがちです。macOSの「Appleメニュー」→「このMacについて」でチップ情報を確認でき、ターミナルでは次のコマンドも実行できます。
uname -m
arm64と表示されればAppleシリコン環境、x86_64と表示されれば通常はIntel環境です。Appleシリコン搭載MacでRosetta経由でx64クライアントを動かしても基本的なプロキシは使える場合がありますが、カーネル呼び出し、サービスのインストール、消費電力は最適にならない可能性があります。
ClashXは軽い操作に向くが、保守状況を確認する
ClashX系クライアントでは、メニューバーから「システムプロキシに設定」「プロキシモード」「プロキシグループ」「設定を更新」を操作するのが一般的です。設定が安定していて、普段はノードを切り替えるだけのユーザーに向いています。弱点はメニューバー形式ではなく、似た名前の古いプロジェクトが多く、アプリ名だけではカーネルが更新されているか判断しにくいことです。
インストール前に、リリースノートでMihomoへの対応、現在のmacOSサポート範囲、arm64ビルドの有無を確認してください。長期間リリースがなく、旧Clashカーネルに依存していたり、サブスクリプションの新しいフィールドを認識できなかったりする場合は、インストーラーが小さいという理由だけで使い続けるべきではありません。
macOSのTUNではシステム権限を確認する
TUNを有効にすると、管理者パスワードの入力を求められたり、「システム設定」→「プライバシーとセキュリティ」でネットワーク関連の権限を確認したりする場合があります。有効化直後に通信できなくなったら、まずTUNを無効にし、システムプロキシでアクセスできることを確認してから、デフォルトのネットワークインターフェース、DNS、ほかのVPN設定を確認してください。会社支給の端末では構成プロファイルがネットワーク拡張を制限している可能性もあり、再インストールを繰り返しても解決しません。
Linux:インストール形式、デスクトップトレイ、権限が重要
LinuxデスクトップではClash Verge Revを利用できますが、ディストリビューションに合う形式を選ぶ必要があります。Debian、Ubuntu、Linux Mintでは通常debを使い、Fedora、Rocky Linux、openSUSEではrpmがよく選ばれます。インストール手順を減らしたい場合はAppImageが便利です。形式によってプロキシルールは変わりませんが、自動更新、デスクトップランチャー、依存関係の処理に違いが出ます。
| 形式 | 主な特徴 | 向いているユーザー |
|---|---|---|
| deb | Debian系のパッケージ管理に登録され、デスクトップランチャーを作成できる | Ubuntu、Debian、Linux Mint |
| rpm | rpm系ディストリビューションに適し、依存関係をパッケージマネージャーで処理できる | Fedora、Rocky Linux、openSUSE |
| AppImage | 単一ファイルで動作し移行しやすいが、デスクトップ統合には追加対応が必要 | 複数のディストリビューションで使う、またはポータブルに実行する |
Wayland環境では、トレイアイコンが表示されるかどうかはデスクトップ環境とAppIndicatorの対応状況に左右されます。プロキシ自体は起動しているのにトレイアイコンだけ消えた場合は、まずアプリメニューからメインウィンドウを開き直すか、プロセスとログを確認してください。すぐにカーネルが終了したと判断する必要はありません。GNOMEでは対応するトレイ拡張が必要になる場合があり、KDE Plasmaは通常、より充実したシステムトレイを備えています。
TUNでは仮想ネットワークアダプターの作成とルート変更が必要なため、一般ユーザー権限では足りないことがあります。クライアントが提供するサービスのインストール手順を優先し、グラフィカル画面全体を常にrootで実行しないでください。デスクトップのないサーバー環境では、Mihomoカーネルを直接配置して設定ファイルで管理するほうが適しており、デスクトップクライアントを追加する必要はありません。
Android:アーカイブ版CMFAを第一候補にしない
Clash Meta for AndroidはCMFAと略されることがあります。かつてはMihomoの機能、アプリごとのプロキシ、設定のオーバーライド、VPN制御を提供し、Androidでよく使われるClashクライアントでした。しかし、旧プロジェクトはすでにメンテナンスを終了しています。インストール済みで現在の設定を満たしている端末では一時的に使い続けても構いませんが、新しい端末でアーカイブ版を長期利用の出発点にするのは避けましょう。
Androidクライアントで重視する4つの機能
- 継続的なメンテナンス:Android VPN API、ターゲットSDK、Mihomoカーネルの変化に追随している。
- アプリごとのプロキシ:VPN経由にするアプリを指定したり、銀行アプリ、LAN、企業アプリを除外したりできる。
- 設定の互換性:現在のサブスクリプションに含まれるルールセット、DNS、プロキシプロトコルのフィールドを読み込める。
- バックグラウンドの安定性:画面ロック後やWi-Fi・モバイルデータ通信の切り替え後もVPNサービスを維持できる。
Mihomoカーネルを採用し、現在も継続的にリリースされているAndroidクライアントのほうが新規インストールに適しています。Androidとデスクトップの両方に対応するクロスプラットフォームプロジェクトも候補になります。選ぶ際はCMFAと画面が似ているかだけでなく、「設定」→「概要」または「カーネル」で実際のカーネル名とバージョンを確認してください。
モバイルの「グローバル」とデスクトップのグローバルモードは同じではない
Androidクライアントは通常、システムVPNインターフェースを通じてアプリの通信を制御します。プロキシモードの「グローバル」は、マッチした接続を特定のプロキシグループに統一する設定です。一方、AndroidのVPNスイッチは通信をクライアントに通すかどうかを決めます。両者は異なる階層の機能です。普段はルールモードを維持し、特殊なアプリだけアプリごとの設定で処理するのがおすすめです。
画面ロックから数分後に接続が切れる場合は、Androidの「設定」→「アプリ」→対象クライアント→「バッテリー」でバックグラウンド動作を許可し、そのアプリに対する厳しい省電力制限を解除してください。メーカーによってメニュー名は異なり、「バッテリー最適化」「バックグラウンド電池使用量の管理」「自動起動管理」などの項目に分かれていることもあります。
iOS:同名カーネルではなく互換性のあるツールを選ぶ
iOSにはWindowsデスクトップ版と完全に対応するClash Vergeはなく、Clashルールに対応するアプリをすべてClashクライアントと呼ぶべきでもありません。StashやShadowrocketなどのネットワークツールは、Clash形式の設定を一部読み込んだり変換したりできますが、それぞれ独自の実装、設定拡張、リリース方式を採用しています。
iOS向けツールを選ぶときは、まずサブスクリプションサービスが対応形式を提供しているか確認してください。Clash YAMLしか提供されない場合は、プロキシタイプ、プロキシグループ、ルールプロバイダー、DNSフィールドへの対応状況を確認します。ファイルを読み込めても、すべてのフィールドがMihomoと同じように実行されるとは限りません。
iOSで確認したい主な機能
- 現在のサブスクリプションで使われているノードプロトコルに対応しているか。
- DOMAIN-SUFFIX、DOMAIN-KEYWORD、IP-CIDR、GEOIPなどの基本ルールを処理できるか。
- オンデマンド接続に対応し、Wi-Fiとモバイルデータ通信の切り替え後に自動復帰できるか。
- ルールのヒット状況と接続ログを確認でき、直接接続やプロキシのエラーを特定しやすいか。
- 毎回ファイルを手動で読み込まず、サブスクリプションから更新できるか。
iOSのNetwork Extensionはシステムが一元管理します。2つのプロキシまたはVPNツールが同じ端末のネットワーク接続を同時に制御することはできません。再接続を繰り返す場合は、まずシステムの「設定」→「VPN」で現在の構成を確認し、ほかのオンデマンド接続ルールを無効にしてください。
メンテナンス状況、TUN、リソース使用量を比較する
クライアント比較では機能一覧だけを見ないことが大切です。より実用的なのは、固定した確認項目を作り、自分の端末で10〜15分動かしてみる方法です。テストには同じサブスクリプション、同じノード、同じプロキシモードを使い、ノードの変動をクライアントの差と取り違えないようにします。
| 確認項目 | 推奨方法 | 判断基準 |
|---|---|---|
| 起動と復帰 | コールドスタートを3回行い、その後スリープからの復帰をテストする | 設定の読み込みが安定し、システムプロキシの状態が一致する |
| サブスクリプション更新 | 手動更新を2回行い、ログを確認する | 形式エラーがなく、プロキシグループとルール数が妥当 |
| TUNによる制御 | ブラウザー、コマンドライン、システムプロキシを読まないアプリをテストする | 3種類の通信がすべてルールどおりに処理される |
| ネットワーク切り替え | Wi-Fi、有線、モバイルデータ通信を切り替える | 30秒以内に復帰し、無効なデフォルトルートが残らない |
| リソース使用量 | 5分間アイドル状態にしてから、100MBをダウンロードする | アイドル時の使用量が安定し、ダウンロード後に低下する |
メモリ使用量は同じ条件で比較してください。WebViewを含むデスクトップクライアントでは、メインウィンドウを開いた状態とトレイに常駐しているだけの状態で使用量が大きく異なります。ルールセットの数、接続数、ログレベルも結果に影響します。ログをdebugのままにするとディスクへの書き込みが増えるため、日常利用では通常infoで十分です。
そのプロジェクトを今もインストールする価値があるか判断する
- 最新の正式版が現在のOSに対応しているか。
- 画面の依存関係だけでなく、カーネルの更新も継続しているか。
- 課題一覧で、OSアップデート後の互換性問題に開発者が対応しているか。
- リリースページにアーキテクチャとインストール形式の説明が明記されているか。
- 重大な問題が起きたとき、直前の正式版へ戻せるか。
「最終更新日が新しい」ことだけで結論を出すこともできません。自動化された依存関係だけを更新し、利用可能なインストーラーを公開していないリポジトリもあります。更新頻度が低くても、OS互換性とカーネル更新が安定しているクライアントもあります。リリース履歴、カーネルバージョン、実際のインストーラーをまとめて確認してください。
旧クライアントから安全に移行する手順
Clash for Windows、旧ClashX、CMFAから移行する場合、最初に旧クライアントを削除するのはおすすめしません。サブスクリプションURLとローカル設定を保存し、新しいクライアントで個別にテストし、動作を確認してから旧プログラムを整理するのが安全です。これにより、オーバーライドルール、LAN設定、アプリごとのリストの漏れを防げます。
- 旧クライアントのサブスクリプションURL、現在のプロキシモード、よく使うプロキシグループの選択を記録する。
- ローカルYAML、オーバーライドスクリプト、マージ設定をエクスポートし、別途保存する。
- 旧クライアントのシステムプロキシ、TUN、自動起動を無効にする。
- 新しいクライアントをインストールし、まず元のサブスクリプションだけを読み込む。ローカル変更をすぐにすべてコピーしない。
- ルールモードでブラウザーアクセス、DNS、LAN、よく使うアプリをテストする。
- 必要に応じてサービスをインストールし、TUNを有効にしてから、システムプロキシを読まないアプリをテストする。
- オーバーライド、アプリごとのプロキシ、自動更新間隔を1項目ずつ戻す。
- 1〜2日連続して使ってから、旧クライアントを削除するか決める。
2つのクライアントでシステムプロキシを同時に有効にすると、後から起動したプログラムがシステム設定を書き換えることがあります。TUNも同時に有効にすると、重複したルートができる可能性があります。移行中は、常に1つのクライアントだけがネットワークを制御するようにしてください。終了後も通信できない場合は、まずシステムプロキシを無効に戻し、仮想ネットワークアダプターとデフォルトルートが残っていないか確認します。
最終判断:慣れた名前より安定したメンテナンスを優先
Windows、macOS、Linuxで統一されたデスクトップ体験、Mihomoカーネル、サブスクリプション管理、TUNを求めるなら、Clash Verge Revが始めやすい選択です。macOSでメニューバー操作を明確に好む場合は、保守が続いていてカーネル情報が明確なClashX Meta派生版を検討できます。ただし、古いClashXのインストーラーをそのまま使うのは避けてください。
Androidの新しい端末では、継続的に保守され、Mihomoを採用しているか、現在のサブスクリプション形式に明確に対応するクライアントを選びましょう。アーカイブ済みのClash Meta for Androidから始めるのはおすすめしません。iOSでは、必要なプロトコルとルール構文に対応する独立したネットワークツールを選び、Mihomoとは設定フィールドや動作の仕組みが異なることを理解してください。
どのクライアントを選んでも、まずルールモードとシステムプロキシで基本動作を確認し、必要に応じてTUNを有効にするのがおすすめです。クライアントのバージョン、カーネルのバージョン、ポート、エラーログを記録しておくほうが、ノードを何度も替えるより問題を特定しやすくなります。クライアント名は変わりますが、メンテナンス状況、設定互換性、システム通信の制御方式こそ長く使える選択基準です。