Clash オリジナル版、Clash Meta、mihomo カーネルの違い:バージョン関係と選定ガイド

Clash オリジナル版の開発終了の経緯、Clash Meta から mihomo への改名の関係を整理し、プロトコル対応・設定フィールド・メンテナンス状況の違いを比較します。

3つの名前、ひとつの系譜

今日「Clash」という名前は3つのものを指します:開発が終了したオリジナル版コア、かつて活発に開発されていた Clash Meta ブランチ、そして現在メンテナンスされている mihomo です。これらは競合関係ではなく、同じコードが時期によって名乗ってきた3つの名前です。この系譜を理解してこそ、クライアント設定にあるカーネルオプションの意味が分かり、古いチュートリアルが今も通用するかどうかを判断できます。

Clash オリジナル版:誕生と開発終了

オリジナル版 Clash は Dreamacro が Go で開発し、GPL-3.0 ライセンスでオープンソース化され、「サブスクリプション + ルールベース振り分け」という基本パラダイムを確立しました:proxies がノードを定義し、proxy-groups がポリシーグループを定義し、rules がトラフィックの行き先を決めます。2023年11月、作者は GitHub リポジトリを削除し、リリースページとドキュメントも一緒に閉鎖され、バージョン番号は v1.18.0 で止まったまま、それ以降更新はありません。同時期に終了したのはクローズドソースの Premium 拡張コアです——TUN やスクリプトなどの機能は、かつてこれが独占していました。

Clash Meta:コミュニティが引き継いだブランチ

オリジナル版の開発終了前に、MetaCubeX チームはすでに Clash.Meta を fork し、新しいプロトコルとカーネル機能を中心に継続的に改良を重ねていました:VLESS、Hysteria、TUIC、WireGuard などのプロトコル対応、TUN の内蔵、sniffer スニッフィングは、すべてこのブランチで登場しました。オリジナルのリポジトリが消えた後、Clash.Meta は事実上の後継者となり、多くのクライアントが内蔵コアをこれに切り替えました。

mihomo:改名後の同一プロジェクト

2024年初、Clash.Meta は正式に mihomo へと改名され、リポジトリは MetaCubeX/mihomo に移行しました。新しい名前で最初にリリースされた安定版は v1.18.0 で、バージョン番号は Clash.Meta の v1.17 系を引き継いでいます。改名に伴うコードやメンテナーの変更はなく、設定フォーマットの互換性も保たれています。今日「Meta カーネル」と「mihomo カーネル」という2つの言い方を目にしますが、指しているのは同じ開発ラインです。Clash Verge Rev、FlClash、Clash Meta for Android、ClashX Meta、Clash Plus などの活発なクライアントに内蔵されているのもこれです。

プロトコル対応の比較

カーネルの違いが最も分かりやすく現れるのがノードプロトコルです。サブスクリプションに vless://hysteria2://tuic:// で始まるリンクが含まれる場合、オリジナル版コアは解析できず、ノードリストが欠落するかエラーになります。mihomo なら正常に認識できます。

プロトコルClash オリジナル版Clash Meta / mihomo
Shadowsocks対応対応
ShadowsocksR対応対応
VMess対応対応
Trojan対応対応
Snell対応対応
SOCKS5 / HTTP対応対応
VLESS対応
Hysteria / Hysteria2対応
TUIC対応
WireGuard対応
SSH対応

結論は明快です:ここ2年のプロバイダーが提供するサブスクリプションには、オリジナル版コアが認識できないプロトコルが含まれている可能性が高く、mihomo カーネルのクライアントを選ばなければ全ノードを使い切れません。

設定フィールドとルールエンジンの違い

mihomo はオリジナル版の3段構成の骨格を踏襲しており、古い config.yaml はほとんどそのままインポートできます。違いはルールタイプと一連の新規フィールドに集中しています。

  • ルールタイプ:オリジナル版のオープンソースコアは DOMAIN、DOMAIN-SUFFIX、DOMAIN-KEYWORD、GEOIP、IP-CIDR、SRC-PORT、DST-PORT、PROCESS-NAME、MATCH などに対応。mihomo は GEOSITE、RULE-SET、IP-ASN、IP-SUFFIX、PROCESS-PATH、NETWORK、UID、DSCP を追加し、AND、OR、NOT の論理組み合わせと SUB-RULES サブルールも導入したため、複雑な振り分けのために長いルールリストを積み重ねる必要がなくなりました。
  • ルールセット:rule-providers は両方とも http と file ソース、domain / ipcidr / classical の3種類の behavior に対応。mihomo はさらに inline インラインタイプと format フィールドを提供し、少量のルールを設定に直接書き込めます。
  • サブスクリプション取得:mihomo の proxy-providersoverride によるノードフィールドの一括書き換えに対応し、カスタムリクエストヘッダーもサポートしているため、サブスクリプションが特定の User-Agent を必要とする場合でも変換ツールに頼る必要がありません。
  • 実験的フィールド:sniffer スニッフィング、unified-delaytcp-concurrentfind-process-modeglobal-client-fingerprintgeodata-mode などのフィールドは mihomo にのみ存在します。

注意:mihomo 専用フィールドを含む設定は旧コアに戻せません——オリジナル版は起動時に unknown field として読み込みを拒否します。カーネル間で設定を移行する前に、対象コアが認識できるフィールドの一覧を確認してください。

TUN モード:Premium 独占からカーネル内蔵へ

TUN は仮想ネットワークカードでマシン全体のトラフィックを引き受け、システムプロキシを通らないプログラム(コマンドラインツール、ゲーム、一部のサンドボックスアプリ)も振り分けに参加させます。オリジナル版のオープンソースコアには TUN がなく、この機能はクローズドソースの Premium に属しており、プロジェクトの開発終了とともに消えました。

mihomo は TUN をオープンソースカーネルに組み込み、短い設定で有効化できます:

tun:
  enable: true
  stack: system
  auto-route: true
  auto-detect-interface: true
  dns-hijack:
    - any:53

stack には system、gvisor、mixed が選択でき、それぞれシステムネットワークスタック、ユーザーランドプロトコルスタック、混合モードに対応します。auto-route はルーティングテーブルを自動的に配布し、dns-hijack はポート53への DNS リクエストをカーネル内で処理し、プログラムがプロキシを迂回して DNS に直接接続するのを防ぎます。GUI クライアントでは通常、この設定はスイッチとして実装されており、「拡張モード」または「TUN モード」をオンにするだけで、手書きする必要はありません。

メンテナンス状況と選定ガイド

プロジェクトリポジトリ現状
Clash オリジナル版Dreamacro/clash2023年11月にリポジトリ削除、メンテナンス停止
Clash MetaMetaCubeX/Clash.Meta改名済み、単独での開発は終了
mihomoMetaCubeX/mihomo活発にメンテナンス中、新プロトコルと修正はすべてここに実装

選定は3つの基準で判断します:

  1. 新規インストール:mihomo カーネル内蔵のクライアントを直接選びましょう。当サイトのダウンロードページで各プラットフォーム向けに推奨しているクライアントはすべて mihomo カーネルで、ダウンロード後にサブスクリプションをインポートするだけで使えます。
  2. 旧クライアントからの移行:まず設定をそのままインポートし、ログを確認します。unknown field が出たり、hysteria2 や vless のノードが欠落したりする場合は、サブスクリプションを削除・変更するのではなく、mihomo カーネルのクライアントに切り替えてください。
  3. 古いチュートリアルを読む場合:「Clash.Meta」「Meta カーネル」という表記が出てきたら mihomo として理解し、「Premium コア」という表記が出てきたら、対応する機能は mihomo にオープンソースとして内蔵済みです。

カーネルはエンジン、サブスクリプションは燃料です。カーネルを変えてもサブスクリプションのリンクはそのままで、ノードは引き続きサブスクリプションのアドレスから更新され、グループとルールもサブスクリプションまたはローカル設定に従って保持されます。

よくある質問

以前の Clash 設定はまだ使えますか?

ほとんど使えます。mihomo はオリジナル版の3段構成の設定と互換性があり、そのままインポートできます。mihomo 専用フィールドを書いた設定だけは、オリジナル版コアに逆戻しできません。

クライアント設定に Clash と mihomo の2つのカーネルオプションが同時に表示される場合、どちらを選ぶべきですか?

mihomo を選んでください。Clash オプションは旧設定との互換性のために残されているだけで、プロトコル対応と修正はすでに停止しており、新しいプロトコルのノードはオリジナル版カーネルでは使えません。

改名後にサブスクリプションのリンクを変える必要はありますか?

必要ありません。カーネルの移行とサブスクリプションのアドレスは無関係で、サブスクリプションはプロバイダーが管理しており、クライアントは通常どおり定期的にノードリストを更新します。

mihomo は有料ソフトですか?

いいえ。mihomo は GPL-3.0 オープンソースライセンスを引き継いでおり、ソースコードは公開され、無料で使用できます。各プラットフォームの mihomo ベースのクライアントも多くがオープンソースプロジェクトです。

mihomo カーネル搭載の Clash クライアントをダウンロード

Windows、macOS、Linux、Android、iOS の各プラットフォームで推奨するクライアントはすべて mihomo カーネルを内蔵しており、サブスクリプションをインポートするだけで使えます。

Clash をダウンロード