FAULT REFERENCE

Clashのよくある質問とトラブル対処

基本知識、インストールと設定、使い方、トラブル対処に分けて整理しています。接続問題では、まず障害の範囲を確認し、設定、プロキシ入口、DNS、ポリシーグループ、ログの順に調べることで、複数の変数を同時に変更するのを避けられます。

SECTION 01 / CONCEPTS

基本知識

クライアントの画面、実行コア、設定ファイル、プロキシモードをまず区別すると、異なる層の問題を混同せずに対処できます。

Clashクライアント、Clashコア、mihomoコアの関係は?

コアは設定の読み込み、プロキシ接続の確立、ルール照合、DNS処理を担当します。GUIクライアントはサブスクリプション管理、ポリシー切り替え、ログ確認、システムプロキシ制御を担います。mihomoはClashの設定体系を引き継ぐ現行のコア実装で、多くの新しいクライアントが実行コアとして採用しています。問題を調べる際は、クライアント名、コアの種類、設定の入手元を併せて記録してください。画面側の不具合とコアのエラーでは、対処の手順が異なります。

ルールモード、グローバルモード、直結モードの違いは?

ルールモードは、設定内の rules の記述順に従ってリクエストの行き先を判定するため、日常利用に適しています。グローバルモードでは、ほとんどのリクエストを現在選択中のプロキシポリシーに送るため、ノードの一時的な検証に向いています。直結モードでは、プロキシノードを経由せず目的先へ直接アクセスします。サイトを開けない場合は、一時的にグローバルモードへ切り替えて比較できます。グローバルモードでは正常でルールモードだけ異常なら、システムプロキシを何度も切り替えるのではなく、ルールのマッチ結果とポリシーグループの選択を確認してください。

サブスクリプションURLとローカルのYAML設定ファイルの違いは?

サブスクリプションURLは設定の提供元が管理し、クライアントは定期的に再取得して内容を置き換えます。ローカルのYAMLファイルは端末に保存され、項目の変更は利用者が管理します。更新時にはサブスクリプション設定を直接編集した内容が上書きされることが多いため、長期的に使うカスタムルールは、クライアントが対応するオーバーライド、マージ、スクリプト機能に移してください。インポート前に、URLの応答がYAMLまたはクライアント対応の設定であり、ログイン画面やエラーページ、通常のWebページではないことも確認します。

Fake-IPモードはどのような問題に使う?

Fake-IPモードでは、まずコアがアプリに予約アドレスを返し、内部マッピングによって元のドメイン名を復元してルール照合を行います。重複した名前解決を減らしながらドメイン情報を保持できるのが一般的な利点です。一部のLAN機器、ゲーム、業務ソフト、実アドレスの検証に依存するプログラムでは互換性に問題が出る場合があります。LANアクセスに異常があるときは、まず該当ドメインを fake-ip-filter に追加してください。影響範囲が広い場合は、一時的に redir-host へ切り替えて比較し、Fake-IPのマッピングが原因か確認します。

SECTION 02 / INSTALLATION

インストールと設定

設定のインポート、サブスクリプション更新、TUN権限、自動起動は、それぞれ異なるシステム機能によって制御されます。エラーが発生した場所に応じて、項目ごとに対処してください。

YAML設定をインポートできない、または解析エラーが表示される場合は?

まずクライアントのログで、最初に発生した解析エラーと行番号を確認し、その周辺のインデント、コロン、ハイフン、引用符を調べます。YAMLのインデントにはスペースを使い、リスト項目の階層も統一してください。特殊文字を含むノード名やパスワードは引用符で囲めます。proxies、proxy-groups、rules などの項目名が正しい階層にあることも確認します。サブスクリプションURLから取得した設定なら、先に応答内容を確認し、Webページのエラー情報をYAMLとして読み込まないようにしてください。

ClashのサブスクリプションURLが無効、または更新に失敗するときの確認方法は?

