转自:
使用 Cloudflare WARP 作为 V2**y/Sh****socks 出站(落地)连接 回声 (iecho.cc)
OpenAI is not available in your country
前言
ChatGPT 最近很火,但不幸地是 OpenAI 屏蔽了中国地区和常见数据中心 IP 来源。这意味着,如果你在国内,想要使用 ChatGPT,除了需要一张外币信用卡/借记卡,还需要一个可以访问 OpenAI 的代理 IP。WARP 是 Cloudflare 提供的免费 VPN 服务,基于 WireGuard 协议,VPN 对端为启用了 anycast 的 Cloudflare CDN。WARP 的 IP 不在一些服务商的黑名单内,所以可以借助 WARP 来正常访问 ChatGPT 和 OpenAI 相关接口,以及其他流媒体服务(以解锁本地内容的版权限制),比如 Netflix、Hulu、Disney+。
配置
一般来说我们无法在中国境内使用 WARP,但可以使用自有的境外 VPS 将代理流量路由至 WARP。基本思路是:将 WireGuard 的 Cloudflare WARP “转换”为 Socks5 协议,作为 V2R**/Sha***socks 的出站连接。
WARP 提供了官方的 Linux Client,内置了proxy mode
,可以将 WARP 转换为 Socks5 代理。但这个 Socks5 代理只能 bind 在 localhost
,对于跑在 docker 里的 V2***/Sha***socks 来说,无法直接使用。我们可以使用 socat
或 rinetd
建立一条本地的端口转发,具体过程略。
1 | # 注册设备 |
Shadowsocks 并不能像 V**ay 那样 chaining,而 V2R** 本身支持 Sh****socks 协议,所以只需将 Sha****ocks 配置为 inbound object 即可,无需单独运行一个实例。
入站部分配置如下:
1 | "inbounds": [ |
V2R**默认使用第一条 outbound 作为出站路由,因此无需打 tag 也可正常使用。出站部分配置如下:
1 | "outbounds": [ |
至此配置完成,拓扑如下:
1 | Client <-- SS/V2R** --> VPS <-- WARP --> Cloudflare Edge <--> Internet |
优化
docker 网络默认是 bridge mode,将所有容器接在 docker0
的 L2 bridge 下,通过宿主机 NAT 访问外部网络。可以将 v2ray 容器运行在 host mode,这样 outbound address 可以直接使用 127.0.0.1,无需配置额外的端口转发。