Cloudflare WARP提取WireGuard配置文件
简介
Cloudflare WARP是一种虚拟私人网络(VPN)服务,建立在Cloudflare的全球网络基础设施之上。它旨在为移动设备和计算机提供更安全的连接,以保护用户的隐私和数据,并加速和优化互联网流量。WARP使用的是WireGuard协议,所以也可以将其配置文件导出,并在其他支持该协议的代理工具中使用(如Clash, ShadowRocket等)。本文将介绍如何提取配置文件,寻找可用的接入点,并将其导入到其他代理工具中。
准备材料
- WARP+ / Teams 账户 (可选)
提取配置文件
在线平台提取(推荐)
以下是两个部署在replit平台上的在线执行脚本,可直接执行:
- WGCF:https://replit.com/@misaka-blog/wgcf-profile-generator
- WARP-GO:https://replit.com/@misaka-blog/warpgo-profile-generator
脚本提供三种不同的WARP账户类型,WARP免费账户、WARP+账户(需要License Key)以及Teams账户,如果不清楚请直接选择免费账户即可
输入对应的选项并按下回车,接下来等待片刻后会输出对应的配置文件信息:
[Interface]
PrivateKey = KGXJzEsWdIZe5onnbmXOC+F1FxEMF9dyiK2H5/1weo=
Address = 172.16.0.2/32
Address = 2606:4700:110:8a19:9766:c297:c5b1:aac0/128
DNS = 1.1.1.1
MTU = 1280
[Peer]
PublicKey = bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo=
AllowedIPs = 0.0.0.0/0
AllowedIPs = ::/0
Endpoint = engage.cloudflareclient.com:2408
这样配置文件就提取完成了,但是需要注意的是这时默认的Endpoint无法成功连接,仍然需要手动寻找可用的IP。
获取优选IP
https://github.com/peanut996/CloudflareWarpSpeedTest
该工具基于CloudflareSpeedTest改造而来,在测速部分,将原来默认的TCP测速改为了wireguard的握手包测速,并基于RTT的时长进行排序,最终就得到了这个工具。
在测速前需要关闭所有的代理工具和VPN,避免测速结果的不准确。下载后解压,找到对应操作平台对应的可执行文件直接运行(unix系统下需要赋予正确的权限),就会生成一个 result.csv
, 内容是按照从小到大排序的ip+端口,选择第一个作为endpoint即可。
代理工具配置
除去官方推出的GUI客户端外,现在也有部分的代理工具已经支持wireguard的使用,比如Clash、ShadowRocket等,下面就简单介绍如何将得到的配置文件导入代理工具中.
WireGuard官方客户端
官方维护了常见操作系统的客户端的直接下载链接,包括Windows、MacOS、Linux以及移动端平台。工具简洁,且操作几乎一致,这里直接以MacOS平台下演示为主:
MacOS可直接从AppStore下载安装,打开应用后,点击左下方的 +
号后选择 Add Empty Tunnel
,这里填入已经修改好的配置即可(需要覆盖默认生成的公私钥):
点击 Save
保存配置文件,之后点击Activate
连接即可。
需要注意的是这份配置文件会默认转发所有的请求,如果需要修改则需要改动 AllowedIPs
,格式为以逗号分隔的包含CIDR掩码的IP地址列表
Clash
Clash Core最新版本现在已经支持了WireGuard,但并不是所有的Clash的GUI客户端使用的内核都使用的是最新版本内核。 常见的Clash客户端对于WireGuard支持如下:
- ✔️ Clash For Windows
- ❌ Clash For Android
- ✔️ Clash X Pro
- ❌ Clash X
需要注意的是Clash允许直接调用内核态WireGuard的接口,也允许用户态使用WireGuard(基于wireguard-go实现),使用效率就会有所差别,这里只展示用户态的配置示例:
proxies:
- name: "WARP+"
type: wireguard
server: 162.159.195.20
port: 945
ip: "172.16.0.2"
ipv6: "2606:4700:110:8bc9:6cdc:8147:ee76:c3d5"
private-key: "KGXJzEsWdIZe5onnbmXOC+F1FxEMF9dyiK2H5/1weo="
public-key: "bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo="
udp: true
mtu: 1280
dialer-proxy: "dns"
remote-dns-resolve: true
dns: [ 1.1.1.1, 8.8.8.8 ]
上面的配置文件只展示WireGuard的节点配置,完整配置可参考Clash配置文件
ShadowRocket
iOS的ShadowRocket也已经支持了WireGuard,但是经过测试,在小火箭中使用wg的速度出奇的慢,唯一的优点可能也就是支持分流,但是这点Clash会比小火箭做的更好,所以放在这里只是供参考使用,并不推荐(甚至不如去使用官方的WARP App)
导入方法:点击右上角 +
按钮,选择类型-WireGuard,接下来输入对应的地址、端口、公钥、私钥、子网IP,勾选上UDP转发,保存即可。
sing-box
{
"server": "162.159.192.12",
"server_port": 1701,
"tag": "WARP+",
"type": "wireguard",
"local_address": [
"172.16.0.2/32"
],
"private_key": "KGXJzEsWdIZe5onnbmXOC+F1FxEMF9dyiK2H5/1weo=",
"peer_public_key": "bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo=",
"mtu": 1280
},
详细配置参见官方文档
附件
1️⃣ Clash配置文件