まずサブスクリプションURLをブラウザに貼り付け、内容を取得できるか確認します。応答ステータス、ファイル内容、ログインページへのリダイレクトの有無も確認してください。ブラウザでもアクセスできない場合は、設定の提供元にURLの状態を確認してもらいます。ブラウザでは取得できるのにクライアントだけ失敗する場合は、クライアントのネットワーク権限、プロキシ経路、更新間隔、ローカルキャッシュを確認します。失敗した設定の複製を削除して再インポートすることもできますが、先にオーバーライドルールをバックアップしてください。応答がJSON、HTML、空白テキストの場合は、クライアントがそのサブスクリプション形式に対応しているかも確認します。

TUNモードを有効にすると権限不足と表示される場合は?

TUNモードでは仮想ネットワークインターフェースを作成し、システムルートを変更するため、通常のシステムプロキシより高い権限が必要です。Windowsではサービスモードがインストール済みで正常に動作しているか確認し、必要なら初回設定を管理者権限で行います。macOSではネットワーク拡張機能や補助サービスの許可が必要です。Linuxでは通常、CAP_NET_ADMIN、管理者権限、利用可能なTUNデバイスが求められます。権限を修正したらクライアントを完全に終了して再起動し、ファイアウォールが新しい仮想インターフェースを遮断していないか確認してください。

Clashの自動起動を有効にしたのに、再起動後に起動しない場合は?

まず、クライアント自体が起動していないのか、起動済みだがシステムプロキシが有効になっていないのかを切り分けます。Windowsではタスクマネージャーのスタートアップアプリ一覧で状態を確認し、インストール先の移動によってクライアントのパスが無効になっていないか調べます。macOSではログイン項目とバックグラウンド項目の権限を確認します。Linuxではデスクトップの自動起動ファイルまたはユーザーサービスを確認してください。クライアントは起動するのに通信を取り込めない場合は、起動後にシステムプロキシを自動設定する項目やTUNを自動的に有効にする項目が、別々に有効になっているかも確認します。

SECTION 03 / OPERATION

使い方

システムプロキシを読み取らないアプリや、DNS、UWPコンテナ、プロトコルの動作に左右されるリクエストがあります。まず特定のプログラムだけで問題が起きているのかを確認してください。

Clashは起動しているのにシステムプロキシが機能しない場合は?

まず、クライアントに表示されるHTTPまたはmixedポートと、システムプロキシ設定のアドレス・ポートが一致しているか確認します。ローカルアドレスは通常 127.0.0.1 です。次に、ブラウザやアプリが独自プロキシ、拡張機能のプロキシを使っていないか、またはシステム設定を無視していないか調べます。企業ポリシー、セキュリティソフト、別のプロキシツールがシステムプロキシを上書きすることもあります。ほかのネットワークツールを終了してからシステムプロキシを一度切り替え直し、システムプロキシに確実に従うブラウザでテストしてください。一部のアプリだけ異常な場合は、そのアプリ独自のプロキシ仕様を確認します。

WindowsストアアプリがClash経由でインターネットに接続できない場合、UWPループバックを設定するには?

一部のUWPアプリは制限付きコンテナで動作し、既定ではローカルのループバックプロキシにアクセスできません。そのため、デスクトップブラウザが正常でもストアアプリが接続できるとは限りません。クライアントに付属するUWPループバックツールを使い、通信が必要なアプリだけにチェックを付けて例外を保存してください。影響範囲を抑えるため、すべての項目を一括選択するのは避けます。設定後、対象アプリを再起動します。それでも失敗する場合は、システムプロキシのポートが利用可能か確認し、対象アプリがQUIC、独自DNS、その他システムプロキシに従わない接続方式を使っていないか調べてください。

ノードがタイムアウトする、または遅延テストに失敗するときは何を確認すべき?

