cftunnel 实战:用 Cloudflare Tunnel 一键打通内网服务外网访问

前言:本地服务无法外网访问的困扰

调试微信小程序、给客户演示未上线的 Web 系统、测试 Webhook 回调——这些场景有一个共同痛点:你的服务跑在本地电脑或内网服务器上,外部网络根本访问不到。

大多数开发者会想到 ngrok,但免费版限制多、付费版价格不低;frp 虽然开源可控,但需要自己维护中转服务器,配置繁琐。有没有更优雅的解决方案?

cftunnel 正是为解决这个痛点而生——它将 Cloudflare Tunnel 与 OpenClaw 深度整合,提供一键式内网穿透管理,让本地服务分分钟对外可见。

Cloudflare Tunnel 核心原理

Cloudflare Tunnel 是 Cloudflare Zero Trust 的一部分,其工作原理可以用一句话概括:在公网和内网之间建立一条加密隧道,外部请求通过 Cloudflare 边缘节点安全转发到内网服务。

具体流程如下:

  1. 用户在服务器/电脑上运行 cloudflared 守护进程
  2. 守护进程与 Cloudflare 边缘建立持久的长连接(WebSocket)
  3. 外部访问 xxx.trycloudflare.com 或自定义域名时,请求被路由到该连接
  4. cloudflared 通过加密隧道将请求转发到本地服务

这种架构的优势在于:不需要公网 IP、不需要配置防火墙、不需要担心端口被封。Cloudflare 本身就是一个全球分布式网络,可靠性远超自建中转。

cftunnel 的设计亮点

cftunnel 在 Cloudflare Tunnel 基础上做了减法,做了两件事:

1. 一键化配置管理

传统使用 Cloudflare Tunnel 需要手动创建 token、编写配置文件、启动守护进程。cftunnel 通过 OpenClaw 面板提供了图形化操作界面:

  • 一键生成 tunnel token
  • 可视化配置隧道规则
  • 状态监控一目了然

2. 与 OpenClaw 深度集成

cftunnel 专为 OpenClaw 开发环境优化。如果你正在使用 ClawPanel(https://claw.qt.cool/)管理 OpenClaw,可以直接在面板中开启内网穿透功能,无需额外配置。

安装与使用示例

环境要求

  • OpenClaw 环境
  • 已安装 cftunnel(版本 0.8.1)
  • Cloudflare 账号(免费即可)

快速配置步骤

# 1. 安装 cftunnel(通过 OpenClaw 包管理器)
openclaw install cftunnel

# 2. 初始化并登录 Cloudflare
cftunnel login

# 3. 创建新隧道
cftunnel tunnel create my-tunnel

# 4. 配置隧道(编辑 ~/.cftunnel/config.yml)
cftunnel configure my-tunnel --ingress "http://localhost:8080"

# 5. 启动隧道
cftunnel up my-tunnel

运行成功后,你会看到类似输出:

[INFO] Tunnel running at: https://my-tunnel.trycloudflare.com
[INFO] Local service: http://localhost:8080

现在直接访问这个 URL,Cloudflare 会将请求转发到你的本地服务。

通过 OpenClaw 面板操作

在 OpenClaw 面板中,找到「隧道管理」模块:

  1. 点击「创建隧道」
  2. 输入隧道名称,选择需要暴露的服务
  3. 点击「启动」,面板会自动完成 token 生成和配置
  4. 状态栏显示 tunnel URL,即可在外部访问

与同类工具的横向对比

特性 cftunnel ngrok frp
费用 免费(Cloudflare) 免费有限制 完全免费
速度 Cloudflare 全球CDN 速度一般 取决于中转服务器
自托管 不支持 不支持 支持
配置复杂度 低(一键) 中 高
OpenClaw 集成 原生支持 无 无

cftunnel 的定位很明确:如果你已经在用 OpenClaw,需要快速将本地服务暴露给外网,这是目前最顺滑的选择。

适用场景

  • 远程调试:手机端测试需要回调到本地后端的接口
  • 客户演示:让客户实时查看未部署的开发版本
  • Webhook 开发:需要接收第三方平台的回调通知
  • 团队协作:让远程同事访问本地开发环境

小结

cftunnel 0.8.1 将 Cloudflare Tunnel 的强大能力与 OpenClaw 的便捷管理结合在一起,用一条命令解决了内网穿透的繁琐配置问题。如果你正在为如何让外网访问本地服务而烦恼,不妨试试这个组合。