オープンソースのmihomoカーネル · マルチプラットフォーム対応クライアント

ClashX公式サイト · Clash クライアント
ダウンロードと設定

OSに合わせてインストールし、サブスクリプションの追加、ルールによる通信の振り分け、システムプロキシを順に設定します。

オープンソースYAML設定日本語のインストールガイド

オープンソースのClashエコシステムを基盤にしています

  • mihomo
  • Clash Verge Rev
  • ClashX Meta
  • FlClash
  • Clash Meta for Android

ルールによる通信の振り分けと
サブスクリプション管理

設定の入手元、通信先を決めるルール、通信の入口を分けて考えましょう。操作はクライアントの画面で行い、処理はカーネルが担います。メニュー名はクライアントごとに異なりますが、設定の考え方は応用できます。

設定を読み解きやすい

YAMLはキー名と階層が明確なため、設定を項目ごとに確認できます。

接続状況を追跡できる

ルールの適用状況と実行ログから、実際の通信経路を確認できます。

config.yaml / 上から順にルールを照合
mode: rule
rules:
  - DOMAIN-SUFFIX,apple.com,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

ルールによる通信の振り分けでは、接続を上から順に確認し、最初に一致したルールで通信先が決まります。この例では、指定したドメインを先に直接接続し、次に宛先アドレスの地域を判定し、最後に残りの接続をMATCHで処理します。PROXYは何でも通せる既定の出口ではありません。設定内に存在するノードまたはプロキシグループを指定してください。サブスクリプションを追加したら、まずルールモードを選び、接続ログで適用ルールと実際の出口を確認します。特定のサイトだけ不調な場合は、設定全体をグローバルモードにするのではなく、ルールの順序、ドメインの判定、DNSの結果を優先して確認しましょう。

プラットフォームとインストール先

Clash クライアントのダウンロード

すべてのクライアントを見る →

OSとプロセッサのアーキテクチャを確認してから、対応するクライアントを選びましょう。インストーラーが起動しただけでは、アプリをインストールできたことしかわかりません。接続するには、有効な設定、利用可能なノード、適切な通信の入口が必要です。ダウンロードページでは、プラットフォームごとのクライアント、インストール要件、アーカイブ状況をまとめています。初めて使うときに複数のクライアントを同時にインストールする必要はありません。

Windows

まずClash Plusを確認し、Clash Verge RevやFlClashなども比較できます。インストール前にシステムのアーキテクチャを確認し、初回起動時には混合ポートがほかのプログラムと競合していないか調べてください。最初の動作確認にはシステムプロキシが適しています。TUNを使う場合は、クライアントの案内に従ってサービスをインストールするか、必要な権限を許可してください。

ブラウザーでは接続できるのに特定のアプリだけ使えない場合は、そのアプリがシステムプロキシを参照しているか確認しましょう。ストアアプリのループバックアクセスの問題はノードの障害とは別です。UWPのループバックに関する案内を確認して対処してください。

ダウンロードへ Windowsクライアント→

macOS

「このMacについて」でApple SiliconかIntelかを確認し、対応するインストーラーを選びます。アプリケーションフォルダにアプリを入れて起動し、必要に応じてプロキシ補助サービスやネットワーク関連の権限を許可してください。必要な権限はクライアントによって異なります。すべてのアプリにシステム拡張が必要だと決めつけないでください。

権限の確認画面が表示されたら、アプリ名、入手元、実行しようとしている操作を確認してください。許可しなかった場合に元へ戻すには、システム設定の「プライバシーとセキュリティ」や関連するネットワーク設定を確認します。権限の問題を解決するために、何度も再インストールする必要はありません。

ダウンロードへ macOSクライアント→

Android

Clash Plus、Clash Meta for Android、FlClashなどから選べます。まず端末のアーキテクチャとインストール要件を確認します。サブスクリプションを追加して設定を選択した後、システムVPN接続の確認画面で許可してください。この権限は端末上の通信経路を確立するためのもので、サブスクリプションサービスが利用可能であることを保証するものではありません。

画面ロック後に接続が切れる場合は、バッテリー最適化、バックグラウンド実行の制限、ほかのVPNとの競合を確認してください。設定画面の場所はメーカーによって異なります。一度に一項目ずつ変更し、接続が復旧するか確かめましょう。

ダウンロードへ Androidクライアント→

iOS

ダウンロードページでは、Clash PlusのApp Storeへのリンクと公式サイトclashplus.ioを案内しています。インストール後、サブスクリプション形式が対応しているか確認してから、設定の追加、ノードの選択、システムVPNの設定許可を行ってください。接続アイコンが表示されても、実際に通信してルールと出口を確認しましょう。

Wi-Fiからモバイル通信に切り替えた後に接続できなくなった場合は、まずアプリのネットワークアクセス権限と設定の状態を確認してください。クライアントが提供するのは接続管理機能です。サブスクリプションの内容、ノードの有効期限、サービスの提供範囲は設定の入手元によって決まります。

ダウンロードへ iOSクライアント→

Linux

デスクトップ環境ではClash Verge RevやFlClashを確認し、ディストリビューションに合ったパッケージ形式を選びましょう。デスクトップ環境のシステムプロキシ、ターミナルのプロキシ環境変数、TUNはそれぞれ別の通信経路です。ブラウザーで接続できても、コマンドラインツールが同じ設定を使っているとは限りません。

サーバーやルーターで使う場合は、mihomoカーネルの説明も確認してください。導入時には、待ち受けアドレス、ファイル権限、サービス管理、防火壁をそれぞれ確認します。ローカル利用のみを想定したコントロールインターフェースを、公共ネットワークに直接公開しないでください。

ダウンロードへ Linuxクライアント→

初回接続の手順

Clash クイックスタート

詳しいガイドを見る →

「設定を読み込める」「ノードに接続できる」「アプリから通信できる」の順に確認すると、問題のある段階を切り分けられます。初期設定では既定のポートとルールモードを使い、DNSの変更、大量のルール追加、複数の通信取り込み方式の同時有効化は後回しにしましょう。次の3ステップはインストール後の確認に使えます。詳しい操作方法はガイドをご覧ください。

01 / CONFIG

サブスクリプションを追加して選択

サブスクリプションまたは設定の画面からURL全体を追加するか、既存のローカルYAMLファイルを選択します。ダウンロードが完了したら、その設定を選択して読み込み結果を確認してください。リストに名前が表示されても、読み込みに成功したとは限りません。項目のエラーがあれば、まずログに表示された行番号を確認しましょう。例示のURLは形式を示すためのもので、実際のサブスクリプションの代わりにはなりません。

02 / ROUTE

モードと接続先を選択

普段使いではルールモードを選び、該当するプロキシグループで利用可能なノードを選択します。プロキシグループ内の選択が影響するのは、そのグループを参照するルールだけです。遅延テストは特定の条件で接続できるかを確認するもので、ダウンロード速度を示すものではありません。テストに失敗した場合は、実際の通信とログも合わせて確認してください。

03 / VERIFY

通信の入口を有効にして確認

デスクトップではまずシステムプロキシを試し、モバイル端末では案内に従ってVPN設定を許可します。直接接続する想定の宛先とプロキシ経由の想定の宛先にアクセスし、接続ログで適用ルールと出口を確認してください。クライアントに新しい接続が記録されない場合は、まず通信の入口を調べます。接続が記録されてからエラーになる場合は、DNS、ノード、接続先のネットワークを確認しましょう。

設定を戻せるよう、作業後も復元用のコピーを残してください。

リモートサブスクリプションの更新で手動編集した内容が上書きされることがあります。独自ルールを追加する場合は、クライアントが対応する上書きまたはマージ機能を使いましょう。変更前の設定を記録し、問題が起きたら検証済みの状態に戻してから、一項目ずつ再現します。複数の値を一度に変更するのは避けてください。

プロジェクトの関係とソースコード

Clashエコシステムとmihomoカーネル

Clashはエコシステムの名称であり、単一のインストーラーではありません

Clashは、ルールベースのプロキシカーネルとその設定方式を通じて利用者を広げてきました。その後、さまざまなOS向けのGUIクライアント、カーネルの派生版、設定管理ツールが登場しました。現在「Clash」で検索すると、名前が似ていてもメンテナンス状況の異なるプロジェクトが見つかることがあります。選ぶ際は、アイコンや名前だけで機能を判断せず、クライアント、使用するカーネル、設定形式をそれぞれ確認してください。

