ChatGPTがClashで開けない?タイムアウトと接続エラーの設定チェック
Clash経由でChatGPTを使おうとしても、読み込みが終わらない、接続がタイムアウトする、ログイン画面が表示されない場合の確認方法を解説します。MetaやMihomoでのプロキシ設定、ルール、DNS、TUNモード、ノード切り替えを順番に確認できます。
B-01まず症状を分ける:ChatGPTだけか、すべての通信か
ChatGPTが開かないとき、最初にノードを変更するのは得策ではありません。Clashを停止すると通常のWebサイトは開けるのか、ChatGPT以外の海外サイトも開けないのか、ChatGPTのトップページだけが失敗するのかを分けて確認します。同じ「接続できない」という表示でも、原因がルールの誤指定、DNS解決の失敗、TLSハンドシェイクの遅延、ブラウザのセッション不整合のいずれかによって、修正する場所は変わります。
- ChatGPTだけが開けない:OpenAI関連ドメインが
DIRECTに送られている、特定のドメインだけ別のポリシーに振り分けられている、またはブラウザのCookieや拡張機能が通信を妨げている可能性があります。 - 海外サイト全体が開けない:選択中のノード、プロキシグループ、Clashの混合ポート、システム代理の状態を優先して確認します。
- 画面は表示されるがログインや回答生成で止まる:追加のAPI通信、長時間接続、WebSocket、DNS、ブラウザ拡張機能などが関係している可能性があります。
- 「network error」「timeout」が断続的に出る:ノードの混雑や経路の不安定さ、ルール変更後のDNSキャッシュ、TUNとシステム代理の二重設定を疑います。
B-02プロキシグループとルールの優先順位を確認する
ChatGPTの通信が正しいノードへ送られているかは、Clashの「接続」や「ルール」画面で確認できます。ルールは通常、上から順に照合され、最初に一致した行のポリシーが適用されます。上部に広すぎる DOMAIN-SUFFIX、GEOIP、あるいは早い段階の MATCH,DIRECT があると、後ろに追加したOpenAI関連ルールまで到達しません。
まず現在の設定で、対象ドメインの接続記録を開きます。接続先がプロキシグループではなく DIRECT になっている場合は、ルールが意図と違う順序で適用されています。設定画面にルールのヒット内容が表示されるクライアントでは、ドメイン名、適用ルール、ポリシーグループ、実際に選択されたノードを一緒に確認してください。グループ名を変更したのにルール側の古い名前が残っている場合も、フォールバック処理によって分かりにくいエラーになります。
手動で検証する場合は、OpenAIのサービスで利用されるドメインを一つの規則にまとめるのではなく、接続ログを見ながら必要なドメインを追加します。ChatGPTのWeb画面、ログイン、静的ファイル、API通信では接続先が同一とは限らないため、トップページのドメインだけを指定しても十分とは限りません。提供元のルールセットを使う場合は、取得に失敗していないか、behavior が実際のファイル形式と一致しているかも確認します。
rules:
- DOMAIN-SUFFIX,openai.com,ChatGPT
- DOMAIN-SUFFIX,chatgpt.com,ChatGPT
- MATCH,PROXY
上の例は構造を確認するための簡略例です。ChatGPT は実際に設定しているプロキシグループ名へ置き換え、既存のルール全体の順序も確認してください。利用環境によって必要なドメインや最適な分岐は異なるため、例を無条件に貼り付けるのではなく、接続ログで不足している通信を確認することが重要です。
B-03DNS設定とFake-IPの挙動を確認する
ルールが正しくても、ChatGPTのドメインを名前解決できなければブラウザは接続できません。ClashのDNS設定では、端末から見えるDNSと、Clashコアが実際に問い合わせるDNSが異なることがあります。特にTUNモードとFake-IPモードを組み合わせている場合、DNSリクエストがClashへ届いているか、Fake-IPのマッピングが壊れていないかを確認します。
設定画面で最初に見る項目は、DNS機能の有効状態、DNSサーバーのアドレス、IPv6の扱い、Fake-IPまたはRedir-Hostの選択です。DNSサーバーを複数登録していても、ネットワーク側で一部の宛先が遮断されていれば、名前解決だけが長時間待機することがあります。ログにDNS timeout、SERVFAIL、NXDOMAINなどが表示される場合は、ノード変更より先にDNS経路を見直してください。
一時的な切り分けとして、DNSキャッシュを消去し、Clashを再起動してからブラウザを完全に終了します。Fake-IPを使用している場合は、設定変更後に古いマッピングが残っている可能性があるため、DNSキャッシュのフラッシュやクライアントの再起動を行います。Windowsでは管理者権限のターミナルで次の操作を実行できます。
ipconfig /flushdns
macOSやLinuxでは、使用しているOSのDNSキャッシュサービスに応じて再起動方法が異なります。重要なのは、OS側のキャッシュだけを消して終わりにせず、Clash内のDNSキャッシュ、ブラウザの接続プール、ネットワークインターフェースの状態も順に更新することです。IPv6経路だけで失敗する場合は、IPv6を一時的に無効化して結果を比較すると原因を絞り込めます。
B-04実際に手を動かして経路を検証する
ここでは設定を一度に大きく変更せず、ローカルポート、選択ノード、ブラウザの三つを分けて検証します。Clash Verge、Clash Verge Rev、ClashX、Mihomo系クライアントでは画面名が異なることがありますが、確認する内容は共通しています。
- Clashの一般設定を開き、HTTPポートまたは混合ポートを確認します。よく使われる値は
127.0.0.1:7890ですが、実際の設定値を優先してください。ポートが無効、または別のアプリに占有されていないことも確認します。 - プロキシグループで応答の安定したノードを一つ選び、自動選択や負荷分散を一時的に避けます。これにより、検証中にノードが切り替わって結果が変わることを防げます。
- ターミナルからローカルプロキシを指定してHTTPS接続を試します。
- ブラウザでChatGPTを開き、ログイン前のページ表示、ログイン、短いメッセージの送信を別々に確認します。どの段階で止まるかを接続ログと照合します。
- 検証が終わったら、自動選択、TUN、システム代理などを元の構成へ一つずつ戻し、どの変更で再発するかを記録します。
curl -x http://127.0.0.1:7890 https://chatgpt.com -I -m 15
HTTPレスポンスが返れば、指定したポートでプロキシ接続が成立している可能性が高くなります。ただし、これだけでログインや会話機能まで正常とは判断できません。curlが接続拒否になる場合はポート番号、Clashの起動状態、ローカルファイアウォールを確認します。名前解決エラーならDNS、TLSエラーや途中で停止する場合はノードのSNI、TLS、経路品質を確認します。
| 症状 | 優先して見る場所 | 次の対処 |
|---|---|---|
| 接続拒否 | HTTP/混合ポート、Clashの起動状態 | 実際のポートを確認し、別ポートで再試行 |
| DNS解決失敗 | DNSモード、Fake-IP、DNSログ | キャッシュを消去し、DNS経路を比較 |
| TLS timeout | ノード、SNI、TLS設定、時刻 | 別ノードで試し、システム時刻を同期 |
| 画面は開くが送信失敗 | WebSocket、拡張機能、ルールログ | 拡張機能を無効化し、関連通信の判定を確認 |
B-05システム代理・TUNモード・ブラウザを整理する
Clashのシステム代理をオンにしても、すべてのアプリが自動的に同じ経路を使うわけではありません。ブラウザがOSのプロキシ設定を参照している一方、別のアプリは独自の接続方式を使うことがあります。反対にTUNモードは仮想ネットワークインターフェースを利用して、より広い範囲の通信を処理しますが、権限、ドライバー、DNS hijack、ルート設定などの確認項目が増えます。
まず、システム代理とTUNを同時に有効にしている場合は、片方だけにして比較します。二重に有効化すると、ブラウザのリクエストがシステム代理へ入り、さらにTUN側で処理されるなど、経路が複雑になってループや遅延を起こす場合があります。Windowsではインターネットオプション、macOSではネットワークサービスのプロキシ欄を開き、アドレスとポートがClashの表示と一致しているかを確認してください。
ブラウザのプロキシ拡張機能を利用している場合は、いったん無効化してOSのシステム代理だけで試します。拡張機能が「直接接続」や古いポートを指定していると、Clashのシステム代理をオンにしてもブラウザ側で上書きされます。また、ブラウザのCookie、キャッシュ、Service Workerが古い接続状態を保持していることもあるため、プライベートウィンドウで同じページを開いて比較します。
B-06復旧後に設定を固定するための最終チェック
ChatGPTが表示されたら、そこで作業を終えず、再起動後も同じ状態になるかを確認します。Clashを再起動してプロキシグループの選択が維持されるか、OSのスリープ復帰後にTUNやシステム代理が再接続されるか、ブラウザの新しいタブでもログイン状態が安定しているかを確認してください。
- 選択中のノードが手動で固定されているか、自動選択が不安定なノードへ戻っていないか確認する。
- ChatGPT関連のルールが、広い直結ルールや早い
MATCHより前に配置されているか確認する。 - DNSログに失敗がなく、Fake-IPやDNS hijackを有効にした場合も名前解決が継続しているか確認する。
- システム代理とTUNのどちらを使うか決め、不要な方をオフにする。
- ログイン、ページ表示、メッセージ送信を別々に試し、接続ログのドメインとポリシーを記録する。
設定を変更した後に問題が再発した場合は、最後に変更した項目を元へ戻し、ノード・ルール・DNS・ブラウザの順に一項目ずつ再確認します。特にサブスクリプション更新後は、プロキシグループ名やルールセットの構成が変わることがあります。更新前後の設定を比較し、ChatGPTだけを特別扱いする必要があるのか、海外通信全体の経路を見直すべきなのかを判断してください。
図面どおりに施工:Clashクライアントを準備する
使用中のクライアントやコアが古い場合は、対応するプラットフォーム向けの配布ページを確認し、設定をバックアップしてから更新してください。
手順どおりに:Clashクライアントをダウンロード
設定を確認する前に、正規の入手経路で取得したクライアントを使用しているかをまず確認し、クライアント自体の異常による誤判定を避けましょう。