ngrok检索分配的子域

时间:2016-09-13 13:34:09

标签: node.js ngrok

我有一个NodeJS脚本,它会旋转一个ngrok实例,启动ngrok二进制文件。

但是我需要能够返回自动生成的网址。我在文档中找不到有关如何执行此操作的任何内容。

例如,当您运行ngrok http 80时,它会旋转,每次启动时都会生成一个随机的唯一网址

enter image description here

2 个答案:

答案 0 :(得分:3)

ngrok在/api/tunnels提供隧道信息。所以你可以这样得到它:

json=$(curl -s http://127.0.0.1:4040/api/tunnels);
node -pe "var data = $json; data.tunnels[0].public_uri"

=> https://719c933a.ap.ngrok.io

答案 1 :(得分:2)

这个问题有点老了,但是,我想提供一个更通用的选项,因为它不需要NodeJS

curl --silent --show-error http://127.0.0.1:4040/api/tunnels | sed -nE 's/.*public_url":"https:..([^"]*).*/\1/p'

这只是检查通过对结果文本进行文本处理(api/tunnels)来调用sed的响应,并标识公共URL。