项目介绍
tunnelto 是一个开源的内网穿透工具,可以将你本地运行的服务(如 localhost:3000)通过一个公网 URL 暴露出去,方便远程访问和调试。简单来说,就是 ngrok 的免费开源替代品!
✨ ✨
核心优势:不用买服务器,一行命令让外网访问你的 localhost!
| 项目信息 | 详情 |
|---|---|
| GitHub 地址 | github.com/agrinman/tunnelto |
| 官方网站 | tunnelto.dev |
| Star 数量 | 5.6K+ |
| 开发语言 | Rust(高性能、单一二进制文件) |
| 开源协议 | MIT License(可商用) |
对比 ngrok
为什么选择 tunnelto 而不是 ngrok?看看对比就知道了:
| 功能 | tunnelto | ngrok (免费版) |
|---|---|---|
| 价格 | 完全免费 | $8-29/月 |
| 会话时长 | 无限制 | 2小时限制 |
| 带宽限制 | 无限制 | 有限制 |
| 拦截页面 | 无 | 有警告页面 |
| 开源 | MIT 开源 | 闭源 |
| 自托管 | 支持 | 企业版才支持 |
💡 💡
省钱小技巧:ngrok 付费版每年 $96-348,而 tunnelto 完全免费,一年能省下一台云服务器的钱!
核心功能
安装步骤
方式一:一键安装脚本(推荐)
bash
复制
curl -sL https://tunnelto.dev/install.sh | sh
方式二:Homebrew(macOS)
bash
复制
brew install tunnelto
方式三:Cargo(Rust 用户)
bash
复制
cargo install tunnelto
方式四:手动下载
从 GitHub Releases 下载对应系统的二进制文件:
- macOS:tunnelto-darwin-amd64 / tunnelto-darwin-arm64
- Linux:tunnelto-linux-amd64
- Windows:tunnelto-windows-amd64.exe
✅ ✅
安装完成后,运行 tunnelto –version 验证是否安装成功!
使用方法
1. 启动本地服务
首先确保你的本地服务已经在运行,比如:
bash
复制
# 示例:启动一个 Node.js 项目
npm run dev
# 假设运行在 localhost:3000
2. 创建隧道
bash
复制
# 将本地 3000 端口暴露到公网
tunnelto --port 3000
运行后会返回一个公网 URL,类似:
输出示例
https://abc123.tunnelto.dev -> localhost:3000
3. 自定义子域名
bash
复制
# 使用自定义子域名
tunnelto --port 3000 --subdomain myproject
# 访问:https://myproject.tunnelto.dev
4. 指定本地地址
bash
复制
# 如果本地服务不在 localhost
tunnelto --port 3000 --local-host 192.168.1.100
常用参数
| 参数 | 说明 | 示例 |
|---|---|---|
--port |
本地端口号 | --port 8080 |
--subdomain |
自定义子域名 | --subdomain demo |
--local-host |
本地服务地址 | --local-host 127.0.0.1 |
--key |
API Key(付费用户) | --key xxx |
自建服务端(高级用法)
如果你想完全掌控,可以自己搭建 tunnelto 服务端。
1. 克隆代码
bash
复制
git clone https://github.com/agrinman/tunnelto.git
cd tunnelto
2. 编译服务端
bash
复制
# 需要安装 Rust
cargo build --release --bin tunnelto_server
3. 配置域名
你需要:
- 一个域名(如 tunnel.yourdomain.com)
- 配置 DNS 泛解析:*.tunnel.yourdomain.com → 服务器 IP
- SSL 证书(推荐使用 Let’s Encrypt 通配符证书)
4. 启动服务端
bash
复制
./target/release/tunnelto_server
⚠️ ⚠️
注意:自建服务端需要一定的运维能力,普通用户直接使用官方服务即可!
常见问题
Q1: tunnelto 和 ngrok 哪个更稳定?
ngrok 作为商业产品,在稳定性和功能上确实更全面。但对于开发调试场景,tunnelto 完全够用,而且免费无限制!
Q2: 可以用于生产环境吗?
不建议!tunnelto 主要用于开发调试场景,生产环境建议使用正式的云服务或自建反向代理。
Q3: 速度怎么样?
tunnelto 使用 Rust 编写,性能很好。但实际速度取决于网络环境,国内用户可能需要自建服务端以获得更好的体验。
Q4: 支持 HTTPS 吗?
支持!tunnelto.dev 官方服务自动提供 HTTPS,自建服务端需要自行配置 SSL 证书。
Q5: 适合什么场景?
- ✅ 给客户/同事演示开发中的项目
- ✅ 调试 Webhook(微信、Stripe、GitHub 等)
- ✅ 手机 App 开发时连接本地后端
- ✅ 临时分享本地文件
- ❌ 不适合生产环境长期使用
Q6: 国内能用吗?
可以用,但官方服务器在国外,速度可能较慢。建议:
- 自建服务端部署在国内服务器
- 或使用国内类似工具(如 frp、nps)
本站收集的资源仅供内部学习、研究软件设计思想与原理使用。学习研究后请自觉删除,请勿添加内容资料中的联系方式,谨防受骗;请勿传播。因未及时删除或用于其他用途所造成的任何后果,均由使用者自行承担。感谢理解与配合!
若您认为「cmzhiku.com」发布的内容侵犯了您的合法权益,请联系站长邮箱:ksxwdyx@qq.com。我们将在核实后及时进行删除处理。
本站资源大多存储于云盘。如发现下载链接失效或资源异常,请及时联系我们,我们会第一时间核实并更新。


















