ルールによる振り分け
ドメイン、IP、ルールセットを上から順に照合します。
最初に一致したルールを指定のポリシーへ振り分け、残りのリクエストは最後のMATCHで処理します。
DOMAIN-SUFFIX,example.com,PROXY
GEOIP,CN,DIRECT
MATCH,PROXY
オープンソースのmihomoコア · デスクトップクライアント
mihomoコアをベースにしたクライアントの選び方と設定方法を紹介。サブスクリプションの読み込み、ルール振り分け、デスクトップのプロキシ設定を解説します。
設定画面のイメージです。実際のメニュー名はクライアントによって異なります。
設定できること
まず、トラフィックをどのようにコアへ取り込むかを確認し、次にどのポリシーで処理するかを決めます。以下はmihomoの設定構文を例に説明します。GUIでは、これらの設定が操作しやすいメニューにまとめられています。
ドメイン、IP、ルールセットを上から順に照合します。
最初に一致したルールを指定のポリシーへ振り分け、残りのリクエストは最後のMATCHで処理します。
DOMAIN-SUFFIX,example.com,PROXY
GEOIP,CN,DIRECT
MATCH,PROXY
手動選択、自動テスト、障害時のフォールバックをそれぞれ設定します。
ルールからグループ名を参照し、グループ内で実際に使うプロキシ出口を選びます。
ルールモードは日常的な振り分けに、グローバルモードは比較や切り分けに便利です。
ダイレクトモードではコアの処理方法が変わりますが、クライアントを終了するわけではありません。
混合ポートはHTTPとSOCKSのプロキシ接続口として使えます。
信頼できる端末にプロキシを提供する場合に限り、LAN接続を有効にしてください。
接続ページで対象アプリのリクエストを見つけ、一致したルールとポリシーの経路を確認します。カスタムドメインルールは、範囲の広いルールより前に配置し、最後のMATCHは末尾に置きます。先行ルールでトラフィックが処理されると、後続の例外ルールは適用されません。例のPROXYはポリシーグループ名なので、設定内に定義されている必要があります。固定のプロキシアドレスを一つ設定する方法と異なり、ルールモードでは宛先ごとに経路を変えられます。ただし、正しく振り分けられるかはドメインの識別、DNS設定、ルールの順序に左右されます。
ルールセットとローカル上書きの説明を見る →ルールはリクエストをどのグループへ送るかを決め、プロキシグループはそのグループで使う出口を決めます。selectは手動選択、url-testはテスト結果に基づく選択、fallbackは設定順に利用可能な出口を探す方式、load-balanceは指定した方式で接続を振り分けます。自動テストはテスト先、間隔、許容値に依存するため、一度の結果だけで全サイトの通信状況を判断できません。変更前にプロキシページで現在のグループ種別を確認し、手動切り替えが自動選択に上書きされないようにしてください。
コアとプロキシグループの設定を見る →ルール、グローバル、ダイレクトはコアに入った後の処理方法を決めます。一方、システムプロキシとTUNはアプリの通信をコアへ取り込む方法を決めます。グローバルに切り替えても、システムプロキシを使わないアプリの通信が自動で取り込まれるわけではありません。普段はルールモードを使い、特定サイトの切り分け時だけ一時的にグローバルへ切り替えて比較し、確認後に元へ戻してください。切り替えても接続記録がまったく表示されない場合は、ルールを変え続けるのではなく、アプリのプロキシ設定、待ち受けポート、TUNルートを確認します。
システムプロキシの有効化手順を見る →7890は一般的な混合ポートの初期値ですが、クライアントやローカル設定で変更されている場合があります。アプリごとにプロキシを手動設定する場合は、localhostのアドレスと現在の待ち受けポートを入力してください。他の端末の設定をそのまま使わないようにしましょう。LAN接続を許可する場合は、待ち受けアドレス、システムファイアウォール、アクセス認証も確認してください。LAN接続を有効にしても、リモートアクセスサービスが構築されるわけではありません。信頼できるネットワークで必要な場合に限って開放し、接続元を制限してください。起動時にアドレスの使用中と表示されたら、別のプロキシクライアントが同時に動作していないか確認します。
ポートと接続のトラブル対処を見る →ダウンロード
ダウンロードセンターでは、プラットフォーム別にクライアントとインストーラーを紹介しています。デスクトップではまずGUIクライアントを選び、サーバーやルーターでは単体コアも検討してください。インストール方法と設定方法はそれぞれ異なります。
デスクトップで使う場合は、まずClash Plusを確認し、Clash Verge RevやFlClashなどと比較してください。インストール前にシステムの「バージョン情報」でプロセッサの種類を確認し、ダウンロードページの案内に従って適切なインストーラーを選びます。
初回起動時は、サブスクリプションを読み込み、システムプロキシが動作することを確認します。TUNが必要な場合は、クライアントの案内に従ってサービスをインストールするか、管理者権限を付与してください。設定を一度に複数有効にすると、問題の原因を特定しにくくなります。
ダウンロードへ「このMacについて」に表示されるチップに合わせて、Apple SiliconまたはIntel用のインストーラーを選びます。Clash Plus、Clash Verge Rev、FlClashはメニュー構成が異なるため、普段の使い方に合わせて選択してください。
アプリを「アプリケーション」フォルダへ移動してから起動し、ネットワークサービスや権限に関するシステム通知を確認してください。システムプロキシの影響を受けるのは、その設定に従うアプリのみです。ターミナルのツールでは、プロキシ接続先を個別に設定する必要がある場合があります。
ダウンロードへClash Plus、Clash Meta for Android、FlClash、Surfboardから選べます。クライアントによって対応する設定形式が異なる場合があるため、読み込む前にサブスクリプションサービスが提供する形式を確認してください。
初回接続時は通常、システムのVPN接続許可が必要です。画面ロック後に接続が切れる場合は、バッテリー最適化とバックグラウンド実行の制限を確認してください。バックグラウンド動作の問題を、すぐにサブスクリプションの無効化と判断しないようにしましょう。
ダウンロードへダウンロードセンターからClash PlusのApp Storeページにアクセスできます。プロジェクトの公式サイトはclashplus.ioです。インストール方法と権限については、ストアの説明とアプリ内の案内を確認してください。
設定を読み込んだら、使う設定が選択されていることを確認してから、システムによるVPN接続の作成を許可します。モバイルOSのネットワーク権限はデスクトップのシステムプロキシとは異なるため、パソコンのメニュー手順をそのまま当てはめることはできません。
ダウンロードへデスクトップ環境ではClash Verge RevやFlClashを確認し、ディストリビューションのパッケージ形式に合った方法でインストールしてください。単体のmihomoコアは、サービス管理の経験があるサーバーやルーターの利用者に適しています。
GUI環境のシステムプロキシ設定が、コマンドラインのプログラムに反映されるとは限りません。動作確認ではブラウザー、ターミナル、システムサービスを分けて調べ、必要に応じてプロキシ環境変数を個別に設定するか、動作を確認したTUNルートを使ってください。
ダウンロードへ初めて使う場合は、ダウンロードセンターでおすすめしているClash Plusから試し、クライアント比較記事で設定編集、サービス管理、対応プラットフォームを確認してください。メンテナンスが終了したクライアントは過去の環境との互換性を確認する用途にとどめ、使い慣れた画面だけを理由に選ばないようにしましょう。クライアントをダウンロードしてもサブスクリプションは作成されず、利用可能なプロキシ出口も自動では提供されません。設定の入手とクライアントのインストールは別の手順です。
クライアント一覧を見る → クライアントを比較する →はじめに
初回設定では、確認しやすい経路を一つだけ用意しましょう。設定を一つ有効にし、プロキシグループを一つ選び、トラフィックを取り込む方法を一つ有効にします。正常に動作したことを確認してから、自動更新や高度なルールを追加してください。
「設定」ページを開き、信頼できる提供元から入手したサブスクリプションURLを貼り付けて、読み込みまたはリモート設定の追加を選びます。ダウンロードと解析が完了したら、設定項目が作成されたことを確認し、それを現在の設定として選択してください。
リンクを保存しただけで設定を有効にしていない場合、プロキシページに何も表示されないことがあります。解析に失敗したら、まずログで形式エラーやネットワークエラーを確認してください。サブスクリプションURLを公開スクリーンショット、コメント、問い合わせに貼り付けないようにしましょう。
サブスクリプションの読み込み手順を見る →プロキシページでルールモードを選び、手動選択のプロキシグループで出口を指定します。次に設定ページでシステムプロキシを有効にし、混合ポートがクライアントに表示された値と一致していることを確認してください。通常は初期設定のポートを変更する必要はありません。
まずはシステムプロキシに対応するブラウザーで動作を確認します。対象アプリがシステムプロキシを使わない場合や、より多くの通信を取り込む必要がある場合に限り、TUNモードの権限、DNS、ルート設定を確認してください。
システムプロキシの設定を見る →確認したいサイトにアクセスしながら、クライアントの接続ページを開いて、対応するリクエストが表示されるか確認します。一致したルールとプロキシグループも確認してください。クライアントが起動していても、通信がコアに届いているとは限りません。接続記録を判断材料にしましょう。
リクエストが記録されない場合は、まずプロキシの接続口を確認します。記録があるのにアクセスできない場合は、出口、ドメインの名前解決、ログを確認してください。モード、ポート、DNSを同時に切り替えるより、この順番で調べるほうが原因を特定しやすくなります。
トラブル対処のQ&Aを見る →オープンソースのエコシステムとメンテナンス
プロジェクトを見分けるときは、コア、インターフェース、設定の入手元をそれぞれ確認してください。名前にClashが含まれていても、同じメンテナーが公開しているとは限らず、機能や設定構文が完全に同じとも限りません。
Clashエコシステムは、初期のコアとその設定方式から発展し、その後さまざまなフォークやGUIクライアントが登場しました。mihomoは、この系統の設定やトラフィック振り分け機能を引き継いで拡張し、プロキシプロトコル、ルール照合、DNS、ネットワークスタックなどを処理します。デスクトップアプリのウィンドウ名でも、サブスクリプションサービスでもありません。
デスクトップクライアントは、設定の読み込み、ポリシー選択、ログ確認、システム連携をメニューにまとめ、ローカル上書きやサービス管理などの機能を追加する場合もあります。同じコアでも、画面によって操作の入口は異なります。手順を確認するときは、ボタンの位置より機能名に注目してください。このページ上部のウィンドウは設定の関係を説明するためのもので、すべてのクライアントが同じ画面を備えているわけではありません。
クライアント、コア、サブスクリプションの更新は、それぞれ別のものです。クライアントの更新では画面やシステム互換性が変わることがあり、コアの更新ではプロトコル、DNS、ルールの動作が変わることがあります。サブスクリプションの更新では通常、プロキシ出口や設定内容が置き換わります。問題が起きたら、直近で変更した層を記録してください。設定を戻すべきか、コアの差分を調べるべきか、クライアントのリリースノートを確認すべきか判断しやすくなります。
プロジェクトを選ぶ際は、名前や画面だけでなく、公開リポジトリのライセンス、コミット履歴、課題のやり取り、リリース履歴を確認してください。mihomoコアはGPL-3.0ライセンスを採用しています。各クライアントのライセンスは個別に確認してください。このサイトのダウンロード案内とチュートリアルは選択肢を整理するものであり、各オープンソースプロジェクトのメンテナンス情報に代わるものではありません。別々のプロジェクトを一つの公式リリースとして扱うこともありません。
以下のコマンドは公開リポジトリからソースコードを取得します。実行にはGitが必要です。リポジトリをクローンしてもデスクトップクライアントはインストールされません。通常利用の場合は、ダウンロードセンターからGUI版のインストーラーを選んでください。
mihomoのオープンソースリポジトリを見る →git clone https://github.com/MetaCubeX/mihomo.git
接続できるのに一部のドメインで問題が起きる場合は、詳細ガイドのDNSの名前解決経路を確認してください。仮想ネットワークインターフェースを有効にした場合だけ問題が起きるなら、TUNとFake-IPを確認します。サブスクリプション更新後にローカルルールが消えた場合は、ルールセットと上書きの順序を確認してください。これらの設定は相互に関係しますが、ログなどの根拠がないまま一度に変更しないでください。ClashのDNSリークを判断するには、アプリが暗号化DNSを独自に使っているか、実際のルートとDNSの出口も確認する必要があります。一つのスイッチだけでは結論を出せません。
最新の記事
問題に合わせて、まずアプリや設定がどの段階にあるかを確認し、メニューとログを一つずつ照合してください。以下は最近公開された3本の記事です。
Microsoft StoreやメールなどのUWPアプリは、既定でローカルのループバックアドレスへのアクセスが制限されているため、システムプロキシが機能しないことがあります。クライアント内蔵ツールとCheckNetIsolationコマンドを使った解除方法を解説します。
記事を読む →サイドバーの順番に沿って、デスクトップクライアントの各ページの役割を解説します。プロキシグループの切り替え、設定ファイルの管理、接続の確認、ログレベルなど、初回起動時に必要な設定を見つけられます。
記事を読む →サブスクリプションURLの期限切れ、応答形式の不一致、YAMLのインデントミス、ネットワークによるブロックなどが読み込み失敗の原因になります。ログの内容に沿って一つずつ確認し、問題の箇所を特定しましょう。
記事を読む →