目的
網上搜索了不少tcp內網穿透的程式碼,功能全的大多是go版本,無奈對go不感冒。後來一直搜尋python的tcp內網穿透程式碼,版本很少,而且大多有各種缺陷,後來搜尋到shootback,執行比較穩定。但想加入更多功能,所以重新改造了程式碼,實現了更多功能。
功能介紹透過外網vps在任意地方訪問沒有公網獨立ip的電腦,樹莓派等等使內網網站能被公網訪問實現域名訪問內網指定網站給域名訪問的使用者進行簡單http授權驗證方便的在本地除錯支付介面 動態識別服務端配置,避免重啟程序 各種內網tcp暴露到公網,比如在手機上vnc登入家裡的樹莓派桌面。
配置說明服務端需要python3版本客戶端可以使用python2和3版本【如果python2使用有問題,請用python3啟動客戶端】服務端配置檔案config.json*server資料夾是公網伺服器使用的*slaver資料夾是內網伺服器使用的
特別說明伺服器配置為10秒檢測一次。如果tcp配置項需要修改,請先刪除目標配置項,等伺服器檢測刪除埠後,再新增配置項進去。如果是tcp新增或者刪除,則可以直接修改json配置。http的customer,to_master如果要修改,需要重新執行服務端配置。http的域名驗證,域名訪問可以隨時修改,隨時生效
tcp為域名配置master:公網伺服器提供給內網伺服器使用的埠customer:公網訪客透過這個介面可以訪問連線master的內網伺服器埠secretkey:內網伺服器連線master需要使用的金鑰
config.json{ "http":{ "to_master":"0.0.0.0:10001", "customer":"0.0.0.0:80", "host":[ { "domain":"pwd.yourdomain.com", "auth":{ "username":"cncn", "password":"1234" } }, { "domain":"nopwd.yourdomain.com" } ] }, "tcp":[ { "master":"0.0.0.0:10001", "customer":"0.0.0.0:10101", "secretkey":"pwd001" }, { "master":"0.0.0.0:10002", "customer":"0.0.0.0:10102", "secretkey":"pwd002" }] }
執行配置好伺服器config.json後 服務在進入server資料夾,執行
python3 server.py或者後臺執行nohup python3 server.py >log_server.log 2>&1 &
客戶端進入slaver資料夾,執行
python slaver.py -m 公網IP:埠 -t 內網IP:埠 -k 金鑰轉發80,http埠,需要在http配置中配置對應域名資訊python slaver.py -m 123.123.123.123:10001 -t 127.0.0.1:80 -k pwd001或者nohup python slaver.py -m 123.123.123.123:10001 -t 127.0.0.1:80 -k pwd001>log_10001.log 2>&1 &轉發22,ssh埠python slaver.py -m 123.123.123.123:10002 -t 127.0.0.1:22 -k pwd002或者nohup python slaver.py -m 123.123.123.123:10002 -t 127.0.0.1:22 -k pwd002>log_10002.log 2>&1 &
最新評論