在后台运行时查看随机ngrok URL

Pte*_*aur 27 ngrok

当我启动一个ngrok客户端时,./ngrok tcp 22它在前台运行,我可以看到随机生成的转发URL,例如tcp://0.tcp.ngrok.io:12345 -> localhost:22.

如果我在其中运行背景./ngrok tcp &,我找不到任何方式来查看转发URL.如何在后台运行ngrok并仍然看到URL?

Abe*_*llo 39

有几种方法.

你可以:

A)访问localhost:4040/status以查看大量信息

2)使用curl命中API: localhost:4040/api/tunnels


小智 10

这个小Python(2.7)脚本将调用ngrok API并打印当前URL:

import json
import os 

os.system("curl  http://localhost:4040/api/tunnels > tunnels.json")

with open('tunnels.json') as data_file:    
    datajson = json.load(data_file)


msg = "ngrok URL's: \n'
for i in datajson['tunnels']:
  msg = msg + i['public_url'] +'\n'

print (msg)
Run Code Online (Sandbox Code Playgroud)


ava*_*chy 8

如果您想获得第一个隧道,那么jq将是您的朋友:

curl -s localhost:4040/api/tunnels | jq -r .tunnels[0].public_url
Run Code Online (Sandbox Code Playgroud)

当运行多个 ngrok 实例时,请使用隧道名称/api/tunnels/:name

  • @HenriqueBruno 为了可移植性,您可以使用双引号: `curl -s localhost:4040/api/tunnels | jq -r“.tunnels[0].public_url”` (2认同)

Hem*_*lli 5

运行 ./ngrok http & 这会将 ngrok 隧道作为后台进程运行。Ngrok 通常会打开一个窗口,显示指定的 URL,但由于我们使用的是 nohup 命令,因此该窗口不可见。

因此,然后运行curl http://127.0.0.1:4040/api/tunnels也可以看到ngrok分配的URL