Featured image of post v2ray + warp-go 非全局使用 Cloudflare WARP 解锁 New Bing 等服务

v2ray + warp-go 非全局使用 Cloudflare WARP 解锁 New Bing 等服务

近期 New Bing 出现 Sorry, looks like your network settings are preventing access to this feature 问题,原因是 Bing 封禁了一批 IDC 账号。于是研究了一下使用 v2ray 搭配 WARP 解锁包括 New Bing 在内服务的方法。

引子

自从 New Bing 推出之后,使用它的频率便是越来越频繁,尤其是在平时开发工作中让它写代码片段,工作效率之提升不可谓小。“谈天吉皮提”之威力我算是领教到了。

New Bing 不对中国大陆之用户开放,最开始许多人的解决方案是改请求头 X-Forwarded-For,但近期这个方法不能用了。虽然这对于一直挂代理的我没什么影响就是了。但最近 New Bing 又开始对代理下手,封禁了一大堆 IDC 的 IP,我的梯子也惨遭毒手。

v2ex 之相关帖子:https://www.v2ex.com/t/926788

谷歌之后看到有些文章通过继续修改 X-Forwarded-For 头的方法解决,将原先的 8.8.8.8 改为 1.1.1.1,也确实能解决一部分人的问题,但这恐怕也只是一时饮鸩止渴之方案,非长期之良方,随时有可能被再次封杀。

评论区有人提到了通过 WARP 的方式解锁,我认为这个方法才是一劳永逸的,毕竟 WARP 甚至能解锁 Netflix,Bing 自然不在话下。

关于 WARP 之使用,我建议使用非全局模式。假设只有一台 VPS 作为梯子,那么可以让正常的代理流量使用 VPS 自己的 IP 直连,而需要解锁的流量使用 WARP 解锁,这样不必全部流量走 WARP,可以保证速度。

启动 warp-go 非全局模式

通过 warp-go 脚本可以让 VPS 连上 Cloudflare WARP。并且相比其他方案还有两项主要优点:

  • 支持洛杉矶等wgcf无法获取 WARP IP 之地区使用;
  • 支持非全局模式,只是单纯新增一个 WARP 网卡,可进行更多自定义。

warp-go 项目地址:https://gitlab.com/ProjectWARP/warp-go

一键脚本:https://gitlab.com/fscarmen/warp

安装之后切换为非全局模式:

使用ip a命令可以看到多出了一个 WARP 虚拟网卡:

使用curl工具指定网卡访问,可以看到 IP 已经变成了 WARP 的 IP;但不指定网卡访问的话还是 VPS 原来的 IP:

配置 v2ray

说是 v2ray,但其实我们用到的应该是 xray。因为我们需要在 outbounds 中指定网卡,而这个选项只有 xray 的较新版本才能支持。

之前有写过另一篇类似的文章,通过 v2ray 在服务端配置轮询 tor 链路出口:在自己的 VPS 上利用 v2ray+Tor 打造代理 IP 池

接下来要介绍的配置参考了xray 的文档另一篇博客的内容,在此表示感谢。

首先我们需要配置 inbounds,这一步应该是非常基础的,不必过多解释。我这里就使用x-ui来偷懒了。对于开在端口号 xxx 上的 x-ui 配置来说,其自动生成的 inbounds 配置对应的 tag 为inbound-xxx

因此我们只需要配置 outbounds 和 routing(以下配置模板省略了无关配置):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
    "inbounds": [
        {
            // 此处省略具体 inbound 配置
            "tag": "inbound-xxx"
        }
    ],
    "outbounds": [
        {
            "protocol": "freedom",
            "streamSettings": {
                "sockopt": {
                    "tcpFastOpen": true,
                    "interface": "WARP"// 指定使用名为 WARP 的网卡
                }
            },
            "settings": {
                "domainStrategy": "AsIs"
            },
            "tag": "my-warp"
        }
    ],
    "routing": {
        "rules": [
            {// 将 inbound 和 outbound 通过路由绑定:inbound-xxx -> my-warp
                "inboundTag": [
                    "inbound-xxx"
                ],
                "network": "tcp,udp",
                "outboundTag": "my-warp",
                "type": "field"
            }
        ]
    }
}

配置客户端

至此服务端配置已经完成,现在只需要让客户端连上即可。我这里客户端是用的是 clash 来分流。

配置 Unlock 规则组,例如:

1
2
3
4
5
- name: "Unlock"
  type: select
  proxies:
    - "monolith_warp" # 走warp的线路,事先配好在proxies中
    - "DIRECT"

然后让 Bing 等需要解锁的域名走该规则即可:

1
2
3
- DOMAIN-SUFFIX,openai.com,Unlock
- DOMAIN-SUFFIX,bilibili.tv,Unlock
- DOMAIN-SUFFIX,bing.com,Unlock

与此同时,其他不需要 Unlock 的请求依旧是走原先的直连代理。这样可以保证其访问速度,毕竟即使 VPS 上直连 Cloudflare WARP 很快,也是存在一定延迟增加和降速。

Licensed under CC BY-NC-SA 4.0