このページのエコシステムロゴは、関連プロジェクトを説明するために掲載しています。各プロジェクトが共同でインストーラーを公開したことや、第三者プロジェクトが当サイトを認定していることを示すものではありません。ダウンロードページでは、現在選択できるクライアントとアーカイブ済みのプロジェクトを分けて掲載し、旧設定との互換性と継続的にメンテナンスされるツールを比較できるようにしています。

画面上の管理機能とネットワーク処理を分けて考える

mihomoはClashエコシステムの設定やルール機能を引き継ぎ、さらに拡張しています。GUIクライアントはサブスクリプション管理、トレイメニュー、接続状況の表示、システムサービスなどを追加できますが、これらすべてがカーネルの機能というわけではありません。問題の種類に応じて切り分けましょう。サブスクリプションのボタンが動かない場合はクライアントの管理機能、設定の解析エラーはカーネルの設定項目、システムプロキシが反映されない場合はOSとの連携に原因がある可能性があります。

公開リポジトリでは、プロジェクトの説明、ライセンス、設定ドキュメント、公開されている不具合報告を確認できます。mihomoのライセンスはGPL-3.0です。ほかのクライアントについては、それぞれのリポジトリでライセンスを確認してください。ソースコードを読むからといって、すぐに自分でビルドする必要はありません。一般の利用者は、まず発生中の問題に関連するドキュメントやリリースノートを読むとよいでしょう。

MetaCubeX / mihomo · ソースコード

公開されている実装と設定ドキュメントを見る

ルール、DNS、カーネルの動作を調べる場合は、プロジェクトのリポジトリから始められます。以下のコマンドはソースコードをクローンするだけです。GUIクライアントのインストール、サブスクリプションの提供、ネットワーク設定の自動変更は行いません。

git clone https://github.com/MetaCubeX/mihomo.git

Linuxペンギンの画像出典:Font Awesome Tux。CC BY 4.0ライセンスに基づき、当サイトではインラインSVGで表示しています。

更新前に影響する範囲を確認

クライアント、カーネル、サブスクリプション、ルールデータの更新は、それぞれ別の操作です。サブスクリプションを更新すると設定の入手元の内容が変わり、カーネルを更新すると設定項目への対応や動作が変わることがあります。ルールデータは地域やカテゴリによる判定に使われます。更新後に問題が起きたら、まずどの層を更新したか記録し、該当する説明を確認してください。変化をすべて「ノードが使えない」とひとまとめにしないことが大切です。

クライアントを移行する場合は、元の設定と必要なローカル上書きを保存し、新しいクライアントが同じルールやプロトコルに対応しているか確認してください。アーカイブ済みのプロジェクトが起動できても、その後のOSの変化に対応できるとは限りません。利用を続けるかどうかは、必要な機能、メンテナンス状況、既知の問題を踏まえて判断しましょう。

ログにはトラブル対処に必要な情報だけを残す

通常利用では、ログレベルを適度に保ちましょう。問題の原因を調べるときは、発生時刻、接続先の種類、適用ルール、エラー内容を記録し、必要な間だけログの詳細度を上げます。公開の場で相談する前に、サブスクリプションURL、ノードのパスワード、アクセストークンなどの個人情報を削除してください。問題を再現できる最小限の設定だけを共有しましょう。

一連のトラブル対処では、ローカルでの待ち受け、DNSの名前解決、ルールの選択、リモートへの接続を分けて確認します。まずカーネルに通信が届いているかを調べ、次にルールが想定した出口を選んでいるか、最後にノードと接続先サービスを確認してください。クライアントを何度も変えるより、段階ごとに調べるほうが再現可能な結論を得やすくなります。詳しい例は利用ガイドやよくある質問をご覧ください。

問題から記事を探す

Clash 使い方のヒント

すべての記事を見る →

初回接続が完了したら、実際の問題に合わせて詳しい情報を確認しましょう。インストール時はポート、モード、システムの通信入口を確認します。アプリの互換性に関する問題ではDNSや通信の取り込み方法を、サブスクリプションの追加に失敗した場合は入力形式を確認してください。一度に扱うのは検証可能な問題一つだけにし、変更前後の差分を残すと、どの設定が影響したか判断しやすくなります。