まず症状を分ける:Clashの接続とChatGPT側の状態

Clash経由でChatGPTが開かないときは、最初に「ページが読み込まれない」「ログイン画面で止まる」「会話は表示されるが送信できない」のどれに当てはまるかを確認します。これらは同じ原因とは限りません。ノードへの接続、ルールの振り分け、DNS、ブラウザーのセッション、サービス側の一時的な問題を順番に切り分けると、設定をむやみに変更せずに済みます。

Clashの画面に「稼働中」と表示されることや、ノードの遅延テストが成功することは、ChatGPTへの通信がそのノードを通っている証拠ではありません。クライアントは設定やシステム連携を管理し、mihomoなどのコアがルールを判定して通信を処理します。対象サイトに実際に適用されたルールと、接続先のポリシーグループを確認してください。

  • ページ全体が開かない:選択中のノード、プロキシモード、ルール、DNSを優先して確認します。
  • ログインだけ失敗する:認証関連ドメインのルール、ブラウザーのCookie、別のログインセッションを確認します。
  • 画面は開くが読み込みが続く:接続ログのタイムアウト、長時間接続の不安定さ、拡張機能やキャッシュの影響を確認します。

プロキシモードとノードを確認する

まずクライアントの「プロキシ」画面で、現在のモードと選択中のグループを確認します。ルールモードでは、コアが設定内のルールを上から照合し、通信ごとにプロキシ、直結、拒否などを決めます。ChatGPTのページをプロキシ経由にしたいのに、該当通信がDIRECTや意図しないグループへ送られていれば、ノードの遅延が正常でもページは開かないことがあります。

最上位のグループ名だけで判断せず、そのグループが参照する下位グループと、最終的に選ばれているノードまでたどります。「自動選択」やurl-testを使っている場合は、切り分け中だけ応答のあるノードを手動で選ぶと、自動切り替えによる変数を減らせます。まず別のノードを1つ試し、症状が変わるか確認してください。

確認項目試すこと結果の見方
ルールモード接続ログで対象通信のルールとポリシーを確認想定外のDIRECTやREJECTならルールの照合先を調べる
ノード選択応答のある別ノードを1つ手動選択ノードを変えて改善するなら、元のノードや経路に原因がある可能性
グローバルモード短時間だけ切り替えて同じページを再読込改善するならルールやグループ選択を重点的に確認
システムプロキシブラウザーがシステムプロキシを利用する設定か確認ブラウザーの通信がClashのコアに届いているかログで確認

グローバルモードは診断用の比較手段です。通信をすべて同じポリシーに送るため、普段のルールモードの代わりとして固定する必要はありません。テスト後は元のモードに戻し、接続ログでChatGPTに関係するリクエストがどのグループに送られたかを確認します。

手順に沿って原因を切り分ける

次の手順では、設定を一度にいくつも変更しないでください。変更前のモード、ノード、システムプロキシの状態をメモしておくと、症状が変わらなかった場合に元へ戻しやすくなります。クライアントの画面名はバージョンによって異なりますが、「プロキシ」「接続」「ログ」「設定」などの項目を探します。

  1. ブラウザーでChatGPT以外の一般的なWebページを開き、インターネット接続自体があるか確認します。ほかのページも開かない場合は、ChatGPTだけの問題として扱わず、回線とClashの稼働状態から調べます。
  2. Clashの「プロキシ」画面で、選択中のグループと最終的なノードを確認します。応答のあるノードが複数あれば、まず1つを手動選択して同じページを再読み込みします。
  3. 接続ログを開いた状態でChatGPTを再読み込みし、記録されたドメイン、適用ルール、ポリシー、失敗理由を確認します。ログの表記はクライアントによって異なりますが、タイムアウト、名前解決失敗、接続拒否などの種類を記録します。
  4. ルールモードで失敗する場合は、短時間だけグローバルモードに切り替え、同じノードで再試行します。グローバルモードで改善したら、ルールの順序や対象グループを調べてから、通常のモードへ戻します。
  5. ブラウザーがシステムプロキシを使っているか確認します。システムプロキシを使わないブラウザーやアプリでは、Clashが稼働していても通信がコアに届かないことがあります。
  6. 最後に、プライベートウィンドウまたは別のブラウザーで試します。ログイン状態やCookieを保持するメインのブラウザーを先にリセットせず、ブラウザー固有の問題かどうかを比較します。

