Garciat
8/5/2016 - 8:20 AM

tcp-proxy.js

'use strict';

const net = require('net');

const LOCAL_PORT  = 7358;
const REMOTE_PORT = 7357;
const REMOTE_ADDR = 'localhost';
 
const server = net.createServer(function (clientSocket) {
    const serviceSocket = new net.Socket();

    serviceSocket.connect(parseInt(REMOTE_PORT), REMOTE_ADDR, function () {
        clientSocket.pipe(serviceSocket);
        serviceSocket.pipe(clientSocket);

        serviceSocket.on('data', function (data) {
            const parts = data.toString('binary').split(/\0/);

            if (parts.length < 1) return;

            if (parts[0] !== '1') return;

            process.stdout.write(parts.join(' : ') + '\n\n');
        });
    });
    
});
 
server.listen(LOCAL_PORT);