From 2f8eefe0686aae52b273cd65677c167904a1308c Mon Sep 17 00:00:00 2001
From: magnolia1234 <7676006-magnolia1234@users.noreply.gitlab.com>
Date: Wed, 13 Mar 2024 19:44:25 +0100
Subject: [PATCH] Fix Tech in Asia (json)
Update options (search)
---
background.js | 1 +
changelog.txt | 2 ++
contentScript.js | 50 ++++++++++++--------------
custom/manifest.json | 2 +-
custom/sites_custom.json | 18 ++++------
manifest.json | 2 +-
options/options.html | 3 +-
options/options.js | 78 ++++++++++++++++++++++++++++++++--------
sites.js | 5 +--
9 files changed, 101 insertions(+), 60 deletions(-)
diff --git a/background.js b/background.js
index 548a93c..aada025 100644
--- a/background.js
+++ b/background.js
@@ -529,6 +529,7 @@ ext_api.storage.local.get({
// reset ungrouped sites
let ungrouped_sites = {
'The Athletic': 'theathletic.com',
+ 'The Stage Media (UK)': '###_uk_thestage_media',
'The Week (regwall)': 'theweek.com'
};
for (let key in ungrouped_sites) {
diff --git a/changelog.txt b/changelog.txt
index 8b39855..b985181 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -8,6 +8,8 @@ Add Observador.pt
Fix Autosport (js)
Fix Fast Company (premium)
Fix Mid-Day (amp-redirect)
+Fix Tech in Asia (json)
+Update options (search)
* v3.5.9.0 (2024-03-10)
Add Funke Mediengruppe (fetch from archive.is)
diff --git a/contentScript.js b/contentScript.js
index 23b6dbb..0a0c5b6 100644
--- a/contentScript.js
+++ b/contentScript.js
@@ -5142,37 +5142,31 @@ else if (matchDomain('swarajyamag.com')) {
}
else if (matchDomain('techinasia.com')) {
- window.setTimeout(function () {
- let paywall = document.querySelector('div.paywall-content');
- if (paywall && dompurify_loaded) {
- paywall.classList.remove('paywall-content');
- let par_missing = paywall.querySelectorAll('div[id^="attachment_"], a.flourish-credit');
- let attach_xhr = Array.from(par_missing).some(x => !x.hasChildNodes());
- if (attach_xhr) {
- let url = window.location.href;
- let url_xhr = url.replace('.com/', '.com/wp-json/techinasia/2.0/posts/').replace('/visual-story/', '/');
- fetch(url_xhr)
- .then(response => {
- if (response.ok) {
- response.json().then(json => {
- let json_text = json.posts[0].content;
- json_text = json_text.replace(/width\=\"(\d){3,}\"/g, 'width="100%"').replace(/height\=\"(\d){3,}\"/g, 'height="100%"');
- let content = document.querySelector('div.content');
- if (json_text && content) {
- let parser = new DOMParser();
- let doc = parser.parseFromString('
' + DOMPurify.sanitize(json_text) + '
', 'text/html');
- let content_new = doc.querySelector('div.content');
- content.parentNode.replaceChild(content_new, content);
- }
- });
+ let paywall = document.querySelector('div.paywall-content');
+ if (paywall && dompurify_loaded) {
+ paywall.classList.remove('paywall-content');
+ let url = window.location.href;
+ let url_xhr = url.replace('.com/', '.com/wp-json/techinasia/2.0/posts/').replace('/visual-story/', '/');
+ fetch(url_xhr)
+ .then(response => {
+ if (response.ok) {
+ response.json().then(json => {
+ let json_text = json.posts[0].content;
+ json_text = json_text.replace(/width\=\"(\d){3,}\"/g, 'width="100%"').replace(/height\=\"(\d){3,}\"/g, 'height="100%"');
+ let content = document.querySelector('div.content');
+ if (json_text && content) {
+ let parser = new DOMParser();
+ let doc = parser.parseFromString('' + DOMPurify.sanitize(json_text) + '
', 'text/html');
+ let content_new = doc.querySelector('div.content');
+ content.parentNode.replaceChild(content_new, content);
}
});
}
- }
- let splash_subscribe = document.querySelector('div.splash-subscribe');
- let paywall_hard = document.querySelector('div.paywall-hard');
- removeDOMElement(splash_subscribe, paywall_hard);
- }, 3000);
+ });
+ }
+ let splash_subscribe = document.querySelector('div.splash-subscribe');
+ let paywall_hard = document.querySelector('div.paywall-hard');
+ removeDOMElement(splash_subscribe, paywall_hard);
}
else if (matchDomain(['techtarget.com', 'computerweekly.com', 'lemagit.fr'])) {
diff --git a/custom/manifest.json b/custom/manifest.json
index b7b4f47..7498f54 100644
--- a/custom/manifest.json
+++ b/custom/manifest.json
@@ -51,5 +51,5 @@
"webRequestBlocking",
"*://*/*"
],
- "version": "3.5.9.4"
+ "version": "3.5.9.5"
}
diff --git a/custom/sites_custom.json b/custom/sites_custom.json
index 857462f..e58ef62 100644
--- a/custom/sites_custom.json
+++ b/custom/sites_custom.json
@@ -1,6 +1,6 @@
{
"###_remove_sites": {
- "cs_code": "dn.se, faithfullymagazine.com, gazetaprawna.pl, lyrik.fr, mailplus.co.uk",
+ "cs_code": "dn.se, faithfullymagazine.com, gazetaprawna.pl, lyrik.fr, mailplus.co.uk, portfolio.hu",
"domain": "###"
},
"Abajournal.com": {
@@ -18,7 +18,7 @@
"block_regex": "\\.acadienouvelle\\.com\\/script\\.js",
"domain": "acadienouvelle.com"
},
- "Airmail.news (refresh)": {
+ "Airmail.news": {
"add_ext_link": "div.paywall-card|div.article-text",
"add_ext_link_type": "archive.is",
"allow_cookies": 1,
@@ -644,16 +644,9 @@
"Physicsworld.com": {
"domain": "physicsworld.com"
},
- "Piratewires.com (refresh)": {
+ "Piratewires.com": {
"allow_cookies": 1,
- "cs_code": "[{\"cond\":\"div[class*='article_articleRestricted_']\", \"rm_attrib\":\"class\"}, {\"cond\":\"div[class^='fixedOverlay']\", \"rm_elem\":1}]",
- "domain": "piratewires.com"
- },
- "Portfolio.hu": {
- "add_ext_link": "section.paywall|article",
- "add_ext_link_type": "archive.is",
- "allow_cookies": 1,
- "domain": "portfolio.hu",
+ "domain": "piratewires.com",
"useragent": "googlebot"
},
"Pourleco.com": {
@@ -790,10 +783,11 @@
"domain": "t3n.de",
"ld_json": "div.c-pro-wall__wrapper|div.pro-blur>p"
},
- "Tamedia.ch (refresh)": {
+ "Tamedia.ch": {
"add_ext_link": "div#piano-premium|p[class^='ArticleParagraph_root_']",
"add_ext_link_type": "google_search_tool",
"allow_cookies": 1,
+ "block_regex": "\\.tinypass\\.com",
"domain": "###_ch_tamedia"
},
"Taxscan.in": {
diff --git a/manifest.json b/manifest.json
index 3e63f73..0299681 100644
--- a/manifest.json
+++ b/manifest.json
@@ -857,5 +857,5 @@
"*://archive.vn/*",
"*://webcache.googleusercontent.com/*"
],
- "version": "3.5.9.4"
+ "version": "3.5.9.5"
}
diff --git a/options/options.html b/options/options.html
index 5a0abed..b5ebd58 100644
--- a/options/options.html
+++ b/options/options.html
@@ -10,7 +10,7 @@
Options |
Changelog
- Some selected sites will have their cookies cleared; uncheck the sites (or add to excluded sites) for which you have an account or else you will be logged out at every visit.
+ Some selected sites will have their cookies cleared; uncheck the sites (or add to excluded sites) for which you have an account.
If you also want to block general paywall-scripts for unlisted sites you have to opt-in to custom sites (host permission for access to all sites is needed).
@@ -23,6 +23,7 @@
Clear updated sites
Excluded sites
Go to bottom
+
diff --git a/options/options.js b/options/options.js
index 478a30e..ba03344 100644
--- a/options/options.js
+++ b/options/options.js
@@ -4,27 +4,27 @@ var ext_api = (typeof browser === 'object') ? browser : chrome;
function save_options(event) {
var inputEls = document.querySelectorAll('#bypass_sites input');
var sites = {};
-
- var sites = Array.from(inputEls).reduce(function(memo, inputEl) {
+
+ var sites = Array.from(inputEls).reduce(function (memo, inputEl) {
if (inputEl.checked) {
memo[inputEl.dataset.key] = inputEl.dataset.value;
}
return memo;
}, {});
-
+
ext_api.storage.local.set({
sites: sites
- }, function() {
+ }, function () {
// Update status to let user know options were saved.
- if (event) {
- var status_label = document.querySelectorAll('[id^="status"]');
- for (let status of status_label) {
- status.textContent = 'Options saved.';
- setTimeout(function () {
- status.textContent = '';
- }, 800);
- }
- }
+ if (event) {
+ var status_label = document.querySelectorAll('[id^="status"]');
+ for (let status of status_label) {
+ status.textContent = 'Options saved.';
+ setTimeout(function () {
+ status.textContent = '';
+ }, 800);
+ }
+ }
});
}
@@ -116,8 +116,55 @@ function renderOptions() {
});
}
+function handleSearch() {
+ let search = document.getElementById('search').value.toLowerCase().replace('www.', '');
+ let listItems = document.querySelectorAll('#bypass_sites > label');
+ grouped_sites = filterObject(grouped_sites, function (val, key) {
+ return val.length
+ });
+ ext_api.storage.local.get({
+ sites_updated: {},
+ sites_custom: {}
+ }, function (items) {
+ let sites_updated_groups = filterObject(items.sites_updated, function (val, key) {
+ return val.group
+ }, function (val, key) {
+ return [val.domain, val.group]
+ });
+ for (let site in sites_updated_groups) {
+ let site_default = Object.keys(defaultSites).find(key => compareKey(key, site)) || site;
+ grouped_sites[site_default] = sites_updated_groups[site];
+ }
+ let sites_custom_groups = filterObject(items.sites_custom, function (val, key) {
+ return val.group
+ }, function (val, key) {
+ return [val.domain, val.group.split(',')]
+ });
+ for (let site in sites_custom_groups)
+ grouped_sites[site] = sites_custom_groups[site];
+ for (let item of listItems) {
+ let itemText = item.textContent.toLowerCase();
+ let itemInput = item.querySelector('input[data-value]');
+ let itemDomain = itemInput ? itemInput.getAttribute('data-value') : '';
+ let itemGroup = itemDomain ? grouped_sites[itemDomain] : '';
+ if (itemText.includes(search) || !itemDomain || (itemDomain && (itemDomain.match(/^(###$|#options_[^d])/) || itemDomain.includes(search) || (itemGroup && itemGroup.includes(search)))))
+ item.style.display = 'block';
+ else
+ item.style.display = 'none';
+ }
+ });
+
+ let selectButtons = document.querySelectorAll('#select-all, #select-none');
+ for (let elem of selectButtons) {
+ if (search == '')
+ elem.style.display = 'block';
+ else
+ elem.style.display = 'none';
+ }
+}
+
function selectAll() {
- var inputEls = Array.from(document.querySelectorAll('input'));
+ var inputEls = Array.from(document.querySelectorAll('input[data-key]'));
inputEls = inputEls.filter(function (input) {
return (!input.dataset.value.match(/^#options_(disable|optin)_/));
});
@@ -169,6 +216,7 @@ document.getElementById('save').addEventListener('click', save_options);
document.getElementById('save_top').addEventListener('click', save_options);
document.getElementById('select-all').addEventListener('click', selectAll);
document.getElementById('select-none').addEventListener('click', selectNone);
-document.getElementById("button-close").addEventListener('click', closeButton);
+document.getElementById('button-close').addEventListener('click', closeButton);
document.getElementById('check_sites_updated').addEventListener('click', check_sites_updated);
document.getElementById('clear_sites_updated').addEventListener('click', clear_sites_updated);
+document.getElementById('search').addEventListener('input', handleSearch);
diff --git a/sites.js b/sites.js
index 727ce86..f2cf4f7 100644
--- a/sites.js
+++ b/sites.js
@@ -2262,6 +2262,7 @@ var defaultSites = {
"Tech in Asia": {
domain: "techinasia.com",
allow_cookies: 1,
+ useragent: "googlebot",
cs_dompurify: 1
},
"TechTarget Group": {
@@ -2621,7 +2622,7 @@ var defaultSites = {
block_regex: /\.tinypass\.com\//
},
"The Stage Media (UK)": {
- "domain": "uk_thestage_media",
+ "domain": "###_uk_thestage_media",
"allow_cookies": 1,
"group": [
"thebookseller.com",
@@ -3097,4 +3098,4 @@ var fr_groupe_ebra_nofix_domains = ['bienpublic.com', 'dna.fr', 'estrepublicain.
var fr_indigo_nofix_domains = ['africaintelligence.com', 'africaintelligence.fr', 'glitz.paris', 'intelligenceonline.com', 'intelligenceonline.fr', 'lalettre.fr'];
var it_gedi_nofix_domains = ['gelocal.it', 'limesonline.com'];
var nl_mediahuis_region_nofix_domains = ['gooieneemlander.nl', 'haarlemsdagblad.nl', 'ijmuidercourant.nl', 'leidschdagblad.nl', 'noordhollandsdagblad.nl'];
-var nofix_sites = ['11freunde.de', 'aamulehti.fi', 'aftenposten.no', 'aftonbladet.se', 'allgaeuer-zeitung.de', 'arkansasonline.com', 'asahi.com', 'asiatimes.com', 'aviationweek.com', 'badische-zeitung.de', 'bhaskar.com', 'bloomberglaw.com', 'bloombergtax.com', 'bnef.com', 'bnn.de', 'borsen.dk', 'businessinsider.de', 'businessinsider.jp', 'businesslive.co.za', 'businesstimes.com.sg', 'caixin.com', 'caixinglobal.com', 'caravanmagazine.in', 'catalyst-journal.com', 'chegg.com', 'codesports.com.au', 'compactmag.com', 'coursehero.com', 'deutsche-wirtschafts-nachrichten.de', 'die-glocke.de', 'dn.no', 'dn.se', 'elordenmundial.com', 'entrepreneur.com', 'epw.in', 'ewmagazine.nl', 'falter.at', 'finance.si', 'franc-tireur.fr', 'ftchinese.com', 'ftchineselive.com', 'gamestar.de', 'geo.de', 'golem.de', 'gp.se', 'gva.be', 'handelsblatt.com', 'hbrarabic.com', 'hbrchina.org', 'hbrfrance.fr', 'heise.de', 'hs.fi', 'information.dk', 'investors.com', 'iltalehti.fi', 'jacobin.com', 'jeuneafrique.com', 'jungefreiheit.de', 'kleinezeitung.at', 'krone.at', 'laverita.info', 'lavie.fr', 'lavozdegalicia.es', 'law360.co.uk', 'law360.com', 'le1hebdo.fr', 'leconomiste.com', 'lefigaro.fr', 'lefilmfrancais.com', 'lemonde.fr', 'lequipe.fr', 'lesjours.fr', 'letemps.ch', 'liberation.fr', 'libertiesjournal.com', 'lr-online.de', 'main-echo.de', 'mainpost.de', 'manager-magazin.de', 'medianama.com', 'mediapart.fr', 'milanofinanza.it', 'mittelbayerische.de', 'monde-diplomatique.fr', 'mondediplo.com', 'money.it', 'moneycontrol.com', 'moodys.com', 'morningstar.com', 'motorsport.com', 'moz.de', 'nachrichten.at', 'nationaljournal.com', 'nature.com', 'nbr.co.nz', 'newcriterion.com', 'news24.com', 'newslaundry.com', 'nn.de', 'nwzonline.de', 'on3.com', 'ouest-france.fr', 'philonomist.com', 'pnp.de', 'politicopro.com', 'politiken.dk', 'pressreader.com', 'publico.pt', 'puck.news', 'quillette.com', 'rbc.ru', 'republic.ru', 'rheinpfalz.de', 'risk.net', 'rnz.de', 'saechsische.de', 'sciencedirect.com', 'springer.com', 'statnews.com', 'stern.de', 'stimme.de', 'streetinsider.com', 'substack.com', 'svd.se', 'swp.de', 'taxation.co.uk', 'taxjournal.com', 'the-ken.com', 'theinformation.com', 'theinitium.com', 'themorningcontext.com', 'theparisreview.org', 'thestar.com.my', 'thewirechina.com', 'timeslive.co.za', 'weltwoche.ch', 'weltwoche.de', 'wissenschaft.de', 'worldpoliticsreview.com', 'wz.de', 'zaobao.com.sg'].concat(de_funke_medien_nofix_domains, de_rp_aachen_medien_nofix_domains, de_westfalen_medien_nofix_domains, fr_be_groupe_rossel_nofix_domains, fr_groupe_ebra_nofix_domains, fr_indigo_nofix_domains, it_gedi_nofix_domains, nl_mediahuis_region_nofix_domains);
+var nofix_sites = ['11freunde.de', 'aamulehti.fi', 'aftenposten.no', 'aftonbladet.se', 'allgaeuer-zeitung.de', 'americanscientist.org', 'arkansasonline.com', 'asahi.com', 'asiatimes.com', 'aviationweek.com', 'badische-zeitung.de', 'bhaskar.com', 'bloomberglaw.com', 'bloombergtax.com', 'bnef.com', 'bnn.de', 'borsen.dk', 'businessinsider.de', 'businessinsider.jp', 'businesslive.co.za', 'businesstimes.com.sg', 'caixin.com', 'caixinglobal.com', 'caravanmagazine.in', 'catalyst-journal.com', 'chegg.com', 'codesports.com.au', 'compactmag.com', 'coursehero.com', 'deutsche-wirtschafts-nachrichten.de', 'die-glocke.de', 'dn.no', 'dn.se', 'elordenmundial.com', 'entrepreneur.com', 'epw.in', 'ewmagazine.nl', 'falter.at', 'finance.si', 'franc-tireur.fr', 'ftchinese.com', 'ftchineselive.com', 'gamestar.de', 'geo.de', 'golem.de', 'gp.se', 'gva.be', 'handelsblatt.com', 'hbrarabic.com', 'hbrchina.org', 'hbrfrance.fr', 'heise.de', 'hs.fi', 'information.dk', 'investors.com', 'iltalehti.fi', 'jacobin.com', 'jeuneafrique.com', 'jungefreiheit.de', 'kleinezeitung.at', 'krone.at', 'laverita.info', 'lavie.fr', 'lavozdegalicia.es', 'law360.co.uk', 'law360.com', 'le1hebdo.fr', 'leconomiste.com', 'lefigaro.fr', 'lefilmfrancais.com', 'lemonde.fr', 'lequipe.fr', 'lesjours.fr', 'letemps.ch', 'liberation.fr', 'libertiesjournal.com', 'lr-online.de', 'main-echo.de', 'mainpost.de', 'manager-magazin.de', 'medianama.com', 'mediapart.fr', 'milanofinanza.it', 'mittelbayerische.de', 'monde-diplomatique.fr', 'mondediplo.com', 'money.it', 'moneycontrol.com', 'moodys.com', 'morningstar.com', 'motorsport.com', 'moz.de', 'nachrichten.at', 'nationaljournal.com', 'nature.com', 'nbr.co.nz', 'newcriterion.com', 'news24.com', 'newslaundry.com', 'nn.de', 'nwzonline.de', 'on3.com', 'ouest-france.fr', 'philonomist.com', 'pnp.de', 'politicopro.com', 'politiken.dk', 'pressreader.com', 'publico.pt', 'puck.news', 'quillette.com', 'rbc.ru', 'republic.ru', 'rheinpfalz.de', 'risk.net', 'rnz.de', 'saechsische.de', 'sciencedirect.com', 'springer.com', 'statnews.com', 'stern.de', 'stimme.de', 'streetinsider.com', 'substack.com', 'svd.se', 'swp.de', 'taxation.co.uk', 'taxjournal.com', 'the-ken.com', 'theinformation.com', 'theinitium.com', 'themorningcontext.com', 'theparisreview.org', 'thestar.com.my', 'thewirechina.com', 'timeslive.co.za', 'weltwoche.ch', 'weltwoche.de', 'wissenschaft.de', 'worldpoliticsreview.com', 'wz.de', 'zaobao.com.sg'].concat(de_funke_medien_nofix_domains, de_rp_aachen_medien_nofix_domains, de_westfalen_medien_nofix_domains, fr_be_groupe_rossel_nofix_domains, fr_groupe_ebra_nofix_domains, fr_indigo_nofix_domains, it_gedi_nofix_domains, nl_mediahuis_region_nofix_domains);