Windows
対応OSを確認し、Clash Plus、Clash Verge Rev、FlClashを比較してください。ブラウザーは通常システムプロキシを利用できますが、ゲームやストアアプリにはTUNやループバック、ファイアウォールの設定が必要な場合があります。
ダウンロードページへIOS · MACOS · MIHOMO CORE
デバイスに合ったクライアントを選び、サブスクリプションの読み込み、ルールによる通信の振り分け、システム権限の設定を済ませてから、実際の接続先を確認します。
CONFIGURATION INDEX
Clashの設定では、プロキシが接続先を定義し、プロキシグループが接続先を選び、ルールが通信の振り分けを決めます。まず現在のカーネルで設定を読み込めることを確かめ、その後にシステム通信の取り込み方法を調整すると、「設定の誤り」と「権限不足」を切り分けやすくなります。Apple製デバイスではクライアントの対応範囲も確認してください。画面上の項目名が似ているだけで、設定項目の互換性があるとは限りません。
RULES / FIRST MATCH
ルールは上から順に評価され、最初に一致したルールの指定先へ通信を振り分けます。そのため、特定ドメインのルールは最終的なフォールバックルールより前に置きます。クライアントでルールモードを選んだら、接続ログで一致したルールを確認してください。設定ファイルを編集しただけで再読み込みをしなければ、実行中の設定には反映されません。Apple製デバイスでは、通信がクライアントを経由しているかどうかも振り分け結果に影響します。システムプロキシの対象外のアプリは、このルールによる判定に参加しません。グローバルモードと異なり、ルールモードではLANや指定サイトへの直接接続を維持できます。既存のサブスクリプションルールに追加する場合は、次回更新で上書きされないよう、クライアントのオーバーライド機能を使いましょう。
# この例では組み込みのポリシーのみを使用
mode: rule
rules:
- DOMAIN-SUFFIX,example.com,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- MATCH,REJECT
例では、フォールバックの順序を説明するため、残りの通信をREJECTで遮断しています。実際に使う場合は、定義済みのプロキシグループに置き換えてください。
PROXY GROUPS / SELECTION
プロキシグループを使うと、複数のプロキシを切り替え可能な接続先としてまとめられます。手動選択のグループは特定の経路を使い続けたい場合に、自動テストのグループは指定URLへの接続テストをもとに候補を選びたい場合に便利です。テスト時間は、あらゆるサイトでの実際の通信速度を示すものではありません。Apple製クライアントでは、プロキシ画面でグループを開くと、選択中の項目を確認したりテストを実行したりできます。設定項目の対応状況は、使用するカーネルによって異なります。プロキシを一つずつ選ぶ方法に比べ、グループを入れ子にすると手動選択と自動選択を切り替えやすくなります。グループ名を変更したら、ルールからの参照も確認してください。設定の読み込み時に、参照先が見つからないエラーを防げます。
# DIRECTは組み込みポリシー。実際のプロキシを設定してから候補に追加
proxy-groups:
- name: PROXY
type: select
proxies:
- DIRECT
rules:
- MATCH,PROXY
TUN / NETWORK STACK
システムプロキシは、プロキシ設定に従うアプリで主に利用されます。TUNは仮想ネットワークインターフェースを通じて、より多くの通信を取り込む方式です。システムプロキシを参照しないアプリにも対応できます。macOSクライアントでは、実装によってサービスのインストールやネットワーク拡張の承認が必要な場合があります。iOSでは通常、システムのVPN設定を使ってトンネルを作成します。デスクトップ版のTUN設定をそのまま適用できるわけではありません。切り替える前に、通信を取り込む他のツールを停止し、元の設定を保存してください。有効化後にLANへ接続できなくなった場合は、プロキシを何度も切り替えるのではなく、ルーティングと除外設定を確認しましょう。
# クライアントの対応と該当するシステム権限が必要
tun:
enable: true
stack: mixed
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
DNS / RESOLUTION
ドメインを名前解決できない問題と、プロキシ接続がタイムアウトする問題は別です。まずログで接続先のアドレスを取得できているか確認し、次にDNSリクエストがどのネットワーク経路を通っているかを調べましょう。ブラウザーのエラーだけでは、プロキシの障害かどうか判断できません。対応するクライアントでは、mihomoのDNS設定を個別に指定できます。iOS向けクライアントで該当項目を設定できるかは、製品の説明を確認してください。システム標準のDNSをそのまま使う方法に比べ、個別設定では名前解決の経路を制御できますが、上流DNSへの到達性、キャッシュ、ルールとの照合も考慮が必要です。変更後は設定を再読み込みして新しい接続を作り、古いキャッシュが検証に影響しないようにします。
# 上流DNSは現在のネットワークから到達できるものを選ぶ
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
nameserver:
- https://1.1.1.1/dns-query
SUBSCRIPTION / LIFECYCLE
クライアントのサブスクリプションでは通常、完全な設定を読み込みます。一方、プロキシプロバイダーはプロキシ一覧だけを追加するもので、読み込むファイルの種類が異なります。設定画面にURLを貼り付けたら、ダウンロードが完了し、その設定が選択されていることを確認してから、プロキシグループが表示されるか確認してください。Apple製デバイスでは読み込みボタンの名称が異なる場合がありますが、確認の順序は同じです。リモート設定を直接編集するより、個別のオーバーライドを使うと自分のルールを保持しやすくなります。サブスクリプションを更新する前に、カスタマイズした内容も記録しておきましょう。サブスクリプションURLにはアクセス情報が含まれる場合があります。信頼できるクライアントに保存し、ログやスクリーンショットを共有する際はURL全体を隠してください。
proxy-providers:
local-nodes:
type: file
path: ./providers/local.yaml
proxy-groups:
- name: PROXY
type: select
use:
- local-nodes
rules:
- MATCH,PROXY
有効なproxiesリストを含むローカルファイルを用意してください。この例自体にプロキシは含まれていません。
CLIENT SHELF
まずOSを確認し、次にプロセッサのアーキテクチャ、最後にクライアントが使うカーネルと設定形式を確認します。同じサブスクリプションURLを複数のデバイスに読み込めても、システム権限やプロキシポート、通信の取り込み方法はそのまま流用できません。ダウンロードページでは、OSごとの入手先、配布状況、利用条件をまとめています。バージョン情報は各クライアントの詳細で確認できます。
対応OSを確認し、Clash Plus、Clash Verge Rev、FlClashを比較してください。ブラウザーは通常システムプロキシを利用できますが、ゲームやストアアプリにはTUNやループバック、ファイアウォールの設定が必要な場合があります。
ダウンロードページへ「このMacについて」でApple SiliconかIntelかを確認し、対応するインストーラを選びます。初回起動時に必要な権限を許可してください。システムプロキシ、バックグラウンドサービス、ネットワーク拡張は用途が異なります。
ダウンロードページへ設定内容に合うClash PlusやClash Meta for Androidを選び、ARM64などの対応アーキテクチャを確認してください。接続後はバッテリー制限も確認します。画面消灯後の切断は、OSのバックグラウンド制御が原因の場合もあります。
ダウンロードページへClash PlusのApp Storeページとclashplus.ioで製品情報を確認してください。対応するサブスクリプションを読み込み、VPN構成を追加して接続します。デスクトップ版の設定を使う前に、モバイル版の対応状況を確認しましょう。
ダウンロードページへClash Verge RevやFlClashはディストリビューションに合うパッケージを選びます。サーバーやルーターではmihomo単体も候補です。サービスとルーティングは個別に設定し、ターミナルの通信も確認してください。GUIの導入だけではプロキシは適用されません。
ダウンロードページへQUICKSTART / THREE CHECKPOINTS
初回設定では、クライアントのネットワーク設定を標準のままにして、「設定が有効か→接続先へ到達できるか→アプリの通信がプロキシに入るか」の順に確認しましょう。一度に変える条件を一つに絞り、ログを確認すると、DNS・ルール・TUNを同時に変更するより原因を特定しやすくなります。始める前に、対応する設定ファイルかサブスクリプションURLを用意してください。クライアントをダウンロードしても、利用可能なプロキシサービスが自動で用意されるわけではありません。
01 / IMPORT
設定またはサブスクリプションの画面を開き、リモート設定を追加してURL全体を貼り付けます。更新の成功をクライアントで確認してから、その設定を現在の設定として選択してください。次にプロキシ画面を開き、プロキシグループと候補のプロキシが表示されているか確認します。読み込みに失敗した場合は、URLの有効期限、返される内容が対応形式かどうか、現在のネットワークからURLにアクセスできるかを調べてください。通常のWebページやログイン画面をサブスクリプションとして読み込まないようにします。
02 / CONNECT
プロキシグループから利用可能なプロキシを選び、システムプロキシまたはクライアントのVPN接続を有効にします。macOSで初めてサービスを有効にするときや、iOSで初めてVPN構成を追加するときは、システムの許可を済ませてからクライアントに戻り、接続状態を確認してください。ほかのVPNやプロキシツールが動作している場合は、経路やポートの競合を避けるため、いったんどちらかを停止します。通常はルールモードを使うと、直接接続が必要な通信を維持しやすくなります。グローバルモードは短時間の比較テストに限って使いましょう。
03 / VERIFY
アクセス可能なサイトを開きながらクライアントの接続ログを確認し、接続先ドメイン、一致したルール、実際の接続先を調べます。接続が記録されているのにリクエストが失敗する場合は、プロキシと名前解決を確認してください。接続自体が記録されない場合は、アプリがシステムプロキシを参照しているか、トンネルを経由しているかを先に確認します。検証時はページを再読み込みするか接続を作り直してください。既存の長時間接続は設定変更前の接続先を使い続けることがあり、新しい設定が反映されたかどうかの判断材料にならない場合があります。
OPEN SOURCE / PROJECT BOUNDARIES
Clashのオリジナルプロジェクトがメンテナンスを終了した後も、設定形式や使い方はさまざまなコミュニティプロジェクトで引き継がれています。クライアントを継続して使えるか判断する際は、名称にClashが含まれるかだけでなく、開発状況、使用カーネル、現在のOSへの対応状況を確認してください。アーカイブ済みのクライアントは旧設定の理解に役立ちますが、新しいプロトコルやOSのネットワーク仕様の変更に自動対応するとは限りません。
mihomoはClash Metaのフォークから発展したカーネルで、プロトコル処理、ルール判定、プロキシグループ、ネットワークスタックなどを担います。GUIクライアントはその上に、設定管理、システムプロキシ、権限の案内、ログ表示などを提供します。カーネルが特定の設定項目を認識できても、すべてのGUIクライアントでその項目を設定できるとは限りません。クライアントを更新しても、同梱カーネルが同時に更新されるとは限りません。設定の説明を読む際は、クライアントとカーネルを分けて確認しましょう。
macOSのデスクトップクライアントは、システムプロキシ、バックグラウンドサービス、ネットワーク拡張などを使って、異なる範囲の通信を取り込みます。一方、iOSではアプリの仕組みとトンネル用インターフェースに制約があります。製品ごとに実装は異なり、「Clashの設定に対応」と「mihomoカーネルを使用」は同じ意味ではありません。サブスクリプションの形式、必要なプロトコル、通信の振り分け機能を先に確認し、次に使用するデバイスで必要な権限設定を調べると、読み込みは成功しても機能が一致しないといった問題を減らせます。
更新前に復元できる設定を保存し、自分で追加したルール、ポート、ネットワーク設定を記録してください。クライアントとカーネルの変更履歴を読み、設定項目の廃止、既定の動作、権限の手順に変更がないか確認します。更新後は同じ接続先で、ルールの一致と実際の接続先を再確認してください。ソースコード、リリース履歴、課題のやり取りは実装の確認に役立ちますが、実機のネットワーク環境でのテストに代わるものではありません。また、あらゆる第三者サブスクリプションが利用できることを保証するものでもありません。
git clone https://github.com/MetaCubeX/mihomo.git
このコマンドはソースコードのダウンロードのみ行います。ビルドと実行には、別途開発環境の準備が必要です。
READING / RECENT NOTES
基本的な接続ができたら、直面している問題に合わせて関連記事を確認してください。画面操作の記事では設定場所を、エコシステムの解説では機能の担当範囲を、OS別のトラブル対処ではシステム固有のネットワーク制限を確認できます。変更前に現在の状態を記録し、記事の適用条件に沿って一つずつ確認しましょう。ほかのOS向けの手順を、そのまま使用中のデバイスに適用しないでください。
画面ごとに、プロキシグループの切り替え、サブスクリプション管理、ログレベルの絞り込みを解説します。初めて使うときは、設定の選択場所を確認してからプロキシ画面に戻り、現在の接続先を調べましょう。最後にログで設定の読み込みや接続エラーを確認します。
記事を読む →オリジナルのカーネル、Metaのフォーク、mihomoの違いを整理し、GUIとカーネルの依存関係を解説します。プロトコルや設定の対応状況を調べる際に、クライアント名、対応形式、実際のカーネル実装を混同しないためのガイドです。
記事を読む →UWPアプリのローカルループバック制限と、CheckNetIsolationコマンドやクライアントツールを使った対処方法を解説します。まずアプリの種類とローカルプロキシの待ち受け状態を確認し、必要に応じて除外設定を追加してください。元に戻す方法も記録しておきましょう。
記事を読む →