一行命令把本地服务暴露到公网,localtunnel拿下22K Star
一行命令把本地服务暴露到公网,localtunnel拿下22K Star
写完代码想给别人看下效果,或者接入需要回调地址的第三方服务,每个开发者都遇到过。常规做法是部署到有公网 IP 的服务器上,配置域名、安装证书、配好 Nginx 反向代理,这套流程走下来至少半小时。
localtunnel 的作用就是把这个过程压缩成一条命令:把本机端口映射到一个公网地址上,别人通过那个地址就能访问你本机跑的服务。省掉了配路由器端口转发、买云服务器、折腾 DNS 解析这些步骤。

一条命令就能跑起来
使用门槛很低。本地装了 Node.js,一行命令就够:
npx localtunnel --port 8000
执行后终端会返回一个类似 https://xxxxx.localtunnel.me 的公网地址。把这个地址发给同事或客户,对方就能访问你本机 8000 端口上跑的服务。
如果想用一个固定的子域名,方便反复使用:
lt --port 8000 --subdomain myapp
只要 myapp 这个子域名没被别人占用,你的地址就是 https://myapp.localtunnel.me,比随机字符串好记。
端口号也可以通过环境变量传入,省去每次敲参数的麻烦:
PORT=3000 lt
终端里的本地服务重启后,localtunnel 会自动检测到并重新建立连接,隧道不会断。你在本地改代码、重启服务,外面的人无感知。
这几个场景下尤其顺手
前后端联调:后端在本地跑,前端需要对接真实接口。把本地后端通过 localtunnel 暴露出去,前端直接配公网地址就行,两个人不必在同一个网络环境里。
第三方回调:支付通知、OAuth 登录这类场景,第三方服务需要回调你的地址。开发阶段用 localtunnel 获取一个公网地址,跳过部署环节直接开始调试回调逻辑。
跨设备测试:电脑上开发网页,想在手机上看看实际效果。用 localtunnel 生成一个地址,手机浏览器直接打开,比 DevTools 的设备模拟更接近真实环境。
临时演示:要给客户或同事快速展示一个功能,不用走完整的发布部署流程,启动 localtunnel,发个链接过去,对方打开即看。
安装方式
除了用 npx 直接运行,也支持其他安装方式:
# 全局安装,之后能用 lt 简写命令
npm install -g localtunnel
# 作为项目开发依赖引入
yarn add localtunnel
# macOS 上可以用 Homebrew
brew install localtunnel
全局安装后直接用 lt 命令,比敲 localtunnel 少打不少字。
不仅限于命令行
localtunnel 提供了编程接口,适合写进自动化脚本或测试流程:
const localtunnel = require("localtunnel");
(async () => {
const tunnel = await localtunnel({ port: 3000 });
console.log(tunnel.url); // 生成的公网地址
tunnel.on("close", () => {
// 隧道关闭后的清理工作
});
})();
返回的 tunnel 实例可以监听 request、error、close 三种事件。request 事件会告诉你每次请求的方法和路径,方便做访问日志。
配置项也覆盖得很全:端口号、子域名、代理服务器地址、本地 HTTPS 隧道、自定义 TLS 证书等。日常会遇到的隧道场景都考虑到了。
架构与服务端
localtunnel 是客户端-服务端架构。官方维护了一个公共服务端,大多数场景直接连它就行。
如果对稳定性、延迟有更高要求,或者公司内部有合规需求,也可以自己在服务器上部署服务端。服务端代码同样开源,部署不复杂。
除了 Node.js 客户端,社区还贡献了 Go、Rust、C# 等语言的客户端实现,方便不同技术栈的团队使用。
小结
localtunnel 解决的是一个具体的问题:让本地运行的服务有一个公网可访问的地址。整个过程不需要部署、不需要配服务器和域名,一行命令就能搞定。
无论是开发调试、对接第三方 API 还是临时演示,这类场景下它都能省去大量时间。GitHub 上 22,275 个 Star 也说明,有同样需求的开发者不在少数。

景下它都能省去大量时间。GitHub 上 22,275 个 Star 也说明,有同样需求的开发者不在少数。
[外链图片转存中…(img-xE3LzmX7-1780486682899)]
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)