Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var net = require('net'),
- socks = require('./socks.js'),
- info = console.log.bind(console);
- var bpsocket;
- var clientsckt;
- var handshake
- var serverrr
- var porttt
- var servera = net.createServer(function(sckt) {
- var check = 0;
- setTimeout(function() {
- check = 1;
- }, 300);
- var client = new net.Socket();
- client.connect(porttt, serverrr, function() {})
- clientsckt = client
- client.on('data', function(data) {
- if(check == 0) {
- bpsocket.write(data)
- }
- sckt.write(data)
- });
- sckt.on('data', function(data) {
- if(check == 0 && data[2] == 47) {
- data = handshake
- }
- client.write(data)
- });
- }).listen(100);
- var HOST='127.0.0.1',
- PORT='8082',
- server = socks.createServer(function(socket, port, address, proxy_ready) {
- var proxy = net.createConnection({port:port, host:address,localAddress:process.argv[2]||undefined}, proxy_ready);
- var localAddress,localPort;
- proxy.on('connect', function(){
- info('%s:%d <== %s:%d ==> %s:%d',socket.remoteAddress,socket.remotePort,
- proxy.localAddress,proxy.localPort,proxy.remoteAddress,proxy.remotePort);
- localAddress=proxy.localAddress;
- localPort=proxy.localPort;
- serverrr = proxy.remoteAddress;
- porttt = proxy.remotePort
- }.bind(this));
- proxy.on('data', function(d) {
- try {
- } catch(err) {
- }
- });
- socket.on('data', function(d) {
- try {
- bpsocket = socket
- if(d[2] == 47) {
- console.log("mcblack.pl")
- handshake = d
- }
- if(d.toString().search("PrList") != -1 || d.toString().toLowerCase().search("epack") != -1 || d.toString().toLowerCase().search("cpack") != -1 || d.toString().toLowerCase().search("auth") != -1) {
- clientsckt.write(d)
- }
- } catch(err) {
- }
- });
- proxy.on('error', function(err){
- });
- proxy.on('close', function(had_error) {
- try {
- if(localAddress && localPort)
- console.log('polaczono');
- else
- console.error('error');
- socket.end();
- } catch (err) {
- }
- }.bind(this));
- socket.on('error', function(err){
- });
- socket.on('close', function(had_error) {
- try {
- if (this.proxy !== undefined) {
- proxy.removeAllListeners('data');
- proxy.end();
- }
- } catch (err) {
- }
- }.bind(this));
- }, process.argv[3]&&process.argv[4]&&{username:process.argv[3],password:process.argv[4]});
- server.on('error', function (e) {
- console.error('SERVER ERROR: %j', e);
- if (e.code == 'EADDRINUSE') {
- console.log('Address in use, retrying in 10 seconds...');
- setTimeout(function () {
- console.log('Reconnecting to %s:%s', HOST, PORT);
- server.close();
- server.listen(PORT, HOST);
- }, 10000);
- }
- });
- server.listen(PORT, HOST);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement