設定・接続のトラブルシューティング|よくある質問20選

Clashのよくある質問
サブスクリプション・プロキシ・TUN

問題がどの段階で起きているかを特定してから、該当する設定を確認しましょう。カテゴリを選び、質問を開いて確認手順を見てください。再インストールする場合は、先に現在の設定を保存します。

設定・コア・通信の捕捉方式を切り分ける

基本

クライアントが正常に起動していても、設定が有効になっているとは限りません。まず各要素の役割を確認し、どの設定画面を調べるべきか判断しましょう。

Clashクライアント、mihomoコア、サブスクリプションの違いは?

クライアントは設定の取り込み、ポリシーの切り替え、接続の管理を行うGUIです。mihomoはプロキシプロトコルと振り分けルールを処理するコアで、サブスクリプションは設定やノード情報を提供するリモートURLです。クライアントをインストールした後、利用可能な設定を取り込み、ポリシーを選択して初めてルールに沿った通信ができます。このサイトではインストールや設定に関する情報を提供していますが、ノードアカウントは配布していません。問題を切り分ける際は、クライアントの起動、設定のダウンロード、ノードへの接続のどこで失敗しているかを確認しましょう。

ルールモード・グローバルモード・DIRECTモードの選び方は?

普段はルールモードを選び、設定内のドメインやIPなどの条件に応じて通信先を振り分けます。グローバルモードでは、コアに入った接続をグローバルのプロキシグループに渡しますが、グループ内で利用可能なポリシーを選ぶ必要があります。すべてのアプリの通信を自動で捕捉するわけではありません。DIRECTモードでは、コアに入った接続を宛先へ直接つなぎます。モードを切り替えたら、リクエストを再実行してください。既存の長時間接続は切り替え前の経路を使い続ける場合があります。特定のサイトだけに問題がある場合は、一時的にグローバルモードに切り替えて比較し、その後ルールモードに戻してマッチしたルールを確認しましょう。

システムプロキシとTUNモードの違いは?

システムプロキシはOSの設定にプロキシアドレスを書き込み、その設定に従うアプリに適用されます。TUNは仮想ネットワークインターフェースを使う方式で、より多くの通信をネットワーク層で捕捉できます。ただし対象範囲はルーティング、除外設定、DNSの設定にも左右され、通常は補助サービスの権限も必要です。まずはシステムプロキシでブラウザーの通信を確認し、ターミナルやゲームなどがプロキシを使わない場合にTUNを検討してください。最初のトラブルシューティングでは複数のプロキシツールを併用しないようにしましょう。実際の出口やルーティングを特定しにくくなります。

Mac用インストーラーはApple SiliconとIntelのどちらを選ぶ?

Appleメニューの「このMacについて」を開き、「チップ」または「プロセッサ」を確認します。Apple Mシリーズと表示される場合はApple Siliconまたはarm64、Intelプロセッサと表示される場合はIntelまたはx64を選びます。Universal版は通常どちらのアーキテクチャにも対応していますが、プロジェクトのシステム要件も確認してください。Macの購入年だけで判断しないようにしましょう。インストール後に現在のシステムではアプリを使えないと表示された場合は、macOSの最低要件も確認してください。アーキテクチャを変えても、macOSのバージョンが古すぎる問題は解決しません。

Clash for Windowsの更新終了後も、古い設定は使える?

利用できるかどうかは、設定項目やプロキシプロトコルと使用するコアとの互換性によります。更新終了後すぐにすべての古い設定が使えなくなるわけではありません。移行前に元の設定とポリシー選択を保存し、継続的にメンテナンスされているクライアントにサブスクリプションを再度取り込んでから、ルール、DNS、TUNの設定を確認しましょう。新しいクライアントのデータフォルダー全体を上書きしないでください。古いコアは新しいプロトコルや項目を認識できない場合があります。設定の解析エラーが出たら、エラー内容から該当項目を特定し、サブスクリプションの提供元に互換性のある設定を問い合わせてください。

