Skip to content
Go back

内网穿透工具对比

Updated:
Edit

调试 Webhook、支付回调、第三方 OAuth 时,本地服务需要公网可访问地址。下面只收「能免费用」的工具(含免费档 / 开源自建),按「临时调试」和「长期固定域名」两类对比,并附启动命令。

工具对比

工具类型免费固定域名侧重场景代理方式亮点注意
Cloudflare Quick TunnelCLI随机子域通用 HTTP整端口免账号、稳定、HTTPS每次 URL 会变
PinggySSH / CLI有免费档随机子域通用HTTP / TCP / UDP一条 SSH、免装客户端免费档约 60 分钟超时
localhost.runSSH随机子域通用 HTTP整端口免装、免注册免费域名会轮换
smeeCLI / 网页固定隧道 URLGitHub Webhook指定 path专为 Webhook 设计只转发 HTTP,非通用隧道
Hookdeck CLICLI有免费档Webhook指定 path事件重放、过滤、日志需登录,偏 Webhook 平台
ngrokCLI有免费档随机 / 付费固定通用HTTP / TCP老牌、文档全、生态大免费随机子域,固定域名付费
dev tunnelCLI可配置通用整端口微软出品,GitHub 登录brew 版本可能过旧,用官方脚本
Localtunnelnpx随机子域通用整端口零安装首次访问需隧道密码
Tailscale FunnelCLI有免费档*.ts.net已用 Tailscale整端口一条命令公网暴露需先装 Tailscale 并开 Funnel
zrokCLI / 自建有免费档 / 开源随机 / 自建公有 + 私有分享HTTP / TCP / UDPOpenZiti 零信任;可只对指定人分享托管有流量限额;自建成本高
LocalXposeCLI / GUI有免费档随机子域通用 HTTPHTTP(付费才有 TCP/UDP)有 GUI、上手快免费档 2 条 HTTP 隧道 + 插页提示
boreCLI / 自建开源免费随机端口轻量 TCPTCP极简、可自建 bore server公网实例 bore.pub;无内置 HTTPS
VS Code / Cursor Ports编辑器随 IDE 免费会话级编辑器内调试整端口不用另开终端偏临时;Public 依赖登录
frp自建开源免费自有域 / 端口自建长期HTTP / TCP / UDP国内常用、协议全需要一台有公网 IP 的机器
Cloudflare Tunnel面板 + 守护进程自定义子域生产 / 长期完整路由固定域名、可绑自有域配置步骤多,适合长期用

推荐


Cloudflare Quick Tunnel

官方文档

安装:

brew install cloudflared
winget install --id Cloudflare.cloudflared

启动(将 8080 换成本地端口):

cloudflared tunnel --url http://localhost:8080

Pinggy

官网 / 文档 — 免装客户端,系统自带 SSH 即可。

ssh -p 443 -R0:localhost:8080 free.pinggy.io

免费档约 60 分钟超时,重连后 URL 会变。Windows 若连不上本机,把 localhost 换成 127.0.0.1


localhost.run

官网 — 同样零安装;免费档可用 nokey 跳过密钥。

ssh -R 80:localhost:8080 [email protected]

免费域名会轮换;要更稳的会话可用 SSH key(见官方 FAQ)。


smee

smee.io获取隧道地址 后转发到本地 path。

# 将 URL 换成 https://smee.io/new 生成的地址
npx smee-client --url https://smee.io/xxx --path /integration/webhook/github --port 8080

Hookdeck CLI

GitHub

npx hookdeck-cli login
npx hookdeck-cli listen 8080 github --path /integration/webhook/github

ngrok

控制台

安装:

brew install ngrok/ngrok/ngrok
winget install ngrok -s msstore

写入 token(登录后页面会给出命令):

ngrok config add-authtoken XXX

启动:

ngrok http http://localhost:8080

dev tunnel

官方入门

安装(brew 版本可能过旧,推荐官方脚本):

curl -sL https://aka.ms/DevTunnelCliInstall | bash

登录(-g 为 GitHub,否则微软账号):

devtunnel user login -g

启动:

devtunnel host -p 8080

Localtunnel

官网

npx localtunnel --port 8000

首次访问页面会要求隧道密码,二选一获取:

curl https://loca.lt/mytunnelpassword
wget -q -O - https://loca.lt/mytunnelpassword

Tailscale Funnel

官方文档 — 个人档可用;需已安装并登录 Tailscale,首次会引导开启 Funnel / HTTPS。

tailscale funnel 8080

公网地址形如 https://<device>.<tailnet>.ts.net


zrok

官网 / GitHub — 托管有免费档(有日流量限额);也可 Apache-2.0 自建。

# 安装见 https://docs.zrok.io/docs/guides/install/
zrok invite
zrok enable   # 按邮件 / 控制台给出的 token 启用本机环境
zrok share public localhost:8080

只要给同事用、不要公网 URL:用 private share(对方也装 zrok,用 token 接入)。


LocalXpose

官网 / 定价 — 免费档可用,限 2 条 HTTP/HTTPS;TCP/UDP 要付费。

# 从官网下载 CLI 后
loclx account login
loclx tunnel http --port 8080

也提供 GUI 客户端。免费访问常带插页提示页。


bore

GitHub — MIT;可走公共 bore.pub,也可自建。

brew install bore-cli
# 或:cargo install bore-cli

bore local 8080 --to bore.pub

输出形如 bore.pub:<随机端口>。自建服务端:bore server(建议加 --secret)。只做 TCP 转发,HTTPS 需自己在应用层处理。


VS Code / Cursor Ports

编辑器自带,不另装产品。适合「已经开着 IDE」时的临时暴露。

  1. 终端跑起本地服务(如 8080)。
  2. 打开 Ports 面板 → Forward a Port → 填 8080
  3. 右键该端口,Visibility 设为 Public(通常需登录微软 / GitHub 账号;底层接近 Dev Tunnels)。

关编辑器或结束转发后地址即失效,不适合长期挂公网。


frp(自建)

GitHub — 开源免费,但要有一台公网可达的服务器。服务端 / 客户端从 Releases 下载对应平台包。

服务端 frps.toml(跑在 VPS):

bindPort = 7000
./frps -c frps.toml

客户端 frpc.toml(跑在本机,把 x.x.x.x 换成 VPS IP):

serverAddr = "x.x.x.x"
serverPort = 7000

[[proxies]]
name = "web"
type = "tcp"
localIP = "127.0.0.1"
localPort = 8080
remotePort = 8080
./frpc -c frpc.toml

之后通过 http://x.x.x.x:8080 访问本地服务。生产环境务必配 auth.token,并注意防火墙放行 7000 / 8080


Cloudflare Tunnel(固定域名)

Cloudflare One 面板 — 适合需要稳定公网域名的场景。

  1. NetworksTunnels → Create a tunnel → 选 Cloudflared,填写名称并保存。
  2. 按页面提示安装 connector,示例:
brew install cloudflared &&
sudo cloudflared service install XXX
  1. Public Hostnames 里配置 Subdomain、Domain、Path、Type、后端 URL(不要写 http:// / https:// 前缀)。
  2. 保存后测试路由是否可达。

Edit
Share this post on:

Next Post
Webhook 项目对比