ChatGPT VPN認識回避方法
Categories:
ChatGPT が表示するエラーの対処法について “Unable to load site” “Please try again later, if you are using a VPN, try turning it off.” “Check the status page for information on outages.”
はじめに

現在でも chatgpt は最も優れた体験ができるチャットボットですが、中国国内で使用する際には、ネットワーク環境の制限によりプロキシを使用してアクセスする必要があります。しかし、chatgpt はプロキシの検出が厳しく、プロキシを使用していることが検出されると、直接アクセスを拒否します。ここでは、chatgpt がプロキシを検出するのを回避する方法を紹介します。
他の人が IP を変更してブロックを回避する方法を提案していますが、私たちが通常使用する IP の地域はすでにサービスを提供できる地域であるため、この方法が必ずしも実際のサービス拒否の原因になるとは限りません。
また、使用人数の多いプロキシは検出されやすく、使用人数の少ない高価なプロキシの購入を勧める人もいますが、これも合理的な理由とは言えません。IPv4 の不足が続く今日、海外でも大量のコミュニティが NAT でポートを割り当て、1 つの IPv4 を共有する状況が存在します。chatgpt が検出すると、広範囲をブロックすることになり、広く使用されているサービスとして、このような検出設計は明らかに不合理です。
大衆向けサービスにとって、送信元 IP の一貫性を検出する方がより合理的です。有料プロキシの特徴は通常、流量または速度の制限であり、そのため多くのプロキシユーザーはルールに従って回避を選択します。自分の ISP が直接アクセスできるアドレスを回避して、流量消費を減らすか、より速いアクセス速度を得るために、ファイアウォールでブロックされたアドレスにのみ流量をプロキシに導くようにします。この異なるアクセス方法は、送信元アドレスの不一致を引き起こす可能性があります。例えば、A サービスにアクセスするにはドメイン X とドメイン Y の両方と通信する必要がありますが、ファイアウォールがドメイン X のみをブロックしている場合、A サービスが見る同じリクエストの異なる段階でのアクセス元 IP が一致しない可能性があります。
プロキシポリシーが原因で生じる送信元 IP の不一致問題を解決すれば、chatgpt のプロキシ認識を回避できます。
プロキシリールには通常「ドメインルール」や「IP ルール」などが含まれます。
また、ドメイン名の IP 結果は地域によって変化することを知っておく必要があります。例えば、A 地域では近くのサービス IP に解決し、B 地域では異なる IP に解決します。したがって、DNS の選択も非常に重要です。
DNS の選択
現在、DNS には多くのプロトコルがあり、UDP:53 は非常に遅れていて、極めて安全でないプロトコルです。中国では DNS サービスが企業経営の第一級項目に含まれています。これは過去数十年にわたる中国の各レベルの運営者が DNS ハイジャックと HTTP に大量のリダイレクト広告を埋め込み、多くのネットワーク初心者を騙し、大量の苦情を招いたことに由来しています。現在では Chrome/Edge が自動的に HTTPS にリダイレクトし、HTTP サイトを安全でないと表示する標準装備があるにもかかわらず、中国にはまだ多くの地域小区レベルのネットワークサービスプロバイダや国内の古いバージョンの Chromium パッケージ魔改造が存在し、DNS ハイジャックや HTTP ハイジャックがまだ存在しています。
したがって、DNS ハイジャックを回避するために安全な DNS サービスプロトコルを選択する必要があります。個人的な経験から、Alibaba Cloud の 223.5.5.5 は十分な体験を提供します。もちろん、私が 223.5.5.5 を言及するとき、UDP:53 の alidns ではなく、DoH または DoT プロトコルです。設定する際には、tls://223.5.5.5 または https://dns.alidns.com/dns-query を設定に書き込む必要があります。
alidns サービスはほとんどの場合汚染されませんが、少数の敏感な時期にのみ汚染されることがあり、長期 DNS サービス tls://dns.jqknono.com を使用することもできます。上流は 8.8.8.8 と 1.1.1.1 から来て、キャッシュを使用してアクセスを高速化します。
ドメインルール
まず、検出ページを開くと検出ロジックが含まれ、異なるドメインにリクエストを送って送信元 IP を検証するため、ここではドメインプロキシの一貫性を保つ必要があります。
chatgpt のウェブページアクセスドメインは、自社のドメイン openai 以外に、auth0 や cloudflare などのサードパーティドメインも含まれます。
以下のルールを手動で書き込むことができます:
# openai
- DOMAIN-SUFFIX,chatgpt.com,PROXY
- DOMAIN-SUFFIX,openai.com,PROXY
- DOMAIN-SUFFIX,openai.org,PROXY
- DOMAIN-SUFFIX,auth0.com,PROXY
- DOMAIN-SUFFIX,cloudflare.com,PROXY
ドメインルールの試験方法
上記のドメインは ChatGPT の事業発展に伴って変化する可能性があるため、以下にドメインの取得方法を説明します。
- ブラウザで InPrivate ページを開く。プライベートページはキャッシュや cookies の影響を避けられます。
- F12 を押してコンソールを開き、Network / ネットワーク タブを選択
- chat.openai.com または chatgpt.com にアクセス
- 下の図は、この記事が書かれた時点での ChatGPT が使用するドメインを示しています

