Clashのトラブルシューティング
問題が起きている段階に合わせて確認してください。まず設定と通信の入口を確認し、次に出口、DNS、ルールを調べます。結果を比較しやすくするため、一度に変更する設定は一つにしてください。
基本知識
クライアント、コア、設定の役割を区別し、インストールの完了と接続可能な状態を混同しないようにしましょう。
Clashクライアント、mihomoコア、サブスクリプションの役割は?
Clashクライアントは、設定のインポートやモード切り替え、システムプロキシ、ログ確認などの画面を提供します。mihomoコアは接続の処理、ルールの適用、DNSの名前解決を担います。サブスクリプションは設定を取得する方法で、通常はプロキシサーバー、グループ、ルールが含まれます。内容は提供元によって異なります。クライアントをインストールしただけでは、利用可能なプロキシサービスは使えません。トラブル時は、まず設定が読み込めることを確認し、次にサブスクリプション内のサービスが有効かを確認します。最後に、システムの通信がコアに届いているかを調べます。画面が起動しただけで、接続が機能していると判断しないでください。
ルールモード・グローバルモード・ダイレクトモードはどう使い分ける?
ルールモードは設定内のルールに従って接続ごとにポリシーを選ぶため、日常的な通信の振り分けに適しています。グローバルモードでは、コアに届いた通信にグローバルポリシーを適用しますが、利用可能な出口の選択は必要です。ダイレクトモードでは、コアに届いた通信を宛先へ直接接続します。初めて使う場合は、ルールモードから始めるのがおすすめです。特定のサイトを調べる際は、一時的にグローバルモードへ切り替えて比較できます。グローバルモードでは接続できるのにルールモードではできない場合、ルールの適用状況とグループの選択を確認してください。グローバルモードに切り替えても、すべてのアプリの通信が自動で取り込まれるわけではありません。システムプロキシやTUNなど、通信の入口も正しく設定する必要があります。
サブスクリプションURLとローカルのYAML設定は何が違う?
サブスクリプションURLは、リモートから設定を取得するためのものです。更新すると、提供元の内容が再ダウンロードされます。ローカルのYAML設定はユーザーが保存・編集するもので、通常はリモートの更新が自動反映されません。インポートできるかどうかはファイル名ではなく、設定形式とコアの対応状況によって決まります。サブスクリプションから生成された設定を編集する場合は、更新時に変更が上書きされないか、事前にクライアントの仕様を確認してください。独自ルールを長期的に保持するには、クライアントが対応するオーバーライド機能を使うのがおすすめです。バックアップ時には設定名と取得元も記録し、スクリーンショットやログを共有する前にサブスクリプションURL内の認証情報を隠してください。
Clashの無料ノードは日常的な接続に使える?
Clashクライアントに、どこでも使えるプロキシサービスが付属しているわけではありません。公開されている無料ノードはいつ使えなくなるかわからず、運営者やデータの取り扱いも明確とは限りません。利用前に提供元、利用条件、サービスの許可範囲を確認してください。ノードをインポートするために、見知らぬ証明書をインストールしたり、アカウントのパスワードを入力したりしないでください。公開設定によってDNS、ルール、外部コントロール用のインターフェースが変更される場合もあるため、インポート後に内容を確認しましょう。接続できたとしても、それはその時点で通信できたことを示すだけで、長期的な安定性やプライバシーが保証されるわけではありません。ログインや決済を行う際は、HTTPS証明書の検証を有効にしてください。
インストールと設定
インストーラー、設定の取得元、現在の設定、権限の順に確認して準備しましょう。
OSとCPUアーキテクチャに合ったインストーラーの選び方は?
まずシステム情報でOSのバージョンとCPUアーキテクチャを確認し、対応するインストーラーを選びます。Windowsではx64とARM64、macOSではIntelとApple Siliconを区別してください。Androidはarm64やarmが一般的ですが、汎用パッケージが使えるかはダウンロードページの説明を確認しましょう。Linuxでは、ディストリビューションに応じてdebパッケージとrpmパッケージを選ぶ必要があります。端末の外観だけでアーキテクチャを判断したり、コアのアーカイブをGUIクライアントと取り違えたりしないでください。OSにインストールをブロックされた場合は、配布元と互換性を確認してから、表示された案内に従って対処しましょう。システムのセキュリティ設定をすべて無効にするのは避けてください。
サブスクリプションをインポートできない・更新に失敗するときの確認事項は?
まずサブスクリプションURLが完全か、空白や改行が混ざっていないか、WebページのURLをコピーしていないか確認します。次にクライアントのログでエラーの詳細を確認してください。401または403の場合は、認証とアカウントの状態を確認します。404の場合はURLが変更されていないかを調べます。タイムアウトの場合は、ネットワークに接続できないのか、サーバーが応答しないのかを切り分けます。ログインページが返された場合や形式に対応していない場合は、Clashコアに対応した設定を取得し直してください。レート制限を避けるため、更新を何度も繰り返すのはやめましょう。現在使える設定を残したうえで、提供元に有効期限、通信量、URLの状態を確認してください。
設定をインポートした後、適用されたことを確認するには?
インポート後、設定画面で対象の項目を現在の設定として選び、構文エラーや読み込み失敗の表示がないことを確認します。次にプロキシ画面で、ルールから使用されるグループに利用可能な出口を選び、システムプロキシを有効にしてください。スマートフォンでは、システムによるVPN接続の作成も許可する必要があります。対象サイトを開き、接続画面やログに該当するリクエストとルールの適用結果が表示されるか確認しましょう。リクエストが見つからない場合は、ノードを次々に切り替えるのではなく、まず通信の入口を調べてください。設定の切り替えは新しい接続に反映されます。既存の長時間接続には以前のポリシーが使われる場合があるため、関連アプリを終了してから再確認してください。
TUNモードで権限不足と表示されたときの対処法は?
TUNモードは仮想ネットワークインターフェースを作成してルーティングを変更するため、通常は管理者権限、クライアントのサービス、またはシステムのVPN許可が必要です。Windowsではクライアントの案内に従ってサービスモードをインストール・起動し、TUNを再度有効にしてください。macOSでは未完了の権限確認がないか調べます。Linuxでは実行ユーザー、必要な権限、仮想インターフェースへの対応を確認してください。スマートフォンではVPN接続の許可が拒否されていないか確認します。それでも失敗する場合は、ログに記録されたインターフェース作成やルート設定のエラーを確認し、ほかのVPNがリソースを使用していないか調べてください。まずTUNを無効にしてネットワークを復旧し、その後、一つずつ対処します。DNSとルーティングの設定を同時に変更しないでください。
インポート手順の詳細は使い方ガイドをご覧ください。OSとインストーラーの選び方はClashダウンロードページをご覧ください。
使い方
自動起動、設定の切り替え、通信の振り分けは、画面上の表示だけでなく新しい接続で動作を確認しましょう。
Clashの自動起動と自動接続は別々に設定する必要がある?
自動起動で開始するのはClashクライアントであり、システムプロキシ、TUN、前回使用した設定が自動で有効になるとは限りません。まずクライアントの設定で自動起動を有効にし、プロキシ状態の復元やコアの起動に関する項目があるか確認します。最後に、いったんシステムからログアウトして再ログインし、実際の動作を確認してください。Windowsではサービスモードとユーザー画面の自動起動が別々の設定になっている場合があります。スマートフォンではバックグラウンド動作やバッテリー設定の影響も受けます。再起動後に接続できない場合は、現在の設定と認証状態を確認してから、コアが動作しているか調べてください。タスクトレイのアイコンだけで、通信がプロキシ経由になっていると判断しないでください。
複数のサブスクリプションを管理し、切り替え後のルールの混乱を防ぐには?
設定ごとに、取得元と用途がわかる名前を付け、更新間隔、グループ、独自のオーバーライドを記録してください。多くのクライアントでは、現在の設定を切り替えると設定全体が読み込まれ、複数のサブスクリプションが自動で統合されるわけではありません。そのため、以前選んでいたグループ名が新しい設定には存在しないことがあります。切り替え後は主要なグループを確認し、対象のリクエストにどのルールが適用されたかを調べてください。プロキシの取得元を統合する場合は、対応が明記されたプロキシプロバイダーや統合機能を使い、同名項目の競合を避けます。リモート更新の前にバックアップを取り、動作を確認してから普段使う設定を入れ替えてください。使える設定ファイルを一つしか持たない状態で、直接上書きするのは避けましょう。
ルールモードで特定のサイトが意図しない出口を使うときの確認方法は?
まず接続画面で対象サイトのリクエストを見つけ、宛先ドメイン、適用されたルール、最終的なポリシーを記録します。ルールは通常上から順に評価されるため、先に一致した範囲の広いルールが、後にある詳細なルールより優先されることがあります。グループでダイレクト接続や別の出口が選ばれていないかも確認してください。接続先がIPアドレスだけで表示される場合は、DNSとドメインの識別が設定の想定どおりかを調べます。ルールを追加する際は、明確なドメイン条件を指定し、先に一致するルールより上に配置してください。変更後は新しい接続を作ってテストします。古い接続を再利用しているページを更新するだけでは不十分です。また、元のルールを特定せず、範囲の広すぎるルールで置き換えるのも避けてください。
ClashのFake-IPとは?設定を変更すべきケースは?
Fake-IPでは、ドメインに対して対応付け用のIPアドレスを返し、コアがその対応関係からドメインを復元して接続を処理します。実際のサーバーアドレスではありません。正常に使うには、DNSリクエストとその後の接続が、適切な経路で処理される必要があります。LAN内のデバイス検出、特定のゲームやアプリで明らかな互換性の問題が起きた場合は、まずログを確認し、機能全体を無効にするのではなく、該当ドメインにフィルタールールを設定してみてください。拡張モードを変更した後は、システムやアプリのDNSキャッシュを消去し、新しい接続を確立する必要がある場合があります。名前解決の結果にマッピング用アドレスが表示されても、それだけで障害とは限りません。リクエストがコアに届いているか、宛先にアクセスできるかをあわせて確認してください。
トラブル対処
リクエストがコアに届いていないのか、ルールの選択が異なるのか、出口への接続に失敗しているのかを切り分けてから対処しましょう。
ノードがタイムアウトする・接続できないときの確認手順は?
まずプロキシを無効にして、通常のネットワーク接続が使えるか確認します。次にサブスクリプションの期限、サーバーアドレスとポートの有効性、システム時刻を確認してください。その後ログを確認し、ドメインの名前解決失敗、接続タイムアウト、認証失敗を切り分けます。名前解決に失敗する場合はDNSを、タイムアウトの場合は接続先への到達性を、認証失敗の場合はサービスの認証情報を確認します。同じ設定内の別の出口を試し、ほかのVPNを一時的に無効にしてルートの競合を除外してください。クライアントのテスト結果が示すのはテスト対象の状態であり、すべてのサイトに接続できることを意味しません。問題が起きたときのログを残し、一度に一つだけ設定を変更して、複数の問題が混ざらないようにしましょう。
システムプロキシを有効にしてもブラウザーやアプリで使えないのはなぜ?
システムプロキシは、この設定に対応したアプリにプロキシの入口を提供するもので、すべてのプログラムが利用するとは限りません。まずコアが動作していること、待ち受けポートとシステムプロキシのアドレスが一致していることを確認します。次に、ブラウザー独自のプロキシ設定や、システム設定を上書きする拡張機能がないか調べてください。Webサイトを開いても接続画面にリクエストが表示されない場合は、通信の入口に問題がある可能性があります。リクエストが表示されてもダイレクト接続になっている場合は、モードとルールを確認してください。一部のコマンドラインツール、ゲーム、特殊なアプリでは、個別にプロキシを設定する必要があります。ルーティングへの影響を理解したうえでTUNを使う方法もあります。ほかのプロキシツールがシステム設定を繰り返し変更していないか確認し、通信を横取りする複数のツールを同時に起動するのは避けましょう。
WindowsのUWPアプリが接続できないとき、ループバック制限を解除するには?
一部のWindowsアプリコンテナーではループバックアクセスが制限されており、ローカルのプロキシポートには接続できない一方、通常のデスクトップブラウザーは使える場合があります。まず問題が該当するアプリだけで起きていることを確認します。次にClashクライアントのUWPループバックツールを使い、案内に従って必要な権限を付与し、必要なアプリだけを例外に追加してください。その後、アプリを完全に終了して再起動します。すべてのアプリをまとめて追加したり、ループバック設定の代わりにファイアウォールを無効にしたりしないでください。例外を追加しても解決しない場合は、アプリがシステムプロキシを使うか、ログにリクエストが記録されているか確認します。TUNは別の通信経路です。利用できるかどうかは、権限やルーティング環境に応じて判断してください。
プロキシ利用時にDNSエラーやHTTPS証明書エラーが起きた場合の対処法は?
まずエラーの種類を確認してください。ドメインの名前解決に失敗する場合は、DNSサーバーに到達できるか、リクエストが想定した経路で処理されているか、暗号化DNSのアドレス自体を名前解決できるかを調べます。証明書エラーの場合は、まずシステムの日付、証明書の有効期限、システムの信頼ストアを確認し、プロキシを無効にしたときの結果と比べてください。通常のプロキシ転送でWebサイトの証明書を置き換える必要はありません。警告を消すために証明書の検証を無効にしたり、提供元不明のルート証明書をインストールしたりしないでください。特定のネットワークや出口だけで問題が起きる場合は、別のネットワークでも試し、証明書の発行者を記録しましょう。DNSを変更した後は新しい接続を作成します。それでも解決しない場合は、ログとエラー全文を残して原因を調べてください。