使用 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 的工作原理可以概括为三个步骤:
- 本地客户端连接:cloudflared 守护进程在本地运行,与 Cloudflare 边缘节点建立长连接
- 随机子域名分配:Cloudflare 为每个 tunnel 分配一个随机子域名(如
xxx.trycloudflare.com) - 请求转发:外部请求到达 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 会:
- 检查是否已有可用的 tunnel,没有则自动创建
- 生成并应用配置文件
- 启动 cloudflared 进程
- 输出公网访问地址
你会看到类似这样的输出:
[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