TCP Proxy ports.

09/19/2015 02:57 Mega Byte#1
A basic TCP port proxy can be used for nearly all TCP traffic? I dunno.
It was just an idea I had to help mitigate some ddos by having many servers and hiding the real ip of the server using this :) then we could monitor each one and filter or turn them off as needed etc.

Code:
var net = require('net');

function ProxyServer(localport, remoteip, remoteport) {
  if (remoteport === undefined) remoteport = localport;
  var server = net.createServer({
    allowHalfOpen: false,
    pauseOnConnect: false
  }, function connected(a) { //'connection' listener
    console.log('client connected '+localport);

    var b;

    a.on('end', function() {
      console.log('client disconnected '+localport);
    });


    var b = net.connect(remoteport, remoteip,
      function() { //'connect' listener
      console.log('connected to server '+remoteport);
      a.resume();
      a.pipe(b);
      b.pipe(a);
    });

    b.on('end', function() {
      console.log('disconnected from server '+remoteport);
      a.close();
    });
    
  });

  server.listen(localport, function() { //'listening' listener
    console.log('server bound '+localport);
  });

}

// Put your ports here
var ports = [****];
// Put your ip here
var serverip = '***.***.***.***';

var proxies = [];
for (var i=0;i<ports.length;i++) {
  var p = new ProxyServer(ports[i], serverip);
  proxies.push(p);
}

// TODO Clean exit.