4月
05

使用cloudflare warp绕过gpt的ip封禁

最近听说gpt封亚洲节点了,本来4月2号登上去的时候还好好的,4月3号中午ip就被收入名单了。于是在搜索了各个网站之后,找到了这样一个思路。


其实套一层cloudflare warp的方法很早就有了,v2ray也提供了IPv4和IPv6的分流方法。本文主要介绍如何指定gpt的流量使用IPv6,通过cloudflare warp规避亚洲节点的检测。




事前准备


·ubuntu 22.04下的lnmp环境


·v2ray ws+tls+cdn



1.安装 WireGuard


推荐使用一键安装脚本来安装:


bash <(curl -fsSL git.io/warp.sh) wg


附项目地址:https://github.com/P3TERX/warp.sh



也可以手动安装,详见wiregurad官方文档



2.安装 wgcf


ViRb3/wgcf 是 Cloud­flare WARP 的非官方 CLI 工具,可以通过wgcf来模拟warp客户端注册账号,生成通用配置文件。


·安装wgcf


curl -fsSL git.io/wgcf.sh | sudo bash


·注册warp账户(账户存储在/etc/warp/wgcf-account.toml)


wgcf register


·生成 Wire­Guard 配置文件(配置存储在/etc/warp/wgcf-profile.conf)


wgcf generate



3.编辑WireGuard配置文件


本文使用WireGuard接管IPv6的流量,将/etc/warp/wgcf-profile.conf中的engage.cloudflareclient.com替换为162.159.192.1,并删除AllowedIPs = 0.0.0.0/0。配置文件中 [Peer] 部分如下:



[Peer]


PublicKey = bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo=


AllowedIPs = ::/0


Endpoint = 162.159.192.1:2408



如果需要WireGuard接管IPv4的流量,则删除AllowedIPs = ::/0。配置文件中 [Peer] 部分如下:



[Peer]


PublicKey = bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo=


AllowedIPs = 0.0.0.0/0


Endpoint = 162.159.192.1:2408



4.启用WireGuard


配置完成后将wgcf-profile.conf复制至/etc/wireguard下,并改名为wgcf.conf


sudo cp /etc/warp/wgcf-profile.conf /etc/wireguard/wgcf.conf



启用Wire­Guard 网络接口


# 启用守护进程


sudo systemctl start wg-quick@wgcf


# 设置开机启动


sudo systemctl enable wg-quick@wgcf



5.配置Warp WireGuard网络


推荐使用之前的自动脚本:


# 自动配置 WARP WireGuard IPv4 网络


bash <(curl -fsSL git.io/warp.sh) 4


# 自动配置 WARP WireGuard IPv6 网络


bash <(curl -fsSL git.io/warp.sh) 6



也可以使用功能菜单操作:


# Cloudflare WARP 一键配置脚本 功能菜单


bash <(curl -fsSL git.io/warp.sh) menu



6.v2ray指定出站IP


编辑v2ray服务端配置:vim /usr/local/etc/v2ray/config.json



在"outbounds"部分添加下列规则


{


  "tag":"IPv4_out",


  "protocol": "freedom",


  "settings": {}


},


{


  "tag": "IPv6_out",


  "protocol": "freedom",


  "settings":{


    "domainStrategy": "UseIPv6"


  }


}



在"routing"部分添加下列规则


{


  "type": "field",


  "outboundTag": "IP4_out",


  "network": "udp,tcp"


},


{


  "type": "field",


  "domain": ["openai.com"],


  "outboundTag": "IPv6_out"


}



之后重启v2ray


sudo systemctl restart v2ray



锵锵!现在gpt的大门已经对你开放了!





Extra.设置IPv4 与 IPv6 网络优先级


双栈服务器在访问双栈网站的时候,默认IPv6会优先于IPv4,而IPv6已经由WireGurad接管了,所以我们需要让服务器优先通过原来的 IPv4 网络去访问外部网络。



编辑/etc/gai.conf文件,在末尾添加下行配置


precedence ::ffff:0:0/96 100



如果使用WireGuard接管IPv4,需要IPv6优先的话,则添加下行配置


label 2002::/16 2



这样在访问gpt以外的网站时,服务器会先走原有的IPv4网络了。个人感觉速度要比走Warp快一点,但也可以不做这一步。



本文参考资料


Cloudflare WARP 给 Linux VPS 云服务器添加原生 IPv4/IPv6 双栈网络


Cloudflare WARP: 一键配置脚本支持奈飞等流媒体


利用 V2Ray 看 Netflix