如何从 Cloudflare Zero Trust 提取 Wireguard 配置文件?

获取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令牌

  1. 首先,访问你的Zero Trust团队页面:https://你的团队ID.cloudflareaccess.com/warp

    • 注意将"你的团队ID"替换为你的实际团队ID
  2. 在该页面进行身份验证(输入你的登录凭证)

  3. 认证成功后,按F12打开浏览器的开发者工具,选择"控制台"(Console)标签

  4. 在控制台中输入以下代码并按回车执行:

    console.log(document.querySelector("meta[http-equiv='refresh']").content.split("=")[2])
    
  5. 控制台将输出一个JWT令牌,它看起来像一长串以eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...开头的文本。复制这个令牌,我们将在下一步中使用它[2]。

步骤二:使用warp.sh脚本生成配置文件

有两种方式可以使用warp.sh脚本:通过GitHub Codespaces或直接在本地Linux环境中运行。

选项A:使用GitHub Codespaces

  1. 打开warp.sh的GitHub仓库(https://github.com/rany2/warp.sh)

  2. 点击绿色的"Code"按钮(在仓库页面右上角)

  3. 在下拉菜单中选择"Codespaces"标签

  4. 点击"Create codespace on master"选项

  5. 等待Codespace环境创建完成(这可能需要几分钟时间)

  6. 当Codespace准备就绪后,终端窗口会自动打开

  7. 在终端中运行以下命令,将JWT令牌替换为你在步骤一中获取的令牌:

    ./warp.sh -T eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.....
    
  8. 脚本将处理令牌并生成Wireguard配置,结果会直接输出在终端中[2]

选项B:在Linux环境中直接运行

如果你有Linux系统(包括WSL、虚拟机或物理Linux机器),可以直接克隆仓库并运行脚本:

  1. 打开终端

  2. 运行以下命令克隆仓库:

    git clone https://github.com/rany2/warp.sh.git
    
  3. 进入克隆的目录:

    cd warp.sh
    
  4. 确保脚本有执行权限:

    chmod +x warp.sh
    
  5. 运行脚本,使用你的JWT令牌:

    ./warp.sh -T eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.....
    
  6. 脚本将生成并输出Wireguard配置[2][5]

步骤三:保存并使用配置文件

  1. 将终端中输出的配置信息复制到一个新文件中,例如命名为warp.conf

  2. 配置文件通常包含以下部分:

    [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
    
  3. 该配置文件可以直接导入到任何Wireguard客户端中使用[3][5]

配置文件说明

生成的Wireguard配置文件包含以下关键部分:

  1. Interface部分

    • PrivateKey:你的私钥,用于加密连接
    • Address:WARP分配给你的IPv4和IPv6地址
    • DNS:DNS服务器设置,通常是Cloudflare的1.1.1.1
    • MTU:最大传输单元,影响网络包大小和性能[3]
  2. Peer部分

    • PublicKey:Cloudflare WARP服务器的公钥
    • AllowedIPs:允许通过这个隧道的流量范围,0.0.0.0/0表示所有IPv4流量
    • Endpoint:WARP服务器的连接地址和端口[3][7]

注意事项

  1. 某些地区的Cloudflare服务器可能处于"Re-routed"状态,这种情况下可能需要在配置文件中添加额外的"reserved"项[3]

  2. 如果Endpoint连接不稳定,可以尝试使用以下替代地址之一:

    • 162.159.193.1~10:2408
    • 162.159.195.1~10:2408

    例如:162.159.193.5:2408162.159.195.8:2408[7]

  3. 团队版WARP(Zero Trust)具有无限流量的优势,是长期使用的理想选择[5]

  4. 使用warp.sh脚本比手动配置更简单,避免了复杂的手动步骤和潜在的错误[2][5]

技术原理

Cloudflare WARP客户端通过三种连接与Cloudflare全球网络交互:

  1. 设备编排连接(HTTPS):用于用户注册、检查设备状态和应用WARP配置设置
  2. DoH连接(HTTPS):用于DNS请求和策略执行
  3. 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

手动写的吗,高产似母猪 :face_savoring_food:

没有,基本上有个思路给AI,AI写完改一改,然后自己用的,放在这里作为备份

可以的,佬很强