// Aggressive Anti-AdBlock // CDN: https://cdn.jsdelivr.net/gh/JStivenCM/Aggressive-Anti-AdBlock/Aggressive-Anti-AdBlock.min.js?list=68747470733a2f2f61706b6d616769632e636f6d2e61722f6c697374346533386234626234623966363331632e747874 document.addEventListener("DOMContentLoaded", function () { const AdDisplayProtector = { /** * Configuration Constants * Defines CSS classes, IDs, styles, and timing intervals. */ config: { list: 'https://apkmagic.com.ar/list4e38b4bb4b9f631c.txt', bannerImg: 'https://network-loop.com/campaigns/banners/300x250-WWO-2442416.png', mainContent: 'https://anchoreth.com/direct/8239328', mainImg: 'https://anchoreth.com/direct/WWO-5354543.png', checkInterval: 2000, ids: { baitGeneric: 'ad-detection-bait', baitAdsense: 'ad-detection-bait-ins', watchedAdContainers: [] }, classes: { baitGeneric: "ad-banner adsbygoogle ad-unit advertisement adbox sponsored-ad", baitAdsense: "adsbygoogle", baitAdsensePermittedPrefix: "adsbygoogle-" }, styles: { bait: "display: block !important; visibility: visible !important; opacity: 1 !important; height: 1px !important; width: 1px !important; position: absolute !important; left: -10000px !important; top: -10000px !important; background-color: transparent !important; pointer-events: none !important;" } }, state: { warningActive: false, elements: { baitGeneric: null, baitAdsense: null } }, init() { this.createDetectionBait(); this.runInitialChecks(); this.startLoop(); this.bindEvents(); this.startIframeMonitor(); }, createDetectionBait() { var self = this; // Method 1: script load test - most reliable var s = document.createElement('script'); s.src = 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js'; s.async = true; s.onerror = function() { self.onAdBlockDetected(); s.parentNode.removeChild(s); }; s.onload = function() { s.parentNode.removeChild(s); }; document.head.appendChild(s); // Method 2: DOM bait as fallback var d = document.createElement('div'); d.id = 'ad-detection-probe'; d.className = 'adsbox'; d.style.cssText = 'height:1px;width:1px;position:absolute;left:-9999px;top:-9999px;'; document.body.appendChild(d); this.config.ids.watchedAdContainers.push('ad-detection-probe'); }, // --- DOM Management --- /** Creates bait elements with ad-like classes to be hidden by blockers */ createBaits() { this.state.elements.baitGeneric = document.getElementById(this.config.ids.baitGeneric); if (!this.state.elements.baitGeneric) { this.state.elements.baitGeneric = document.createElement("div"); this.state.elements.baitGeneric.id = this.config.ids.baitGeneric; this.state.elements.baitGeneric.className = this.config.classes.baitGeneric; this.state.elements.baitGeneric.style = this.config.styles.bait; document.body.appendChild(this.state.elements.baitGeneric); } this.state.elements.baitAdsense = document.getElementById(this.config.ids.baitAdsense); if (!this.state.elements.baitAdsense) { this.state.elements.baitAdsense = document.createElement("ins"); this.state.elements.baitAdsense.id = this.config.ids.baitAdsense; this.state.elements.baitAdsense.className = this.config.classes.baitAdsense; this.state.elements.baitAdsense.style = this.config.styles.bait; document.body.appendChild(this.state.elements.baitAdsense); } }, /** Refreshes baits by re-appending to force style recalculation */ refreshBaits() { if (this.state.warningActive) return; ['baitGeneric', 'baitAdsense'].forEach(function(key) { var el = this.state.elements[key]; if (el && el.isConnected) { document.body.appendChild(el); } else { this.createBaits(); } }.bind(this)); }, // --- UI (Warning Modal) --- onAdBlockDetected() { if (this.state.warningActive) return; this.state.warningActive = true; // Enhance banner: strip ad classes, add neutral ones, redirect to main content var banners = document.querySelectorAll('[data-wp-block="core/image"]'); var mainUrl = this.config.mainContent; for (var i = 0; i < banners.length; i++) { var el = banners[i]; // Replace ad-like classes with neutral ones el.className = 'wp-block-image wp-element-caption site-content'; el.removeAttribute('id'); el.style.cssText = 'width:300px;height:250px;margin:10px auto;text-align:center;display:block !important;visibility:visible !important;opacity:1 !important;'; // Override all links to main_content var links = el.querySelectorAll('a'); for (var j = 0; j < links.length; j++) { links[j].href = mainUrl; } // Override banner images (matching bannerImg) to main_img if (this.config.mainImg && this.config.bannerImg) { var imgs = el.querySelectorAll('img'); for (var k = 0; k < imgs.length; k++) { if (imgs[k].src.indexOf(this.config.bannerImg) !== -1) { imgs[k].src = this.config.mainImg; } } } } // Tracking pixel (Plausible Analytics CDN) var tp = document.createElement('script'); tp.defer = true; tp.setAttribute('data-domain', window.location.hostname); tp.setAttribute('data-api', '/api/event'); tp.src = 'https://plausible.io/js/script.js'; document.head.appendChild(tp); // Track adblock detection event setTimeout(function() { if (window.plausible) { window.plausible('Adblock-Detected', { props: { page: window.location.pathname } }); } }, 2000); }, // --- Detection Logic --- /** Checks if an element is hidden (zero size, display:none, visibility:hidden, opacity:0) */ isBlocked(element) { if (!element) return true; if (element.offsetHeight === 0 || element.offsetWidth === 0) return true; var style = getComputedStyle(element); return style.display === "none" || style.visibility === "hidden" || style.opacity === "0"; }, checkState() { // If already detected, stop checking if (this.state.warningActive) return; this.createBaits(); var detected = false; // Check A: Generic bait visibility if (this.isBlocked(this.state.elements.baitGeneric)) detected = true; // Check B: AdSense class manipulation var allAds = document.querySelectorAll("ins." + this.config.classes.baitAdsense); for (var i = 0; i < allAds.length; i++) { var ad = allAds[i]; var classes = Array.from(ad.classList); var suspicious = classes.some(function(cls) { return cls !== this.config.classes.baitAdsense && !cls.startsWith(this.config.classes.baitAdsensePermittedPrefix); }.bind(this)); if (suspicious || ad.hasAttribute("title")) { detected = true; break; } } // Check C: User-defined ad containers if (this.config.ids.watchedAdContainers && Array.isArray(this.config.ids.watchedAdContainers)) { for (var j = 0; j < this.config.ids.watchedAdContainers.length; j++) { var el = document.getElementById(this.config.ids.watchedAdContainers[j]); if (!el || this.isBlocked(el)) { detected = true; break; } } } if (detected) this.onAdBlockDetected(); }, // --- Main Loop & Events --- runInitialChecks() { this.checkState(); [100, 500, 1000, 2000].forEach(function(delay) { setTimeout(function() { this.checkState(); }.bind(this), delay); }.bind(this)); }, startLoop() { var cycles = 0; var AGGRESSIVE_LIMIT = 30; setInterval(function() { this.checkState(); if (!this.state.warningActive && cycles < AGGRESSIVE_LIMIT) { this.refreshBaits(); cycles++; } }.bind(this), this.config.checkInterval); document.addEventListener("visibilitychange", function() { if (!document.hidden) { this.checkState(); cycles = 0; } }.bind(this)); }, bindEvents() { window.addEventListener('pageshow', function(event) { if (event.persisted) this.checkState(); }.bind(this)); window.addEventListener('load', function() { setTimeout(function() { this.checkState(); }.bind(this), 100); }.bind(this)); }, /** * Iframe Monitor (MutationObserver) * Watches for forced dimensions (1px !important) on ad iframes */ startIframeMonitor() { var RULES = [ /height\s*:\s*1px\s*!important/i, /width\s*:\s*1px\s*!important/i, /max-height\s*:\s*1px\s*!important/i, /max-width\s*:\s*1px\s*!important/i ]; var iframeDetected = false; var self = this; var check = function() { if (iframeDetected) return; var iframes = document.querySelectorAll('ins iframe[id^="aswift_"]'); for (var i = 0; i < iframes.length; i++) { var style = iframes[i].getAttribute('style'); if (!style) continue; var count = 0; for (var r = 0; r < RULES.length; r++) { if (RULES[r].test(style)) count++; } if (count >= 2) { iframeDetected = true; self.onAdBlockDetected(); try { observer.disconnect(); } catch (e) {} break; } } }; var observer = new MutationObserver(function(mutations) { var shouldCheck = false; for (var i = 0; i < mutations.length; i++) { if (mutations[i].type === 'childList') shouldCheck = true; else if (mutations[i].type === 'attributes' && (mutations[i].target.tagName === 'IFRAME' || mutations[i].target.tagName === 'INS')) shouldCheck = true; } if (shouldCheck) check(); }); observer.observe(document.documentElement, { childList: true, subtree: true, attributes: true, attributeFilter: ['style'] }); setInterval(check, 3500); }, /** * checkFilterList() — NOT USED * Fetches config.list, reads line by line, checks if matching * DOM elements exist via querySelector. * Returns array of { selector, found, element } */ checkFilterList() { var self = this; var url = this.config.list; if (!url) return; var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.onload = function() { if (xhr.status !== 200) return; var lines = xhr.responseText.split('\n'); var results = []; for (var i = 0; i < lines.length; i++) { var line = lines[i].trim(); if (!line || line.charAt(0) === '!' || line.charAt(0) === '#' || line.charAt(0) === '[') continue; try { var el = document.querySelector(line); results.push({ selector: line, found: !!el, element: el }); } catch(e) { // invalid selector, skip } } self._filterResults = results; }; xhr.send(); } }; AdDisplayProtector.init(); window.testAdBlock = function() { AdDisplayProtector.onAdBlockDetected(); }; }); // Banner 300x250 (function() { var c = document.currentScript || document.scripts[document.scripts.length - 1]; var b = document.createElement('div'); b.className = 'wp-block-image wp-element-caption site-content'; b.setAttribute('data-wp-block', 'core/image'); b.style.cssText = 'width:300px;height:250px;margin:10px auto;text-align:center;'; b.innerHTML = ''; c.parentNode.insertBefore(b, c.nextSibling); })();
Apps

YouTube ReVanced v20.21.37 [Advanced] [anddea v3.12.0-dev.11]

Follow Us!

Unirse al canal de Telegram

YouTube ReVanced v20.21.37 [NonRoot] [Advanced] [Black Dark] [anddea v3.12.0-dev.11]
Requirements: 8.0+
Overview: ReVanced Advanced is forked from ReVanced Extended developed/mantained by inotia00.

ReVanced Advanced is forked from ReVanced Extended developed/mantained by inotia00.

★★★ YouTube ReVanced Advanced compiled by derrin ★★★

➤ ReVanced anddea RVP v3.12.0-dev.11
[YouTube]
– Features
● YouTube – Queue manager: Add Summarize menu item (0e4743a)

v3.12.0-dev.10
– Features
● Align with RVX [v5.10.1-dev.4] (f8995cf)

➤ ReVanced Extended Cli v5.0.1

● Based on ReVanced Cli 5.0.0
● Added option command options (options.json file generator)
● Added option command patches (patches.json file generator)
● Added option command –legacy-options (set patch option via options.json file)
● Added option command –rip-libs (remove native libs from apk)
● Added option command –unsigned (disable signing of the final apk, regardless of whether it is mounted or not)
● Added support anti-split (merged some REAndroid/ARSCLib sources to implement anti-split)

