WebSocket Logger and Messenger

Logs websockets and allows you to send messages to them

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name         WebSocket Logger and Messenger
// @version      1.0.2
// @description  Logs websockets and allows you to send messages to them
// @author       ProKameron
// @match        http://*/*
// @match        https://*/*
// @include      jackbox.tv
// @grant        none
// @license      ISC


// @namespace http://tampermonkey.net/
// ==/UserScript==

(function() {
    'use strict';

    // Preserve the original WebSocket constructor
    const originalWebSocket = WebSocket;

    // Attach the WebSocket instance to the global scope
    window.ws = null;

    // Wrap the WebSocket constructor
    class WrappedWebSocket extends originalWebSocket {
        constructor(...args) {
            super(...args);
            window.ws = this; // Store the WebSocket instance in the global scope
            console.log('New WebSocket created:', window.ws);

            // Log incoming messages
            this.addEventListener('message', (event) => {
                console.log('WebSocket message received:', event.data);
            });
        }
    }

    // Replace the global WebSocket with the wrapped version
    window.WebSocket = WrappedWebSocket;

})();