前言
有一天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"
},参考:
Cloudflare 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