Repolode
MuhammadHananAsghar

MuhammadHananAsghar/wormhole

开源的 ngrok 替代方案,一条命令即可把本地 HTTP 服务暴露到公网 HTTPS 地址。

可替代:ngrok

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. 1

    使用快速安装脚本安装(macOS / Linux)

    curl -fsSL https://wormhole.bar/install.sh | sh
  2. 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 数据每日更新。

相关项目