CLASH FAQ / 20 QUESTIONS

Clashのよくある質問とトラブルシューティング

問題が発生した場所ごとに確認します。まずクライアント、カーネル、設定の関係を把握し、その後サブスクリプションのインポート、システムプロキシ、TUN、ルール振り分け、DNSを確認します。各回答では実行しやすい判断手順を示します。

CATEGORY 01

基礎知識

画面、カーネル、設定、ルール、出口の関係を先に整理しましょう。そうすれば、サブスクリプションの問題をクライアントの障害と誤認せずに済みます。

Clashのクライアント、カーネル、設定ファイルはそれぞれ何を担当しますか?

クライアントはグラフィカルインターフェース、サブスクリプション管理、システムプロキシの切り替え、自動起動などのシステム連携機能を提供します。mihomoなどのカーネルは接続の確立、ルールの解析、DNS処理、トラフィックの転送を担当します。YAML設定ファイルにはノード、プロキシグループ、ルール、DNSパラメータが保存されます。問題が起きたら、画面操作・カーネルの動作・設定内容のどこに原因があるかを先に切り分け、解決しないまま再インストールを繰り返さないようにしましょう。

サブスクリプションURL、単一ノードURL、YAMLファイルにはどのような違いがありますか?

サブスクリプションURLは通常サービス提供者が発行し、クライアントはそのURLからノードとルールを含む設定全体を定期的に取得します。単一ノードURLは1つの接続先だけを記述したもので、完全なClash設定の代わりにはなりません。YAMLファイルはローカルにインポートできる完全な設定です。インポート前に、クライアントが求めているのがサブスクリプションURL、ノードURL、ローカル設定ファイルのどれかを確認してください。形式が合わないと解析に失敗します。

ルールモード、グローバルモード、直接接続モードはどう使い分けますか?

普段はルールモードを選び、設定内のルールに従ってプロキシ経由か直接接続かを決めるのが一般的です。グローバルモードでは、処理可能なトラフィックの大部分を現在のグローバルポリシーに通すため、特定のノードで目的のWebサイトにアクセスできるか一時的に確認する際に便利です。直接接続モードはプロキシを迂回するため、障害の原因がプロキシ経路にあるかを判断できます。確認が終わったらルールモードに戻し、不要な通信がすべて同じ出口を通らないようにしましょう。

Clashのmixed-port、HTTPポート、SOCKSポートにはどのような違いがありますか?

mixed-portは1つのポートでHTTPとSOCKS5のプロキシリクエストを受け付け、多くのデスクトップアプリで手動設定する際に便利です。portはHTTPプロキシのみ、socks-portはSOCKS5プロキシのみを提供します。システムプロキシは通常クライアントが自動設定するため、手入力は不要です。他のアプリからClashへ接続する場合は、クライアントに表示されている現在の待受アドレスとポートを使い、別のアプリが使用していないことを確認してください。

プロキシグループとノードにはどのような関係がありますか?

ノードは具体的な接続先で、プロキシグループは複数のノードや他のポリシーをまとめ、ルールから参照できるようにします。ルールは通常、固定ノードではなくプロキシグループを参照するため、グループ内の選択肢を切り替えるだけで特定の通信の出口を変更できます。ノードを切り替えてもWebサイトが以前の経路を通る場合は、該当ルールが最終的にどのグループを参照しているかを確認し、名前が似た別のグループを変更していないか確認してください。

CATEGORY 02

インストールと設定

インポートに成功しても、トラフィックがすでに処理されているとは限りません。サブスクリプション形式、カーネルの動作、システム権限、OSのネットワーク設定を個別に確認してください。

ClashのサブスクリプションURLをインポートできない場合、何を確認すべきですか?

まずブラウザーでサブスクリプションURLにアクセスできることを確認し、コピー時に空白、改行、末尾の句読点が混入していないか確認します。次に、クライアントがURLから返される形式に対応しているか、システム時刻が正確かを確認してください。内容をダウンロードできるのにクライアントで解析エラーが出る場合、返却内容がClash YAMLではない、インデントが壊れている、必須項目が欠落している可能性があります。互換性のある形式でサブスクリプションを再生成してください。

サブスクリプションが期限切れ・無効と表示される、または401・403が返る場合はどうすればよいですか?

