質問一覧

Clashのよくある質問

基本用語、設定、日常の使い方、トラブルの症状から探せます。切り分けの前にクライアント名、コアの情報、エラー全文を記録し、設定を一つずつ変更して新しい接続で確認しましょう。

基本知識

クライアント、コア、サブスクリプション、通信の入口を切り分け、設定不足をソフトウェアの不具合と誤認しないようにしましょう。

Clash、mihomo、GUIクライアントの役割の違いは?

Clashは一般に、ルールに基づいて通信を振り分けるプロキシツールと、その設定を取り巻くエコシステムを指します。mihomoは、このエコシステムで継続的に開発されているコアプロジェクトです。Clash Verge RevなどのGUIクライアントは、サブスクリプションの追加やプロキシグループの選択、システム設定を担当し、コアは設定の読み込み、ルールの照合、接続の確立を担います。問題を切り分ける際は、まず画面上の操作に失敗しているのか、コアの起動に失敗しているのかを確認し、それぞれのログを調べてください。クライアントによって搭載されているコアや対応フィールドは異なるため、古い設定を移行した後は正常に読み込めるか確認しましょう。

クライアントをインストールしても、サブスクリプションやプロキシ設定が必要なのはなぜ?

クライアントはローカルのプロキシ接続口と通信の振り分け機能を提供しますが、インストールしただけでリモートのプロキシサービスが使えるようになるわけではありません。接続には有効なサーバー情報、またはその情報を含むサブスクリプション設定が必要です。利用権限のある設定を入手したら、サブスクリプション画面に追加して現在の設定に指定し、プロキシ画面で利用可能なポリシーを選びます。サブスクリプションURLには認証情報が含まれることがあるため、パスワードと同様に管理してください。問題を報告する際はURL内のトークンやアカウント、サーバー認証情報を伏せ、設定全体を公開の掲示板に投稿しないでください。

ルールモード・グローバルモード・DIRECTモードの違いは?

ルールモードでは、設定に記載されたルールの順序に従って接続先のポリシーを選びます。グローバルモードでは、コアに届いた接続をグローバルポリシーに振り分けますが、そのポリシーの出口選択は必要です。DIRECTモードでは通常、コアに届いた接続を宛先へ直接つなぎます。ここでいうグローバルは、端末上のすべてのアプリを制御するという意味ではありません。システムプロキシやTUNを経由しない通信は、クライアントを迂回する場合があります。普段はルールモードを使い、特定のサイトだけに問題がある場合は一時的にグローバルモードと比較して、接続履歴から振り分けの問題か判断しましょう。

システムプロキシとTUNモードは同時に有効にする必要がありますか?

システムプロキシは、OSのプロキシ設定に従うアプリで主に使われます。TUNは仮想ネットワークインターフェースとルーティングを使って通信を取り込み、システムプロキシを参照しない一部のアプリに適しています。両方を同時に有効にする必要はありません。初めて設定する場合は、まずシステムプロキシだけを使い、サブスクリプションと接続先が正常なことを確認してから、必要に応じてTUNを有効にしてください。両方を併用できるクライアントでは、公式ドキュメントに従って設定し、別のVPNによるルート変更との競合を避けましょう。通信できなくなった場合はTUNを無効にし、動作確認済みのシンプルな構成から一つずつ確認してください。

クライアントを乗り換えても、以前のサブスクリプションやルールをそのまま使えますか?

同じ設定形式とコア機能に対応したクライアントなら、通常はサブスクリプションを引き継げます。ただし、GUI側のオーバーライド、スクリプト、ショートカット、サービスモードの設定などは移行されない場合があります。まず古い設定とローカルルールをバックアップし、新しいクライアントにサブスクリプションを個別に追加して、コアがプロトコルや各フィールドを受け付けるか確認しましょう。基本的な接続が正常になってからオーバーライドを移行すると、一度に複数の要因が加わるのを避けられます。2つのクライアントでシステムプロキシやTUNを同時に制御しないでください。新しい環境の動作確認後、古いクライアントの自動起動やバックグラウンドサービスを整理します。

インストール・設定

