解决ChatGPT使用节点访问被拒绝(access denied error code 1020)的问题

前言

最近的网络最热门的,应该当ChatGPT所属了,在IT开发者界更是:有担忧的,有兴奋的,有求知的,一时兴起万层浪,但是,也有很多小白连最基本的大门都没办法进来,因为流量太大了,已远远超过了ChatGPT的服务器所承受能力,这个访问量已大大超出了你的想像,所以请了一台流量高防大将:CloudFlare,先是真人human验证,再是IP验证,很多新人都对Access denied/Access denied Error code 1020深有体会吧,今天就聊一下如何彻底地解决这个问题。

思路

由于CF验证IP,咱们大陆的IP会access denied拒绝,很多海外节点也被拒绝了,因为咱们国人多,热度高,流量大,所以第一排除的就是咱们中国及使用代理最多的中国IP。

思路就是套用CloudFlare官方自己的Warp,它对自己人还是友好放行的原理。思路跟解锁Netfilx原生IP一样。

条件

  • 自己能配置的节点
  • 套的IP未被CF自己封

Warp

什么是Warp呢,请查看官方介绍吧

官方地址:https://1.1.1.1

安装

安装前

1
curl chat.openai.com

服务器直接进行curl,直接显示经典的error code:1020错误,说明我能服务器本身就无法访问ChatGPT,所以用它来作为节点,那肯定是不行的

直接通过浏览器访问

安装中

第一,先给服务上个快照,折腾坏了也能恢复折腾前的状态

第二,安装warp 官网教程:https://pkg.cloudflareclient.com/install

1.为库安装GPG Key

1
curl https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg

2.添加源到库

1
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list

3.update APT

1
2
apt update #管理权限直接使用这个更新
sudo apt update #如果不是管理员账号下,使用这个

4.安装Warp

1
apt install cloudflare-warp

5.注册Warp 运行命令给设备注册

1
warp-cli register

6.打开代理模式

1
warp-cli set-mode proxy

7.连接Warp

1
warp-cli connect

8.查验

1
curl ifconfig.me --proxy socks5://127.0.0.1:40000

显示IP地址为CloudFlare的代理IP地址了

image-20230411123332269

再测试不使用socks5时候还是1020错误代码,第二条命令带上socks5,没有1020错误代码提示了。

至此,说明我这能韩国服务器套上了CloudFlare的Warp节点,是能正常访问chat.openai.com了,接下来了就是配置节点的分流路由规则了

配置xray

这一步会根据自己用的节点协议有所差异,我这里就用xray的配置方式来作为示例,其他的协议其实可以结合本文并参考官方文档配置。

1.在"outbounds"的代码块添加出站规则,直接加在json格式的数组里即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
"outbounds":[
//添加下面这个规则
{
"tag": "chatGPT_proxy",
"protocol": "socks",
"settings": {
"servers": [
{
"address": "127.0.0.1",
"port": 40000
}
]
}
}
]

2.在"routing"的代码块添加路由规则,使用域名chat.openai.com及ip138.com(为了测试是否生效)的规则

1
2
3
4
5
6
7
8
9
10
11
12
13
"routing": {    
"rules": [
//添加下面这个路由
{
"type": "field",
"outboundTag": "chatGPT_proxy",
"domain": [
"chat.openai.com",
"ip138.com"
]
}
]
}

3.重启xray服务

安装后

1.连接节点开启全局模式,测试ip138.com

已经是cloudflare的IP地址了。地址和上“安装中——第8条”的:curl ifconfig.me --proxy socks5://127.0.0.1:40000结果是一致的

2.打开chat.openai.com

访问成功,不再提示拒绝访问

总结

方法是从解锁Netflix得到的启示,套了Warp就能解锁CloudFlare对你的节点的封锁了,而且现在CloudFlare拒绝访问的IP限制还不是很严格的,从而这个方法可以拯救你节点。

总结思路:套用warp——设置域名分流规则


解决ChatGPT使用节点访问被拒绝(access denied error code 1020)的问题
https://aunero.github.io/2023/04/chatgpt-access-denied-use-warp.html
作者
AuthurNero
发布于
2023年4月11日
许可协议