クライアントを変更する場合は、プラットフォーム別のインストーラーを確認し、システム要件に合うものを選んでください。

Applicationsへのインストールから初回接続まで

インストール・設定

インストール、取り込み、設定の選択、プロキシの有効化の順に確認します。一度に一つだけ変更してテストし、設定とネットワークモードを同時に入れ替えないでください。

macOSにインストールしたアプリが開かないとき、まず確認することは?

DMGを開いたら、アプリをApplicationsフォルダーにドラッグしてから、そのフォルダー内のアプリを起動してください。ディスクイメージから長期間実行するのは避けましょう。インストーラーのアーキテクチャがシステム要件に合っていることも確認します。macOSに起動をブロックされた場合は、まずダウンロード元を確認し、「システム設定 → プライバシーとセキュリティ」に表示される案内に従ってください。アプリを起動するために、Mac全体のセキュリティ機能を無効にしないでください。破損や署名に関するエラーが表示された場合は再ダウンロードし、クライアントのリリースノートで既知の問題を確認しましょう。

サブスクリプションURLはどこに貼り付ける?取り込み後に必要な操作は?

クライアントの「設定」または「サブスクリプション」画面を開き、URLからの取り込みを選んで、サブスクリプションURLをすべて貼り付けて保存します。ダウンロード完了後、新しい設定が選択されていることを確認し、プロキシ画面でポリシーを選びます。最後にシステムプロキシを有効にし、接続できることがわかっているサイトにアクセスしてください。ローカルのYAMLファイルはファイルのインポート機能を使い、URL欄には貼り付けないでください。サブスクリプションURLにアカウント情報が含まれることがあります。スクリーンショットやログを共有したり、問い合わせたりする前に、URLの機密部分を隠しましょう。

サブスクリプションの取り込み後にYAMLや設定の解析エラーが出るのはなぜ?

まず、エラーに表示された行番号と項目名を確認します。取得した内容がログインページやサブスクリプションの期限切れ通知、Base64形式のノード文字列で、クライアントが必要とするClash YAMLではない可能性があります。どの形式のサブスクリプションを使うべきか提供元に確認し、ファイルの拡張子を変えるだけで済ませないでください。YAMLであれば、インデントにスペースを使っているか、コロンの後にスペースがあるか、項目が現在のコアに対応しているかを確認します。手動で編集する前にコピーを保存してください。個人用ノード情報を含む設定を、信頼できないオンライン変換サービスに送信しないでください。

TUNモードで補助サービスや権限が必要と表示された場合の対処法は?

まずTUNをオフにし、クライアントの設定から補助サービスまたはサービスモードのインストール項目を探して、システムの案内に従って許可します。インストール後にクライアントを再起動してTUNを有効にし、コアのログに仮想ネットワークインターフェースやルートの作成失敗が記録されていないか確認してください。項目名はクライアントによって異なるため、現在のバージョンの説明を参照しましょう。会社などの管理下にあるデバイスでは、権限ポリシーによりインストールできない場合があるため、管理者に確認が必要です。アプリの配布元を確認してから許可し、出所不明の権限昇格コマンドをそのまま実行しないでください。

システムプロキシを有効にしても、ブラウザーがプロキシを使わないのはなぜ?

まず、クライアントのコアが動作中で、設定が選択され、現在のポリシーが利用可能か確認します。次に、macOSで現在のネットワークサービスのプロキシ設定を開き、プロキシアドレスとポートがクライアントの表示と一致するか確認してください。特にWi-Fiと有線ネットワークを切り替えた後は注意が必要です。ブラウザー拡張機能、個別のプロキシ設定、ほかのプロキシソフトがシステム設定を上書きしている可能性があるため、一時停止して試します。最後に接続ログを確認します。リクエストが記録されていない場合は通信の捕捉経路を、記録されている場合はマッチしたルール、ポリシー選択、ノードの状態を確認しましょう。

