您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
A "scorched earth" approach to blocking all pop-ups. It overrides every known browser API and destroys any suspicious element, regardless of site functionality.
// ==UserScript== // @name 1337x The Final, Uncompromised Solution // @namespace http://tampermonkey.net/ // @version 9.0 // @description A "scorched earth" approach to blocking all pop-ups. It overrides every known browser API and destroys any suspicious element, regardless of site functionality. // @author Pvshkin_1 // @match https://1337x.to/* // @license MIT // @grant none // @run-at document-start // ==/UserScript== (function() { 'use strict'; console.info("[1337x Orbital Strike] All variables accounted for. Commencing total annihilation protocol."); // --- Phase 1: Preemptive API Neutralization --- const originalOpen = window.open; const originalEval = window.eval; const originalFunction = window.Function; const originalSetTimeout = window.setTimeout; window.open = (url) => { console.warn(`[Blocker] NUKED window.open attempt: ${url}`); return null; }; window.eval = (code) => { if (typeof code === 'string' && (code.includes('window.open') || code.includes('location.href'))) { console.warn(`[Blocker] Intercepted and blocked eval() containing suspicious code.`); return; } return originalEval(code); }; window.Function = function(...args) { const body = args.pop(); if (typeof body === 'string' && (body.includes('window.open') || body.includes('location.href'))) { console.warn(`[Blocker] Intercepted and blocked new Function() containing suspicious code.`); return () => {}; } return new originalFunction(...args, body); }; window.setTimeout = function(callback, delay, ...args) { const callbackCode = callback.toString(); if (typeof callbackCode === 'string' && (callbackCode.includes('window.open') || callbackCode.includes('location.href'))) { console.warn(`[Blocker] NUKED setTimeout call containing suspicious code.`); return; } return originalSetTimeout(callback, delay, ...args); }; // --- Phase 2: Universal Event Suppression --- const originalAddEventListener = EventTarget.prototype.addEventListener; EventTarget.prototype.addEventListener = function(type, listener, options) { const blockedEvents = ['click', 'mousedown', 'mouseup', 'contextmenu', 'mouseenter', 'mouseover', 'touchstart', 'touchend', 'scroll']; const blockedElements = [window, document, document.body]; if (blockedEvents.includes(type) && blockedElements.includes(this)) { console.warn(`[Blocker] NUKED event listener of type "${type}" on a key element.`); return; } originalAddEventListener.call(this, type, listener, options); }; // --- Phase 3: Final Dom Destruction & Interception --- const observer = new MutationObserver(mutationsList => { for (const mutation of mutationsList) { if (mutation.type === 'childList') { mutation.addedNodes.forEach(node => { if (node.nodeType === 1) { if (node.tagName === 'IFRAME' || (node.shadowRoot && node.shadowRoot.mode === 'open')) { console.warn(`[Blocker] NUKED an iframe or Shadow DOM container.`); node.remove(); } if ((node.style && node.style.position === 'fixed' && node.style.zIndex > 1000) || (node.style && node.style.position === 'absolute' && node.style.zIndex > 1000) || node.matches('.popup-overlay, .ad-modal, #popup-ad, [onclick], [onmousedown]')) { console.warn("[Blocker] NUKED a suspected pop-up element."); node.remove(); } } }); } } }); setTimeout(() => { observer.observe(document.body, { childList: true, subtree: true }); // Manual override for all links to prevent mouse-up shenanigans document.querySelectorAll('a').forEach(link => { link.addEventListener('mousedown', (e) => { e.stopImmediatePropagation(); }, true); link.addEventListener('mouseup', (e) => { e.stopImmediatePropagation(); e.preventDefault(); window.location.href = link.href; }, true); }); }, 50); })();