まずはコア、GUIクライアント、サブスクリプション設定を区別する
「Clash Android版」で検索すると、Clash Meta、mihomo、FlClash、Clash Verge Revが一緒に表示されることがあります。しかし、これらは同じ階層の名前ではありません。通信を処理するコア、ボタンや設定画面を備えたクライアント、過去の派生プロジェクト名が混在しています。すべてを同じソフトの別スキンと考えると、インストールするアプリを間違えたり、設定の互換性を誤解したりする原因になります。
| 階層 | 役割 | 代表的な名称・内容 |
|---|---|---|
| プロキシコア | 設定の解析、ルールの適用、DNS処理、外部への接続 | Clash、Clash Meta、mihomo |
| GUIクライアント | 設定のインストール・更新、プロキシグループの表示、システムのネットワーク権限の利用 | FlClash、Clash Verge Rev、Clash Meta for Android |
| 設定・サブスクリプション | ノード情報、プロキシグループ、ルール、その他の動作設定を提供 | YAML設定、リモート設定URL、ルールセット |
スマートフォンでは、通常、コアの実行ファイルを直接動かすのではなく、GUIクライアントをインストールします。コアをアプリに同梱するクライアントもあれば、コアを個別に更新できるものもあります。そのため、アプリのバージョンとコアのバージョンは別々に確認が必要です。クライアント名だけでは、対応プロトコルや新しい設定項目のサポート状況はわかりません。
ClashからMeta、mihomoへの変遷
オリジナルのClash:ルールベースのプロキシと設定形式の出発点
Dreamacroが開発したClashは、Goで書かれたルールベースのプロキシコアです。proxies、proxy-groups、rulesなどの設定項目は、多くの後続クライアントやサブスクリプションサービスが採用する基盤となりました。コア自体はAndroidアプリではなく、スマートフォン向けのサブスクリプション管理画面も備えていません。
オープンソース版のClashと、過去に提供されていたClash Premiumも区別が必要です。Premiumは独立したバイナリとして公開され、一部の拡張機能はオープンソース版のコアには含まれていません。古い解説にある「Premiumが必要」という機能が、Clashを含むすべてのクライアントで使えるとは限りません。どのコアを指しているのか、また解説がいつ書かれたのかを確認しましょう。
Clash Meta:互換性を保ちながら機能を拡張
MetaCubeXコミュニティがメンテナンスするClash Metaは、Clashから派生し、プロトコル対応、DNS、ルール、TUNなどの機能を拡張してきました。従来の設定形式を多く引き継ぐ一方、オリジナルのコアでは認識できないパラメーターも追加されています。「Clash形式」と書かれていても、古いコアですべて読み込めるとは限りません。
たとえば、サブスクリプション提供元に「Meta / mihomo」と記載されている場合、type: hysteria2のような新しい出力タイプが使われていることがあります。この設定を古いコアに読み込ませると、プロキシタイプが未対応だというエラーが解析時に表示されることがあります。その場合、ノードの順番を変えても解決しません。まず、使用中のクライアントに組み込まれているコアとバージョンを確認してください。
2023年前後のメンテナンス状況の変化と、その後の名称
2023年11月ごろ、オリジナルのClashや複数の関連クライアントで公開・メンテナンス状況に変化がありました。オリジナルのリポジトリの公開状況、デスクトップクライアントのアーカイブ化、Androidプロジェクトの開発停止は、それぞれ別のプロジェクトで起きた出来事です。「すべてのClashソフトが同時に使えなくなった」という意味ではありません。インストール済みのアプリが動作していても、今後のOS対応や新プロトコルへの対応状況は個別に確認する必要があります。
2024年初頭までに、Meta系のコアプロジェクトはmihomoという名称を採用し、リポジトリ名もMetaCubeX/mihomoになりました。これは同じ系譜の中での改称と継続的な開発であり、互いに無関係な2つのコアではありません。設定解説、古いアプリのタイトル、ログにはMetaの名称が残っていることもあるため、現在もトラブル対応の際に両方の名前が登場します。
- Clashと書かれている場合:エコシステム全体を指すのか、Dreamacroのオリジナルコアを指すのかをまず確認しましょう。
- Metaと書かれている場合:通常はMeta系の派生プロジェクトか、その名称を引き継いだクライアントを指します。具体的なプロジェクトも確認してください。
- mihomoと書かれている場合:現在この名称で開発されているコアプロジェクトを指し、特定のスマートフォンアプリを意味するわけではありません。
主なGUIクライアントが採用するコア
以下では、プロジェクトで一般的な技術構成を整理しています。系譜を理解するための目安であり、リリース情報の代わりにはなりません。サードパーティによる再パッケージ版、開発版、過去のバージョンでは構成が異なることがあります。インストール前に、プロジェクトのリリースページとアプリの「情報」画面で確認してください。
| プロジェクト | コアとの関係 | 主な対応OS・見分け方 |
|---|---|---|
| FlClash | mihomoを採用するGUIクライアント | Android、Windows、macOS、Linux。Flutterで画面を構築 |
| Clash Meta for Android | Clash for AndroidのUIを踏襲し、Meta / mihomoコアを組み込んだクライアント | Android。旧版に似た画面だけでは、コアを判別できない |
| Clash Verge Rev | mihomoを採用するデスクトップクライアント | Windows、macOS、Linux。Clash Vergeから派生した後継プロジェクト |
| オリジナルのClash Verge | 過去のリリースではClash / Clash Metaコアを選択可能 | デスクトップOS向け。Revとは別プロジェクトで、オリジナル版はアーカイブ済み |
| オリジナルのClash for Android | 過去のリリースではClash系コアを使用。具体的なリリースごとに確認が必要 | Android。開発終了済みで、現在のmihomoクライアントとは見なせない |
FlClashとClash Verge Revは、スマートフォン版とPC版という関係ではない
どちらもmihomoを利用できますが、画面、設定の保存方法、システムプロキシの設定、更新の仕組みは各クライアントが実装しています。デスクトップ版の「システムプロキシ」スイッチの場所をAndroidで探しても、同じメニューは見つからないことがよくあります。Androidは通常、OSのVPN機能で通信を制御しますが、デスクトップ版ではシステムプロキシとTUNを別々に設定できる場合があります。
名前の似たAndroidアプリでも、上書きインストールできるとは限らない
Clash for AndroidとClash Meta for Androidは名前が似ていますが、アプリのパッケージ名、署名、データ保存先が異なる場合があります。上書きインストールできるかどうかは、アイコンやアプリ名ではなく、パッケージ名や署名などの条件で決まります。クライアントを切り替える前に、サブスクリプションURL、ローカルオーバーライド、プロキシグループの選択内容を保存してください。新しいアプリが古いアプリのデータを読み込むとは限りません。
iOSではアプリと設定形式を個別に確認
上の表にあるFlClash、Clash Meta for Android、Clash Verge Revから、インストール可能なiOS版があるとは判断できません。iOSクライアントはNetwork ExtensionなどのOS機能への対応が必要で、インストール方法もAndroidとは異なります。iOSアプリが一部のClash設定を読み込めても、mihomoを実行しているとは限らず、mihomoのYAML項目をすべてサポートするとも限りません。
iPhone向けアプリを選ぶ際は、対応プロトコル、サブスクリプション形式、ルール形式、インストール方法を確認してから、既存のサブスクリプションを使い回せるか判断しましょう。Android用APKはiOSにインストールできません。デスクトップ用コアの実行ファイルもiPhone用アプリではありません。OS別の比較はクライアント選びのガイドをご覧ください。
同じサブスクリプションでもインポート結果が異なる理由
完全な設定ファイルとノード一覧は別物
完全なYAML設定には、ノード、プロキシグループ、DNS、ルール、待ち受けポートなどをまとめて記述できます。一方、ノードだけを含むサブスクリプションでは、残りの設定をクライアント側のテンプレートで補う場合があります。プロキシグループを自動生成するアプリと、完全な設定ファイルのインポートを求めるアプリでは、同じコアを使っていても、同じ入力を受け付けるとは限りません。
サブスクリプションサービスは、エクスポート設定やリクエスト内容に応じて異なるデータを返すこともあります。比較する際は「Clash」「Clash Meta / mihomo」「クライアント専用形式」のどれを選んでいるかを確認し、インポート後の設定も見比べてください。サブスクリプションURLにはアクセストークンが含まれることが多いため、トラブル対応のスクリーンショットでは、トークンやノードの認証情報を隠しましょう。
設定を解析できても、機能がすべて有効とは限らない
以下は設定の階層を把握するための例であり、サブスクリプションをそのまま置き換えられる完全な設定ではありません。7890は混合プロキシポート、9090はコントロール用インターフェースのポートの例です。クライアントがこれらの設定を上書きしたり、別のポートを使用したりする場合があります。
mixed-port: 7890
allow-lan: false
mode: rule
external-controller: 127.0.0.1:9090
rules:
- DOMAIN-SUFFIX,example.com,DIRECT
- MATCH,DIRECT
mixed-portはローカルのHTTP / SOCKSプロキシ要求を受け付け、external-controllerは管理用インターフェースに使います。用途は異なります。スマートフォンアプリがVPN経由で端末の通信を制御する場合、通常は各アプリに7890を手入力する必要はありません。接続の問題を解決するために、コントロール用インターフェースを安易にLAN全体へ公開することも避けてください。
スマートフォン用クライアントの選び方:メンテナンス、互換性、OS連携を確認
クライアント選びでは、まずスマートフォンのOS、次にサブスクリプションの要件、最後に操作のしやすさを確認しましょう。アプリ名に「Clash」が含まれているだけでは、選定の根拠として不十分です。新しいプロトコルを使う設定では、アイコンの類似性よりコアのバージョン情報が参考になります。長時間バックグラウンドで動かす場合は、OSへの対応状況やログの確認方法も重要です。
- 対応OSとインストール方法を確認する。AndroidではAPKの端末アーキテクチャを確認し、iOSでは現在利用できるインストール方法を確認してください。デスクトップ版クライアントのダウンロードページをスマートフォン用の入口と取り違えないようにしましょう。
- アプリとコアのバージョンを確認する。アプリの「情報」「コア」画面や起動ログで、それぞれのバージョンを記録してください。メニュー名はクライアントごとに異なり、すべてのアプリに共通する操作手順はありません。
- サブスクリプション形式を確認する。提供元がMeta / mihomoを指定している場合は、該当コアを採用すると明記されたクライアントを優先し、必要な機能がどのバージョンから使えるかも確認してください。
- 日常的な操作画面を確認する。サブスクリプションの更新、プロキシグループの選択、動作ログ、ローカルオーバーライドをすぐに見つけられることが大切です。ノードの切り替えだけでは、その後のトラブル対応に不十分です。
- OSとの連携を確認する。AndroidではVPNの許可を確認し、必要に応じてバッテリー最適化、バックグラウンド動作、自動起動の設定を調整してください。設定項目の名称はスマートフォンのメーカーによって異なります。
更新頻度が高くても、すべてのバージョンにすぐ乗り換えるべきとは限りません。アップグレード前にリリースノートを読み、元に戻せる設定を保存してください。特にDNS、TUN、ルール構文、設定の移行に関する変更に注意が必要です。長期間メンテナンスされていないクライアントが一時的に使えていても、新しいOSへの対応やセキュリティ修正が不足していないか評価しましょう。
クライアントを切り替える前の移行チェックリスト
mihomoエコシステム内のアプリ同士であれば、設定の移行にかかる手間を一部減らせますが、アプリのデータをそのまま共有できるとは限りません。まず新しいクライアントで個別に動作確認を済ませてから、古いクライアントのデータを削除しましょう。システムのVPN機能を使うアプリを2つ同時に起動しないでください。
- 設定の入力元を保存する。サブスクリプションの提供元、更新方法、ローカルルール、オーバーライドファイル、手動で指定したDNS設定を記録してください。リモートのサブスクリプションをコピーするだけでは、通常、ローカルの変更は引き継がれません。
- まずは初期設定のまま試す。新しいクライアントに設定をインポートし、ログに未対応の項目、未対応のプロキシタイプ、参照先が存在しないプロキシグループなどのエラーがないか確認してください。
- ルーティングを確認する。ルールモードに切り替え、各プロキシグループの出力先が想定どおりか確認してください。ルールは上から順に適用されるため、末尾の
MATCHの転送先は特に注意して確認しましょう。 - ネットワークの切り替えをテストする。Wi-Fiとモバイルデータ通信をそれぞれ試し、ネットワーク切り替え後や画面ロック解除後に接続が復旧するか確認してください。一度つながっただけでは、その時点での接続が正常だったことしかわかりません。
- 最後にオーバーライドを移行する。ローカル変更を項目ごとに戻し、一度に変更する設定の種類を一つに絞ってください。DNS、ルール、TUNの設定をまとめて切り替えると、問題の原因を特定しにくくなります。
「古いアプリではつながるのに、新しいアプリではつながらない」場合は、mihomoとClashの設定に互換性がないとすぐに決めつけず、設定の解析、プロキシグループの選択、DNSログ、VPN権限、バックグラウンド制限の順に確認しましょう。DNSやルールの項目については、技術リファレンスのDNS解説もご覧ください。
プロジェクト名に関するよくある質問
Clash Metaとmihomoは両方インストールする必要がありますか?
通常は必要ありません。どちらも同じ派生系譜を指しており、スマートフォンでは対応するコアを組み込んだクライアントをインストールします。異なるクライアントを明確に比較する場合を除き、両方を別々に導入する必要はありません。普段の利用では、複数のVPNクライアントを同時に起動しないようにしましょう。
Clash Verge RevをAndroid版Clashとして使えますか?
Clash Verge RevはWindows、macOS、Linux向けのデスクトッププロジェクトです。Androidでは、FlClashやAndroid版の提供が明記されているプロジェクトなどを選んでください。同じコアを使っていても、インストールパッケージを異なるOS間で使い回すことはできません。
サブスクリプションに「Clash」とあれば、すべてのクライアントで使えますか?
必ずしも使えるとは限りません。完全な設定ファイルかノード一覧か、Meta / mihomoの拡張項目が含まれるか、クライアント内蔵コアのバージョンが適合するかを確認してください。インポートエラーが発生した場合は、認証情報を削除したエラーメッセージを残しておくほうが、同じサブスクリプションURLを何度も切り替えるより有効です。
mihomoクライアントを変更しても、以前のルールを引き継げますか?
コアが対応するルールは通常移行できますが、クライアントごとのオーバーライド形式やマージ順序は異なる場合があります。移行後はルールが実行時の設定に反映されているか、参照先のプロキシグループが引き続き存在するか確認してください。
この系譜を理解すれば、確認の順番が明確になります。まずOSとクライアントを確認し、次にコアとバージョン、最後にサブスクリプションとOSの権限を確認しましょう。Clash、Meta、mihomoの関係を知ると設定が似ている理由がわかります。一方、スマートフォンでのインストール、更新、バックグラウンド動作の使い勝手は、各クライアントの実装によって決まります。