开源免费的 ngrok 替代工具,通过 Cloudflare Tunnel 将本地服务暴露为 HTTPS 公网地址。
- Star
- 437
- Fork
- 33
- 未关闭 Issue
- 2
- 最近提交
- 23天前
这是什么?
Wormhole 是一个命令行隧道工具,用于把本地开发服务器临时分享到公网。执行 `wormhole http 3000` 即可获得一个指向 localhost:3000 的公网 HTTPS 地址,适合分享开发中的页面、接收 webhook 回调或在其他设备上打开应用。无需账号即可创建隧道,使用 GitHub 登录后可申请自定义子域名。
客户端使用 Go 编写,通过 WebSocket 连接到基于 Cloudflare Workers 和 Durable Objects 的中继服务,由中继把请求转发到对应隧道。每个隧道还会在本地 localhost:4040 启动流量检查器,支持实时请求流、请求重放和 HAR 导出。默认情况下,`/.env`、`/.git` 等以点开头的路径以及 node_modules 路径会在到达本地服务前被拦截,返回 403。
客户端采用 MIT 许可证,可通过安装脚本、Homebrew 或预编译二进制安装。路线图中计划提供可自托管的 Go 中继,但当前版本依赖 Cloudflare 中继。
核心功能
- 01一条命令为本地 HTTP 服务生成公网 HTTPS 地址。
- 02登录 GitHub 后可使用自定义子域名。
- 03本地流量检查器,支持实时请求流、请求重放和 HAR 导出。
- 04支持通过隧道转发 WebSocket 连接。
- 05连接断开后以指数退避方式自动重连。
- 06默认拦截 /.env、/.git 等敏感路径和 node_modules 路径。
适用场景
- 把开发中的网页应用分享给客户或同事查看。
- 在本机接收第三方服务发来的 webhook 回调。
- 通过 HTTPS 在手机或其他设备上测试本地应用。
- 调试 API 时查看、重放 HTTP 请求。
快速上手
- 1
使用快速安装脚本安装(macOS / Linux)
curl -fsSL https://wormhole.bar/install.sh | sh - 2
为本地 3000 端口的 HTTP 服务启动隧道
wormhole http 3000
使用前须知
- 依赖项目托管的 Cloudflare Workers 中继,自托管中继尚未发布。
- 自定义子域名需要使用 GitHub 登录。
- 自托管中继、P2P 模式等路线图功能尚未实现。
标签
常见问题
- wormhole 是什么?
- 开源的 ngrok 替代方案,一条命令即可把本地 HTTP 服务暴露到公网 HTTPS 地址。 Wormhole 是一个命令行隧道工具,用于把本地开发服务器临时分享到公网。执行 `wormhole http 3000` 即可获得一个指向 localhost:3000 的公网 HTTPS 地址,适合分享开发中的页面、接收 webhook 回调或在其他设备上打开应用。无需账号即可创建隧道,使用 GitHub 登录后可申请自定义子域名。
- wormhole 可以免费使用吗?用的什么许可证?
- wormhole 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- wormhole 还在维护吗?
- 活跃维护中。wormhole 最近一次提交是在 2026年9月27日。
- wormhole 适合用来做什么?
- 把开发中的网页应用分享给客户或同事查看。 在本机接收第三方服务发来的 webhook 回调。 通过 HTTPS 在手机或其他设备上测试本地应用。 调试 API 时查看、重放 HTTP 请求。
- wormhole 怎么安装和运行?
- 使用快速安装脚本安装(macOS / Linux): curl -fsSL https://wormhole.bar/install.sh | sh 为本地 3000 端口的 HTTP 服务启动隧道: wormhole http 3000
- 在哪里获取 wormhole?
- 源代码和安装说明在 GitHub 上:https://github.com/MuhammadHananAsghar/wormhole
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
用 Go 编写的自托管隧道工具,通过你自己的域名和服务器将本地服务暴露到公网。
一个用 Rust 编写的极简命令行工具,可将本地 TCP 端口通过远程服务器暴露到公网。
基于 Go 的 tmux 命令行工具,可保存会话、窗口、窗格和运行命令,并通过 TUI 选择器按需恢复。
基于 Wails 3 与 Vue 3 构建的本地优先桌面 API 客户端,支持 HTTP、gRPC、GraphQL 和 WebSocket。