使用node.js服务器欺骗IP?

时间:2013-02-14 19:55:12

标签: javascript node.js

我正在为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);

0 个答案:

没有答案