ルールを修正する場合は、まず既存設定のバックアップを取ります。サブスクリプションから取得した設定は更新時に上書きされる場合があります。クライアントにルール追加や設定オーバーライドの機能があるなら、配布元の設定を直接編集する前に、その機能が適切か確認してください。

ルールとDNSを調べる

ChatGPTの画面は、ページ本体だけでなく、ログイン、API、静的ファイル、画像など複数のホストへのリクエストで構成されます。利用されるホスト名は画面や機能、サービス側の変更によって異なります。接続ログで実際に失敗したドメインを見て、1つのドメインだけに決め打ちしたルールではなく、必要な通信が同じ意図した経路に送られているか確認します。

たとえば、chatgpt.comが開いても、認証やAPIなど別の通信が異なるルールに一致することがあります。ルールの順序がある設定では、上のルールに先に一致すると、後ろに追加したルールは使われません。広い範囲のドメインをまとめてプロキシへ送るルールを追加する場合も、設定全体への影響とサブスクリプション更新後の挙動を確認してください。

DNSの失敗とタイムアウトを区別する

ログに名前解決エラーがあればDNS設定が関係する可能性があります。一方、接続タイムアウトやTLS接続の失敗は、DNSだけでなくノード、経路、接続先、回線の状態でも起こります。エラーの種類を確認せず、DNSモードを次々に切り替えると、どの変更が影響したのか分かりにくくなります。

  • 同じドメインの名前解決が繰り返し失敗するか、接続ログとコアのログで確認します。
  • DNSのキャッシュや設定を変更する前に、現在のDNS関連設定を記録し、変更は1項目ずつ行います。
  • fake-ipを使っている場合は、問題がChatGPTの通信だけに起きるか、ほかのドメインでも起きるかを比較します。機能の仕組みを確認せず、fake-ip-filterへ推測で大量の項目を追加しないでください。
  • DNS設定を変更した後は、同じノード、同じブラウザー、同じページで再試行し、ログの変化を記録します。

接続ログにはサブスクリプション情報や接続先の詳細が含まれる場合があります。公開の場で共有する際は、認証情報、サブスクリプションURL、トークン、個人を識別できる情報を隠してください。

TUNを試す場面とブラウザー側の確認

システムプロキシは、OSのプロキシ設定に従うアプリの通信を扱う方法です。ブラウザーが独自のプロキシ設定を使っていたり、システム設定を参照しなかったりすると、Clashを有効にしても通信が経由しない場合があります。まずブラウザーのネットワーク設定を確認し、Clashの接続ログにアクセス時の通信が記録されるかを見ます。

TUNは仮想ネットワークインターフェースを使って、システムプロキシを使わないアプリなどの通信を取り込むための機能です。Clash Verge Revなどでは、TUNの起動にサービスや管理者権限が必要な場合があります。TUNを有効にしてもノード、ルール、DNSの問題が自動的に直るわけではありません。また、OSのVPN機能や別のネットワークツールと競合する可能性があるため、必要な場合だけ有効にし、確認後は用途に応じて元の状態へ戻します。

ページが開いてもログインや会話の読み込みが続く場合は、ブラウザーのプライベートウィンドウで試し、拡張機能を一時的に無効にして比較します。別のブラウザーでは動作するなら、Clash全体よりもCookie、キャッシュ、コンテンツブロッカー、ブラウザー固有のプロキシ設定が関係している可能性があります。Cookieを消すとログアウトすることがあるため、ログイン情報を確認してから操作してください。

症状・ログ優先して調べる項目次の比較
接続ログに対象通信がないブラウザーのプロキシ設定、システムプロキシ、通信の取り込み別ブラウザー、必要に応じてTUN
ルールが直結または拒否になっているルールの一致結果、順序、ポリシーグループ短時間のグローバルモード比較
名前解決に失敗するDNS設定、ログ上の失敗ドメイン、キャッシュ一度に1項目だけ変更して再試行
接続タイムアウトが続く選択中のノード、回線、接続先への経路別ノードと別ブラウザーで同条件比較
ログイン後に画面が止まる認証関連通信、Cookie、拡張機能、サービス側の状態プライベートウィンドウで再試行

複数のノード、モード、DNSを一度に変更すると、改善しても原因を特定できません。変更した内容と時刻を簡単に記録し、1つの条件だけ変えて同じ操作を繰り返すのが実用的です。クライアントやコアの更新を行う場合も、設定のバックアップを取り、更新前後のバージョンとログを残してください。