Anti-Disable-Devtool

Intercepts scripts from disabling devtools.

目前為 2024-01-14 提交的版本,檢視 最新版本

// ==UserScript==
// @name         Anti-Disable-Devtool
// @description  Intercepts scripts from disabling devtools.
// @author       Snipcola
// @namespace    https://snipcola.com
// @license      MIT
// @match        *://*/*
// @version      1.0
// @run-at       document-start
// ==/UserScript==

const blacklistedHooks = ["contextmenu"];
const blacklistedScripts = ["disabledevtool", "disable-devtool"];

const name = "Anti-Disable-Devtool";
const originalAddEventListener = document.addEventListener;

document.addEventListener = function (type, listener, options) {
    if (blacklistedHooks.includes(type)) console.error(`[${name}] Intercepted event from being hooked:`, { type, listener });
    else originalAddEventListener.call(document, type, listener, options);
};

new MutationObserver((mutations) => {
    mutations.forEach(({ addedNodes }) => {
        addedNodes.forEach((node) => {
            if (node.nodeType === 1 && node.tagName === "SCRIPT" && blacklistedScripts.map((s) => node.src?.includes(s)).includes(true)) {
                node.type = "javascript/intercepted";
                node.remove();
                console.error(`[${name}] Intercepted script from being executed:`, { node, source: node.src });
            }
        });
    });
}).observe(document.documentElement, {
    childList: true,
    subtree: true
});

QingJ © 2025

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