joyqi / Socket Pipe
Programming Languages
Projects that are alternatives of or similar to Socket Pipe
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-pipe
Usage
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 [email protected] -r [email protected] -t tcp
Udp 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 [email protected] -r [email protected] -t udp
Tcp 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 [email protected] -r [email protected] -t tclient
Server side (internet)
socket-pipe -l [email protected] -r [email protected] -t tserver
Http 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 [email protected] -r [email protected] -t hclient -x git.dev.com -s git
http2
socket-pipe -l [email protected] -r [email protected] -t hclient -x file.dev.com
http3
socket-pipe -l [email protected] -r [email protected] -t hclient -s wiki
Server side (internet)
socket-pipe -l [email protected] -r [email protected] -t hserver
There are two special params.
-
-x
means socket-pipe will transform:- The
Host
value in http request header. - The host part of 'Location' value in http response header.
- The
-
-s
means 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
.