ngrok 是一個反向代理,通過在公共的端點和本地運行的 Web (或 TCP) 伺服器之間建立一個安全的通道。他很方便的使您的網站或 TCP Server 可以不經過複雜的設定,即透過網際網路瀏覽,並且可以為您的網頁伺服器提供 https 服務。雖然有連線頻寬與連線數量的限制(每個帳戶只能一個連線),但對於一般測試用途已足夠使用,唯一比較麻煩的是每次連線時,連接的網址都會改變,還好 ngrok 提供 API 可供查詢,您只要申請 API Key ,就可以利用 List Endpoints 查詢連接的網址。然而要另外寫 API 畢竟不是那麼容易,因此元米科技利用現有資源直接幫您查詢,您只要將以下網址 https://ngrok.hmi.tw/{API_KEY} 的 {API_KEY} 以申請的 API Key (注意不是 ID 喔!)取代,就可以查詢目前的 TCP 或 https(:443) 連接端點 (Endpoints),或是 https://ngrok.hmi.tw/{API_KEY}.html (同樣將 {API_KEY} 以申請的 API Key 取代) 就可以跳轉到您的網頁了,是不是很方便呢?
說明:
1. 元米科技 https://ngrok.hmi.tw List Endpoints API 查詢服務不會記錄您的 API KEY,同時不會以該 KEY 作其他用途
2. https://ngrok.hmi.tw/{API_KEY}.html 會包含您的 API KEY,因此建議僅供個人使用,不要提供給其他使用者,但可以提供 https://ngrok.hmi.tw/{API_KEY}.html 跳轉後的網址,這就不會包含 API KEY 了
3. 免費版的 ngrok 撥接後調轉連接的端點(網址)不會改變,但斷開重新撥接則可能會改變
4. 如果有 API KEY 流出的疑慮,您可以移除後新增 API KEY ,這樣並不會改變連接的端點(網址)
5. 申請 ngrok 免費服務 https://dashboard.ngrok.com/
6. 申請 ngrok API KEY https://dashboard.ngrok.com/api,關於 API 的說明 https://ngrok.com/docs/api#api-api-keys 
7. https://ngrok.hmi.tw/{API_KEY} 範例 https://ngrok.hmi.tw/2BF1T8yn99CnlDPlygFyZkqMHPn_87hzXc8FYiPwVyDHYr4Cy (範例僅供參考,實際 API KEY 已失效)
8. https://ngrok.hmi.tw/{API_KEY}.html 範例 https://ngrok.hmi.tw/2BF1T8yn99CnlDPlygFyZkqMHPn_87hzXc8FYiPwVyDHYr4Cy.html (範例僅供參考,實際 API KEY 已失效)
9. 使用 ngrok 教學請搜尋 https://www.google.com/search?q=ngrok+%E7%B6%B2%E7%AB%99
10. https://ngrok.hmi.tw/{API_KEY} 效果以 python 實作為(範例僅供參考,實際 API KEY 已失效)
import requests
import json
r=requests.get("https://api.ngrok.com/endpoints", headers = {"Authorization" : "Bearer 2BF1T8yn99CnlDPlygFyZkqMHPn_87hzXc8FYiPwVyDHYr4Cy" , "Ngrok-Version" : "2"})
for tt in r.json()['endpoints']:
   print(tt['hostport'])