获取token
提取Cloudflare Zero Trust Wireguard配置文件详细教程
在这篇教程中,我将详细介绍如何从Cloudflare Zero Trust中提取Wireguard配置文件,让你可以在任何支持Wireguard的客户端上使用Cloudflare WARP服务。
Cloudflare WARP与Wireguard简介
Cloudflare WARP是基于Wireguard协议的服务,它通过Cloudflare的全球网络提供安全连接。Wireguard是一种现代、高效的VPN协议,具有性能高、配置简单的特点[2]。与普通WARP或WARP+相比,Zero Trust团队版本具有无限流量的优势,并且可以免费申请[5]。
提取过程详解
步骤一:获取JWT令牌
-
首先,访问你的Zero Trust团队页面:
https://你的团队ID.cloudflareaccess.com/warp
- 注意将"你的团队ID"替换为你的实际团队ID
-
在该页面进行身份验证(输入你的登录凭证)
-
认证成功后,按F12打开浏览器的开发者工具,选择"控制台"(Console)标签
-
在控制台中输入以下代码并按回车执行:
console.log(document.querySelector("meta[http-equiv='refresh']").content.split("=")[2])
-
控制台将输出一个JWT令牌,它看起来像一长串以
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
开头的文本。复制这个令牌,我们将在下一步中使用它[2]。
步骤二:使用warp.sh脚本生成配置文件
有两种方式可以使用warp.sh脚本:通过GitHub Codespaces或直接在本地Linux环境中运行。
选项A:使用GitHub Codespaces
-
打开warp.sh的GitHub仓库(https://github.com/rany2/warp.sh)
-
点击绿色的"Code"按钮(在仓库页面右上角)
-
在下拉菜单中选择"Codespaces"标签
-
点击"Create codespace on master"选项
-
等待Codespace环境创建完成(这可能需要几分钟时间)
-
当Codespace准备就绪后,终端窗口会自动打开
-
在终端中运行以下命令,将JWT令牌替换为你在步骤一中获取的令牌:
./warp.sh -T eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.....
-
脚本将处理令牌并生成Wireguard配置,结果会直接输出在终端中[2]
选项B:在Linux环境中直接运行
如果你有Linux系统(包括WSL、虚拟机或物理Linux机器),可以直接克隆仓库并运行脚本:
-
打开终端
-
运行以下命令克隆仓库:
git clone https://github.com/rany2/warp.sh.git
-
进入克隆的目录:
cd warp.sh
-
确保脚本有执行权限:
chmod +x warp.sh
-
运行脚本,使用你的JWT令牌:
./warp.sh -T eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.....
-
脚本将生成并输出Wireguard配置[2][5]
步骤三:保存并使用配置文件
-
将终端中输出的配置信息复制到一个新文件中,例如命名为
warp.conf
-
配置文件通常包含以下部分:
[Interface] PrivateKey = 你的私钥 Address = 172.16.0.2/32 Address = IPv6地址/128 DNS = 1.1.1.1 MTU = 1420 [Peer] PublicKey = bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo= AllowedIPs = 0.0.0.0/0 AllowedIPs = ::/0 Endpoint = engage.cloudflareclient.com:2408
-
该配置文件可以直接导入到任何Wireguard客户端中使用[3][5]
配置文件说明
生成的Wireguard配置文件包含以下关键部分:
-
Interface部分:
- PrivateKey:你的私钥,用于加密连接
- Address:WARP分配给你的IPv4和IPv6地址
- DNS:DNS服务器设置,通常是Cloudflare的1.1.1.1
- MTU:最大传输单元,影响网络包大小和性能[3]
-
Peer部分:
- PublicKey:Cloudflare WARP服务器的公钥
- AllowedIPs:允许通过这个隧道的流量范围,0.0.0.0/0表示所有IPv4流量
- Endpoint:WARP服务器的连接地址和端口[3][7]
注意事项
-
某些地区的Cloudflare服务器可能处于"Re-routed"状态,这种情况下可能需要在配置文件中添加额外的"reserved"项[3]
-
如果Endpoint连接不稳定,可以尝试使用以下替代地址之一:
- 162.159.193.1~10:2408
- 162.159.195.1~10:2408
例如:
162.159.193.5:2408
或162.159.195.8:2408
[7] -
团队版WARP(Zero Trust)具有无限流量的优势,是长期使用的理想选择[5]
-
使用warp.sh脚本比手动配置更简单,避免了复杂的手动步骤和潜在的错误[2][5]
技术原理
Cloudflare WARP客户端通过三种连接与Cloudflare全球网络交互:
- 设备编排连接(HTTPS):用于用户注册、检查设备状态和应用WARP配置设置
- DoH连接(HTTPS):用于DNS请求和策略执行
- WARP隧道(UDP,通过WireGuard或MASQUE):用于发送IP数据包,执行网络和HTTP策略,以及私有网络访问[9]
通过提取并使用Wireguard配置,我们可以在不使用官方客户端的情况下利用这些功能。
结论
通过本教程,你已经学会了如何从Cloudflare Zero Trust中提取Wireguard配置文件,并且了解了如何在各种环境中使用这些配置文件。这种方法使你能够在任何支持Wireguard的客户端上使用Cloudflare WARP服务,享受其全球网络带来的性能和安全优势。
无论你是在GitHub Codespaces中操作,还是在本地Linux环境中直接运行脚本,这个过程都相对简单,使得Cloudflare WARP的高级功能可以在更多设备和平台上使用。
来源
来源
[1] WARP系列第2期(WireGuard代理篇) - 甬哥侃侃侃YouTube教程摘要 WARP系列第2期(WireGuard代理篇):无限申请WARP账户?WireGuard客户端配置WARP核心七要素简析,Windows电脑端与VPS端提取WARP配置文件教程
[2] Using Cloudflare Warp with Wireguard Clients - Andrea Fortuna Using Cloudflare Warp with Wireguard Clients | Andrea Fortuna
[3] 获取适用于Wireguard的WARP Teams(Zero Trust)配置文件 获取适用于Wireguard的WARP Teams(Zero Trust)配置文件 - Yushum's Blog
[4] P3TERX/warp.sh: Cloudflare WARP Installer | WARP 一键安装脚本 GitHub - P3TERX/warp.sh: Cloudflare WARP Installer | WARP 一键安装脚本
[5] 在Surge上通过WireGuard协议一键提取并连接CloudFlare Warp+/Team 在Surge上通过WireGuard协议一键提取并连接CloudFlare Warp+/Team - 童家小站
[6] WARP: WireGuard from Cloudflare - Chuxi’s Daily Posts WARP: WireGuard from Cloudflare
[7] GetSomeCats/Zero Trust 从入门到放弃.md at Surge - GitHub GetSomeCats/Zero Trust 从入门到放弃.md at Surge · getsomecat/GetSomeCats · GitHub
[8] WireGuard into a private LAN via CloudFlare Tunnels WireGuard into a private LAN via CloudFlare Tunnels
[9] WARP architecture - Cloudflare Zero Trust WARP architecture · Cloudflare Zero Trust docs
[10] ViRb3/wgcf: Cross-platform, unofficial CLI for Cloudflare Warp - GitHub GitHub - ViRb3/wgcf: 🚤 Cross-platform, unofficial CLI for Cloudflare Warp
[11] Cloudflare Zero Trust提取Wireguard配置文件- 资源荟萃 - LINUX DO Cloudflare Zero Trust提取Wireguard配置文件 - 资源荟萃 - LINUX DO
[12] Cloudflare Zero Trust提取Wireguard配置文件- #18,来自n3shelter Cloudflare Zero Trust提取Wireguard配置文件 - #18,来自 n3shelter - 资源荟萃 - LINUX DO
[13] 三种超简单方法从WARP获取WireGuard密钥,第三方工具连接自由! https://www.youtube.com/watch?v=Gn_CRFPYfYU
[14] 滥用Cloudflare ZeroTrust WARP 科学上网 - Y4er的博客 滥用 Cloudflare ZeroTrust WARP 科学上网 - Y4er的博客
[15] 记录Linux使用Warp+及ZeroTrust的两种方法 记录Linux使用Warp+及ZeroTrust的两种方法 - 汲墨Carlo的个人笔记
[16] WireGuard如何配置Zero Trust? - 问答- Glarity https://glarity.app/zh-CN/chatai/WireGuard如何配置Zero-Trust
[17] [Tutorial] How To Use WARP or WARP+ With Wireguard : r/CloudFlare https://www.reddit.com/r/CloudFlare/comments/ty9hke/tutorial_how_to_use_warp_or_warp_with_wireguard/
[18] Zero Trust WARP: tunneling with a MASQUE - The Cloudflare Blog https://blog.cloudflare.com/zero-trust-warp-with-a-masque/
[19] How to SSH Azure VM’s with Zero Trust - WARP https://community.cloudflare.com/t/how-to-ssh-azure-vms-with-zero-trust/485267
[20] Getting unlimited cloudflare warp+ with zero trust free tier - Page 6 Getting unlimited cloudflare warp+ with zero trust free tier - Page 6 - India Broadband Forum