1. サブスクリプションを追加して設定を選択する
始める前に、インストール済みのクライアントと、信頼できるサービス提供元から入手したClash対応サブスクリプションURLまたはローカルのYAML設定ファイルを用意します。クライアントは設定の読み込み、ポリシーの選択、接続の処理を行います。インストールしただけでは、利用可能なプロキシがあるとは限りません。サブスクリプションURLには通常、アクセスに必要な認証情報が含まれます。パスワードと同じように管理し、公開コメント欄に投稿したり、URL全体を不明なオンライン変換サイトに渡したりしないでください。
設定画面を開き、リモートサブスクリプションを追加する
クライアントを起動し、ナビゲーションから「設定」「サブスクリプション」または「Profiles」を開きます。「追加」「インポート」またはプラス記号のボタンをクリックします。種類を選ぶ画面が表示されたら、「リモート設定」または「URL」を選択してください。サービス提供元のサブスクリプションURL全体を入力欄に貼り付け、先頭や末尾に空白、改行、チャットアプリが付け加えた句読点がないことを確認します。「日常用」など、用途がわかる名前を付けて保存またはインポートします。
保存すると、通常はコンテンツのダウンロード後に設定の解析が始まります。処理が終わるまで待ち、名前や更新日時、更新操作が表示された設定カードが追加されたことを確認してください。解析エラーが表示された場合は、接続ボタンを何度も押さないでください。コピーしたものがサブスクリプションURLであり、サービスサイトのトップページやアカウント管理ページ、個別ノードの共有テキストではないことを確認します。形式によってはそのまま互換利用できないため、初めて使う場合は、利用中のクライアントまたはmihomoへの対応が明記されたサブスクリプションを選びましょう。
ローカルファイルをインポートし、現在の設定を確認する
.yamlまたは.ymlファイルを入手した場合は、同じ画面で「ファイルからインポート」を選び、システムのファイル選択画面から開きます。インポート後は元ファイルのコピーを保管し、ポートやDNSをすぐに変更する必要はありません。設定が解析できたら、インポートした設定カードをクリックするか、メニューから「使用」「有効化」を選びます。選択マークが表示される、または現在の設定名が変われば、その設定を使う準備ができています。
続いて「プロキシ」画面を開きます。設定で定義されたポリシーグループと、グループ内のノード、ほかのポリシーグループ、DIRECTの選択肢が表示されているはずです。リストが空の場合は、設定画面に戻って正しい項目が選択されているか、設定のダウンロードが完了しているかを確認します。リモートプロキシのプロバイダーを使う設定では、取得が終わるまで選択可能なノードが一時的に表示されないこともあります。クライアントの更新機能で内容を取得し、適当なノード名を追加してリストを埋めないでください。
初回の動作確認前に、サブスクリプションを何度も更新する必要はありません。まず現在の設定で一連の手順を完了し、その後、サービス提供元の推奨に従って更新間隔を設定してください。ローカル設定とリモート設定の違いは、用語集の設定構成に関する説明をご覧ください。YAMLを手動で編集する場合は、設定項目リファレンスを参照してください。
2. プロキシモードとノードを選ぶ
設定を有効にしたら、次に「接続をどのように処理するか」を決めます。クライアントのホーム画面、プロキシ画面、または設定画面で「モード」の選択欄を探してください。「ルール」「グローバル」「DIRECT」のほか、英語でRule、Global、Directと表示されることもあります。初回はルールモードがおすすめです。サブスクリプションに設定済みのルールに、各種リクエストをプロキシ経由にするか直接接続するかを判断させることで、複数の設定を一度に変更せずに済みます。
まずはルールモードを選び、モードの適用範囲を理解する
ルールモードでは、設定内のルールを上から順に照合し、最初に一致したルールに指定されたポリシーで接続を処理します。ウェブサイトによっては直接接続され、別のサイトはプロキシグループを経由することがあります。そのため、接続中と表示されても、すべてのサイトが同じ出口を使うとは限りません。経路はサブスクリプションの内容によって決まるため、モード名だけでは特定サイトの経路を判断できません。実際の接続記録に表示される適用ルールとポリシーを確認してください。
グローバルモードでは、カーネルに渡された接続をグローバルポリシーで処理します。ルールがアクセスに影響しているか一時的に比較する場合に便利ですが、切り替えた後はグローバルポリシーで何が選択されているかも確認してください。DIRECTモードでは、カーネルに渡された接続が接続先へ直接アクセスします。一時的な切り分けや、明示的に直接接続したい場合に使います。ここでいう「グローバル」とはカーネルのルーティング判断を指し、端末内のすべてのアプリを自動的に対象にする意味ではありません。アプリの通信がカーネルに渡るかどうかは、システムプロキシ、VPN、TUNなどの接続方式によって異なります。
主要なポリシーグループで利用可能なノードを選ぶ
ルールモードのまま、サブスクリプション内で主なプロキシ用途を担うポリシーグループを探します。「プロキシ選択」「ノード選択」など、名称はチュートリアルと完全に一致しなくても構いません。グループを開き、手動選択タイプであれば、サービス提供元の利用可能なノードを一つ選びます。ノードの横に選択マークが表示されたことを確認してください。現在選択中の項目が別のポリシーグループなら、手動ノード、自動選択グループ、DIRECTのどれが最終的に使われるか確認できるまで、さらに下の階層を開きます。
「自動選択」「フォールバック」などのグループは、設定条件に基づいてカーネルがメンバーを選ぶため、ノードを一つずつ手動で固定する必要はありません。初回のテストではサービス提供元の初期設定を使うか、手動選択できる主要グループでノードを指定すると、後から比較しやすくなります。グループ内のテストボタンで確認できるのは、通常、指定されたテスト先への到達性だけです。すべてのウェブサイトにアクセスできる保証にはならないため、テストが成功しても最後に実際のウェブページで確認してください。
ポリシーグループでDIRECTが選択されている場合、そのグループで処理される接続は接続先へ直接アクセスします。これはプロキシノードではありません。ルールが参照している可能性があるため、名称をそろえる目的でポリシーグループを変更しないでください。モードがルールになっていること、主要グループに想定した選択肢があることを確認したら、接続の設定に進みます。モードとポリシーグループの詳細は、用語集の動作モードとルールによる振り分けをご覧ください。今回の設定で、すべての設定構文を把握する必要はありません。
3. 接続を有効にしてシステムの許可を行う
ここまでで、クライアントは使用する設定とポリシーの選び方を把握していますが、アプリの通信がカーネルに渡っているとは限りません。次に、利用中のプラットフォームで接続の入口を有効にします。初回設定では、システムプロキシ、ルーティング、DNSの設定が競合しないよう、ほかに起動しているプロキシやVPNアプリを終了してください。複数の通信取り込み方式を同時に有効にする必要はありません。まずは最もシンプルな方法で動作を確認し、その後、ほかのアプリを接続する必要があるか検討しましょう。
デスクトップ:カーネルの起動を確認してシステムプロキシを有効にする
Windows、macOS、Linuxのクライアントでは、まずホーム画面にカーネルの起動状態が表示されているか確認します。「起動」または「接続」のボタンが独立している場合は、先にクリックしてください。クライアントと同時にカーネルが自動起動する場合は、そのまま「システムプロキシ」を有効にします。システムプロキシを設定すると、この設定に従うアプリのリクエストがローカルプロキシポートに送られます。ほとんどのブラウザーは初回テストに適していますが、すべてのアプリがシステムプロキシを利用するわけではありません。
有効にする際、システムからプロキシ設定の変更、補助サービスのインストール、またはデバイス管理者パスワードの入力を求められることがあります。インストールしたばかりのクライアントからの要求であることを確認し、システムの案内に従ってください。許可したらクライアントに戻り、スイッチが有効のままになっていることを確認します。一瞬だけ点灯してすぐにオフに戻る場合は、ログを確認してください。ポートの競合が記録されている場合は、古いクライアントがバックグラウンドで動いていないか調べます。画面上のポートだけを変更し、別のアプリのプロキシ設定が古いポートを参照したままにならないよう注意してください。
macOSでは、クライアントによってネットワーク機能拡張や補助コンポーネントの許可が必要です。クライアントの案内に従ってシステム設定で許可してください。Linuxのデスクトップ環境ではシステムプロキシの対応状況が一様ではありません。ブラウザーに接続記録が残らない場合は、システムプロキシを使う設定になっているか確認します。最初からすべてのアプリにアドレスやポートを手入力する必要はありません。まず一つのブラウザーから現在の接続方式でアクセスできることを確認し、その後、ほかのアプリを設定しましょう。
スマホ:接続してVPN設定を許可する
AndroidまたはiOSでクライアントのホーム画面に戻り、「接続」「開始」またはメインスイッチをタップします。初回起動時は、通常、システムからVPN設定の追加またはVPN接続の確立を求められます。アプリ名を確認して許可してください。iOSでは、さらにデバイスのロック解除による確認が必要な場合があります。完了したらクライアントに戻り、接続状態が維持されているか確認します。ステータスバーにVPNアイコンが表示されるかどうかは、OSのバージョンや表示領域によって異なるため、アイコンだけで接続結果を判断しないでください。
接続直後に切断される場合は、まずクライアントのログを開き、設定の解析エラー、許可の未完了、ほかのVPNによる競合などの通知を確認します。Androidクライアントで「アプリごとのプロキシ」を有効にしている場合は、テストに使うブラウザーが対象に含まれているか確認してください。対象外だと、クライアントが接続中でもブラウザーは通常のネットワークを使うことがあります。初回テストはできるだけ初期設定の対象範囲を使い、ブラウザーを誤って除外したままDNSを変更しないようにしましょう。
TUNは通信を取り込む別の方式です。デスクトップでは、より多くのアプリを対象にしたい場合に使われ、サービスモードや追加の権限が必要になることがあります。初回のウェブ閲覧に必須ではなく、プロキシモードのグローバルとも異なります。まずは現在動作している接続方式を維持してください。システムプロキシに従わないアプリも接続したい場合は、設定項目リファレンスでTUN、DNS、ルーティングの設定を確認し、初回接続時に複数のネットワーク設定を一度に変更しないようにしましょう。
4. ウェブページと接続ログを確認する
接続中の表示は、クライアントやシステムのトンネルが動作していることを示すだけで、対象サイトにアクセスできるとは限りません。現在の設定、モード、ノードは変えずに、まずブラウザーで新しいタブを開き、普段アクセスできるサイトを表示して基本のネットワーク接続を確認します。次に、プロキシ経由でアクセスする想定のサイトを開いてください。既存ページを確認するより、新しいリクエストを発生させる方が確実です。古いページにはキャッシュが表示されていたり、既存の長時間接続が設定変更後も再確立されていなかったりする場合があります。
接続ログを照合してリクエストの経路を確認する
対象のウェブページを開きながら、クライアントの「接続」「アクティブ接続」または「ログ」画面に切り替えます。対象ドメインで、直前に発生したリクエストを探し、適用されたルール、使用されたポリシーグループ、画面で確認できる実際の出口情報を確認してください。ルールによってDIRECTに振り分けられている場合、ページが開いてもプロキシを経由したことにはなりません。想定したプロキシポリシーに渡された記録があれば、設定どおりの経路でリクエストが処理されたと確認できます。表示項目はクライアントごとに異なるため、列名が完全に一致するかではなく、確認できる情報を照合してください。
ウェブページは開くのに対応する接続記録がない場合は、新しいリクエストが実際に発生したかを確認してから、ブラウザーがシステムプロキシを使っているか、スマホでアプリごとのプロキシの対象から外れていないかを調べます。ブラウザー拡張機能が独自のプロキシ設定を適用している場合もあるため、テスト中は該当する拡張機能を一時的に無効にしてください。履歴ログではなく接続リストを使っている場合、リクエスト終了後すぐに表示が消えることがあります。ページを再読み込みしながら確認し、リストが一時的に空だからといってクライアントが動いていないと判断しないでください。
出口のIPアドレスも確認したい場合は、信頼できるIP確認サービスにアクセスし、接続を切ったときの結果と比べられます。ただし、これは補助的な確認方法です。ルールモードでは、IP確認サイト自体がDIRECTに振り分けられることがあります。ブラウザーのキャッシュやサイトの位置情報によって表示が変わる場合もあります。「表示地域が変わらない」だけでプロキシ全体が無効だと判断せず、まず該当リクエストにどのポリシーが適用されたかを確認してから、ルールやノードを調整しましょう。
接続できない場合は決まった順序で確認する
対象サイトにアクセスできない場合は、まず設定画面に戻り、現在の設定が切り替わっていないことと、サブスクリプションの内容やプロキシグループが読み込まれていることを確認します。次にプロキシ画面で、主要グループが誤ってDIRECTや利用できないメンバーを選択していないか確認してください。その後、デスクトップではシステムプロキシが有効か、スマホではVPN接続が維持されているかを確認します。ここまで済んだら、エラー発生時のログを読み、サブスクリプションのダウンロード、ノードへの接続、ドメイン名の解決、対象サイトからの応答のどの段階で問題が起きたかを切り分けます。
一度に変更する条件は一つだけにします。たとえば、同じポリシーグループ内でサービス提供元の別のノードに切り替え、新しいリクエストを発生させて結果を確認します。ノードの変更、グローバルモードへの切り替え、TUNの有効化、DNSの書き換えを同時に行うと、復旧しても原因を特定できません。一時的にグローバルモードへ切り替えてアクセスが回復した場合は、ルールやポリシーの選択を詳しく確認する必要があります。ただし、グローバルポリシーと元のグループが同じノードを使っているかも確認し、一度の切り替えだけでDNSが原因だと決めつけないでください。
DNSやFake-IPの意味を確認したい場合は、まず用語集をご覧ください。設定項目、ルールの順序、上書きの動作を変更する場合は、設定項目リファレンスを参照します。サービス提供元に問い合わせる際は、クライアント名、OS、エラーが発生した手順、個人情報を伏せたエラー内容を伝えてください。サブスクリプションURL全体や、アクセス認証情報を含む設定ファイル全体は送信しないでください。
初回の動作確認が終わってから、必要に応じて自動更新、OS起動時の自動起動、ほかのアプリの接続を設定します。設定を一つ追加するたびに、ウェブページと接続ログを照合して動作を確認し、正常に使えた設定のコピーを保管してください。問題が起きても、最初からすべてをやり直すのではなく、動作確認済みの状態に戻して切り分けられます。