// ==UserScript== // @name 51 吃瓜网广告过滤 // @name:zh-CN 51 吃瓜网广告过滤 // @name:en 51CG Ad Block // @namespace https://github.com/luestr/userscripts // @version 2.2.2 // @description 过滤 51cg1.com 广告,仅适配 WebKit 引擎环境。 // @description:zh-CN 过滤 51cg1.com 广告,仅适配 WebKit 引擎环境。 // @description:en Block advertisements on 51cg1.com. WebKit only. // @author 可莉 // @homepageURL https://t.me/ibilibili // @updateURL https://raw.githubusercontent.com/luestr/userscripts/main/adblock/51cg_adblock.user.js // @downloadURL https://raw.githubusercontent.com/luestr/userscripts/main/adblock/51cg_adblock.user.js // @match https://51cg1.com/* // @match https://www.51cg1.com/* // @run-at document-start // @grant unsafeWindow // @grant GM_addStyle // @noframes // @webRequest [{"selector":"*://pic.wvxrrip.cn/hc237/*","action":"cancel"},{"selector":"*://*.zyudkkup.com/*","action":"cancel"},{"selector":"*://mc.yandex.ru/*","action":"cancel"},{"selector":"*://*.googletagmanager.com/*","action":"cancel"},{"selector":"*://*.google-analytics.com/*","action":"cancel"},{"selector":"*://analytics.google.com/*","action":"cancel"},{"selector":"*://*.doubleclick.net/*","action":"cancel"},{"selector":"*://*.googlesyndication.com/*","action":"cancel"}] // ==/UserScript== (function () { 'use strict'; // ---- 内部开关(无 UI,如需调整请直接改此常量) -------------------------- const CONFIG = { blockCreatives: true, // 拦截广告素材图 pic.wvxrrip.cn/hc237/ blockTrackers: true, // 拦截第三方统计/追踪 (zyudkkup / yandex / gtm / ga / doubleclick) blockLanding: true, // 拦截广告落地域名(点击 / 弹窗) removeNoTitle: true, // 移除“没有文章标题”的列表广告卡 }; /* ------------------------------------------------------------------------- * 0. 请求拦截规则(以字符串保存,便于注入页面上下文后重建 RegExp) * ---------------------------------------------------------------------- */ // 广告素材:仅 /hc237/ 路径为广告;内容缩略图在 /upload_01/ 与 /upload/,切勿误伤 const CREATIVE_PATTERNS = [ 'pic\\.wvxrrip\\.cn/hc237/', ]; // 第三方统计 / 广告上报 const TRACKER_PATTERNS = [ 'zyudkkup\\.com', // 站内广告点击/曝光上报 apiEndpoint 'mc\\.yandex\\.ru', // Yandex Metrika 'googletagmanager\\.com', // Google Tag Manager / gtag 'google-analytics\\.com', // Google Analytics 'analytics\\.google\\.com', 'doubleclick\\.net', 'googlesyndication\\.com', 'googleadservices\\.com', ]; // 广告落地域名(点击/弹窗的中和对象) const LANDING_PATTERNS = [ 'gbkhj341\\.com', 'vfegt910\\.com', '05681032\\.com', '55730251\\.com', '32535634\\.com', '82015313\\.com', '154\\.201\\.192\\.169', 'iwangzi\\.com', 'qddcjy\\.com', 'sqfnhloyh\\.cc', // 底部悬浮按钮“51吃瓜APP内打开”的落地域名 'wtpntjz\\.cc', 'hailiao60\\.com', // 详情页文字广告“51裸聊” 'hgdj9\\.com', // 详情页文字广告“黄瓜短剧” 'ushvkvsii\\.cc', // 详情页文字广告“51短剧” 'rbofzoubn\\.cc', // 详情页“官方公告”福利导航 'dumlhsqb\\.cc', // 镜像域名劫持跳转目标 '2622885\\.cc', '9751231\\.cc', '2690125\\.cc', '5836312\\.cc', '3920278\\.cc', '5648579\\.cc', '22e85s7\\.vip', 'pj74qhg\\.me', 'ktho480\\.cc', '2orjnav\\.me', 'pj51nc-[0-9]+\\.ap-northeast-2\\.elb\\.amazonaws\\.com', ]; const HOOK_CFG = { creatives: CREATIVE_PATTERNS, trackers: TRACKER_PATTERNS, landing: LANDING_PATTERNS, blockCreatives: CONFIG.blockCreatives, blockTrackers: CONFIG.blockTrackers, blockLanding: CONFIG.blockLanding, }; /* ------------------------------------------------------------------------- * 1. 页面上下文运行时钩子安装器 * —— 自包含(不引用外层作用域),可同时用于 unsafeWindow 直连与页面内