Intercepts scripts from disabling devtools.
当前为
// ==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 = ["cdn.jsdelivr.net/npm/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
});