Windows
ブラウザーやオフィスアプリ、デスクトップソフトでの利用に適しています。まずシステムプロキシで基本的な接続を確認し、システムプロキシを参照しないアプリの通信も制御したい場合は、仮想ネットワークインターフェースを使うTUNモードを検討してください。ダウンロード前にCPUアーキテクチャを確認し、旧クライアントを終了してから新しいプロキシを有効にすると、複数のアプリによるシステム設定の競合を防げます。
ダウンロードへサブスクリプションのインポートからルール分岐まで、スマートフォンのOSに合わせて権限とバックグラウンド設定を行えます。デスクトップ版の設定も確認できます。
01 / CLIENTS
まずデバイスのOSを確認し、次にクライアントが対応するコアと設定形式を確認しましょう。Clashはエコシステムの総称であり、画面が異なれば機能も同じとは限りません。同じサブスクリプションを新しいデバイスに読み込んだ後も、プロキシグループ名、DNS設定、システム通信の制御方法を確認してください。初めて使う場合は、Clash Plusを使ってガイドに沿って設定できます。既存の設定がある場合は、先にバックアップしてから乗り換えを検討しましょう。
ブラウザーやオフィスアプリ、デスクトップソフトでの利用に適しています。まずシステムプロキシで基本的な接続を確認し、システムプロキシを参照しないアプリの通信も制御したい場合は、仮想ネットワークインターフェースを使うTUNモードを検討してください。ダウンロード前にCPUアーキテクチャを確認し、旧クライアントを終了してから新しいプロキシを有効にすると、複数のアプリによるシステム設定の競合を防げます。
ダウンロードへスマートフォンでは、まずVpnServiceの使用を許可します。これはAndroidが提供するVPNシステムインターフェースで、クライアントが通信を制御するためのものです。許可しただけでリモートノードに接続されるわけではありません。サブスクリプションをインポートした後は、バックグラウンドでの実行も許可してください。画面ロック後に切断される場合は、バッテリー最適化、自動起動の権限、ほかのVPNアプリとの競合を確認しましょう。
ダウンロードへダウンロードページからClash Plusのストア掲載ページに進み、公式サイト clashplus.io も確認できます。設定をインポートしたら、クライアントの案内に従ってVPN構成を追加し、システム認証を行ってください。ここでいうシステムVPN構成は、手動インストールが必要な構成プロファイルとは別のものです。見覚えのないプロファイルが表示された場合は、提供元と用途を確認してから操作しましょう。
ダウンロードへまず「このMacについて」でApple SiliconかIntelかを確認し、対応するインストーラーを選びます。システムプロキシとTUNでは必要な権限が異なるため、補助サービスをインストールする際はアプリの入手元を確認してください。クライアントを切り替えた後にWebページが開けない場合は、プロキシ設定を重ねて追加する前に、ネットワーク設定に古いポートが残っていないか確認しましょう。
ダウンロードへデスクトップではGUIクライアントを優先し、サーバーやルーターではmihomoコアの単独導入を検討しましょう。インストーラーの形式、CPUアーキテクチャ、サービス権限はOSに合わせて選ぶ必要があります。コマンドラインツールはデスクトップのプロキシ設定を参照しない場合があるため、環境変数を個別に確認してください。TUNを有効にする前に、ルーティングとDNSが制御される範囲も把握しておきましょう。
ダウンロードへ02 / SETTINGS
各スイッチの役割を把握してから設定を変更しましょう。よく使う設定を以下で解説します。ルールは通信の行き先を決め、プロキシグループは利用する出口を選びます。TUNとシステム権限は、どの通信をコアに渡すかを決めます。設定例は構文の説明用で、ノードを含む完全な設定ではありません。クライアントによって画面上のスイッチ名が多少異なる場合もあります。
ルールモードでは、ドメインやアドレスなどの条件を上から順に確認し、該当したルールを指定のプロキシグループに渡します。特定のドメインを直接接続するルールは前に置き、最後にフォールバックとなるMATCHを設定します。指定するプロキシ名は、あらかじめ定義されている必要があります。グローバルモードと違い、すべての接続で同じ出口を使う必要はありません。スマートフォンで特定のアプリだけ問題が起きたら、接続ログで該当したルールを確認してから修正しましょう。サブスクリプションの更新で直接編集したルールが上書きされることがあります。継続的に変更する場合は、クライアントの上書き・マージ機能を使ってください。
mode: rule
rules:
- DOMAIN-SUFFIX,example.com,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- MATCH,DIRECT
この例は直接接続をフォールバックにした、照合順序の説明用です。実際のプロキシポリシーには、ご自身の設定にある名前を指定してください。
サブスクリプションURLはサービス提供元が発行する設定用アドレスで、Webページの共有リンクではありません。設定画面から「URLからインポート」を選び、保存後にその設定が有効になっていることを確認してください。完全なClash YAMLとノードだけを含むサブスクリプションは別物です。インポートに成功しただけでルールも揃っているとは限りません。更新前にローカルの変更が上書きされないか確認し、大切な上書き設定は別途バックアップしましょう。ノードを手入力するより変更を同期しやすい一方、URLにはアカウント情報が含まれる場合があります。スクリーンショットやログではURL全体を隠してください。
設定 → 新しい設定を作成 → URLからインポート
設定を保存 → 現在の設定に指定
サブスクリプションを更新 → ルールとプロキシグループを確認
サブスクリプションのインポート手順を見る →
TUNは通信をコアに渡すための仮想ネットワークインターフェースです。Androidクライアントでは通常、VpnServiceを使ってローカルVPN接続を確立します。初回接続時はシステムの許可が必要です。ステータスバーにVPNアイコンが表示されても、通路が確立したことを示すだけで、ノードの利用可能性を保証するものではありません。アプリ単位のプロキシ設定より広い範囲の通信を制御できる一方、システム権限とバックグラウンド動作への依存も大きくなります。スマートフォンでは通常、一般的なVPN接続を2つ同時に実行できません。起動前に競合するアプリを停止し、画面ロック後に切断される場合は、ノードを何度も切り替えるのではなくバッテリー最適化を確認しましょう。
AndroidのシステムVPN:接続を許可
アプリのバッテリー設定:バックグラウンド実行を許可
ほかのVPNアプリ:切断してからテスト
画面ロック後:クライアントの動作状態を確認
Androidの権限とバッテリー設定を見る →
プロキシグループは通信の出口を選ぶ機能です。selectはユーザーが手動で選択し、url-testはテスト結果に基づいて選択します。fallbackは順番に障害時の切り替えを行い、load-balanceは接続を分散します。初めて設定する場合は、まず手動グループで出口が使えることを確認してから自動選択を試しましょう。自動テストは実際のダウンロード速度測定ではなく、出口を切り替えても既存の接続がすぐ移行するとは限りません。ノードを一つだけ固定する方法に比べて複数の出口を管理しやすい一方、グループ内の参照名、ルールの宛先、サブスクリプション内のノード名を一致させる必要があります。
proxy-groups:
- name: 手動出口
type: select
proxies:
- DIRECT
rules:
- MATCH,手動出口
例には組み込みの直接接続出口だけが含まれています。プロキシを使う場合は、設定内に実在するノード名またはプロキシグループ名を追加してください。
ノードの遅延テストでは通常、指定した出口からテスト用アドレスにリクエストを送ります。結果はハンドシェイク、名前解決、接続先サイト、現在のネットワーク状況に左右されます。接続できるかを大まかに確認する用途には適していますが、帯域幅や動画の視聴品質、すべてのアプリでの利用可否を直接示すものではありません。比較する際は同じテスト先とネットワークを使い、Wi-Fiとモバイル回線の結果を混ぜないようにしましょう。タイムアウトした場合は、サブスクリプションの有効性とノードの状態を確認してから、実際のアクセスで検証します。スマートフォンではバックグラウンド通信を増やさないよう、頻繁な一括テストは避けてください。
同じテスト先を選択
同じネットワークで手動テスト
対象アプリで実際のアクセスを確認
ネットワークを切り替えたら再確認
接続とテストに関するよくある質問を見る →
DNSはドメイン名をIPアドレスに変換します。DNS上書きでは、サブスクリプション内の名前解決設定をローカル設定で置き換えるか、統合します。Webページが開けない一方でIPアドレスへの接続は正常な場合は、まず名前解決のログを確認しましょう。システムのプライベートDNS、クライアントのDNS、ルーターの設定を同時に変更すると、原因を特定しにくくなります。fake-ipは仮想アドレスを使ってドメインとの対応関係を保持する方式で、すべてのアプリにそのまま適用できるわけではありません。DNSサーバーを変えるだけでなく、問い合わせがどの経路を通るかを明確にすることが重要です。スマートフォンではVPNが制御する範囲とアプリの互換性にも注意してください。
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
nameserver:
- 1.1.1.1
これは各フィールドの例であり、すべての環境に推奨する設定ではありません。変更前に元の設定を保存し、選択したDNSサーバーに現在のネットワークからアクセスできることを確認してください。
03 / QUICK START
初めて使うときは、利用可能な設定があること、システム接続を確立できること、対象アプリにアクセスできることを順に確認しましょう。まずはサブスクリプションに含まれるDNSとルールをそのまま使い、複数のガイドの設定例を一度に混ぜないでください。変更するたびに動作を確認すると、後から問題を見つけやすくなります。
信頼できるサービス提供元からサブスクリプションURLをコピーし、クライアントの設定画面でURLからインポートして、現在の設定に指定します。形式エラーが出た場合は、ログインページや有効期限切れの案内ではなく、クライアントが対応する設定データが返されているか確認してください。サブスクリプションURLを公開の掲示板などに貼らないでください。
ルールモードを使い、プロキシグループから利用可能な出口を選んで接続を開始します。スマートフォンではシステムの案内に従ってVPN構成を許可してください。Androidではバックグラウンド実行の権限も確認します。システムプロキシ、TUN、ルールモードはそれぞれ別の設定です。念のためにと、すべてのスイッチをオンにする必要はありません。
まず普段使う接続先にアクセスし、接続ログで想定したプロキシグループが適用されているか確認します。次にWi-Fiとモバイル回線を一度切り替え、画面をロックしてから再度操作します。画面ロック中だけ切断される場合は、まずバッテリー制限を確認してください。特定のドメインだけ問題がある場合は、ルールと名前解決を調べ、すぐにクライアントを再インストールする必要はありません。
04 / OPEN SOURCE
クライアントを選ぶ際は、画面だけでなくプロジェクト名、コア、設定の入手元を区別することが大切です。このサイトではダウンロード先と日本語の操作情報をまとめていますが、上流プロジェクトのリリース情報に代わるものではなく、プロキシノードも提供していません。クライアントの機能は、使用するコア、OSの制約、実際の設定によって異なります。
オリジナルのClashはルールプロキシの基本的な設定方式を確立し、Clash.Metaはそれを拡張しました。その後、関連するコアはmihomoという名称で開発が続けられています。そのため「Clash設定に対応」とあっても、すべての項目を相互に使えるとは限りません。新しいプロトコル、ルール種別、ネットワークスタックのオプションは、コアが対応しているか確認してください。
古い設定を移行する際は、まずサブスクリプションの元データを保存し、起動ログに出ている具体的なフィールドエラーを確認します。基本設定が正常に読み込まれてから、自作ルールを戻してください。エラーを消すためだけにDNSやルーティングの設定をまとめて削除しないでください。起動できるようになっても、通信経路が変わる可能性があります。
コアの違いを確認 →GUIクライアントは、サブスクリプションのインポート、プロキシの選択、システムプロキシ、権限管理を画面上で操作できるようにします。mihomoなどのコアはネットワーク設定を実行します。同じコアを異なる画面で使うことも、クライアントの更新でコアや初期設定が変わることもあります。スクリーンショットだけを見て動作が完全に同じだと判断しないでください。
スマートフォンにはOS固有の制約もあります。Androidではバッテリー管理がバックグラウンドサービスを停止する場合があり、iOSではVPN構成にシステム認証が必要です。デスクトップでは補助サービスに依存することがあります。問題が起きたら、「画面が起動しない」「コアの設定読み込みに失敗する」「システム接続が確立しない」のどれに当たるかを切り分けると、原因を調べやすくなります。
ネットワークとシステムの用語を見る →mihomoプロジェクトはGPL-3.0ライセンスを採用しており、公開リポジトリでソースコード、課題の議論、リリース履歴を確認できます。オープンソースライセンスはコードの利用や再配布の条件を定めるもので、そのコアを使うすべてのクライアントで画面、機能、メンテナンス状況が同じという意味ではありません。変更や再配布を行う場合は、該当プロジェクトのライセンスファイルを確認してください。
一般ユーザーは、利用前にソースコードをコンパイルする必要はありません。設定の挙動を調べる、問題を再現する、開発に参加するといった場合に、リポジトリをクローンするのが適しています。問題を報告する前に、サブスクリプションURL、ノードのパスワード、個人のネットワーク情報を削除し、再現に必要な最小限の設定とログだけを残してください。
mihomoプロジェクトのリポジトリを見る ↗クライアント、コア、サブスクリプションの更新はそれぞれ別のものです。クライアントの更新でシステム連携が変わり、コアの更新で設定項目の挙動が変わり、サブスクリプションの更新でノードやルールが置き換わることがあります。問題が起きたら、最近変更したのがどの層かを振り返りましょう。アプリのロールバック、ネットワークのリセット、すべての設定の再インポートを同時に行うのは避けてください。
普段から使える設定を1つと、上書き設定の記録を別々に保存しておきましょう。アップグレード後は、起動、名前解決、プロキシグループ、対象アプリの順に確認します。長期間メンテナンスが止まっているクライアントは、新しいデバイスで使い始めるのではなく、移行元として扱うのが適切です。移行後に動作が安定したことを確認してから、旧アプリと残っているプロキシ設定を削除してください。
更新停止クライアントからの移行手順を見る →Gitをローカルにインストールしておく必要があります。このコマンドはソースコードをダウンロードするだけで、GUIクライアントのインストールやプロキシ設定の自動作成は行いません。コンパイル方法と開発用の依存関係は、リポジトリのドキュメントを確認してください。
git clone https://github.com/MetaCubeX/mihomo.git
05 / NOTES
基本的な接続ができたら、クライアントの選び方、移行、プロキシグループの設定を確認しましょう。各記事では一つの具体的な問題を取り上げ、部分的な不具合を直すために設定全体をやり直す必要がないよう解説します。操作前に元の設定を保存し、記事の例は使用するクライアント、コア、サブスクリプションに合わせて調整してください。
元のクライアントの更新が終了したら、まずサブスクリプションと上書き設定をエクスポートし、デバイスや用途に合った、現在もメンテナンスされている代替クライアントを選びましょう。最後にルール、DNS、システム権限を確認し、新旧クライアントの設定の違いをチェックします。
ノートを読む →select、url-test、fallback、load-balanceの4種類のプロキシグループの動作を解説し、intervalとtoleranceの意味を説明します。さらにYAMLの例を使って、自動選択と障害時の切り替えの違いを紹介します。
ノートを読む →コア、サブスクリプションのインポート、ルール編集、TUN対応、画面操作の観点からスマートフォン向けクライアントを比較します。初めて設定するのか、既存のサブスクリプションを移行するのかを整理してから、実際の利用シーンに合ったものを選びましょう。
ノートを読む →