node-tcp-proxy
A simple TCP proxy that may be used to access a service on another network. An extensible replacement for socat when used thus
socat TCP-LISTEN:port1,fork TCP:host:port2
port1
is where socat listens for incoming requests. host
and port2
are the host and port where the actual service is listening at.
To achieve the same with node-tcp-proxy
node tcpproxy.js --proxyPort port1 [--hostname [IP]] --serviceHost host --servicePort port2 [--q]
Optionally, hostname
specifies the IP address to listen at. Node.js listens on unspecified IPv6 address ::
by default.
npm
Install node-tcp-proxy from npm, thus
sudo npm install -g node-tcp-proxy
Programming Interface
To create a proxy in your own code
var proxy = require("node-tcp-proxy");
var newProxy = proxy.createProxy(8080, "hostname", 10080);
To end the proxy
newProxy.end();
hostname
can be provided through an optional fourth parameter e.g. {hostname: 0.0.0.0}
to createProxy
. Console output may be silenced by using quiet: true
e.g. {hostname: 0.0.0.0, quiet: true}
.