文章目录tunnelto把本地服务暴露到公网一行命令搞定能干什么用起来有多简单和同类工具的差别自己部署的注意事项适合谁用tunnelto把本地服务暴露到公网一行命令搞定做后端开发的人多多少少都遇到过这个场景本地起了个服务想让外面的服务器或者同事访问一下结果发现没法直接连。内网穿透这个需求说大不大说小不小但每次都让人头疼。tunnelto 是一个用 Rust 写的开源工具专门解决这个问题。GitHub 上 6700 多个 Star不算特别爆但在同类工具里口碑不错。能干什么一句话说清楚把本地运行的 Web 服务通过一个公网 URL 暴露出去。比如你本地跑了个 8000 端口的服务执行一条命令就能拿到一个公网可访问的地址。外部请求通过这个地址进来自动转发到你的本地端口。典型使用场景调试 Webhook。第三方平台的回调地址只能填公网 URL有了 tunnelto直接填分配给你的域名就行。给客户演示。不用部署到服务器本地跑着就能让人看。前后端联调。后端在本地起服务前端直接通过公网地址调接口。测试 API。手机、其他机器、外部系统都能直接访问你本地的接口。用起来有多简单安装方式有三种覆盖主流平台macOS 用户直接 brew 安装。Rust 开发者用 cargo 装。其他系统去 GitHub Releases 页面下载对应版本的二进制文件。装好之后一条命令启动指定本地端口tunnelto 自动分配一个公网子域名访问这个域名的请求全部转发到你的本地服务。整个过程不需要注册账号不需要配置文件开箱即用。如果你需要固定子域名可以用-s参数指定。需要认证的话支持 API Key 机制。和同类工具的差别市面上类似的工具有 ngrok、Cloudflare Tunnel、frp 等。tunnelto 的特点在于轻量。整个项目用 Rust 写的编译出来就一个二进制文件没有运行时依赖。基于 tokio 的异步 IO连接处理效率高。开源。代码全部公开MIT 协议。不满意官方服务或者有隐私顾虑可以自己搭服务器。官方文档里给了 Docker 部署方案照着做就行。简单。命令行参数少上手快。不需要注册不需要登录不需要配置文件。自己部署的注意事项tunnelto 支持自托管但有一些限制需要知道。当前版本不支持多实例协调。意思是如果你部署了多个服务器实例客户端必须连到和远程 TCP 流相同的那台机器上否则会出问题。单实例部署没问题但想做高可用的多节点架构需要等官方后续支持。官方托管的版本跑在 fly.io 上用了它的私有网络功能做分布式协调体验会好一些。如果你只是个人开发或者小团队用自托管单实例完全够用。适合谁用本地开发调试频繁需要公网访问的开发者用 tunnelto 能省不少事。特别是做 Webhook 集成、API 开发的场景几乎每天都有这个需求。不需要装一堆依赖不需要折腾配置一条命令解决问题。这就是一个务实的工具6700 多个 Star 说明它确实解决了一批人的实际问题。不需要折腾配置一条命令解决问题。这就是一个务实的工具6700 多个 Star 说明它确实解决了一批人的实际问题。