Cloudflare Quick Tunnel (TryCloudflare) — 一行命令暴露本地服务到公网
> 一句话版本:cloudflared tunnel --url localhost:8000,一行命令就把你电脑上跑的服务暴露到公网,自动 HTTPS、防 DDoS、不需要注册账户、不需要域名。临时 URL,关掉就失效。
| 项目 | 信息 |
|---|---|
| 来源 | https://trycloudflare.com/ |
| 官方文档 | https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/do-more-with-tunnels/trycloudflare/ |
| 类型 | Cloudflare 免费工具 |
| CLI 工具 | cloudflared(Go 语言,开源),仓库创建于 2017-10-13,13.8K stars |
| Quick Tunnel 发布 | 2025-10-03([博客](https://blog.cloudflare.com/quick-tunnels-anytime-anywhere/)) |
| 许可证 | Apache 2.0 |
| 前置条件 | 安装 cloudflared,无需 Cloudflare 账户 |
历史:cloudflared 前身是 Argo Tunnel 客户端(2017 年),长期需要账户+域名+配置。2025 年 10 月 3 日发布 Quick Tunnel 免费免注册模式,一行命令即可使用。
核心内容
三步使用
# 1. 安装 cloudflared(macOS)
brew install cloudflared
# 2. 跑你的本地服务
python -m http.server 8000
# 3. 创建隧道
cloudflared tunnel --url http://localhost:8000
# 输出:https://xxx-yyy-zzz.trycloudflare.com
完事。把 URL 发给任何人,他们就能访问你本地服务。
特性
| 特性 | 说明 |
|---|---|
| **零配置** | 不需要账户、不需要域名、不需要 config 文件 |
| **自动 HTTPS** | Cloudflare 自动处理 SSL 证书 |
| **DDoS 防护** | Cloudflare 全球网络的 L3/L4/L7 防护 |
| **不暴露端口** | 你的机器上不开放任何入站端口 |
| **全球加速** | 流量通过 Cloudflare 330+ 城市边缘网络路由 |
| **支持所有协议** | HTTP/HTTPS/WebSocket/TCP/SSH |
| **临时 URL** | 随机子域名,重启 cloudflared 后 URL 变化 |
限制
| 限制 | 说明 |
|---|---|
| **临时 URL** | 每次启动随机生成,无法固定 |
| **不支持 config.yaml** | 如果 `.cloudflared/` 下有配置文件,Quick Tunnel 不会工作 |
| **不适合生产** | 没有自定义域名、没有访问控制、没有日志持久化 |
| **无访问策略** | 任何人拿到 URL 都能访问(没有 Zero Trust Access 保护) |
| **连接不稳定** | 长时间运行可能断开,没有自动重连保证 |
| **速率限制** | Cloudflare 对 Quick Tunnel 有未公开的速率和带宽限制 |
与同类工具对比
| 维度 | TryCloudflare | ngrok | Tailscale Funnel | localhost.run |
|---|---|---|---|---|
| 需要账户 | ❌ | ✅ (免费版) | ✅ (Tailscale) | ❌ |
| 自定义域名 | ❌ | ✅ (付费) | ✅ | ❌ |
| 自动 HTTPS | ✅ | ✅ | ✅ | ✅ |
| WebSocket | ✅ | ✅ | ✅ | ✅ |
| TCP 隧道 | ✅ | ✅ (付费) | ✅ | ❌ |
| 访问控制 | ❌ | ✅ | ✅ | ❌ |
| 价格 | 免费 | 免费(有限)/$8-20月 | 免费(有限) | 免费 |
| 速度 | 快(Cloudflare边缘) | 快 | 快 | 一般 |
典型使用场景
1. Webhook 调试:开发 Stripe/GitHub webhook 时,把本地服务暴露出去接收回调
2. 设计评审:跑个本地前端,把 URL 发给设计师/产品经理看效果
3. 移动端测试:手机访问电脑上的开发服务器
4. API 演示:给同事/客户演示本地跑的 API
5. 临时分享:快速分享本地跑的任何 HTTP 服务
Quick Tunnel vs Named Tunnel
| 维度 | Quick Tunnel | Named Tunnel |
|---|---|---|
| 设置时间 | 1 秒 | 几分钟 |
| 账户要求 | ❌ | ✅ |
| 固定 URL | ❌ | ✅ (自定义域名) |
| 访问策略 | ❌ | ✅ (Zero Trust Access) |
| 多条路由 | ❌ | ✅ |
| 负载均衡 | ❌ | ✅ |
| 适合 | 开发调试 | 生产环境 |
Q&A
是开源的吗?
cloudflared(CLI 工具)开源,Apache 2.0:https://github.com/cloudflare/cloudflared
但 Quick Tunnel 依赖的 Cloudflare 边缘网络(路由、DDoS 防护、证书签发)是闭源的。客户端开源,服务端闭源。
想完全自托管的话,可以用同类开源替代:
- frp(https://github.com/fatedier/frp)— Go 语言,75K+ stars
- bore(https://github.com/ekzhang/bore)— Rust,极简隧道
- rathole(https://github.com/rapiz1/rathole)— Rust,高性能
但自托管意味着要自己搞域名、证书、公网服务器、NAT 穿透。
是 Cloudflare 官方服务吗?
是的,100% Cloudflare 官方产品。cloudflared 是 Cloudflare 自己开发维护的,trycloudflare.com 域名也是 Cloudflare 的。是 Cloudflare Tunnel 产品的快速体验模式。
具体应用场景:在咖啡店调试 GitHub Webhook
你在笔记本上开发一个 OpenClaw skill,里面有个 HTTP 服务监听 localhost:3000,接收 GitHub webhook 触发自动部署。但你在咖啡店 WiFi,没有公网 IP。
cloudflared tunnel --url http://localhost:3000
# 输出:https://abc-def-123.trycloudflare.com
把这个 URL 填到 GitHub repo 的 Webhook 设置里,点 Test → 本地服务收到请求,调试完成。关掉终端,URL 立即失效。
比 ngrok 省事:不用注册账户、不用装 token,brew install cloudflared + 一行命令就完事。
分析
为什么它好:
- 零摩擦:不需要注册、不需要配置,一行命令就能用。这是它最大的优势
- Cloudflare 背书:全球最大 CDN 之一的基础设施,速度和稳定性有保障
- 免费且够用:对开发调试来说完全够用
为什么不够:
- 临时 URL 是硬伤:每次重启 URL 变化,无法分享给需要长期访问的人
- 无访问控制:任何人都能访问,不适合敏感服务
- ngrok 的免费替代品:功能上和 ngrok 免费版高度重叠,ngrok 生态更大(有 SDK、有 VS Code 插件)
与 Jay 的关联:
- OpenClaw 调试:本地开发 OpenClaw 时可以用 Quick Tunnel 暴露 Webhook 接收端
- temp.jaylab.io 开发:本地跑 build server 时快速预览效果
- 和 Cloudflare Mesh 的关系:Quick Tunnel 是"暴露本地服务给公网",Mesh 是"连接私有网络"。互补工具
- 已有 Cloudflare 账户:升级到 Named Tunnel 很简单,可以绑定 jaylab.io 的子域名
评分
| 维度 | 评分 (1-10) | 说明 |
|---|---|---|
| 易用性 | 10 | 一行命令,零配置,完美 |
| 实用性 | 7 | 开发调试神器,但不适合生产 |
| 功能完整度 | 5 | 临时 URL、无访问控制、无自定义域名 |
| 稳定性 | 7 | Cloudflare 基础设施好,但 Quick Tunnel 本身不够稳定 |
| 与 Jay 的关联 | 6 | 开发时有用,但不是高频需求 |
| **总分** | **7.0** | 开发者工具箱必备,一行命令的魔力 |
快速参考
# HTTP 服务
cloudflared tunnel --url http://localhost:8000
# HTTPS 服务(本地已有证书)
cloudflared tunnel --url https://localhost:8443
# 指定协议
cloudflared tunnel --url ssh://localhost:22
# 不想装 cloudflared?用这个一行版本
# brew install cloudflared && cloudflared tunnel --url http://localhost:3000