socket-pipe
v2.4.5
Published
Socket Pipe
Readme
Socket Pipe
Socket Pipe can forward your socket from one address to anoter without any configs. It supports both tcp and udp, you can simplely make a software net-bridge.
Install
npm install -g socket-pipeUsage
Tcp socket forwarding
The following example shows how to map a remote address (ip=192.168.1.100 port=80) to a local address (ip=127.0.0.1 port=80) via tcp tunnel.
socket-pipe -l 127.0.0.1@80 -r 192.168.1.100@80 -t tcpUdp socket forwarding
The following example shows how to map a remote address (ip=8.8.8.8 port=53) to a local address (ip=127.0.0.1 port=53) via udp tunnel.
socket-pipe -l 127.0.0.1@53 -r 8.8.8.8@53 -t udpTcp reverse tunnel
The following example shows how to map a server from LAN (ip=192.168.1.100 port=80) to internet (ip=123.123.123.123 port=80).
Client side (LAN)
socket-pipe -l 192.168.1.100@80 -r 123.123.123.123@10080 -t tclientServer side (internet)
socket-pipe -l 123.123.123.123@10080 -r 123.123.123.123@80 -t tserverHttp reverse tunnel
The following example shows how to map multi http servers from LAN (ip=[192.168.1.100 - 192.168.1.102] port=80) to internet (ip=123.123.123.123 port=80).
Client side (LAN)
http1
socket-pipe -l 192.168.1.100@80 -r 123.123.123.123@10080 -t hclient -x git.dev.com -s githttp2
socket-pipe -l 192.168.1.101@80 -r 123.123.123.123@10080 -t hclient -x file.dev.comhttp3
socket-pipe -l 192.168.1.102@80 -r 123.123.123.123@10080 -t hclient -s wikiServer side (internet)
socket-pipe -l 123.123.123.123@10080 -r 123.123.123.123@80 -t hserverThere are two special params.
-xmeans socket-pipe will transform:- The
Hostvalue in http request header. - The host part of 'Location' value in http response header.
- The
-smeans specify a domain prefix. The server side will create a random prefix without specifying.
Now you can visit different backend http server in a LAN from a portal on internet.
For example if domain *.test.com is pointing to 123.123.123.123, the visits to http://git.test.com/ will be forwarded to http://192.168.1.100/ with host git.dev.com because of the domain prefix git.
