Advertisement
Guest User

Untitled

a guest
Feb 5th, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.11 KB | None | 0 0
  1. var net = require('net'),
  2. socks = require('./socks.js'),
  3. info = console.log.bind(console);
  4.  
  5. var bpsocket;
  6. var clientsckt;
  7. var handshake
  8. var serverrr
  9. var porttt
  10. var mc = require('minecraft-protocol')
  11.  
  12. var servera = net.createServer(function(sckt) {
  13. mc.ping({
  14. host: serverrr,
  15. port: porttt
  16. },function() {
  17. var check = 0;
  18. setTimeout(function() {
  19. check = 1;
  20. }, 300);
  21. var client = new net.Socket();
  22. client.connect(porttt, serverrr, function() {})
  23. clientsckt = client
  24. client.on('data', function(data) {
  25. if(check == 0) {
  26. bpsocket.write(data)
  27. }
  28. sckt.write(data)
  29. });
  30. sckt.on('data', function(data) {
  31. if(check == 0 && data[2] == 47) {
  32. data = handshake
  33. }
  34. client.write(data)
  35. });
  36. })
  37.  
  38. }).listen(100);
  39.  
  40. var HOST='127.0.0.1',
  41. PORT='8082',
  42. server = socks.createServer(function(socket, port, address, proxy_ready) {
  43. mc.ping({
  44. host: address,
  45. port: port
  46. },console.log)
  47. var proxy = net.createConnection({port:port, host:address,localAddress:process.argv[2]||undefined}, proxy_ready);
  48. var localAddress,localPort;
  49. proxy.on('connect', function(){
  50. info('%s:%d <== %s:%d ==> %s:%d',socket.remoteAddress,socket.remotePort,
  51. proxy.localAddress,proxy.localPort,proxy.remoteAddress,proxy.remotePort);
  52. localAddress=proxy.localAddress;
  53. localPort=proxy.localPort;
  54. serverrr = proxy.remoteAddress;
  55. porttt = proxy.remotePort
  56. }.bind(this));
  57. proxy.on('data', function(d) {
  58. try {
  59. } catch(err) {
  60. }
  61. });
  62. socket.on('data', function(d) {
  63. try {
  64. bpsocket = socket
  65. if(d[2] == 47) {
  66. console.log("MAMY TO")
  67. handshake = d
  68. }
  69. if(d.toString().search("PrList") != -1 || d.toString().toLowerCase().search("epack") != -1 || d.toString().toLowerCase().search("cpack") != -1 || d.toString().toLowerCase().search("auth") != -1) {
  70. clientsckt.write(d)
  71. }
  72. } catch(err) {
  73. }
  74. });
  75.  
  76. proxy.on('error', function(err){
  77. });
  78. proxy.on('close', function(had_error) {
  79. try {
  80. if(localAddress && localPort)
  81. console.log('connected');
  82. else
  83. console.error('error');
  84. socket.end();
  85. } catch (err) {
  86. }
  87. }.bind(this));
  88.  
  89. socket.on('error', function(err){
  90. });
  91. socket.on('close', function(had_error) {
  92. try {
  93. if (this.proxy !== undefined) {
  94. proxy.removeAllListeners('data');
  95. proxy.end();
  96. }
  97. } catch (err) {
  98. }
  99. }.bind(this));
  100.  
  101. }, process.argv[3]&&process.argv[4]&&{username:process.argv[3],password:process.argv[4]});
  102.  
  103. server.on('error', function (e) {
  104. console.error('SERVER ERROR: %j', e);
  105. if (e.code == 'EADDRINUSE') {
  106. console.log('Address in use, retrying in 10 seconds...');
  107. setTimeout(function () {
  108. console.log('Reconnecting to %s:%s', HOST, PORT);
  109. server.close();
  110. server.listen(PORT, HOST);
  111. }, 10000);
  112. }
  113. });
  114. server.listen(PORT, HOST);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement