7200 Star!開源免費的內網穿透工具

來源:開源前哨

【導語】:inlets 是一個基於 WebSocket 隧道實現的內網穿透工具,可以將本地服務暴露到公網。

簡介

inlets 利用反向代理和 Websocket 隧道,將內部或開發中的服務通過出口節點暴露到公網。出口節點可以是一個 VPS,也可以是任何帶有公網 IPv4 的電腦。

類似的工具還有 Ngrok、Argo Tunnel 等,但這兩者都是閉源的,有其本身的限制,價格不菲,以及對 arm/arm64 的支持有限。Ngrok 還經常會被公司防火牆策略攔截而導致無法使用。而其它開源的隧道工具,基本只考慮到靜態地配置單個隧道。inlets 旨在動態地發現本地服務,通過 Websocket 隧道將它們暴露到公網 IP 或域名,並自動化配置 TLS 證書。

inlets 已完成以下功能:

項目地址:

https://github.com/inlets/inlets

簡單使用

詳細的安裝部署步驟參考官網,小秋這裏簡單介紹一下上手安裝的步驟(也是參考官網的操作),省去了 token 的生成。

安裝 inlets 服務

官網推薦使用 brew 或 curl 安裝:

# 安裝到當前目錄
curl -sLS https://get.inlets.dev | sh

# 安裝到 /usr/local/bin/
curl -sLS https://get.inlets.dev | sudo sh
# 使用brew安裝
brew install inlets

小秋在 windows 上使用,直接下載 inlets.exe 文件並在命令行中執行,下載地址爲:

https://github.com/inlets/inlets/releases

啓動隧道服務端

這一步需要在有公網 IP 的機器上操作,以達到將內網服務映射出網的目的。(小秋沒有這樣的服務器,直接在本機安裝,無法映射出公網,但是也能完成代理映射的過程,而過程都是一樣的。)

下載了 inlets.exe,放到 F 盤下,執行命令啓動:

/f/inlets/inlets.exe server --port=8090

如下圖:

運行 HTTP 服務

使用 Python 內置的 HTTP 服務做測試:

mkdir inlets-test
cd /inlets-test
touch hello-world
python -m http.server 3000

如下圖:

訪問 localhost:3000

啓動 inlets 客戶端

在和 HTTP 服務同一臺機器上啓動 inlets 客戶端,執行以下命令:

/f/inlets/inlets.exe client --remote=192.168.244.1:8090 --upstream=http://127.0.0.1:3000

如下圖:

訪問出口節點:

其他

以上可以說是 inlets 最基本也最常用的功能,inlets 還有更多高級功能,感興趣的童鞋可以試試:

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/CaN9JnV5hn5vU8ou94f5GA