From 00a265e9d0a9b65217676b5da79108518d82659d Mon Sep 17 00:00:00 2001 From: SukkaW Date: Mon, 30 Sep 2024 04:30:18 +0800 Subject: [PATCH] Feat: enhanced AdBlock with outbrain widget --- Mock/widgets-outbrain-com_outbrain.js | 53 ++++++++++++++++++++++++++ Modules/sukka_enhance_adblock.sgmodule | 27 ++++++------- 2 files changed, 67 insertions(+), 13 deletions(-) create mode 100644 Mock/widgets-outbrain-com_outbrain.js diff --git a/Mock/widgets-outbrain-com_outbrain.js b/Mock/widgets-outbrain-com_outbrain.js new file mode 100644 index 00000000..a0e56f44 --- /dev/null +++ b/Mock/widgets-outbrain-com_outbrain.js @@ -0,0 +1,53 @@ +(function () { + 'use strict'; + + const noopfn = () => { + // noop + }; + const obr = {}; + const methods = [ + 'callClick', + 'callLoadMore', + 'callRecs', + 'callUserZapping', + 'callWhatIs', + 'cancelRecommendation', + 'cancelRecs', + 'closeCard', + 'closeModal', + 'closeTbx', + 'errorInjectionHandler', + 'getCountOfRecs', + 'getStat', + 'imageError', + 'manualVideoClicked', + 'onOdbReturn', + 'onVideoClick', + 'pagerLoad', + 'recClicked', + 'refreshSpecificWidget', + 'renderSpaWidgets', + 'refreshWidget', + 'reloadWidget', + 'researchWidget', + 'returnedError', + 'returnedHtmlData', + 'returnedIrdData', + 'returnedJsonData', + 'scrollLoad', + 'showDescription', + 'showRecInIframe', + 'userZappingMessage', + 'zappingFormAction' + ]; + obr.extern = { + video: { + getVideoRecs: noopfn, + videoClicked: noopfn + } + }; + methods.forEach((a) => { + obr.extern[a] = noopfn; + }); + window.OBR = obr; +}()); diff --git a/Modules/sukka_enhance_adblock.sgmodule b/Modules/sukka_enhance_adblock.sgmodule index be33d9e1..d6b7f20b 100644 --- a/Modules/sukka_enhance_adblock.sgmodule +++ b/Modules/sukka_enhance_adblock.sgmodule @@ -2,18 +2,19 @@ #!desc=增强 ADBlock 效果、恢复网站正常功能 [MITM] -hostname = %APPEND% *.google-analytics.com, *.googletagmanager.com, *.googlesyndication.com, *.googletagservices.com, *.doubleclick.net, cdn.ampproject.org, *.addthis.com, static.chartbeat.com +hostname = %APPEND% *.google-analytics.com, *.googletagmanager.com, *.googlesyndication.com, *.googletagservices.com, *.doubleclick.net, cdn.ampproject.org, *.addthis.com, static.chartbeat.com, widgets.outbrain.com [URL Rewrite] -^https?://.*\.google-analytics\.com/analytics\.js https://ruleset.skk.moe/Mock/www-google-analytics-com_analytics.js 302 -^https?://.*\.googletagmanager\.com/gtm\.js https://ruleset.skk.moe/Mock/www-google-analytics-com_analytics.js 302 -^https?://.*\.google-analytics\.com/ga\.js https://ruleset.skk.moe/Mock/www-google-analytics-com_ga.js 302 -^https?://.*\.google-analytics\.com/cx/api\.js https://ruleset.skk.moe/Mock/www-google-analytics-com_cx_api.js 302 -^https?://.*\.googlesyndication\.com/adsbygoogle\.js https://ruleset.skk.moe/Mock/www-googlesyndication-com_adsbygoogle.js 302 -^https?://.*\.googletagservices\.com/gpt\.js https://ruleset.skk.moe/Mock/www-googletagservices-com_gpt.js 302 -^https?://.*\.google-analytics\.com/inpage_linkid\.js https://ruleset.skk.moe/Mock/www-google-analytics-com_inpage_linkid.js 302 -^https?://.*\.doubleclick\.net/instream/ad_status\.js https://ruleset.skk.moe/Mock/doubleclick-net_instream_ad_status.js 302 -^https?://cdn\.ampproject\.org/v0.js https://ruleset.skk.moe/Mock/ampproject-org_v0.js 302 -^https?://.*\.addthis\.com/addthis_widget.js https://ruleset.skk.moe/Mock/addthis-com_addthis_widget.js 302 -^https?://.*\.amazon-adsystem.com/aax2/apstag.js https://ruleset.skk.moe/Mock/amazon-adsystem-com_amazon-apstag.js 302 -^https?://static.chartbeat.com/chartbeat.js https://ruleset.skk.moe/Mock/static-chartbeat-com_chartbeat_mab.js 302 +^https?://.+\.google-analytics\.com/analytics\.js https://ruleset.skk.moe/Mock/www-google-analytics-com_analytics.js 302 +^https?://.+\.googletagmanager\.com/gtm\.js https://ruleset.skk.moe/Mock/www-google-analytics-com_analytics.js 302 +^https?://.+\.google-analytics\.com/ga\.js https://ruleset.skk.moe/Mock/www-google-analytics-com_ga.js 302 +^https?://.+\.google-analytics\.com/cx/api\.js https://ruleset.skk.moe/Mock/www-google-analytics-com_cx_api.js 302 +^https?://.+\.googlesyndication\.com/adsbygoogle\.js https://ruleset.skk.moe/Mock/www-googlesyndication-com_adsbygoogle.js 302 +^https?://.+\.googletagservices\.com/gpt\.js https://ruleset.skk.moe/Mock/www-googletagservices-com_gpt.js 302 +^https?://.+\.google-analytics\.com/inpage_linkid\.js https://ruleset.skk.moe/Mock/www-google-analytics-com_inpage_linkid.js 302 +^https?://.+\.doubleclick\.net/instream/ad_status\.js https://ruleset.skk.moe/Mock/doubleclick-net_instream_ad_status.js 302 +^https?://cdn\.ampproject\.org/v0\.js https://ruleset.skk.moe/Mock/ampproject-org_v0.js 302 +^https?://.+\.addthis\.com/addthis_widget\.js https://ruleset.skk.moe/Mock/addthis-com_addthis_widget.js 302 +^https?://.+\.amazon-adsystem\.com/aax2/apstag\.js https://ruleset.skk.moe/Mock/amazon-adsystem-com_amazon-apstag.js 302 +^https?://static\.chartbeat\.com/chartbeat\.js https://ruleset.skk.moe/Mock/static-chartbeat-com_chartbeat_mab.js 302 +^https?://widgets\.outbrain\.com/outbrain\.js https://ruleset.skk.moe/Mock/widgets-outbrain-com_outbrain.js 302