2

Minecraftサーバーのプロキシをコーディングしていますが、元のユーザーのIPアドレスを転送できるようにしたいと考えています。問題は、「プロキシ」を介して、プロキシのIPが表示されることです。これがプロキシの背後にある考え方であることは知っていますが、元の送信者のIPを保持し、それらを別のIPに転送したいと思います。

私の現在のコード;

var net = require('net');

var sourceport = 25555;
var destport = 25565;

function bufferTrim(buf, trm){
    var len = buf.length;
    return buf.slice(0, len-trm);
}

net.createServer(function(s)
{
    var buff = "";
    var connected = false;
    var cli = net.createConnection(destport);

    s.on('data', function(d) {
        var hex = d.toString('hex').substr(0,2);
        if (connected)
        {
            if (hex == "fe")
            {
                var sName = "Faker";
                var sMaxSlots = "8";
                var sUsedSlots = "0";
                s.write(bufferTrim(new Buffer(String.fromCharCode(0xFF).concat(String.fromCharCode(sName.length + sMaxSlots.length + sUsedSlots.length + 2)).concat(sName).concat(String.fromCharCode(0xA7)).concat(sUsedSlots).concat(String.fromCharCode(0xA7)).concat(sMaxSlots), 'ucs2'), 1));
            } else {
                cli.write(d);
            }
        } else {
            buff += d.toString();
        }
    });

    cli.on('connect', function() {
        connected = true;
        cli.write(buff);
    });
    cli.pipe(s);
}).listen(sourceport);
4

0 に答える 0