给节点套上CF的warp,彻底解决access denied error code 1020问题

前言

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

思路

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

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

条件

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

Warp

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

官方地址:https://1.1.1.1

image-20230207135736352

用一句话介绍就是,私人的私人代理,如果你也想使用,或者升级到Warp+,推荐连接,我可能获得1G流量

安装

安装前

curl chat.openai.com

直接显示经典的error code:1020错误,说明我能服务器本身就无法访问ChatGPT,所以你当节点,那也肯定是跑不了1020的了

image-20230207141223592

web

Access denied
You do not have access to chat.openai.com.

The site owner may have set restrictions that prevent you from accessing the site.

Ray ID: 795a3ced8bfa934a
Timestamp: 2023-02-07 06:58:35 UTC
Your IP address: 146.5X.x.x.
Requested URL: chat.openai.com/auth/login
Error reference number: 1020
Server ID: FL_443F37
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36

exe

image-20230207150126176

我的是甲骨文韩国首尔的服务器,证实是无法使用的了,而且我三台试了,都是1020错误代码。估计是封IP段

安装中

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

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

Ubuntu

First, install the repository's GPG key:curl https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg

Then add the repository to your machine's apt sources: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.listT

Finally, update the APT cache:sudo apt updateand now packages from this repository can be installed directly with APT!

官方只是讲到GPG及库更新。接下来,实操

1,为库安装GPG Key

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

2,添加源到库

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

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

4,安装Warp

apt install cloudflare-warp

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

warp-cli register

6,打开代理模式

warp-cli set-mode proxy

7,连接Warp

warp-cli connect

8,查验

curl ifconfig.me --proxy socks5://127.0.0.1:40000
image-20230207223402692

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

image-20230207165447199

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

至此

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

配置xray

登录x-ui控制后台——面板设置——xray相关设置——xray配置模板——复制出来,备份好

在高亮文体编辑器里修改(可选)

1,在"outbounds"的代码块添加出站规则

image-20230207203248713

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

image-20230207221407332

3,保存配置——重启面板

我的xray配置文件

如果你不想自己手动修改xray配置模板,或者担心修改错误,可以直接使用我的配置文件

{
  "api": {
    "services": [
      "HandlerService",
      "LoggerService",
      "StatsService"
    ],
    "tag": "api"
  },
  "inbounds": [
    {
      "listen": "127.0.0.1",
      "port": 62789,
      "protocol": "dokodemo-door",
      "settings": {
        "address": "127.0.0.1"
      },
      "tag": "api"
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "settings": {}
    },
    {
      "tag": "chatGPT_proxy",
      "protocol": "socks",
      "settings": {
        "servers": [
          {
            "address": "127.0.0.1",
            "port": 40000
          }
        ]
      }
    },
    {
      "protocol": "blackhole",
      "settings": {},
      "tag": "blocked"
    }
  ],
  "policy": {
    "system": {
      "statsInboundDownlink": true,
      "statsInboundUplink": true
    }
  },
  "routing": {
    "rules": [
          {
        "type": "field",
        "outboundTag": "chatGPT_proxy",
        "domain": [
          "chat.openai.com",
          "ip138.com"
        ]
      },
      {
        "inboundTag": [
          "api"
        ],
        "outboundTag": "api",
        "type": "field"
      },
      {
        "ip": [
          "geoip:private"
        ],
        "outboundTag": "blocked",
        "type": "field"
      },
      {
        "outboundTag": "blocked",
        "protocol": [
          "bittorrent"
        ],
        "type": "field"
      }
    ]
  },
  "stats": {}
}

安装后

1,测试ip138.com

image-20230207221542032

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

2,打开,chat.openai.com ,见证奇怪的时刻

image-20230207222725303

尽管未能证明我使用的IP地址,但确实是能使用ChatGPT了,至此,完成!

要考虑一下做视频教学了

总结

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

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

生成海报
点赞 14

50 条评论

  1. 胡子

    你们没有出现第八步网络断开的问题吗?

  2. dp

    您好,我之前按照您的教程安装好后,一直可以从1020变成了正常访问,但是今天开始登陆chatgpt,没有变回到1020,可以成功登陆,卡在一直在转圈,无法跳出左侧的历史记录,输入问题也无反应,ip138.com查看ip一直是我的上海ip。

    • dp

      @dp 已解决
      "outboundTag": "chatGPT_proxy",
      "domain": [
      "chat.openai.com",
      "ip138.com",
      "domain: openai.com",
      "domain: ai.com"

      • udp

        @dp 我也遇到了相同的问题,但是上面的方法不能解决我的问题。可以确信的是我使用第三方方式是可以正常使用chatgpt的,只是我自己的vps加warp访问不了,请问您有遇到类似的情况或者有什么别的解决办法吗

  3. dp

    您好,我之前按照您的教程安装好后,一直可以访问,但是今天开始登陆chatgpt后一直在转圈,无法跳出左侧的历史记录,输入问题也无反应,ip138.com查看ip一直是我的上海ip。

  4. 比尔德

    照着配置了,1020 没了,谢谢 up 主。。(就是好慢

  5. 小吞

    感谢老哥,谢天谢地。

  6. 板蓝根

    大佬,你好!非常感谢你在博客上的无私分享,十分钦佩大佬的技术,我通过你博客上的文章,将自己在搬瓦工上的v2ray套上了warp,成功访问了chatGPT两个月的时间,这两天再次访问的时候能进入聊天窗口,但是显示一直加载,给chatGPT提问,一直在响应不回复,我的ip显示的是澳大利亚新南威尔士悉尼 Cloudflare,我猜测是不是这个节点也被封了,我在chrome上用api的插件可以使用chatGPT,说明我账号其实没有被封,请教大佬能否给小弟支一招,感谢大佬百忙之中的回复

    • Mark

      @板蓝根 我也一样 , 有解决吗

    • Mark888

      @板蓝根 我也一样,有解决方案吗

  7. zzq

    大神你好,我按你的方法,在我的代理服务器上配置好了warp和路由器分流,发现ip138还是能检测到我代理服务器的真实ip怎么办?

  8. Edward54

    “curl: (7) Failed to connect to 127.0.0.1 port 40000: Connection refused”的参考这个帖子,亲测有用
    https://community.cloudflare.com/t/warp-cli-linux-connect-error/488749/2

  9. SkpC9

    我今天刚解决,安卓用的SagerNet,它的远程DNS改成https://1.1.1.1/dns-query就可以了,tls://开头的不行

  10. SkpC9

    为什么我发不出来,504

  11. wty

    我也遇到了电脑能上,安卓无法登录的问题。。。有解吗

    • SkpC9

      @wty 我今天刚解决,我安卓用的是SagerNet,设置里的那个远程DNS设置成https://1.1.1.1/dns_query就可以了,tls://开头的就不行

    • SkpC9

      @wty 我今天刚解决,安卓用的SagerNet,设置里的远程DNS设置为https://1.1.1.1/dns-query就可以了。tls://开头的不行。

    • SkpC9

      @wty 为什么我发不出来

    • SkpC9

      @wty 我今天刚解决,安卓用的SagerNet,它的远程DNS改成https://1.1.1.1/dns-query就可以了,tls://开头的不行

  12. jerryzhi

    博主牛逼,总算救活了我养了8年的私家车。

  13. simon

    v2ray可以用么,纯小白,找不到对应的配置文件段落

  14. fings

    很幸运我的Atlanta亚特兰大机房没有屏蔽,来自racknerd

  15. 大海

    大神根据你的配置我套上warp了,138也检测到我的新IP , gpt还是识别出了vps的IP 怎么解?

  16. 1111俄文

    请你一下,我按你的教程搭建成功了,做了分流测试也成功了。但现在有个问题请教!
    我之前就在cf 官网申请过团队账户,我看了很多教程,但都没有找到怎么拿我的团队账户信息到vps上进行替换。

  17. Phishy

    PC端可以了,专门发个评论表示感谢,贴主让我的生活变得更美好

  18. DW

    还没有解决,换了安卓客户端、安卓手机、四个浏览器,结果都一样,显示机场IP。 我查询到另一篇文章(《关于 Cloudflare Warp 的一些细节以及是否暴露访客真实 IP 的测试》 https://blog.skk.moe/post/something-about-cf-warp/),说是大家都是CloudFlare 互相之间是可以看到源IP的,不知是不是这个原因。 如果是的话,那为什么PC和苹果手机就没有这个问题? 一度以为是安卓客户端的问题,但还好试了可以试的安卓客户端,结果都一样。

    • @DW openai还会检测quic,也就是有没开UDP模式

    • Jay

      @DW 我也是电脑上能用chatgpt,安卓上不行。大佬们有没有找到解决方案的?分享下

  19. 板蓝根

    博主在回答前面网友评论时看不到是针对哪条评论做的回复,请问能否优化一下

  20. DW

    感谢分享,已操作成功。 不过有个神奇的现象:在PC和苹果手机正常使用。但是安卓手机上(客户端是 v2rayNG最新版),还是1020错误,显示的是机场的IP,但访问ip138是显示CF的IP 。 不知如何解决这个问题?

    • 板蓝根

      @DW 我也是在PC端OK,安卓端使用就显示机场IP

    • 板蓝根

      @DW 我也是在PC端OK,安卓端使用就显示机场IP,老哥你解决了吗

      • DW

        @板蓝根 还没有解决,换了安卓客户端、安卓手机、四个浏览器,结果都一样,显示机场IP。 我查询到另一篇文章,说是大家都是CloudFlare 互相之间是可以看到源IP的,不知是不是这个原因。 如果是的话,那为什么PC和苹果手机就没有这个问题? 一度以为是安卓客户端的问题,但还好试了可以试的安卓客户端,结果都一样。

        • Jay

          @DW 我也是pc没问题,安卓上不了chatgpt,很是奇怪,大佬们有找到解决办法吗?

      • DW

        @板蓝根 还没有解决,换了安卓客户端、安卓手机、四个浏览器,结果都一样,显示机场IP。 我查询到另一篇文章(《关于 Cloudflare Warp 的一些细节以及是否暴露访客真实 IP 的测试》 https://blog.skk.moe/post/something-about-cf-warp/),说是大家都是CloudFlare 互相之间是可以看到源IP的,不知是不是这个原因。 如果是的话,那为什么PC和苹果手机就没有这个问题? 一度以为是安卓客户端的问题,但还好试了可以试的安卓客户端,结果都一样。

  21. lake

    上面的那个问题是cloudflare-warp版本的问题,下载22年8月份之前的版本

  22. lake

    我按照步骤来也是遇到了Failed to connect to 127.0.0.1 port 40000: Connection refused
    并且再次执行warp-cli 相关的指令就会报错
    ERROR: No response from daemon after 5 seconds. Is the process hung?

  23. 樱桃小丸子

    请输入选择 [0-16]: 11
    ● x-ui.service - x-ui Service
    Loaded: loaded (/etc/systemd/system/x-ui.service; enabled; vendor preset: enabled)
    Active: active (running) since Wed 2023-02-15 08:23:39 UTC; 17s ago
    Main PID: 63005 (x-ui)
    Tasks: 16 (limit: 1084)
    Memory: 10.9M
    CGroup: /system.slice/x-ui.service
    ├─63005 /usr/local/x-ui/x-ui
    └─63014 bin/xray-linux-amd64 -c bin/config.json

    Feb 15 08:23:39 instance-20230215-1218 systemd[1]: Started x-ui Service.
    Feb 15 08:23:39 instance-20230215-1218 x-ui[63005]: 2023/02/15 08:23:39 x-ui 0.3.2
    Feb 15 08:23:39 instance-20230215-1218 x-ui[63005]: 2023/02/15 08:23:39 INFO - web server run http on [::]:12345

  24. 樱桃小丸子

    我用的八合一的脚本,搭建的,装了X UI 打开XRAY的配置和你的显示不一样,可以一样的改吗,但我改了,导致我都连不上了,又重新安装了VPS系统,要怎么才可以呢

  25. hxeg

    安装过程出现问题,到warp-cli connect还是返回success,下一步curl ifconfig.me --proxy socks5://127.0.0.1:40000就报错:curl: (7) Failed to connect to 127.0.0.1 port 40000: Connection refused

    • @hxeg 打开代理模式成功没?估计是没打开代理模式

  26. Michael

    curl: (7) Failed to connect to 127.0.0.1 port 40000: Connection refused

  27. Michael

    curl: (7) Failed to connect to 127.0.0.1 port 40000: Connection refused

  28. timpan

    我也是一直卡在“checking your browser..", 看来这条路已经被堵上了

  29. Ryan

    博主你好,我的环境和你类似,也是服务器端的v2ray分流让chatgpt的流量走warp。套warp之前,1020的错误页。套warp之后,页面一直显示:”Please stand by, while we are checking your browser...“,无法真正访问chatgpt的服务。难道现在这个办法已经失效了?

  30. Sean

    你好请问有视频教学嘛,在哪里可以看呢,我可以付费

  31. 板蓝根

    根据博主的步骤一步步来,亲测有用,但是我想问一下我的出站规则和路由规则都改了,会不会影响我v2ray正常科学上网的流量——虽然我现在依然可以科学上网。我原本就是v2ray+ws+tls+nginx+cloudflare科学上网的,现在又套了一个warp?

    • @板蓝根 不影响,已设置了路由规则,只有openai.com的才会套用warp

发表评论

您的电子邮件地址不会被公开,必填项已用*标注。

相关推荐