サブスクリプションの取得、設定の読み込み、権限の許可、プロキシの接続口の順に確認しましょう。インストーラーの選び方はクライアント一覧をご覧ください。

サブスクリプションの追加に失敗したりエラーが返ったりするとき、まず何を確認すればよいですか?

コピーしたのがアカウントページのURLではなく、完全なサブスクリプションURLであることを確認します。URLの有効期限、トークンの再発行、端末の日時も確認してください。追加ログに表示されたHTTPステータスや解析エラーも確認しましょう。401や403は認証、404はURLの変更が原因の場合があります。Webページが返ってくる場合は、ログイン画面や認証ページを経由している可能性があります。ログに接続タイムアウトが出ている場合は、現在のネットワークからサブスクリプションサービスにアクセスできるか確認してください。URLを見知らぬ変換サイトに何度も入力するのは避け、変換が必要な場合はサービス提供元が案内する互換形式を優先しましょう。

YAMLを読み込むと設定の解析に失敗する場合、どう切り分ければよいですか?

コアのログを開き、エラーの行番号とフィールド名を控えて、その行と直前の行を確認します。YAMLのインデントにはスペースを使い、リスト項目、コロンの後のスペース、引用符の位置にも注意してください。未知のプロトコルやフィールドが原因なら、インデントだけでなく現在のコアが対応しているか確認しましょう。まず最後に起動できた設定に戻し、ローカルの変更を少しずつ適用する方法もあります。サブスクリプションが自動生成するファイルは、次回更新で変更が上書きされる可能性があるため、直接編集し続けるのは避けてください。カスタム設定はクライアントが対応するオーバーライド機能に記述しましょう。

TUNモードで権限不足と表示されたり、仮想ネットワークアダプターを作成できなかったりする場合は?

まず、クライアントが必要とするサービスモードや補助サービスがインストールされ、実行中であることを確認します。Windowsではバックグラウンドサービスのインストール許可、macOSでは補助コンポーネントの承認、Linuxではネットワーク管理の権限や利用可能なTUNデバイスが必要になる場合があります。具体的な手順はクライアントのドキュメントを確認し、すべてのプログラムを常に高い権限で起動してサービス設定の代わりにするのは避けてください。必要な権限があっても失敗する場合は、ほかのVPNを停止して再試行し、ログでドライバー、ルート、ポートの競合を確認します。ネットワーク設定を変更する前に現在の設定を記録しておくと、元に戻しやすくなります。

システムプロキシを有効にしても、ブラウザーがプロキシを経由しないのはなぜですか?

まずコアが起動し、現在の設定が有効で、システムプロキシの接続先がクライアントの実際の待ち受けアドレスとポートになっているか確認します。他の解説にあるポート番号をそのまま使わないでください。次に、ブラウザー独自のプロキシ設定や拡張機能、プロキシを使わないアドレスの一覧を確認します。接続画面を開いた状態で新しいサイトにアクセスしてください。接続履歴がなければ、まず通信の入口を確認します。履歴があり、選択されたポリシーがDIRECTなら、ルールとモードを確認しましょう。別のプロキシツールがシステム設定を上書きしていないかも確認してください。変更後は古い接続を閉じるかブラウザーを再起動し、既存の接続が判定に影響しないようにします。

スマートフォンでVPNの許可やバックグラウンド動作を設定するには?

モバイル版クライアントは通常、OSのVPN機能を使って通信を処理します。初回接続時は、システムに表示される確認画面で許可してください。Androidでは通常、一般的なVPNサービスを同時に1つしか実行できません。別のVPNを有効にすると、現在の接続が切れる場合があります。画面ロック後に切断される場合は、バッテリー最適化、バックグラウンド動作、メーカー独自の自動起動制限を確認し、必要なクライアントだけに権限を設定しましょう。接続維持のためにすべての省電力機能を無効にするのではなく、バックグラウンドで停止されているかを確認してから、バッテリー持ちと常時接続の必要性を検討してください。接続状態は実際にアクセスできるかどうかも合わせて確認しましょう。

使い方のヒント

接続履歴でルールを確認し、具体的なアプリの動作からポリシーを判断しましょう。用語の説明は用語集をご覧ください。

特定のサイトに適用されたルールを確認するには?

ルールモードにして、接続画面で対象のドメインやアプリを絞り込み、適用されたルール、プロキシグループ、最終的な接続先を確認します。キャッシュの影響を減らすため、対象サイトの既存接続を閉じてから、もう一度アクセスしてください。ルールは通常、上から順に照合されます。先にある広範なルールが、後の詳細なルールより優先される場合があります。最後のMATCHは、それ以前に一致しなかった接続に適用されます。ルールを追加する前に、指定するポリシー名が存在することを確認し、サブスクリプション更新でローカルの変更が上書きされないかにも注意しましょう。ブラウザーでページが開くかどうかだけでは、ルールが意図どおりに適用されたか判断できません。

手動選択・自動遅延テスト・フォールバックのプロキシグループはどう使い分ければよいですか?

手動選択グループは出口を固定したい場合に、自動遅延テストグループはテスト結果から接続先を選びたい場合に、フォールバックグループは通常、設定順に利用可能なメンバーを選びたい場合に適しています。自動テストで分かるのは指定したテスト先への接続状況であり、すべてのサイト、動画、ゲームで同じ結果になるとは限りません。特定の地域で安定してログインしたい場合は、出口を固定すると、頻繁な切り替えによる再認証を避けられます。グループ内に利用可能な接続先がない場合は、まずサブスクリプションと基本接続を確認しましょう。テスト間隔を短くするだけでは解決しないことがあります。頻繁なテストは通信量を増やし、モバイル端末のバッテリーも消費します。

Fake-IPアドレスとは?互換性の問題が起きたときの対処法は?

Fake-IPは予約済みアドレス範囲の仮想アドレスを使い、ドメインと接続の対応関係を作ります。コアはそのドメイン情報をもとに実際のリクエストを処理します。そのため、DNSの応答がWebサイトの実際のIPアドレスと異なっていても、必ずしも名前解決の失敗ではありません。一部のLANサービスやゲーム、実際のIPアドレスを必要とするアプリでは互換性の問題が起きる場合があります。コアのドキュメントに従い、該当ドメインをフィルタリングするかDNSモードを変更してください。DNS設定をすべて消去するのは避けましょう。変更後はアプリの接続をやり直し、必要に応じてOSのDNSキャッシュをクリアして、名前解決と接続が想定した経路を通っているか確認します。

ClashのGeoIPを更新しても、通信の振り分けが変わらないことがあるのはなぜですか?

GeoIPデータはIPアドレスの地域判定に使われますが、GEOIPなどの関連ルールが実際に使われている場合にのみ結果に影響します。まず接続履歴を確認し、より上にあるドメインルールやルールセット、MATCHに一致していないか調べましょう。次に、設定がどの種類のデータベースを使い、どの手順で更新するかを確認します。コアによってはMMDBなどの地理データ形式や独立したルールセットを使うため、任意のデータファイルを相互に置き換えることはできません。更新後はクライアントの手順に従って再読み込みし、新しい接続で動作を確認してください。個々のIPアドレスの地域判定とサービスの設置場所は異なる場合があるため、接続ログとドメインルールを合わせて確認してください。

OS起動時に自動起動しても、自動でインターネットに接続しない場合は何を確認すればよいですか?

OS起動時の自動起動、起動後のプロキシ有効化、前回の設定の復元、バックグラウンドサービスの実行は別々の設定です。どれか1つを有効にしても、ほかの設定まで有効になるとは限りません。まずOSへのログイン後にクライアントが起動しているか確認し、現在の設定やプロキシグループ、プロキシの有効状態が復元されているか調べましょう。TUNには補助サービスと権限も必要です。起動時だけ失敗する場合は、ネットワークの準備が整う前にクライアントが起動している可能性があります。ログを確認し、クライアントに遅延起動の設定があれば試してください。複数の起動タスクでクライアントを重複起動すると、待ち受けポートやシステムプロキシ設定が競合することがあります。

トラブル対処

エラー発生時のログと設定を記録し、まず設定を一つずつ比較してから、設定の変更やネットワークの調整を検討しましょう。