初回接続がまだ完了していない場合は、ガイドを見ながら設定手順をやり直し、各手順のテスト結果を記録してください。

スイッチの状態だけでなく、実際のリクエストを確認する

使い方

接続ログを見れば、「通信がコアに入っていない」のか「コアに入った後でポリシーを誤選択した」のかを切り分けられます。まず状況を確認してからルールを調整しましょう。

ターミナルのコマンドがシステムプロキシを使わないときの設定方法は?

多くのコマンドラインツールはmacOSのシステムプロキシを参照しません。まずクライアントが実際に待ち受けているHTTPポートまたは混合ポートを確認し、ツールのドキュメントに従ってHTTP_PROXY、HTTPS_PROXY、ALL_PROXYなどの環境変数を設定します。HTTPS_PROXYは通常、HTTPSサイトへのアクセスに使うプロキシを示すもので、プロキシアドレスをhttpsスキームで書く必要があるという意味ではありません。まずは一つのターミナルセッションだけでテストし、動作を確認してからshellの設定ファイルへの追加を検討してください。テスト後は環境変数を削除し、クライアント終了後もコマンドがローカルポートを参照し続けないようにしましょう。

サブスクリプションの自動更新間隔はどのくらいがよい?

まずサブスクリプションの提供元が推奨する間隔に設定し、利用可能な状態を保つために頻繁に更新する必要はありません。設定の変更が少ない場合は、数時間から1日程度の間隔で始め、必要に応じて手動更新してください。更新間隔の単位や、スリープ解除後に更新を補うかどうかはクライアントによって異なるため、保存前に画面の説明を確認しましょう。更新に失敗しても、現在使える設定は残し、削除と再作成を繰り返さないでください。サブスクリプション更新で取得できるのは設定であり、ノードに接続できるかどうかはアカウントの状態、ネットワーク経路、ノードサービス自体にも左右されます。

サイトに適用されたルールを確認する方法は?

クライアントの接続画面を開いてから対象サイトにアクセスし、ドメイン名またはプロセス名で新しい接続を探します。適用されたルール、ポリシーグループ、実際の接続先を確認してください。必要であれば一時的にログレベルを上げて一度再現し、ログが増え続けないよう元に戻します。ルールは通常、記載順に判定されます。広範囲に一致するルールが先にあると、後ろのより具体的なルールが適用されない場合があります。設定を変更したら再読み込みし、リクエストを新たに発生させてください。ブラウザーのキャッシュ、接続の再利用、暗号化DNSによって、観測結果が予想と異なることもあります。

ノードを切り替えても、サイトに以前と同じ地域が表示されるのはなぜ?

まず接続ログを見て、そのサイトの通信が選択したポリシーを通っているか、DIRECTや別のポリシーグループにマッチしていないか確認します。該当ページを閉じて再接続し、必要であればそのサイトの古い接続だけを終了してください。サイトはアカウントの地域、Cookie、位置情報の権限、閲覧履歴などから場所を判定する場合もあります。ページの言語だけで接続先が変わったか判断しないでください。ネットワークの出口を調べる場合は、信頼できるIP確認サービスを使いましょう。同じサイトでもドメインが異なると別のルールにマッチすることがあります。

スリープ復帰後やネットワーク切り替え後に接続を復旧するには?

まず現在のネットワークから基本的なサービスに直接アクセスできることを確認し、公衆Wi-Fiではログインを済ませてからプロキシを再開します。次にノードへの接続を再テストしてください。それでも問題が続く場合はシステムプロキシをいったんオフにしてからオンにし、TUNを使っている場合はTUNを再起動して、ログにルーティングやDNSのエラーがないか確認します。ネットワーク切り替え後に古い接続が使えなくなることがあるため、影響を受けたアプリを開き直して確認しましょう。毎回問題が起きる場合は、ネットワークの種類と発生手順を記録し、システムプロキシのみ、TUNのみの状態でそれぞれテストして原因を絞り込みます。

まず基本ネットワークを復旧し、機能を一つずつ有効にする

