Disable Websockets

Disables websockets

  1. // ==UserScript==
  2. // @name Disable Websockets
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.0
  5. // @description Disables websockets
  6. // @author csalvato
  7. // @include *
  8. // @grant none
  9. // @run-at document-start
  10. // ==/UserScript==
  11.  
  12. WebSocket2 = WebSocket; /*eslint-disable-line*/
  13.  
  14. WebSocket = function(addy) { /*eslint-disable-line*/
  15. console.log('WS: Trying to open.');
  16. var ws;
  17. if (!this.blocked) {
  18. console.log('WS: Not blocked, allowing.');
  19. ws = new WebSocket2(addy);
  20. this.open_sockets.push(ws);
  21. return ws;
  22. } else {
  23. console.log('WS: Blocked.');
  24. }
  25. };
  26.  
  27. WebSocket.toggle = function() {
  28. WebSocket.prototype.blocked = !WebSocket.prototype.blocked;
  29. var sockets = WebSocket.prototype.open_sockets;
  30. if (WebSocket.prototype.blocked) {
  31. console.log('WS: Blocking. Removing Old Sockets.');
  32. sockets.forEach(function(socket, index, sockets) {
  33. console.log("WS: Closing -", index);
  34. socket.close();
  35. });
  36. WebSocket.prototype.open_sockets = [];
  37. console.log("WS: Sockets left open -", WebSocket.prototype.open_sockets.length);
  38. } else {
  39. console.log("WS: Unblocking");
  40. }
  41. };
  42.  
  43. WebSocket.prototype.open_sockets = [];
  44. WebSocket.prototype.blocked = true;