The definitive tool: Aggressive neutralization, Anti-Adblock Killer, Stealth Mode, Zapper Mode, Paywall protection/Anti-PayWall, Guardian Mode.
// ==UserScript==
// @name Ultimate Anti-Adblock Killer & Anti-Paywall
// @namespace https://tampermonkey.net/
// @version 6.5
// @description The definitive tool: Aggressive neutralization, Anti-Adblock Killer, Stealth Mode, Zapper Mode, Paywall protection/Anti-PayWall, Guardian Mode.
// @author Tauã B. Kloch Leite
// @icon https://img.icons8.com/fluency/64/shield.png
// @homepageURL https://greasyfork.org/scripts/556237-ultimate-anti-adblock-killer
// @supportURL https://greasyfork.org/scripts/556237-ultimate-anti-adblock-killer/feedback
// @match *://*/*
// @grant GM_registerMenuCommand
// @grant unsafeWindow
// @license GPL-3.0
// @run-at document-start
// ==/UserScript==
(function() {
'use strict';
// =============================================
// 0. CLOUDFLARE CHECK & STEALTH MODE
// =============================================
function isCloudflare() {
try {
const title = document.title;
if (title === 'Just a moment...' || title.includes('Attention Required!')) return true;
if (document.getElementById('challenge-form') || document.getElementById('cf-wrapper')) return true;
} catch(e) {}
return false;
}
if (isCloudflare()) return;
function injectBait() {
const baitVars = ['adsbygoogle', 'adblock', 'google_ad_client', 'showAds', 'adBlockDetected', 'hasAdBlocker'];
const win = typeof unsafeWindow !== 'undefined' ? unsafeWindow : window;
baitVars.forEach(varName => {
if (!win[varName]) {
Object.defineProperty(win, varName, {
get: function() { return varName === 'adsbygoogle' ? [] : true; },
set: function() {},
configurable: true
});
}
});
}
injectBait();
// =============================================
// 1. CONFIGURATION & STATE
// =============================================
let exceptions = JSON.parse(localStorage.getItem('antiAdblockExceptions') || '[]');
let userFilters = JSON.parse(localStorage.getItem('antiAdblockUserFilters') || '{}');
let blockedCount = 0;
let isZapperActive = false;
let isAggressiveMode = false;
function isCurrentSiteException() {
const hostname = window.location.hostname;
return exceptions.some(exception => hostname.includes(exception));
}
function showNotification(message, duration = 3000) {
if (!document.body) return;
const existing = document.querySelectorAll('.anti-adblock-notification');
existing.forEach(el => el.remove());
const n = document.createElement('div');
n.className = 'anti-adblock-notification';
n.style.cssText = 'position:fixed;top:20px;right:20px;background:#2d3748;color:white;padding:15px 20px;border-radius:8px;z-index:2147483647;font-family:Arial,sans-serif;font-size:14px;box-shadow:0 4px 12px rgba(0,0,0,0.3);border-left:4px solid #4299e1;max-width:350px;white-space:pre-line;pointer-events:none;';
n.textContent = message;
document.body.appendChild(n);
setTimeout(() => n.remove(), duration);
}
function addException() {
const h = window.location.hostname;
if (!exceptions.includes(h)) {
exceptions.push(h);
localStorage.setItem('antiAdblockExceptions', JSON.stringify(exceptions));
showNotification(`✅ ${h} added to exceptions`);
setTimeout(() => location.reload(), 1000);
}
}
function removeException() {
const h = window.location.hostname;
const len = exceptions.length;
exceptions = exceptions.filter(site => site !== h && !h.includes(site));
if (exceptions.length < len) {
localStorage.setItem('antiAdblockExceptions', JSON.stringify(exceptions));
showNotification(`❌ ${h} removed from exceptions\nReloading...`);
setTimeout(() => location.reload(), 1000);
} else {
showNotification(`ℹ️ ${h} was not in exceptions`);
}
}
function removeAllDomainExceptions() {
const h = window.location.hostname;
exceptions = exceptions.filter(site => !site.includes(h));
localStorage.setItem('antiAdblockExceptions', JSON.stringify(exceptions));
if (userFilters[h]) {
delete userFilters[h];
localStorage.setItem('antiAdblockUserFilters', JSON.stringify(userFilters));
}
showNotification(`🗑️ Full Reset for ${h}\nReloading...`);
setTimeout(() => location.reload(), 1000);
}
function undoManualZaps() {
const h = window.location.hostname;
if (userFilters[h]) {
delete userFilters[h];
localStorage.setItem('antiAdblockUserFilters', JSON.stringify(userFilters));
showNotification(`↩️ Manual Blocks cleared for ${h}\nReloading...`);
setTimeout(() => location.reload(), 1000);
} else {
showNotification(`ℹ️ No manual blocks found for ${h}`);
}
}
function showHelp() {
const helpText = `
🛡️ Ultimate Anti-Adblock Killer (v6.5)
• Ctrl+Shift+E → Add/Remove exception
• Ctrl+Shift+X → Reset ALL (Exceptions + Zaps)
• Ctrl+Shift+Z → ⚡ Zapper Mode (Manual Block)
• Ctrl+Shift+H → Help & Stats
Threats Neutralized: ${blockedCount}
Mode: ${isAggressiveMode ? '🔥 AGGRESSIVE (NYT Detected)' : '🛡️ STANDARD'}
Site: ${window.location.hostname}
Status: ${isCurrentSiteException() ? '⛔ PAUSED' : '✅ ACTIVE'}
`.trim();
showNotification(helpText, 5000);
}
GM_registerMenuCommand('➕ Add to exceptions', addException);
GM_registerMenuCommand('➖ Remove from exceptions', removeException);
GM_registerMenuCommand('↩️ Undo Manual Zaps', undoManualZaps);
GM_registerMenuCommand('🗑️ Full Reset (Domain)', removeAllDomainExceptions);
GM_registerMenuCommand('⚡ Toggle Zapper Mode', toggleZapper);
GM_registerMenuCommand('❓ Help / Stats', showHelp);
window.addEventListener('keydown', function(e) {
if (e.ctrlKey && e.shiftKey && !e.altKey && !e.metaKey) {
switch(e.key.toLowerCase()) {
case 'e': e.preventDefault(); e.stopImmediatePropagation(); isCurrentSiteException() ? removeException() : addException(); break;
case 'x': e.preventDefault(); e.stopImmediatePropagation(); removeAllDomainExceptions(); break;
case 'h': e.preventDefault(); e.stopImmediatePropagation(); showHelp(); break;
case 'z': e.preventDefault(); e.stopImmediatePropagation(); toggleZapper(); break;
}
}
}, true);
if (isCurrentSiteException()) {
console.log('UAAK: Site exception active.');
return;
}
function enableRightClick() {
if (typeof jQuery !== 'undefined') {
jQuery(function($) {
$('img').removeAttr('onmousedown').removeAttr('onselectstart').removeAttr('ondragstart');
$(document).off('contextmenu selectstart dragstart');
$(document.body).off('contextmenu selectstart dragstart');
});
} else {
const images = document.querySelectorAll('img');
images.forEach(img => {
img.removeAttribute('onmousedown');
img.removeAttribute('onselectstart');
img.removeAttribute('ondragstart');
});
}
document.oncontextmenu = null;
document.onmousedown = null;
document.body.oncontextmenu = null;
document.body.onselectstart = null;
document.body.ondragstart = null;
}
// =============================================
// 2. ZAPPER MODE
// =============================================
function getCssPath(el) {
if (!(el instanceof Element)) return;
var path = [];
while (el.nodeType === Node.ELEMENT_NODE) {
var selector = el.nodeName.toLowerCase();
if (el.id) { selector += '#' + el.id; path.unshift(selector); break; }
else {
var sib = el, nth = 1;
while (sib = sib.previousElementSibling) { if (sib.nodeName.toLowerCase() == selector) nth++; }
if (nth != 1) selector += ":nth-of-type("+nth+")";
}
path.unshift(selector);
el = el.parentNode;
}
return path.join(" > ");
}
function saveUserBlock(element) {
const selector = getCssPath(element);
const host = window.location.hostname;
if (!userFilters[host]) userFilters[host] = [];
if (!userFilters[host].includes(selector)) {
userFilters[host].push(selector);
localStorage.setItem('antiAdblockUserFilters', JSON.stringify(userFilters));
}
}
function applyUserBlocks() {
const host = window.location.hostname;
if (!userFilters[host]) return;
userFilters[host].forEach(selector => {
try { document.querySelectorAll(selector).forEach(el => { hideElementRobustly(el); blockedCount++; }); } catch(e) {}
});
}
function toggleZapper() {
isZapperActive = !isZapperActive;
if (isZapperActive) {
showNotification("⚡ Zapper Mode ON\nClick to remove. ESC to cancel.", 5000);
addStyle(`.uaak-zapper-hover { outline: 4px solid #ff0000 !important; cursor: crosshair !important; opacity: 0.8 !important; }`);
document.addEventListener('mouseover', zapperHover);
document.addEventListener('mouseout', zapperUnhover);
document.addEventListener('click', zapperClick, true);
document.addEventListener('keydown', zapperKey);
} else {
showNotification("Zapper Mode OFF");
document.removeEventListener('mouseover', zapperHover);
document.removeEventListener('mouseout', zapperUnhover);
document.removeEventListener('click', zapperClick, true);
document.removeEventListener('keydown', zapperKey);
document.querySelectorAll('.uaak-zapper-hover').forEach(el => el.classList.remove('uaak-zapper-hover'));
}
}
function zapperHover(e) { e.target.classList.add('uaak-zapper-hover'); }
function zapperUnhover(e) { e.target.classList.remove('uaak-zapper-hover'); }
function zapperClick(e) {
if (!isZapperActive) return;
e.preventDefault(); e.stopImmediatePropagation();
saveUserBlock(e.target);
hideElementRobustly(e.target);
blockedCount++;
showNotification("💥 Element Zapped & Saved!");
toggleZapper();
forceJailbreak();
}
function zapperKey(e) { if (e.key === 'Escape') toggleZapper(); }
// =============================================
// 3. CORE ENGINE
// =============================================
var enable_debug = false;
var adblock_pattern = /ad-block|adblock|ad block|blocking ads|bloqueur|bloqueador|Werbeblocker|آدبلوك بلس|блокировщиком/i;
var disable_pattern = /kapat|disabl|désactiv|desactiv|desativ|deaktiv|detect|enabled|turned off|turn off|απενεργοποίηση|запрещать|állítsd le|publicités|рекламе|verhindert|advert|kapatınız/i;
var premium_pattern = /premium|upgrade|subscription|subscribe|assine|assinatura|s'abonner|suscribirse|member access|read the full|paywall|register free|create a free account|log in|great deal|limited time offer|support us|keep reading|this is not a paywall|unlock this article/i;
var tagNames_pattern = /b|center|div|font|i|iframe|s|span|section|u/i;
var is_core_protected = false;
var classes = [];
function debug( msg, val ) {
if ( !enable_debug ) return;
console.log( '%c ANTI-ADBLOCKER \n','color: white; background-color: red', msg );
}
function addStyle(str) {
var style = document.createElement('style');
style.innerHTML = str;
(document.body || document.head || document.documentElement).appendChild( style );
}
function randomInt( min, max ) {
if ( max === undefined ) { max = min; min = 0; }
return Math.floor(min + Math.random() * (max - min + 1));
}
function getRandomName( size ) {
var charset = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
var name = '';
for (var i = 0; i < (size||randomInt(10,20)); ++i) {
name += charset.charAt( Math.floor( Math.random() * charset.length) );
}
return name;
}
function addRandomClass( el ) {
let name = getRandomName();
el.classList.add( name );
return name;
}
function isElementFixed( el ) {
if (el instanceof Element) {
return window.getComputedStyle(el).getPropertyValue('position') == 'fixed';
}
}
function isNotHidden( el ) {
if (el instanceof Element) {
return window.getComputedStyle(el).getPropertyValue('display') != 'none';
}
}
function isBlackoutModal( el ) {
if (el instanceof Element) {
var style = window.getComputedStyle( el );
if (style.position !== 'fixed') return false;
var top = parseInt( style.top ) || 0;
var left = parseInt( style.left ) || 0;
var right = parseInt( style.right ) || 0;
var bottom = parseInt( style.bottom ) || 0;
var coversHeight = el.offsetHeight >= window.innerHeight * 0.9;
var coversWidth = el.offsetWidth >= window.innerWidth * 0.9;
var anchored = (top <= 5 && left <= 5) || (right <= 5 && bottom <= 5) || (top <= 5 && right <= 5);
return coversHeight && coversWidth && anchored;
}
return false;
}
function isAntiAdblockText( value ) {
if (adblock_pattern.test( value ) && disable_pattern.test( value )) return true;
if (premium_pattern.test(value) && (value.toLowerCase().includes('ads') || value.toLowerCase().includes('account') || value.toLowerCase().includes('continue') || value.toLowerCase().includes('offer') || value.toLowerCase().includes('access') || value.toLowerCase().includes('subscri'))) return true;
return false;
}
function isModalWindows( el ) {
return isElementFixed ( el ) && ( isAntiAdblockText( el.textContent ) || isBlackoutModal( el ) );
}
function isSafetyHeader( el ) {
if (!el || !el.getBoundingClientRect) return false;
if (el.tagName === 'HEADER' || el.tagName === 'NAV' || el.tagName === 'ASIDE') return true;
if (el.closest('[data-elementor-type="header"]')) return true;
const rect = el.getBoundingClientRect();
// Top Header
if (rect.top <= 5 && rect.height < 300 && rect.width > window.innerWidth * 0.8) {
if (el.querySelector('nav') || el.querySelector('[role="navigation"]') || el.querySelector('.menu')) return true;
}
// Sidebar
if (rect.width < 400 && rect.height > window.innerHeight * 0.5) {
if (!isAntiAdblockText(el.innerText)) return true;
}
return false;
}
function isSafetyContent(el) {
if (!el) return false;
const idClass = (el.id + " " + el.className).toLowerCase();
// AGGRESSIVE MODE (NYT/Fides Detected)
if (isAggressiveMode) {
if (idClass.includes('fides') ||
idClass.includes('privacy') ||
idClass.includes('consent') ||
idClass.includes('gateway') ||
idClass.includes('modal') ||
idClass.includes('paywall')) {
return false;
}
}
if (isElementFixed(el) && premium_pattern.test(el.innerText)) return false;
if (el.tagName === 'ARTICLE' || el.tagName === 'MAIN') return true;
if (el.innerText && el.innerText.length > 600) return true;
if (el.querySelectorAll('p').length > 5) return true;
return false;
}
function forceContentRestore(el) {
el.classList.add('uaak-force-visible');
el.style.setProperty('filter', 'none', 'important');
el.style.setProperty('opacity', '1', 'important');
el.style.setProperty('visibility', 'visible', 'important');
el.style.setProperty('max-height', 'none', 'important');
// Only force display if in Aggressive Mode
if (isAggressiveMode) {
el.style.setProperty('display', 'block', 'important');
el.style.setProperty('z-index', '9999', 'important');
}
}
function protectCore() {
if ( is_core_protected ) return;
if (typeof unsafeWindow === 'undefined') {
const unsafeWindow = window;
}
const $_removeChild = unsafeWindow.Node.prototype.removeChild;
unsafeWindow.Node.prototype.removeChild = function( node ) {
if (isCloudflare()) {
return $_removeChild.apply( this, arguments );
}
if ( node.nodeName == 'HEAD' || node.nodeName == 'BODY' ){
return debug( 'Blocked delete ' + node.nodeName, node );
}
if (node.nodeType === 1 && isSafetyContent(node)) {
return node;
}
$_removeChild.apply( this, arguments );
};
const $_innerHTML = Object.getOwnPropertyDescriptor(Element.prototype, 'innerHTML');
if ($_innerHTML && $_innerHTML.set) {
Object.defineProperty(Element.prototype, 'innerHTML', {
set: function (value) {
if (isCloudflare()) return $_innerHTML.set.call(this, value);
if ( this.nodeName == 'BODY' || isAntiAdblockText( value ) ) return debug( 'Blocked innerHTML change', value );
return $_innerHTML.set.call(this, value);
},
get: function() { return $_innerHTML.get.call(this); },
configurable: true
});
}
is_core_protected = true;
}
function forceJailbreak() {
if (isCloudflare()) return;
[document.documentElement, document.body].forEach(el => {
if(!el) return;
el.classList.add('uaak-force-scroll');
el.style.setProperty('overflow', 'visible', 'important');
el.style.setProperty('overflow-y', 'auto', 'important');
if (window.getComputedStyle(el).position === 'fixed') {
el.style.setProperty('position', 'static', 'important');
}
});
if (document.body) {
const badClasses = ['modal-open', 'no-scroll', 'stop-scrolling', 'adblock-blur', 'fides-overlay-modal-link-shown', 'nyt-hide-scroll'];
document.body.classList.forEach(cls => {
if (badClasses.some(bc => cls.includes(bc))) document.body.classList.remove(cls);
});
}
}
// SHADOW KILLER
function removeShadows() {
document.querySelectorAll('div, section').forEach(el => {
const style = window.getComputedStyle(el);
if ((style.position === 'fixed' || style.position === 'absolute') &&
parseInt(style.height) > window.innerHeight * 0.9 &&
parseInt(style.width) > window.innerWidth * 0.9) {
const bgColor = style.backgroundColor;
if (bgColor.includes('rgba') || bgColor.includes('0, 0, 0')) {
if (!isSafetyHeader(el) && !isSafetyContent(el)) {
hideElementRobustly(el);
}
}
}
});
}
function cleanBackgroundWrappers() {
// Detect Aggressive Mode Trigger
if (document.querySelector('.vi-gateway-container, #gateway-content, #fides-overlay, #fides-overlay-wrapper')) {
isAggressiveMode = true;
}
if (isAggressiveMode) {
const nytSelectors = [
'.vi-gateway-container',
'#gateway-content',
'.css-1bd8bfl',
'.css-1k28tcn-formStyles-formStyles-EnterEmailSsoBottom',
'[data-testid="onsite-messaging-unit-gateway"]',
'.fides-overlay', '#fides-overlay', '#fides-overlay-wrapper', '#fides-modal', '.fides-modal-container'
];
document.querySelectorAll(nytSelectors.join(', ')).forEach(el => hideElementRobustly(el));
document.querySelectorAll('#app, #site-content, #main, .main-content, #story, article').forEach(el => {
forceContentRestore(el);
});
}
document.querySelectorAll('.background, .backdrop, .modal-paywall-overlay').forEach(el => {
const style = window.getComputedStyle(el);
if (style.position === 'fixed' && parseInt(style.height) > window.innerHeight * 0.9) {
if (!isSafetyContent(el)) {
hideElementRobustly(el);
}
}
});
removeShadows();
}
function removeBackStuff() {
document.querySelectorAll( 'b,center,div,font,i,iframe,s,span,section,u' ).forEach( ( el ) => {
if (isSafetyContent(el)) forceContentRestore(el);
else if ( isBlackoutModal( el ) && !isSafetyHeader(el) ) hideElementRobustly(el);
else if ( (/blur/i).test( window.getComputedStyle(el).filter ) ) forceContentRestore(el);
});
cleanBackgroundWrappers();
setTimeout( forceJailbreak, 50);
}
function hideElementRobustly(el) {
if(!el) return;
el.removeAttribute('id');
el.removeAttribute('class');
var class_name = addRandomClass( el );
classes.push( class_name );
el.setAttribute('style', (el.getAttribute('style')||'') + ';display: none !important;');
addStyle( '.' + class_name + '{ display: none !important; }' );
}
function checkModals() {
if (isCloudflare()) return;
var modalFound = false;
document.querySelectorAll( 'b,center,div,font,i,iframe,s,span,section,u' ).forEach( ( el ) => {
if ( isModalWindows( el ) && isNotHidden( el ) ) {
modalFound = true;
removeModal( el );
}
});
if ( modalFound ) setTimeout( removeBackStuff, 150);
}
function removeModal( el, isNew ) {
if ( (new RegExp(classes.join('|'))).test( el.classList ) ) return;
if (isSafetyHeader(el)) return;
if (isAntiAdblockText(el.textContent)) {
hideElementRobustly(el);
blockedCount++;
try {
var p = el.parentElement;
if (p && window.getComputedStyle(p).position === 'fixed') hideElementRobustly(p);
} catch(e){}
if (isNew) setTimeout( removeBackStuff, 150);
forceJailbreak();
return;
}
if (isSafetyContent(el)) {
forceContentRestore(el);
return;
}
hideElementRobustly(el);
blockedCount++;
try {
var parent = el.parentElement;
if (parent && parent.tagName !== 'BODY' && parent.tagName !== 'HTML') {
var parentStyle = window.getComputedStyle(parent);
if (parentStyle.position === 'fixed' || parentStyle.position === 'absolute') {
if (!isSafetyHeader(parent) && !isSafetyContent(parent)) {
hideElementRobustly(parent);
blockedCount++;
} else {
parent.style.setProperty('position', 'static', 'important');
}
}
}
} catch(e) {}
if ( isNew ) setTimeout( removeBackStuff, 150);
forceJailbreak();
}
window.addEventListener('DOMContentLoaded', (event) => {
if (isCloudflare()) return;
classes.push( getRandomName() );
applyUserBlocks();
var MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
var observer = new MutationObserver( (mutations) => {
mutations.forEach( (mutation) => {
if ( mutation.addedNodes.length ) {
Array.prototype.forEach.call( mutation.addedNodes, ( el ) => {
if ( !tagNames_pattern.test ( el.tagName ) ) return;
if ( isModalWindows( el ) && isNotHidden( el ) ) {
removeModal( el, true );
}
});
}
});
});
if (document.body) {
observer.observe(document.body, { childList : true, subtree : true });
setTimeout(() => showNotification('🛡️ Ultimate Anti-Adblock Killer Active'), 1000);
}
setTimeout( function() { checkModals(); }, 150 );
addStyle(`
body { user-select: auto !important; }
.uaak-force-scroll, body.scroll_on, html.scroll_on { overflow: visible !important; overflow-y: auto !important; }
.hide_modal { display: none !important; }
.un_blur, .uaak-force-visible {
filter: none !important;
-webkit-filter: none !important;
opacity: 1 !important;
visibility: visible !important;
max-height: none !important;
}
/* CSS for NYT Overlay Fix */
#fides-overlay, #fides-modal-overlay, #fides-overlay-wrapper {
display: none !important;
pointer-events: none !important;
width: 0 !important;
height: 0 !important;
opacity: 0 !important;
background: transparent !important;
}
`);
setTimeout(function(){ document.querySelectorAll('iframe[id^="google_ads_iframe"]').forEach(el => el.style.display='none'); }, 2000);
let checkCount = 0;
let checkInterval = setInterval(() => {
checkModals();
removeBackStuff();
cleanBackgroundWrappers();
checkCount++;
if(checkCount > 20) clearInterval(checkInterval);
}, 1500);
});
window.addEventListener('load', (event) => {
if (isCloudflare()) return;
setTimeout( function() {
enableRightClick();
checkModals();
forceJailbreak();
}, 1500 );
});
protectCore();
})();