401や403は通常、サブスクリプションの認証情報が無効、URLがリセットされた、プランの状態が変わった、サーバー側でリクエストが制限されていることを示します。クライアントで更新を繰り返すだけでなく、まずサブスクリプションサービスにログインしてアカウントと契約状態を確認し、最新URLをコピーして古い設定と置き換えてください。ブラウザーでもアクセスできない場合はサービス側の問題です。ブラウザーではアクセスできるのにクライアントだけ失敗する場合は、クライアントのネットワーク、リクエストヘッダーの互換性、システム時刻を確認します。

システムプロキシを有効にしてもブラウザーが直接接続する場合はどうすればよいですか?

まずClashのカーネルが動作していることを確認し、OSのプロキシ設定に現在のHTTPまたはmixedポートが反映されているか確認します。一部のブラウザー、ダウンロードツール、セキュリティソフトは独自のプロキシ設定を使うか、システムプロキシを無視するため、アプリ内で個別に設定が必要です。プロキシポートの競合、ブラウザーの直接接続拡張機能、LANプロキシスクリプトによる設定の上書きも確認してください。

TUNモードを有効にすると権限不足と表示される場合はどうすればよいですか?

TUNは仮想ネットワークアダプターの作成、ルートの変更、システムサービスのインストールを行うため、通常は管理者権限が必要です。Windowsでは管理者としてクライアントを起動するか、サービスモードを再インストールします。macOSではシステムの指示に従ってネットワーク拡張を許可し、管理者パスワードを入力します。Linuxでは、プロセスにTUNデバイスの作成とルート変更の権限があることを確認してください。権限を変更した後はクライアントを完全に終了し、再起動します。

WindowsストアアプリでClashを使えません。UWPループバックはどう設定しますか?

一部のUWPアプリはアプリコンテナーのネットワーク分離により、ローカルのループバックアドレス上にあるプロキシポートへ直接アクセスできません。クライアントのUWPループバックツールを使い、プロキシが必要なアプリだけループバック制限を解除してから、そのアプリを再起動してください。すべてのシステムコンポーネントを一度に選択するのは避けましょう。TUN経由ですでに正常に通信できているアプリは、切り分け要因を増やさないため、ループバック設定を重ねて行う必要はありません。

Clashを自動起動にしても、なぜトラフィックを自動的に処理できないのですか?

自動起動はクライアントのプロセスが起動することを意味するだけで、カーネルの起動、システムプロキシの有効化、TUNの復元まで行われるとは限りません。クライアントの自動起動、カーネルの自動実行、システムプロキシの自動設定、TUNの自動有効化を個別に確認してください。ログイン直後にネットワークの準備が整っていない場合は、起動を少し遅らせます。サービスモードではサービスが正常に動作していることを確認し、旧バージョンのクライアントが同時起動してポート競合を起こさないようにしてください。

CATEGORY 03

使い方

ノードの切り替え、ルールの適用先、DNS経路によってアクセス結果は変わります。接続履歴とログを確認すれば、トラフィックが実際にどこへ送られたかを把握できます。

ノードがタイムアウトするとき、ノード側の問題かローカルの問題かをどう判断しますか?

まず同じサブスクリプションに含まれる複数のノードを連続してテストします。一部のノードだけがタイムアウトするなら、ノードのメンテナンス、回線混雑、接続パラメータの失効が考えられます。すべてのノードが同時にタイムアウトする場合は、ローカルネットワーク、システム時刻、ファイアウォール、カーネルの動作状態、サブスクリプション設定を確認してください。遅延テスト先が一時的に到達不能な場合もあるため、実際にWebページへアクセスし、ログのDNSエラー、ハンドシェイクエラー、接続拒否も確認します。

ルールによる振り分けが想定どおりに動かない場合、どこを確認すべきですか?

まず接続履歴またはログから対象リクエストを見つけ、実際に一致したドメイン、宛先IP、ルール種別、プロキシグループを確認します。Clashのルールは通常上から順に評価されるため、範囲の広いルールを前に置くと通信を先に取り込むことがあります。ドメインルールとIPルールの違い、スニッフィング結果、ルールセットの更新状況、最終的にMATCHルールがどのプロキシグループを参照しているかも確認してください。

ClashでDNSリークが発生しているか確認するにはどうすればよいですか?

まず現在システムプロキシとTUNのどちらを使っているか確認します。システムプロキシはすべてのアプリのDNS問い合わせを自動的に処理するわけではありません。次に設定のdns.enable、待受アドレス、モード、上流サーバー、ルールポリシーを確認し、DNSリクエストが想定経路を迂回していないことを確かめます。テスト時はブラウザーのセキュアDNSを無効にするか、現在の構成に合わせて設定し、カーネルログから問い合わせが実際にどの上流サーバーへ送られたかを確認してください。

