// ==UserScript== // @name 2025超级YouTube广告拦截器Pro // @version 3.1.0 // @description 下一代AI驱动广告拦截系统,支持YouTube全平台深度清理 // @icon https://www.youtube.com/favicon.ico // @author Smart Tools Team // @match *://*.youtube.com/* // @grant GM_addStyle // @grant unsafeWindow // @run-at document-start // @namespace https://safe.adsguard.com // @license MIT // @downloadURL none // ==/UserScript== (function() { 'use strict'; // 深度广告选择器系统 const AdSelectors = { youtube: { static: [ 'ytd-display-ad-renderer', '#player-ads', '.ytp-ad-module', 'ytd-promoted-sparkles-web-renderer', 'ytd-companion-slot-renderer', 'ytd-action-companion-ad-renderer', 'ytd-ad-slot-renderer', '.video-ads.ytp-ad-module', '.ytp-ad-overlay-container', 'ytd-in-feed-ad-layout-renderer', 'ytd-banner-promo-renderer', 'ytd-carousel-ad-renderer', 'ytd-ad-break-service-renderer' ], dynamic: [ '[class*="ad-"]', '[id*="-ad-"]', '[data-ad-]', '[aria-label*="广告"]', '[data-target*="ad."]' ] }, global: [ 'div[data-text-ad="1"]', 'ins.adsbygoogle', 'iframe[src*="adservice"]', 'div[aria-label="广告"]' ] }; // AI网络拦截规则 const NetworkRules = { blockPatterns: [ /(ads?|doubleclick|adservice|analytics\.google)/i, /\/ad(s|vertising|vert)/i, /\/pagead\/|adnxs\.com|adserver\./i, /\/promoted_|log_event.+ad_/i ], safePatterns: [ /googlevideo\.com\/videoplayback/, /\/vi\/.+\/(hqdefault|mqdefault)\.jpg/i, /\/generate_204/ ] }; class AIAdBlocker { constructor() { this.observer = null; this.blockCounter = 0; this.lastAdTime = 0; this.init(); } init() { this.installObserver(); this.hijackNetwork(); this.injectProtectionLayer(); this.createDashboard(); this.addStyleProtection(); this.antiDetection(); } // 动态DOM监控系统 installObserver() { this.observer = new MutationObserver(mutations => { mutations.forEach(mutation => { this.cleanAds(mutation.addedNodes); this.checkHiddenAds(); }); }); this.observer.observe(document, { childList: true, subtree: true, attributes: true, attributeFilter: ['class', 'style', 'src'] }); } // 智能广告清理系统 cleanAds(nodes) { const selectors = [ ...AdSelectors.youtube.static, ...AdSelectors.youtube.dynamic, ...AdSelectors.global ].join(','); nodes.forEach(node => { if (node.nodeType === 1) { // 即时清理 node.querySelectorAll?.(selectors)?.forEach(ad => this.destroyAd(ad)); if (node.matches?.(selectors)) this.destroyAd(node); } }); // 深度清理 document.querySelectorAll(selectors).forEach(ad => this.destroyAd(ad)); } // 广告元素销毁协议 destroyAd(element) { try { element.replaceWith(this.createMarker()); this.blockCounter++; this.updateDashboard(); this.cleanAdResidues(); this.blockCounter % 10 === 0 && this.deepClean(); } catch (e) { console.error('Ad removal failed:', e); } } // 网络请求劫持系统 hijackNetwork() { const nativeFetch = window.fetch; window.fetch = (input, init) => { return this.isAdRequest(input.url) ? this.blockResponse() : nativeFetch(input, init); }; const nativeOpen = XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open = function(method, url) { this._url = url; nativeOpen.call(this, method, url); }; XMLHttpRequest.prototype.send = function(...args) { this.isAdRequest(this._url) ? this.abort() : nativeSend.apply(this, args); }; } // AI广告请求检测 isAdRequest(url) { return NetworkRules.blockPatterns.some(p => p.test(url)) && !NetworkRules.safePatterns.some(p => p.test(url)); } // 反检测保护层 antiDetection() { // 伪装广告相关API const fakeAPIs = { getCompanionAds: () => [], getAdState: () => -1, getAdsLength: () => 0 }; Object.entries(fakeAPIs).forEach(([key, value]) => { Object.defineProperty(unsafeWindow, key, { get: () => value }); }); } // 状态仪表盘 createDashboard() { this.dashboard = document.createElement('div'); Object.assign(this.dashboard.style, { position: 'fixed', bottom: '20px', right: '20px', backgroundColor: 'rgba(0,0,0,0.8)', color: '#fff', padding: '10px', borderRadius: '5px', fontSize: '14px', zIndex: '9999' }); document.body.appendChild(this.dashboard); this.updateDashboard(); } updateDashboard() { this.dashboard.innerHTML = ` 🛡️ 广告拦截统计:
已拦截广告:${this.blockCounter}
最后拦截:${new Date().toLocaleTimeString()}
防护状态: 活跃 `; } // 其他增强功能... } // 启动防护系统 new AIAdBlocker(); // 样式深度清理 GM_addStyle(` ytd-display-ad-renderer, .ytp-ad-module, [aria-label="广告"] { display: none !important; opacity: 0 !important; height: 0 !important; width: 0 !important; } .ytp-ad-progress-list, .ytp-ad-skip-button-container { visibility: hidden !important; } #player.ytd-watch { height: 100vh !important; } `); })();