まず症状を分ける:ChatGPTだけか、プロキシ通信全体か
Clash経由でChatGPTが開かず、読み込みが続いたあとにタイムアウトする場合、原因はノードの停止だけとは限りません。ブラウザーの通信がプロキシに振り分けられていない、DNSの応答が得られない、TUNが通信を正しく捕捉していない、またはChatGPT側の一時的な障害など、複数の段階で接続が止まる可能性があります。設定をまとめて変更する前に、どの範囲で問題が起きるかを確かめましょう。
- ChatGPTだけ開けない:ChatGPTに適用されたルール、選択中のプロキシグループ、接続先サービスの状態を優先して確認します。
- ほかのサイトもプロキシ経由で開けない:ノードの接続状態、クライアントのポート、システムプロキシまたはTUNの状態を確認します。
- ブラウザーでは失敗するが、別のアプリでは開ける:ブラウザーのプロキシ設定、拡張機能、セキュアDNS、キャッシュを確認します。
- ページは開くがログインや応答が失敗する:接続タイムアウトとは別に、認証、Cookie、ブラウザーのスクリプト制限などを切り分けます。
テスト中は端末、ネットワーク、ブラウザーを固定し、発生時刻と表示されたエラーを記録してください。Wi-Fiからモバイル回線へ切り替えた、ノードを変えた、DNSを変更した、といった条件も一度に一つずつ試します。複数の設定を同時に変更すると、改善しても原因が分からず、別のサイトに問題が移ることがあります。
プロキシモードとルール:ChatGPTの通信がどこへ流れているか確認
Clashの「ルール」モードでは、通信先に応じてルールを上から順に評価し、最初に一致したルールが指定するDIRECTまたはプロキシグループを使用します。ノード一覧で接続可能なノードを選んでいても、ChatGPTの通信にDIRECTや別のグループが適用されていれば、そのノードは使われません。反対に、ChatGPT以外の通信が正常でも、該当ドメインだけ異なるルールに振り分けられていることがあります。
接続一覧とログを照合する
- Clashクライアントを起動し、現在の設定が有効であること、選択中のプロファイルとプロキシグループを確認します。
- 「接続」画面またはコアのログを開いた状態で、ブラウザーからChatGPTにアクセスします。メニュー名はClash Verge、Clash Verge Rev、Clash for Windowsなどで異なります。
chatgpt.comや関連する通信先の接続が一覧に現れるか、適用ルール、ポリシー、実際に選択された出口を確認します。ログに記録される接続先は、ページの読み込みに伴い複数になることがあります。- 接続がDIRECTになっている、または意図しないグループに入っている場合は、設定のルールとグループ構成を確認します。ルールを追加する場合は、より広い条件のルールより前に置き、実在するグループ名を指定してください。
原因を短時間で比較するために、「グローバル」モードへ一時的に切り替える方法もあります。グローバルモードでChatGPTが開き、ルールモードでは開かない場合は、ノードそのものよりルールやグループの振り分けが疑われます。ただし、グローバルモードでは通常、ほかの通信もプロキシへ送られるため、確認後は元のモードに戻してください。公開ネットワークや社内ネットワークで使う必要のある通信までプロキシ経由になる点にも注意が必要です。
サブスクリプションから取得した設定を直接書き換えると、更新時に変更が消える場合があります。クライアントにルールの追加・上書き機能がある場合は、その仕組みを確認して利用してください。設定変更後は、再読み込みまたはプロファイルの再適用を行い、接続一覧に反映されたかを確かめます。
ノードを確認する:タイムアウトの範囲と出口を比較
ChatGPTだけでなく、同じルールでプロキシされる複数のサイトが失敗する場合は、ノードまたはその経路を確認します。まず現在のノードを固定し、別のノードを一つずつ試してください。自動選択グループは測定結果に応じてノードが変わることがあるため、比較中は手動で選ぶほうが結果を追いやすくなります。
- 選択したノードだけ失敗する:そのノードの停止、認証情報、サーバーまでの経路を疑い、別ノードで比較します。
- 同じグループの複数ノードが失敗する:グループの中身、ルールの振り分け、コアのログを確認します。
- 複数のグループやノードが同時に失敗する:端末のネットワーク、ローカルポート、クライアントの状態、DNSを優先して確認します。
- 遅延テストは成功するがページは開かない:テスト用URLへの応答だけでは、ChatGPTの接続やログインまで正常とは判断できません。実際の接続ログを確認してください。
ノードの遅延表示は、多くの場合、指定されたテスト先への応答時間を示すもので、ChatGPTの応答速度や帯域を保証する数値ではありません。テスト先に接続できても、接続先サービスまでの経路、DNS、HTTPSの確立で失敗することがあります。ノード名に書かれた地域や「高速」といった説明だけで判断せず、同じ端末・同じネットワークで実際のアクセス結果を比べましょう。
コマンドラインでHTTPプロキシの応答を比較する場合は、クライアントが実際にHTTPまたは混合プロキシとして待ち受けているポートを指定します。以下の7890は例です。ポート番号をクライアントの設定画面で確認し、環境に合わせて変更してください。
curl -x http://127.0.0.1:7890 -I --connect-timeout 10 --max-time 25 https://chatgpt.com/
このコマンドはHTTPプロキシ経由でHTTPSサイトへ接続し、応答ヘッダーを取得できるかを確認します。接続に成功しても、ブラウザーでのログインやChatGPTの全機能が正常であることまでは証明しません。また、HTTPステータスだけでアカウント状態を判断しないでください。クライアントのポートがSOCKS専用の場合、このHTTP形式の指定では接続できないため、対応するプロキシ種別を確認します。
DNSを確認する:名前解決とブラウザーの設定を分ける
ChatGPTのドメイン名をIPアドレスに変換できないと、ノードが正常でも接続が始まりません。ClashのDNS設定、OSのDNS、ブラウザー独自のセキュアDNS、TUN使用時のDNS処理は、それぞれ関係しながらも同じ設定ではありません。どのDNSを実際に使っているかは、クライアント、コア、OS、ブラウザーの構成によって異なります。
- ClashのログでDNSエラーや名前解決失敗がないか確認します。特定の名前だけ失敗するのか、ほかのドメインも失敗するのかを記録してください。
- ブラウザーのセキュアDNS(DNS over HTTPS)を一時的に無効にするか、管理されている別の設定と比較します。ブラウザー独自のDNSを使うと、OSやClash側のDNS設定と異なる経路になる場合があります。
- DNSキャッシュを消去したあと、同じページを再試行します。キャッシュ削除後に直った場合は、古い名前解決結果や一時的な応答の影響が考えられます。
- ClashのDNS設定を変更する場合は、変更前の値を保存し、一つの項目だけを変えて再読み込みします。上流DNSの変更とFake-IP/Redir-Hostの切り替えを同時に行わないでください。
Fake-IPは、ドメインと通信を対応づけるために合成アドレスを使う方式です。名前解決後の接続をコアが追跡し、ルール判定に利用できます。Redir-Hostは、一般にDNS応答で得たアドレスを利用する方式です。どちらが適切かは、使用中のコア、クライアント、ルール、端末環境によって異なります。ChatGPTが開かないという理由だけで方式を切り替えるのではなく、ログに出る名前解決結果や設定の互換性を確認しましょう。
システムプロキシとTUN:利用アプリに合う経路を選ぶ
システムプロキシは、OSのプロキシ設定を参照するアプリの通信をローカルのプロキシポートへ送ります。ブラウザーが対象でも、すべてのデスクトップアプリやバックグラウンド通信が同じ設定に従うわけではありません。TUNは仮想ネットワークインターフェースを使って、システムプロキシを参照しない通信も処理できる方式ですが、権限、ルート、DNS、除外設定などが適切でなければ、通信が途切れたりループしたりする可能性があります。
- ブラウザーだけでChatGPTを使う場合は、クライアントのシステムプロキシが有効か、ブラウザーに個別のプロキシ設定や拡張機能がないかを確認します。
- システムプロキシを使わないアプリでも試す必要がある場合は、クライアントがTUNに対応しているか確認し、必要な権限と仮想インターフェースの状態を調べます。
- TUNの有効化前後で症状を比較し、接続一覧やログに通信が現れるか確認します。変化がない場合は、TUNが対象通信を捕捉していないか、別の経路が優先されている可能性があります。
- 診断中にシステムプロキシとTUNを同時に切り替えないでください。どちらの経路が作用したか分からなくなるため、片方ずつテストし、確認後は通常使う構成に戻します。
TUNの設定項目や対応範囲は、Clash Verge、Clash Verge Rev、Clash for Androidなどのクライアントと、実際に起動しているコアのバージョンで異なります。アプリ名だけから機能を判断せず、クライアントの設定画面、権限要求、コアの起動ログを確認してください。システムプロキシが有効でも、ブラウザー内の個別設定が優先されている場合は、想定したローカルポートに接続されません。
ブラウザー・時刻・サービス側の状態を最後に確認
ノード、ルール、DNS、プロキシ経路が正常でも、ブラウザーや接続先サービスの状態によってページを開けないことがあります。シークレットウィンドウ、別のブラウザー、拡張機能を無効にした状態で比較し、キャッシュやCookieの影響を切り分けます。シークレットウィンドウでも拡張機能が有効な設定の場合があるため、必要に応じて拡張機能を個別に停止してください。
- システム時刻:日付、時刻、タイムゾーンが大きくずれていないか確認します。ずれがあると、HTTPS証明書の検証に失敗することがあります。
- ブラウザーの拡張機能:広告・スクリプト制御、プライバシー保護、独自プロキシ設定がChatGPTの通信を遮断していないか確認します。
- セキュリティソフトやファイアウォール:ブラウザー、Clashクライアント、ローカル待受ポートへの通信がブロックされていないか確認します。
- サービス側の障害:短時間に複数のノードで同じ症状が出る場合は、時間を置いて再試行し、接続先サービスの障害情報も確認します。
原因が見つかったら、変更した項目を一つずつ元に戻し、ChatGPTと普段使うサイトの両方で動作を再確認します。接続ログや設定を第三者に共有する場合は、サブスクリプションURL、認証トークン、UUID、パスワード、利用者を特定できる情報を必ず伏せてください。TLS証明書の検証を無効にする、すべての通信を無条件に許可する、といった方法は安全性を損なうため、恒久的な対処として使用しないでください。