cftunnel 快速上手:Cloudflare Tunnel 一键管理工具让内网穿透如此简单
当你需要让本地开发的服务对外访问时
你是否遇到过这样的场景:本地开发了一个 Web 应用,需要让团队成员或客户从外网访问,却因为没有公网服务器而头疼?或者部署了一套 OpenClaw 内容管理系统,想从外部网络直接访问?
传统的解决方案包括 frp、ngrok 等内网穿透工具,但它们通常需要自己维护穿透服务器,或者受限于免费版的带宽和连接数。而 Cloudflare Tunnel 提供了另一种思路——利用 Cloudflare 全球边缘网络,将你的本地服务安全地暴露到互联网。
然而,Cloudflare Tunnel 的原生配置方式对新手并不友好:需要安装 cloudflared、编写配置文件、处理认证流程。cftunnel 正是为了解决这个问题而生——它将这一切繁琐操作封装成简单的一键命令。
Cloudflare Tunnel 工作原理
在深入 cftunnel 之前,有必要理解 Cloudflare Tunnel 的底层原理:
- 隧道建立:在本地机器上运行的
cloudflared进程与 Cloudflare 边缘节点建立持久的 WebSocket 连接 - 流量转发:外部用户访问你定义的子域名时,请求先到达 Cloudflare 边缘,再通过已建立的隧道转发到本地服务
- 零端口暴露:整个过程不需要在路由器上开放任何端口,也不需要公网 IP
这种架构的优势在于:流量全程加密,且受 Cloudflare 安全防护(DDOS 防护、WAF 等)保护。
cftunnel 核心特性
cftunnel 针对 OpenClaw 用户场景做了深度优化,主要特性包括:
- 一键安装:自动检测系统环境,下载安装 cloudflared
- 交互式配置:引导式流程完成 Tunnel 创建和域名绑定
- 服务管理:简化的 start/stop/status 命令管理隧道生命周期
- OpenClaw 集成:针对 OpenClaw 的默认端口(通常 3000)做了预设配置
快速安装与使用
安装命令
curl -sSL https://raw.githubusercontent.com/Eduasong/cftunnel/main/install.sh | bash
安装脚本会自动检测你的操作系统(Linux/macOS),下载对应版本的 cloudflared,并完成基础配置。
创建隧道
cftunnel create my-tunnel
交互式向导会要求你登录 Cloudflare 账号、选择域名、输入子域名前缀。完成后,配置信息保存到 ~/.cftunnel/config.yaml。
启动服务
cftunnel start my-tunnel
本地 OpenClaw 服务会自动通过隧道暴露到 https://your-subdomain.your-domain.com。
与同类工具的对比
| 特性 | cftunnel | frp | ngrok |
|---|---|---|---|
| 是否需要自己的服务器 | ❌ | ✅ | ❌ |
| 免费额度 | 无限(Cloudflare 提供) | 无(需自建) | 有限制 |
| 配置复杂度 | 低(一键式) | 中等 | 低 |
| OpenClaw 集成 | ✅ 原生支持 | ❌ | ❌ |
cftunnel 的核心差异在于:它不是又一个"需要服务器的穿透工具",而是 Cloudflare 官方方案的命令行封装器,借助 Cloudflare 的免费额度实现真正的零成本方案。
适用场景
cftunnel 特别适合以下场景:
- 远程协作:让异地团队成员访问本地开发环境
- 客户演示:无需部署即可向客户展示开发中的产品
- Webhook 测试:接收第三方服务的回调通知
- OpenClaw 运维:配合 ClawPanel 管理多个站点的外网访问
如果你正在使用 OpenClaw 构建内容站点,cftunnel 可以成为本地开发与外部访问之间的桥梁。需要更完善的面板管理功能时,可以了解 ClawPanel。
项目地址:GitHub 搜索 cftunnel,当前版本 0.8.1,已有 219 个 Star。