Clash Metaの使い方ガイド
サブスクリプションの追加と接続確認
「サブスクリプションを追加 → プロキシモードを選択 → 接続 → 動作確認」の順に初期設定を進めます。まずブラウザーの接続を確認し、その後TUN、DNS、カスタムルールを設定しましょう。
始める前に:クライアントとサブスクリプション
このガイドでは、初回設定を約10分で行う手順を説明します。クライアントがインストール済みで、利用可能なサブスクリプションURLまたは完全な設定ファイルが手元にあることが前提です。Clashクライアントは設定を読み込み、ルールを適用して接続を確立するもので、インストールしただけで使えるプロキシが自動生成されるわけではありません。サブスクリプションは利用するサービスの提供元から取得してください。アカウントのログイン画面しか見つからない場合は、管理ページでClashまたはmihomo向けの設定項目を探します。
ほかのプロキシツールを起動している場合は、先に接続を切り、システムプロキシを元に戻してください。複数のアプリが同時にネットワーク設定を変更するのを防げます。元の設定はバックアップし、初回設定ではオーバーライドスクリプトやカスタムDNSを追加しないでください。各手順には完了の目安があります。目安を確認できない場合は、その手順の問題を解決してから進みましょう。クライアントを何度も再インストールする必要はありません。用語がわからない場合はよくある質問を、具体的なエラーが表示された場合はトラブル対処を確認してください。
01 サブスクリプションを追加して設定を有効化
完了の目安:設定一覧で現在の設定が選択され、プロキシ画面に対応するプロキシグループが表示されている。
リモートサブスクリプションを追加
クライアントのサイドバーまたは下部メニューから「設定」や「サブスクリプション」を開き、「新規追加」「設定を追加」またはプラス記号の項目を選びます。リモートURLを選択し、設定を見分けやすい名前を付けて、サブスクリプションURLを入力欄にすべて貼り付けてください。名前は端末上で識別するためのもので、接続動作には影響しません。URLの先頭、クエリパラメーター、末尾が欠けていないか確認します。メッセージに含まれる説明文や改行まで一緒にコピーしないよう注意してください。
保存、インポート、またはダウンロードを実行したら、処理が完了するまで待ちます。成功すると、通常は設定項目や更新日時が表示されるか、設定内容を開けるようになります。「保存しました」と表示されただけではダウンロード成功とは限りません。URLだけを先に保存し、ファイル取得は後から非同期で行うクライアントもあります。項目にエラーが表示されないか確認し、設定項目をタップするか「現在の設定にする」「有効化」を選んで、コアが読み込む設定にしてください。
「プロキシ」または「プロキシグループ」の画面を開いて結果を確認します。サブスクリプションに含まれるグループ名が表示されていれば、クライアントが設定を読み込めています。設定一覧に複数のファイルがある場合、ダウンロードした設定が自動で現在の設定になるとは限りません。選択中のマークを確認してください。古いグループ名が表示されていても、同じURLをすぐに追加し直さず、先に設定が切り替わっているか確認します。
ローカルファイルとURLの形式
ローカルの.yamlまたは.ymlファイルを入手した場合は、同じ画面で「ファイルをインポート」を選び、システムのファイル選択画面から開いて、同様に有効化します。完全な設定には通常、プロキシまたはプロキシプロバイダー、プロキシグループ、ルールが含まれています。ノード設定が数行あるだけのテキストでは、単独で動作するとは限りません。ノード一覧だけを返すURLの場合、クライアントのノードサブスクリプション機能と基本設定が必要です。完全な設定ファイルの代わりにはなりません。
インポート時に形式エラーが出た場合は、サービス提供元が案内している設定形式が現在のクライアントに対応しているか確認してください。ブラウザーのログイン画面、注文ページ、一般的なWebページのURLはサブスクリプションURLではありません。アクセス認証が必要なページは、YAMLではなくHTMLを返す場合もあります。形式の問題を解決するために、非公開のサブスクリプションをオンライン変換サイトへ安易に送信しないでください。サブスクリプションURLにはアカウントの認証情報が含まれることが多いため、スクリーンショット、ログ、問い合わせにはURL全体や機密パラメーターを載せないでください。
初回のインポートに成功したら、リモート設定の本文はすぐに編集しないでください。多くのクライアントでは、次回のサブスクリプション更新時にダウンロード内容が置き換わり、直接編集したルールが失われることがあります。ローカルの変更を維持する必要が出てきたら、クライアントのオーバーライド機能や設定のマージ機能を確認しましょう。詳しくはサブスクリプションと設定のよくある質問をご覧ください。今は正常に読み込まれた設定をそのまま使い、次の手順で動作モードを選びます。
02 プロキシモードとプロキシグループを選択
完了の目安:動作モードが「ルール」になっており、プロキシ出口に使う選択グループで利用可能なポリシーが選ばれている。
初回はルールモードを選択
ホームに戻るか、「設定 → プロキシモード」を開いて、ルール、グローバル、ダイレクトの3つから選びます。初回は「ルール」を選択してください。これはコア設定のmode: ruleに相当します。接続はrulesの記述順に照合され、対応するダイレクト、拒否、またはプロキシのポリシーに振り分けられます。ルールモードでは、すべての通信がプロキシを通るわけではありません。設定作成者が定めたルール分岐が適用されます。
「グローバル」は、コアに取り込まれた接続をすべてグローバルポリシーに渡すモードで、短時間の比較テストに使えます。ただし、すべてのアプリが自動的にコアへ取り込まれるわけではなく、システムプロキシやTUNの代わりにもなりません。「ダイレクト」では、コアに取り込まれた接続が直接接続されます。通常のプロキシ接続に使うモードと混同しないでください。ノードを選んでいても、実際のリクエストがそのノードを通らない場合があります。手間を省くためにグローバルモードのまま使い続け、元のルールが正しいか確認しないのも避けましょう。
プロキシグループで実際の出口を選択
「プロキシ」または「プロキシグループ」を開き、設定に含まれるメインの選択グループを展開します。グループ名はPROXYの場合もあれば、別の名前の場合もあります。ガイドの名称をそのまま当てはめないでください。ルールが実際に参照しているグループを見つけ、ノードを一つ選ぶか、設定済みの自動選択グループを選びます。手動選択グループは通常type: selectに、自動選択グループはurl-testに対応し、設定されたテスト方法で候補を評価します。
複数階層のグループを使う設定もあります。用途別グループから地域グループ、さらに具体的なノードへとつながる構成です。この場合、最上位のグループを選ぶだけでは完了しないことがあります。下の階層を開き、最終的な出口を確認してください。プロキシを使うポリシーチェーンの最終接続先がDIRECTなら、リクエストは直接接続されます。グループ内のテスト結果は候補選びの参考になりますが、テスト先と実際のアクセス先は異なる場合があります。テスト結果だけで、すべてのサイトに接続できると判断しないでください。
グループが空の場合は、前の手順に戻り、サブスクリプションの内容とプロバイダーのダウンロード状況を確認します。不足を隠すために、同じ名前のグループを安易に新規作成しないでください。候補が表示されてもすべてテストに失敗する場合は、端末のネットワーク、システム時刻、サブスクリプションの有効性を確認し、ノードのタイムアウト対処手順に進みます。画面でノードを選ぶ操作は、コアに取り込まれたリクエストの転送先を決めるだけで、OSのプロキシ設定は変更しません。ポリシーを選んだ後、次の手順で通信を取り込む設定を行います。
03 コアを起動して接続
完了の目安:コアが正常に動作し、PCではシステムプロキシが有効、またはモバイル端末ではVPNの許可と接続が完了している。
PC:まずシステムプロキシを使用
クライアントのホーム画面で起動または接続をタップします。クライアントを開いた時点ですでにコアが動作している場合は、設定の読み込み失敗やポート競合がステータス欄に表示されていないか確認してください。正常に動作していることを確認したら、「システムプロキシ」を有効にします。通常、OSのHTTP・HTTPSプロキシがローカルの待ち受けアドレスを使うように設定されます。Windowsでは「設定 → ネットワークとインターネット → プロキシ」、macOSでは現在のネットワークサービスの詳細設定からプロキシを確認できます。
システムプロキシのアドレスとポートは、クライアントの現在の待ち受け設定に合わせる必要があります。一般的な混合ポートは7890ですが、すべてのクライアントで固定されているわけではありません。クライアントの「設定 → ポート」または現在有効な設定を確認してください。mixed-portは、同じポートでHTTPとSOCKSのプロキシ接続を受け付ける設定です。リモートノードのサービスポートではありません。リモートサーバーのポートを、端末のシステムプロキシに入力しないでください。
ブラウザーや拡張機能で独自のプロキシルールを設定している場合は、まずシステムプロキシを使う設定に戻し、確認項目を減らします。ターミナルのプログラムはシステムプロキシを参照しない場合があり、個別のプロキシ引数や環境変数が必要です。そのため、ブラウザーは接続できるのにターミナルは直接接続されるからといって、クライアントが動作していないとは限りません。初回の確認ではシステムプロキシに従うブラウザーを使い、個別アプリの設定は基本接続を確認してから行います。
モバイル端末:VPNを許可
AndroidやiOSのクライアントでは、通常ホーム画面に起動または接続ボタンがあります。初めてタップすると、システムからVPN接続またはVPN設定の追加を許可するよう求められます。現在インストールしているクライアントからの要求であることを確認して許可してください。クライアントに戻り、接続済みになるまで待ってから、システムのVPN設定も確認します。システムにVPNの表示があるのは通信を取り込むサービスが確立したことを示しますが、リモートプロキシの出口が使えることを保証するものではありません。次の手順で確認してください。
Androidクライアントでアプリごとのプロキシ設定を有効にしている場合は、ブラウザーが通信を取り込む対象に含まれているか確認してください。「選択したアプリのみをプロキシ」と「選択したアプリを除外」は逆の設定です。アプリ名が一覧にあるかどうかだけで判断しないでください。同じ端末の別のVPNサービスが接続に干渉することもあります。テスト中はほかのサービスを切断してください。バックグラウンドの省電力設定に関する問題は、初回接続を確認した後で個別に調べましょう。
TUNを有効にするタイミング
PCでは、まずシステムプロキシで接続をテストしてください。最初からTUNを同時に有効にする必要はありません。システムプロキシに従わないアプリも通信対象にする必要がある場合や、UDPなど明確な要件がある場合に、クライアントのTUNとサービスモードの説明を確認します。TUNでは仮想ネットワークアダプター、ルーティング、権限が関係します。有効化に失敗した場合は、ノードを何度も切り替えるのではなく、サービスコンポーネントと権限を確認してください。詳しい設定と競合への対処はTUNモードのトラブル対処をご覧ください。初回設定でネットワークスタックとサブスクリプション設定を同時に変更するのは避けましょう。
04 接続とルール分岐を確認
完了の目安:新しいリクエストが接続ログに表示され、適用されたルールと実際のポリシーチェーンが想定どおりになっている。
まずリクエストがクライアントに届いているか確認
クライアントを起動したままブラウザーで新しいページを開き、現在の設定でプロキシを使うはずのサイトにアクセスします。次にクライアントの「接続」または「アクティブ接続」画面に戻り、ドメイン名で検索して先ほどのリクエストを探します。リクエストはすぐに終了することがあるため、履歴の記録を有効にするか、ログを確認してください。対象ドメイン、適用されたルール、実際のポリシーチェーンを確認します。ホーム画面の稼働状態だけでプロキシが有効になったと判断しないでください。
ページは表示できるのにクライアントに該当する記録がまったくない場合は、ブラウザーがシステムプロキシを使っているか、アプリごとのルールで対象アプリが除外されていないか確認します。ページの内容がキャッシュから表示されている可能性もあります。別の新しいページでリクエストを発生させてください。リクエストがコアに届いていて、ポリシーチェーンにDIRECTと表示される場合は、ノード選択に問題があると決めつけず、適用されたルールがもともと直結を指定していないか確認します。ルールは上から順に照合されるため、先に一致したルールが後の想定より優先されることがあります。
ルール分岐の結果を照合
次に、設定上は直結するはずのサイトにアクセスし、接続画面でダイレクトポリシーが表示されるか確認します。これにより、ルール分岐が正常な状態と、すべてのリクエストがグローバルプロキシを通る状態を区別できます。信頼できる出口確認サービスも利用して、プロキシ経由でアクセスしたときの出口情報を比較してください。出口の変化からわかるのは、そのリクエストの経路が変わったことだけです。すべてのアプリの通信が取り込まれている証明にはならず、DNSやIPv6の個別確認の代わりにもなりません。
リクエストがプロキシグループに届いているのにページを開けない場合は、対象ドメイン、ルール、ポリシーチェーン、発生時刻を記録し、グループ内の別の利用可能なポリシーを試します。そのほかの設定は変更しないでください。一度に変更する項目を一つにすれば、ノード、ルール、通信を取り込む方法のどれに原因があるか切り分けられます。DNSエラー、証明書エラー、特定のアプリだけで起きる問題は、トラブル対処ガイドで症状に沿って確認してください。最初から設定全体を削除したり、DNS設定を一斉に変更したりする必要はありません。
設定の確認と日常の終了方法
接続を確認したらサブスクリプション画面に戻り、手動更新を一度実行します。更新後も現在の設定が読み込まれ、メインのプロキシグループの選択が想定どおりか確認してください。リモートサブスクリプションの更新間隔はサービス提供元の案内に従って設定すればよく、何度も更新する必要はありません。Clashのカスタムルールを追加する場合は、クライアントのオーバーライド機能を優先して使い、次回の更新でローカルの変更が上書きされないよう、先に設定と使い方のヒントを確認してください。
普段はルールモードを使い、モードの変更はトラブルの切り分け時だけにします。PCのクライアントを終了する前にシステムプロキシを無効にするか、クライアントがシステム設定を自動で戻したことを確認してください。モバイル端末では切断ボタンを使ってVPNを終了します。クライアント終了後にブラウザーでインターネットへ接続できなくなった場合は、サブスクリプションの問題と決めつけず、端末にローカルプロキシの設定が残っていないか確認してください。次回の起動時は「現在の設定、プロキシグループ、通信の取り込み」の順に確認します。