サブスクリプションを更新すると、手動で選択したノードやローカルルールは上書きされますか?

ノード選択が保持されるかは、クライアントの設定キャッシュの仕組みによります。多くのクライアントはプロキシグループ名を基準に前回の選択を復元しますが、グループ名が変更されたりノードが削除されたりすると保持できません。サブスクリプションから生成されたYAMLを直接編集しても、通常は次回更新時に上書きされます。ローカルのカスタムルールは、クライアントが対応するオーバーライド、拡張設定、スクリプト機能に追加し、更新後にマージ順序を確認してください。

LAN上の他のデバイスから、PCで動作しているClashを使うにはどうすればよいですか?

ClashでLANからの接続を許可し、待受アドレスが127.0.0.1だけでなくLANアダプターもカバーするように設定します。他のデバイスでは、プロキシサーバーにClashを実行しているPCのLAN側IPアドレスを入力し、実際のHTTP、SOCKS、mixedポートを指定してください。OSのファイアウォールがそのポートへの受信接続を許可しているかも確認し、管理インターフェースを信頼できないネットワークへ直接公開しないでください。

CATEGORY 04

トラブルシューティング

基本ネットワークから始め、DNS、ノード接続、ルート制御、システム間の競合を順に確認します。画面上の接続状態より、ログに記録されたエラー種別のほうが信頼できます。

Clashは接続済みなのに、すべてのWebサイトを開けない場合はどうすればよいですか?

まず直接接続モードに切り替えて基本ネットワークが使えることを確認し、次にグローバルモードで確実に動作するノードを選んでテストします。直接接続は正常でグローバルモードだけ失敗する場合は、ログにDNS失敗、接続拒否、ハンドシェイクタイムアウト、認証エラーがないか確認してください。システムプロキシのポートがクライアントと一致しているか、プロキシグループで無効なノードを選んでいないか、他のVPN、ファイアウォール、プロキシソフトが同時にルートを変更していないかも確認します。

プロキシ使用後にHTTPS証明書エラーが表示される原因は何ですか?

通常のClash転送ではWebサイトの証明書を置き換えません。証明書エラーが出たら、まずシステム時刻とタイムゾーン、ブラウザーの証明書状態、セキュリティソフトのHTTPSスキャン、組織ネットワーク内の中間プロキシ、対象サイト自身の証明書チェーンを確認してください。特定のトラフィック処理ツールを有効にした場合だけ発生するなら、関連機能を1つずつ無効にして原因を特定し、ブラウザーの証明書警告をそのまま無視しないでください。

TUNを有効にするとネットワークが切れる、プロキシループが起きる、他のVPNと競合する場合はどうすればよいですか?

まず仮想ネットワークアダプターを作成したり、デフォルトルートやDNSを変更したりする他のVPN・ネットワークツールを終了し、Clashを再起動します。TUNの自動ルート、厳密なルート、インターフェース選択、DNSハイジャックのパラメータが現在のシステムに適しているか確認し、プロキシサーバーのアドレス自体が再びTUNへ送られてループしていないことも確認してください。TUNを無効にするとシステムプロキシが使える場合は、TUN設定を1項目ずつ戻して競合箇所を特定します。

Androidで画面ロック後にClashが切断される、またはシステムに終了させられる場合はどうすればよいですか?

Androidメーカーの省電力機能により、画面ロック後にVpnServiceが制限されたり、バックグラウンドプロセスが終了したりすることがあります。クライアントのバックグラウンド実行を許可し、バッテリー最適化の対象外に追加してください。自動起動、バックグラウンド動作、タスクロックの設定でもクライアントを保持します。通知権限が無効になっていないことも確認してください。常時動作するVPNのフォアグラウンドサービスは、通常、常駐通知を必要とします。変更後にVPN接続を再確立して、画面ロック状態でテストします。

Clashのログを見るとき、特に注目すべき情報は何ですか?

まず問題が発生した正確な時刻を記録し、その時刻を基準にリクエスト先、適用ルール、プロキシグループ、実際のノード、エラー種別を確認します。DNS timeoutは名前解決経路、connection refusedは宛先ポートまたはローカル待受の異常、i/o timeoutはネットワークに到達できないか応答が遅い状態、authentication failedはノード認証情報の確認を示します。調査では1行だけを切り取るより、エラー前後の連続したログを残すほうが有用です。