Windows
Clash PlusやClash Verge Revなどからクライアントを選びます。デスクトップではまずシステムプロキシを有効にし、ブラウザーで接続を確認してから、必要に応じてTUNを検討してください。インストール前にOSの要件とプロセッサの種類を確認し、アップグレード時はサブスクリプションの配信元とローカルのオーバーライドルールを保持しましょう。
ダウンロードページへClash クライアント · mihomo コアの設定
OSに合ったインストーラーを選び、ルール振り分け、サブスクリプションの導入、mihomo コアの設定を確認できます。
CONFIGURATION / 設定機能
通信の取り込みからポリシーの振り分けまで、用途別に設定例を紹介します。各例は一部の設定項目のみを示しているため、有効なノードやプロキシグループと組み合わせてください。
ルールモードでは、上から順にルールを照合し、一致した時点で対応するポリシーを適用します。ドメインサフィックスは特定のサービスを対象にする場合に、キーワードは幅広いドメイン照合に、地理データベースルールはIPアドレスの判定に使えます。すべての接続を同じ出口に通すのではなく、開発サービス、LAN内のリソース、普段使うWebサイトごとに経路を分けられます。具体的なドメインのルールを先に置き、最後にフォールバックルールを設定してください。例の PROXY は、設定内に存在するノード名またはプロキシグループ名に置き換えます。
rules:
- DOMAIN-SUFFIX,github.com,PROXY
- DOMAIN-KEYWORD,google,PROXY
- GEOIP,CN,DIRECT
- MATCH,PROXY
システムプロキシを利用するには、アプリ側がプロキシ設定に従う必要があります。コマンドラインツールや一部のネットワークアプリは設定を参照しないことがあります。TUNモードは仮想ネットワークインターフェースとルーティングを使って通信を取り込み、より広い範囲を制御したい場合に役立ちます。有効にする前に通常のプロキシ接続を確認し、クライアントの案内に従ってサービスをインストールするか、必要な権限を許可してください。自動ルート、インターフェースの認識、DNSの取り込みもあわせて確認します。他のVPN、仮想マシンのネットワークアダプター、企業ネットワークのポリシーが影響する場合があります。TUNが担うのは通信をコアに届けることであり、ノードの選択や振り分けルールを置き換えるものではありません。
tun:
enable: true
stack: mixed
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
GUIクライアントでは、通常、設定画面からサブスクリプションURLを追加できます。取得される内容は完全なYAML設定の場合も、変換が必要なノード一覧の場合もあります。導入後はプロキシグループ、ルール、ノードが読み込まれたことを確認してから、システムプロキシを有効にしてください。サーバー情報を一つずつ入力するより、サブスクリプションを使うとまとめて更新できます。ただし更新時に、リモート設定へ直接加えた変更が上書きされることがあります。継続して使うローカルルールは、クライアントのオーバーライド機能やマージ機能で管理しましょう。以下はローカルファイルを参照するノードプロバイダーの例で、サブスクリプション欄に貼り付けるURLではありません。
proxy-providers:
local-nodes:
type: file
path: ./providers/nodes.yaml
health-check:
enable: false
mihomoはShadowsocks、VMess、Trojan、VLESS、Hysteria2、TUICなどのプロキシ方式に対応しています。利用できる設定項目はコアの実装やサーバー側の設定によって異なります。同じノードとして表示されても、通信方式、認証情報、UDPの動作は異なる場合があります。プロトコルを選ぶ際は、まずクライアントの対応状況を確認し、次にサーバー側の設定と照らし合わせてください。名前だけで速度を判断するのは避けましょう。単一のサブスクリプション形式しか扱えないツールと比べ、複数プロトコルに対応したコアならプロキシグループをまとめて管理できますが、ノードの種類を書き換えてもプロトコル変換にはなりません。例には予約済みドメインと説明用のパスワードを使用しているため、実際の接続には使えません。
proxies:
- name: trojan-example
type: trojan
server: proxy.example.com
port: 443
password: "your-password"
sni: proxy.example.com
udp: true
Fake-IPは予約済みアドレスとドメイン名を対応付け、接続時にもコアがドメイン名を保持できるようにする仕組みです。これによりドメインルールを適用しやすくなります。割り当てられるアドレスは接続先サーバーの実IPアドレスではなく、他のデバイスと共有できる名前解決結果でもありません。実IPアドレスを見て接続先を判定する方式に比べ、名前解決の待ち時間を短縮できる場合がありますが、LAN内のデバイス検索、プリンター、特殊なアプリでは例外設定が必要になることがあります。互換性に問題がある場合は、まずDNSが実際にコアへ届いているか確認し、対象のドメインに絞ってフィルターを設定してください。フィルター一覧をすべて削除したり、設定ミスを隠すためにモードを何度も切り替えたりしないでください。
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
fake-ip-filter:
- "*.lan"
- "*.local"
nameserver:
- 223.5.5.5
外部コントローラーAPIを使うと、パネルからプロキシグループ、接続、ルール、ログを確認したり、ポリシーを切り替えたりできます。ブラウザーからの通信を受け付ける混合ポートとは用途が異なり、相互に置き換えることはできません。デスクトップクライアントではAPIがすでに管理されていることが多く、通常は設定を追加する必要はありません。コアを単独で動かす場合に、運用環境に合わせて設定します。設定ファイルを編集するだけの場合と比べ、パネルを使うと実際の適用状態を確認しやすくなります。まずはローカルのループバックアドレスにバインドし、パブリックネットワークへ直接公開しないでください。リモートアクセスが必要な場合は、認証とアクセス制御を設定します。例ではローカル待ち受けの項目のみを示します。
external-controller: 127.0.0.1:9090
log-level: info
mode: rule
# GUIクライアントでは内蔵パネルの利用を推奨
# リモート管理の前に認証とアクセス制御を別途設定
OPEN SOURCE / コアとクライアント
クライアントは操作画面を提供し、コアは接続を処理します。それぞれの役割を理解してから、インストーラーの選択、問題の切り分け、更新計画を進めましょう。
Clashは、ルールベースのプロキシコアを起点に、GUIクライアント、設定エディター、コントロールパネルなどのツールへと発展しました。元のプロジェクトがメンテナンスを終了した後も、コミュニティのフォークは開発を続けています。Clash Metaは後にmihomoという名称を採用しました。そのため、古い記事にあるMetaコアと新しい資料のmihomoには沿革上のつながりがありますが、古い設定がすべて現在の項目と完全互換であるとは限りません。
インストーラーの名称とコアの名称は別物です。Clash Verge RevやFlClashなどのクライアントは、それぞれ独自の画面、システムプロキシ、サービスのインストール方法、設定管理機能を備えています。実際の接続機能は、各クライアントが採用しているコアを確認してください。古い記事を読むときは、GUIの操作方法を扱っているのか、コアの設定項目を扱っているのかを見極めてから適用し、異なるクライアントで同じ名前のボタンを探し回るのを避けましょう。
mihomoはソースコードを公開しており、GPL-3.0ライセンスを採用しています。ソースコード、課題の記録、リリースノートは、実装の理解や互換性問題の調査に役立ちます。GUIクライアントごとにライセンスとメンテナンスの方針は異なるため、コアのライセンス条件をすべてのインストーラーに共通するものとして扱うことはできません。ソフトウェアを再配布または改変する前に、対象プロジェクトのライセンスファイルと関連資料を確認してください。
当サイトではインストーラーへの案内と中国語の技術情報を提供していますが、上流プロジェクトのリリース情報に代わるものではなく、各クライアントの開発・保守団体を代表するものでもありません。特定の項目が対応しているか、システム権限が必要な理由などは、該当するクライアントとコアのドキュメントを確認してください。問題を報告する際は、OS、再現手順、必要なログを添え、サブスクリプションURL、パスワードなどの個人情報は削除してください。
GUIクライアント、コア、サブスクリプション、ルールセットの更新は、それぞれ別の操作です。画面の更新でサービスのインストール方法が変わることがあり、コアの更新で設定項目の動作が変わることもあります。サブスクリプションの更新では主に設定内容が置き換わります。一度に変更するのは一つに絞り、元の設定を保存してから接続と振り分けを確認すると、すべての要素を同時に更新するより問題の原因を特定しやすくなります。
リモートサブスクリプションの内容とローカル設定も分けて管理してください。ダウンロードした設定ファイルを直接編集すると、次回の更新で変更が失われることがあります。固定のLAN内直結ルール、独自のプロキシグループ、DNSの例外設定には、クライアントのオーバーライド機能を使い、変更理由も記録しておきましょう。クライアントを移行する際は元の設定を読み込んでから、混合ポート、DNS、TUNの動作を確認します。以前の画面でのスイッチの位置を、設定の基準にしないでください。
プロキシのスイッチがオンでも、それだけでは通信設定が有効になったことしか分からず、すべてのアプリがプロキシを使っているとは限りません。実際の通信がコアに届いているか、どのルールに一致したか、最終的にどのポリシーが選択されたかを確認しましょう。ブラウザーとターミナルでは参照するプロキシ設定が異なる場合があり、LAN内のアプリはシステムプロキシを迂回することもあります。アプリごとに確認してください。
まず設定を読み込めるか、ノードのパラメーターが正しいか、DNSが正常か、通信がコアに届いているかを確認し、その後にルールとTUNのルーティングを調べます。一度の接続結果だけでクライアント全体を判断しないでください。プロトコルの違いやコアとの互換性についてはプロトコルとコアの技術リファレンスを、設定項目の名称が分からない場合は用語の早引きを参照してください。
実装を調べたい方や、自分でビルドする方向けです。通常の利用であればGUIクライアントを選べばよく、ソースコードをクローンする必要はありません。
MetaCubeX/mihomo リポジトリを見る ↗git clone https://github.com/MetaCubeX/mihomo.git
PACKAGES / プラットフォーム別に選ぶ
まずOSを選び、プロセッサのアーキテクチャとソフトウェアのメンテナンス状況を確認してください。以下のリンクはダウンロードページ内の各プラットフォームへ移動するもので、ダウンロードは開始されません。
Clash PlusやClash Verge Revなどからクライアントを選びます。デスクトップではまずシステムプロキシを有効にし、ブラウザーで接続を確認してから、必要に応じてTUNを検討してください。インストール前にOSの要件とプロセッサの種類を確認し、アップグレード時はサブスクリプションの配信元とローカルのオーバーライドルールを保持しましょう。
ダウンロードページへApple Silicon用とIntel用のインストーラーを区別してください。初回起動時はOSの案内に従ってアプリの権限を設定します。ネットワーク拡張やバックグラウンドサービスを使う場合は、クライアントの説明を確認してください。開発終了したクライアントを選ぶ前に、現在のOSやサブスクリプション設定で使い続けられるか確認しましょう。
ダウンロードページへデバイスのアーキテクチャに合ったインストーラーを選び、初回接続時にOSのVPN利用許可を確認してください。モバイルOSのバックグラウンド制限により接続が維持できない場合があるため、バッテリー管理の設定も確認しましょう。導入前にサブスクリプション形式がクライアントに対応しているか確認し、ネットワークを切り替えた後にDNSとアプリへの接続をテストしてください。
ダウンロードページへダウンロードページにはClash PlusのApp Storeへのリンクと公式サイト clashplus.io が掲載されています。インストール後、クライアントの案内に従って設定を導入し、VPN利用を許可してください。モバイルOSの通信制御方法はデスクトップのシステムプロキシとは異なるため、移行時にはプロキシグループと接続設定を改めて確認しましょう。
ダウンロードページへデスクトップではClash Verge RevまたはFlClashを選べます。インストーラーの形式は使用するディストリビューションに合わせてください。サーバーやルーターで使う場合は、ダウンロードページのコア欄を確認し、サービス、権限、設定ファイルを別途管理します。GUIクライアントのインストール手順は、サーバーへの導入手順の代わりにはなりません。
ダウンロードページへインストーラーに含まれるのはクライアント本体で、使用可能なノードが自動で生成されるわけではありません。接続するには、正規に取得したノード情報またはサブスクリプション設定が必要です。また、現在のコアがそのプロトコルに対応していることを確認してください。
初めて使う場合は、まずスタートガイドを確認してください。設定を持っていてクライアントを乗り換える場合は、プラットフォーム対応、設定管理、通信の取り込み方法を比較してから、既存のファイルを読み込みましょう。
クライアントの比較を見る →インストール後、設定管理画面からサブスクリプションまたはローカルのYAMLファイルを読み込み、クライアントが内容をダウンロードして解析するまで待ちます。プロキシグループに選択可能なノードが表示されたことを確認してから、用途に合った通信の取り込み方法を有効にしてください。有効な設定がないままシステムプロキシだけをオンにしたり、ノード一覧だけで対応するプロキシグループがなかったりすると、リクエストが想定どおりに処理されないことがあります。ボタンの名称はクライアントによって異なります。詳しい手順はClash 設定ガイドをご覧ください。
初回の確認では、設定に含まれるルールモードを維持したまま、プロキシが必要なサービスとローカルリソースをそれぞれテストしましょう。アプリの通信がコアに届かない場合は、すぐにノードのパラメーターを変更せず、まずシステムプロキシに従うアプリかどうかを確認します。そのような通信も取り込む必要があると分かった場合に、TUNを有効にして権限とルーティングを設定してください。グローバルモードは出口の疎通を一時的に確認する用途に向いていますが、ルールの照合結果を調べる代わりにはなりません。
クライアントはサブスクリプション管理、システム設定、画面操作を担い、コアはプロキシ接続、DNS、ルール照合を処理します。画面の構成が似ていても、コアの機能まで同じとは限りません。トラブルシューティングでは両方を確認してください。用語の早引きでコアとクライアントの違いを解説しています。
サブスクリプションにはノード、ポリシー、ルールが含まれ、プロキシグループはルールに一致したときに実際に使う出口を決めます。手動選択が必要な設定では、導入後に使用可能なノードを選ぶ必要があります。サブスクリプションを何度も更新する前に、グループ内の選択状態を確認し、接続履歴を調べましょう。
必ずしも必要ではありません。通信の取り込み方法は、アプリの挙動とクライアントの実装によって異なります。まずシステムプロキシで動作を確認し、それに従わないアプリの通信も取り込む必要がある場合にTUNを検討してください。両方を有効にする場合は、二重に通信を取り込まないか、他のVPNとルートが競合しないか注意しましょう。関連用語はネットワークスタック用語解説をご覧ください。
リモート更新によって設定ファイルが再生成され、直接書き込んだ内容が上書きされることがあります。長期的に保持したいルールは、クライアントが対応するオーバーライド設定へ移し、マージ後の実際のルール順序を確認してください。元ファイルをバックアップしてから変更し、一度に一項目だけ調整すると、効果を確認しやすくなります。
TECH NOTES / 技術ノート
コアの違い、ログの読み方、設定機能ごとに解説します。まず適用条件を確認してから、記事内の設定例を自分のファイルに取り込んでください。
3世代のコアの沿革と名称の変化を時系列で整理し、設定項目、プロトコル対応、クライアントとの互換性を比較します。古い設定をそのまま使えるか判断する際に役立ちます。
コアの違いを読む →ログレベルごとにクライアントの出力を読み解き、接続タイムアウト、名前解決の失敗、ポート競合、設定の解析エラーなどを解説します。ログから該当する設定項目を特定する手順も紹介します。
ログを使ったトラブル対処を読む →ルールセットのリモート読み込み、通信のスニッフィング、VLESSとHysteria2への対応など、mihomoが元のコアから拡張した機能と設定方法を紹介します。
設定機能を読む →