内核解説 · 2026-05-09 · 読了目安 8 分

Clash 内核バージョンの違いを整理:元祖 Clash・Clash Meta・mihomo の関係とは

元祖 Clash は開発終了、Clash Meta は mihomo に改名して開発継続中。3世代の内核の機能差と各クライアントが採用する内核バージョンを整理します。

3つの名前、1本の系譜:Clash 内核の変遷

Clash エコシステムに初めて触れたとき、最初につまずくのは設定ではなく「名前」だ。チュートリアルには Clash、ダウンロードページには Clash Meta、最新クライアントの画面には mihomo という表記が出てくる。この3つは競合する別プロジェクトではなく、同じ内核が段階ごとに呼び方を変えたものにすぎない。まず時系列を整理すれば、その後の選択は自然と見えてくる。

時期名称メンテナー状態
2018 – 2023Clash(元祖)Dreamacro開発終了済み
2022 – 2024Clash MetaMetaCubeX チーム改名済み
2024年〜現在mihomoMetaCubeX チーム開発継続中

一言でまとめると、元祖 Clash が共通のルーツ、Clash Meta が後継者、そしてmihomo は Meta の新しい名前だ。今新規インストールするクライアントの内核は、ほぼすべて mihomo になっている。

元祖 Clash:ルールベース通信振り分けの礎、開発は終了

元祖 Clash は Dreamacro によって Go 言語で書かれ、2018年に公開された。今も使われている基本の仕組みを確立したのがこのバージョンだ:YAML 設定ファイルにノード・ポリシーグループ・振り分けルールを記述し、受信した通信はルールに従って直接接続・プロキシ経由・拒否のいずれかに送られる。混合ポート、外部コントローラー API、ドメインや IP による振り分けといった設計は、いずれも元祖 Clash が定めた土台だ。

元祖版は2系統に分かれていた。オープンソースのコア部分と、クローズドソースの Clash Premium だ。Premium は TUN モードとスクリプト機能を独占しており、Clash for Windows や ClashX といった初期クライアントが組み込んでいたのはこの Premium だった。

2023年11月、開発者がリポジトリをアーカイブし、リリースページを削除。元祖 Clash は正式に開発終了となった。これは、新しいプロトコルが追加されないこと、既存実装のバグも修正されないことを意味し、これに依存するクライアントも次々と更新を止めていった。今でも元祖内核ベースのクライアントは多くの場面で動作するが、対応プロトコルは2023年時点のまま固定されており、今後の更新は見込めない。

Clash Meta:後継として開発を引き継いだ強化版

元祖版の開発終了より前から、MetaCubeX チームは元祖版をフォークして Clash Meta の開発を進めていた。元祖版が終了したことで、Meta は事実上の主流内核となった。元祖版との差分は大きく4つに整理できる。

  • プロトコル面:VLESS(XTLS Vision、Reality 含む)、Hysteria/Hysteria2、TUIC、WireGuard、ShadowTLS、AnyTLS を追加。元祖版以降に登場した主要プロトコルをほぼ網羅している。
  • TUN モード:標準搭載かつ無料。クローズドソースの Premium に依存せず、システム全体の通信を横取りできる。
  • ルール面:rule-providersproxy-providers が全ユーザーに開放され、ドメインスニッフィング(sniffer)と GEOSITE ルールセットに対応。
  • 使用感の面:unified-delay による測定基準の統一、tcp-concurrent による同時接続、find-process-mode によるプロセス単位の振り分けに対応。

設定ファイルの観点では、Meta は元祖版の上位互換にほぼ近い。元祖版向けの設定はそのまま動くことが多い一方、Meta 専用フィールドを含む設定を元祖内核に渡すと、起動時にエラーになる。

mihomo:Clash Meta の現在の名称

2024年、Clash Meta は mihomo に改名し、リポジトリも MetaCubeX/mihomo に移転した。バージョン番号は従来の系列をそのまま引き継いでいる。名前が変わっただけでコードは変わらない。メンテナーも同じ、設定ファイルの文法も同じ、リリースのペースも同じで、ドキュメントサイト wiki.metacubex.one では新旧両方の名前をカバーしている。

実際に使っていると、名称の混在に出会うことがある。古いバージョンのログには Clash Meta、新しいバージョンには Mihomo と表示される。クライアントによっては画面上に「Meta 内核」と書かれていたり「mihomo 内核」と書かれていたりするが、どちらも同じプログラムを指している。mihomo v1.18、v1.19 のようなバージョン表記を見かけたら、この系列の現行版だと判断してよい。

クライアントと内核の対応表

クライアントは外側の器であり、実際に通信を処理するのは内核プロセスだ。主なクライアントが採用している内核は以下の通り。

クライアント搭載内核メンテナンス状況
Clash Verge Revmihomo(旧 Clash Meta)開発継続中
FlClashmihomo開発継続中
mihomo partymihomo開発継続中
Clash for WindowsClash Premium(元祖)開発終了
ClashX 系列元祖または Meta開発終了
Clash Meta for AndroidClash Meta開発終了

新規インストールするクライアントを選ぶ基準は、まず内核を見ること。mihomo ベースのクライアントならプロトコルの進化に追従できるが、元祖内核ベースのクライアントは開発終了時点の機能で止まっている。詳細なクライアント比較は本サイトのクライアント比較ページを参照してほしい。

現在動いている内核バージョンを確認する方法

Clash Verge Rev を例にすると、確認方法は3つある。

  1. 設定ページ:「設定」内の「Clash 内核」セクションで、現在の内核タイプとバージョン番号を確認でき、正式版と Alpha チャンネルの切り替えもここで行える。
  2. ログページ:内核起動時、名前とバージョンがログの先頭行に出力される。ログレベルを Info に設定すれば確認できる。
  3. 外部コントローラー:内核が動作している間、バージョン確認用の API を直接呼び出す。
ターミナル · 内核バージョンの確認
$ curl http://127.0.0.1:9097/version
{"premium":true,"version":"Mihomo Meta v1.18.7"}

9097 は Clash Verge Rev のデフォルトの外部コントローラーポート。設定でポート番号を変更している場合は、実際の値を使うこと。返ってくる version フィールドが Mihomo で始まっていれば、mihomo 系列で動作していることが確認できる。

内核を切り替える前の設定ファイル互換性チェック

古い設定ファイルを元祖内核から mihomo へ移行する際は、次の3点を確認すればよい。

  • 元祖版のフィールドは mihomo でほぼすべて互換性がある:portmixed-portproxiesproxy-groupsrules はそのまま使える。
  • mihomo 専用フィールドは元祖版向けの設定に書かないこと:unified-delaytcp-concurrentsniffertun 設定ブロック、geodata-mode など。元祖版はこれらの未知のフィールドを検出するとそのまま終了してしまう。
  • ルールセットの記法は mihomo のドキュメントに準拠すること:RULE-SETGEOSITE は rule-providers と geodata に依存しており、元祖版のオープンソースコアでは対応していない。

サブスクリプションと内核の対応関係

現在配布されているサブスクリプションの多くは mihomo の文法で記述されている。これを元祖内核のクライアントに渡すと、起動時エラーやノードが全て使用不可になるといった問題が起きやすい。新規インストールするクライアントは mihomo 内核を選べば問題ない。フィールドの詳細は本サイトの設定リファレンスページで一つずつ確認できる。

まとめると、元祖 Clash は歴史、Clash Meta は旧称、mihomo が現在進行形の存在だ。クライアントを選ぶ際は mihomo 内核を基準にすればよく、設定の書き方・対応プロトコル・ドキュメントのサンプルもすべてこれを前提に作られている。

Clash をダウンロード