// ==UserScript== // @name Anti-AdBlocker & DeBlocker // @version 1.05 // @description Remove Anti-AdBlocker & DeBlocker // @author Elwyn // @license MIT // @namespace https://openuserjs.org/install/Elwyn/Anti-AdBlocker_DeBlocker.user.js // @include * // @exclude https://*google.com/* // @exclude https://*youtube.com/* // @exclude https://*openuserjs.org/* // @exclude https://*greasyfork.org/* // @run-at document-start // @grant unsafeWindow // @downloadURL none // ==/UserScript== (function() { if ( window.location !== window.parent.location ) return; function addStyle(str) { var node = document.createElement('style'); node.innerHTML = str; document.body.appendChild(node); } function randomInt( min, max ) { // min and max included if ( max === undefined ) { max = min; min = 0; } return Math.floor(min + Math.random() * (max - min + 1)); } function getRandomName( size ) { var chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; var i; var name = ''; for (i = 0; i < (size||randomInt(10,24)); i++) { name += chars.charAt( randomInt(0,chars.length) ); } return name; } function addRandomClass( el ) { var name = el.className; if ( typeof name != 'undefined' ) { if( /\s/.test( name ) ) { name = name.split(' '); name = name[0]; } } else { name = getRandomName(); el.classList.add( name ); } return '.' + name + ','; } function removeModal( el ) { console.log( 'ANTI-DEBLOCKER: Anti-AdBlock Found!'); var classes = ''; for (;;) { if ( el.parentNode.tagName == 'BODY' ) break; classes += addRandomClass( el ); el = el.parentNode; } document.querySelectorAll( 'div' ).forEach( ( el ) => { let style = window.getComputedStyle( el ); let height; if ( style.getPropertyValue( 'position' ) == 'fixed' ) { height = style.getPropertyValue( 'height' ); if ( height == '100%' ) { classes += addRandomClass( el ); } else if ( /px/i.test( height ) && parseInt( height ) > window.innerHeight - 100 ) { classes += addRandomClass( el ); } } }); if ( classes.length > 0 ) { classes = classes.substring( 0, classes.length - 1 ); console.log( 'ANTI-DEBLOCKER Elements:' + classes ); let $_removeChild = unsafeWindow.Node.prototype.removeChild; unsafeWindow.Node.prototype.removeChild = ( node ) => { if ( node.tagName != 'HEAD' && node.tagName != 'BODY' ) { $_removeChild.apply( this, arguments ); } } addStyle( classes + '{ display: none !important; }' ); addStyle( '* { -webkit-filter: blur(0px) !important; filter: blur(0px) !important; }' ); } } document.addEventListener('DOMContentLoaded', function() { // Mutation Observer var MutationObserver = window.MutationObserver || window.WebKitMutationObserver; // Create an observer instance var observer = new MutationObserver( (mutations) => { mutations.forEach( (mutation) => { if ( mutation.addedNodes.length ) { Array.prototype.forEach.call( mutation.addedNodes, (addedNode) => { if ( typeof addedNode.innerText == 'undefined' ) return; if ( addedNode.innerText.length < 2 ) return; //console.log( 'ANTI-DEBLOCKER Text:' + addedNode.innerText ); if( /A\s*d\s*-?B\s*l\s*o\s*c\s*k|bloqueur|bloqueador|Werbeblocker|آدبلوك بلس|блокировщиком/i.test( addedNode.innerText ) ){ removeModal( addedNode ); } }); } }); }); // Observer observer.observe(document, { childList : true, subtree : true }); }, false); })();