最近调试 Webhook 需要公网地址,试用了各种内网穿透工具,总结了各个工具的使用方法。有些支持代理端口,有些只支持代理接口,大家按需选择。
Cloudflare Quick Tunnel
安装 cli
brew install cloudflared
winget install --id Cloudflare.cloudflared
启动隧道
cloudflared tunnel --url http://localhost:8080
smee
获取隧道地址
启动隧道
注意:将 https://smee.io/xxx 改为获取到的隧道地址
npx smee-client --url https://smee.io/xxx --path /integration/webhook/github --port 8080
Hookdeck CLI
登录
npx hookdeck-cli login
启动隧道
npx hookdeck-cli listen 8080 github --path /integration/webhook/github
ngrok
安装 cli
brew install ngrok/ngrok/ngrok
winget install ngrok -s msstore
写入 token
登陆后执行页面显示的命令,示例:
ngrok config add-authtoken XXX
启动隧道
ngrok http http://localhost:8080
dev tunnel
安装 cli
使用 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
Cloudflare Tunnel
启动隧道
- 进入
Networks-Tunnels - 点击 Create a tunnel
- 选择 Cloudflared
- 填写 Tunnel name
- 点击 Save tunnel
安装并运行 connector
- 执行页面显示的命令,示例:
brew install cloudflared &&
sudo cloudflared service install XXX
- 安装完成后点击 Next
配置路由
- 选择
Public Hostnames - 填写 Subdomain
- 选择 Domain
- 填写 Path
- 选择 Type
- 填写 URL,不要写 http:// 和 https://
- 点击 Save tunnel
- 测试路由能否正常访问