すべてのノードがタイムアウトするとき、サブスクリプション側と端末側のどちらに問題があるか見分けるには?

まずプロキシを無効にして、通常のネットワーク接続を確認します。次に端末の時刻、サブスクリプションの有効期限、通信量や接続数の制限を確認してください。その後、利用可能と分かっている接続先を1つだけテストし、ログでドメインの名前解決、ハンドシェイク、接続拒否などの情報を調べます。すべての接続先で失敗する場合は、設定を次々に変える前に、端末のファイアウォールやネットワーク制限、別のVPNとの競合を確認しましょう。内蔵テスト用アドレスに到達できない場合もタイムアウトが表示されるため、実際のアクセス結果とログを照らし合わせて判断してください。特定のネットワークだけで失敗する場合は、別の信頼できるネットワークでも試して原因の範囲を絞り込みます。

システムプロキシは使えるのに、Microsoft Storeアプリがネットにつながらない場合は?

一部のUWPアプリはネットワーク分離の制限により、ローカルのループバックプロキシアドレスに直接アクセスできません。まず対象アプリがこの問題に該当することを確認し、クライアント付属のループバック例外ツールを使うか、管理者権限でCheckNetIsolation LoopbackExemptを実行して対象アプリを管理します。CheckNetIsolation LoopbackExempt -sを実行すると、現在の一覧を確認できます。アプリを追加するには、正確なアプリパッケージ識別子が必要です。例外を設定するのは必要なアプリだけにし、変更内容を記録して、不要になったら取り消してください。通常のデスクトップアプリの通信障害に、この方法をそのまま適用するのは避けましょう。

ClashでDNSリークが疑われるとき、確認・設定するには?

まず、どのドメインをプロキシ経由で名前解決し、どのLAN内ドメインやDIRECT接続のドメインにローカルDNSを許可するかを決めます。次に、コアのDNS設定、TUNによるDNSの取り込み、ブラウザーのセキュアDNS、OSの名前解決設定が互いに迂回していないか確認しましょう。テストページに表示されるDNSサーバーの所在地は手がかりの一つにすぎません。設定や接続ログ、必要に応じてパケットキャプチャも確認してください。DIRECT接続のDNS問い合わせまで、すべてプロキシの出口に現れる必要はありません。設定変更は一度に一層ずつ行い、接続をやり直して確認します。暗号化DNSは問い合わせの通信を保護しますが、問い合わせが自動的にプロキシ経由になるわけではありません。

TUNを有効にした後、LAN内の機器やプリンターに接続できない場合は?

まずTUNを無効にして比較し、ルーティングやDNSの取り込みが原因か確認します。次に、LANのアドレス、プライベートアドレス範囲、ローカルドメインがDIRECTで処理されているか調べましょう。実際のネットワークに合わせて、設定にバイパスまたはDIRECTのルールを追加します。すべてのネットワーク範囲をまとめて除外しないでください。企業VPNも使っている場合は、ルートが競合している可能性があるため、ルーティングテーブルとインターフェースの優先順位を比較します。プリンターの自動検出にはマルチキャストが必要な場合があり、ドメインルールを追加するだけでは解決しないこともあります。まず機器のアドレスに直接アクセスし、次に検出プロトコルを確認して、設定変更後に機器へ再接続してください。

クライアントを終了した後もネットワークに問題が残る場合、どう復旧すればよいですか?

まず、システムプロキシがすでに待ち受けを停止したローカルポートを指していないか確認し、必要ならOSのネットワーク設定でプロキシを無効にします。次に、TUN、補助サービス、ほかのVPNがまだ動作していないか確認してください。画面を正常に終了しても、バックグラウンドのコアが停止しているとは限りません。DNSやルートを手動で変更した場合は、記録に従って元に戻し、ネットワーク設定を一括でリセットするのは避けましょう。復旧後は、DIRECT接続のWebページとLAN内へのアクセスをそれぞれ確認します。クライアントを再起動するときは、まずシステムプロキシだけを有効にし、正常に動作した後でTUNを戻すと、問題の原因になった設定を特定しやすくなります。