浏览代码

Feat: enhanced AdBlock with outbrain widget

SukkaW 1 年之前
父节点
当前提交
00a265e9d0
共有 2 个文件被更改,包括 67 次插入13 次删除
  1. 53 0
      Mock/widgets-outbrain-com_outbrain.js
  2. 14 13
      Modules/sukka_enhance_adblock.sgmodule

+ 53 - 0
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;
+}());

+ 14 - 13
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