[点晴永久免费OA]tunnelto:一个用 Rust 写的免费内网穿透工具
当前位置:点晴教程→点晴OA办公管理信息系统
→『 经验分享&问题答疑 』
一个朋友前几天发消息问我,他在本地跑了一个小后台,postman 测通了,想让外地的同时帮忙看一下,结果搞了半天路由器、换了不知道几个端口转发,还是没搞成。最后放弃了,把代码传到了服务器上,才解决这个问题。 这种事情我相信屏幕前的你也遇到过。谁没碰上过这种事儿呢,本地跑个服务,想让外部访问一下,结果卡在网络配置上卡了半天。 今天聊的这个工具,就是来解决这个问题的。一行命令,把你的本地端口映射成一个公网 URL,别人直接就能访问。 这个工具叫 tunnelto,GitHub 上6000+star,地址我放公屏上了:https://github.com/agrinman/tunnelto 它是什么tunnelto 是一个用 Rust 写的内网穿透工具,核心功能就是一个,把你本地正在跑的服务,映射到一个公网可访问的 URL。 语法简单到离谱: 跑完这行命令,它会给你一个类似 用 Rust 写的,async-io,基于 tokio。速度怎么样,我不说,你跑一下就知道。 安装三种方式,看你用哪个顺手。 方式一:Homebrew(macOS / Linux) 方式二:cargo 方式三:直接下二进制 Releases 页面有编译好的各平台版本,macOS、Linux、Windows 都有,地址在这里:https://github.com/agrinman/tunnelto/releases[2] 基本上覆盖了所有主流场景,没有装 Rust 环境也不影响,直接下二进制跑就行。 核心参数-tunnelto 的参数不多,但每一个都挺实在的。 指定端口,这个最常用: 指定子域名,想让别人记住这个地址的时候用: 加 API 认证,防止别人随便蹭你的 tunnel: 还有一个 introspection dashboard 可以看请求日志,这个挺有意思的,可以实时看到有哪些请求过来了: HTTP 和 HTTPS 都支持,不过默认是 HTTP,如果你的本地服务是 HTTPS 的话,用 自建服务官方的 tunnelto.dev 是托管版本,人家在 fly.io 上跑着呢,是正经的分布式系统。 但如果你不想用他的服务,也可以自己搭。 官方提供了 Dockerfile,alpine 基础的,编译好的二进制扔进去就能跑。服务端和客户端是同一个二进制,只是启动方式不同。 服务端跑法: 客户端连自己的服务器: 官方的文档里也提到了,这个自建方案目前还不支持多实例负载均衡,如果连的服务器和你连的不在同一个实例上,那就用不了。如果你只是自己用或者小团队用,这个问题不大。 什么场景用我想了想,大概是这几个场景比较合适。 第一,微信/支付宝这类平台的回调调试。 这种平台只支持公网 URL 做支付回调,本地开发的时候你总不能每次都传到服务器上测吧。tunnelto 一跑,URL 往平台上一填,本地直接断点调试,省老命了。 第二,让外地同事或者客户看 Demo。 你本地跑着,人家在外地,不需要你给他开 VPN,也不需要你传代码,一行命令给个 URL,看就完了。 第三,调试 Webhook。 GitHub、Slack 各种平台的 Webhook,本地没有公网 URL 根本没法测。tunnelto 一跑,省心。 说实话,之前干这些事儿,要么是内网穿透复杂得要死,要么就是直接传到服务器上凑合。用 tunnelto 之后我觉得这个体验是真的舒服,一行命令解决的问题,不需要注册账号,不需要配置 token。 跟其他方案比怎么样内网穿透这块其实有几个老玩家了,ngrok、frp 这些都是。 ngrok 做得早,功能完整,但免费版限制挺多的,而且国内访问速度一般。frp 功能强大,配置灵活,但说实话配置文件写起来还是有点麻烦的。 tunnelto 的优势就是在「简单」这两个字上。一行命令搞定,不需要配置文件,不需要注册账号。 当然如果你要的是那种精细化的流量控制或者大规模部署,frp 更合适。但如果你只是想快速把本地服务暴露出去,tunnelto 足够了。 好了,这玩意儿就介绍到这里。 地址再放一次:https://github.com/agrinman/tunnelto 有需求的可以试试,一行命令的事情,门槛是真的低。 阅读原文:原文链接 该文章在 2026/4/9 18:34:42 编辑过 |
关键字查询
相关文章
正在查询... |