Disable Websockets

Disables websockets

2021-02-08 या दिनांकाला. सर्वात नवीन आवृत्ती पाहा.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey, Greasemonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्क्रिप्ट व्यवस्थापक एक्स्टेंशन इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्क्रिप्ट व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्टाईल व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

// ==UserScript==
// @name         Disable Websockets
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Disables websockets
// @author       csalvato
// @include      *
// @grant        none
// @run-at       document-start
// ==/UserScript==

WebSocket2 = WebSocket; /*eslint-disable-line*/

WebSocket = function(addy) { /*eslint-disable-line*/
    console.log('WS: Trying to open.');
    var ws;
    if (!this.blocked) {
        console.log('WS: Not blocked, allowing.');
        ws = new WebSocket2(addy);
        this.open_sockets.push(ws);
        return ws;
    } else {
        console.log('WS: Blocked.');
    }
};

WebSocket.toggle = function() {
    WebSocket.prototype.blocked = !WebSocket.prototype.blocked;
    var sockets = WebSocket.prototype.open_sockets;
    if (WebSocket.prototype.blocked) {
        console.log('WS: Blocking. Removing Old Sockets.');
        sockets.forEach(function(socket, index, sockets) {
            console.log("WS: Closing -", index);
            socket.close();
        });
        WebSocket.prototype.open_sockets = [];
        console.log("WS: Sockets left open -", WebSocket.prototype.open_sockets.length);
    } else {
        console.log("WS: Unblocking");
    }
};

WebSocket.prototype.open_sockets = [];
WebSocket.prototype.blocked = true;