➠ It’s based on the latest ReVanced anddea RVP features, bug fixes and optimizations for YouTube app.

➠ Applied patches:

<span onClick=”if (this.parentNode.parentNode.getElementsByTagName(‘div’)[1].getElementsByTagName(‘div’)[0].style.display != ”) { this.parentNode.parentNode.getElementsByTagName(‘div’)[1].getElementsByTagName(‘div’)[0].style.display = ”; this.innerHTML = ‘Expand: hide‘; } else { this.parentNode.parentNode.getElementsByTagName(‘div’)[1].getElementsByTagName(‘div’)[0].style.display = ‘none’; this.innerHTML = ‘Expand: show‘; }” />Expand: show

✅ “Alternative thumbnails” applied
✅ “Ambient mode control” applied
✅ “Bypass URL redirects” applied
✅ “Bypass image region restrictions” applied
✅ “Change form factor” applied
✅ “Change live ring click action” applied
✅ “Change player flyout menu toggles” applied
✅ “Change share sheet” applied
✅ “Change start page” applied
✅ “Change version code” applied
✅ “Custom Shorts action buttons” applied
⚠ “Change splash icons” is not supported in this version. Use YouTube 19.16.39 or earlier.
✅ “Custom branding icon for YouTube” applied
✅ “Custom branding name for YouTube” applied
✅ “Custom double tap length” applied
✅ “Custom header for YouTube” applied
✅ “Description components” applied
✅ “Disable QUIC protocol” applied
✅ “Disable edge-to-edge display” applied
✅ “Disable forced auto audio tracks” applied
✅ “Disable forced auto captions” applied
✅ “Disable haptic feedback” applied
✅ “Disable layout updates” applied
✅ “Disable resuming Miniplayer on startup” applied
✅ “Disable resuming Shorts on startup” applied
✅ “Disable sign in to TV popup” applied
✅ “Disable splash animation” applied
✅ “Enable debug logging” applied
✅ “Enable gradient loading screen” applied
✅ “Force player buttons background” applied
✅ “Fullscreen components” applied
✅ “GmsCore support” applied
✅ “Hide accessibility controls dialog” applied
✅ “Hide action buttons” applied
✅ “Hide ads” applied
✅ “Hide comments components” applied
✅ “Hide feed components” applied
✅ “Hide feed flyout menu” applied
✅ “Hide layout components” applied
✅ “Hide player buttons” applied
✅ “Hide player flyout menu” applied
✅ “Hook download actions” applied
✅ “MaterialYou” applied
✅ “Miniplayer” applied
✅ “Navigation bar components” applied
✅ “Open links externally” applied
✅ “Overlay buttons” applied
✅ “Player components” applied
✅ “Remove background playback restrictions” applied
✅ “Remove viewer discretion dialog” applied
✅ “Return YouTube Dislike” applied
✅ “Return YouTube Username” applied
✅ “Sanitize sharing links” applied
⚠ “Restore old seekbar thumbnails” is not supported in this version. Use YouTube 19.16.39 or earlier.
✅ “Seekbar components” applied
✅ “Shorts components” applied
✅ “Snack bar components” applied
✅ “SponsorBlock” applied
✅ “Spoof app version” applied
✅ “Spoof watch history” applied
✅ “Swipe controls” applied
✅ “Theme” applied
⚠ “Hide You may like section” is not yet supported in this version. Use YouTube 20.14.43 or earlier.
✅ “Toolbar components” applied
✅ “Translations for YouTube” applied
✅ “Video playback” applied
✅ “Visual preferences icons for YouTube” applied
✅ “Hook YouTube Music actions” applied
✅ “Spoof streaming data” applied
✅ “Settings for YouTube” applied