これらのドメインだけを追加してもまだ不十分な可能性があります。ここでは、失敗した接続の詳細を分析します。challenge リクエストの Content-Security-Policy に多数のドメインが含まれていることがわかります。これらをすべてプロキシポリシーに追加します。

# openai
- DOMAIN-SUFFIX,chatgpt.com,PROXY
- DOMAIN-SUFFIX,openai.com,PROXY
- DOMAIN-SUFFIX,openai.org,PROXY
- DOMAIN-SUFFIX,auth0.com,PROXY
- DOMAIN-SUFFIX,cloudflare.com,PROXY
# additional
- DOMAIN-SUFFIX,oaistatic.com,PROXY
- DOMAIN-SUFFIX,oaiusercontent.com,PROXY
- DOMAIN-SUFFIX,intercomcdn.com,PROXY
- DOMAIN-SUFFIX,intercom.io,PROXY
- DOMAIN-SUFFIX,mixpanel.com,PROXY
- DOMAIN-SUFFIX,statsigapi.net,PROXY
- DOMAIN-SUFFIX,featuregates.org,PROXY
- DOMAIN-SUFFIX,stripe.com,PROXY
- DOMAIN-SUFFIX,browser-intake-datadoghq.com,PROXY
- DOMAIN-SUFFIX,sentry.io,PROXY
- DOMAIN-SUFFIX,live.net,PROXY
- DOMAIN-SUFFIX,live.com,PROXY
- DOMAIN-SUFFIX,windows.net,PROXY
- DOMAIN-SUFFIX,onedrive.com,PROXY
- DOMAIN-SUFFIX,microsoft.com,PROXY
- DOMAIN-SUFFIX,azure.com,PROXY
- DOMAIN-SUFFIX,sharepoint.com,PROXY
- DOMAIN-SUFFIX,gstatic.com,PROXY
- DOMAIN-SUFFIX,google.com,PROXY
- DOMAIN-SUFFIX,googleapis.com,PROXY
- DOMAIN-SUFFIX,googleusercontent.com,PROXY
IP ルール
上記の手順を試しても chatgpt.com にアクセスできない場合は、IP に基づく検出が存在する可能性があります。以下は私が接続追跡で試みたいくつかの IP です。各自で試してみてください。これらの IP がすべての地域に適用されるとは限りませんので、各自で試してみる必要があります。
# openai
- IP-CIDR6,2606:4700:4400::6812:231c/96,PROXY
- IP-CIDR,17.253.84.253/24,PROXY
- IP-CIDR,172.64.152.228/24,PROXY
- IP-CIDR,104.18.35.28/16,PROXY
IP ルールの試験方法
自分のプロキシクライアントツールを理解する必要があります。接続追跡表示画面で、新しく追加された接続を観察し、これらの接続の IP アドレスを使用してルールを追加します。
以下は簡単な手順の説明です:
- ブラウザで InPrivate ページを開く。プライベートページはキャッシュや cookies の影響を避けられます。
- chat.openai.com または chatgpt.com にアクセス
- プロキシクライアントで新しく追加された接続を観察し、これらの接続をプロキシルールに追加
プロトコルルール
QUIC は UDP ベースの暗号化プロトコルで、chatgpt は大量の QUIC トラフィックを使用しています。そのため、プロキシのサーバー/クライアントは UDP プロキシをサポートする必要があります。UDP をサポートしないプロキシも多数あり、これが chatgpt にアクセスできない原因の一つでもあります。クライアントとサーバーの両方が UDP をサポートしていても、ユーザーが明示的に設定する必要があります。多くのクライアントは UDP トラフィックをプロキシしないようにデフォルトで設定しています。UDP 設定に慣れていない場合は、プロキシクライアントの QUIC トラフィックをブロックする設定にするか、ブラウザ設定で QUIC をブロックすることができます。ブラウザが QUIC が不通であることを検出すると、TCP ベースの HTTP/2 に自動的に切り替えます。QUIC は UDP ベースの暗号化プロトコルで、多くの場合、よりスムーズな体験が得られますが、興味がある場合は各自で試してみてください。

最も簡単な設定 - ホワイトリストモード
中国 IP だけを直接接続し、マッチしなかったトラフィックをプロキシに流す設定です。これにより、chatgpt のアクセスを保証しつつ、他の国外サービスのアクセスも保証できます。
この方法の欠点は、流量消費が大きく、ネットワークのスムーズさはプロキシのネットワーク品質に依存することです。プロキシに自信がある場合は、この方法を試してみてください。
もちろん、UDP プロキシも有効にする必要があります。