遅延テストの失敗は、ノードが完全に利用できないことを意味するとは限りません。テスト先、ネットワークの出口、プロトコルのハンドシェイクが結果に影響します。まず端末の基本的なネットワークが正常か確認し、サブスクリプションを更新して、別の地域またはプロトコルのノードと比較します。続いてログで、DNS失敗、接続タイムアウト、TLSエラー、認証失敗のどれかを確認します。多数のノードが同時にタイムアウトする場合は、ローカルネットワーク、サブスクリプションの状態、テスト先に問題がある可能性が高く、1つのノードだけ失敗する場合は、そのノードが到達不能かパラメータが変更された可能性が高いです。

Clashを有効にした後、DNS解決に異常がある、またはドメインを開けない場合は?

まず、問題がドメイン名だけに影響するのか、IPアドレスにもアクセスできないのかを切り分けます。IPには到達できるのにドメインだけ失敗する場合は、dns.enable、nameserver、fallback、enhanced-mode、リッスンアドレスを確認し、設定内のDNSサーバーに現在のネットワークからアクセスできるか調べます。システムに残った暗号化DNS、ブラウザのセキュアDNS、ほかのローカル名前解決サービスがClashのDNSを迂回したり、ポートを占有したりすることがあります。変更後はシステムのDNSキャッシュを消去して対象アプリを再起動し、ログでリクエストがコアに入っているか確認してください。

SECTION 04 / TROUBLESHOOTING

トラブル対処

複雑な障害では再現条件と最初のエラーログを残し、一度に1つの変数だけを変更して、同じ宛先へ再度テストしてください。

Clashは接続済みと表示されるのに、ブラウザもアプリもインターネットに接続できない場合は?

基本ネットワーク、プロキシ入口、DNS、ポリシーグループ、ルールマッチの順に確認します。まずシステムプロキシまたはTUNを無効にし、端末の直結ネットワークが正常か確認します。次にClashを戻し、ポートが待ち受けているか、現在のポリシーグループで選択中のノードが利用可能か調べます。一時的にグローバルモードへ切り替えると、ルールの問題とノードの問題を切り分けられます。グローバルモードでも失敗する場合はログの接続エラーを確認します。ルールモードだけ失敗する場合は、最終的なルール、ポリシーグループの参照、REJECTや利用できない子ポリシーを誤って選択していないかを確認してください。

プロキシ接続が頻繁に切れる、またはしばらく使うと通信できなくなる場合は?

まず切断時刻を記録し、端末のスリープ、ネットワーク切り替え、サブスクリプションの自動更新、ノードのヘルスチェックと同時に起きていないか確認します。モバイル回線とWi-Fiを切り替えた後は、古い接続を再確立する必要がある場合があります。デスクトップOSがスリープから復帰した際は、仮想インターフェースとシステムプロキシの状態が同期しないこともあります。クライアントを終了して再起動し、ログにネットワーク変化、接続リセット、認証エラーがないか確認してください。1つのノードだけで発生する場合は、別のノードに切り替えて安定性を比較します。

Clashの起動時にポートが使用中と表示される場合は?

ポートの競合は、設定内の port、socks-port、mixed-port、redir-port、またはコントロールポートを別のプロセスが待ち受けていることを示します。まず、重複起動しているClashクライアントやほかのプロキシツールを完全に終了し、再起動します。それでも競合する場合は、システムのネットワークツールで使用中のプロセスを特定し、用途を確認して停止するか、Clashのポートを未使用の値に変更してください。ポートを変更した後は、システムプロキシ、ブラウザの手動プロキシ、LAN内の端末にある接続設定も同時に更新する必要があります。

サブスクリプション更新後に、ローカルのルールやポリシー設定が消えた場合は?

サブスクリプションの更新では通常、管理元の設定を再ダウンロードして置き換えるため、サブスクリプションファイルに直接書き込んだルール、ノード、ポリシーグループが上書きされることがあります。長期的な変更は、クライアントが提供するオーバーライド、マージ設定、スクリプト処理、独立した設定ファイルへ移し、更新前に復元用のコピーを保存してください。移行時はまずポートやDNSなどの基本項目を処理し、次にポリシーグループとルールを統合し、最後に参照されるポリシー名がすべて存在することを確認します。画面上でのサブスクリプションファイルの一時編集状態だけに依存しないでください。