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 的便捷管理结合在一起,用一条命令解决了内网穿透的繁琐配置问题。如果你正在为如何让外网访问本地服务而烦恼,不妨试试这个组合。