ClashでChatGPTに接続できない?タイムアウト解決ガイド
Clash経由でChatGPTが開かない、応答が遅い、接続がタイムアウトするときの確認方法を解説します。プロキシモードやノードの状態、ルール分岐、DNS、TUNモードを順番に見直し、安定して利用できる設定を探します。
ChatGPTのタイムアウトは、まず発生箇所を切り分ける
Clashを起動しているのにChatGPTへ接続できず、「接続がタイムアウトしました」「応答を待機中のまま進まない」「ログイン画面は開くがチャットを送信できない」といった症状が出ることがあります。この場合、ノードの品質だけを疑うのは早すぎます。ブラウザの通信がClashへ届いていない、ルールがChatGPT関連のドメインをDIRECTへ送っている、DNS解決が失敗している、あるいはWebSocketや長時間接続が途中で切れている可能性もあります。
ChatGPTの利用では、単一のドメインだけでなく、ログイン、API、静的ファイル、会話データ、ストリーミング応答など複数の通信先が使われます。そのためトップページだけ開いても、ログイン後の画面やメッセージ送信が正常とは限りません。最初に次の表で症状と確認すべき層を対応させると、設定を無意味に何度も変更せずに済みます。
| 症状 | 優先して確認する項目 | 判断の目安 |
|---|---|---|
| ChatGPTのページ自体が開かない | システムプロキシ、モード、選択中のノード | 接続一覧に通信記録があるか確認する |
| ログイン画面だけ表示される | ルール、認証関連ドメイン、Cookie | ログインボタン押下後の通信を確認する |
| チャット送信後に応答が止まる | ノードの安定性、WebSocket、長時間接続 | 別ノードまたはGlobalモードで比較する |
| 特定の端末だけ利用できない | 端末のDNS、ブラウザ拡張、TUN権限 | 同じ設定を別端末で試して差分を見る |
Clashの「接続」や「Connections」画面を開いたまま、ChatGPTのページを再読み込みしてください。新しい接続が全く記録されないなら、ブラウザからClashへの経路ができていません。記録は追加されるのに失敗するなら、Clashからノード、DNS、または対象サーバーまでの経路に問題があります。
システムプロキシと動作モードを確認する
Clash Verge、Clash Verge Rev、Clash for Windowsなどのデスクトップクライアントでは、プロファイルを読み込んだだけではブラウザの通信が必ずしもClashを通るとは限りません。まずクライアント画面で「システムプロキシ」がオンになっているか確認します。Windowsでは「設定 → ネットワークとインターネット → プロキシ」、macOSでは「システム設定 → ネットワーク → 使用中の接続 → 詳細 → プロキシ」を開き、プロキシサーバーが127.0.0.1、ポートがClashのMixedポートと一致しているか確認してください。
Mixedポートは設定によって異なります。よくある値は7890ですが、プロファイル内のmixed-portを変更している場合はその値を使います。HTTPポートだけ、またはSOCKSポートだけを登録していると、アプリによってはHTTPS通信や名前解決が期待どおり処理されません。通常のブラウザ利用では、HTTPとSOCKSの両方を扱えるMixedポートを指定するのが分かりやすい方法です。
次にClashの動作モードを確認します。Directではすべての通信が直接接続になり、ChatGPTに対してプロキシを使いません。Ruleでは設定されたルールの順序に従って接続先が振り分けられ、Globalでは選択中のプロキシグループへまとめて送られます。原因を特定する間だけGlobalへ切り替え、安定しているノードを手動選択してください。Globalで開けるなら、ノードそのものよりRuleの振り分けに原因がある可能性が高くなります。
- システムプロキシをオンにしても、別のVPNやプロキシアプリが設定を上書きしていないか確認する。
- ブラウザのプロキシ拡張機能を使っている場合は、一時的に無効にし、Clashのシステムプロキシだけで試す。
- Clashの接続画面で、ChatGPT関連の接続が
DIRECTになっていないか確認する。 - ノード名の横に表示されるtimeoutを、単なる高遅延ではなく利用不能のサインとして扱う。
ブラウザの「オフライン作業」や拡張機能の遮断機能が有効だと、Clash側に接続記録が残らないことがあります。シークレットウィンドウで拡張機能を無効にした状態でも同じ症状が出るか確認すると、ブラウザ固有の問題を切り分けやすくなります。
実際に手を動かして検証する手順
ここでは設定を大きく書き換えず、画面上の切り替えだけで原因を絞り込みます。検証中は一度に複数の項目を変更せず、各結果を記録してください。そうしないと、どの変更が改善につながったのか分からなくなります。
- Clashクライアントを開き、使用中のプロファイル名、動作モード、現在選択されているプロキシグループを記録します。
- 接続画面を表示したまま、ブラウザのCookieを削除せず、まず通常の再読み込みを実行します。ChatGPT関連の接続が生成されるか確認します。
- モードを一時的にGlobalへ変更し、レイテンシテストでtimeoutになっていないノードを1つ選びます。自動選択グループではなく、具体的なノードを選ぶのがポイントです。
- ChatGPTのトップページ、ログイン、短いメッセージの送信を順番に試します。トップページだけで判定せず、応答がストリーミング表示まで進むか確認してください。
- Globalで動作したらRuleへ戻し、接続画面で該当ドメインのポリシーを確認します。DIRECT、REJECT、存在しないグループへ送られている場合は、ルールまたはグループ名を修正します。
- 別のノードでも同じ操作を繰り返します。1台だけ成功するならノード側の混雑や出口側の相性、全台で失敗するなら設定やDNS側の問題を優先します。
ルールを確認するときは、特定のChatGPTドメインだけでなく、ログインや静的コンテンツに使われる関連ドメインも確認する必要があります。設定ファイルの末尾付近にあるMATCHは最後の既定動作なので、個別ルールに一致しない通信はそのポリシーへ送られます。ChatGPTだけをプロキシへ送る構成にする場合は、提供元のルールセットが現在のサービス構成に対応しているかを確認し、古いルールを無条件に追加しないでください。
rules:
- DOMAIN-SUFFIX,openai.com,Proxy
- DOMAIN-SUFFIX,chatgpt.com,Proxy
- MATCH,DIRECT
上の例は考え方を示す最小例であり、実際の設定ではプロキシグループ名Proxyが自分の設定に存在していなければなりません。また、ルールを追加した後はプロファイルを再読み込みし、古い設定がメモリ上に残っていない状態で試してください。
DNS、TUN、ブラウザ側の競合を調べる
ChatGPTの一部だけがタイムアウトする場合は、DNS解決の失敗や異なる通信経路が原因になっていることがあります。mihomoの設定で内蔵DNSを使う場合は、dns.enableがtrueであること、nameserverに到達可能な解決先があることを確認します。fake-ipモードを利用している環境では、198.18.0.0/16のアドレスが返ることがあります。これはClashがドメインと仮想IPを対応付けている正常な動作であり、数字だけを見て異常と判断しないでください。
一方、ブラウザのセキュアDNS(HTTPS上のDNS)が有効だと、ブラウザがClashのDNS処理を迂回する場合があります。ChromeやEdgeではセキュアDNSを一時的にオフにし、Firefoxでは「HTTPS上のDNS」を無効にして比較してください。検証が終わった後に再び有効化することはできますが、ClashのDNS設計と同じ経路を使うよう設定を統一することが大切です。
TUNモードを使っている場合は、システムプロキシとは別の経路で端末全体の通信を捕捉します。TUNの権限が失われていないか、仮想アダプターが正常に作成されているか、他のVPNと同時起動していないかを確認してください。システムプロキシとTUNを同時に有効にすると、環境によっては二重処理やループが起こります。原因調査では、まずTUNをオフにしてシステムプロキシだけで試す、または逆にTUNだけで試すという比較が有効です。
- Windowsでは
ipconfig /flushdnsを実行してDNSキャッシュを消去する。 - ブラウザを完全終了して再起動し、古い接続プールやキャッシュの影響を除く。
- ClashのDNSログで対象ドメインが解決済みか、エラーや空の応答になっていないか確認する。
- IPv6を使っていない環境では、IPv6経路だけが直接接続になっていないか調べる。
タイムアウトが続く場合の最終確認
ここまで確認しても改善しない場合は、サブスクリプションの状態とクライアントのカーネル差異を調べます。サブスクリプションの更新に失敗していると、画面上には古いノードが残っていても、実際には期限切れ、容量超過、認証失敗などで接続できないことがあります。更新操作を実行し、取得時刻、HTTPステータス、プロファイルの解析エラーを確認してください。
Clash Verge RevやFlClashなどmihomo系クライアントと、古いClashコアを使うクライアントでは、tun、rule-providers、DNS関連の対応範囲が異なります。同じYAMLを複数のクライアントへ読み込ませている場合、ある端末だけ設定項目が無視されることがあります。クライアントのログに「unknown field」「failed to parse」「unsupported」などの表示がないか確認し、各クライアントが使用しているコアの種類とバージョンを把握してください。
ノードを選ぶときは、単発のレイテンシだけで決めないことも重要です。ChatGPTの応答は接続を一定時間維持するため、短い速度テストに成功していても、パケットロスや混雑によってストリーミング中に切断されることがあります。複数回のテスト、別時間帯での確認、実際のメッセージ送信を組み合わせ、安定して最後まで応答が届くノードを優先してください。
最終的には、システムプロキシまたはTUNが有効、ChatGPT関連通信が意図したプロキシグループへ送られている、DNS解決が成功している、そして短いメッセージの応答が最後まで表示される、という4点を確認します。この順番で見れば、「Clashは起動しているのにChatGPTだけタイムアウトする」問題の多くを効率よく切り分けられます。
設定を変更した後は、プロファイルの再読み込み、Clashの再起動、ブラウザの再起動を必要に応じて行ってください。それでもすべてのノードで接続できない場合は、利用中のネットワーク自体の制限、サブスクリプション提供元の障害、またはサービス側の一時的な障害も候補になります。特定のノードだけでなく、別回線や別端末でも比較すると、Clashの設定問題なのか外部要因なのかを判断しやすくなります。
Clashクライアントを見直す
動作モード、ルール、DNS、TUNを画面ごとに確認できるクライアントを使うと、ChatGPTの接続トラブルを切り分けやすくなります。
Clash 最新版をダウンロード
Windows・macOS・Android全対応のクライアントを、公式リリースと毎日照合。バージョン番号と更新日を一目で確認できます。