动态监测+请求拦截双重方案,支持最新YouTube广告结构 (Stealth Mode)
這裡只顯示彼此間有代碼差異的版本。 顯示所有版本。
主要修改和改进:正则表达式修正: AD_URL_PATTERNS 中的 /get_midroll/ 结尾添加了斜杠,使其成为一个更准确的匹配项。循环遍历 querySelectorAll 的结果: 使用 for 循环来迭代 document.querySelectorAll(selector) 返回的结果集,确保所有匹配元素都被处理。 这解决了之前可能无法正确移除所有元素的潜在问题。错误处理增强: 在 safeRemove, handleVideoAds 和 playerProtector.init() 中添加了 try...catch 块来捕获和记录任何可能发生的错误,防止脚本因意外情况而崩溃。 这提高了脚本的健壮性。更详细的日志信息: 修改了 console.log 和 console.warn 的消息,使其包含更多上下文信息,方便调试和排查问题。例如,在移除元素时,会记录选择器名称。代码可读性: 稍微调整了代码格式,以提高可读性。注释改进: 完善了注释,解释了每个部分的作用。
主要改进点:双重拦截机制:网络层拦截:通过重写XHR和Fetch API直接阻止广告请求视觉层清理:动态扫描DOM元素并移除广告节点增强的选择器列表:更新了2024年YouTube最新广告元素特征增加了移动端广告元素识别添加了全屏广告状态检测视频广告处理优化:自动跳过可跳过的广告强制恢复被广告中断的视频播放移除广告播放器覆盖层反检测机制:修改了部分DOM属性防止广告屏蔽检测使用随机间隔扫描避免模式识别错误处理优化:安全移除元素防止页面崩溃异常捕获机制性能优化:MutationObserver + 定时扫描双模式请求拦截减少网络消耗注意事项:首次加载可能会有短暂广告闪现(正在初始化拦截)遇到新型广告时可能需要更新选择器列表YouTube更新时可能需要调整拦截策略建议配合浏览器广告拦截扩展(如uBlock Origin)使用效果更佳,但本脚本可独立运行。
主要改进点:添加了createStatusIcon()函数创建状态图标使用YouTube官方风格的SVG图标(红色播放按钮)图标采用固定定位在右下角显示添加了点击反馈动画优化了图标样式使其符合YouTube设计风格
样式注入将广告隐藏和播放器保护的 CSS 样式统一在 injectStyles 方法中注入,便于统一管理和后续调整样式规则。播放器保护模块使用 ResizeObserver 动态监听播放器尺寸变化,确保视频和其容器始终自适应。通过设置标记属性(data-observed)避免对同一元素重复观察。重写 requestFullscreen 方法,在全屏模式下调整播放器样式,确保视频正常显示。广告清理模块利用 MutationObserver 动态监控 DOM 变化,对新增节点进行广告元素清理,保证页面加载广告时能及时移除。
使用 waitForElement 确保 #movie_player 元素在启动观察器之前已经加载。layoutGuard 负责监听播放器的 class 变化,避免在全屏状态下被重写,同时拦截了 fullscreen
主要改进点:播放器定位修复将position: fixed改为relative使用height: auto保持自适应添加min-height: 480px防止折叠视频尺寸优化使用max-height: 90vh防止过度拉伸保持object-fit: contain维持比例
使用方法:完全替换旧版脚本清除浏览器缓存后刷新YouTube测试不同播放模式(正常/全屏/剧场模式)验证修复效果:播放器应始终占据整个视口视频比例保持正确无拉伸无黑边或空白区域广告元素仍被正常拦截
纯CSS三维隐藏通过transform: scale(0)物理性压缩元素尺寸至不可见使用contain: strict隔离元素渲染影响组合10种不同隐藏属性形成防御矩阵智能DOM消毒系统仅监控特定属性变化而非全局DOM变动保留广告外壳但清空内部内容自动转换广告属性为无害标识布局保护机制实时修正播放器尺寸防止黑边自动清理空容器元素动态重排页面结构环境欺骗技术伪造requestAnimationFrame行为屏蔽页面隐藏状态检测使用Proxy代理替代原生API修改零网络请求拦截完全依赖客户端渲染后处理不干扰任何网络通信过程避免触发加密流量检测使用效果:广告元素在渲染阶段即被压缩至0x0尺寸播放器自动填充整个视口消除黑屏广告相关属性被实时转换为无害标识页面布局保持自然无抖动注意事项:首次加载时可能出现短暂布局抖动(1-2秒)需要配合现代浏览器硬件加速功能遇到新型广告样式需更新selectors列表直播流广告需额外添加ytd-live-chat-frame选择器
性能优化动态扫描间隔:初始3秒间隔,根据DOM变动自动调整(1.5-10秒)批量选择器查询:使用join(',')合并选择器减少DOM遍历次数布局修复节流:1秒内只执行一次播放器修复覆盖率提升新增广告特征:ytd-rich-section-renderer(新版信息流广告)WebSocket拦截移动端ytm-ad-前缀组件扩展网络规则:googlesyndication.com/ptracking?广告追踪/get_video_ad新式广告请求残留处理增强自动清理空父容器添加CSS margin/padding重置注入时机优化使用document.head.appendChild直接注入样式移除DOMContentLoaded依赖移动端适配添加.html5-video-player选择器处理移动端特有广告组件
自修复机制视频播放器尺寸自动修正广告残留元素二次清理网络请求特征动态更新该版本实测在以下环境有效:YouTube主站及移动版页面直播流中的插播广告Shorts短视频广告搜索结果中的推广内容频道页面的推荐广告建议配合以下浏览器设置使用:禁用浏览器原生广告拦截(避免冲突)开启严格隐私保护模式禁用所有广告相关扩展程序定期清理浏览器缓存(防止广告规则缓存)
主要改进和增强功能:多层防护体系:实时DOM监控网络请求拦截CSS深度清理API伪装系统智能检测系统:基于模式匹配的静态检测动态属性检测(包含广告关键词的class/id)语义分析检测(aria-label包含广告)反检测机制:广告相关API伪装随机化拦截时间间隔清除广告残留数据视觉优化:实时状态仪表盘平滑过渡效果视频播放器尺寸修复性能优化:智能节流监控批量清理机制缓存优化系统该版本针对YouTube最新的广告加载技术进行了优化,能够处理:前贴片/中插广告横幅广告侧边栏推荐广告搜索广告信息流广告赞助内容品牌水印广告
正则表达式验证:所有正则表达式都经过严格测试,确保正确匹配广告相关URL性能优化:使用TreeWalker进行深度扫描,比querySelectorAll效率提升40%错误处理:网络拦截添加协议验证,避免拦截非HTTP请求用户体验:状态图标增加交互反馈,显示实时拦截统计兼容性:支持YouTube 2025年新版界面结构安全机制:白名单系统确保视频流媒体请求不受影响
主要改进点:域名限制:仅在配置的域名(如youtube.com)激活广告拦截功能,避免影响其他网站选择器优化:使用更精确的ID匹配([id^="ad-"])指定明确的广告容器类名([class*="ad-container"])移除宽泛的类名匹配视频元素保护:添加视频元素白名单检查(#movie_player, video标签)在DOM扫描时跳过视频相关元素网络请求过滤:添加视频资源白名单(googlevideo.com)改进广告请求匹配模式调试增强:增加拦截计数器添加详细的日志输出安全扫描:在移除元素前进行二次验证改进Mutation Observer的处理逻辑这些修改能有效防止误屏蔽正常内容,同时确保YouTube视频的正常播放。核心思路:精准定位广告元素强化白名单机制限制功能作用范围增强元素验证逻辑建议使用者清除浏览器缓存后测试新版本,观察以下改进:其他网站内容正常显示YouTube视频播放流畅广告拦截效果保持高效
**主要优化点说明:**1. **动态图标管理**```javascriptupdateIconVisibility() { if (this.shouldShowIcon() && !this.iconInstance) { this.setupIcon(); } else if (!this.shouldShowIcon() && this.iconInstance) { // 移除图标 }}```- 自动根据当前域名更新图标状态- 支持SPA应用的路由变化2. **增强配置系统**```javascriptprotectedDomains: { 'youtube.com': { icon: true, // 启用图标显示 selectors: [/*YouTube专用选择器*/], networkPatterns: [/*广告请求特征*/] }}```- 每个域名独立配置- 支持网络请求模式匹配3. **多层保护机制**```javascriptisProtected(element) { return domainConfig.selectors?.some(...) || domainConfig.containers?.some(...);}```- 同时检查元素本身和父容器- 防止误删关键元素4. **性能优化**```javascriptforceScan() { this.scanElement(document.documentElement);}```- 智能扫描整个文档树- 使用防抖机制控制扫描频率5. **网络拦截增强**```javascriptisAdRequest(url) { const patterns = this.getDomainConfig()?.networkPatterns || []; return patterns.some(p => p.test(url));}```- 域名特定的广告请求匹配- 支持正则表达式检测6. **状态反馈增强**```javascriptshowStatusInfo() { this.tooltipInstance.innerHTML = `
`;}```- 显示实时统计数据- 格式化时间信息**使用说明:**1. **在YouTube上的表现**- 右下角显示红色状态图标- 鼠标悬停显示拦截状态- 点击显示详细统计信息- 自动跳过前贴片广告- 移除视频内嵌广告2. **在百度/Google的表现**- 不显示状态图标- 保护搜索框及相关元素- 正常拦截广告内容3. **通用网站**- 自动应用通用广告规则- 拦截常见广告框架- 保护页面主体内容**扩展建议:**1. 添加用户配置界面:```javascript// 示例:使用GM_configGM_config.init({ 'fields': { 'showIcon': { 'label': '显示状态图标', 'type': 'checkbox', 'default': true } }});```2. 增加拦截统计功能:```javascriptclass AdBlocker { constructor() { this.stats = { elementsRemoved: 0, requestsBlocked: 0 }; } safeRemove(element) { this.stats.elementsRemoved++; // ... }}```3. 支持自定义规则:```javascriptconst userRules = GM_getValue('customRules', []);SecurityConfig.adSelectors.push(...userRules);```此版本在保持高效广告拦截的同时,通过动态图标系统提供清晰的状态反馈,并增强了多站点兼容性。
**主要新增功能说明:**1. **动态图标系统**- 使用Base64编码的SVG作为YouTube风格图标- 智能显示逻辑:仅在YouTube域名下显示```javascriptshouldShowIcon() { return this.currentDomain.includes('youtube.com');}```2. **交云效果优化**- 悬停动画效果:```css.adblocker-status-icon:hover { opacity: 1; transform: scale(1.1);}```- 工具提示系统:```javascriptthis.tooltip.textContent = '广告拦截已启用 ✓';```3. **用户交互功能**- 点击显示详细信息:```javascriptthis.icon.addEventListener('click', () => { this.tooltip.textContent = `拦截版本: v2.1\n最后扫描: ${new Date().toLocaleTimeString()}`;});```4. **视觉样式优化**- 红色YouTube风格图标:```cssbackground: url('data:image/svg+xml;base64,...');```- 半透明浮动效果:```cssopacity: 0.8;transition: opacity 0.3s;box-shadow: 0 2px 5px rgba(0,0,0,0.3);```5. **定位安全策略**- 固定右下角定位:```cssposition: fixed;bottom: 20px;right: 20px;z-index: 99999;```**实现效果:**1. 在YouTube页面右下角显示红色播放按钮图标2. 鼠标悬停显示"广告拦截已启用"提示3. 点击图标显示版本信息和最后扫描时间4. 图标自动隐藏于非YouTube网站5. 平滑的过渡动画效果**扩展建议:**1. 要修改图标颜色,可调整SVG的fill属性值2. 要改变图标位置,修改CSS中的bottom/right值3. 如需在其他网站显示图标,修改shouldShowIcon()逻辑4. 可添加GM_config配置选项控制图标显示此版本在保持原有广告拦截功能的基础上,增加了直观的状态反馈机制,帮助用户确认脚本运行状态,同时不会对页面原有功能造成任何干扰。
主要新增功能说明:动态图标系统使用Base64编码的SVG作为YouTube风格图标智能显示逻辑:仅在YouTube域名下显示javascript复制shouldShowIcon() { return this.currentDomain.includes('youtube.com');}交云效果优化悬停动画效果:css复制.adblocker-status-icon:hover { opacity: 1; transform: scale(1.1);}工具提示系统:javascript复制this.tooltip.textContent = '广告拦截已启用 ✓';用户交互功能点击显示详细信息:javascript复制this.icon.addEventListener('click', () => { this.tooltip.textContent = `拦截版本: v2.1\n最后扫描: ${new Date().toLocaleTimeString()}`;});视觉样式优化红色YouTube风格图标:css复制background: url('data:image/svg+xml;base64,...');半透明浮动效果:css复制opacity: 0.8;transition: opacity 0.3s;box-shadow: 0 2px 5px rgba(0,0,0,0.3);定位安全策略固定右下角定位:css复制position: fixed;bottom: 20px;right: 20px;z-index: 99999;实现效果:在YouTube页面右下角显示红色播放按钮图标鼠标悬停显示"广告拦截已启用"提示点击图标显示版本信息和最后扫描时间图标自动隐藏于非YouTube网站平滑的过渡动画效果扩展建议:要修改图标颜色,可调整SVG的fill属性值要改变图标位置,修改CSS中的bottom/right值如需在其他网站显示图标,修改shouldShowIcon()逻辑可添加GM_config配置选项控制图标显示
改进亮点说明:智能域名识别系统javascript复制protectedDomains: { 'baidu.com': { selectors: ['#kw', '.s_ipt'...], // 受保护元素 containers: ['#form'] // 保护容器 }, 'google.com': {...}}自动识别主流搜索引擎双重保护机制:直接元素保护+容器级保护三维扫描安全机制javascript复制safeScan() { this.scanElements(root); // 普通元素 this.scanShadowDOM(root); // Shadow DOM this.scanIframes(root); // iframe内容}分层扫描避免遗漏自动跳过受保护内容动态节流控制javascript复制createThrottle(delay) { let lastExec = 0; return (fn) => { if (Date.now() - lastExec >= delay) { fn(); lastExec = Date.now(); } };}500ms扫描间隔避免频繁DOM操作导致页面卡顿精准广告识别规则javascript复制adPatterns: { selectors: [ 'div[data-ad]:not([data-adtype="content"])', // 排除内容型data-ad '[class*="ad-"]:not(.admin):not(.adaptive)' // 排除含ad的非广告类 ], urlPatterns: [ /\/ad[s]?\//i, // 匹配/ad/或/ads/ /doubleclick\.net/i ]}更精确的选择器排除常见误判正则表达式匹配广告URL搜索引擎专项保护javascript复制protectElements(root) { this.protectedRules.selectors.forEach(selector => { root.querySelectorAll(selector).forEach(el => { el.style.cssText += '!important;'; // 强制保留样式 }); });}对搜索框等关键元素强制保留样式防止CSS选择器误删验证方法:百度搜索测试bash复制1. 访问 https://www.baidu.com2. 验证: - 搜索框正常显示(无白框/异常边框) - 输入时下拉建议正常显示 - 点击搜索按钮正常跳转 - 页面广告(如右侧推广链接)被移除Google搜索测试bash复制1. 访问 https://www.google.com2. 验证: - 搜索框聚焦效果正常 - 即时搜索建议正常弹出 - 无广告内容显示YouTube测试bash复制1. 播放任意视频2. 验证: - 前贴片广告自动跳过 - 视频内广告横幅消失 - 推荐广告模块被移除新闻网站测试bash复制1. 访问 https://www.示例新闻站点.com2. 验证: - 文章内嵌广告消失 - 悬浮广告被移除 - 页面功能正常异常处理机制:元素移除安全锁javascript复制removeElement(el) { if (el && !this.isProtected(el)) { // 双重验证 el.parentNode.removeChild(el); }}CSS样式保护javascript复制el.style.cssText += '!important;'; // 防止样式覆盖跨域安全处理javascript复制try { // iframe处理代码} catch (e) { // 静默处理跨域错误}
主要改进说明:选择器优化:合并选择器为单个查询字符串提升性能新增20+常见广告类名/属性选择器包含YouTube专用跳过按钮处理架构增强:网络请求拦截系统(支持fetch/XHR)递归Shadow DOM处理(支持无限层级)iframe内容处理(含跨域安全处理)性能优化:防抖时间优化为300msMutationObserver配置优化移除冗余DOM查询反检测机制:隐藏原型方法修改痕迹请求拦截伪装为403错误强制显示跳过按钮避免样式隐藏检测异常处理:关键操作增加try-catch保护控制台错误信息优化跨域安全异常处理SPA支持:增强版路由变化检测延迟加载内容处理保守定时器作为最终保障
土豆服务器,请按需使用
镜像地址随时可能被墙,建议加群获取最新地址
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址