
如何用Slim share把本地开发服务器安全暴露到公网子域名、密码保护与TTL详解【免费下载链接】slimGive your localhost a local or public URL项目地址: https://gitcode.com/gh_mirrors/slim30/slimSlim 是一款轻量级命令行工具一条命令就能为本地开发服务器提供 HTTPS 域名而slim share子命令可以让它把本地服务安全地暴露到公网——生成一个*.slim.show隧道地址无需配置端口转发。本文面向新手详解Slim 公网隧道分享的三个核心开关自定义子域名、密码保护和 TTL 自动过期并告诉你免费与 Pro 版本的区别。一键安装 Slim 并完成登录前提步骤使用slim share之前需要完成两件事安装 Slim、登录账号。# 源码安装需要 Go 1.25 git clone https://gitcode.com/gh_mirrors/slim30/slim cd slim make build make install登录只需一次token 会保存在本地slim login # Logged in as 你的名字 (youexample.com)登录逻辑见 cmd/login.go认证状态由 internal/auth/ 模块管理。⚠️ 如果跳过登录直接运行 share命令会直接报错退出。最快上手一条命令拿到公网 URL本地起好服务后一条命令即可完成公网暴露slim share --port 3000 # ✓ https://cheeky-panda.slim.show → localhost:3000 # Press CtrlC to disconnect它会自动分配一个随机的动物风格子域名如cheeky-panda所有访问该公网 URL 的请求都会被转发到你本机的localhost:3000。终端会实时打印每个请求的日志方便观察谁在访问你的服务14:05:12 GET /api/user 200 12ms 14:05:30 GET / 200 5ms命令定义在 cmd/share.go--port是必填参数端口必须在 1–65535 之间。自定义子域名规则与品牌词限制不想用随机域名加上--subdomain即可slim share --port 3000 --subdomain demo # https://demo.slim.show → localhost:3000子域名命名有什么限制Slim 内置了一个品牌词黑名单见 internal/tunnel/subdomain.go 中的blockedSubdomain防止仿冒知名品牌网站。如果你的子域名忽略-和.后包含 paypal、google、apple、bank 类关键词会被直接拒绝例如my-google-demo这种名字过不了校验。建议用项目名或用途词如demo、preview、staging。 自定义子域名属于 Pro 功能免费版会提示升级。密码保护给公网 URL 加一道门公网链接一旦发出去就很难撤回加上密码保护能显著降低误访问和恶意探测slim share --port 3000 --password secret开启后访问者必须先输入密码才能看到页面内容终端启动时也会回显密码方便你自己复制。注意密码保护的是访问入口传输本身全程 HTTPS 加密但密码不等于身份系统敏感操作仍建议在应用层做鉴权。 密码保护同样是 Pro 功能。TTL 详解让公网暴露自动过期TTLTime-To-Live是安全暴露的保险丝——隧道到点自动断开忘记关也不怕slim share --port 3000 --ttl 30m # 30 分钟后自动失效 slim share --port 3000 --ttl 2h # 两小时后自动失效免费版TTL 最长 1 小时Pro 版不设上限。到期后服务端会以特定关闭码断开连接客户端打印tunnel expired (TTL reached)后退出逻辑见 internal/tunnel/client.go 的readLoop。到期后 URL 立即失效必须重新执行 share 才能获得新地址。✅最佳实践只要是临时演示、联调、给客户预览永远建议带上--ttl把暴露窗口压到最短。隧道原理与安全边界30 秒版slim share通过 WebSocket 与隧道服务器保持长连接协议定义在 protocol/protocol.go服务端把 HTTP 请求包成帧推给客户端客户端转发到本地端口再把响应原路返回。两个值得了解的安全细节断线自动重连网络抖动时客户端按 1 秒起、指数退避至 30 秒上限自动重连每 20 秒发送一次心跳保活。本地服务宕机时的表现如果你本机的 3000 端口没起来访问者会看到一张 Slim 的 502 服务不可用 页面internal/tunnel/server_down.html而不是你的内网信息——内网 IP 和错误细节不会泄露给公网访客。免费版 vs Pro 版功能对照功能命令示例免费Pro随机子域名分享slim share --port 3000✅✅TTL 过期最长--ttl 1h✅不限时长自定义子域名--subdomain demo❌✅密码保护--password secret❌✅自定义域名--domain myapp.example.com❌✅⚠️ 小提示--subdomain和--domain不能同时使用两者都填会被直接拒绝。常见问题速查Q如何结束分享按CtrlC或关掉终端隧道立即断开URL 失效。Q分享期间换端口怎么办share 绑定的是启动时的端口改端口需重新执行命令会拿到新 URL。Q能同时分享多个端口吗可以每个slim share进程对应一条隧道、一个独立 URL开多个终端即可。Q如何确认我的公网地址没被人乱访问终端实时日志会打印每个请求的方法和状态码免费版可结合--ttl控制暴露时长。完整命令参考见 README.md 的 Internet Sharing 一节分享子命令的全部参数实现见 cmd/share.go隧道客户端的注册、重连与请求转发逻辑见 internal/tunnel/client.go。记住三个要点能带 TTL 就带 TTL、能加密码就加密码、子域名别碰品牌词你的本地开发服务器就能安心上线了 【免费下载链接】slimGive your localhost a local or public URL项目地址: https://gitcode.com/gh_mirrors/slim30/slim创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考