mihomo
プロキシカーネル・旧Clash Meta
mihomoはClash Metaから派生したプロキシカーネルで、設定の読み込み、ルールの照合、DNS処理、接続の転送を担います。Clash Verge RevなどのGUIクライアントは操作画面を提供しますが、画面に表示される項目がすべてのカーネルバージョンで同じ設定方法に対応しているとは限りません。フィールドのエラーが出たら、まずクライアントが実際に使っているカーネルとドキュメントを確認し、設定を変更する必要があるか判断してください。
カーネル、プロキシモード、ルール、DNSを用語別に確認。設定を変更する前に、それぞれの役割を把握しましょう。
このページはクライアント選びと設定ガイドの用語集です。カードごとに個別のアンカーがあり、リンクを共有できます。初期設定はクイックスタート、設定の組み合わせや実践例は設定ガイドをご覧ください。
画面は操作を担い、カーネルは接続を処理します。ノードはリモート接続の設定、ポートはローカルまたはリモートの待ち受け口です。混同しないようにしましょう。
プロキシカーネル・旧Clash Meta
mihomoはClash Metaから派生したプロキシカーネルで、設定の読み込み、ルールの照合、DNS処理、接続の転送を担います。Clash Verge RevなどのGUIクライアントは操作画面を提供しますが、画面に表示される項目がすべてのカーネルバージョンで同じ設定方法に対応しているとは限りません。フィールドのエラーが出たら、まずクライアントが実際に使っているカーネルとドキュメントを確認し、設定を変更する必要があるか判断してください。
GUI client
GUIクライアントでは、サブスクリプションの追加、プロキシの選択、ログの確認、システムプロキシの設定などを画面から操作できます。通常、実際の接続処理はカーネルが担います。同じカーネルを使うクライアントでも、オーバーライドの方法、サービスのインストール、権限の申請手順は異なります。選ぶ際はOSの対応状況と設定の管理方法も確認し、具体的な手順はクライアント比較をご覧ください。
proxy・リモート接続の設定
ノードはリモートプロキシへの接続に使うパラメーターで、通常はプロトコル、サーバーアドレス、ポート、認証情報などを含みます。プロトコルによってはトランスポートやTLSの設定も必要です。ノードはクライアントそのものではなく、アプリをインストールした後に利用可能な設定をインポートする必要があります。接続できないときは、設定ミス、サーバーへの到達性、ローカルネットワークの問題を切り分けてください。ノード名やテスト結果だけでサービスの状態を判断しないようにしましょう。
mixed-port
混合ポートは、1つのローカル待ち受けポートでHTTPプロキシとSOCKSプロキシのリクエストを受け付け、複数のアプリで共通の接続口を使えるようにします。リモートノードのサーバーポートではありません。ローカルからのみ使う場合、アプリでは通常、ループバックアドレスとこのポートを指定します。ポート番号を変更したら、システムプロキシやアプリに手入力した設定も更新してください。詳しくはClashのポート設定をご覧ください。
latency・リクエスト所要時間
クライアントは通常、プロキシ経由で指定されたテスト先にアクセスし、リクエストにかかった時間を記録します。特定条件下での応答速度を比較できますが、結果はテストサイト、ハンドシェイク、コネクションの再利用、ネットワーク状況によって変わります。ダウンロード速度や動画再生の快適さを示すものではありません。実際の使い勝手を調べるときは対象アプリで確認し、ログから接続失敗、パケットロス、輻輳も調べましょう。最も小さいミリ秒数だけで選ばないでください。
ルール、グローバル、DIRECTは通信の出口を決め、システムプロキシとTUNは通信をカーネルに取り込む方法を決めます。別々の設定です。
mode: rule
ルールモードでは、設定されたルールに基づいて接続先を選び、ドメインやアドレスごとにDIRECT、プロキシ、拒否を使い分けられます。ルールは通常、上から順に評価され、条件に一致すると対応する接続先が適用されるため、具体的な条件を広い条件より前に置きます。初めて使う場合はルールモードが便利ですが、動作はルールの内容とプロキシグループの定義によって決まります。不足している振り分け設定が自動で補われるわけではありません。
mode: global
グローバルモードでは、カーネルに入った接続をグローバル設定で選択した接続先へ一律に転送します。プロキシの接続性を一時的に確認するのに便利です。ここでいうグローバルとは接続先の選択方法を指し、システム通信をすべて取り込むという意味ではありません。システムプロキシを参照しないアプリは、クライアントを経由しない場合があります。切り替える前にグローバル設定の接続先を確認し、検証後は元のモードに戻してください。モードの変更をルールの修正と誤認しないようにしましょう。
mode: direct · DIRECT
DIRECTモードでは、カーネルに入った接続をリモートプロキシサーバー経由にせず、宛先へ直接接続します。一方、ルール内のDIRECTは、個別のルールから参照できる接続先です。適用範囲が異なるため、1つのDIRECTルールが設定全体に適用されるわけではありません。DIRECTモードでもアプリは終了せず、システムプロキシ、TUN、カーネルのDNSは動作し続ける場合があります。
system proxy
システムプロキシは、OSの設定にプロキシアドレスとポートを登録し、その設定に従うアプリのリクエストをローカルのクライアントへ送る仕組みです。ブラウザーは通常利用できますが、一部のゲーム、コマンドラインプログラム、独自のネットワークスタックを持つアプリはこの設定を参照しない場合があります。まずシステムプロキシを有効にしてブラウザーで確認し、ほかのアプリで接続できない場合は、アプリ内のプロキシ設定を確認するかTUNの利用を検討してください。
TUN・仮想ネットワークインターフェース
TUNは仮想ネットワークインターフェースとルーティング設定を使い、通信をプロキシカーネルに取り込みます。システムプロキシを参照しない一部のアプリにも対応できます。通常はOSの権限またはクライアント側のサービスが必要です。有効にした後の適用範囲は、ルート、除外設定、ほかのネットワークソフトにも左右されます。TUNは通信を必ずプロキシ経由にする設定ではなく、カーネルに入った後は現在のモードに基づいて接続先が選ばれます。有効化の手順はTUNの設定をご覧ください。
ルールは「この接続はどの種類か」を判定し、プロキシグループは「その接続にどの出口を使うか」を決めます。参照する名前は、設定全体での定義と一致させてください。
rules・条件照合
ルールによる振り分けでは、ドメイン、宛先IPなどの条件に基づいて、接続を指定のプロキシグループ、DIRECT、拒否先に振り分けます。ドメインのルールにはDOMAINやDOMAIN-SUFFIXがよく使われ、末尾には通常、残りの接続を処理するMATCHを置きます。ルールを編集するときは条件だけでなく、より広い条件に先に一致しないか、参照先のプロキシグループ名が存在するかも確認してください。
proxy-groups
プロキシグループは複数のノードや接続先をまとめ、ルールから安定した名前で参照できるようにします。個々のノードをルールに直接指定する必要はありません。selectは手動選択、url-testはテスト結果による選択、fallbackは順番に可用性を確認して切り替える用途です。解決する問題はそれぞれ異なるため、グループを設定するときはメンバーの取得元、テスト条件、グループ間の参照関係も確認してください。
自動テストグループ
url-testは、グループ内のプロキシ経由で指定URLに定期的にアクセスし、テスト結果と関連パラメーターに基づいて接続先を選びます。テスト先によって比較される通信経路が決まり、間隔や許容値は切り替え頻度に影響します。頻繁に切り替わる設定は、継続的な接続に適さない場合があります。手動選択の手間を減らすのに便利ですが、大容量ファイルの転送速度や、すべてのサイトでの使いやすさを保証するものではありません。
GEOIP・IPアドレスの地域判定
GeoIPはIPアドレスの地域情報やデータベース上の分類をもとに接続を判定し、主にIPアドレスによる振り分けに使われます。判定結果はデータベースに基づくもので、ユーザーの所在地を示すわけではありません。クラウドサービスの移行、共有インフラ、データベースの更新も分類に影響します。ドメイン接続にこのルールを使う場合、事前にアドレスを解決することがあります。ルールにno-resolveを指定すると、そのルールのために追加の名前解決は行われません。
rule-providers · RULE-SET
ルールセットは複数の照合条件を独立したリソースにまとめ、rule-providersで定義し、RULE-SETから参照します。条件を一元管理して再利用できます。リソースの形式はbehaviorと一致させる必要があり、ドメイン一覧、アドレス一覧、クラシック形式を自由に混在させることはできません。ルールセット自体は接続先を選ばず、最終的な動作は参照するルールで指定します。更新後はリソースが正常に読み込まれたか確認してください。
ドメイン名の解決と接続の転送は、関連しながらも別の処理です。Webページが開けない場合、名前解決で止まっていることもあれば、ルーティングやリモート接続で問題が起きていることもあります。
Domain Name System
DNSはドメイン名をアドレスなどのレコードに変換し、アプリが接続先を特定できるようにします。OS、ブラウザー、プロキシカーネルがそれぞれ独自のDNSを使う場合があるため、カーネルのDNSを変更しても、すべてのアプリの問い合わせ経路が変わるとは限りません。問題を調べるときは、まずどこで名前解決しているか確認し、問い合わせの成否、返されたアドレスが想定どおりか、プロキシサーバーのドメインも正常に解決できるかを確認してください。
enhanced-mode: fake-ip
Fake-IPは、アプリにマッピング用の仮想アドレスを返し、カーネルがアドレスとドメイン名の対応関係を使って後続の接続を処理します。これによりドメイン名を保持し、ルールによる振り分けと組み合わせられます。このアドレスはWebサイトの実サーバーのものではないため、アドレスだけを見て名前解決の失敗とは判断できません。実アドレスが必要なアプリやマッピング方式と互換性のないアプリには、必要に応じてfake-ip-filterを設定します。例外の範囲はできるだけ具体的にしてください。
DNS leak・想定外の問い合わせ経路
DNS漏れとは、ドメイン名の問い合わせが想定した経路を通らず、別のDNSリゾルバーに送られる状態です。問い合わせたドメイン名が知られる可能性があります。ブラウザーの暗号化DNS、OSのフォールバック、プロキシに取り込まれていない問い合わせをそれぞれ確認してください。テストサイトに表示されるDNS事業者名だけでは、実際の経路全体は判断できません。暗号化DNSは通信経路を保護しますが、想定どおりかどうかはリゾルバーの選択と通信ルートによって決まります。
sniffer
ドメインスニッフィングは、一部のHTTPリクエストやTLSハンドシェイクなど、接続から確認できるプロトコルメタデータを解析し、ルール判定に使うドメイン名を補います。TLSの内容を復号する機能ではなく、すべての接続からドメイン名を特定できるわけでもありません。暗号化されたメタデータや非対応プロトコルでは取得できない場合があります。有効化後に互換性の問題が起きた場合は、すべてのIP接続を正確に識別できると考えず、対象に合わせてスニッフィングの範囲を絞ってください。
Internet Protocol version 6
IPv6は128ビットのアドレスを使用し、ドメインのAAAAレコードには通常、この形式のアドレスが含まれます。正常に接続できるかは、ローカルネットワーク、DNSの応答、TUNによるルートの適用範囲、プロキシのアウトバウンド対応によって決まります。クライアントのIPv6スイッチだけでは判断できません。一部のサイトだけで問題が起きる場合は、IPv4とIPv6の名前解決と接続経路を比較し、実際の問題がある層を調整してください。ルーティングの問題を単一のスイッチで隠さないようにしましょう。
サブスクリプションはリモートのリソースを提供し、設定ファイルは動作を定義、オーバーライドはローカルの変更を保持します。更新前に、読み込んでいるのが完全な設定か、プロキシ一覧だけかを確認してください。
subscription URL
サブスクリプションURLは、リモートの設定やプロキシ一覧を取得するためのアドレスです。クライアントはこのURLから定期的にリソースを更新できるため、ノードを1つずつ登録する必要はありません。サービスによって完全なYAML、プロキシ一覧、その他の形式が返されるため、インポート前にクライアントが対応している形式を確認してください。URLにアクセス情報が含まれることがあります。公開スクリーンショット、ログ、共有メッセージに載せないでください。インポート手順はClashのサブスクリプションURLを追加をご覧ください。
config.yaml・構造化設定ファイル
YAMLはインデントでオブジェクトやリストの階層を表すテキスト形式で、Clashの設定によく使われます。同じ階層のフィールドはそろえ、インデントにはスペースを使ってください。構文を解析できても、プロキシグループの参照、フィールド名、カーネルとの互換性が正しいとは限りません。設定の一部をコピーする場合は適切な階層に配置し、トップレベルのキーを重複させないようにしましょう。全体の構成はClashの設定ファイルをご覧ください。
proxy-providers
プロキシプロバイダーは、proxy-providersで独立したプロキシ一覧を管理し、プロキシグループのuseなどから参照します。プロキシリソースの更新とローカルルールの管理を分けるのに便利ですが、リソースの内容は使用するカーネルの要件に合わせる必要があります。完全な設定ファイルをそのままプロキシプロバイダーとして使うことはできません。ルールセットとも異なり、こちらは接続先の候補を提供し、ルールセットは照合条件を提供します。
override · merge · patch
ローカルオーバーライドは、サブスクリプションの内容とは別にカスタム設定を保持する仕組みです。ルールの追加や待ち受けポートの変更などに使い、リモート更新で手動変更が上書きされるのを防ぎます。マージ、置換、ルールの挿入、スクリプトの実行順序はクライアントによって異なり、名前が似ていても動作が同じとは限りません。編集画面の元のテキストだけでなく、最終的に適用された設定を確認し、再起動やサブスクリプションの更新後も意図した状態が維持されるか確認してください。
external-controller・管理API
外部コントローラーAPIを使うと、コントロールパネルやクライアントからカーネルの状態を確認し、プロキシの切り替えや接続の管理を行えます。待ち受けアドレスはexternal-controllerで指定します。管理用の接続口であり、ブラウザーの通信に使う混合ポートとは別のものです。互いに代用できません。ローカルだけで管理する場合は、ループバックアドレスに制限し、認証を設定してファイアウォールも確認してください。LANに公開する前に、アクセス可能なデバイスを明確にしましょう。