ステップ1:サブスクリプションを追加して設定を有効化
始める前に、Clashまたはmihomoに対応したサブスクリプションURL、または手元にあるYAML設定ファイルを用意します。クライアントには利用可能なプロキシノードは付属しません。サブスクリプションに含まれるノードや有効期限、利用条件はプロバイダーによって異なります。サービスページのアカウント画面、WebページのURL、サブスクリプションURLは別のものです。「Clash」または「mihomo」形式と明記されたリンクをコピーし、ブラウザーのアドレスバーに表示されたログインページのURLを使わないでください。
クライアントを開き、「設定」または「サブスクリプション」画面から「新規作成」「追加」「インポート」などの項目を探します。リモートURLを選び、サブスクリプションURL全体を入力して、「普段使い」など判別しやすい名前を付けてください。貼り付けた後は、URLの先頭と末尾が欠けていないか確認します。チャットの改行、引用符、文末の句読点が混入しないよう注意してください。サブスクリプションURLにはアクセス情報が含まれることが多いため、公開コメントに投稿したり、URL全体が見える状態で問い合わせ用のスクリーンショットを共有したりしないでください。
「ダウンロード」「インポート」「保存」などをクリックし、取得が完了するまで待ちます。通常は一覧に新しい設定が表示され、更新日時やインポート結果を確認できます。次にその設定を選び、現在使用する設定として有効にします。インポート後に自動で切り替わらないクライアントもあります。その後、「プロキシ」画面を開き、プロキシグループと出力先の選択肢が表示されることを確認してください。設定カードだけが表示され、選択肢が何もない場合は、すぐにTUNを有効にするのではなく、まず設定が有効になっているか確認します。
ローカルファイルを使う場合は、「ファイルからインポート」を選び、YAMLファイルを指定して追加します。拡張子は.yamlまたは.ymlです。重要なのは、内容が現在のコアでサポートされている設定形式に準拠していることです。サブスクリプションのダウンロード失敗時に表示されたWebページを、YAMLとして保存して使わないでください。インポート時に解析エラーが出たら、エラーメッセージに記載された行番号を確認し、ファイルの形式も見直します。各項目の詳しい説明は設定リファレンスを参照してください。初回設定で項目を一つずつ手作業で書き直す必要はありません。
サブスクリプションを取得できない場合は、まず提供元を確認
ダウンロードがタイムアウトする場合は、まずデバイス自体がインターネットに接続できることを確認し、提供元のページでURLが更新されていないか、サブスクリプションが有効かを確認します。アクセス拒否や内容が空の場合は、アカウントとURLを優先して確認してください。YAMLの解析エラーが出る場合は、正しい形式のリンクをコピーしたか見直します。無効なURLは、インポートを繰り返しても解決しません。サブスクリプションの取得に既存のネットワーク接続が必要な場合は、提供元の案内に従ってください。個人用のサブスクリプションを、見知らぬ変換サイトに安易に貼り付けないようにしましょう。
インポートに成功したら、その設定の「更新」項目を見つけ、手動で更新する方法を確認しておきます。リモートサブスクリプションの更新でノードやプロキシグループが置き換わることがあり、サブスクリプションの内容を直接編集しても上書きされる場合があります。初回設定では既存のルールを維持し、継続的にカスタマイズする必要が出てから、設定リファレンスのオーバーライドとマージの説明を確認してください。現在の設定が有効で、プロキシグループが表示されていることを確認したら、モードを選びます。
ステップ2:プロキシモードと出力先を選択
クライアントのホーム画面または「プロキシ」画面に戻り、「ルール/グローバル/ダイレクト」のモード選択を探します。初めて使う場合は「ルール」がおすすめです。この3つは、コアが受け取った通信の出力先を決めるもので、すべてのアプリの通信を自動的にクライアントへ取り込む機能ではありません。そのため、ルールモードを選んだ後に、次のステップでシステムプロキシまたはVPNによる通信の取り込みも有効にします。モードを切り替えただけで取り込みを有効にしていないと、ブラウザーは引き続き従来のネットワーク経路を使う場合があります。
ルールモードでは、設定に記載された順に通信を照合し、最初に一致したルールで出力先が決まります。設定によっては、あるドメインを直接接続し、別のドメインをプロキシ経由にしたり、広告ブロックなどの専用ルールに振り分けたりします。実際の動作は現在の設定によって異なり、すべてのサブスクリプションが同じ振り分け方をするわけではありません。特定のWebサイトがダイレクト接続になっていても、必ずしも接続失敗とは限りません。適用されたルールが想定どおりか確認してください。
グローバルモードでは、コアに渡された通信をすべてグローバル設定の出力先に送ります。一時的な比較テストには便利ですが、デバイス全体の通信を取り込めるという意味ではありません。ダイレクトモードでは、コアに渡された通信をプロキシノード経由にせず、接続先へ直接送ります。「ルール/グローバル/ダイレクト」は出力先を決める設定で、「システムプロキシ/TUN/VPN」は通信をクライアントに取り込む方法です。それぞれ異なる目的の設定です。
ルールモードを選んだら、プロキシグループの一覧を開き、現在の設定でメインのプロキシ出口として使われているグループを探します。「PROXY」「ノード選択」など名称はさまざまです。設定内容と接続ログを基準に判断してください。グループ内の利用可能なノードを選び、選択状態が変わったことを確認します。「自動選択」サブグループを選んだ場合は、そのグループを開き、選択可能なノードが含まれているか確認します。ルールから参照されていないグループだけを切り替えても、実際の通信は従来の出力先を使い続ける場合があります。
ノードのテスト結果は候補選びの目安
クライアント内蔵の接続テストで候補ノードを確認できますが、結果が示すのは指定されたテスト先への、その時点での接続状況に限られます。テストに成功したノードでも、すべてのWebサイト、プロトコル、アプリに接続できるとは限りません。逆に、テスト先に接続できなくても、すべての通信が失敗するとは限りません。まず利用可能な候補を1つ選んで動作確認を進め、実際のアクセス状況を見て調整しましょう。初期設定の段階で、すべての選択肢を一つずつ試す必要はありません。
この時点で、現在使う設定が選択され、ルールから実際に参照されるプロキシグループの出力先も決まっている状態が理想です。グループが空、ノードが見つからない、設定エラーが表示される場合は、ステップ1に戻って確認してください。全体モードに切り替えて設定の問題を覆い隠さないようにしましょう。モードやプロキシグループの違いは、ヘルプセンターでも確認できます。次はアプリの通信をクライアントに取り込みます。
ステップ3:システムプロキシまたはVPN接続を有効化
まずクライアントのホーム画面で、コアの動作状態を確認します。多くのGUIクライアントはアプリの起動時にコアを起動しますが、別途「起動」または「接続」ボタンが必要な場合もあります。起動に失敗した場合はログを開き、ポートの競合、設定の解析エラー、権限不足がないか確認してください。ノードを何度も切り替えるのではなく、表示された起動エラーに対処します。コアが正常に動作したら、デバイスに応じて通信の取り込みを有効にします。
デスクトップで初めて動作確認する場合は、まず「システムプロキシ」を有効にします。この設定を有効にすると、システムプロキシの接続先がクライアントのローカル待ち受けアドレスに切り替わり、システムプロキシに従うブラウザーやアプリの通信がコアに渡されます。有効にしたままクライアントを起動しておき、新しいブラウザーウィンドウを開いてWebページにアクセスしてください。アプリ独自のプロキシ設定を使うものや、システムプロキシを参照しないものもあります。そのため、ブラウザーは接続できても別のアプリが接続できないからといって、サブスクリプションに問題があるとは限りません。
モバイルでは通常、ホーム画面の「接続」または起動ボタンをタップします。システムから初めてVPN設定や接続の許可を求められたら、インストールしたクライアントからの要求であることを確認して許可します。その後アプリに戻り、接続状態を確認してください。ステータスバーのVPNアイコンはシステムの通信経路が確立したことを示しますが、実際の出力先はステップ4で確認する必要があります。別のVPNアプリが接続中の状態で同時に起動しないでください。システムの通信経路が切り替わり、起動したばかりのクライアントが切断されることがあります。
必要な場合に限りTUNを有効化
対象のアプリがシステムプロキシに従わない場合は、TUNの利用を検討できます。TUNは仮想ネットワークインターフェースを通じて、ルーティング設定に合致する通信を取り込みます。サービスのインストール、管理者権限、システムのネットワーク拡張機能への許可が必要になる場合もあります。クライアントに用意された項目から設定し、システムの案内に従ってインストールと許可を行ってください。有効化に失敗したら、まず具体的なエラーを確認します。システムのセキュリティ機能を安易に無効にしたり、不明な配布元から修復用ドライバーをインストールしたりしないでください。
初回のトラブル対処では、通信の取り込み方法をできるだけ1つに絞ります。まずシステムプロキシで動作を確認し、その後、必要に応じてTUNへの切り替えや併用を検討してください。具体的な組み合わせはクライアントの説明に従います。複数のプロキシツールを同時に動かすと、システム設定の上書き、ルートの変更、同じ待ち受けポートの競合が起こることがあります。ほかのツールと不要なブラウザープロキシ拡張をいったん無効にし、確認項目を減らしましょう。仮想ネットワークアダプター、DNSの取り込み、stackの詳細な設定値はTUN設定リファレンスを参照してください。このページでは応用設定には踏み込みません。
ここまで完了したら、クライアントを起動したままにし、選択した設定とモードを維持して、システムプロキシまたはVPNによる通信の取り込みを有効にします。まずは一連の通信を確認し、スタートアップ、バックグラウンド維持、複雑なオーバーライド設定はまだ行わないでください。クライアントを終了するときは「切断」または「終了」から操作し、変更したネットワーク設定を元に戻します。異常終了後にネットワークへ接続できなくなった場合は、停止したクライアントを指すプロキシ設定がシステムに残っていないか確認してください。
ステップ4:アクセスとルールの適用を確認
新しいブラウザーウィンドウを開き、アクセス可能だと分かっているWebページに接続すると同時に、クライアントの「接続」または「ログ」画面を開きます。先ほどの通信が記録に表示されているか確認し、対象ドメイン、適用されたルール、出力先を確認してください。表示項目はクライアントによって多少異なりますが、確認すべき点は共通です。通信がコアに届いているか、届いた後にどのポリシーへ渡されたかを確認します。
Webページが開けただけでは、プロキシが有効になったとは判断できません。もともとダイレクト接続できるページや、ブラウザーのキャッシュが表示されている可能性があります。現在の設定で、ダイレクト接続が想定される接続先と、プロキシ経由が想定される接続先をそれぞれ選び、再度アクセスしてログの結果を確認してください。DIRECTに一致した場合は、ルールの想定どおりか確認します。プロキシポリシーに一致した場合は、ホーム画面のモード名だけでなく、最終的に選択されたノードも確認してください。
補助的な確認として、信頼できるIPアドレス確認サービスを使い、切り替え前後の結果を比較する方法もあります。ただし、それだけを根拠に判断しないでください。ルールモードでは確認サービスがダイレクト接続になる場合があり、ブラウザーのキャッシュ、アプリ独自のプロキシ設定、既存の接続も結果に影響します。接続ログと実際のアクセス結果を組み合わせて確認する方が、IPアドレスだけを見るより確実です。ノードを切り替えた後は、新しい通信を開始してください。すでに確立した長時間接続は、すぐに新しい出力先へ切り替わるとは限りません。
確認に失敗したら段階的に原因を絞り込む
ログに対象の通信がまったく表示されない場合は、まず通信の取り込み方法を確認します。システムプロキシが有効か、モバイルのVPN接続が維持されているか、ブラウザーに独自のプロキシ設定がないか確認してください。ログに表示されても出力先が想定と異なる場合は、ステップ2に戻り、適用されたルールと対応するプロキシグループを確認します。ポリシーが正しいのに接続がタイムアウトする場合は、別の候補ノードで再試行し、サブスクリプションの状態も確認してください。最初からモード、DNS、TUNを同時に変更すると比較できなくなるため、一度に変更する項目は1つに絞ります。
ログに名前解決の失敗が表示された場合は、DNSの設定を確認します。まずデバイスの基本的なネットワーク接続を確認し、クライアントの初期設定は維持したまま、エラーが発生したドメイン名と時刻を記録してください。Fake-IPを使っている場合、予約アドレスの割り当てが表示されても、必ずしも異常ではありません。見慣れないアドレスだからといって、このモードを無効にしないでください。DNS設定項目の意味と適用範囲はDNS設定リファレンスを参照してください。ポートの競合、権限のエラー、特定のアプリが通信できないといった問題は、ヘルプセンターで症状から確認できます。
Webページにアクセスでき、ログのルールと出力先も想定どおりなら、初期設定は完了です。現在使用している設定名、通信の取り込み方法、メインのプロキシグループを記録しておき、変更するときは一度に1項目だけ調整してください。サブスクリプションを更新した後も同じ方法で確認し、特にノード名やプロキシグループが変わっていないか注意します。問い合わせる場合は、クライアント名、OSのバージョン、エラーメッセージ、試した操作を伝えてください。スクリーンショットを共有する前に、サブスクリプションURL、アカウント情報、個人の閲覧履歴を隠してください。