Dev Serve

🚀 一键 HTTPS 开发服务器托管

一键启动 tmux 后台开发服务器,通过 Caddy 自动分配子域名与 TLS 证书,实现零配置本地开发环境公网暴露

收藏
2.2k
安装
981
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

dev-serve 是一个面向开发者的自动化工具,通过 up/down/ls/restart 四个简洁命令,将本地开发服务器包装为生产级 HTTPS 服务。用户只需执行 dev-serve up ~/projects/myapp,工具会自动:从目录名派生子域名、探测 package.json 中的 dev 脚本、启动 tmux 会话运行开发服务器、通过 Caddy Admin API 动态添加反向代理路由,并完成端到端健康检查。

显著优点

  • 零配置公网暴露:自动处理 DNS 子域名、TLS 证书申请(依赖 Caddy 的 DNS-01 挑战),无需手动配置 nginx 或 frp
  • 智能框架适配:内置对 Vite、Next.js、Nuxt、SvelteKit 的自动检测,特别为 Vite 自动注入 allowedHosts 配置解决 403 问题
  • 端口自治管理:5200+ 端口段自动避让占用,避免手动协调冲突
  • 声明式状态管理:JSON 状态文件 + Caddyfile 双向同步,支持 ls 查看全量运行实例
  • 安全边界清晰:强制依赖 Caddy 的 wildcard TLS,不自行处理证书;通过 0.0.0.0 绑定限制在本地回环

潜在局限

  • 硬依赖外部基础设施:必须预先部署 Caddy 并配置 wildcard DNS,学习成本转嫁至 companion skill
  • 自动修改源码风险vite.config.* 的自动 patch 可能引入意外 diff,虽打印回滚提示但仍需人工确认
  • 无内置访问控制:依赖 Tailscale/LAN 等网络层隔离,子域名一旦分配即全网可达(Caddy 层未配置 basic auth)
  • 90s 健康检查瓶颈:大型项目冷启动可能超时,需手动介入 tmux attach
  • 状态非高可用~/.config/dev-serve/state.json 为本地文件,多机部署需自行同步

适合人群

  • 拥有固定域名、需要频繁向协作者/客户演示本地开发进展的全栈工程师
  • 已采用 Tailscale/WireGuard 组网、追求「类生产环境」HTTPS 体验的开发者
  • 厌倦 ngrok/Cloudflare Tunnel 随机域名、希望固定子域名的工作流用户

常规风险

| 风险类别 | 说明 |
|---------|------|
| 证书泄露 | Caddy 证书存储于 `~/.local/share/caddy`,需确保该目录权限 0700 |
| 子域名接管 | 若 DNS wildcard 指向共享服务器,恶意用户可抢注未使用的子域名映射至自身端口 |
| 源码污染 | Vite 配置自动修改后若未 review,可能意外提交至版本控制 |
| 端口暴露 | `--host 0.0.0.0` 绑定虽经 Caddy 反向,但若绕过代理直接访问原端口则失去 TLS 保护 |

Dev Serve 内容

scripts文件夹
手动下载zip · 7.2 kB
dev-serve.shtext/x-shellscript
请选择文件