- 前端同事要联调你的接口
- 产品想点开看看这版 UI
- 第三方平台要填一个 Webhook 回调地址(支付、飞书机器人、GitHub App)
- 客户说"发我看看",但你又不想走一整套 build → 镜像 → 部署
Sealtun 是什么
一句话:面向 Sealos Cloud 和 Kubernetes 用户的本地隧道 CLI。把你本地的 Web、HTTP upstream、SSH、数据库、调试服务一键暴露到公网;反过来也能让本机直接访问集群里的 Service / Pod。作者是 gitlayzer,项目放在 GitHub 上 github.com/gitlayzer/sealtun。
它不是要重新造一个隧道协议,而是把隧道能力嵌进 Sealos / K8s 的资源体系里——expose之后,Sealos 那边会自动帮你建 Deployment、Service、Ingress、HTTPS 入口和隧道代理 Pod,证书、DNS、域名都跟着走。
三分钟上手
npm install -g sealtun
sealtun login # OAuth2 设备流,扫码/输码就行,不用管密码
sealtun expose 3000 # 本地 3000 → 公网 HTTPS
想看状态:
sealtun list
sealtun inspect # 本地端口 / daemon / 远端 Pod / Service / Ingress / 证书 一条链查下来
sealtun logs
sealtun dashboard # 本地启一个工作台 UI
- sealtun doctor —— 隧道一不通,最怕不知道挂哪一层(本地端口?daemon?Pod?Ingress?证书?DNS?),doctor+ inspect --remote这套排障组合比 ngrok 免费版友好太多
- 多 profile —— 不同 Sealos 账号 / region / workspace / kubeconfig 存成命名 profile,切项目不用反复登
- 自定义域名 —— domain plan/add/verify/status/doctor一路把 CNAME 和证书都包了
安全这块没偷懒
临时公网入口最容易留坑的就是"忘了关"。Sealtun 这套访问控制算是配齐了:- Basic Auth / Bearer Token
- 临时分享链接(share create/list/revoke/rotate,可设自动失效)
- IP 白名单规则
- Rate limit
- 访问审计 + server secret 轮换
和普通内网穿透比,差在哪
| 工具 | 适合场景 | 槽点 |
|---|---|---|
| ngrok | 临时用一下 | 免费版域名随机、有时长限制 |
| cloudflared | 有 CF 域名党 | 得有 CF 账号+配 DNS |
| frp | 自建控全场 | 得有一台公网服务器 |
| Sealtun | Sealos / K8s 用户 | 强绑 Sealos 生态,非 Sealos 用户没必要 |
几个我用得上的场景
- Webhook 回调调试 — GitHub App / 支付 / 飞书机器人,本地起服务,sealtun expose 3000,把 HTTPS 地址填第三方后台,回调直接打进本地断点
- 前后端联调 — 后端本地 8080,前端把 API Base URL 换成 Sealtun 给的地址,不用发 PR 就能让前端先调
- 本地 Demo 验收 — Next.js / Vite npm run dev起 3000,丢个 HTTPS 链接给产品,省一次部署
- 临时 SSH / 数据库暴露 — 不止 HTTP,TCP 也能走
一点主观评价
Sealtun 给我的感觉是"Sealos 用户早该有的配套工具,现在才补上"。单看隧道能力它没比 ngrok 多出花,但胜在和 Sealos 那一端的 K8s 资源是打通的——你 expose 一次,背后是真实的 Ingress + 证书 + Pod,不是某个 SaaS 黑盒。对已经在 Sealos 上开发部署的团队来说,这条链路顺得多。安装就一句:
npm install -g sealtun,剩下的 sealtun login && sealtun expose <port>自己玩吧。