使用 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