From 36692420ec5331eb7be5238edb037909529d46f8 Mon Sep 17 00:00:00 2001
From: magnolia1234 <7676006-magnolia1234@users.noreply.gitlab.com>
Date: Thu, 4 Nov 2021 18:50:19 +0100
Subject: [PATCH] Refactor (custom) site rules
---
background.js | 939 ++++------------
changelog.txt | 1 +
manifest.json | 2 +-
options/options.js | 2 +-
options/options_custom.html | 2 +-
sites.js | 2088 +++++++++++++++++++++++++++++------
6 files changed, 1944 insertions(+), 1090 deletions(-)
diff --git a/background.js b/background.js
index 295ee16e..867fa907 100644
--- a/background.js
+++ b/background.js
@@ -11,9 +11,7 @@ var currentTabUrl = '';
var csDone = false;
var optin_setcookie = false;
-// Cookies from this list are blocked by default (obsolete)
// defaultSites are loaded from sites.js at installation extension
-// var defaultSites = {};
const restrictions = {
'adweek.com': /^((?!\.adweek\.com\/(.+\/)?(amp|agencyspy|tvnewser|tvspy)\/).)*$/,
@@ -37,408 +35,47 @@ const restrictions = {
'timeshighereducation.com': /.+\.timeshighereducation\.com\/(sites\/default\/files\/|.+((\w)+(\-)+){3,}.+)/
}
-// Don't remove cookies before page load
-// allow_cookies are completed with domains in custom sites (default allow/remove_cookies)
-var allow_cookies_default = [
- 'aachener-zeitung.de',
- 'abc.es',
- 'abril.com.br',
- 'ajc.com',
- 'apollo-magazine.com',
- 'asiatimes.com',
- 'atlantico.fr',
- 'augsburger-allgemeine.de',
- 'belfasttelegraph.co.uk',
- 'berliner-zeitung.de',
- 'berlingske.dk',
- 'billboard.com',
- 'bostonglobe.com',
- 'business-standard.com',
- 'businessoffashion.com',
- 'charliehebdo.fr',
- 'chronicle.com',
- 'cicero.de',
- 'clarin.com',
- 'cmjornal.pt',
- 'corriere.it',
- 'dallasnews.com',
- 'df.cl',
- 'di.se',
- 'dn.se',
- 'dvhn.nl',
- 'editorialedomani.it',
- 'elcomercio.pe',
- 'elconfidencial.com',
- 'elespanol.com',
- 'elle.fr',
- 'elmercurio.com',
- 'elpais.com',
- 'elperiodico.com',
- 'entrepreneur.com',
- 'esprit.presse.fr',
- 'euobserver.com',
- 'eurekareport.com.au',
- 'faz.net',
- 'financialpost.com',
- 'forbes.com',
- 'fortune.com',
- 'freiepresse.de',
- 'ftm.nl',
- 'gestion.pe',
- 'haaretz.co.il',
- 'haaretz.com',
- 'handelsblatt.com',
- 'hilltimes.com',
- 'hindustantimes.com',
- 'ilfattoquotidiano.it',
- 'inc42.com',
- 'independent.ie',
- 'infzm.com',
- 'intelligentinvestor.com.au',
- 'jpost.com',
- 'knack.be',
- 'kurier.at',
- 'la-croix.com',
- 'lanouvellerepublique.fr',
- 'latribune.fr',
- 'lavanguardia.com',
- 'lc.nl',
- 'lejdd.fr',
- 'lesechos.fr',
- 'letelegramme.fr',
- 'lexpress.fr',
- 'livelaw.in',
- 'loeildelaphotographie.com',
- 'lrb.co.uk',
- 'marianne.net',
- 'marketwatch.com',
- 'medianama.com',
- 'medium.com',
- 'nation.africa',
- 'nationalgeographic.com',
- 'nationalpost.com',
- 'nationalreview.com',
- 'newleftreview.org',
- 'newrepublic.com',
- 'newsday.com',
- 'nouvelobs.com',
- 'noz.de',
- 'nwzonline.de',
- 'nybooks.com',
- 'nyteknik.se',
- 'nytimes.com',
- 'nzz.ch',
- 'observador.pt',
- 'parismatch.com',
- 'piqd.de',
- 'politicaexterior.com',
- 'prospectmagazine.co.uk',
- 'quora.com',
- 'reuters.com',
- 'rhein-zeitung.de',
- 'rheinpfalz.de',
- 'rollingstone.com',
- 'ruhrnachrichten.de',
- 'saechsische.de',
- 'scientificamerican.com',
- 'scribd.com',
- 'seekingalpha.com',
- 'shz.de',
- 'si.com',
- 'staradvertiser.com',
- 'startribune.com',
- 'stocknews.com',
- 'stratfor.com',
- 'study.com',
- 'sudouest.fr',
- 'svz.de',
- 'tampabay.com',
- 'techinasia.com',
- 'telegraaf.nl',
- 'telerama.fr',
- 'the-american-interest.com',
- 'theartnewspaper.com',
- 'thehindu.com',
- 'thehindubusinessline.com',
- 'theintercept.com',
- 'themarker.com',
- 'themarket.ch',
- 'thenewatlantis.com',
- 'thewest.com.au',
- 'thewrap.com',
- 'time.com',
- 'timeshighereducation.com',
- 'towardsdatascience.com',
- 'usatoday.com',
- 'usinenouvelle.com',
- 'variety.com',
- 'velonews.com',
- 'venturebeat.com',
- 'washingtonpost.com',
- 'westfalen-blatt.de',
- 'wn.de',
- 'worldpoliticsreview.com',
- 'zeit.de',
-];
-var allow_cookies = allow_cookies_default.slice();
-
-// select specific cookie(s) to hold from remove_cookies domains
-var remove_cookies_select_hold = {
- 'barrons.com': ['wsjregion'],
- 'bloomberg.com': ['bb_geo_info'],
- 'groene.nl': ['accept-cookies', 'popunder-hidden'],
- 'newstatesman.com': ['STYXKEY_nsversion'],
- 'qz.com': ['gdpr'],
- 'seattletimes.com': ['st_newsletter_splash_seen'],
- 'wsj.com': ['wsjregion', 'ResponsiveConditional_initialBreakpoint']
-}
-
-// select only specific cookie(s) to drop from remove_cookies domains
-var remove_cookies_select_drop = {
- 'ambito.com': ['TDNotesRead'],
- 'caixinglobal.com': ['CAIXINGLB_LOGIN_UUID'],
- 'fd.nl': ['socialread'],
- 'griffithreview.com': ['issuem_lp'],
- 'nrc.nl': ['counter'],
- 'theatlantic.com': ['articleViews'],
- 'thepointmag.com': ['monthly_history']
-}
-
-var cookies_select_domains = Object.keys(remove_cookies_select_hold).concat(Object.keys(remove_cookies_select_drop));
-
-// Removes cookies after page load
-// remove_cookies are completed with domains of custom sites (default allow/remove_cookies)
-var remove_cookies_default = ['medium.com', 'scientificamerican.com'];
-var remove_cookies = remove_cookies_default.concat(cookies_select_domains);
-
-allow_cookies = allow_cookies.concat(cookies_select_domains);
-
-// Override User-Agent with Googlebot
-var use_google_bot_default = [
- 'abc.es',
- 'barrons.com',
- 'berlingske.dk',
- 'deutsche-wirtschafts-nachrichten.de',
- 'df.cl',
- 'di.se',
- 'dn.se',
- 'editorialedomani.it',
- 'elmercurio.com',
- 'euobserver.com',
- 'eurekareport.com.au',
- 'fnlondon.com',
- 'ft.com',
- 'handelsblatt.com',
- 'hilltimes.com',
- 'intelligentinvestor.com.au',
- 'lanouvellerepublique.fr',
- 'leparisien.fr',
- 'nationalreview.com',
- 'newleftreview.org',
- 'nknews.org',
- 'nouvelobs.com',
- 'nzz.ch',
- 'piqd.de',
- 'quora.com',
- 'rhein-zeitung.de',
- 'rheinpfalz.de',
- 'ruhrnachrichten.de',
- 'seekingalpha.com',
- 'telerama.fr',
- 'themarket.ch',
- 'thetimes.co.uk',
- 'usatoday.com',
- 'usinenouvelle.com',
- 'westfalen-blatt.de',
- 'wired.com',
- 'wn.de',
- 'worldpoliticsreview.com',
- 'wsj.com',
- 'zeit.de',
-];
-var use_google_bot = use_google_bot_default.slice();
-
-// Override User-Agent with Bingbot
-var use_bing_bot_default = [
- 'haaretz.co.il',
- 'haaretz.com',
- 'nzherald.co.nz',
- 'stratfor.com',
- 'themarker.com',
-];
-var use_bing_bot = use_bing_bot_default.slice();
-
-var use_facebook_referer_default = ['clarin.com', 'fd.nl', 'ilmanifesto.it', 'law.com', 'sloanreview.mit.edu'];
-var use_facebook_referer = use_facebook_referer_default.slice();
-var use_google_referer_default = ['statista.com'];
-var use_google_referer = use_google_referer_default.slice();
-var use_twitter_referer_default = ['law360.com', 'medium.com', 'towardsdatascience.com'];
-var use_twitter_referer = use_twitter_referer_default.slice();
+// Don't remove cookies before/after page load
+var allow_cookies = [];
+var remove_cookies = [];
+// select specific cookie(s) to hold/drop from remove_cookies domains
+var remove_cookies_select_hold, remove_cookies_select_drop;
+
+// Set User-Agent
+var use_google_bot, use_bing_bot;
+// Set Referer
+var use_facebook_referer, use_google_referer, use_twitter_referer;
+// Set random IP-address
var use_random_ip = ['esprit.presse.fr'];
-var change_headers = use_google_bot.concat(use_bing_bot, use_facebook_referer, use_google_referer, use_twitter_referer, use_random_ip);
+// concat all sites with change of headers (useragent, referer or random ip)
+var change_headers;
// block paywall-scripts individually
-var blockedRegexes = {
- 'aachener-zeitung.de': /cdn\.ampproject\.org\/v\d\/amp-(ad|analytics|consent|subscriptions)-.+\.js/,
- 'abc.es': /\.evolok\.net\//,
- 'abril.com.br': /\.abril\.com\.br\/.+\/abril-paywall\/js\/abril-paywall\.js/,
- 'adweek.com': /\.lightboxcdn\.com\//,
- 'afr.com': /api\.afr\.com\/graphql\?query=.+PaywallRuleQuery/,
- 'ajc.com': /loader-cdn\.azureedge\.net\//,
- 'alternatives-economiques.fr': /\.poool\.fr\//,
- 'americanbanker.com': /\.tinypass\.com\//,
- 'apollo-magazine.com': /\.tinypass\.com\//,
- 'asiatimes.com': /cdn\.ampproject\.org\/v\d\/amp-(access|ad|analytics)-.+\.(m)?js/,
- 'atlantico.fr': /\.poool\.fr\//,
- 'augsburger-allgemeine.de':/(\.tinypass\.com\/|cdn\.ampproject\.org\/v\d\/amp-(ad|subscriptions)-.+\.js)/,
- 'barrons.com': /(cdn\.cxense\.com\/.+|cdn\.ampproject\.org\/v\d\/amp-(access|ad|consent|subscriptions)-.+\.js)/,
- 'belfasttelegraph.co.uk': /(cdn\.flip-pay\.com\/clients\/inm\/flip-pay\.js|cdn\.ampproject\.org\/v\d\/amp-(access|ad|consent)-.+\.js)/,
- 'billboard.com': /(cdn\.cxense\.com\/|\.tinypass\.com\/)/,
- 'bizjournals.com': /(assets\.bizjournals\.com\/static\/js\/app\/cxense\.js|cdn\.cxense\.com\/)/,
- 'bloomberg.com': /\.tinypass\.com\//,
- 'bostonglobe.com': /\.blueconic\.net\//,
- 'businessinsider.com': /\.tinypass\.com\//,
- 'challenges.fr': /\.poool\.fr\//,
- 'charliehebdo.fr': /\.poool\.fr\//,
- 'chronicle.com': /(\.blueconic\.net\/|\.chronicle\.com\/(common\/)?(che-auth0-user|script)\.js)/,
- 'clarin.com': /js\.matheranalytics\.com\//,
- 'cmjornal.pt': /cdn\.ampproject\.org\/v\d\/amp-(access|(sticky-)?ad)-.+\.js/,
- 'commentary.org': /\.commentary\.org\/.+\/js\/dg-locker-public\.js/,
- 'corriere.it': /(\.tinypass\.com\/|\.corriereobjects\.it\/.+\/js\/_paywall\.sjs)/,
- 'dallasnews.com': /(\.blueconic\.net\/|js\.matheranalytics\.com\/)/,
- 'digiday.com': /cdn.\.tinypass\.com\//,
- 'dvhn.nl': /\.evolok\.net\//,
- 'economist.com': /(\.tinypass\.com\/cdn\.ampproject\.org\/v\d\/amp-(access|ad)-.+\.js)/,
- 'editorialedomani.it': /(\.editorialedomani\.it\/pelcro\.js|js\.pelcro\.com\/)/,
- 'elcomercio.pe': /\/elcomercio\.pe\/pf\/dist\/engine\/react\.js/,
- 'elconfidencial.com': /\.tinypass\.com\//,
- 'elespanol.com': /\.eestatic\.com\/assets_js\/web\/v\d\/historia.*\.min\.js/,
- 'elle.fr': /\.poool\.fr\//,
- 'elmercurio.com': /\.(elmercurio\.com|emol\.cl)\/(.+\/)?js\/(.+\/)?(modal|merPramV\d|PramModal\.min)\.js/,
- 'elpais.com': /(\.epimg\.net\/js\/.+\/(noticia|user)\.min\.js|\/elpais\.com\/arc\/subs\/p\.min\.js|cdn\.ampproject\.org\/v\d\/amp-(access|(sticky-)?ad|consent)-.+\.js)/,
- 'elperiodico.com': /cdn\.ampproject\.org\/v\d\/amp-(access|ad|consent)-.+\.js/,
- 'estadao.com.br': /acesso\.estadao\.com\.br\/paywall\/.+\/.+\.js/,
- 'estrellavalpo.cl': /(\.mercuriovalpo\.cl\/impresa\/.+\/assets\/(vendor|\d)\.js|pram\.pasedigital\.cl\/API\/User\/Status\?)/,
- 'exame.com': /\/exame\.com\/.+\/js\/pywll-dyn\.js/,
- 'financialpost.com': /\.tinypass\.com\//,
- 'forbes.com': /\.tinypass\.com\//,
- 'foreignaffairs.com': /\.foreignaffairs\.com\/sites\/default\/files\/js\/js_[^y].+\.js/,
- 'foreignpolicy.com': /(cdn\.cxense\.com\/|\.tinypass\.com\/)/,
- 'fortune.com': /\.tinypass\.com\//,
- 'freiepresse.de': /cdn\.ampproject\.org\/v\d\/amp-(access|ad|consent)-.+\.js/,
- 'ft.com': /cdn\.ampproject\.org\/v\d\/amp-(access|ad|subscriptions)-.+\.js/,
- 'ftm.nl': /\.ftm\.nl\/js\/routing\?/,
- 'gestion.pe': /\/gestion\.pe\/pf\/dist\/engine\/react\.js/,
- 'globes.co.il': /\.tinypass\.com\//,
- 'globo.com': /\.tinypass\.com\//,
- 'griffithreview.com': /\.griffithreview\.com\/.+\/leaky-paywall\//,
- 'haaretz.co.il': /haaretz\.co\.il\/htz\/js\/inter\.js/,
- 'haaretz.com': /haaretz\.com\/hdc\/web\/js\/minified\/header-scripts-int.js/,
- 'hbr.org': /\.tinypass\.com\//,
- 'hilltimes.com': /\.hilltimes\.com\/.+\/js\/loadingoverlay\/loadingoverlay\.min\.js/,
- 'historyextra.com': /\.evolok\.net\//,
- 'houstonchronicle.com': /\.blueconic\.net\//,
- 'ilfattoquotidiano.it': /cdn\.ampproject\.org\/v\d\/amp-(ad|subscriptions)-.+\.js/,
- 'inc.com': /\.tinypass\.com\//,
- 'inc42.com': /(\.tinypass\.com\/|cdn\.ampproject\.org\/v\d\/amp-(access|ad|analytics)-.+\.(m)?js)/,
- 'independent.ie': /(cdn\.flip-pay\.com\/clients\/inm\/flip-pay\.js|cdn\.ampproject\.org\/v\d\/amp-(access|ad|consent)-.+\.js)/,
- 'inquirer.com': /\.tinypass\.com\//,
- 'japantimes.co.jp': /\.piano\.io\//,
- 'jpost.com': /\.jpost\.com\/bundles\/js_article\?/,
- 'knack.be': /(\.knack\.be\/js\/responsive\/rmg(Modal|Paywall)\.js|\.blueconic\.net\/)/,
- 'kurier.at': /\.tinypass\.com\//,
- 'la-croix.com': /(\.la-croix\.com\/build\/lacroix\/article.+\.js|cdn\.ampproject\.org\/v\d\/amp-(access|ad)-.+\.js)/,
- 'lasegunda.com': /\.(lasegunda\.com|emol\.cl)\/(.+\/)?js\/(.+\/)?(modal|merPramV\d|PramModal\.min)\.js/,
- 'latercera.com': /(\.latercera\.com\/arc\/subs\/p\.js|cdn\.cxense\.com\/)/,
- 'latimes.com': /metering\.platform\.latimes\.com\/v\d\/meter/,
- 'latribune.fr': /\.poool\.fr\//,
- 'lavanguardia.com': /(\.evolok\.net\/|\.lavanguardia\.com\/(js\/)?godo-)/,
- 'lc.nl': /\.evolok\.net\//,
- 'lejdd.fr': /\.poool\.fr\//,
- 'leparisien.fr': /\.tinypass\.com\//,
- 'lesechos.fr': /\.tinypass\.com\//,
- 'letelegramme.fr': /\.poool\.fr\//,
- 'lexpress.fr': /\.poool\.fr\//,
- 'livemint.com': /(\.livemint\.com\/js\/localWorker\.js|analytics\.htmedia\.in\/analytics-js\/.+\.js)/,
- 'loeildelaphotographie.com': /cdn\.loeildelaphotographie\.com\/wp-content\/.+\/hague-child\/js\/script-.+\.js/,
- 'lopinion.fr': /\.poool\.fr\//,
- 'lrb.co.uk': /\.tinypass\.com\//,
- 'marianne.net': /\.poool\.fr\//,
- 'marketwatch.com': /(cdn\.cxense\.com\/|cdn\.ampproject\.org\/v\d\/amp-(access|ad|subscriptions)-.+\.js)/,
- 'mercuriovalpo.cl': /(.+\.mercuriovalpo\.cl\/impresa\/.+\/assets\/(vendor|\d)\.js|pram\.pasedigital\.cl\/API\/User\/Status\?)/,
- 'mexiconewsdaily.com': /\.mexiconewsdaily\.com\/c\/assets\/pigeon\.js/,
- 'nation.africa': /(\.evolok\.net\/|nation\.africa\/resource\/themes\/nation-.+\/js\/.+\.js)/,
- 'nationalgeographic.com': /\.blueconic\.net\//,
- 'nationalpost.com': /\.tinypass\.com\//,
- 'nationalreview.com': /(\.blueconic\.net\/|\.nationalreview\.com\/script\.js|cdn\.ampproject\.org\/v\d\/amp-(access|ad)-.+\.js)/,
- 'newrepublic.com': /\.onecount\.net\/js\//,
- 'newsday.com': /(loader-cdn\.azureedge\.net\/|js\.matheranalytics\.com\/)/,
- 'newsweek.com': /js\.pelcro\.com\//,
- 'newyorker.com': /\.newyorker\.com\/verso\/static\/presenter-articles.+\.js/,
- 'nknews.org': /\.nknews\.org\/wp-content\/themes\/nknews\/js\/bootstrap\.min\.js/,
- 'noz.de': /cdn\.ampproject\.org\/v\d\/amp-(access|(sticky-)?ad|fx-flying-carpet)-.+\.js/,
- 'nwzonline.de': /cdn\.ampproject\.org\/v\d\/amp-(access|(sticky-)?ad|fx-flying-carpet)-.+\.js/,
- 'nyteknik.se': /\.nyteknik\.se\/.+\/static\/js\/site\.min\.js/,
- 'nytimes.com': /(meter-svc\.nytimes\.com\/meter\.js|mwcm\.nyt\.com\/.+\.js)/,
- 'observador.pt': /\.tinypass\.com\//,
- 'parismatch.com': /\.poool\.fr\//,
- 'post-gazette.com': /(cdn\.cxense\.com\/|\.tinypass\.com\/)/,
- 'qz.com': /\.tinypass\.com\//,
- 'reuters.com': /\.reuters\.com\/(arc\/subs\/p\.min|pf\/resources\/dist\/reuters\/js\/index)\.js/,
- 'rollingstone.com': /cdn\.cxense\.com\//,
- 'ruhrnachrichten.de': /(\.tinypass\.com\/|cdn\.ampproject\.org\/v\d\/amp-((sticky-)?ad|consent|subscriptions)-.+\.js)/,
- 'saechsische.de': /\.tinypass\.com\//,
- 'sandiegouniontribune.com': /metering\.platform\.sandiegouniontribune\.com\/v\d\/meter/,
- 'science-et-vie.com': /\.qiota\.com\//,
- 'sciencesetavenir.fr': /\.poool\.fr\//,
- 'scmp.com': /(\.tinypass\.com\/|cdn\.ampproject\.org\/v\d\/amp-(access|ad|analytics|consent|fx-flying-carpet)-.+\.js)/,
- 'seekingalpha.com': /(\.tinypass\.com\/|cdn\.ampproject\.org(\/.+)?\/v\d\/amp-(access|ad|loader)-.+\.js)/,
- 'sfchronicle.com': /\.blueconic\.net\//,
- 'shz.de': /cdn\.ampproject\.org\/v\d\/amp-(access|(sticky-)?ad|fx-flying-carpet)-.+\.js/,
- 'si.com': /\.blueconic\.net\//,
- 'slate.com': /(cdn\.cxense\.com\/|\.tinypass\.com\/)/,
- 'sloanreview.mit.edu': /(\.tinypass\.com\/|\/sloanreview\.mit\.edu\/.+\/welcome-ad\.js)/,
- 'spectator.co.uk': /\.tinypass\.com\//,
- 'spectator.com.au': /\.tinypass\.com\//,
- 'spectator.us': /(cdn\.cxense\.com\/|\.tinypass\.com\/)/,
- 'svz.de': /cdn\.ampproject\.org\/v\d\/amp-(access|(sticky-)?ad|fx-flying-carpet)-.+\.js/,
- 'tampabay.com': /(loader-cdn\.azureedge\.net\/|js\.matheranalytics\.com\/)/,
- 'technologyreview.com': /\.blueconic\.net\//,
- 'telegraph.co.uk': /(\.tinypass\.com\/|cdn\.ampproject\.org\/v\d\/amp-(access|ad|consent)-.+\.js|\.telegraph\.co\.uk\/.+\/piano.+\.js|assets\.adobedtm\.com\/.+\.js)/,
- 'theartnewspaper.com': /\.amazonaws.com\/production-website-scripts\/bouncer\.js/,
- 'thedailybeast.com': /\.tinypass\.com\//,
- 'theglobeandmail.com': /(\.theglobeandmail\.com\/pf\/dist\/engine\/react\.js|smartwall\.theglobeandmail\.com\/)/,
- 'thehindu.com': /(cdn\.cxense\.com\/|\.tinypass\.com\/)/,
- 'thehindubusinessline.com': /(cdn\.cxense\.com\/|\.tinypass\.com\/)/,
- 'theintercept.com': /\.theintercept\.com\/api\/tinypass\.min\.js/,
- 'thenation.com': /\.tinypass\.com\//,
- 'thenewatlantis.com': /\.thenewatlantis\.com\/.+\/thenewatlantis\/js\/(gate|donate)\.js/,
- 'thesaturdaypaper.com.au': /\.thesaturdaypaper\.com\.au\/sites\/all\/modules\/custom\/node_meter\/pw\.js/,
- 'thewrap.com': /\.wallkit\.net\/js\//,
- 'time.com': /\/time\.com\/dist\/meter-wall-client-js\..+\.js/,
- 'timeshighereducation.com': /\.timeshighereducation\.com\/sites\/default\/files\/.+\/js__.+\.js/,
- 'valeursactuelles.com': /\.qiota\.com\//,
- 'variety.com': /cdn\.cxense\.com\//,
- 'velonews.com': /\.velonews\.com\/.+\/scripts\/contentGate.+\.js/,
- 'venturebeat.com': /\.wallkit\.net\/js\//,
- 'washingtonpost.com': /\.washingtonpost\.com\/pwapiv2\/article/,
- 'westfalen-blatt.de': /cdn\.ampproject\.org\/.+\/v\d\/amp-(ad|subscriptions)-.+\.js/,
- 'wired.com': /cdn\.ampproject\.org\/v\d\/amp-(ad|subscriptions)-.+\.js/,
- 'wn.de': /cdn\.ampproject\.org\/v\d\/amp-(ad|subscriptions)-.+\.js/,
- 'wsj.com': /(cdn\.ampproject\.org\/v\d\/amp-(access|ad|consent|subscriptions)-.+\.js|cdn\.cxense\.com\/)/
-};
-var blockedRegexesCustom = {};
-
-var amp_unhide = [];
-
-// grouped domains in sites.js (for options)
-
-// grouped domains (rules only)
-const au_nine_domains = ['brisbanetimes.com.au', 'smh.com.au', 'theage.com.au', 'watoday.com.au'];
-const es_unidad_domains = ['elmundo.es', 'expansion.com', 'marca.com'];
-const it_repubblica_domains = ['gelocal.it', 'ilsecoloxix.it', 'lanuovasardegna.it', 'lastampa.it', 'limesonline.com', 'repubblica.it'].concat(['lescienze.it']);
-const nl_pg_domains = ['parool.nl', 'trouw.nl', 'volkskrant.nl', 'humo.be', 'demorgen.be'];
-const usa_genomeweb_domains = ['genomeweb.com', '360dx.com', 'precisiononcologynews.com'];
+var blockedRegexes = {};
+
+// unhide text on amp-page
+var amp_unhide;
+
+// custom: block javascript
+var block_js_custom = [];
+var block_js_custom_ext = [];
+
+function initSetRules() {
+ allow_cookies = [];
+ remove_cookies = [];
+ remove_cookies_select_drop = {};
+ remove_cookies_select_hold = {};
+ use_google_bot = [];
+ use_bing_bot = [];
+ use_facebook_referer = [];
+ use_google_referer = [];
+ use_twitter_referer = [];
+ change_headers = [];
+ amp_unhide = [];
+ block_js_custom = [];
+ block_js_custom_ext = [];
+ blockedRegexes = {};
+}
const userAgentDesktopG = "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
const userAgentMobileG = "Chrome/80.0.3987.92 Mobile Safari/537.36 (compatible ; Googlebot/2.1 ; +http://www.google.com/bot.html)"
@@ -448,6 +85,7 @@ const userAgentMobileB = "Chrome/80.0.3987.92 Mobile Safari/537.36 (compatible;
var enabledSites = [];
var disabledSites = [];
+var optionSites = {};
var customSites = {};
var customSites_domains = [];
var excludedSites = [];
@@ -455,44 +93,135 @@ var excludedSites = [];
function setDefaultOptions() {
ext_api.storage.local.set({
sites: filterObject(defaultSites, function (val, key) {
- return !val.includes('#options_disable_')
+ return !val.domain.match(/^(###$|#options_disable_)/)
+ },
+ function (val, key) {
+ return [key, val.domain]
})
}, function () {
ext_api.runtime.openOptionsPage();
});
}
-var grouped_sites = {
-'###_au_comm_media': au_comm_media_domains,
-'###_au_news_corp': au_news_corp_domains,
-'###_br_folha': br_folha_domains,
-'###_ca_torstar': ca_torstar_domains,
-'###_de_funke_medien': de_funke_media_domains,
-'###_de_madsack': de_madsack_domains,
-'###_economictimes': economictimes_domains,
-'###_es_epiberica': es_epiberica_domains,
-'###_es_grupo_vocento': es_grupo_vocento_domains,
-'###_fi_alma_talent': fi_alma_talent_domains,
-'###_fi_sanoma': fi_sanoma_domains,
-'###_fr_be_groupe_rossel': fr_be_groupe_rossel_domains,
-'###_fr_groupe_ebra': fr_groupe_ebra_domains,
-'###_fr_groupe_la_depeche': fr_groupe_la_depeche_domains,
-'###_it_ilmessaggero': it_ilmessaggero_domains,
-'###_it_quotidiano': it_quotidiano_domains,
-'###_nl_ad_region': nl_ad_region_domains,
-'###_nl_mediahuis_region': nl_mediahuis_region_domains,
-'###_no_nhst_media': no_nhst_media_domains,
-'###_timesofindia': timesofindia_domains,
-'###_usa_craincomm': usa_craincomm_domains,
-'###_usa_lee_ent': usa_lee_ent_domains,
-'###_usa_mcc': usa_mcc_domains,
-'###_usa_mng': usa_mng_domains,
-'###_usa_nymag': usa_nymag_domains,
-'###_usa_tribune': usa_tribune_domains,
-'###_usa_theathletic': usa_theathletic_domains
-};
-
-function add_grouped__enabled_domains(groups) {
+function set_rules(sites, sites_custom) {
+ initSetRules();
+ for (let site in sites) {
+ let site_domain = sites[site].toLowerCase();
+ let custom = false;
+ if (!site_domain.match(/^(###$|#options_)/)) {
+ let rule = {};
+ if (defaultSites.hasOwnProperty(site)) {
+ rule = defaultSites[site];
+ } else { // custom sites
+ rule = sites_custom[site];
+ custom = true;
+ }
+ let domains = [site_domain];
+ let group = false;
+ if (rule.hasOwnProperty('group')) {
+ domains = rule.group;
+ group = true;
+ }
+ let rule_default = {};
+ if (rule.hasOwnProperty('exception')) {
+ for (let key in rule)
+ rule_default[key] = rule[key];
+ }
+ for (let domain of domains) {
+ let custom_in_group = false;
+ if (rule_default.hasOwnProperty('exception')) {
+ let exception_rule = rule_default.exception.filter(x => domain === x.domain);
+ if (exception_rule.length > 0)
+ rule = exception_rule[0];
+ else
+ rule = rule_default;
+ }
+ // custom domain for default site(group)
+ if (!custom) {
+ let isCustomSite = matchDomain(customSites_domains, domain);
+ let customSite_title = isCustomSite ? Object.keys(customSites).find(key => customSites[key].domain === isCustomSite) : '';
+ if (customSite_title) {
+ // add default block_regex
+ let block_regex_default = '';
+ if (rule.hasOwnProperty('block_regex'))
+ block_regex_default = rule.block_regex;
+
+ rule = sites_custom[customSite_title];
+ if (block_regex_default) {
+ if (rule.hasOwnProperty('block_regex')) {
+ if (block_regex_default instanceof RegExp)
+ block_regex_default = block_regex_default.source;
+ rule.block_regex = '(' + block_regex_default + '|' + rule.block_regex.replace(/(^\/|\/$)/g, '') + ')';
+ } else
+ rule.block_regex = block_regex_default;
+ }
+ if (group)
+ custom_in_group = true;
+ else
+ custom = true;
+ }
+ }
+ addCookieRules(rule, custom || custom_in_group);
+
+ if (rule.allow_cookies > 0 && !allow_cookies.includes(domain))
+ allow_cookies.push(domain);
+ if (rule.remove_cookies > 0 && !remove_cookies.includes(domain))
+ remove_cookies.push(domain);
+ if (rule.hasOwnProperty('remove_cookies_select_drop'))
+ remove_cookies_select_drop[domain] = rule.remove_cookies_select_drop;
+ if (rule.hasOwnProperty('remove_cookies_select_hold'))
+ remove_cookies_select_hold[domain] = rule.remove_cookies_select_hold;
+ if (rule.hasOwnProperty('block_regex')) {
+ if (rule.block_regex instanceof RegExp)
+ blockedRegexes[domain] = rule.block_regex;
+ else
+ blockedRegexes[domain] = new RegExp(rule.block_regex.replace('{domain}', domain.replace('.', '\\.').replace(/(^\/|\/$)/g, '')));
+ }
+ if (rule.useragent) {
+ switch (rule.useragent) {
+ case 'googlebot':
+ if (!use_google_bot.includes(domain))
+ use_google_bot.push(domain);
+ break;
+ case 'bingbot':
+ if (!use_bing_bot.includes(domain))
+ use_bing_bot.push(domain);
+ break;
+ }
+ }
+ if (rule.referer) {
+ switch (rule.referer) {
+ case 'facebook':
+ if (!use_facebook_referer.includes(domain))
+ use_facebook_referer.push(domain);
+ break;
+ case 'google':
+ if (!use_google_referer.includes(domain))
+ use_google_referer.push(domain);
+ break;
+ case 'twitter':
+ if (!use_twitter_referer.includes(domain))
+ use_twitter_referer.push(domain);
+ break;
+ }
+ }
+ // custom
+ if (rule.googlebot > 0)
+ use_google_bot.push(domain);
+ if (rule.block_javascript > 0)
+ block_js_custom.push(domain);
+ if (rule.block_javascript_ext > 0)
+ block_js_custom_ext.push(domain);
+ if (rule.amp_unhide > 0)
+ amp_unhide.push(domain);
+ }
+ }
+ }
+ change_headers = use_google_bot.concat(use_bing_bot, use_facebook_referer, use_google_referer, use_twitter_referer, use_random_ip);
+ disableJavascriptOnListedSites();
+}
+
+function add_grouped_enabled_domains(groups) {
for (let key in groups) {
if (enabledSites.includes(key))
enabledSites = enabledSites.concat(groups[key]);
@@ -507,162 +236,16 @@ function add_grouped__enabled_domains(groups) {
}
}
-// add grouped sites to en/disabledSites & init rules (optional)
-function add_grouped_sites(init_rules) {
- add_grouped__enabled_domains(grouped_sites);
- if (init_rules) {
- for (let domain of au_comm_media_domains) {
- allow_cookies.push(domain);
- blockedRegexes[domain] = /cdn-au\.piano\.io\/api\/tinypass.+\.js/;
- }
- for (let domain of au_news_corp_domains) {
- allow_cookies.push(domain);
- use_google_bot.push(domain);
- blockedRegexes[domain] = /cdn\.ampproject\.org\/v\d\/amp-(access|ad|iframe)-.+\.js/;
- }
- for (let domain of br_folha_domains) {
- allow_cookies.push(domain);
- blockedRegexes[domain] = /(\.folha\.uol\.com\.br\/paywall\/js\/.+\/publicidade\.ads\.js|paywall\.folha\.uol\.com\.br\/|js\.matheranalytics\.com\/)/;
- }
- for (let domain of ca_torstar_domains) {
- allow_cookies.push(domain);
- blockedRegexes[domain] = /\.(ca|com)\/api\/overlaydata/;
- }
- for (let domain of de_funke_media_domains) {
- allow_cookies.push(domain);
- blockedRegexes[domain] = /(cdn\.cxense\.com\/|\.tinypass\.com\/)/;
- use_google_bot.push(domain);
- }
- for (let domain of de_madsack_domains) {
- allow_cookies.push(domain);
- blockedRegexes[domain] = /cdn\.ampproject\.org\/v\d\/amp-(ad|subscriptions)-.+\.js/;
- }
- for (let domain of economictimes_domains) {
- allow_cookies.push(domain);
- use_google_bot.push(domain);
- }
- for (let domain of es_epiberica_domains) {
- allow_cookies.push(domain);
- blockedRegexes[domain] = /cdn\.ampproject\.org\/v\d\/amp-(access|analytics|consent)-.+\.js/;
- }
- for (let domain of es_grupo_vocento_domains) {
- allow_cookies.push(domain);
- blockedRegexes[domain] = /cdn\.ampproject\.org\/v\d\/amp-(access|ad|subscriptions)-.+\.js/;
- }
- for (let domain of fi_alma_talent_domains) {
- if (!['mediuutiset.fi'].includes(domain))
- blockedRegexes[domain] = /\.fi\/static\/vendor\..+\.chunk\.js/;
- use_google_bot.push(domain);
- }
- for (let domain of fi_sanoma_domains) {
- allow_cookies.push(domain);
- use_google_bot.push(domain);
- }
- for (let domain of fr_be_groupe_rossel_domains) {
- if (!['lecho.be'].includes(domain)) {
- allow_cookies.push(domain);
- use_google_bot.push(domain);
- }
- }
- for (let domain of fr_groupe_ebra_domains) {
- allow_cookies.push(domain);
- blockedRegexes[domain] = /(\.poool\.fr\/|cdn\.ampproject\.org\/v\d\/amp-(access|ad|consent)-.+\.js)/;
- }
- for (let domain of fr_groupe_la_depeche_domains) {
- allow_cookies.push(domain);
- blockedRegexes[domain] = /(\.poool\.fr\/|cdn\.ampproject\.org\/v\d\/amp-(access|ad|consent|subscriptions)-.+\.js)/;//|iframe
- }
- for (let domain of it_ilmessaggero_domains)
- blockedRegexes[domain] = /utils\.cedsdigital\.it\/js\/PaywallMeter\.js/;
- for (let domain of nl_ad_region_domains) {
- allow_cookies.push(domain);
- remove_cookies.push(domain);
- remove_cookies_select_drop[domain] = ['temptationTrackingId'];
- }
- for (let domain of it_quotidiano_domains) {
- allow_cookies.push(domain);
- blockedRegexes[domain] = /(cdn\.cxense\.com\/|\.tinypass\.com\/)/;
- }
- for (let domain of nl_mediahuis_region_domains)
- allow_cookies.push(domain);
- for (let domain of no_nhst_media_domains) {
- allow_cookies.push(domain);
- use_facebook_referer.push(domain);
- }
- for (let domain of timesofindia_domains) {
- allow_cookies.push(domain);
- use_google_bot.push(domain);
- if (domain === 'timesofindia.com')
- blockedRegexes[domain] = /\.timesofindia\.com\/jsrender\.cms/;
- else
- blockedRegexes[domain] = /timesofindia\.indiatimes\.com\/jsrender\/version-1\.cms/;
- }
- for (let domain of usa_craincomm_domains) {
- if (domain !== 'autonews.com')
- allow_cookies.push(domain);
- blockedRegexes[domain] = new RegExp('(\.tinypass\.com\/|\.' + domain + '\/.+\/js\/js_.+\.js)');
- }
- for (let domain of usa_lee_ent_domains) {
- allow_cookies.push(domain);
- blockedRegexes[domain] = /api\.bntech\.io\/js\//;
- }
- for (let domain of usa_mcc_domains)
- blockedRegexes[domain] = /(js\.matheranalytics\.com\/|cdn\.ampproject\.org\/v\d\/amp-subscriptions-.+\.js)/;
- for (let domain of usa_tribune_domains) {
- allow_cookies.push(domain);
- blockedRegexes[domain] = /\.tribdss\.com\//;
- }
- for (let domain of usa_mng_domains) {
- allow_cookies.push(domain);
- blockedRegexes[domain] = /(\.blueconic\.net\/|\.tinypass\.com\/|\.com\/.+\/loader\.min\.js|cdn\.ampproject\.org\/v\d\/amp-((sticky-)?ad|subscriptions)-.+\.js)/;
- }
- for (let domain of usa_nymag_domains) {
- allow_cookies.push(domain);
- remove_cookies.push(domain);
- remove_cookies_select_drop[domain] = ['nymcid'];
- blockedRegexes[domain] = /fosse\.nymag\.com\/fosse\/.+\/scripts\/.+\.js/;
- }
- for (let domain of usa_theathletic_domains) {
- allow_cookies.push(domain);
- blockedRegexes[domain] = /cdn\.ampproject\.org\/v\d\/amp-subscriptions-.+\.js/;
- }
-
- // rules only
- for (let domain of au_nine_domains)
- blockedRegexes[domain] = /cdn\.ampproject\.org\/v\d\/amp-((sticky-)?ad|subscriptions)-.+\.js/;
- for (let domain of es_unidad_domains) {
- allow_cookies.push(domain);
- blockedRegexes[domain] = /cdn\.ampproject\.org\/v\d\/amp-(access|(sticky-)?ad|consent)-.+\.js/;
- }
- for (let domain of it_repubblica_domains) {
- allow_cookies.push(domain);
- blockedRegexes[domain] = /(scripts\.repubblica\.it\/pw\/pw\.js|cdn\.ampproject\.org\/v\d\/amp-(access|ad|user-notification)-.+\.js)/;
- }
- for (let domain of nl_pg_domains) {
- allow_cookies.push(domain);
- remove_cookies.push(domain);
- remove_cookies_select_drop[domain] = ['TID_ID'];
- blockedRegexes[domain] = new RegExp('\.' + domain + '\/temptation\/resolve');
- }
- for (let domain of usa_genomeweb_domains) {
- allow_cookies.push(domain);
- blockedRegexes[domain] = /crain-platform-.+-prod\.s3\.amazonaws\.com\/s3fs-public\/js\/js_.+\.js/;
- }
-
- use_google_bot_default = use_google_bot.slice();
- use_bing_bot_default = use_bing_bot.slice();
- use_facebook_referer_default = use_facebook_referer.slice();
- use_google_referer_default = use_google_referer.slice();
- use_twitter_referer_default = use_twitter_referer.slice();
- change_headers = use_google_bot.concat(use_bing_bot, use_facebook_referer, use_google_referer, use_twitter_referer, use_random_ip);
- }
+// add grouped sites to en/disabledSites (and exclude sites)
+function add_grouped_sites(grouped_sites, sites, sites_custom) {
+ add_grouped_enabled_domains(grouped_sites);
+ set_rules(sites, sites_custom);
}
-// Get the enabled sites (from local storage) & add to allow/remove_cookies (if not already in one of these arrays)
-// Add user-agent/referer and block_javascript-settings for custom sites
+// Get the enabled sites (from local storage) & set_rules for sites
ext_api.storage.local.get({
sites: {},
- sites_default: Object.keys(defaultSites).filter(x => !defaultSites[x].match(/^(#options_|###$)/)),
+ sites_default: Object.keys(defaultSites).filter(x => !defaultSites[x].domain.match(/^(#options_|###$)/)),
sites_custom: {},
sites_excluded: [],
ext_version_old: '2.3.9.0',
@@ -684,7 +267,7 @@ ext_api.storage.local.get({
// Enable new sites by default (opt-in)
if (ext_version > ext_version_old) {
if (enabledSites.includes('#options_enable_new_sites')) {
- var sites_new = Object.keys(defaultSites).filter(x => !defaultSites[x].match(/^(#options_|###$)/) && !sites_default.includes(x));
+ var sites_new = Object.keys(defaultSites).filter(x => !defaultSites[x].domain.match(/^(#options_|###$)/) && !sites_default.includes(x));
for (let site_new of sites_new) {
sites[site_new] = defaultSites[site_new];
}
@@ -692,7 +275,7 @@ ext_api.storage.local.get({
sites: sites
});
}
- sites_default = Object.keys(defaultSites).filter(x => !defaultSites[x].match(/^(#options_|###$)/));
+ sites_default = Object.keys(defaultSites).filter(x => !defaultSites[x].domain.match(/^(#options_|###$)/));
ext_api.storage.local.set({
sites_default: sites_default,
ext_version_old: ext_version
@@ -702,56 +285,8 @@ ext_api.storage.local.get({
customSites = sites_custom;
customSites_domains = Object.values(sites_custom).map(x => x.domain);
disabledSites = defaultSites_domains.concat(customSites_domains).filter(x => !enabledSites.includes(x) && x !== '###');
- add_grouped_sites(true); //and exclude sites
-
- for (let key in sites_custom) {
- var domainVar = sites_custom[key]['domain'].toLowerCase();
- if (sites_custom[key]['googlebot'] > 0 && !use_google_bot.includes(domainVar))
- use_google_bot.push(domainVar);
- switch (sites_custom[key]['useragent']) {
- case 'googlebot':
- if (!use_google_bot.includes(domainVar))
- use_google_bot.push(domainVar);
- break;
- case 'bingbot':
- if (!use_bing_bot.includes(domainVar))
- use_bing_bot.push(domainVar);
- break;
- }
- if (sites_custom[key]['allow_cookies'] > 0 && !allow_cookies.includes(domainVar) && !defaultSites_domains.includes(domainVar))
- allow_cookies.push(domainVar);
- if (sites_custom[key]['block_javascript'] > 0)
- block_js_custom.push(domainVar);
- if (sites_custom[key]['block_javascript_ext'] > 0)
- block_js_custom_ext.push(domainVar);
- if (sites_custom[key]['block_regex']) {
- if (sites_custom[key]['block_regex'].match(/^\/.+\/$/))
- sites_custom[key]['block_regex'] = sites_custom[key]['block_regex'].replace(/(^\/|\/$)/g, '');
- blockedRegexesCustom[domainVar] = new RegExp(sites_custom[key]['block_regex']);
- }
- if (sites_custom[key]['amp_unhide'] > 0)
- amp_unhide.push(domainVar);
- switch (sites_custom[key]['referer']) {
- case 'facebook':
- use_facebook_referer.push(domainVar);
- break;
- case 'google':
- use_google_referer.push(domainVar);
- break;
- case 'twitter':
- use_twitter_referer.push(domainVar);
- }
- }
-
- for (let domainVar of enabledSites) {
- if (!allow_cookies.includes(domainVar) && !remove_cookies.includes(domainVar) && !defaultSites_domains.includes(domainVar)) {
- allow_cookies.push(domainVar);
- remove_cookies.push(domainVar);
- }
- }
-
- change_headers = use_google_bot.concat(use_bing_bot, use_facebook_referer, use_google_referer, use_twitter_referer, use_random_ip);
- disableJavascriptOnListedSites();
+ add_grouped_enabled_domains(grouped_sites);
+ set_rules(sites, customSites);
});
// Listen for changes to options
@@ -762,107 +297,45 @@ ext_api.storage.onChanged.addListener(function (changes, namespace) {
var storageChange = changes[key];
if (key === 'sites') {
var sites = storageChange.newValue;
+ optionSites = sites;
enabledSites = Object.keys(sites).filter(function (key) {
return (sites[key] !== '' && sites[key] !== '###');
}).map(function (key) {
return sites[key];
});
disabledSites = defaultSites_domains.concat(customSites_domains).filter(x => !enabledSites.includes(x) && x !== '###');
- add_grouped_sites(false);
-
- for (let domainVar of enabledSites) {
- if (!allow_cookies.includes(domainVar) && !remove_cookies.includes(domainVar) && !defaultSites_domains.includes(domainVar)) {
- allow_cookies.push(domainVar);
- remove_cookies.push(domainVar);
- }
- }
+ add_grouped_enabled_domains(grouped_sites);
+ set_rules(sites, customSites);
}
if (key === 'sites_custom') {
var sites_custom = storageChange.newValue ? storageChange.newValue : {};
var sites_custom_old = storageChange.oldValue ? storageChange.oldValue : {};
customSites = sites_custom;
customSites_domains = Object.values(sites_custom).map(x => x.domain);
-
- // add/remove custom sites in options
- var sites_custom_added = Object.keys(sites_custom).filter(x => !Object.keys(sites_custom_old).includes(x) && !defaultSites.hasOwnProperty(x));
- var sites_custom_removed = Object.keys(sites_custom_old).filter(x => !Object.keys(sites_custom).includes(x) && !defaultSites.hasOwnProperty(x));
-
+
+ // add/remove custom sites in options (not for default site(group))
+ var sites_custom_added = Object.keys(sites_custom).filter(x => !Object.keys(sites_custom_old).includes(x) && !defaultSites.hasOwnProperty(x) && !defaultSites_domains.includes(sites_custom[x].domain));
+ var sites_custom_removed = Object.keys(sites_custom_old).filter(x => !Object.keys(sites_custom).includes(x) && !defaultSites.hasOwnProperty(x) && !defaultSites_domains.includes(sites_custom_old[x].domain));
+
ext_api.storage.local.get({
sites: {}
}, function (items) {
var sites = items.sites;
- for (let key of sites_custom_added)
- sites[key] = sites_custom[key].domain;
- for (let key of sites_custom_removed)
- delete sites[key];
-
- ext_api.storage.local.set({
- sites: sites
- }, function () {
- true;
- });
+ if (sites_custom_added.concat(sites_custom_removed).length > 0) {
+ for (let key of sites_custom_added)
+ sites[key] = sites_custom[key].domain;
+ for (let key of sites_custom_removed)
+ delete sites[key];
+
+ ext_api.storage.local.set({
+ sites: sites
+ }, function () {
+ true;
+ });
+ } else
+ set_rules(sites, customSites);
});
-
- use_google_bot = use_google_bot_default.slice();
- use_bing_bot = use_bing_bot_default.slice();
- use_facebook_referer = use_facebook_referer_default.slice();
- use_google_referer = use_google_referer_default.slice();
- use_twitter_referer = use_twitter_referer_default.slice();
- block_js_custom = [];
- block_js_custom_ext = [];
- blockedRegexesCustom = {};
- amp_unhide = [];
- for (let key in sites_custom) {
- var domainVar = sites_custom[key]['domain'].toLowerCase();
- if (sites_custom[key]['googlebot'] > 0 && !use_google_bot.includes(domainVar)) {
- use_google_bot.push(domainVar);
- }
- switch (sites_custom[key]['useragent']) {
- case 'googlebot':
- if (!use_google_bot.includes(domainVar))
- use_google_bot.push(domainVar);
- break;
- case 'bingbot':
- if (!use_bing_bot.includes(domainVar))
- use_bing_bot.push(domainVar);
- break;
- }
- if (!defaultSites_domains.includes(domainVar)) {
- if (sites_custom[key]['allow_cookies'] > 0) {
- if (allow_cookies.includes(domainVar)) {
- if (remove_cookies.includes(domainVar))
- remove_cookies.splice(remove_cookies.indexOf(domainVar), 1);
- } else
- allow_cookies.push(domainVar);
- } else if (allow_cookies.includes(domainVar) && !remove_cookies.includes(domainVar))
- remove_cookies.push(domainVar);
- }
- if (sites_custom[key]['block_javascript'] > 0) {
- block_js_custom.push(domainVar);
- }
- if (sites_custom[key]['block_javascript_ext'] > 0) {
- block_js_custom_ext.push(domainVar);
- }
- if (sites_custom[key]['block_regex']) {
- if (sites_custom[key]['block_regex'].match(/^\/.+\/$/))
- sites_custom[key]['block_regex'] = sites_custom[key]['block_regex'].replace(/(^\/|\/$)/g, '');
- blockedRegexesCustom[domainVar] = new RegExp(sites_custom[key]['block_regex']);
- }
- if (sites_custom[key]['amp_unhide'] > 0) {
- amp_unhide.push(domainVar);
- }
- switch (sites_custom[key]['referer']) {
- case 'facebook':
- use_facebook_referer.push(domainVar);
- break;
- case 'google':
- use_google_referer.push(domainVar);
- break;
- case 'twitter':
- use_twitter_referer.push(domainVar);
- }
- }
- change_headers = use_google_bot.concat(use_bing_bot, use_facebook_referer, use_google_referer, use_twitter_referer, use_random_ip);
+
}
if (key === 'sites_excluded') {
var sites_excluded = storageChange.newValue ? storageChange.newValue : [];
@@ -1078,10 +551,7 @@ ext_api.webRequest.onHeadersReceived.addListener(function (details) {
},
['blocking', 'responseHeaders']);
-var block_js_default = ["*://cdn.tinypass.com/*", "*://*.piano.io/*", "*://*.poool.fr/*", "*://cdn.ampproject.org/v*/amp-access-*.js", "*://cdn.ampproject.org/v*/amp-subscriptions-*.js", "*://loader-cdn.azureedge.net/prod/*/loader.min.js*", "*://*.blueconic.net/*", "*://*.cxense.com/*", "*://*.evolok.net/*", "*://js.matheranalytics.com/*", "*://*.newsmemory.com/*", "*://*.onecount.net/*", "*://js.pelcro.com/*", "*://*.qiota.com/*", "*://*.tribdss.com/*"];
-var block_js_custom = [];
-var block_js_custom_ext = [];
-var block_js = block_js_default.concat(block_js_custom);
+var block_js = ["*://cdn.tinypass.com/*", "*://*.piano.io/*", "*://*.poool.fr/*", "*://cdn.ampproject.org/v*/amp-access-*.js", "*://cdn.ampproject.org/v*/amp-subscriptions-*.js", "*://loader-cdn.azureedge.net/prod/*/loader.min.js*", "*://*.blueconic.net/*", "*://*.cxense.com/*", "*://*.evolok.net/*", "*://js.matheranalytics.com/*", "*://*.newsmemory.com/*", "*://*.onecount.net/*", "*://js.pelcro.com/*", "*://*.qiota.com/*", "*://*.tribdss.com/*"];
// Disable javascript for these sites/general paywall-scripts
function disableJavascriptOnListedSites() {
@@ -1140,6 +610,7 @@ ext_api.webRequest.onBeforeSendHeaders.addListener(function(details) {
}
// remove cookies for sites medium platform (custom domains)
+ var medium_custom_domains = [];
var medium_custom_domain = (matchUrlDomain('cdn-client.medium.com', details.url) && ['script'].includes(details.type) && !matchUrlDomain(medium_custom_domains.concat(['medium.com', 'towardsdatascience.com']), header_referer) && enabledSites.includes('###_medium_custom'));
if (medium_custom_domain) {
let mc_domain = urlHost(header_referer).replace(/^(www|m)\./, '');;
@@ -1153,6 +624,7 @@ ext_api.webRequest.onBeforeSendHeaders.addListener(function(details) {
}
// set googlebot-useragent for Gannett sites
+ var usa_gannett_domains = [];
var usa_gannett_domain = (matchUrlDomain('gannett-cdn.com', details.url) && ['xmlhttprequest'].includes(details.type) && !matchUrlDomain(usa_gannett_domains.concat(['usatoday.com']), header_referer) && enabledSites.includes('###_usa_gannett'));
if (usa_gannett_domain) {
let gn_domain = urlHost(header_referer).replace(/^(www|eu)\./, '');;
@@ -1166,6 +638,7 @@ ext_api.webRequest.onBeforeSendHeaders.addListener(function(details) {
}
// block script for additional Lee Enterprises sites (opt-in to custom sites)
+ var usa_lee_ent_domains = grouped_sites['###_usa_lee_ent'];
var usa_lee_ent_domain = (details.url.match(/\.com\/shared-content\/art\/tncms\/.+\.js/) && ['script'].includes(details.type) &&
!matchUrlDomain(usa_lee_ent_domains, header_referer) && enabledSites.includes('###_usa_lee_ent'));
if (usa_lee_ent_domain) {
@@ -1177,6 +650,7 @@ ext_api.webRequest.onBeforeSendHeaders.addListener(function(details) {
}
// block script for additional McClatchy sites (opt-in to custom sites)
+ var usa_mcc_domains = grouped_sites['###_usa_mcc'];
var usa_mcc_domain = ((matchUrlDomain('mcclatchyinteractive.com', details.url) && ['script'].includes(details.type)) ||
(matchUrlDomain('mcclatchy-wires.com', details.url) && ['image'].includes(details.type)) &&
!matchUrlDomain(usa_mcc_domains, header_referer) && enabledSites.includes('###_usa_mcc'));
@@ -1189,6 +663,7 @@ ext_api.webRequest.onBeforeSendHeaders.addListener(function(details) {
}
// block script for additional MediaNews Group sites (opt-in to custom sites)
+ var usa_mng_domains = grouped_sites['###_usa_mng'];
var usa_mng_domain = (details.url.match(/\.com\/wp-content\/plugins\/dfm(-pushly|_zeus)\/.+\.js/) && ['script'].includes(details.type) &&
!matchUrlDomain(usa_mng_domains, header_referer) && enabledSites.includes('###_usa_mng'));
if (usa_mng_domain) {
@@ -1200,6 +675,7 @@ ext_api.webRequest.onBeforeSendHeaders.addListener(function(details) {
}
// block script for additional Madsack/RND sites (opt-in to custom sites)
+ var de_madsack_domains = grouped_sites['###_de_madsack'];
var de_rnd_domain = (matchUrlDomain('rndtech.de', details.url) && ['script'].includes(details.type) && !matchUrlDomain(de_madsack_domains.concat(['madsack.de', 'madsack-medien-campus.de', 'rnd.de']), header_referer) && enabledSites.includes('###_de_madsack'));
if (de_rnd_domain) {
let rnd_domain = urlHost(header_referer).replace(/^(www|m)\./, '');
@@ -1213,6 +689,7 @@ ext_api.webRequest.onBeforeSendHeaders.addListener(function(details) {
}
// set user-agent to GoogleBot for additional Snamoma Media Finland (opt-in to custom sites)
+ var fi_sanoma_domains = grouped_sites['###_fi_sanoma'];
var fi_sanoma_sndp_domain = (matchUrlDomain('sanoma-sndp.fi', details.url) && ['xmlhttprequest'].includes(details.type) && !matchUrlDomain(fi_sanoma_domains, header_referer) && enabledSites.includes('###_fi_sanoma'));
if (fi_sanoma_sndp_domain) {
let sanoma_domain = urlHost(header_referer).replace(/^www\./, '');
@@ -1237,9 +714,7 @@ ext_api.webRequest.onBeforeSendHeaders.addListener(function(details) {
// 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);
- var blockedDomainsCustom = Object.keys(blockedRegexesCustom);
- var domainCustom = matchUrlDomain(blockedDomainsCustom, header_referer);
- if (((domain && details.url.match(blockedRegexes[domain])) || (domainCustom && details.url.match(blockedRegexesCustom[domainCustom]))) && isSiteEnabled({url: header_referer}))
+ if (domain && details.url.match(blockedRegexes[domain]) && isSiteEnabled({url: header_referer}))
return { cancel: true };
// load toggleIcon.js (icon for dark or incognito mode in Chrome))
@@ -1517,7 +992,7 @@ function site_switch() {
if (isDefaultSiteGroup)
isDefaultSite = Object.keys(grouped_sites).find(key => grouped_sites[key].includes(isDefaultSiteGroup));
}
- let defaultSite_title = isDefaultSite ? Object.keys(defaultSites).find(key => defaultSites[key] === isDefaultSite) : '';
+ let defaultSite_title = isDefaultSite ? Object.keys(defaultSites).find(key => defaultSites[key].domain === isDefaultSite) : '';
let isCustomSite = matchUrlDomain(Object.values(customSites_domains), currentUrl);
let customSite_title = isCustomSite ? Object.keys(customSites).find(key => customSites[key].domain === isCustomSite) : '';
let site_title = defaultSite_title || customSite_title;
@@ -1722,9 +1197,11 @@ if (typeof browser !== 'object') {
});
}
-function filterObject(obj, callback) {
+function filterObject(obj, filterFn, mapFn = function (val, key) {
+ return [key, val];
+}) {
return Object.fromEntries(Object.entries(obj).
- filter(([key, val]) => callback(val, key)));
+ filter(([key, val]) => filterFn(val, key)).map(([key, val]) => mapFn(val, key)));
}
function isSiteEnabled(details) {
diff --git a/changelog.txt b/changelog.txt
index 87929565..c2ff25e9 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -6,6 +6,7 @@ Fix Lee Enterprises Group
Fix LesEchos.fr (json)
Fix WaPo (images)
Fix WSJ (timing)
+Refactor (custom) site rules
* v2.4.2.0 (2021-10-31)
Fix Barron's (timing)
diff --git a/manifest.json b/manifest.json
index 1a6f128e..962aa662 100644
--- a/manifest.json
+++ b/manifest.json
@@ -557,5 +557,5 @@
"*://*.wallkit.net/*",
"*://*.wsj.net/*"
],
- "version": "2.4.2.3"
+ "version": "2.4.2.4"
}
\ No newline at end of file
diff --git a/options/options.js b/options/options.js
index 0768b01a..d8aa14f3 100644
--- a/options/options.js
+++ b/options/options.js
@@ -40,7 +40,7 @@ function renderOptions() {
if (!defaultSites.hasOwnProperty(key)) {
continue;
}
- var value = defaultSites[key];
+ var value = defaultSites[key].domain;
labelEl = document.createElement('label');
var inputEl = document.createElement('input');
inputEl.type = 'checkbox';
diff --git a/options/options_custom.html b/options/options_custom.html
index 45cde50d..017cf1fa 100644
--- a/options/options_custom.html
+++ b/options/options_custom.html
@@ -21,7 +21,7 @@
To add a new site, enter an unique title/domain (without www.).
Select options for useragent (like Googlebot), set referer (ignored when Googlebot is set), block Javascript (on (sub)domain(s) of site and/or external domains), block regular expression and/or unhide text on amp-page.
- Custom sites are enabled automatically in
(cookies will be removed by default unless you enable allow_cookies; cookie settings for default sites are ignored).
+ Custom sites (new) are enabled automatically in
(cookies will be removed by default unless you enable allow_cookies).
If you want to use custom sites (for non-listed sites) enable it in
Custom sites enabled:
You can also just request permissions for the custom sites you added yourself (below).
diff --git a/sites.js b/sites.js
index 435659e5..ea4d0401 100644
--- a/sites.js
+++ b/sites.js
@@ -1,359 +1,1735 @@
-var defaultSites =
-{
- "360Dx": "360dx.com",
- "Aachener Zeitung": "aachener-zeitung.de",
- "ABC.es": "abc.es",
- "Adweek": "adweek.com",
- "Algemeen Dagblad (+ regional)": "###_nl_ad_region",
- "Alma Talent (Finland)": "###_fi_alma_talent",
- "Alternatives Economiques": "alternatives-economiques.fr",
- "Ámbito": "ambito.com",
- "American Affairs": "americanaffairsjournal.org",
- "American Banker": "americanbanker.com",
- "Apollo Magazine": "apollo-magazine.com",
- "Asia Times": "asiatimes.com",
- "Atavist Magazine": "atavist.com",
- "Atlantico.fr": "atlantico.fr",
- "Augsburger Allgemeine": "augsburger-allgemeine.de",
- "Australia News Corp": "###_au_news_corp",
- "Australian Community Media (daily)": "###_au_comm_media",
- "Barron's": "barrons.com",
- "BBC History Extra": "historyextra.com",
- "Belfast Telegraph (opt-in)": "belfasttelegraph.co.uk",
- "Berliner Zeitung": "berliner-zeitung.de",
- "Berlingske": "berlingske.dk",
- "Billboard": "billboard.com",
- "Bloomberg": "bloomberg.com",
- "Bloomberg Quint (free articles only)": "bloombergquint.com",
- "Brisbane Times": "brisbanetimes.com.au",
- "Business Insider": "businessinsider.com",
- "Business Standard": "business-standard.com",
- "Caixin Global": "caixinglobal.com",
- "Challenges": "challenges.fr",
- "Charlie Hebdo": "charliehebdo.fr",
- "Chemical & Engineering News": "cen.acs.org",
- "Chronicle of Higher Education": "chronicle.com",
- "Cicero.de": "cicero.de",
- "Clarín": "clarin.com",
- "Commentary Magazine": "commentary.org",
- "CommonWealth Magazine Taiwan": "cw.com.tw",
- "Correio da Manhã": "cmjornal.pt",
- "Corriere della Sera": "corriere.it",
- "Crain Communications": "###_usa_craincomm",
- "Dagblad van het Noorden": "dvhn.nl",
- "Dagens Industri": "di.se",
- "Dagens Nyheter": "dn.se",
- "Daily Nation": "nation.africa",
- "Dark Reading": "darkreading.com",
- "De Tijd": "tijd.be",
- "DeMorgen": "demorgen.be",
- "Deutsche Wirtschafts Nachrichten": "deutsche-wirtschafts-nachrichten.de",
- "Diario Financiero": "df.cl",
- "Die Rheinpfalz": "rheinpfalz.de",
- "Die Zeit": "zeit.de",
- "Digiday": "digiday.com",
- "Discover Magazine": "discovermagazine.com",
- "Domani": "editorialedomani.it",
- "El Comercio": "elcomercio.pe",
- "El Confidencial": "elconfidencial.com",
- "El Diario.es": "eldiario.es",
- "El Español": "elespanol.com",
- "El Mercurio": "elmercurio.com",
- "El Mercurio de Valparaíso": "mercuriovalpo.cl",
- "El Mundo": "elmundo.es",
- "El País": "elpais.com",
- "El Periódico (de Catalunya)": "elperiodico.com",
- "Elle.fr": "elle.fr",
- "Encyclopedia Britannica": "britannica.com",
- "Entrepreneur": "entrepreneur.com",
- "Esprit": "esprit.presse.fr",
- "EUobserver": "euobserver.com",
- "Eureka Report": "eurekareport.com.au",
- "Exame": "exame.com",
- "Expansión": "expansion.com",
- "Financial News (London)": "fnlondon.com",
- "Financial Post": "financialpost.com",
- "Financial Times (not Chinese)": "ft.com",
- "Financieele Dagblad (fd.nl)": "fd.nl",
- "First Things": "firstthings.com",
- "Folha de S. Paulo": "###_br_folha",
- "Follow the Money (ftm.nl)": "ftm.nl",
- "Forbes": "forbes.com",
- "Foreign Affairs": "foreignaffairs.com",
- "Foreign Policy": "foreignpolicy.com",
- "Fortune": "fortune.com",
- "Frankfurter Allgemeine Zeitung": "faz.net",
- "Freie Presse": "freiepresse.de",
- "Funke Mediengruppe": "###_de_funke_medien",
- "Gannett Group (local USA Today) (opt-in to custom sites)": "###_usa_gannett",
- "GElocal.it": "gelocal.it",
- "GenomeWeb": "genomeweb.com",
- "Gestión": "gestion.pe",
- "Glassdoor": "glassdoor.com",
- "Globes": "globes.co.il",
- "Griffith Review": "griffithreview.com",
- "Groene Amsterdammer": "groene.nl",
- "Groupe EBRA (France)": "###_fr_groupe_ebra",
- "Groupe La Dépêche (France)": "###_fr_groupe_la_depeche",
- "Groupe Rossel (France/Belgium)": "###_fr_be_groupe_rossel",
- "Grupo Abril": "abril.com.br",
- "Grupo Prensa Ibérica": "###_es_epiberica",
- "Grupo Vocento (Spain, regional daily)": "###_es_grupo_vocento",
- "Haaretz English": "haaretz.com",
- "Haaretz": "haaretz.co.il",
- "Handelsblatt (only non-premium articles)": "handelsblatt.com",
- "Harper's Magazine": "harpers.org",
- "Harvard Business Review": "hbr.org",
- "Harvard Business Review Taiwan": "hbrtaiwan.com",
- "Hindustan Times": "hindustantimes.com",
- "Honolulu Star-Advertiser": "staradvertiser.com",
- "Houston Chronicle": "houstonchronicle.com",
- "Humo.be": "humo.be",
- "Il Fatto Quotidiano": "ilfattoquotidiano.it",
- "Il Manifesto": "ilmanifesto.it",
- "Il Messaggero (+ regional)": "###_it_ilmessaggero",
- "Il Secolo XIX": "ilsecoloxix.it",
- "Inc.com": "inc.com",
- "Inc42": "inc42.com",
- "Inkl": "inkl.com",
- "Intelligent Investor": "intelligentinvestor.com.au",
- "Irish Independent (opt-in)": "independent.ie",
- "Knack.be": "knack.be",
- "Krautreporter.de": "krautreporter.de",
- "Kurier.at": "kurier.at",
- "L'Express": "lexpress.fr",
- "L'Obs": "nouvelobs.com",
- "L'Oeil de la Photographie": "loeildelaphotographie.com",
- "L'Opinion": "lopinion.fr",
- "L'Orient-Le Jour": "lorientlejour.com",
- "L'Usine Nouvelle": "usinenouvelle.com",
- "La Croix": "la-croix.com",
- "La Estrella de Valparaíso": "estrellavalpo.cl",
- "La Nación": "lanacion.com.ar",
- "La Nouvelle République du Centre-Ouest": "lanouvellerepublique.fr",
- "La Nuova Sardegna": "lanuovasardegna.it",
- "La Repubblica": "repubblica.it",
- "La Segunda": "lasegunda.com",
- "La Stampa": "lastampa.it",
- "La Tercera": "latercera.com",
- "La Tribune": "latribune.fr",
- "La Vanguardia": "lavanguardia.com",
- "Law.com (free articles only)": "law.com",
- "Law360 (free articles only)": "law360.com",
- "Le Devoir": "ledevoir.com",
- "Le Journal du Dimanche": "lejdd.fr",
- "Le Journal du Net": "journaldunet.com",
- "Le Parisien": "leparisien.fr",
- "Le Scienze": "lescienze.it",
- "Le Télégramme": "letelegramme.fr",
- "Lee Enterprises Group": "###_usa_lee_ent",
- "Leeuwarder Courant": "lc.nl",
- "Les Échos": "lesechos.fr",
- "Libération (free articles only)": "liberation.fr",
- "LimesOnline": "limesonline.com",
- "Live Law": "livelaw.in",
- "LiveMint": "livemint.com",
- "Loeb Classical Library": "loebclassics.com",
- "London Review of Books": "lrb.co.uk",
- "Los Angeles Business Journal": "labusinessjournal.com",
- "Los Angeles Times": "latimes.com",
- "Madsack Mediengruppe (Germany)": "###_de_madsack",
- "Marca": "marca.com",
- "Marianne.net": "marianne.net",
- "MarketWatch": "marketwatch.com",
- "McClatchy Group": "###_usa_mcc",
- "Mediahuis Nederland Regional": "###_nl_mediahuis_region",
- "MediaNama": "medianama.com",
- "MediaNews Group": "###_usa_mng",
- "Medium": "medium.com",
- "Medium custom domains": "###_medium_custom",
- "Mexico News Daily": "mexiconewsdaily.com",
- "MIT Sloan Management Review": "sloanreview.mit.edu",
- "MIT Technology Review": "technologyreview.com",
- "Mountain View Voice": "mv-voice.com",
- "National Geographic USA": "nationalgeographic.com",
- "National Post": "nationalpost.com",
- "National Review": "nationalreview.com",
- "Nautilus": "nautil.us",
- "Neue Osnabrücker Zeitung": "noz.de",
- "Neue Zürcher Zeitung": "nzz.ch",
- "New Left Review": "newleftreview.org",
- "New York Magazine (+ Curbed, Grub Street, The Cut & Vulture)": "###_usa_nymag",
- "New Zealand Herald": "nzherald.co.nz",
- "Newsday": "newsday.com",
- "Newsweek": "newsweek.com",
- "NHST Media Group": "###_no_nhst_media",
- "Nikkei Asian Review": "asia.nikkei.com",
- "NK News (free articles only)": "nknews.org",
- "Nordwest Zeitung": "nwzonline.de",
- "NRC Handelsblad": "nrc.nl",
- "NyTeknik": "nyteknik.se",
- "O Estado de S. Paulo": "estadao.com.br",
- "O Globo (& Valor Econômico)": "globo.com",
- "Observador.pt": "observador.pt",
- "Palo Alto Online": "paloaltoonline.com",
- "Paris Match": "parismatch.com",
- "Parool": "parool.nl",
- "Philosophy Now": "philosophynow.org",
- "Piqd.de": "piqd.de",
- "Pittsburgh Post Gazette": "post-gazette.com",
- "Política Exterior": "politicaexterior.com",
- "Precision Oncology News": "precisiononcologynews.com",
- "Prospect Magazine": "prospectmagazine.co.uk",
- "Quartz (free articles only)": "qz.com",
- "Quora": "quora.com",
- "Quotidiano.net (+ regional)": "###_it_quotidiano",
- "Reuters": "reuters.com",
- "Rhein-Zeitung": "rhein-zeitung.de",
- "Rolling Stone": "rollingstone.com",
- "Ruhr Nachrichten": "ruhrnachrichten.de",
- "Sächsische Zeitung": "saechsische.de",
- "San Diego Union Tribune": "sandiegouniontribune.com",
- "San Francisco Chronicle": "sfchronicle.com",
- "Sanoma Media Finland (+ regional/opt-in to custom sites)": "###_fi_sanoma",
- "Schleswig-Holsteinischer Zeitungsverlag": "shz.de",
- "Schweriner Volkszeitung": "svz.de",
- "Science & Vie": "science-et-vie.com",
- "Sciences et Avenir": "sciencesetavenir.fr",
- "Scientific American (free articles only)": "scientificamerican.com",
- "Scribd (documents only)": "scribd.com",
- "Seeking Alpha": "seekingalpha.com",
- "Slate": "slate.com",
- "SOFREP": "sofrep.com",
- "South China Morning Post": "scmp.com",
- "Southern Weekly": "infzm.com",
- "Sports Illustrated": "si.com",
- "Star Tribune": "startribune.com",
- "Statista": "statista.com",
- "Stock News": "stocknews.com",
- "Stratfor": "stratfor.com",
- "Study.com (no videos)": "study.com",
- "Sud Ouest": "sudouest.fr",
- "Tampa Bay Times": "tampabay.com",
- "Tech in Asia": "techinasia.com",
- "Telegraaf": "telegraaf.nl",
- "Télérama": "telerama.fr",
- "The Age": "theage.com.au",
- "The American Interest": "the-american-interest.com",
- "The Art Newspaper": "theartnewspaper.com",
- "The Athletic": "###_usa_theathletic",
- "The Atlanta Journal-Constitution": "ajc.com",
- "The Atlantic": "theatlantic.com",
- "The Australian Financial Review": "afr.com",
- "The Boston Globe": "bostonglobe.com",
- "The Business Journals": "bizjournals.com",
- "The Business of Fashion": "businessoffashion.com",
- "The Christian Science Monitor": "csmonitor.com",
- "The Daily Beast": "thedailybeast.com",
- "The Dallas Morning News": "dallasnews.com",
- "The Diplomat": "thediplomat.com",
- "The Economic Times (ET Prime)": "###_economictimes",
- "The Economist": "economist.com",
- "The Globe and Mail": "theglobeandmail.com",
- "The Hill Times": "hilltimes.com",
- "The Hindu": "thehindu.com",
- "The Hindu BusinessLine": "thehindubusinessline.com",
- "The Intercept": "theintercept.com",
- "The Japan Times": "japantimes.co.jp",
- "The Jerusalem Post": "jpost.com",
- "The Logic": "thelogic.co",
- "The Marker": "themarker.com",
- "The Market.ch": "themarket.ch",
- "The Nation": "thenation.com",
- "The New Atlantis": "thenewatlantis.com",
- "The New Republic": "newrepublic.com",
- "The New Statesman": "newstatesman.com",
- "The New York Review of Books": "nybooks.com",
- "The New York Times": "nytimes.com",
- "The New Yorker": "newyorker.com",
- "The Philadelphia Inquirer": "inquirer.com",
- "The Point Magazine": "thepointmag.com",
- "The Saturday Paper": "thesaturdaypaper.com.au",
- "The Seattle Times": "seattletimes.com",
- "The Spectator (UK)": "spectator.co.uk",
- "The Spectator Australia": "spectator.com.au",
- "The Spectator USA": "spectator.us",
- "The Sydney Morning Herald": "smh.com.au",
- "The Telegraph": "telegraph.co.uk",
- "The Times": "thetimes.co.uk",
- "The Times Literary Supplement": "the-tls.co.uk",
- "The Toronto Star (+ local TorStar sites)": "###_ca_torstar",
- "The Wall Street Journal": "wsj.com",
- "The Washington Post": "washingtonpost.com",
- "The West Australian (+ regional)": "thewest.com.au",
- "The Wrap": "thewrap.com",
- "Time Magazine": "time.com",
- "Times Higher Education": "timeshighereducation.com",
- "Times of India": "###_timesofindia",
- "Towards Data Science": "towardsdatascience.com",
- "Tribune Publishing Company": "###_usa_tribune",
- "Trouw": "trouw.nl",
- "USA Today": "usatoday.com",
- "Valeurs Actuelles": "valeursactuelles.com",
- "Vanity Fair": "vanityfair.com",
- "Variety": "variety.com",
- "VeloNews": "velonews.com",
- "VentureBeat": "venturebeat.com",
- "Volkskrant": "volkskrant.nl",
- "WAtoday": "watoday.com.au",
- "Westfalen-Blatt": "westfalen-blatt.de",
- "Westfälische Nachrichten": "wn.de",
- "Winston-Salem Journal": "journalnow.com",
- "Wired": "wired.com",
- "World Politics Review": "worldpoliticsreview.com",
- "* Block Paywall-scripts (opt-in to custom sites to enable also for non-listed sites)": "###",
- "Amp-access": "cdn.ampproject.org",
- "AzureEdge": "loader-cdn.azureedge.net",
- "BlueConic": "blueconic.net",
- "Cxense": "cxense.com",
- "Evolok": "evolok.net",
- "MatherAnalytics": "matheranalytics.com",
- "NewsMemory": "newsmemory.com",
- "OneCount": "onecount.net",
- "Pelcro": "pelcro.com",
- "Piano.io": "piano.io",
- "Poool.fr": "poool.fr",
- "Qiota": "qiota.com",
- "TinyPass": "tinypass.com",
- "TribDss": "tribdss.com",
- "* BPC settings": "###",
- "Show options on update": "#options_on_update",
- "Enable new sites by default": "#options_enable_new_sites",
- "Restore opt-in for custom sites (on reload; Chrome-only)": "#options_restore_custom",
- "Barron's - no Googlebot (http error 500)": "#options_disable_gb_barrons",
- "The Australian - no Googlebot (http error 403)": "#options_disable_gb_theaustralian",
- "The Wall Street Journal - no Googlebot (http error 500)": "#options_disable_gb_wsj"
+var defaultSites = {
+ "360Dx": {
+ domain: "360dx.com",
+ group_rule: "usa_genomeweb_domains"
+ },
+ "Aachener Zeitung": {
+ domain: "aachener-zeitung.de",
+ allow_cookies: 1,
+ block_regex: /cdn\.ampproject\.org\/v\d\/amp-(ad|analytics|consent|subscriptions)-.+\.js/
+ },
+ "ABC.es": {
+ domain: "abc.es",
+ allow_cookies: 1,
+ block_regex: /\.evolok\.net\//,
+ useragent: "googlebot"
+ },
+ "Adweek": {
+ domain: "adweek.com",
+ block_regex: /\.lightboxcdn\.com\//
+ },
+ "Algemeen Dagblad (+ regional)": {
+ domain: "###_nl_ad_region",
+ group: [
+ "ad.nl",
+ "bd.nl",
+ "ed.nl",
+ "tubantia.nl",
+ "bndestem.nl",
+ "pzc.nl",
+ "destentor.nl",
+ "gelderlander.nl"
+ ],
+ remove_cookies_select_drop: ['temptationTrackingId']
+ },
+ "Alma Talent (Finland)": {
+ domain: "###_fi_alma_talent",
+ group: [
+ "arvopaperi.fi",
+ "iltalehti.fi",
+ "kauppalehti.fi",
+ "marmai.fi",
+ "mediuutiset.fi",
+ "mikrobitti.fi",
+ "talouselama.fi",
+ "tekniikkatalous.fi",
+ "tivi.fi",
+ "uusisuomi.fi"
+ ],
+ block_regex: /\.fi\/static\/vendor\..+\.chunk\.js/,
+ useragent: "googlebot",
+ exception: [{
+ domain: "mediuutiset.fi",
+ useragent: "googlebot"
+ }
+ ]
+ },
+ "Alternatives Economiques": {
+ domain: "alternatives-economiques.fr",
+ block_regex: /\.poool\.fr\//
+ },
+ "Ámbito": {
+ domain: "ambito.com",
+ remove_cookies_select_drop: ['TDNotesRead']
+ },
+ "American Affairs": {
+ domain: "americanaffairsjournal.org"
+ },
+ "American Banker": {
+ domain: "americanbanker.com",
+ block_regex: /\.tinypass\.com\//
+ },
+ "Apollo Magazine": {
+ domain: "apollo-magazine.com",
+ allow_cookies: 1,
+ block_regex: /\.tinypass\.com\//
+ },
+ "Asia Times": {
+ domain: "asiatimes.com",
+ allow_cookies: 1,
+ block_regex: /cdn\.ampproject\.org\/v\d\/amp-(access|ad|analytics)-.+\.(m)?js/
+ },
+ "Atavist Magazine": {
+ domain: "atavist.com"
+ },
+ "Atlantico.fr": {
+ domain: "atlantico.fr",
+ allow_cookies: 1,
+ block_regex: /\.poool\.fr\//
+ },
+ "Augsburger Allgemeine": {
+ domain: "augsburger-allgemeine.de",
+ allow_cookies: 1,
+ block_regex: /(\.tinypass\.com\/|cdn\.ampproject\.org\/v\d\/amp-(ad|subscriptions)-.+\.js)/
+ },
+ "Australia News Corp": {
+ domain: "###_au_news_corp",
+ group: [
+ "adelaidenow.com.au",
+ "cairnspost.com.au",
+ "couriermail.com.au",
+ "dailytelegraph.com.au",
+ "geelongadvertiser.com.au",
+ "goldcoastbulletin.com.au",
+ "heraldsun.com.au",
+ "ntnews.com.au",
+ "theaustralian.com.au",
+ "thechronicle.com.au",
+ "themercury.com.au",
+ "townsvillebulletin.com.au",
+ "weeklytimesnow.com.au"
+ ],
+ allow_cookies: 1,
+ useragent: "googlebot",
+ block_regex: /cdn\.ampproject\.org\/v\d\/amp-(access|ad|iframe)-.+\.js/
+ },
+ "Australian Community Media (daily)": {
+ domain: "###_au_comm_media",
+ group: [
+ "bendigoadvertiser.com.au",
+ "bordermail.com.au",
+ "canberratimes.com.au",
+ "centralwesterndaily.com.au",
+ "dailyadvertiser.com.au",
+ "dailyliberal.com.au",
+ "examiner.com.au",
+ "illawarramercury.com.au",
+ "newcastleherald.com.au",
+ "northerndailyleader.com.au",
+ "portnews.com.au",
+ "standard.net.au",
+ "theadvocate.com.au",
+ "thecourier.com.au",
+ "westernadvocate.com.au"
+ ],
+ allow_cookies: 1,
+ block_regex: /cdn-au\.piano\.io\/api\/tinypass.+\.js/
+ },
+ "Barron's": {
+ domain: "barrons.com",
+ block_regex: /(cdn\.cxense\.com\/.+|cdn\.ampproject\.org\/v\d\/amp-(access|ad|consent|subscriptions)-.+\.js)/,
+ remove_cookies_select_hold: ['wsjregion'],
+ useragent: "googlebot"
+ },
+ "BBC History Extra": {
+ domain: "historyextra.com",
+ block_regex: /\.evolok\.net\//
+ },
+ "Belfast Telegraph (opt-in)": {
+ domain: "belfasttelegraph.co.uk",
+ allow_cookies: 1,
+ block_regex: /(cdn\.flip-pay\.com\/clients\/inm\/flip-pay\.js|cdn\.ampproject\.org\/v\d\/amp-(access|ad|consent)-.+\.js)/
+ },
+ "Berliner Zeitung": {
+ domain: "berliner-zeitung.de",
+ allow_cookies: 1
+ },
+ "Berlingske": {
+ domain: "berlingske.dk",
+ allow_cookies: 1,
+ useragent: "googlebot"
+ },
+ "Billboard": {
+ domain: "billboard.com",
+ allow_cookies: 1,
+ block_regex: /(cdn\.cxense\.com\/|\.tinypass\.com\/)/
+ },
+ "Bloomberg": {
+ domain: "bloomberg.com",
+ block_regex: /\.tinypass\.com\//,
+ remove_cookies_select_hold: ['bb_geo_info']
+ },
+ "Bloomberg Quint (free articles only)": {
+ domain: "bloombergquint.com"
+ },
+ "Brisbane Times": {
+ domain: "brisbanetimes.com.au",
+ group_rule: "au_nine_domains"
+ },
+ "Business Insider": {
+ domain: "businessinsider.com",
+ block_regex: /\.tinypass\.com\//
+ },
+ "Business Standard": {
+ domain: "business-standard.com",
+ allow_cookies: 1
+ },
+ "Caixin Global": {
+ domain: "caixinglobal.com",
+ remove_cookies_select_drop: ['CAIXINGLB_LOGIN_UUID']
+ },
+ "Challenges": {
+ domain: "challenges.fr",
+ block_regex: /\.poool\.fr\//
+ },
+ "Charlie Hebdo": {
+ domain: "charliehebdo.fr",
+ allow_cookies: 1,
+ block_regex: /\.poool\.fr\//
+ },
+ "Chemical & Engineering News": {
+ domain: "cen.acs.org"
+ },
+ "Chronicle of Higher Education": {
+ domain: "chronicle.com",
+ allow_cookies: 1,
+ block_regex: /(\.blueconic\.net\/|\.chronicle\.com\/(common\/)?(che-auth0-user|script)\.js)/
+ },
+ "Cicero.de": {
+ domain: "cicero.de",
+ allow_cookies: 1
+ },
+ "Clarín": {
+ domain: "clarin.com",
+ allow_cookies: 1,
+ block_regex: /js\.matheranalytics\.com\//,
+ referer: "facebook"
+ },
+ "Commentary Magazine": {
+ domain: "commentary.org",
+ block_regex: /\.commentary\.org\/.+\/js\/dg-locker-public\.js/
+ },
+ "CommonWealth Magazine Taiwan": {
+ domain: "cw.com.tw"
+ },
+ "Correio da Manhã": {
+ domain: "cmjornal.pt",
+ allow_cookies: 1,
+ block_regex: /cdn\.ampproject\.org\/v\d\/amp-(access|(sticky-)?ad)-.+\.js/
+ },
+ "Corriere della Sera": {
+ domain: "corriere.it",
+ allow_cookies: 1,
+ block_regex: /(\.tinypass\.com\/|\.corriereobjects\.it\/.+\/js\/_paywall\.sjs)/
+ },
+ "Crain Communications": {
+ domain: "###_usa_craincomm",
+ group: [
+ "adage.com",
+ "autonews.com",
+ "chicagobusiness.com",
+ "crainscleveland.com",
+ "crainsdetroit.com",
+ "crainsnewyork.com",
+ "modernhealthcare.com"
+ ],
+ allow_cookies: 1,
+ block_regex: "(\\.tinypass\\.com\\/|\\.{domain}\\/.+\\/js\\/js_.+\\.js)",
+ exception: [{
+ domain: "autonews.com",
+ block_regex: "(\\.tinypass\\.com\\/|\\.{domain}\\/.+\\/js\\/js_.+\\.js)"
+ }
+ ]
+ },
+ "Dagblad van het Noorden": {
+ domain: "dvhn.nl",
+ allow_cookies: 1,
+ block_regex: /\.evolok\.net\//
+ },
+ "Dagens Industri": {
+ domain: "di.se",
+ allow_cookies: 1,
+ useragent: "googlebot"
+ },
+ "Dagens Nyheter": {
+ domain: "dn.se",
+ allow_cookies: 1,
+ useragent: "googlebot"
+ },
+ "Daily Nation": {
+ domain: "nation.africa",
+ allow_cookies: 1,
+ block_regex: /(\.evolok\.net\/|nation\.africa\/resource\/themes\/nation-.+\/js\/.+\.js)/
+ },
+ "Dark Reading": {
+ domain: "darkreading.com"
+ },
+ "De Tijd": {
+ domain: "tijd.be"
+ },
+ "DeMorgen": {
+ domain: "demorgen.be",
+ group_rule: "nl_pg_domains"
+ },
+ "Deutsche Wirtschafts Nachrichten": {
+ domain: "deutsche-wirtschafts-nachrichten.de",
+ useragent: "googlebot"
+ },
+ "Diario Financiero": {
+ domain: "df.cl",
+ allow_cookies: 1,
+ useragent: "googlebot"
+ },
+ "Die Rheinpfalz": {
+ domain: "rheinpfalz.de",
+ allow_cookies: 1,
+ useragent: "googlebot"
+ },
+ "Die Zeit": {
+ domain: "zeit.de",
+ allow_cookies: 1,
+ useragent: "googlebot"
+ },
+ "Digiday": {
+ domain: "digiday.com",
+ block_regex: /cdn.\.tinypass\.com\//
+ },
+ "Discover Magazine": {
+ domain: "discovermagazine.com"
+ },
+ "Domani": {
+ domain: "editorialedomani.it",
+ allow_cookies: 1,
+ block_regex: /(\.editorialedomani\.it\/pelcro\.js|js\.pelcro\.com\/)/,
+ useragent: "googlebot"
+ },
+ "El Comercio": {
+ domain: "elcomercio.pe",
+ allow_cookies: 1,
+ block_regex: /\/elcomercio\.pe\/pf\/dist\/engine\/react\.js/
+ },
+ "El Confidencial": {
+ domain: "elconfidencial.com",
+ allow_cookies: 1,
+ block_regex: /\.tinypass\.com\//
+ },
+ "El Diario.es": {
+ domain: "eldiario.es"
+ },
+ "El Español": {
+ domain: "elespanol.com",
+ allow_cookies: 1,
+ block_regex: /\.eestatic\.com\/assets_js\/web\/v\d\/historia.*\.min\.js/
+ },
+ "El Mercurio": {
+ domain: "elmercurio.com",
+ allow_cookies: 1,
+ block_regex: /\.(elmercurio\.com|emol\.cl)\/(.+\/)?js\/(.+\/)?(modal|merPramV\d|PramModal\.min)\.js/,
+ useragent: "googlebot"
+ },
+ "El Mercurio de Valparaíso": {
+ domain: "mercuriovalpo.cl",
+ block_regex: /(.+\.mercuriovalpo\.cl\/impresa\/.+\/assets\/(vendor|\d)\.js|pram\.pasedigital\.cl\/API\/User\/Status\?)/
+ },
+ "El Mundo": {
+ domain: "elmundo.es",
+ group_rule: "es_unidad_domains"
+ },
+ "El País": {
+ domain: "elpais.com",
+ allow_cookies: 1,
+ block_regex: /(\.epimg\.net\/js\/.+\/(noticia|user)\.min\.js|\/elpais\.com\/arc\/subs\/p\.min\.js|cdn\.ampproject\.org\/v\d\/amp-(access|(sticky-)?ad|consent)-.+\.js)/
+ },
+ "El Periódico (de Catalunya)": {
+ domain: "elperiodico.com",
+ allow_cookies: 1,
+ block_regex: /cdn\.ampproject\.org\/v\d\/amp-(access|ad|consent)-.+\.js/
+ },
+ "Elle.fr": {
+ domain: "elle.fr",
+ allow_cookies: 1,
+ block_regex: /\.poool\.fr\//
+ },
+ "Encyclopedia Britannica": {
+ domain: "britannica.com"
+ },
+ "Entrepreneur": {
+ domain: "entrepreneur.com",
+ allow_cookies: 1
+ },
+ "Esprit": {
+ domain: "esprit.presse.fr",
+ allow_cookies: 1
+ },
+ "EUobserver": {
+ domain: "euobserver.com",
+ allow_cookies: 1,
+ useragent: "googlebot"
+ },
+ "Eureka Report": {
+ domain: "eurekareport.com.au",
+ allow_cookies: 1,
+ useragent: "googlebot"
+ },
+ "Exame": {
+ domain: "exame.com",
+ block_regex: /\/exame\.com\/.+\/js\/pywll-dyn\.js/
+ },
+ "Expansión": {
+ domain: "expansion.com",
+ group_rule: "es_unidad_domains"
+ },
+ "Financial News (London)": {
+ domain: "fnlondon.com",
+ useragent: "googlebot"
+ },
+ "Financial Post": {
+ domain: "financialpost.com",
+ allow_cookies: 1,
+ block_regex: /\.tinypass\.com\//
+ },
+ "Financial Times (not Chinese)": {
+ domain: "ft.com",
+ block_regex: /cdn\.ampproject\.org\/v\d\/amp-(access|ad|subscriptions)-.+\.js/,
+ useragent: "googlebot"
+ },
+ "Financieele Dagblad (fd.nl)": {
+ domain: "fd.nl",
+ referer: "facebook",
+ remove_cookies_select_drop: ['socialread']
+ },
+ "First Things": {
+ domain: "firstthings.com"
+ },
+ "Folha de S. Paulo": {
+ domain: "###_br_folha",
+ group: [
+ "folha.uol.com.br",
+ "blogfolha.uol.com.br"
+ ],
+ allow_cookies: 1,
+ block_regex: /(\.folha\.uol\.com\.br\/paywall\/js\/.+\/publicidade\.ads\.js|paywall\.folha\.uol\.com\.br\/|js\.matheranalytics\.com\/)/
+ },
+ "Follow the Money (ftm.nl)": {
+ domain: "ftm.nl",
+ allow_cookies: 1,
+ block_regex: /\.ftm\.nl\/js\/routing\?/
+ },
+ "Forbes": {
+ domain: "forbes.com",
+ allow_cookies: 1,
+ block_regex: /\.tinypass\.com\//
+ },
+ "Foreign Affairs": {
+ domain: "foreignaffairs.com",
+ block_regex: /\.foreignaffairs\.com\/sites\/default\/files\/js\/js_[^y].+\.js/
+ },
+ "Foreign Policy": {
+ domain: "foreignpolicy.com",
+ block_regex: /(cdn\.cxense\.com\/|\.tinypass\.com\/)/
+ },
+ "Fortune": {
+ domain: "fortune.com",
+ allow_cookies: 1,
+ block_regex: /\.tinypass\.com\//
+ },
+ "Frankfurter Allgemeine Zeitung": {
+ domain: "faz.net",
+ allow_cookies: 1
+ },
+ "Freie Presse": {
+ domain: "freiepresse.de",
+ allow_cookies: 1,
+ block_regex: /cdn\.ampproject\.org\/v\d\/amp-(access|ad|consent)-.+\.js/
+ },
+ "Funke Mediengruppe": {
+ domain: "###_de_funke_medien",
+ group: [
+ "abendblatt.de",
+ "braunschweiger-zeitung.de",
+ "morgenpost.de",
+ "nrz.de",
+ "otz.de",
+ "thueringer-allgemeine.de",
+ "tlz.de",
+ "waz.de",
+ "wp.de",
+ "wr.de"
+ ],
+ allow_cookies: 1,
+ useragent: "googlebot",
+ block_regex: /(cdn\.cxense\.com\/|\.tinypass\.com\/)/
+ },
+ "Gannett Group (local USA Today) (opt-in to custom sites)": {
+ domain: "###_usa_gannett"
+ },
+ "GElocal.it": {
+ domain: "gelocal.it",
+ group_rule: "it_repubblica_domains"
+ },
+ "GenomeWeb": {
+ domain: "genomeweb.com",
+ group_rule: "usa_genomeweb_domains"
+ },
+ "Gestión": {
+ domain: "gestion.pe",
+ allow_cookies: 1,
+ block_regex: /\/gestion\.pe\/pf\/dist\/engine\/react\.js/
+ },
+ "Glassdoor": {
+ domain: "glassdoor.com"
+ },
+ "Globes": {
+ domain: "globes.co.il",
+ block_regex: /\.tinypass\.com\//
+ },
+ "Griffith Review": {
+ domain: "griffithreview.com",
+ block_regex: /\.griffithreview\.com\/.+\/leaky-paywall\//,
+ remove_cookies_select_drop: ['issuem_lp']
+ },
+ "Groene Amsterdammer": {
+ domain: "groene.nl",
+ remove_cookies_select_hold: ['accept-cookies', 'popunder-hidden']
+ },
+ "Groupe EBRA (France)": {
+ domain: "###_fr_groupe_ebra",
+ group: [
+ "bienpublic.com",
+ "dna.fr",
+ "estrepublicain.fr",
+ "lalsace.fr",
+ "ledauphine.com",
+ "lejsl.com",
+ "leprogres.fr",
+ "republicain-lorrain.fr",
+ "vosgesmatin.fr"
+ ],
+ allow_cookies: 1,
+ block_regex: /(\.poool\.fr\/|cdn\.ampproject\.org\/v\d\/amp-(access|ad|consent)-.+\.js)/
+ },
+ "Groupe La Dépêche (France)": {
+ domain: "###_fr_groupe_la_depeche",
+ group: [
+ "centrepresseaveyron.fr",
+ "ladepeche.fr",
+ "lindependant.fr",
+ "midi-olympique.fr",
+ "midilibre.fr",
+ "nrpyrenees.fr",
+ "petitbleu.fr"
+ ],
+ allow_cookies: 1,
+ block_regex: /(\.poool\.fr\/|cdn\.ampproject\.org\/v\d\/amp-(access|ad|consent|subscriptions)-.+\.js)/
+ },
+ "Groupe Rossel (France/Belgium)": {
+ domain: "###_fr_be_groupe_rossel",
+ group: [
+ "aisnenouvelle.fr",
+ "courrier-picard.fr",
+ "lardennais.fr",
+ "lavoixdunord.fr",
+ "lecho.be",
+ "lesoir.be",
+ "lest-eclair.fr",
+ "liberation-champagne.fr",
+ "lunion.fr",
+ "nordeclair.fr",
+ "nordlittoral.fr",
+ "paris-normandie.fr",
+ "sudinfo.be"
+ ],
+ allow_cookies: 1,
+ useragent: "googlebot",
+ exception: [{
+ domain: "lecho.be"
+ }
+ ]
+ },
+ "Grupo Abril": {
+ domain: "abril.com.br",
+ allow_cookies: 1,
+ block_regex: /\.abril\.com\.br\/.+\/abril-paywall\/js\/abril-paywall\.js/
+ },
+ "Grupo Prensa Ibérica": {
+ domain: "###_es_epiberica",
+ group: [
+ "diariodeibiza.es",
+ "diariodemallorca.es",
+ "eldia.es",
+ "elperiodicomediterraneo.com",
+ "farodevigo.es",
+ "informacion.es",
+ "laprovincia.es",
+ "levante-emv.com",
+ "lne.es"
+ ],
+ allow_cookies: 1,
+ block_regex: /cdn\.ampproject\.org\/v\d\/amp-(access|analytics|consent)-.+\.js/
+ },
+ "Grupo Vocento (Spain, regional daily)": {
+ domain: "###_es_grupo_vocento",
+ group: [
+ "diariosur.es",
+ "diariovasco.com",
+ "elcomercio.es",
+ "elcorreo.com",
+ "eldiariomontanes.es",
+ "elnortedecastilla.es",
+ "hoy.es",
+ "ideal.es",
+ "larioja.com",
+ "lasprovincias.es",
+ "laverdad.es",
+ "lavozdigital.es"
+ ],
+ allow_cookies: 1,
+ block_regex: /cdn\.ampproject\.org\/v\d\/amp-(access|ad|subscriptions)-.+\.js/
+ },
+ "Haaretz English": {
+ domain: "haaretz.com",
+ allow_cookies: 1,
+ block_regex: /haaretz\.com\/hdc\/web\/js\/minified\/header-scripts-int.js/,
+ useragent: "bingbot"
+ },
+ "Haaretz": {
+ domain: "haaretz.co.il",
+ allow_cookies: 1,
+ block_regex: /haaretz\.co\.il\/htz\/js\/inter\.js/,
+ useragent: "bingbot"
+ },
+ "Handelsblatt (only non-premium articles)": {
+ domain: "handelsblatt.com",
+ allow_cookies: 1,
+ useragent: "googlebot"
+ },
+ "Harper's Magazine": {
+ domain: "harpers.org"
+ },
+ "Harvard Business Review": {
+ domain: "hbr.org",
+ block_regex: /\.tinypass\.com\//
+ },
+ "Harvard Business Review Taiwan": {
+ domain: "hbrtaiwan.com"
+ },
+ "Hindustan Times": {
+ domain: "hindustantimes.com",
+ allow_cookies: 1
+ },
+ "Honolulu Star-Advertiser": {
+ domain: "staradvertiser.com",
+ allow_cookies: 1
+ },
+ "Houston Chronicle": {
+ domain: "houstonchronicle.com",
+ block_regex: /\.blueconic\.net\//
+ },
+ "Humo.be": {
+ domain: "humo.be",
+ group_rule: "nl_pg_domains"
+ },
+ "Il Fatto Quotidiano": {
+ domain: "ilfattoquotidiano.it",
+ allow_cookies: 1,
+ block_regex: /cdn\.ampproject\.org\/v\d\/amp-(ad|subscriptions)-.+\.js/
+ },
+ "Il Manifesto": {
+ domain: "ilmanifesto.it",
+ referer: "facebook"
+ },
+ "Il Messaggero (+ regional)": {
+ domain: "###_it_ilmessaggero",
+ group: [
+ "corriereadriatico.it",
+ "ilgazzettino.it",
+ "ilmattino.it",
+ "ilmessaggero.it",
+ "quotidianodipuglia.it"
+ ],
+ block_regex: /utils\.cedsdigital\.it\/js\/PaywallMeter\.js/
+ },
+ "Il Secolo XIX": {
+ domain: "ilsecoloxix.it",
+ group_rule: "it_repubblica_domains"
+ },
+ "Inc.com": {
+ domain: "inc.com",
+ block_regex: /\.tinypass\.com\//
+ },
+ "Inc42": {
+ domain: "inc42.com",
+ allow_cookies: 1,
+ block_regex: /(\.tinypass\.com\/|cdn\.ampproject\.org\/v\d\/amp-(access|ad|analytics)-.+\.(m)?js)/
+ },
+ "Inkl": {
+ domain: "inkl.com"
+ },
+ "Intelligent Investor": {
+ domain: "intelligentinvestor.com.au",
+ allow_cookies: 1,
+ useragent: "googlebot"
+ },
+ "Irish Independent (opt-in)": {
+ domain: "independent.ie",
+ allow_cookies: 1,
+ block_regex: /(cdn\.flip-pay\.com\/clients\/inm\/flip-pay\.js|cdn\.ampproject\.org\/v\d\/amp-(access|ad|consent)-.+\.js)/
+ },
+ "Knack.be": {
+ domain: "knack.be",
+ allow_cookies: 1,
+ block_regex: /(\.knack\.be\/js\/responsive\/rmg(Modal|Paywall)\.js|\.blueconic\.net\/)/
+ },
+ "Krautreporter.de": {
+ domain: "krautreporter.de"
+ },
+ "Kurier.at": {
+ domain: "kurier.at",
+ allow_cookies: 1,
+ block_regex: /\.tinypass\.com\//
+ },
+ "L'Express": {
+ domain: "lexpress.fr",
+ allow_cookies: 1,
+ block_regex: /\.poool\.fr\//
+ },
+ "L'Obs": {
+ domain: "nouvelobs.com",
+ allow_cookies: 1,
+ useragent: "googlebot"
+ },
+ "L'Oeil de la Photographie": {
+ domain: "loeildelaphotographie.com",
+ allow_cookies: 1,
+ block_regex: /cdn\.loeildelaphotographie\.com\/wp-content\/.+\/hague-child\/js\/script-.+\.js/
+ },
+ "L'Opinion": {
+ domain: "lopinion.fr",
+ block_regex: /\.poool\.fr\//
+ },
+ "L'Orient-Le Jour": {
+ domain: "lorientlejour.com"
+ },
+ "L'Usine Nouvelle": {
+ domain: "usinenouvelle.com",
+ allow_cookies: 1,
+ useragent: "googlebot"
+ },
+ "La Croix": {
+ domain: "la-croix.com",
+ allow_cookies: 1,
+ block_regex: /(\.la-croix\.com\/build\/lacroix\/article.+\.js|cdn\.ampproject\.org\/v\d\/amp-(access|ad)-.+\.js)/
+ },
+ "La Estrella de Valparaíso": {
+ domain: "estrellavalpo.cl",
+ block_regex: /(\.mercuriovalpo\.cl\/impresa\/.+\/assets\/(vendor|\d)\.js|pram\.pasedigital\.cl\/API\/User\/Status\?)/
+ },
+ "La Nación": {
+ domain: "lanacion.com.ar"
+ },
+ "La Nouvelle République du Centre-Ouest": {
+ domain: "lanouvellerepublique.fr",
+ allow_cookies: 1,
+ useragent: "googlebot"
+ },
+ "La Nuova Sardegna": {
+ domain: "lanuovasardegna.it",
+ group_rule: "it_repubblica_domains"
+ },
+ "La Repubblica": {
+ domain: "repubblica.it",
+ group_rule: "it_repubblica_domains"
+ },
+ "La Segunda": {
+ domain: "lasegunda.com",
+ block_regex: /\.(lasegunda\.com|emol\.cl)\/(.+\/)?js\/(.+\/)?(modal|merPramV\d|PramModal\.min)\.js/
+ },
+ "La Stampa": {
+ domain: "lastampa.it",
+ group_rule: "it_repubblica_domains"
+ },
+ "La Tercera": {
+ domain: "latercera.com",
+ block_regex: /(\.latercera\.com\/arc\/subs\/p\.js|cdn\.cxense\.com\/)/
+ },
+ "La Tribune": {
+ domain: "latribune.fr",
+ allow_cookies: 1,
+ block_regex: /\.poool\.fr\//
+ },
+ "La Vanguardia": {
+ domain: "lavanguardia.com",
+ allow_cookies: 1,
+ block_regex: /(\.evolok\.net\/|\.lavanguardia\.com\/(js\/)?godo-)/
+ },
+ "Law.com (free articles only)": {
+ domain: "law.com",
+ referer: "facebook"
+ },
+ "Law360 (free articles only)": {
+ domain: "law360.com",
+ referer: "twitter"
+ },
+ "Le Devoir": {
+ domain: "ledevoir.com"
+ },
+ "Le Journal du Dimanche": {
+ domain: "lejdd.fr",
+ allow_cookies: 1,
+ block_regex: /\.poool\.fr\//
+ },
+ "Le Journal du Net": {
+ domain: "journaldunet.com"
+ },
+ "Le Parisien": {
+ domain: "leparisien.fr",
+ block_regex: /\.tinypass\.com\//,
+ useragent: "googlebot"
+ },
+ "Le Scienze": {
+ domain: "lescienze.it",
+ group_rule: "it_repubblica_domains"
+ },
+ "Le Télégramme": {
+ domain: "letelegramme.fr",
+ allow_cookies: 1,
+ block_regex: /\.poool\.fr\//
+ },
+ "Lee Enterprises Group": {
+ domain: "###_usa_lee_ent",
+ group: [
+ "buffalonews.com",
+ "richmond.com",
+ "tucson.com",
+ "tulsaworld.com"
+ ],
+ allow_cookies: 1,
+ block_regex: /api\.bntech\.io\/js\//
+ },
+ "Leeuwarder Courant": {
+ domain: "lc.nl",
+ allow_cookies: 1,
+ block_regex: /\.evolok\.net\//
+ },
+ "Les Échos": {
+ domain: "lesechos.fr",
+ allow_cookies: 1,
+ block_regex: /\.tinypass\.com\//
+ },
+ "Libération (free articles only)": {
+ domain: "liberation.fr"
+ },
+ "LimesOnline": {
+ domain: "limesonline.com",
+ group_rule: "it_repubblica_domains"
+ },
+ "Live Law": {
+ domain: "livelaw.in",
+ allow_cookies: 1
+ },
+ "LiveMint": {
+ domain: "livemint.com",
+ block_regex: /(\.livemint\.com\/js\/localWorker\.js|analytics\.htmedia\.in\/analytics-js\/.+\.js)/
+ },
+ "Loeb Classical Library": {
+ domain: "loebclassics.com"
+ },
+ "London Review of Books": {
+ domain: "lrb.co.uk",
+ allow_cookies: 1,
+ block_regex: /\.tinypass\.com\//
+ },
+ "Los Angeles Business Journal": {
+ domain: "labusinessjournal.com"
+ },
+ "Los Angeles Times": {
+ domain: "latimes.com",
+ block_regex: /metering\.platform\.latimes\.com\/v\d\/meter/
+ },
+ "Madsack Mediengruppe (Germany)": {
+ domain: "###_de_madsack",
+ group: [
+ "haz.de",
+ "kn-online.de",
+ "ln-online.de",
+ "lvz.de",
+ "maz-online.de",
+ "neuepresse.de",
+ "ostsee-zeitung.de"
+ ],
+ allow_cookies: 1,
+ block_regex: /cdn\.ampproject\.org\/v\d\/amp-(ad|subscriptions)-.+\.js/
+ },
+ "Marca": {
+ domain: "marca.com",
+ group_rule: "es_unidad_domains"
+ },
+ "Marianne.net": {
+ domain: "marianne.net",
+ allow_cookies: 1,
+ block_regex: /\.poool\.fr\//
+ },
+ "MarketWatch": {
+ domain: "marketwatch.com",
+ allow_cookies: 1,
+ block_regex: /(cdn\.cxense\.com\/|cdn\.ampproject\.org\/v\d\/amp-(access|ad|subscriptions)-.+\.js)/
+ },
+ "McClatchy Group": {
+ domain: "###_usa_mcc",
+ group: [
+ "bnd.com",
+ "charlotteobserver.com",
+ "fresnobee.com",
+ "kansas.com",
+ "kansascity.com",
+ "kentucky.com",
+ "miamiherald.com",
+ "newsobserver.com",
+ "sacbee.com",
+ "star-telegram.com",
+ "thestate.com",
+ "tri-cityherald.com"
+ ],
+ block_regex: /(js\.matheranalytics\.com\/|cdn\.ampproject\.org\/v\d\/amp-subscriptions-.+\.js)/
+ },
+ "Mediahuis Nederland Regional": {
+ domain: "###_nl_mediahuis_region",
+ group: [
+ "gooieneemlander.nl",
+ "haarlemsdagblad.nl",
+ "ijmuidercourant.nl",
+ "leidschdagblad.nl",
+ "noordhollandsdagblad.nl"
+ ],
+ allow_cookies: 1
+ },
+ "MediaNama": {
+ domain: "medianama.com",
+ allow_cookies: 1
+ },
+ "MediaNews Group": {
+ domain: "###_usa_mng",
+ group: [
+ "denverpost.com",
+ "eastbaytimes.com",
+ "mercurynews.com",
+ "ocregister.com",
+ "pe.com",
+ "twincities.com"
+ ],
+ allow_cookies: 1,
+ block_regex: /(\.blueconic\.net\/|\.tinypass\.com\/|\.com\/.+\/loader\.min\.js|cdn\.ampproject\.org\/v\d\/amp-((sticky-)?ad|subscriptions)-.+\.js)/
+ },
+ "Medium": {
+ domain: "medium.com",
+ allow_cookies: 1,
+ remove_cookies: 1,
+ referer: "twitter"
+ },
+ "Medium custom domains": {
+ domain: "###_medium_custom"
+ },
+ "Mexico News Daily": {
+ domain: "mexiconewsdaily.com",
+ block_regex: /\.mexiconewsdaily\.com\/c\/assets\/pigeon\.js/
+ },
+ "MIT Sloan Management Review": {
+ domain: "sloanreview.mit.edu",
+ block_regex: /(\.tinypass\.com\/|\/sloanreview\.mit\.edu\/.+\/welcome-ad\.js)/,
+ referer: "facebook"
+ },
+ "MIT Technology Review": {
+ domain: "technologyreview.com",
+ block_regex: /\.blueconic\.net\//
+ },
+ "Mountain View Voice": {
+ domain: "mv-voice.com"
+ },
+ "National Geographic USA": {
+ domain: "nationalgeographic.com",
+ allow_cookies: 1,
+ block_regex: /\.blueconic\.net\//
+ },
+ "National Post": {
+ domain: "nationalpost.com",
+ allow_cookies: 1,
+ block_regex: /\.tinypass\.com\//
+ },
+ "National Review": {
+ domain: "nationalreview.com",
+ allow_cookies: 1,
+ block_regex: /(\.blueconic\.net\/|\.nationalreview\.com\/script\.js|cdn\.ampproject\.org\/v\d\/amp-(access|ad)-.+\.js)/,
+ useragent: "googlebot"
+ },
+ "Nautilus": {
+ domain: "nautil.us"
+ },
+ "Neue Osnabrücker Zeitung": {
+ domain: "noz.de",
+ allow_cookies: 1,
+ block_regex: /cdn\.ampproject\.org\/v\d\/amp-(access|(sticky-)?ad|fx-flying-carpet)-.+\.js/
+ },
+ "Neue Zürcher Zeitung": {
+ domain: "nzz.ch",
+ allow_cookies: 1,
+ useragent: "googlebot"
+ },
+ "New Left Review": {
+ domain: "newleftreview.org",
+ allow_cookies: 1,
+ useragent: "googlebot"
+ },
+ "New York Magazine (+ Curbed, Grub Street, The Cut & Vulture)": {
+ domain: "###_usa_nymag",
+ group: [
+ "curbed.com",
+ "grubstreet.com",
+ "nymag.com",
+ "thecut.com",
+ "vulture.com"
+ ],
+ remove_cookies_select_drop: ['nymcid'],
+ block_regex: /fosse\.nymag\.com\/fosse\/.+\/scripts\/.+\.js/
+ },
+ "New Zealand Herald": {
+ domain: "nzherald.co.nz",
+ useragent: "bingbot"
+ },
+ "Newsday": {
+ domain: "newsday.com",
+ allow_cookies: 1,
+ block_regex: /(loader-cdn\.azureedge\.net\/|js\.matheranalytics\.com\/)/
+ },
+ "Newsweek": {
+ domain: "newsweek.com",
+ block_regex: /js\.pelcro\.com\//
+ },
+ "NHST Media Group": {
+ domain: "###_no_nhst_media",
+ group: [
+ "intrafish.com",
+ "rechargenews.com",
+ "tradewindsnews.com",
+ "upstreamonline.com"
+ ],
+ allow_cookies: 1,
+ referer: "facebook"
+ },
+ "Nikkei Asian Review": {
+ domain: "asia.nikkei.com"
+ },
+ "NK News (free articles only)": {
+ domain: "nknews.org",
+ block_regex: /\.nknews\.org\/wp-content\/themes\/nknews\/js\/bootstrap\.min\.js/,
+ useragent: "googlebot"
+ },
+ "Nordwest Zeitung": {
+ domain: "nwzonline.de",
+ allow_cookies: 1,
+ block_regex: /cdn\.ampproject\.org\/v\d\/amp-(access|(sticky-)?ad|fx-flying-carpet)-.+\.js/
+ },
+ "NRC Handelsblad": {
+ domain: "nrc.nl",
+ remove_cookies_select_drop: ['counter']
+ },
+ "NyTeknik": {
+ domain: "nyteknik.se",
+ allow_cookies: 1,
+ block_regex: /\.nyteknik\.se\/.+\/static\/js\/site\.min\.js/
+ },
+ "O Estado de S. Paulo": {
+ domain: "estadao.com.br",
+ block_regex: /acesso\.estadao\.com\.br\/paywall\/.+\/.+\.js/
+ },
+ "O Globo (& Valor Econômico)": {
+ domain: "globo.com",
+ block_regex: /\.tinypass\.com\//
+ },
+ "Observador.pt": {
+ domain: "observador.pt",
+ allow_cookies: 1,
+ block_regex: /\.tinypass\.com\//
+ },
+ "Palo Alto Online": {
+ domain: "paloaltoonline.com"
+ },
+ "Paris Match": {
+ domain: "parismatch.com",
+ allow_cookies: 1,
+ block_regex: /\.poool\.fr\//
+ },
+ "Parool": {
+ domain: "parool.nl",
+ group_rule: "nl_pg_domains"
+ },
+ "Philosophy Now": {
+ domain: "philosophynow.org"
+ },
+ "Piqd.de": {
+ domain: "piqd.de",
+ allow_cookies: 1,
+ useragent: "googlebot"
+ },
+ "Pittsburgh Post Gazette": {
+ domain: "post-gazette.com",
+ block_regex: /(cdn\.cxense\.com\/|\.tinypass\.com\/)/
+ },
+ "Política Exterior": {
+ domain: "politicaexterior.com",
+ allow_cookies: 1
+ },
+ "Precision Oncology News": {
+ domain: "precisiononcologynews.com",
+ group_rule: "usa_genomeweb_domains"
+ },
+ "Prospect Magazine": {
+ domain: "prospectmagazine.co.uk",
+ allow_cookies: 1
+ },
+ "Quartz (free articles only)": {
+ domain: "qz.com",
+ block_regex: /\.tinypass\.com\//,
+ remove_cookies_select_hold: ['gdpr']
+ },
+ "Quora": {
+ domain: "quora.com",
+ allow_cookies: 1,
+ useragent: "googlebot"
+ },
+ "Quotidiano.net (+ regional)": {
+ domain: "###_it_quotidiano",
+ group: [
+ "ilgiorno.it",
+ "ilrestodelcarlino.it",
+ "iltelegrafolivorno.it",
+ "lanazione.it",
+ "quotidiano.net"
+ ],
+ allow_cookies: 1,
+ block_regex: /(cdn\.cxense\.com\/|\.tinypass\.com\/)/
+ },
+ "Reuters": {
+ domain: "reuters.com",
+ allow_cookies: 1,
+ block_regex: /\.reuters\.com\/(arc\/subs\/p\.min|pf\/resources\/dist\/reuters\/js\/index)\.js/
+ },
+ "Rhein-Zeitung": {
+ domain: "rhein-zeitung.de",
+ allow_cookies: 1,
+ useragent: "googlebot"
+ },
+ "Rolling Stone": {
+ domain: "rollingstone.com",
+ allow_cookies: 1,
+ block_regex: /cdn\.cxense\.com\//
+ },
+ "Ruhr Nachrichten": {
+ domain: "ruhrnachrichten.de",
+ allow_cookies: 1,
+ block_regex: /(\.tinypass\.com\/|cdn\.ampproject\.org\/v\d\/amp-((sticky-)?ad|consent|subscriptions)-.+\.js)/,
+ useragent: "googlebot"
+ },
+ "Sächsische Zeitung": {
+ domain: "saechsische.de",
+ allow_cookies: 1,
+ block_regex: /\.tinypass\.com\//
+ },
+ "San Diego Union Tribune": {
+ domain: "sandiegouniontribune.com",
+ block_regex: /metering\.platform\.sandiegouniontribune\.com\/v\d\/meter/
+ },
+ "San Francisco Chronicle": {
+ domain: "sfchronicle.com",
+ block_regex: /\.blueconic\.net\//
+ },
+ "Sanoma Media Finland (+ regional/opt-in to custom sites)": {
+ domain: "###_fi_sanoma",
+ group: [
+ "aamulehti.fi",
+ "hs.fi"
+ ],
+ allow_cookies: 1,
+ useragent: "googlebot",
+ },
+ "Schleswig-Holsteinischer Zeitungsverlag": {
+ domain: "shz.de",
+ allow_cookies: 1,
+ block_regex: /cdn\.ampproject\.org\/v\d\/amp-(access|(sticky-)?ad|fx-flying-carpet)-.+\.js/
+ },
+ "Schweriner Volkszeitung": {
+ domain: "svz.de",
+ allow_cookies: 1,
+ block_regex: /cdn\.ampproject\.org\/v\d\/amp-(access|(sticky-)?ad|fx-flying-carpet)-.+\.js/
+ },
+ "Science & Vie": {
+ domain: "science-et-vie.com",
+ block_regex: /\.qiota\.com\//
+ },
+ "Sciences et Avenir": {
+ domain: "sciencesetavenir.fr",
+ block_regex: /\.poool\.fr\//
+ },
+ "Scientific American (free articles only)": {
+ domain: "scientificamerican.com",
+ allow_cookies: 1,
+ remove_cookies: 1
+ },
+ "Scribd (documents only)": {
+ domain: "scribd.com",
+ allow_cookies: 1
+ },
+ "Seeking Alpha": {
+ domain: "seekingalpha.com",
+ allow_cookies: 1,
+ block_regex: /(\.tinypass\.com\/|cdn\.ampproject\.org(\/.+)?\/v\d\/amp-(access|ad|loader)-.+\.js)/,
+ useragent: "googlebot"
+ },
+ "Slate": {
+ domain: "slate.com",
+ block_regex: /(cdn\.cxense\.com\/|\.tinypass\.com\/)/
+ },
+ "SOFREP": {
+ domain: "sofrep.com"
+ },
+ "South China Morning Post": {
+ domain: "scmp.com",
+ block_regex: /(\.tinypass\.com\/|cdn\.ampproject\.org\/v\d\/amp-(access|ad|analytics|consent|fx-flying-carpet)-.+\.js)/
+ },
+ "Southern Weekly": {
+ domain: "infzm.com",
+ allow_cookies: 1
+ },
+ "Sports Illustrated": {
+ domain: "si.com",
+ allow_cookies: 1,
+ block_regex: /\.blueconic\.net\//
+ },
+ "Star Tribune": {
+ domain: "startribune.com",
+ allow_cookies: 1
+ },
+ "Statista": {
+ domain: "statista.com",
+ referer: "google"
+ },
+ "Stock News": {
+ domain: "stocknews.com",
+ allow_cookies: 1
+ },
+ "Stratfor": {
+ domain: "stratfor.com",
+ allow_cookies: 1,
+ useragent: "bingbot"
+ },
+ "Study.com (no videos)": {
+ domain: "study.com",
+ allow_cookies: 1
+ },
+ "Sud Ouest": {
+ domain: "sudouest.fr",
+ allow_cookies: 1
+ },
+ "Tampa Bay Times": {
+ domain: "tampabay.com",
+ allow_cookies: 1,
+ block_regex: /(loader-cdn\.azureedge\.net\/|js\.matheranalytics\.com\/)/
+ },
+ "Tech in Asia": {
+ domain: "techinasia.com",
+ allow_cookies: 1
+ },
+ "Telegraaf": {
+ domain: "telegraaf.nl",
+ allow_cookies: 1
+ },
+ "Télérama": {
+ domain: "telerama.fr",
+ allow_cookies: 1,
+ useragent: "googlebot"
+ },
+ "The Age": {
+ domain: "theage.com.au",
+ group_rule: "au_nine_domains"
+ },
+ "The American Interest": {
+ domain: "the-american-interest.com",
+ allow_cookies: 1
+ },
+ "The Art Newspaper": {
+ domain: "theartnewspaper.com",
+ allow_cookies: 1,
+ block_regex: /\.amazonaws.com\/production-website-scripts\/bouncer\.js/
+ },
+ "The Athletic": {
+ domain: "###_usa_theathletic",
+ group: [
+ "theathletic.com",
+ "theathletic.co.uk"
+ ],
+ allow_cookies: 1,
+ block_regex: /cdn\.ampproject\.org\/v\d\/amp-subscriptions-.+\.js/
+ },
+ "The Atlanta Journal-Constitution": {
+ domain: "ajc.com",
+ allow_cookies: 1,
+ block_regex: /loader-cdn\.azureedge\.net\//
+ },
+ "The Atlantic": {
+ domain: "theatlantic.com",
+ remove_cookies_select_drop: ['articleViews']
+ },
+ "The Australian Financial Review": {
+ domain: "afr.com",
+ block_regex: /api\.afr\.com\/graphql\?query=.+PaywallRuleQuery/
+ },
+ "The Boston Globe": {
+ domain: "bostonglobe.com",
+ allow_cookies: 1,
+ block_regex: /\.blueconic\.net\//
+ },
+ "The Business Journals": {
+ domain: "bizjournals.com",
+ block_regex: /(assets\.bizjournals\.com\/static\/js\/app\/cxense\.js|cdn\.cxense\.com\/)/
+ },
+ "The Business of Fashion": {
+ domain: "businessoffashion.com",
+ allow_cookies: 1
+ },
+ "The Christian Science Monitor": {
+ domain: "csmonitor.com"
+ },
+ "The Daily Beast": {
+ domain: "thedailybeast.com",
+ block_regex: /\.tinypass\.com\//
+ },
+ "The Dallas Morning News": {
+ domain: "dallasnews.com",
+ allow_cookies: 1,
+ block_regex: /(\.blueconic\.net\/|js\.matheranalytics\.com\/)/
+ },
+ "The Diplomat": {
+ domain: "thediplomat.com"
+ },
+ "The Economic Times (ET Prime)": {
+ domain: "###_economictimes",
+ group: [
+ "economictimes.com",
+ "economictimes.indiatimes.com"
+ ],
+ allow_cookies: 1,
+ useragent: "googlebot"
+ },
+ "The Economist": {
+ domain: "economist.com",
+ block_regex: /(\.tinypass\.com\/cdn\.ampproject\.org\/v\d\/amp-(access|ad)-.+\.js)/
+ },
+ "The Globe and Mail": {
+ domain: "theglobeandmail.com",
+ block_regex: /(\.theglobeandmail\.com\/pf\/dist\/engine\/react\.js|smartwall\.theglobeandmail\.com\/)/
+ },
+ "The Hill Times": {
+ domain: "hilltimes.com",
+ allow_cookies: 1,
+ block_regex: /\.hilltimes\.com\/.+\/js\/loadingoverlay\/loadingoverlay\.min\.js/,
+ useragent: "googlebot"
+ },
+ "The Hindu": {
+ domain: "thehindu.com",
+ allow_cookies: 1,
+ block_regex: /(cdn\.cxense\.com\/|\.tinypass\.com\/)/
+ },
+ "The Hindu BusinessLine": {
+ domain: "thehindubusinessline.com",
+ allow_cookies: 1,
+ block_regex: /(cdn\.cxense\.com\/|\.tinypass\.com\/)/
+ },
+ "The Intercept": {
+ domain: "theintercept.com",
+ allow_cookies: 1,
+ block_regex: /\.theintercept\.com\/api\/tinypass\.min\.js/
+ },
+ "The Japan Times": {
+ domain: "japantimes.co.jp",
+ block_regex: /\.piano\.io\//
+ },
+ "The Jerusalem Post": {
+ domain: "jpost.com",
+ allow_cookies: 1,
+ block_regex: /\.jpost\.com\/bundles\/js_article\?/
+ },
+ "The Logic": {
+ domain: "thelogic.co"
+ },
+ "The Marker": {
+ domain: "themarker.com",
+ allow_cookies: 1,
+ useragent: "bingbot"
+ },
+ "The Market.ch": {
+ domain: "themarket.ch",
+ allow_cookies: 1,
+ useragent: "googlebot"
+ },
+ "The Nation": {
+ domain: "thenation.com",
+ block_regex: /\.tinypass\.com\//
+ },
+ "The New Atlantis": {
+ domain: "thenewatlantis.com",
+ allow_cookies: 1,
+ block_regex: /\.thenewatlantis\.com\/.+\/thenewatlantis\/js\/(gate|donate)\.js/
+ },
+ "The New Republic": {
+ domain: "newrepublic.com",
+ allow_cookies: 1,
+ block_regex: /\.onecount\.net\/js\//
+ },
+ "The New Statesman": {
+ domain: "newstatesman.com",
+ remove_cookies_select_hold: ['STYXKEY_nsversion']
+ },
+ "The New York Review of Books": {
+ domain: "nybooks.com",
+ allow_cookies: 1
+ },
+ "The New York Times": {
+ domain: "nytimes.com",
+ allow_cookies: 1,
+ block_regex: /(meter-svc\.nytimes\.com\/meter\.js|mwcm\.nyt\.com\/.+\.js)/
+ },
+ "The New Yorker": {
+ domain: "newyorker.com",
+ block_regex: /\.newyorker\.com\/verso\/static\/presenter-articles.+\.js/
+ },
+ "The Philadelphia Inquirer": {
+ domain: "inquirer.com",
+ block_regex: /\.tinypass\.com\//
+ },
+ "The Point Magazine": {
+ domain: "thepointmag.com",
+ remove_cookies_select_drop: ['monthly_history']
+ },
+ "The Saturday Paper": {
+ domain: "thesaturdaypaper.com.au",
+ block_regex: /\.thesaturdaypaper\.com\.au\/sites\/all\/modules\/custom\/node_meter\/pw\.js/
+ },
+ "The Seattle Times": {
+ domain: "seattletimes.com",
+ remove_cookies_select_hold: ['st_newsletter_splash_seen']
+ },
+ "The Spectator (UK)": {
+ domain: "spectator.co.uk",
+ block_regex: /\.tinypass\.com\//
+ },
+ "The Spectator Australia": {
+ domain: "spectator.com.au",
+ block_regex: /\.tinypass\.com\//
+ },
+ "The Spectator USA": {
+ domain: "spectator.us",
+ block_regex: /(cdn\.cxense\.com\/|\.tinypass\.com\/)/
+ },
+ "The Sydney Morning Herald": {
+ domain: "smh.com.au",
+ group_rule: "au_nine_domains"
+ },
+ "The Telegraph": {
+ domain: "telegraph.co.uk",
+ block_regex: /(\.tinypass\.com\/|cdn\.ampproject\.org\/v\d\/amp-(access|ad|consent)-.+\.js|\.telegraph\.co\.uk\/.+\/piano.+\.js|assets\.adobedtm\.com\/.+\.js)/
+ },
+ "The Times": {
+ domain: "thetimes.co.uk",
+ useragent: "googlebot"
+ },
+ "The Times Literary Supplement": {
+ domain: "the-tls.co.uk"
+ },
+ "The Toronto Star (+ local TorStar sites)": {
+ domain: "###_ca_torstar",
+ group: [
+ "niagarafallsreview.ca",
+ "stcatharinesstandard.ca",
+ "thepeterboroughexaminer.com",
+ "therecord.com",
+ "thespec.com",
+ "thestar.com",
+ "wellandtribune.ca"
+ ],
+ allow_cookies: 1,
+ block_regex: /\.(ca|com)\/api\/overlaydata/
+ },
+ "The Wall Street Journal": {
+ domain: "wsj.com",
+ block_regex: /(cdn\.ampproject\.org\/v\d\/amp-(access|ad|consent|subscriptions)-.+\.js|cdn\.cxense\.com\/)/,
+ remove_cookies_select_hold: ['wsjregion', 'ResponsiveConditional_initialBreakpoint'],
+ useragent: "googlebot"
+ },
+ "The Washington Post": {
+ domain: "washingtonpost.com",
+ allow_cookies: 1,
+ block_regex: /\.washingtonpost\.com\/pwapiv2\/article/
+ },
+ "The West Australian (+ regional)": {
+ domain: "thewest.com.au",
+ allow_cookies: 1
+ },
+ "The Wrap": {
+ domain: "thewrap.com",
+ allow_cookies: 1,
+ block_regex: /\.wallkit\.net\/js\//
+ },
+ "Time Magazine": {
+ domain: "time.com",
+ allow_cookies: 1,
+ block_regex: /\/time\.com\/dist\/meter-wall-client-js\..+\.js/
+ },
+ "Times Higher Education": {
+ domain: "timeshighereducation.com",
+ allow_cookies: 1,
+ block_regex: /\.timeshighereducation\.com\/sites\/default\/files\/.+\/js__.+\.js/
+ },
+ "Times of India": {
+ domain: "###_timesofindia",
+ group: [
+ "timesofindia.com",
+ "timesofindia.indiatimes.com"
+ ],
+ allow_cookies: 1,
+ useragent: "googlebot",
+ block_regex: /\.timesofindia\.com\/jsrender\.cms/,
+ exception: [{
+ domain: "timesofindia.indiatimes.com",
+ allow_cookies: 1,
+ useragent: "googlebot",
+ block_regex: /timesofindia\.indiatimes\.com\/jsrender\/version-1\.cms/
+ }
+ ]
+ },
+ "Towards Data Science": {
+ domain: "towardsdatascience.com",
+ allow_cookies: 1,
+ referer: "twitter"
+ },
+ "Tribune Publishing Company": {
+ domain: "###_usa_tribune",
+ group: [
+ "baltimoresun.com",
+ "chicagotribune.com",
+ "courant.com",
+ "dailypress.com",
+ "mcall.com",
+ "nydailynews.com",
+ "orlandosentinel.com",
+ "pilotonline.com",
+ "sun-sentinel.com"
+ ],
+ allow_cookies: 1,
+ block_regex: /\.tribdss\.com\//
+ },
+ "Trouw": {
+ domain: "trouw.nl",
+ group_rule: "nl_pg_domains"
+ },
+ "USA Today": {
+ domain: "usatoday.com",
+ allow_cookies: 1,
+ useragent: "googlebot"
+ },
+ "Valeurs Actuelles": {
+ domain: "valeursactuelles.com",
+ block_regex: /\.qiota\.com\//
+ },
+ "Vanity Fair": {
+ domain: "vanityfair.com"
+ },
+ "Variety": {
+ domain: "variety.com",
+ allow_cookies: 1,
+ block_regex: /cdn\.cxense\.com\//
+ },
+ "VeloNews": {
+ domain: "velonews.com",
+ allow_cookies: 1,
+ block_regex: /\.velonews\.com\/.+\/scripts\/contentGate.+\.js/
+ },
+ "VentureBeat": {
+ domain: "venturebeat.com",
+ allow_cookies: 1,
+ block_regex: /\.wallkit\.net\/js\//
+ },
+ "Volkskrant": {
+ domain: "volkskrant.nl",
+ group_rule: "nl_pg_domains"
+ },
+ "WAtoday": {
+ domain: "watoday.com.au",
+ group_rule: "au_nine_domains"
+ },
+ "Westfalen-Blatt": {
+ domain: "westfalen-blatt.de",
+ allow_cookies: 1,
+ block_regex: /cdn\.ampproject\.org\/.+\/v\d\/amp-(ad|subscriptions)-.+\.js/,
+ useragent: "googlebot"
+ },
+ "Westfälische Nachrichten": {
+ domain: "wn.de",
+ allow_cookies: 1,
+ block_regex: /cdn\.ampproject\.org\/v\d\/amp-(ad|subscriptions)-.+\.js/,
+ useragent: "googlebot"
+ },
+ "Winston-Salem Journal": {
+ domain: "journalnow.com"
+ },
+ "Wired": {
+ domain: "wired.com",
+ block_regex: /cdn\.ampproject\.org\/v\d\/amp-(ad|subscriptions)-.+\.js/,
+ useragent: "googlebot"
+ },
+ "World Politics Review": {
+ domain: "worldpoliticsreview.com",
+ allow_cookies: 1,
+ useragent: "googlebot"
+ },
+ "* Block Paywall-scripts (opt-in to custom sites to enable also for non-listed sites)": {
+ domain: "###"
+ },
+ "Amp-access": {
+ domain: "cdn.ampproject.org"
+ },
+ "AzureEdge": {
+ domain: "loader-cdn.azureedge.net"
+ },
+ "BlueConic": {
+ domain: "blueconic.net"
+ },
+ "Cxense": {
+ domain: "cxense.com"
+ },
+ "Evolok": {
+ domain: "evolok.net"
+ },
+ "MatherAnalytics": {
+ domain: "matheranalytics.com"
+ },
+ "NewsMemory": {
+ domain: "newsmemory.com"
+ },
+ "OneCount": {
+ domain: "onecount.net"
+ },
+ "Pelcro": {
+ domain: "pelcro.com"
+ },
+ "Piano.io": {
+ domain: "piano.io"
+ },
+ "Poool.fr": {
+ domain: "poool.fr"
+ },
+ "Qiota": {
+ domain: "qiota.com"
+ },
+ "TinyPass": {
+ domain: "tinypass.com"
+ },
+ "TribDss": {
+ domain: "tribdss.com"
+ },
+ "* BPC settings": {
+ domain: "###"
+ },
+ "Show options on update": {
+ domain: "#options_on_update"
+ },
+ "Enable new sites by default": {
+ domain: "#options_enable_new_sites"
+ },
+ "Restore opt-in for custom sites (on reload; Chrome-only)": {
+ domain: "#options_restore_custom"
+ },
+ "Barron's - no Googlebot (http error 500)": {
+ domain: "#options_disable_gb_barrons"
+ },
+ "The Australian - no Googlebot (http error 403)": {
+ domain: "#options_disable_gb_theaustralian"
+ },
+ "The Wall Street Journal - no Googlebot (http error 500)": {
+ domain: "#options_disable_gb_wsj"
+ }
}
-const au_comm_media_domains = ['bendigoadvertiser.com.au', 'bordermail.com.au', 'canberratimes.com.au', 'centralwesterndaily.com.au', 'dailyadvertiser.com.au', 'dailyliberal.com.au', 'examiner.com.au', 'illawarramercury.com.au', 'newcastleherald.com.au', 'northerndailyleader.com.au', 'portnews.com.au', 'standard.net.au', 'theadvocate.com.au', 'thecourier.com.au', 'westernadvocate.com.au'];
-const au_news_corp_domains = ['adelaidenow.com.au', 'cairnspost.com.au', 'couriermail.com.au', 'dailytelegraph.com.au', 'geelongadvertiser.com.au', 'goldcoastbulletin.com.au', 'heraldsun.com.au', 'ntnews.com.au', 'theaustralian.com.au', 'thechronicle.com.au', 'themercury.com.au', 'townsvillebulletin.com.au', 'weeklytimesnow.com.au'];
-const br_folha_domains = ['folha.uol.com.br', 'blogfolha.uol.com.br'];
-const ca_torstar_domains = ['niagarafallsreview.ca', 'stcatharinesstandard.ca', 'thepeterboroughexaminer.com', 'therecord.com', 'thespec.com', 'thestar.com', 'wellandtribune.ca'];
-const de_funke_media_domains = ['abendblatt.de', 'braunschweiger-zeitung.de', 'morgenpost.de', 'nrz.de', 'otz.de', 'thueringer-allgemeine.de', 'tlz.de', 'waz.de', 'wp.de', 'wr.de'];
-const de_madsack_domains = ['haz.de', 'kn-online.de', 'ln-online.de', 'lvz.de', 'maz-online.de', 'neuepresse.de', 'ostsee-zeitung.de'];
-const economictimes_domains = ['economictimes.com', 'economictimes.indiatimes.com'];
-const es_epiberica_domains = ['diariodeibiza.es', 'diariodemallorca.es', 'eldia.es', 'elperiodicomediterraneo.com', 'farodevigo.es', 'informacion.es', 'laprovincia.es', 'levante-emv.com', 'lne.es'];
-const es_grupo_vocento_domains = ['diariosur.es', 'diariovasco.com', 'elcomercio.es', 'elcorreo.com', 'eldiariomontanes.es', 'elnortedecastilla.es', 'hoy.es', 'ideal.es', 'larioja.com', 'lasprovincias.es', 'laverdad.es', 'lavozdigital.es'];
-const fi_alma_talent_domains = ['arvopaperi.fi', 'iltalehti.fi', 'kauppalehti.fi', 'marmai.fi', 'mediuutiset.fi', 'mikrobitti.fi', 'talouselama.fi', 'tekniikkatalous.fi', 'tivi.fi', 'uusisuomi.fi'];
-const fi_sanoma_domains = ['aamulehti.fi', 'hs.fi'];
-const fr_be_groupe_rossel_domains = ['aisnenouvelle.fr', 'courrier-picard.fr', 'lardennais.fr', 'lavoixdunord.fr', 'lecho.be', 'lesoir.be', 'lest-eclair.fr', 'liberation-champagne.fr', 'lunion.fr', 'nordeclair.fr', 'nordlittoral.fr', 'paris-normandie.fr', 'sudinfo.be'];
-const fr_groupe_ebra_domains = ['bienpublic.com', 'dna.fr', 'estrepublicain.fr', 'lalsace.fr', 'ledauphine.com', 'lejsl.com', 'leprogres.fr', 'republicain-lorrain.fr', 'vosgesmatin.fr'];
-const fr_groupe_la_depeche_domains = ['centrepresseaveyron.fr', 'ladepeche.fr', 'lindependant.fr', 'midi-olympique.fr', 'midilibre.fr', 'nrpyrenees.fr', 'petitbleu.fr'];
-const it_ilmessaggero_domains = ['corriereadriatico.it', 'ilgazzettino.it', 'ilmattino.it', 'ilmessaggero.it', 'quotidianodipuglia.it'];
-const it_quotidiano_domains = ['ilgiorno.it', 'ilrestodelcarlino.it', 'iltelegrafolivorno.it', 'lanazione.it', 'quotidiano.net'];
-const medium_custom_domains = [];
-const nl_ad_region_domains = ['ad.nl', 'bd.nl', 'ed.nl', 'tubantia.nl', 'bndestem.nl', 'pzc.nl', 'destentor.nl', 'gelderlander.nl'];
-const nl_mediahuis_region_domains = ['gooieneemlander.nl', 'haarlemsdagblad.nl', 'ijmuidercourant.nl', 'leidschdagblad.nl', 'noordhollandsdagblad.nl'];
-const no_nhst_media_domains = ['intrafish.com', 'rechargenews.com', 'tradewindsnews.com', 'upstreamonline.com'];
-const timesofindia_domains = ['timesofindia.com', 'timesofindia.indiatimes.com'];
-const usa_craincomm_domains = ['adage.com', 'autonews.com', 'chicagobusiness.com', 'crainscleveland.com', 'crainsdetroit.com', 'crainsnewyork.com', 'modernhealthcare.com'];
-const usa_gannett_domains = [];
-const usa_lee_ent_domains = ['buffalonews.com', 'richmond.com', 'tucson.com', 'tulsaworld.com'];
-const usa_mcc_domains = ['bnd.com', 'charlotteobserver.com', 'fresnobee.com', 'kansas.com', 'kansascity.com', 'kentucky.com', 'miamiherald.com', 'newsobserver.com', 'sacbee.com', 'star-telegram.com', 'thestate.com', 'tri-cityherald.com'];
-const usa_mng_domains = ['denverpost.com', 'eastbaytimes.com', 'mercurynews.com', 'ocregister.com', 'pe.com', 'twincities.com'];
-const usa_nymag_domains = ['curbed.com', 'grubstreet.com', 'nymag.com', 'thecut.com', 'vulture.com'];
-const usa_tribune_domains = ['baltimoresun.com', 'chicagotribune.com', 'courant.com', 'dailypress.com', 'mcall.com', 'nydailynews.com', 'orlandosentinel.com', 'pilotonline.com', 'sun-sentinel.com'];
-const usa_theathletic_domains = ['theathletic.com', 'theathletic.co.uk'];
+var defaultSites_grouped_domains = Object.values(defaultSites).map(x => x.domain);
+var defaultSites_groups_domains = [].concat.apply([], Object.values(defaultSites).filter(function (value) {
+ return value.hasOwnProperty('group');
+ }).map(x => x.group));
+var defaultSites_domains = defaultSites_grouped_domains.concat(defaultSites_groups_domains);
-var defaultSites_grouped_domains = Object.values(defaultSites);
-var defaultSites_domains = defaultSites_grouped_domains.concat(au_comm_media_domains, au_news_corp_domains, br_folha_domains, ca_torstar_domains, de_funke_media_domains, de_madsack_domains, economictimes_domains, es_epiberica_domains, es_grupo_vocento_domains, fi_alma_talent_domains, fi_sanoma_domains, fr_be_groupe_rossel_domains, fr_groupe_ebra_domains, fr_groupe_la_depeche_domains, it_ilmessaggero_domains, it_quotidiano_domains, nl_ad_region_domains, nl_mediahuis_region_domains, no_nhst_media_domains, timesofindia_domains, usa_craincomm_domains, usa_lee_ent_domains, usa_mcc_domains, usa_mng_domains, usa_nymag_domains, usa_tribune_domains, usa_theathletic_domains);
+// grouped domains (rules only)
+var au_nine_domains = ['brisbanetimes.com.au', 'smh.com.au', 'theage.com.au', 'watoday.com.au'];
+var es_unidad_domains = ['elmundo.es', 'expansion.com', 'marca.com'];
+var it_repubblica_domains = ['gelocal.it', 'ilsecoloxix.it', 'lanuovasardegna.it', 'lastampa.it', 'limesonline.com', 'repubblica.it'].concat(['lescienze.it']);
+var nl_pg_domains = ['parool.nl', 'trouw.nl', 'volkskrant.nl', 'humo.be', 'demorgen.be'];
+var usa_genomeweb_domains = ['genomeweb.com', '360dx.com', 'precisiononcologynews.com'];
+
+var group_rules = {
+ au_nine_domains: {
+ block_regex: /cdn\.ampproject\.org\/v\d\/amp-((sticky-)?ad|subscriptions)-.+\.js/
+ },
+ es_unidad_domains: {
+ allow_cookies: 1,
+ block_regex: /cdn\.ampproject\.org\/v\d\/amp-(access|(sticky-)?ad|consent)-.+\.js/
+ },
+ it_repubblica_domains: {
+ allow_cookies: 1,
+ block_regex: /(scripts\.repubblica\.it\/pw\/pw\.js|cdn\.ampproject\.org\/v\d\/amp-(access|ad|user-notification)-.+\.js)/
+ },
+ nl_pg_domains: {
+ remove_cookies_select_drop: ['TID_ID'],
+ block_regex: "\\.{domain}\\/temptation\\/resolve"
+ },
+ usa_genomeweb_domains: {
+ allow_cookies: 1,
+ block_regex: /crain-platform-.+-prod\.s3\.amazonaws\.com\/s3fs-public\/js\/js_.+\.js/
+ }
+}
+
+function addCookieRules(rule, custom) {
+ if (rule.hasOwnProperty('remove_cookies_select_drop') || rule.hasOwnProperty('remove_cookies_select_hold') || (custom && !rule.hasOwnProperty('allow_cookies'))) {
+ rule.allow_cookies = 1;
+ rule.remove_cookies = 1;
+ }
+}
+
+function expandSiteRules(sites, custom = false) {
+ for (let site in sites) {
+ let rule = sites[site];
+ let domain = rule.domain;
+ if (rule.hasOwnProperty('group_rule')) {
+ let rules = group_rules[rule.group_rule];
+ for (key in rules)
+ sites[site][key] = rules[key];
+ sites[site].domain = domain;
+ //delete sites[site].group_rule;
+ }
+ if (rule.hasOwnProperty('group'))
+ grouped_sites[domain] = rule.group
+ }
+}
+
+var grouped_sites = {};
+expandSiteRules(defaultSites);
+
+// grouped domains (dompurify)
+var nl_mediahuis_region_domains = grouped_sites['###_nl_mediahuis_region'];
+var no_nhst_media_domains = grouped_sites['###_no_nhst_media'];
+var usa_theathletic_domains = grouped_sites['###_usa_theathletic'];
\ No newline at end of file