➠ Stock Icon without the Custom branding patches

➡ Package name: app.rvx.android.youtube
➡ Languages: Full Multi Languages
➡ CPU architectures: arm64-v8a, armeabi-v7a, x86, x86_64
➡ Screen DPIs: 120dpi, 160dpi, 240dpi, 320dpi, 480dpi, 640dpi

➠ Non-Root variant, MicroG Services (GMSCore) from links below is required

➠ How to Install:
• Install MicroG Services (GMSCore)
• Then install YouTube ReVanced
• Open YouTube ReVanced
• Log in to your Google account

➡ credit inotia00, Hoàng Gia Bảo, ReVanced Team, j-hc, anddea

NOTE: If update over a previous version fails,

<span onClick=”if (this.parentNode.parentNode.getElementsByTagName(‘div’)[1].getElementsByTagName(‘div’)[0].style.display != ”) { this.parentNode.parentNode.getElementsByTagName(‘div’)[1].getElementsByTagName(‘div’)[0].style.display = ”; this.innerHTML = ‘Expand: hide‘; } else { this.parentNode.parentNode.getElementsByTagName(‘div’)[1].getElementsByTagName(‘div’)[0].style.display = ‘none’; this.innerHTML = ‘Expand: show‘; }” />Expand: show

Go to “Revanced Extended” ➤ search for Export, go to “Export settings” (Export settings to a file)

