借用 Cloudflare Zero Trust 节点搭建 WireGuard 隧道

假设使用默认的 OTL 验证

设置 Cloudflare Zero Trust

我们首先要允许用户连接至 Zero Trust

  1. 进入 Settings / WARP Client
  2. Manage Device enrollment permissions
  3. 在 Policies 中添加用户,保存
  4. 在 Device enrollment permissions 保存——这两步的保存不要忘

生成 WireGuard 配置

通过脚本(已废弃)

  1. 修改 生成小脚本 里的常量
    • TEAM_NAME 团队名称
    • EMAIL_ADDR 用于注册的邮箱
    • PRIVATE_KEYwg genkey 生成
    • PUBLIC_KEYecho <PRIVATE_KEY> | wg pubkey 生成
    • TOKEN 留空
  2. 运行脚本,在运行中它将会询问 验证码
  3. 脚本在运行目录下生成 .conf 后缀名的 Wireguard 配置文件

手动获得 Token

注意,注册前要清除浏览器中上次注册时的 Cookies

  1. 访问 https://\<zerotrust team name\>.cloudflareaccess.com/warp
  2. 填写邮箱,填写获得的验证码
  3. 在成功页面,打开控制台,通过 document.querySelector("head > meta:nth-child(5)").content.split("token=")[1] 获取 Token
  4. 修改 生成小脚本 里的常量
    • PRIVATE_KEYwg genkey 生成
    • PUBLIC_KEYecho <PRIVATE_KEY> | wg pubkey 生成
    • TOKEN 填入上一步获取的 Token
  5. 运行脚本,它会在运行目录下生成 .conf 后缀名的 Wireguard 配置文件

EndPoint 优选

因可能的域名解析障碍,我们需要对 EndPoint 进行优选

  1. 修改 优选小脚本 里的常量
  2. 运行脚本可以得到 endpoints.csv(默认文件名)
  3. csv 文件中第一列的网址用于替换 WireGuard 配置文件中的 EndPoint 一项
  4. 不断尝试列表中的网址,直到能够连通

PS: https://ip.skk.moe/ 是个检测自己现在 IP 的不错工具

参考