IoT 項目中常用到的開源內網穿透利器:nps,幾乎支持所有協議【30k+ Star】
nps 是一款輕量級、高性能且功能強大的內網穿透代理服務器。它支持 tcp 和 udp 流量轉發,這意味著它可以兼容幾乎所有基于這兩種協議的上層應用,例如訪問內網網站、進行本地支付接口調試、通過 ssh 遠程連接內網機器、使用遠程桌面功能,以及進行內網 dns 解析等操作。
除此之外,nps 還支持內網 http 代理、內網 socks5 代理以及 p2p 等多種功能,并且配備了功能強大的 web 管理端,使得用戶能夠更加便捷地對服務器進行管理和監控。
1.. 主要功能
(1) nps 的主要功能
① 多種代理模式 :nps 提供了豐富的代理模式,以滿足不同場景下的需求。例如,對于微信公眾號開發、小程序開發等需要域名代理的場景,可以使用域名代理模式;若想在外網通過 ssh 連接內網機器或進行云服務器到內網服務器端口映射,則可采用 tcp 代理模式;在非內網環境下使用內網 dns 或通過 udp 訪問內網機器時,有 udp 代理模式可供選擇;而在外網使用 http 代理訪問內網站點時,自然少不了 http 代理模式;此外,若想搭建一個內網穿透的 ss,在外網如同使用內網 vpn 一樣訪問內網資源或設備,socks5 代理模式則能輕松實現。
② 支持多種協議 :nps 可支持 tcp、udp 等多種協議,覆蓋了目前常見的網絡通信協議類型,確保了大多數基于這些協議的應用能夠在內外網之間順暢通信。無論是傳統的基于 tcp 的 Web 服務,還是基于 udp 的實時通信應用,都能借助 nps 實現內外網的互聯互通。
③ 強大的 web 管理端 :nps 配備了一個功能強大的 web 管理端,用戶可以通過瀏覽器直觀地進行各種管理操作。在這個管理界面中,用戶可以方便地添加、刪除、修改代理配置,實時查看服務器和客戶端的連接狀態,以及監控網絡流量等信息。這種可視化的管理方式大大降低了使用門檻,使得即使是非專業技術人員也能輕松上手,對內網穿透服務進行有效的管理和維護。
(2) nps 的應用場景
① 開發與調試 :在開發過程中,尤其是涉及到內網資源的開發場景,如微信公眾號和小程序開發,當需要將本地開發環境與外部服務進行交互時,nps 可以幫助開發者將本地服務器暴露到外網,使得外部的微信服務器等能夠訪問到本地的開發環境,從而方便地進行接口調試和功能測試,提高開發效率,加快項目進度。
② 遠程運維 :對于需要維護內網服務器的 IT 人員來說,nps 提供了極大的便利。通過 nps 的內網穿透功能,他們可以在外網環境下輕松通過 ssh 或遠程桌面協議連接到內網服務器,及時進行服務器的維護、配置更新、故障排查等工作,而無需繁瑣的內網穿透設備或復雜的網絡設置,節省時間和人力成本。
③資源共享與訪問 :在一些特定的場景下,如企業內部有特定的內網資源需要與外網用戶共享,或者特定用戶需要從外網訪問內網的特定服務,nps 可以作為一種有效的解決方案。例如,企業員工在外出差時,通過 nps 訪問內網的文件服務器、數據庫服務器等,實現數據的及時共享和協同工作,提高工作效率。
④ 物聯網場景 :在物聯網領域,nps 也有著廣泛的應用價值。許多物聯網設備部署在內網環境中,如智能家居設備、工業物聯網傳感器等。這些設備需要與外網的云平臺或其他設備進行通信,以便實現數據上傳、遠程控制等功能。nps 可以幫助這些物聯網設備突破內網的限制,實現與外網的穩定連接。例如,用戶可以通過 nps 在外網環境下遠程監控和控制家中的智能電器,查看設備狀態、發送控制指令等,實現智能化的家居管理。在工業物聯網中,工廠內的各類生產設備通常處于內網,通過 nps 可以將設備的運行數據實時傳輸到外網的監控中心,便于工程人員進行遠程監控和數據分析,及時發現設備故障并進行優化調整,提高生產效率和設備利用率。
2. 開源地址
開源地址:https://github.com/ehang-io/nps
文檔地址:https://ehang-io.github.io/nps