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);