前言

有一天lc问我为啥他挂了梯子却更新不了GooglePlay里的应用,但是其他网址又能访问。 查了下,确认了是racknerd的ip被谷歌群封了:※大陆用户 Google Play 商店无法下载或更新应用的原因分析。(其他 v2ray 谷歌人机验证 解决记录

解决办法

让vps连上Cloudflare WARP服务,然后在x-ui内制定xray的配置,将谷歌域名的流量走warp服务的socks5代理。

WARP是CloudFlare提供的一项基于WireGuard的网络流量安全及加速服务,能够让你通过连接到CloudFlare的边缘节点实现隐私保护及链路优化。
其连接入口为双栈(IPv4/IPv6均可),且连接后能够获取到由CF提供基于NAT的IPv4和IPv6地址,因此我们的单栈服务器可以尝试连接到WARP来获取额外的网络连通性支持。这样我们就可以让仅具有IPv6的服务器访问IPv4,也能让仅具有IPv4的服务器获得IPv6的访问能力。

最先参考:v2ray + warp-go 非全局使用 Cloudflare WARP 解锁 New Bing 等服务,文内的gitlawarp脚本可以使用(推荐使用)。 安装 wget -N https://gitlab.com/fscarmen/warp/-/raw/main/warp-go.sh && bash warp-go.sh wget -N https://gitlab.com/fscarmen/warp/-/raw/main/menu.sh && bash menu.sh

实际

但是由于之前没看到warp-go,所以我采用另一个脚本:Cloudflare WARP 一键安装脚本 使用教程Cloudflare WARP 脚本已知问题和解决方法

使用路由标记分流模式没有成功,改用socks5模式成功了,只需要关注xray配置中的outbounds和routing。

{
    "log": {},
    "inbounds": [
        { // 入站 VMess ws 。协议不重要,重要的是思路。
            "listen": "/dev/shm/v2ws.sock",
            //"listen": "127.0.0.1",
            //"port": 2443,
            "protocol": "vmess",
            "settings": {
                "clients": [
                    { // 常规路由规则用户 UUID
                        "id": "0ebc7d13-5ed4-4c45-a202-e4b7b1c86b20",
                        "alterId": 0
                    },
                    { // WARP 全局用户 UUID
                        "email": "warp@cloudflare.com", // 指定用户邮箱,用于分流
                        "id": "fe885a9f-4f3d-4162-a2a6-fd50aa6a8071",
                        "alterId": 0
                    }
                ]
            },
            "streamSettings": {
                "network": "ws",
                "wsSettings": {
                    "path": "/vmess"
                }
            },
            "sniffing": {
                "enabled": true, // 开启流量探测,用于分流或屏蔽 BT 协议。
                "destOverride": [ // 当流量为指定类型时,按其中包括的目标地址重置当前连接的目标。
                    "http",
                    "tls",
                    "quic"
                ]
            }
        }
    ],
    "outbounds": [
        { // 走服务器默认网络出站。路由规则未匹配的默认走第一个出口出站,所以这个要放在第一个位置。
            "protocol": "freedom",
            "settings": {
                "domainStrategy": "AsIs"
            }
        },
        { // 出站 SOCKS5 代理。WARP 官方客户端
            "tag": "WARP_out",
            "protocol": "socks",
            "settings": {
                "servers": [
                    {
                        "address": "127.0.0.1",
                        "port": 40000
                    }
                ],
                "domainStrategy": "UseIP" // "UseIP"(双栈自适应)、”UseIPv4”(IPv4 优先)、”UseIPv4”(Pv6 优先)
            }
        },
        { // 黑洞。丢弃流量
            "tag": "blocked",
            "protocol": "blackhole"
        }
    ],
    "routing": {
        "domainStrategy": "AsIs",
        "domainMatcher": "mph",
        "rules": [ // 规则有优先级,注意顺序。
            { // 屏蔽私有地址
                "ip": [
                    "geoip:private"
                ],
                "outboundTag": "blocked",
                "type": "field"
            },
            { // 屏蔽 BT
                "protocol": [
                    "bittorrent"
                ],
                "outboundTag": "blocked",
                "type": "field"
            },
            { // 用户分流。指定 UUID 全局走 WARP
                "user": [
                    "warp@cloudflare.com"
                ],
                "outboundTag": "WARP_out",
                "type": "field"
            },
            { // 网站分流。指定网站走 WARP
                "domain": [
                    "geosite:google",
                    "geosite:netflix",
                    "geosite:openai"
                ],
                "outboundTag": "WARP_out",
                "type": "field"
            },
            { // IP 分流。指定 IP 走 WARP
                "ip": [
                    "geoip:cn"
                ],
                "outboundTag": "WARP_out",
                "type": "field"
            }
        ]
    },
    "dns": {
        "servers": [
            "https://dns.google/dns-query",
            "https://dns11.quad9.net/dns-query",
            "localhost"
        ]
    }
 
}

参考链接,改成这样会好点:

  {
	  "domain": [
		  //"geosite:google",
		  "domain:services.googleapis.cn",
		  "domain:xn--ngstr-lra8j.com",
		  "geosite:netflix",
		  "geosite:openai"
	  ],
	  "outboundTag": "WARP_out",
	  "type": "field"
  },

参考:

Cloud­flare WARP 官方 Linux 客户端的 Proxy Mode 功能可以让应用通过本地的 SOCKS5 代理端口去直接使用 WARP 网络。

  • 使用以下命令一把梭后将自动安装 WARP 官方客户端并开启 SOCKS5 代理端口 (127.0.0.1:40000):

    # 自动配置 WARP 官方客户端 SOCKS5 代理
    bash <(curl -fsSL git.io/warp.sh) s5
  • 如果觉得官方客户端不好用,那么一把梭干掉它:

    # 卸载 WARP 官方 Linux 客户端
    bash <(curl -fsSL git.io/warp.sh) uninstall