トラブルシューティング

エラーの内容、発生時刻、直前に変更した設定を記録しましょう。タイムアウトが起きてもすぐに再インストールせず、サブスクリプション、ノード、DNS、ローカルの通信捕捉設定のどこに問題があるか確認してください。

Clashのサブスクリプション更新に失敗したとき、URLの無効化とネットワーク障害を見分けるには?

まずURLが最後まで正しくコピーされているか、アカウントの期限が切れていないか、提供元がサブスクリプションのURLを変更していないか確認します。更新ログのステータスコードも確認しましょう。401や403は認証やアクセス制限、404はURLやリソースの変更、429はリクエスト頻度の制限を示すことがよくありますが、詳細は提供元の案内を確認してください。タイムアウトやドメインの名前解決エラーの場合は、まずネットワークとDNSを調べます。現在使っているプロキシが停止していて更新できない場合は、クライアントが対応していればDIRECTで更新するか、別の利用可能なネットワークで試してください。

ノードがタイムアウト表示でも、必ず使えなくなったとは限らない?

必ずしもそうではありません。遅延テストは指定されたテスト用アドレスにリクエストすることが多く、そのアドレスに接続できない、DNSに問題がある、タイムアウト時間が短すぎるといった理由でもタイムアウトになります。別のノードと比較し、ブラウザーで対象サイトに実際にアクセスして接続ログも確認しましょう。すべてのノードが同時に失敗する場合は、アカウントの状態、サブスクリプションの更新、システム時刻、ローカルネットワークを確認します。一つのノードだけが失敗する場合は提供元に問い合わせてください。遅延テストは速度テストではなく、単一の数値だけでサービス全体の利用可否を判断しないようにしましょう。

TUNを有効にしたらネットワーク全体が切断されたときの復旧方法は?

まずTUNをオフにし、基本的なネットワーク接続が戻ることを確認します。ほかのVPN、仮想ネットワークインターフェース、プロキシツールが同時に動いていないか調べ、接続を捕捉するツールは一つだけにしてください。ログにルーティングの競合、DNSの待ち受け失敗、権限エラーがないか確認し、表示された内容に沿って一つずつ対処します。既存の設定をDNS設定一式で上書きしないでください。クライアント終了後も問題が続く場合は、システムのVPNやプロキシ設定が残っていないか確認し、必要に応じてネットワークに再接続するかデバイスを再起動します。復旧後は最小限の設定でTUNを再度有効にして検証してください。

Windowsストアアプリがネットにつながらないとき、UWPのループバックを確認するには?

AppContainerで分離された一部のWindowsアプリは、ローカルのプロキシアドレスにアクセスする際にループバック制限を受けることがあります。まず通常のブラウザーが同じプロキシで接続できることを確認し、クライアント付属のループバック解除ツールを使って、影響を受けるアプリだけに例外を設定します。案内に従って管理者権限を許可してください。UWPはユニバーサルWindowsプラットフォームを指しますが、ループバックの問題がすべてのストアアプリに当てはまるわけではありません。例外を設定しても解決しない場合は、アプリ固有のネットワーク権限、ファイアウォール、プロキシ方式を確認します。例外を解除する際も、該当アプリの設定だけを削除してください。

クライアント終了後にネットにつながらない、またはポート使用中と表示される場合は?

クライアント終了後にネットにつながらない場合は、システムのネットワーク設定を開き、手動プロキシが停止済みのローカルポートを参照したままになっていないか確認します。残った設定をオフにして再接続してください。起動時にポート使用中と表示される場合は、ほかのプロキシクライアントを終了し、古いコアのプロセスが動作していないか確認したうえで、ログから競合しているポートを特定します。待ち受けポートを変更したら、システムプロキシ、ターミナルの環境変数、ブラウザーの設定も合わせて確認してください。正体のわからないシステムプロセスをむやみに終了しないでください。原因を特定できない場合は、ログを保存して操作の順序を記録してから問い合わせましょう。