mnh
v0.7.3
自述文件 | 中文文檔
!注意: mnh
目前正在開發中, APIs
和command line options
可能不向後相容!
mnh
是一個可以暴露 NAT 後面的連接埠的工具。
mnh
將為您的 NATed 伺服器產生一個ip:port
對,可用於公共存取。
--------------------------------
| Help Server (NOT behind NAT) | <------(query for ip:port pair)-------------
-------------------------------- |
^ |
| |
| ---------(Use some way to send ip:port pair)------------- |
| | | or |
| | ↓ |
------------------------ ~~~~~~~~~~~~ ----------
| Service (behind NAT) | <-------- { Internet } <---------- | Guests |
------------------------ ~~~~~~~~~~~~ ----------
您的伺服器的網路類型應該是 Full-cone NAT。
如果您不知道這意味著什麼,不用擔心,請繼續。
如果您的伺服器位於防火牆或家用路由器後面,您可能需要啟用 UPnP 或在路由器上對伺服器進行連接埠轉發,因為它們可能會阻止所有傳入流量。
請檢查 mnh_server。
目前僅支援
mnhv1
協議,將來會添加更多協議,例如 STUN。
Usage:
mnh {tcp|udp} --server <server> [flags]
Flags:
-s, --server string Help server address(Example: "server.com", "server.com:6641")
If only specify hostname, it will try SRV resolve.
If SRV failed, it will use default port(6641).
-i, --id string A unique id to identify your machine
-m, --mode string Run mode.
TCP support: demoWeb proxy (default "demoWeb")
UDP support: demoEcho proxy (default "demoEcho")
-p, --port int The local hole port which incoming traffics access to
-t, --service string Target service address. Only need in proxy mode (default "127.0.0.1:80")
-r, --routerForward A comma-split list which will be used sequentially to request router to do port forwarding (default: "upnp,notice")
upnp: UPnP protocol
notice: Will notice you to do port forwarding manually
none: Do port forwarding manually
-x, --event-hook Execute command when event triggered:
escape:
%%: percent sign
%e: Event: connecting fail success disconnected
%m: Error message
%p: Local hole port
%a: Hole addr
-h, --help help for mnh
例子:
運行Web伺服器進行測試:
./mnh tcp --server server.com --id test
執行 UDP Echo 伺服器進行測試:
./mnh udp --server server.com --id udpEcho --mode demoEcho
公開本地網路伺服器:
./mnh tcp --server server.com --id web --mode proxy --service 127.0.0.1:80
預設情況下, mnh
將嘗試請求路由器使用upnp
協定進行連接埠轉送。
如果失敗,會顯示一條notice
。
您可以透過 set --routerForward none
停用這兩個功能,確保您已正確設定連接埠轉送。 (請參閱預先請求)
./mnh tcp --server server.com --id web --mode proxy --service 127.0.0.1:80 --port 8888 --routerForward none