// ==UserScript== // @name NeyBots|Released AGARZ Bots // @namespace www.NeyBots.ga // @version 1 // @description Agarz.com Bots // @author FreeTzYT // @require https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.4.5/socket.io.min.js // @match *.agarz.com/* // @run-at document-body // @grant none // @downloadURL none // ==/UserScript== // ==/UserScript== /* jshint -W097 */ 'use strict'; var url = null; var injectionHTML = ''; injectionHTML += `PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2IoNzcsIDc3LCA3Nyk7IHBhZGRpbmc6MnB4OyBmbG9hdDpsZWZ0OyBjb2xvcjp3aGl0ZTsgcG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6LTFweDsgdG9wOi0xcHg7IGJvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjUpOyB6LWluZGV4IDogOTk5OyI+IDxpbWcgc3JjPSJodHRwczovL2kuaW1ndXIuY29tL2Y0V1ZCR2gucG5nIiBzdHlsZT0iaGVpZ2h0OjMzcHg7IHdpZHRoOjE4OHB4OyBmbG9hdDpsZWZ0OyI+PGRpdiBzdHlsZT0iY3Vyc29yOmRlZmF1bHQ7IGZsb2F0OmxlZnQ7IG1hcmdpbi1sZWZ0OjEycHg7IiBpZD0ibXNnIj4gPGRpdiBzdHlsZT0iCWZsb2F0OmxlZnQ7IG1hcmdpbi1sZWZ0OjZweDsgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyk7IHBhZGRpbmc6N3B4OyBib3JkZXItcmFkaXVzOjVweDsgLW1vei1ib3JkZXItcmFkaXVzOjVweDsgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjVweDsiIGlkPSJtc2d0eHQiPlRoYW5rcyBGb3IgVXNpbmcgTmV5Qm90cy5nYTwvZGl2PiA8L2Rpdj4gPGRpdiBzdHlsZT0iY3Vyc29yOmRlZmF1bHQ7IGZsb2F0OmxlZnQ7IG1hcmdpbi1sZWZ0OjEycHg7IiBpZD0iaG90a2V5cyI+IDxkaXYgaWQ9InNwbGl0Ym90cyIgc3R5bGU9IglmbG9hdDpsZWZ0OyBtYXJnaW4tbGVmdDo2cHg7IGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpOyBwYWRkaW5nOjdweDsgYm9yZGVyLXJhZGl1czo1cHg7IC1tb3otYm9yZGVyLXJhZGl1czo1cHg7IC13ZWJraXQtYm9yZGVyLXJhZGl1czo1cHg7Ij48ZGl2IHN0eWxlPSIJZmxvYXQ6bGVmdDsgYm9yZGVyLXJhZGl1czozcHg7IHBhZGRpbmc6MnB4IDZweDsgYmFja2dyb3VuZC1jb2xvcjojYzczNTM1OyIgPlg8L2Rpdj48ZGl2IHN0eWxlPSIJZmxvYXQ6bGVmdDsgcGFkZGluZzoycHg7IG1hcmdpbi1sZWZ0OjVweDsiPlNwbGl0PC9kaXY+PC9kaXY+IDxkaXYgaWQ9ImVqZWN0Ym90cyIgc3R5bGU9IiBmbG9hdDpsZWZ0OyBtYXJnaW4tbGVmdDo2cHg7IGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpOyBwYWRkaW5nOjdweDsgYm9yZGVyLXJhZGl1czo1cHg7IC1tb3otYm9yZGVyLXJhZGl1czo1cHg7IC13ZWJraXQtYm9yZGVyLXJhZGl1czo1cHg7Ij48ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyBib3JkZXItcmFkaXVzOjNweDsgcGFkZGluZzoycHggNnB4OyBiYWNrZ3JvdW5kLWNvbG9yOiNjNzM1MzU7Ij5DPC9kaXY+PGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgcGFkZGluZzoycHg7IG1hcmdpbi1sZWZ0OjVweDsiPkVqZWN0PC9kaXY+PC9kaXY+IDxkaXYgaWQ9ImNoYW5nZWJvdHNtb2RlIiBzdHlsZT0iCWZsb2F0OmxlZnQ7IG1hcmdpbi1sZWZ0OjZweDsgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyk7IHBhZGRpbmc6N3B4OyBib3JkZXItcmFkaXVzOjVweDsgLW1vei1ib3JkZXItcmFkaXVzOjVweDsgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjVweDsiPjxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IGJvcmRlci1yYWRpdXM6M3B4OyBwYWRkaW5nOjJweCA2cHg7IiBzdHlsZT0iY29sb3I6IHllbGxvdyI+UDwvZGl2PjxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHBhZGRpbmc6MnB4OyBtYXJnaW4tbGVmdDo1cHg7Ij5Cb3RNb2RlPC9kaXY+PC9kaXY+IDxkaXYgc3R5bGU9IiBmbG9hdDpsZWZ0OyBtYXJnaW4tbGVmdDo2cHg7IGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpOyBwYWRkaW5nOjdweDsgYm9yZGVyLXJhZGl1czo1cHg7IC1tb3otYm9yZGVyLXJhZGl1czo1cHg7IC13ZWJraXQtYm9yZGVyLXJhZGl1czo1cHg7Ij48ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyBib3JkZXItcmFkaXVzOjNweDsgcGFkZGluZzoycHggNnB4OyI+UGluZzwvZGl2PjxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IGJvcmRlci1yYWRpdXM6M3B4OyBwYWRkaW5nOjJweCA2cHg7IiBpZD0iaW9oZWxwZXJwaW5nIj4wPC9kaXY+PC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgc3R5bGU9Igl0ZXh0LWFsaWduOmNlbnRlcjsgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDc3LCA3NywgNzcpOyBwYWRkaW5nOjVweDsgZmxvYXQ6bGVmdDsgei1pbmRleDogOTk5OyBjb2xvcjp3aGl0ZTsgcG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6LTFweDsgdG9wOjQ0cHg7IGJvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjUpOyI+IDxkaXYgaWQ9ImJvdHNjb3VudGVyIj48ZGl2IHN0eWxlPSJmbG9hdDpub25lIj4gQm90czogMC8wPC9kaXY+PC9kaXY+IDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6NXB4OyBib3gtc2l6aW5nIDogYm9yZGVyLWJveDsiIGlkPSJjb3VudGRvd24iPjBkYXlzIDBocnMgMG1pbnMgMHNlY3M8L2Rpdj4gPGRpdiBzdHlsZT0ibWFyZ2luLXRvcDo1cHg7IGJveC1zaXppbmcgOiBib3JkZXItYm94OyI+Ym90TW9kZTogPHNwYW4gaWQ9ImJvdG1vZGUiPlN0YW5kYXJkPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206MTBweDtmb250LXNpemU6IDEycHg7Ij5Ub2tlbiA8YSBocmVmPSJodHRwOi8vYXBpLmlwaWZ5Lm9yZy8iIHRhcmdldD0iX2JsYW5rIj5DbGljayBGb3IgVG9rZW48L2E+IDwvZGl2Pg==`; var user = { x: 0, y: 0, cell: { x: 0, y: 0, }, ip: null, offsetX: 0, offsetY: 0, origin: window.location.origin, mouseFreeze: false } var send_Login = false; window._botSocket = window.WebSocket; function changeCanvas() { if (window.location.origin === "http://agar.red") { $('head').append(``); $('head').append(``); } } try { setTimeout(function() { changeCanvas(); },5000); } catch(e) { setTimeout(function() { changeCanvas(); },5000); } class Server { constructor(server) { this._ws = null; this._botServerIP = server; this.connect(); } connect() { this._ws = new _botSocket(this._botServerIP); this._ws.binaryType = "arraybuffer"; this._ws.onopen = this.OnOpen.bind(this); this._ws.onerror = this.OnError.bind(this); this._ws.onclose = this.OnClose.bind(this); this._ws.onmessage = this.OnMessage.bind(this); } OnOpen() { this._ws.send(JSON.stringify({ read: 0, opcode: 0 })); console.log("Server: Connected to bot server!"); } OnError(err) {} OnClose(err) { send_Login = false; console.log("Server: Connected close", err); document.getElementById("msgtxt").innerHTML = `botServer Offline!`; setTimeout(this.connect.bind(this), 5000); } OnMessage(msg) { var buf = JSON.parse(msg.data); switch (buf.data) { case 0: { switch (buf.opcode) { case 0: { document.getElementById("msgtxt").innerHTML = `IP Accepted!`; setTimeout(function() { if (send_Login === false) { send_Login = true; this._ws.send(JSON.stringify({ read: 0, opcode: 1 })); } }.bind(this), 3000); switch (buf.readInfo) { case 0: { if (buf.reason === 0) { document.getElementById("msgtxt").innerHTML = `Login Accepted!`; setInterval(function() { if (this._ws.readyState == 1) { if(user.mouseFreeze == true) return; this._ws.send(JSON.stringify({ read: 0, opcode: 2, reason: { x: user.x, y: user.y } })) } }.bind(this), 50); setInterval(function() { if (this._ws.readyState == 1) { this._ws.send(JSON.stringify({ read: 0, opcode: 3, reason: { ip: user.ip, origin: user.origin } })) } }.bind(this), 1000); } else if (buf.reason === 1) { document.getElementById("msgtxt").innerHTML = `Login Failed!`; } } break; } } break; case 1: { document.getElementById("msgtxt").innerHTML = "IP alive!"; } break; case 2: { if (buf.reason.bots === 0) { document.getElementById("botscounter").innerHTML = `
${buf.reason.bots} / ${buf.reason.maxbots}
`; } if (buf.reason.bots > 0) { document.getElementById("botscounter").innerHTML = `
${buf.reason.bots} / ${buf.reason.maxbots}
`; } document.getElementById("countdown").innerHTML = `
${(buf.reason.time / 86400 >> 0)}days ${(buf.reason.time / 3600 % 24 >> 0)}hrs ${(buf.reason.time / 60 % 60 >> 0)}mins ${(buf.reason.time % 60 >> 0)}secs
`; } break; case 3: { document.getElementById("iohelperping").innerHTML = buf.ping; setTimeout(function() { this._ws.send(JSON.stringify({ read: 0, opcode: 6 })); }.bind(this), 1000); } break; } } break; } } sendSplit() { this._ws.send(JSON.stringify({ read: 0, opcode: 4 })); } sendEject() { this._ws.send(JSON.stringify({ read: 0, opcode: 5 })); } } document.addEventListener('keydown', function(e) { var key = e.keyCode || e.which; switch(key) { case 88: { document.getElementById("splitbots").innerHTML = `
X
Split
`; try { window.serverice.sendSplit(); } catch(e) {} } break; case 67: { document.getElementById("ejectbots").innerHTML = `
C
Eject
`; try { window.serverice.sendEject(); } catch(e) {} } break; case 80: { if(user.mouseFreeze == false) { document.getElementById("botmode").innerHTML = `Mouse Freeze`; user.mouseFreeze = true; } else if(user.mouseFreeze == true) { document.getElementById("botmode").innerHTML = `Standard`; user.mouseFreeze = false; } } break; } }); document.addEventListener('keyup', function(e) { var key = e.keyCode || e.which; switch(key) { case 88: { document.getElementById("splitbots").innerHTML = `
X
Split
`; } break; case 67: { document.getElementById("ejectbots").innerHTML = `
C
Eject
`; } break; } }); function AtobMenu() { try { if (!document.contains(document.getElementById("q"))) { var q = document.createElement("div"); q.setAttribute("id", "bfacgui"); document.body.appendChild(q); } q.innerHTML = `${window.atob(injectionHTML)}`; } catch (e) { setTimeout(function() { AtobMenu(); }, 3000); } } setTimeout(AtobMenu ,3000); setTimeout(function() { window.serverice = new Server("ws://neybots-cloned1-freetz.c9users.io:8081"); },5000); WebSocket.prototype._send = WebSocket.prototype.send; WebSocket.prototype.send = function() { this._send.apply(this, arguments); console.log("url:" + this.url); if(url != this.url && this.url != "ws://neybots-cloned1-freetz.c9users.io:8081/") { url = this.url; } var msg; switch(origin) { case "http://gkclan.me": msg = new DataView(arguments[0].buffer); break; // case "http://agar.red": // msg = new DataView(arguments[0].buffer); // break; case "https://popsplit.us": msg = new DataView(arguments[0].buffer); break; case "http://abs0rb.me": msg = new DataView(arguments[0].buffer); break; case "http://www.agario.info": msg = new DataView(arguments[0].buffer); break; case "http://cellz.io": msg = new DataView(arguments[0].buffer); break; case "http://agar.io": msg = new DataView(arguments[0].buffer); break; default: msg = new DataView(arguments[0]); break; } if ((msg.byteLength > 0) && (msg.getUint8(0) != 16)) { var f = ""; for (var i = 0; i < msg.byteLength; i++) { var a = msg.getUint8(i); f = f + a + " "; } var realbuffers = f.split(' '); var minusrealbuffermassiv = realbuffers.length; var drr = realbuffers.splice(i, minusrealbuffermassiv); console.log("Detected new package: " + realbuffers); } if (msg.getInt8(0, true) !== 16 || msg.getUint8(0, true) !== 16) return; switch (msg.byteLength) { case 21: user.x = msg.getFloat64(1, true); user.y = msg.getFloat64(9, true); break; case 13: user.x = msg.getInt32(1, true); user.y = msg.getInt32(5, true); break; default: user.x = msg.getInt16(1, true); user.y = msg.getInt16(5, true); break; } if (this.url.match('localhost') || this.url.match('127.0.0.1')) return; user.ip = this.url; //window.console.clear(); };