V2Ray + Cloudflare WARP
🧱
有一阵子访问 OpenAI(现在更像 CloseAI) 的一些域名经常遇到 Cloudflare 的 Access Denied
,一开始尝试更换机房 IP 来代理,可几乎没有一个不在黑名单。侥幸通过先走代理,在登录最后一步切换为直连绕过了数次,直到国内终于彻底被墙了。
❓
打不过就加入它:流量出站转向 Cloudflare 网络。
- 在 VPS 上安装 WARP,以 Debian/Ubuntu 为例:
sudo apt install cloudflare-warp
- 以本地代理模式运行 WARP
warp-cli register
warp-cli set-mode proxy
warp-cli connect
warp-cli enable-always-on
- 测试代理模式
curl ifconfig.me
留意前后标准输出的区别。
export ALL_PROXY=socks5://127.0.0.1:40000
curl ifconfig.me
- 配置 V2Ray
设置路由规则,非国内域名走 WARP 代理。
{
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"outboundTag": "reject",
"ip": [
"geoip:private"
]
},
{
"type": "field",
"outboundTag": "proxy",
"domain": [
"geosite:geolocation-!cn"
]
},
{
"type": "field",
"outboundTag": "default",
"network": "udp,tcp"
}
]
}
}
其中 WARP 代理的出站标签是 proxy
,使用 WARP 本地代理模式地址和端口。
{
"outbounds": [
{
"tag": "reject",
"protocol": "blackhole"
},
{
"tag": "proxy",
"protocol": "socks",
"settings": {
"servers": [
{
"address": "127.0.0.1",
"port": 40000
}
]
}
},
{
"tag": "default",
"protocol": "freedom"
}
]
}
由于在 V2Ray Server 与目标(例如 chat.openai.com)之间插入一层 Cloudflare WARP,因此向目标隐藏了 V2Ray Server 的真实地址。
😅
运行一段时间后 VPS 经常罢工,连 SSH 都连不通,登录 Web 控制台才知道是 Memory 和 Swap 负载过高,好不容易连上后确定了凶手就是 Cloudflare WARP 客户端一个进程 warp-svc
,不少网友说它容易内存泄漏,也没找到源代码,把我给气得直接使用 crontab
每分钟检查它消耗内存百分比是否超过指定阈值,若是则杀死它(反正会自动重启)。
*/1 * * * * kill -9 $(ps -C warp-svc --no-headers -o "pid,\%mem" | awk '{ if ($2 > 40) print $1 }')
注意命令中的百分比符号 % 除非用反斜杠 \ 转义,否则将被 crontab
改变为换行符。
🤖️
“总的来说,Cloudflare WARP 的本质是一个基于 WireGuard 协议的 VPN 服务,它通过加密和隧道技术来保护用户的隐私和安全,同时通过优化路由、缓存加速等技术来提高用户的网络性能和体验。”
本文首发于 https://h2cone.github.io/