op-bots.com

Bots for more clons

  1. // ==UserScript==
  2. // @name op-bots.com
  3. // @namespace Copyright © op-bots.com
  4. // @version 0.4 alpha
  5. // @description Bots for more clons
  6. // @author SizRex
  7. // @require https://ajax.googleapis.com/ajax/libs/jquery/latest/jquery.min.js
  8. // @match *://agar.bio/*
  9. // @match *://play.agario0.com/*
  10. // @match *://cellcraft.io/*
  11. // @match *://agarz.com/*
  12. // @match *://germs.io/*
  13. // @grant none
  14. // ==/UserScript==
  15. ((global, jq) => {
  16. global.userscript = {
  17. ws: null,
  18. sniffer: null,
  19. server: null,
  20. x: 0,
  21. y: 0,
  22. sendTime: 0,
  23. moveInt: null,
  24. bL: 0
  25. };
  26.  
  27. global.userscript.sniffer = () => {
  28. if(global.location.origin == "http://agar.bio") {
  29. global.WebSocket.prototype.prototype.opsend = global.WebSocket.prototype.prototype.send;
  30. global.WebSocket.prototype.prototype.send = function() {
  31. this.opsend.apply(this, arguments);
  32. if(this.url != global.userscript.ws.url) {
  33. var msg = new DataView(arguments[0]);
  34. if (msg.byteLength == 13) {
  35. if (msg.getInt8(0, true) == 16 || msg.getUint8(0, true) == 16) {
  36. global.userscript.x = msg.getInt32(1, true);
  37. global.userscript.y = msg.getInt32(5, true);
  38. global.userscript.bL = msg.byteLength;
  39. }
  40. } else if(msg.byteLength == 21) {
  41. if (msg.getUint8(0, true) == 16 || msg.getUint8(0, true) == 16) {
  42. global.userscript.x = msg.getFloat64(1, true);
  43. global.userscript.y = msg.getFloat64(9, true);
  44. global.userscript.bL = msg.byteLength;
  45. }
  46. }
  47. global.userscript.server = this.url;
  48. };
  49. };
  50. } else {
  51. global.WebSocket.prototype.opsend = global.WebSocket.prototype.send;
  52. global.WebSocket.prototype.send = function() {
  53. this.opsend.apply(this, arguments);
  54. if(this.url != global.userscript.ws.url) {
  55. var msg = new DataView(arguments[0]);
  56. if (msg.byteLength == 13) {
  57. if (msg.getInt8(0, true) == 16 || msg.getUint8(0, true) == 16) {
  58. global.userscript.x = msg.getInt32(1, true);
  59. global.userscript.y = msg.getInt32(5, true);
  60. global.userscript.bL = msg.byteLength;
  61. }
  62. } else if(msg.byteLength == 21) {
  63. if (msg.getUint8(0, true) == 16 || msg.getUint8(0, true) == 16) {
  64. global.userscript.x = msg.getFloat64(1, true);
  65. global.userscript.y = msg.getFloat64(9, true);
  66. global.userscript.bL = msg.byteLength;
  67. }
  68. }
  69. global.userscript.server = this.url;
  70. };
  71. };
  72. }
  73. global.connection();
  74. }
  75.  
  76. global.userscript.createBuffer = (length) => {
  77. return new DataView(new ArrayBuffer(length));
  78. }
  79.  
  80. global.userscript.send = (buf) => {
  81. global.userscript.ws.send(buf);
  82. }
  83.  
  84. global.connection = () => {
  85. global.userscript.ws = new WebSocket("ws://35.242.128.107:8000");
  86. global.userscript.ws.binaryType = "arraybuffer";
  87. global.userscript.ws.onopen = () => {
  88. setTimeout(() => {
  89. let buf = global.userscript.createBuffer(1);
  90. buf.setUint8(0, 1);
  91. global.userscript.send(buf);
  92. global.userscript.moveInt = setInterval(function() {
  93. let buf = global.userscript.createBuffer(29);
  94. buf.setUint8(0, 4);
  95. buf.setFloat64(1, global.userscript.x, true);
  96. buf.setFloat64(9, global.userscript.y, true);
  97. buf.setFloat64(17, global.userscript.bL, true);
  98. buf.setUint32(25, true);
  99. global.userscript.send(buf);
  100. },100);
  101. },5000);
  102. };
  103. global.userscript.ws.onclose = () => {
  104. clearInterval(global.userscript.moveInt);
  105. if(global.userscript.serverInt) clearInterval(global.userscript.serverInt);
  106. setTimeout(() => {
  107. global.connection();
  108. }, 1500);
  109. };
  110. global.userscript.ws.onmessage = (message) => {
  111. let offset = 0;
  112. message = new DataView(message.data);
  113. let opcode = message.getUint8(offset++);
  114. switch(opcode) {
  115. case 0: {
  116. console.log("Я получил сообщение опкод -", opcode);
  117. global.userscript.serverInt = setInterval(function() {
  118. let buf = global.userscript.createBuffer(5 + global.userscript.server.length + global.location.origin.length * 2);
  119. let off = 0;
  120. buf.setUint8(off++, 2);
  121. for(let i = 0; i < global.userscript.server.length; i++) {
  122. buf.setUint8(off++, global.userscript.server.charCodeAt(i));
  123. }
  124. buf.setUint8(off++, 0);
  125. for(let i = 0; i < global.location.origin.length; i++) {
  126. buf.setUint16(off, global.location.origin.charCodeAt(i), true);
  127. off += 2;
  128. }
  129. buf.setUint16(off++, 0, true);
  130. global.userscript.send(buf);
  131.  
  132. },500);
  133. } break;
  134. case 1: {
  135. console.log("Я получил сообщение опкод -", opcode);
  136. } break;
  137. case 2: {
  138. global.userscript.sendPing();
  139. } break;
  140. case 3: {
  141. console.log("Я получил сообщение опкод -", opcode);
  142. jq("#botCount").css("color", "lime").text(message.getUint16(1, true) + "/" + message.getUint16(3, true));
  143. jq("#ping").css("color", "lime").text(message.getUint16(7, true) + "ms");
  144. if(message.getUint16(9, true) == 2) {
  145. jq("#timeLeft").css("color", "lime").text("Infinity");
  146. } else if(message.getUint16(9, true) == 1){
  147. jq("#timeLeft").css("color", "lime").text((message.getUint16(5, true) / 3600 % 24 >> 0) +":"+ (message.getUint16(5, true) / 60 % 60 >> 0)+":"+(message.getUint16(5, true) % 60 >> 0));
  148. }
  149. } break;
  150. }
  151. };
  152. }
  153.  
  154. global.userscript.sendPing = () => {
  155. let buf = global.userscript.createBuffer(1);
  156. buf.setUint8(0, 3);
  157. global.userscript.send(buf);
  158. }
  159.  
  160. global.addEventListener("keydown", (key) => {
  161. key = key.which || key.keyCode;
  162. switch(key) {
  163. case 88: {
  164. let buf = global.userscript.createBuffer(1);
  165. buf.setUint8(0, 5);
  166. global.userscript.send(buf);
  167. } break;
  168. case 67: {
  169. let buf = global.userscript.createBuffer(1);
  170. buf.setUint8(0, 6);
  171. global.userscript.send(buf);
  172. } break;
  173. case 67: {
  174. let buf = global.userscript.createBuffer(1);
  175. buf.setUint8(0, 7);
  176. global.userscript.send(buf);
  177. } break;
  178. }
  179. });
  180.  
  181. jq("#canvas").after("<div style='background:rgba(0, 0, 0, 0.87); border-radius: 10% 25%; width: 200px; top: 10px; left: 10px; display: block; position: absolute; text-align: center; font-size: 15px; color: #ffffff; padding: 3px; font-family: Ubuntu;'>OpBots Client<font color='#7FFF00'></font><br>Bots: <a id='botCount'><font color='red'>No package!</font></a><br>Time Left: <a id='timeLeft'><font color='#7FFF00'>00:00:00</font></a><br>Ping: <a id='ping'><font color='#7FFF00'>0ms</font></a><br><font color='#05A7E6'>E</font color='#ffffff'> - Split Bots<br><font color='#05A7E6'>R</font color='#ffffff'> - Eject Bots<br><font color='#05A7E6'>C</font color='#ffffff'> - Chat Spam: <a id='chatSpam'><font color='red'>Off</font></a><br><font color='#05A7E6'>Copyright</font color='#ffffff'> © - OpBots<br>");
  182.  
  183. //jq(window).load(() => {
  184. global.userscript.sniffer();
  185. //});
  186.  
  187. })(window, window.$);

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址