使用 cftunnel 快速搭建 Cloudflare Tunnel 内网穿透服务

当本地服务需要外网访问时,你在纠结什么?

开发微信公众号、调试 webhook、测试第三方 API 回调……这些场景都有一个共同需求:让外网能访问到你本地机器上的服务。

传统的解决方案包括 frp、ngrok 等内网穿透工具,但它们通常需要:

  • 购买或配置公网服务器
  • 手动管理域名解析
  • 处理 SSL 证书续期
  • 配置复杂的转发规则

Cloudflare Tunnel 提供了一种更优雅的方案——不需要公网 IP,不需要额外购买服务器,通过 Cloudflare 的边缘网络直接建立安全隧道。但官方的配置流程对新手并不友好。cftunnel 正是为解决这个痛点而生,它让 OpenClaw 用户能够一键管理 Cloudflare Tunnel。

cftunnel 是什么

cftunnel 是一个轻量级的 Cloudflare Tunnel 管理工具,专为 OpenClaw 生态设计。它将复杂的 tunnel 配置封装成简单的命令,用户只需关注「我要暴露哪个端口」这个核心需求。

目前项目在 GitHub 已获得 220+ Stars,最新版本为 0.8.1。

核心原理

Cloudflare Tunnel 的工作原理可以概括为三个步骤:

  1. 本地客户端连接:cloudflared 守护进程在本地运行,与 Cloudflare 边缘节点建立长连接
  2. 随机子域名分配:Cloudflare 为每个 tunnel 分配一个随机子域名(如 xxx.trycloudflare.com)
  3. 请求转发:外部请求到达 Cloudflare 边缘后,通过已建立的隧道转发到本地服务
用户请求 → Cloudflare 边缘节点 → cloudflared tunnel → 本地服务

cftunnel 在这个流程中扮演「配置文件生成器」和「进程管理器」的角色,它自动处理:

  • tunnel 的创建和认证
  • 配置文件生成
  • 进程启动、停止、重启
  • 日志输出

安装与快速上手

安装 cftunnel 非常简单,支持一键安装脚本:

curl -fsSL https://raw.githubusercontent.com/your-repo/cftunnel/main/install.sh | bash

安装完成后,启动一个本地服务(比如监听 8080 端口的 Web 应用),然后执行:

cftunnel start --port 8080

命令执行后,cftunnel 会:

  1. 检查是否已有可用的 tunnel,没有则自动创建
  2. 生成并应用配置文件
  3. 启动 cloudflared 进程
  4. 输出公网访问地址

你会看到类似这样的输出:

[INFO] Tunnel started successfully!
Public URL: https://random-name.trycloudflare.com

现在,外网用户可以直接通过这个 URL 访问你本地的 8080 端口服务。

与同类工具的对比

特性 cftunnel frp ngrok
公网服务器 不需要 需要 不需要(免费版限制)
自定义域名 支持 支持 免费版不支持
流量费用 免费 服务器费用 免费版有限制
配置复杂度 低 中 低
OpenClaw 集成 原生支持 需要额外配置 不支持

frp 作为老牌工具,胜在完全可控和无限制,但需要自己维护服务器。cftunnel 则更适合不想折腾、希望开箱即用的场景。

适用场景

  • 远程开发调试:让同事或客户直接访问你的本地开发环境
  • 临时演示:快速分享正在开发中的 Web 应用
  • API 开发:测试需要公网回调的第三方集成
  • 物联网场景:暴露本地设备的管理界面

如果你已经在使用 OpenClaw,cftunnel 能让你在管理 AI 模型和工具链的同时,顺便搞定网络穿透,无需切换工具生态。

项目地址:https://github.com/your-repo/cftunnel