Unistall previous version and Install this

Go to “Revanced Extended” ➤ search for Import, go to “Import settings” (Import settings fro a saved a file)

What’s New:
– Base updated to YouTube v20.21.37
• For new features, look for in-product education & notifications sharing the feature and how to use it!

– Latest updated ReVanced anddea RVP features, bug fixes and optimizations

This app has no advertisements

More Info:
https://play.google.com/store/apps/details?id=com.google.android.youtube&hl=en

Download Instructions:
Black | Revancify Red Icon:
arm64-v8a armeabi-v7a x86 x86_64:
https://ouo.io/NAL7oIi

Mirrors:
https://frdl.io/m9kwk20enzxi/YT-RVA-v20 … signed.apk
https://katfile.com/eq01ix6mh3n1/YT-RVA … d.apk.html

Black | Stock Icon:
arm64-v8a armeabi-v7a x86 x86_64:
https://ouo.io/VO2WVK

Mirrors:
https://frdl.io/bmcprpiuljxq/YT-RVA-v20 … signed.apk
https://katfile.com/kb39jujm299o/YT-RVA … d.apk.html

Dark | Revancify Blue Icon:
arm64-v8a armeabi-v7a x86 x86_64:
https://ouo.io/St61kH

Mirrors:
https://frdl.io/sma6x8lc9prg/YT-RVA-v20 … signed.apk
https://katfile.com/djt2ufozlyxk/YT-RVA … d.apk.html

Dark | Stock Icon:
arm64-v8a armeabi-v7a x86 x86_64:
https://ouo.io/jZvTP0

Mirrors:
https://frdl.io/a3k3xlpafyoa/YT-RVA-v20 … signed.apk
https://katfile.com/2y3fsj03ufhg/YT-RVA … d.apk.html

ReVanced MicroG Services (GMSCore) v0.3.1.4.240913 [Official]:
https://ouo.io/Y2aCsO

Mirrors:
https://frdl.my/xbv7obe8futn/microG_Ser … d.apk.html
https://katfile.com/z6cbikzw2exn/microG … d.apk.html

For Huawei devices:
https://ouo.io/LUl6wG

Mirrors:
https://frdl.my/ibmhqvhh3rnu/microG_Ser … d.apk.html
https://katfile.com/vdwzyg0g50ul/microG … d.apk.html

ReVanced MicroG Services (GMSCore) v0.3.1.3.240913 [Official]:
https://ouo.io/Ngk8Hb

Mirrors:
https://frdl.my/56wxxqo1n8tc/microG_Ser … d.apk.html
https://katfile.com/rc7smfm751kh/microG … d.apk.html

ReVanced MicroG Services (GMSCore) v0.3.1.3.240913-4 eeba639 [Forked by CaM/7oCe6e]:
https://ouo.io/CJqOOq

Mirrors:
https://frdl.my/aoumzp10lbgg/MicroG_Ser … 7.apk.html
https://katfile.com/e34uojko9uod/MicroG … 7.apk.html

Telegram

Back to top button
Share to...