Eval Script

8/28/2022, 8:19:50 PM

Verzia zo dňa 02.09.2022. Pozri najnovšiu verziu.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, Greasemonkey alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey alebo Userscripts.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie správcu používateľských skriptov.

(Už mám správcu používateľských skriptov, nechajte ma ho nainštalovať!)

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

(Už mám správcu používateľských štýlov, nechajte ma ho nainštalovať!)

// ==UserScript==
// @name        Eval Script
// @namespace   Wolfy0615
// @match       https://mppclone.com/*
// @match       https://multiplayerpiano.com/*
// @grant       none
// @version     1.3
// @author      Wolfy0615
// @require     https://greasyfork.org/scripts/450595-utilinspectforbrowser/code/UtilInspectForBrowser.js
// @description 8/28/2022, 8:19:50 PM
// ==/UserScript==

// Why the require? Minified code is scary.
// Unminified code is avalible here: https://gist.github.com/Wolfy0615/e2617aca7cece2c2f067f3082fc37b5c?permalink_comment_id=4287505#gistcomment-4287505
// Please note: Some function names etc. may seem odd, but the file is realitivly small. This module comes straight from NodeJS and was *compiled* for the browser.
// This means I did not write that code myself, it was simply compiled to the file so it could work for the browser.

function handleMessage(msg) {
    let client = MPP.client;
    let token = localStorage.token;
    if (client) {
        if (msg.a.startsWith(">") && msg.p._id == client.getOwnParticipant()._id) {
            try {
                let localStorage = {};
                window.localStorage = {};
                let evaled = eval(msg.a.substring(1).trim());
                client.sendArray([{
                    m: 'a',
                    message: `✔️ ${typeof evaled} ${window.inspect(evaled)}`.substring(0, 512).replaceAll(token, "[REDACTED]").replaceAll("\n", " ")
                }])
            } catch (err) {
                if (err) {
                    client.sendArray([{
                        m: 'a',
                        message: `❌ ${typeof err} ${err}`
                    }]);
                }
            }
        }
    }
}
 
function init() {
    MPP.client.on("a", msg => { handleMessage(msg); });
}
 
const checkInterval = setInterval(() => {
    if (window.MPP) {
        clearInterval(checkInterval);
        init();
    }
}, 200);