Update block general paywall script (config sites.js)

merge-requests/10/head
magnolia1234 2 years ago
parent e605b32de4
commit 196ba07745

@ -65,6 +65,8 @@ var change_headers;
// block paywall-scripts individually
var blockedRegexes = {};
var blockedRegexesDomains = [];
var blockedRegexesGeneral = {};
// unhide text on amp-page
var amp_unhide;
@ -101,6 +103,8 @@ function initSetRules() {
block_js_custom = [];
block_js_custom_ext = [];
blockedRegexes = {};
blockedRegexesDomains = [];
blockedRegexesGeneral = {};
init_custom_domains();
}
@ -236,6 +240,11 @@ function set_rules(sites, sites_updated, sites_custom) {
}
}
}
if (rule.hasOwnProperty('block_regex_general')) {
if (rule.block_regex_general instanceof RegExp)
blockedRegexesGeneral[domain] = {block_regex: rule.block_regex_general};
blockedRegexesGeneral[domain]['excluded_domains'] = rule.excluded_domains ? rule.excluded_domains : [];
}
if (rule.useragent) {
switch (rule.useragent) {
case 'googlebot':
@ -294,9 +303,9 @@ function set_rules(sites, sites_updated, sites_custom) {
}
}
}
blockedRegexesDomains = Object.keys(blockedRegexes);
use_random_ip = Object.keys(random_ip);
change_headers = use_google_bot.concat(use_bing_bot, use_facebook_referer, use_google_referer, use_twitter_referer, use_random_ip);
disableJavascriptOnListedSites();
}
// add grouped sites to en/disabledSites (and exclude sites)
@ -481,9 +490,6 @@ ext_api.storage.onChanged.addListener(function (changes, namespace) {
if (key === 'optInUpdate') {
optin_update = storageChange.newValue;
}
// reset disableJavascriptOnListedSites eventListener
ext_api.webRequest.onBeforeRequest.removeListener(disableJavascriptOnListedSites);
ext_api.webRequest.handlerBehaviorChanged();
// Refresh the current tab
refreshCurrentTab();
@ -684,58 +690,6 @@ ext_api.webRequest.onHeadersReceived.addListener(function (details) {
},
['blocking', 'responseHeaders']);
var block_js = [
"*://*.blueconic.net/*",
"*://*.cxense.com/*",
"*://*.ensighten.com/*/Bootstrap.js*",
"*://*.evolok.net/*",
"*://*.newsmemory.com/?meter*",
"*://*.onecount.net/*",
"*://*.piano.io/*",
"*://*.poool.fr/*",
"*://*.qiota.com/*",
"*://*.tribdss.com/*",
"*://*.weborama.fr/*",
"*://*.zephr.com/zephr-browser/*",
"*://*/*/ev-widgets.min.js*",
"*://*/c/assets/pigeon.js*",
"*://*/wp-content/*/ev-em.min.js*",
"*://*/zephr/features*",
"*://api.pico.tools/*",
"*://cdn.ampproject.org/v*/amp-access-*.*js",
"*://cdn.ampproject.org/v*/amp-subscriptions-*.*js",
"*://cdn.ampproject.org/v*/amp*-ad-*.*js",
"*://cdn.ampproject.org/v*/amp-analytics-*.*js",
"*://cdn.ampproject.org/v*/amp-fx-flying-carpet-*.*js",
"*://cdn.tinypass.com/*",
"*://js.matheranalytics.com/*",
"*://js.pelcro.com/*",
"*://loader-cdn.azureedge.net/prod/*/loader.min.js*",
"*://olytics.omeda.com/*",
];
// Disable javascript for these sites/general paywall-scripts
function disableJavascriptOnListedSites() {
ext_api.webRequest.onBeforeRequest.addListener(function (details) {
let header_referer = details.originUrl ? details.originUrl : details.initiator;
if (!(isSiteEnabled(details)
|| (['script', 'xmlhttprequest'].includes(details.type)
&& ((enabledSites.includes('###_wp_evolok') && details.url.match(/\/(wp-content\/.+\/ev-em|evolok\/.+\/ev-widgets)\.min\.js/))
|| (enabledSites.includes('###_wp_pigeon') && details.url.includes('/c/assets/pigeon.js'))
|| (enabledSites.includes('zephr.com') && details.url.includes('/zephr/features')))))
|| matchUrlDomain(excludedSites.concat(disabledSites, ['asia.nikkei.com', 'businesspost.ie', 'cambridge.org', 'japantimes.co.jp']), header_referer)) {
return;
}
return {
cancel: true
};
}, {
urls: block_js,
types: ["script", "xmlhttprequest"]
},
["blocking"]);
}
if (typeof browser !== 'object') {
var focus_changed = false;
ext_api.windows.onFocusChanged.addListener((windowId) => {
@ -792,6 +746,7 @@ ext_api.webRequest.onBeforeSendHeaders.addListener(function(details) {
if ((typeof custom_block_regex === 'string') && custom_block_regex.includes('{domain}'))
custom_block_regex = new RegExp(custom_block_regex.replace('{domain}', custom_domain.replace(/\./g, '\\.')));
blockedRegexes[custom_domain] = custom_block_regex;
blockedRegexesDomains = Object.keys(blockedRegexes);
}
if (custom_useragent) {
if (custom_useragent === 'googlebot') {
@ -956,16 +911,26 @@ ext_api.webRequest.onBeforeSendHeaders.addListener(function(details) {
} // not in excludedSites
// block external javascript for custom sites (optional)
var domain_blockjs_ext = matchUrlDomain(block_js_custom_ext, header_referer);
if (domain_blockjs_ext && !matchUrlDomain(domain_blockjs_ext, details.url) && details.type === 'script' && isSiteEnabled({url: header_referer})) {
return { cancel: true };
if (['script'].includes(details.type)) {
let domain_blockjs_ext = matchUrlDomain(block_js_custom_ext, header_referer);
if (domain_blockjs_ext && !matchUrlDomain(domain_blockjs_ext, details.url) && isSiteEnabled({url: header_referer}))
return { cancel: true };
}
// check for blocked regular expression: domain enabled, match regex, block on an internal or external regex
var blockedDomains = Object.keys(blockedRegexes);
var domain = matchUrlDomain(blockedDomains, header_referer);
if (domain && details.url.match(blockedRegexes[domain]) && isSiteEnabled({url: header_referer}))
return { cancel: true };
if (['script', 'xmlhttprequest'].includes(details.type)) {
let domain = matchUrlDomain(blockedRegexesDomains, header_referer);
if (domain && details.url.match(blockedRegexes[domain]) && isSiteEnabled({url: header_referer}))
return { cancel: true };
}
// block general paywall scripts
if (['script', 'xmlhttprequest'].includes(details.type)) {
for (let domain in blockedRegexesGeneral) {
if (details.url.match(blockedRegexesGeneral[domain].block_regex) && !(matchUrlDomain(excludedSites.concat(blockedRegexesGeneral[domain].excluded_domains), header_referer)))
return { cancel: true };
}
}
// load toggleIcon.js (icon for dark or incognito mode in Chrome))
if (typeof browser !== 'object' && ['main_frame', 'xmlhttprequest'].includes(details.type)) {

@ -3,7 +3,7 @@ Changelog Bypass Paywalls Clean - Firefox
Post-release
Add Mediapart.fr
Update block general paywall script (fix Zephr-local)
Update block general paywall script (fix Zephr-local & config sites.js)
* v2.9.1.0 (2022-10-30)
Add 4 more NHST Media Group sites

@ -730,5 +730,5 @@
"*://gcm.omerlocdn.com/*",
"*://webcache.googleusercontent.com/*"
],
"version": "2.9.1.2"
"version": "2.9.1.3"
}

@ -1129,7 +1129,7 @@ var defaultSites = {
"LiveMint": {
domain: "livemint.com",
allow_cookies: 1,
block_regex: /(\.livemint\.com\/__js\/lm_subscription_.+\.js|\.piano\.io\/api\/tinypass\.min\.js|cdn\.ampproject\.org\/v\d\/amp-access-.+\.js)/
block_regex: /(\.livemint\.com\/__js\/lm_subscription|\.piano\.io\/api\/tinypass\.min\.js|cdn\.ampproject\.org\/v\d\/amp-access-.+\.js)/
},
"Loeb Classical Library": {
domain: "loebclassics.com"
@ -1225,7 +1225,7 @@ var defaultSites = {
"twincities.com"
],
allow_cookies: 1,
block_regex: /(\.blueconic\.net\/|\.tinypass\.com\/|\.com\/.+\/loader-wp\/.+\/loader\.min\.js|cdn\.ampproject\.org\/v\d\/amp-subscriptions-.+\.js)/
block_regex: /(\.blueconic\.net\/|\.tinypass\.com\/|\/loader-wp\/.+\/loader\.min\.js|cdn\.ampproject\.org\/v\d\/amp-subscriptions-.+\.js)/
},
"Mediapart.fr": {
domain: "mediapart.fr",
@ -1835,7 +1835,7 @@ var defaultSites = {
"The Indian Express": {
domain: "indianexpress.com",
allow_cookies: 1,
block_regex: /(\/indianexpress\.com\/.+\/indianexpress\/js\/(evolok\/.+|min\/premiumContent)\.js|cdn\.ampproject\.org\/v\d\/amp-access-.+\.js)/
block_regex: /(\/indianexpress\.com\/.+\/(evolok\/.+|premiumContent)\.js|cdn\.ampproject\.org\/v\d\/amp-access-.+\.js)/
},
"The Intercept": {
domain: "theintercept.com",
@ -2050,7 +2050,7 @@ var defaultSites = {
"UOL.com.br": {
domain: "uol.com.br",
allow_cookies: 1,
block_regex: /(\.folha\.uol\.com\.br\/paywall\/js\/|paywall\.folha\.uol\.com\.br\/|\.tinypass\.com|js\.matheranalytics\.com\/|cdn\.ampproject\.org\/v\d\/amp-subscriptions-.+\.js)/,
block_regex: /(paywall\.folha\.uol\.com\.br\/|\.(tinypass|matheranalytics)\.com\/|cdn\.ampproject\.org\/v\d\/amp-subscriptions-.+\.js)/,
useragent: "googlebot"
},
"USA Today": {
@ -2121,70 +2121,115 @@ var defaultSites = {
domain: "###"
},
"Amp-access": {
domain: "cdn.ampproject.org"
domain: "cdn.ampproject.org",
allow_cookies: 1,
block_regex_general: /cdn\.ampproject\.org\/.+\/amp-(access|ad|analytics|fx-flying-carpet|subscriptions)-.+\.(m)?js/,
excluded_domains: ["cambridge.org"]
},
"AzureEdge": {
domain: "loader-cdn.azureedge.net"
domain: "loader-cdn.azureedge.net",
allow_cookies: 1,
block_regex_general: /loader-cdn\.azureedge\.net\//
},
"BlueConic": {
domain: "blueconic.net"
domain: "blueconic.net",
allow_cookies: 1,
block_regex_general: /\.blueconic\.net\//
},
"Cxense": {
domain: "cxense.com"
domain: "cxense.com",
allow_cookies: 1,
block_regex_general: /cdn\.cxense\.com\//
},
"Ensighten": {
domain: "ensighten.com"
domain: "ensighten.com",
allow_cookies: 1,
block_regex_general: /\.ensighten\.com\/.+\/Bootstrap\.js/
},
"Evolok": {
domain: "evolok.net"
domain: "evolok.net",
allow_cookies: 1,
block_regex_general: /\.evolok\.net\//
},
"Evolok WordPress": {
domain: "###_wp_evolok"
domain: "###_wp_evolok",
allow_cookies: 1,
block_regex_general: /\/(wp-content\/.+\/ev-em|evolok\/.+\/ev-widgets)\.min\.js/
},
"Leaky Paywall (WordPress plugin)": {
domain: "###_wp_leaky_paywall"
domain: "###_wp_leaky_paywall",
allow_cookies: 1,
},
"MatherAnalytics": {
domain: "matheranalytics.com"
domain: "matheranalytics.com",
allow_cookies: 1,
block_regex_general: /js\.matheranalytics.com\//
},
"NewsMemory": {
domain: "newsmemory.com"
domain: "newsmemory.com",
allow_cookies: 1,
block_regex_general: /\.newsmemory\.com\/\?meter/
},
"Omeda Olytics": {
domain: "omeda.com"
domain: "omeda.com",
allow_cookies: 1,
block_regex_general: /olytics\.omeda\.com\//
},
"OneCount": {
domain: "onecount.net"
domain: "onecount.net",
allow_cookies: 1,
block_regex_general: /\.onecount\.net\//
},
"Pelcro": {
domain: "pelcro.com"
domain: "pelcro.com",
allow_cookies: 1,
block_regex_general: /js\.pelcro\.com\//
},
"Piano.io": {
domain: "piano.io"
domain: "piano.io",
allow_cookies: 1,
block_regex_general: /\.piano\.io\//,
excluded_domains: ["asia.nikkei.com", "businesspost.ie", "japantimes.co.jp"]
},
"Pico.tools": {
domain: "pico.tools"
domain: "pico.tools",
allow_cookies: 1,
block_regex_general: /api\.pico.tools\//
},
"Pigeon (WordPress plugin)": {
domain: "###_wp_pigeon"
domain: "###_wp_pigeon",
allow_cookies: 1,
block_regex_general: /\/c\/assets\/pigeon\.js/
},
"Poool.fr": {
domain: "poool.fr"
domain: "poool.fr",
allow_cookies: 1,
block_regex_general: /\.blueconic\.net\//
},
"Qiota": {
domain: "qiota.com"
domain: "qiota.com",
allow_cookies: 1,
block_regex_general: /\.qiota\.com\//
},
"TinyPass": {
domain: "tinypass.com"
domain: "tinypass.com",
allow_cookies: 1,
block_regex_general: /cdn\.tinypass\.com\//
},
"TribDss": {
domain: "tribdss.com"
domain: "tribdss.com",
allow_cookies: 1,
block_regex_general: /\.tribdss\.com\//
},
"Weborama.fr": {
domain: "weborama.fr"
domain: "weborama.fr",
allow_cookies: 1,
block_regex_general: /\.weborama\.fr\//
},
"Zephr": {
domain: "zephr.com"
domain: "zephr.com",
allow_cookies: 1,
block_regex_general: /(\.zephr\.com\/zephr-browser\/|\/zephr\/features)/
},
"* BPC settings": {
domain: "###"

Loading…
Cancel
Save