前言
现在纯 IPv6、nat IPv4 VPS 越来越多了,于是有人发现可以用 warp 解锁 Netflix、解决 Google 送中问题,但是大多数教程和一键脚本都是用 wgcf 来实现的。其实 wgcf 有相对不低的延迟,大部分情况下使用这种方案会造成打开网页缓慢的问题。因此我们可以利用 warp 官方客户端来提供 socks5 给别的软件分流使用。
安装
以 Debian 11 为例:
首先,安装存储库的 GPG 密钥:
apt install sudo gpg
curl https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg
然后添加存储库:
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ bullseye main' | sudo tee /etc/apt/sources.list.d/cloudflare-client.list
更新 APT 缓存:
sudo apt update
安装 Cloudflare WARP
sudo apt install cloudflare-warp
使用
注册一个 warp 账号:
warp-cli register
如果想要使用已经有的账号则可以指定 license (1.1.1.1 app 右上角 - 账户 - 按键),可以通过邀请新用户的方式为账号添加 warp + 高级流量,也可以通过脚本刷流量,点击前往教程。
warp-cli set-license <key> //将<key>替换为你的license
修改 warp-cli 运行模式:
warp-cli set-mode proxy
设置监听端口:
warp-cli set-proxy-port 10086
连接:
warp-cli connect
查看当前 warp 的 IP:
curl -4 ip.gs -x socks5://127.0.0.1:10086
然后我们就可以将其他软件需要分流的流量转发到 10086 端口了。
以 Xray/V2Ray 为例:
在配置文件中的添加 outbounds:
{
"protocol": "socks",
"settings": {
"servers": [{
"address": "127.0.0.1",
"port": 10086
}]
},
"tag": "warp"
}
在路由 routing 中加入:
{
"type": "field",
"outboundTag": "warp",
"domain": [
"geosite:netflix"
]
}
然后重启即可:
systemctl restart xray.service
测试无误之后便可以设置 warp-cli 长期运行:
warp-cli enable-always-on
结语
这种方案相较于目前流行的 wireguard 方案的优势就是可以只分流需要分流的流量,其他无论什么流量都不会受到影响。
另外 wireguard 的方案会造成 docker 的 bridge 模式无法使用,这种方案可以完美解决。
参考链接
xray的配置文件
{
"outbounds":[
{
"protocol":"freedom"
},
{
"tag":"warp",
"protocol":"socks",
"settings":{
"servers":[
{
"address":"127.0.0.1",
"port":40000
}
]
}
},
{
"tag":"WARP-socks5-v4",
"protocol":"freedom",
"settings":{
"domainStrategy":"UseIPv4"
},
"proxySettings":{
"tag":"warp"
}
},
{
"tag":"WARP-socks5-v6",
"protocol":"freedom",
"settings":{
"domainStrategy":"UseIPv6"
},
"proxySettings":{
"tag":"warp"
}
}
],
"routing":{
"rules":[
{
"type":"field",
"domain":[
"geosite:openai",
"ip.gs"
],
"outboundTag":"WARP-socks5-v4"
},
{
"type":"field",
"domain":[
"geosite:google",
"geosite:netflix",
"p3terx.com"
],
"outboundTag":"WARP-socks5-v6"
}
]
}
}
原配置备份
{
"api": {
"services": [
"HandlerService",
"LoggerService",
"StatsService"
],
"tag": "api"
},
"inbounds": [
{
"listen": "127.0.0.1",
"port": 62789,
"protocol": "dokodemo-door",
"settings": {
"address": "127.0.0.1"
},
"tag": "api"
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {}
},
{
"protocol": "blackhole",
"settings": {},
"tag": "blocked"
}
],
"policy": {
"system": {
"statsInboundDownlink": true,
"statsInboundUplink": true
}
},
"routing": {
"rules": [
{
"inboundTag": [
"api"
],
"outboundTag": "api",
"type": "field"
},
{
"ip": [
"geoip:private"
],
"outboundTag": "blocked",
"type": "field"
},
{
"outboundTag": "blocked",
"protocol": [
"bittorrent"
],
"type": "field"
}
]
},
"stats": {}
}