Skip to content

Instantly share code, notes, and snippets.

@CasperPas
Last active September 1, 2015 04:12
Show Gist options
  • Save CasperPas/ceb7643b94f996a471a6 to your computer and use it in GitHub Desktop.
Save CasperPas/ceb7643b94f996a471a6 to your computer and use it in GitHub Desktop.
Simple Node.JS port forwarding (proxy)

How to use

node proxy.js 8080 80
node proxy.js examples.com:80 localhost:8080
var net = require('net');
var addrRegex = /^(([a-zA-Z\-\.0-9]+):)?(\d+)$/;
var addr = {
from: addrRegex.exec(process.argv[2]),
to: addrRegex.exec(process.argv[3])
};
if (!addr.from || !addr.to) {
console.log('Usage: <from> <to>');
return;
}
net.createServer(function(from) {
var to = net.createConnection({
host: addr.to[2],
port: addr.to[3]
});
from.pipe(to);
to.pipe(from);
}).listen(addr.from[3], addr.from[2]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment