tohle mám v testovacím režimu na všech stránkách, ale oba // @match výrazy pro jistotu nahraďte osel.cz, pro který jsem si to sestavil (neručím, že to něco nerozbije někde jinde, například "enable" a "disable" řádky bych možná taky raději preventivně odstranil):
// @match
https://www.osel.cz/*
// ==UserScript==
// @name Advanced AdBlock Detection Remover
// @namespace
http://tampermonkey.net/
// @version 10
// @description Remove all adblock detection
// @author Claude.ai
// @match http://*/*
// @match https://*/*
// @grant none
// @run-at document-start
// ==/UserScript==
(function() {
'use strict';
// Block Google Funding Choices
Object.defineProperty(window, 'fc', {
get: function() { return {}; },
set: function() {}
});
// Block Google Analytics adblock detection
const originalGA = window.ga;
if (typeof originalGA === 'function') {
window.ga = function() {
if (arguments[0] === 'send' &&
arguments[1] === 'event' &&
arguments[2] === 'Adblock') {
console.log('Blocked GA Adblock event');
return;
}
return originalGA.apply(this, arguments);
};
}
// Block old Google Analytics
if (typeof window._gaq !== 'undefined') {
const originalGaqPush = window._gaq.push;
window._gaq.push = function() {
if (arguments[0] &&
Array.isArray(arguments[0]) &&
arguments[0][0] === '_trackEvent' &&
arguments[0][1] === 'Adblock') {
console.log('Blocked old GA Adblock event');
return;
}
return originalGaqPush.apply(this, arguments);
};
}
// Force scrollbar function
function forceScrollbar() {
document.documentElement.style.overflow = 'auto';
if (document.body) {
document.body.style.overflow = 'auto';
}
}
// Remove any existing adblock popups
function removeAdblockPopups() {
// Force scrollbar every time we run cleanup
forceScrollbar();
// Remove Funding Choices popup
document.querySelectorAll('.fc-ab-root, .fc-dialog-container, .fc-dialog-overlay, .fc-whitelist-root').forEach(el => {
el.remove();
console.log('Removed Funding Choices popup');
});
// Remove any other potential adblock warnings
const selectors = [
'.adblock-popup', '.adblock-detected', '.adsbygoogle',
'ins.adsbygoogle', '.advertisement', '.ad-warning',
'.adblock-notice', '.adblock-modal', '[class*="adblock"]',
'[id*="adblock"]', '[class*="advertisement"]', '[id*="advertisement"]',
'.eu-cookies', '.fb_box'
];
selectors.forEach(selector => {
document.querySelectorAll(selector).forEach(element => {
if (element.innerHTML.includes('ad') ||
element.innerHTML.includes('AdBlock') ||
element.innerHTML.includes('disable') ||
element.innerHTML.includes('enable') ||
element.innerHTML.includes('advertisement') ||
element.innerHTML.includes('reklam')) {
element.remove();
console.log('Removed adblock element:', selector);
}
});
});
// Remove overlay elements that might block content
document.querySelectorAll('body > *').forEach(element => {
const style = window.getComputedStyle(element);
if (style.position === 'fixed' && style.zIndex > '9999') {
const text = element.textContent.toLowerCase();
if (text.includes('adblock') || text.includes('disable') ||
text.includes('whitelist') || text.includes('advertisement')) {
element.remove();
}
}
});
}
// Block requests to Google Ads and Funding Choices
const originalSend = XMLHttpRequest.prototype.send;
XMLHttpRequest.prototype.send = function() {
if (arguments[0] && typeof arguments[0] === 'string' &&
(arguments[0].includes('googleads.g.doubleclick.net') ||
arguments[0].includes('fundingchoicesmessages.google.com'))) {
console.log('Blocked request to Google Ads/Funding Choices');
return;
}
return originalSend.apply(this, arguments);
};
const originalFetch = window.fetch;
window.fetch = function() {
if (arguments[0] && typeof arguments[0] === 'string' &&
(arguments[0].includes('googleads.g.doubleclick.net') ||
arguments[0].includes('fundingchoicesmessages.google.com'))) {
console.log('Blocked fetch to Google Ads/Funding Choices');
return Promise.reject(new Error('Blocked by adblock script'));
}
return originalFetch.apply(this, arguments);
};
// Block Funding Choices iframes
const originalCreateElement = document.createElement;
document.createElement = function() {
const element = originalCreateElement.apply(this, arguments);
if (arguments[0] === 'iframe') {
setTimeout(() => {
if (element.src && element.src.includes('fundingchoicesmessages.google.com')) {
element.remove();
console.log('Blocked Funding Choices iframe');
}
}, 0);
}
return element;
};
// Run cleanup on page load
document.addEventListener('DOMContentLoaded', removeAdblockPopups);
window.addEventListener('load', removeAdblockPopups);
console.log('Advanced AdBlock Detection Remover is active');
})();