tunnelto 安装使用教程

免费开源的内网穿透工具,ngrok 最佳平替

⭐ 5.6K Star · MIT开源 · Rust编写

🚀 项目介绍

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 完全免费,一年能省下一台云服务器的钱!

核心功能

🌐

项目演示

给客户演示本地开发的项目,无需部署到服务器

🔗

Webhook 调试

接收 Stripe、微信等第三方 Webhook 回调

📱

移动开发

手机 App 测试时连接本地后端服务

🔒

安全可控

代码开源可审计,支持自建服务端

⚙️ 安装步骤

方式一:一键安装脚本(推荐)

bash
curl -sL https://tunnelto.dev/install.sh | sh

方式二:Homebrew(macOS)

bash
brew install tunnelto

方式三:Cargo(Rust 用户)

bash
cargo install tunnelto

方式四:手动下载

GitHub Releases 下载对应系统的二进制文件:

安装完成后,运行 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. 配置域名

你需要:

4. 启动服务端

bash
./target/release/tunnelto_server
⚠️

注意:自建服务端需要一定的运维能力,普通用户直接使用官方服务即可!

常见问题

Q1: tunnelto 和 ngrok 哪个更稳定?

ngrok 作为商业产品,在稳定性和功能上确实更全面。但对于开发调试场景,tunnelto 完全够用,而且免费无限制!

Q2: 可以用于生产环境吗?

不建议!tunnelto 主要用于开发调试场景,生产环境建议使用正式的云服务或自建反向代理。

Q3: 速度怎么样?

tunnelto 使用 Rust 编写,性能很好。但实际速度取决于网络环境,国内用户可能需要自建服务端以获得更好的体验。

Q4: 支持 HTTPS 吗?

支持!tunnelto.dev 官方服务自动提供 HTTPS,自建服务端需要自行配置 SSL 证书。

Q5: 适合什么场景?

Q6: 国内能用吗?

可以用,但官方服务器在国外,速度可能较慢。建议: