TROUBLESHOOTING REFERENCE
Clashのよくある問題とトラブルシューティング
サブスクリプションのインポート、プロキシモード、設定構文から始め、TUN、DNS、ノード接続、システムネットワークを順番に確認します。各回答に明確な手順を示しているため、インストール後の確認にそのまま使えます。
BASICS
基礎知識
まずクライアント、コア、サブスクリプション、プロキシモードを区別します。概念を正しく理解すると、その後の設定箇所を特定しやすくなります。
Clash、Clash Meta、mihomoの違いは?
Clashは通常、ルールベースのプロキシクライアントとその設定体系を指します。初期の公式Clashコアは継続的な開発が終了しており、Clash Metaは一般的な設定との互換性を保ちながら、プロトコル、DNS、TUN機能を拡張しました。その後、プロジェクト名はmihomoに変更されています。現在、多くのデスクトップ版・モバイル版クライアントはグラフィカルインターフェースに過ぎず、実際の接続、ルール判定、DNS処理はmihomoコアが担当します。
サブスクリプションURLはどこで取得できますか?クライアントがノードを自動生成しますか?
Clashクライアントは設定の読み込み、プロキシポリシーの選択、接続の転送を行いますが、サブスクリプションやノードを自動生成することはありません。サブスクリプションURLは通常、利用中のネットワークサービス提供元から発行されます。ローカルのYAML設定を自分で管理することもできます。インポート前にURLの有効期限を確認し、アクセス認証情報を含むURLをスクリーンショット、掲示板、公開ドキュメントに載せないでください。
ルール、グローバル、直連モードはどのように選べばよいですか?
普段はルールモードを優先します。接続先は設定内のDOMAIN、GEOIP、MATCHなどのルールに従って、プロキシ経由か直接接続かが決まります。グローバルモードはほとんどの接続を現在のプロキシポリシーに割り当てるため、ノードの利用可否を一時的に確認するのに適しています。直連モードはプロキシを経由せず、障害がプロキシ経路に起因するかを素早く切り分ける際に役立ちます。確認が終わったら通常はルールモードに戻します。
システムプロキシとTUNモードの違いは何ですか?
システムプロキシは主にOSのHTTPおよびSOCKSプロキシ設定を変更し、システムプロキシに従うブラウザーやアプリで利用できます。TUNモードは仮想ネットワークインターフェースを作成し、システムプロキシ設定を読み取らないプログラムやUDP通信もより広く処理できますが、追加の権限、ルーティング、DNS設定が必要です。通常のブラウザーではまずシステムプロキシを使い、アプリがシステムプロキシに対応しない場合にTUNを検討します。
INSTALLATION
インストールと設定
サブスクリプションの応答、設定形式、権限、仮想NICを重点的に確認します。まず明確なエラーを解決してから、機能オプションを調整してください。
サブスクリプションURLを貼り付けてもインポートできない場合は?
まずブラウザーでサブスクリプションURLを開き、ログインページやエラーページ、空のレスポンスではなく、設定内容またはダウンロードファイルが返ることを確認します。次に、URLの前後に空白がないか、完全にコピーできているか、クライアントがネットワークへのアクセスを許可されているかを確認します。ブラウザーではダウンロードできるのにクライアントでインポートできない場合は、いったんYAMLファイルとして保存してからローカルインポートし、ログのHTTPステータスと設定解析メッセージを確認してください。
サブスクリプション更新で401、403、またはURL無効と表示された場合は?
401は通常、サブスクリプション認証情報が無効であることを示し、403はサーバーにリクエストを拒否されたことを示します。URLが無効な場合は、404、空ファイル、またはWebページの内容が返ることがあります。まずサービス提供元の管理ページから現在のURLをコピーし直し、クライアントに保存された古いURLを削除して再インポートします。認証情報を推測してURLパラメーターを何度も変更するのは避けてください。新しいURLでもエラーになる場合は、サービス提供元にアカウント状態とアクセス制限を確認してもらいます。
設定ファイルでYAML解析エラーが出た場合、どのように場所を特定しますか?
まずログに示された行番号と列番号を確認し、その位置から上に向かってインデント、コロン後の空白、リストのハイフン、引用符の対応を確認します。YAMLのインデントにはスペースだけを使い、タブを混在させないでください。同じ階層のキーは同じインデントを保つ必要があります。コロンや特殊文字を含む値は引用符で囲むと安全です。修正後はクライアントの設定チェックを実行してからコアを再読み込みし、複数箇所を同時に変更してエラー位置が変わるのを避けます。
TUNを有効にすると権限不足や仮想NICを作成できないエラーが出る場合は?
Windowsではまず管理者権限でクライアントを起動し、仮想NICドライバーが正しくインストールされていることを確認します。macOSでは、システムの通知に従ってネットワーク拡張機能または補助サービスを許可します。Linuxでは通常、CAP_NET_ADMIN権限、または制御された方法での権限昇格が必要です。他のVPNや仮想NICツールをインストールしている場合は一時的に終了し、ルートの競合を確認してください。権限を修正したらクライアントを再起動し、ログにcreate tun、route、permission deniedが残っていないか確認します。
USAGE
使い方のコツ
ノード切り替え、ルールの順序、Fake-IP、LAN共有は、接続ログと組み合わせて確認する必要があります。スイッチの状態だけで判断しないでください。
ノードを切り替え、利用可能かどうかを判断するには?
プロキシポリシーグループでノードを選択し、クライアントの遅延テストを初期確認として使います。遅延テストに成功しても、テスト先への接続が確立できたことを示すだけで、すべての宛先にアクセスできるとは限りません。より確実なのは、利用できることが分かっているHTTPSページを開き、接続パネルで想定したポリシーにリクエストが一致したか確認する方法です。複数のノードが同時に失敗する場合は、測定を繰り返す前にサブスクリプションを更新し、ローカルネットワークを確認してください。
Clashのカスタムルールはどこに配置すべきですか?
ルールは上から下の順に評価されるため、具体的なドメインやサービス用ルールは、範囲の広いGEOIP、GEOSITE、MATCHより前に置きます。特定のドメインを固定して処理する場合は、DOMAINまたはDOMAIN-SUFFIXを先に記述し、最後のフォールバックとしてMATCHを残します。クライアントがルールオーバーライドに対応している場合は、サブスクリプション更新で手動変更が上書きされないよう、オーバーライド機能を優先してください。変更後は接続ログで実際に適用されたルールを確認します。
Fake-IPモードでドメイン解決に異常が出る場合は?
まずDNS拡張モード、リッスンアドレス、nameserverの設定が完全か確認し、次に問題のアプリがLAN内ドメイン、デバイス検出、特殊なDNS応答に依存していないか確認します。関連ドメインをfake-ip-filterに追加すると、実際のアドレスを返せます。変更後はOSのDNSキャッシュを消去し、クライアントを再起動してください。特定のアプリだけで発生する場合は、一時的にredir-hostへ切り替えて比較し、Fake-IPの互換性問題かどうかを判断します。
同じLAN上のデバイスからClashプロキシを使うには?
クライアントでLAN接続の許可を有効にし、mixed-portがLANからアクセス可能なアドレスで待ち受けていることを確認します。システムファイアウォールでは、信頼できるローカルネットワークに対してのみそのポートを許可してください。他のデバイスでは、プロキシサーバーにClashを実行しているPCのLAN内IPアドレスを入力し、ポートにはmixed-portの値を指定します。接続できない場合は、2台が同じネットワークセグメントにあるか、ポートが待ち受けているか、ファイアウォールが許可しているか、ゲストWi-Fiでデバイス分離が有効になっていないかを順に確認します。
DIAGNOSIS
トラブルシューティング
まずリクエストがコアに届いているかを確認し、ローカルポート、システムプロキシ、DNS、ノード、宛先への接続のどこに問題があるかを切り分けます。
システムプロキシを有効にしてもブラウザーが接続できない場合は?
まずクライアントのコアが動作中であることを確認し、システムプロキシのポートと設定内のmixed-portが一致しているか確認します。次に、ブラウザーが独自のプロキシ拡張機能、企業ポリシー、手動プロキシを使用していないか確認してください。これらの設定がシステムプロキシを上書きする場合があります。他のプロキシソフトを終了してからシステムプロキシを一度切り替え、テストページにアクセスしながらClashの接続ログを確認します。クライアントにリクエストが1件も入らない場合は、システムプロキシのアドレスとローカルファイアウォールを確認します。
ノードテストは正常なのにアクセス時にtimeoutになる場合の確認方法は?
まず同じポリシーグループ内の別ノードに切り替え、問題が単一ノードか全ノードかを判断します。単一ノードのタイムアウトは、通常、リモート側の状態、通信パラメーター、経路に関係します。全ノードでタイムアウトする場合は、サブスクリプションの期限切れ、ローカルネットワークによる接続制限、システム時刻の正確さ、DNSの可否を確認してください。ログのdial tcp timeoutは接続確立のタイムアウトを示します。同時にDNSエラーが出ている場合は、まず名前解決を修正してからノードを判断します。
Windowsストアアプリでプロキシが使えない場合、UWPループバックをどう処理しますか?
一部のUWPアプリはWindowsのネットワーク分離機能により、ローカルのループバックアドレスへ直接アクセスできません。そのため、システムプロキシが127.0.0.1を指していても機能しないことがあります。クライアントに用意されたUWPループバックツールを使い、インターネット接続が必要なストアアプリでLoopback Exemptを有効にしてください。変更後は対象アプリを完全に終了し、再度起動します。プロキシが必要なアプリだけを選択し、システムコンポーネントを一括で許可しないでください。
Clashの起動に失敗し、ポートが使用中と表示される場合は?
ポート競合は通常、別のClashインスタンス、プロキシツール、またはバックグラウンドサービスが同じポートで待ち受けていることを示します。まず関連プログラムを完全に終了し、タスクマネージャーやシステムのネットワークツールで使用中のプロセスを確認します。解放できない場合は、mixed-portを未使用のポートに変更し、システムプロキシ設定も新しいポートに合わせます。クライアントがすぐ終了する場合は、設定構文、コアファイルのパス、ログのbindやaddress already in useというメッセージも確認してください。