diff --git a/README.md b/README.md index a81f1410..cd3d0087 100644 --- a/README.md +++ b/README.md @@ -645,6 +645,7 @@ Grouped in options:\ [Central Western Daily](https://www.centralwesterndaily.com.au) - [Daily Liberal](https://www.dailyliberal.com.au) - [Illawarra Mercury](https://www.illawarramercury.com.au) - +[Newcastle Herald](https://www.newcastleherald.com.au) - [The Advocate](https://www.theadvocate.com.au) - [The Border Mail](https://www.bordermail.com.au) - [The Canberra Times](https://www.canberratimes.com.au) - diff --git a/background.js b/background.js index 07676a2c..dc6a3b71 100644 --- a/background.js +++ b/background.js @@ -8,7 +8,7 @@ var ext_name = manifestData.name; var ext_version = manifestData.version; const cs_limit_except = ['elespanol.com', 'faz.net', 'nation.africa', 'nationalgeographic.com', 'thetimes.co.uk']; -const dompurify_sites = ['asiatimes.com', 'bloomberg.com', 'cicero.de', 'economictimes.com', 'hs.fi', 'iltalehti.fi', 'lesechos.fr', 'marianne.net', 'newleftreview.org', 'nzherald.co.nz', 'prospectmagazine.co.uk', 'stratfor.com', 'techinasia.com', 'timesofindia.com', 'valor.globo.com', 'vn.nl'].concat(fr_groupe_sud_ouest_domains, nl_mediahuis_region_domains, no_nhst_media_domains, usa_theathletic_domains); +const dompurify_sites = ['asiatimes.com', 'bloomberg.com', 'cicero.de', 'economictimes.com', 'hs.fi', 'iltalehti.fi', 'lesechos.fr', 'marianne.net', 'newleftreview.org', 'nzherald.co.nz', 'prospectmagazine.co.uk', 'stratfor.com', 'techinasia.com', 'timesofindia.com', 'valor.globo.com', 'vn.nl'].concat(au_comm_media_domains, fr_groupe_sud_ouest_domains, nl_mediahuis_region_domains, no_nhst_media_domains, usa_theathletic_domains); var currentTabUrl = ''; var csDone = false; var optin_setcookie = false; @@ -756,7 +756,7 @@ ext_api.webRequest.onBeforeSendHeaders.addListener(function(details) { 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) - medium_custom_domains = customAddRules(medium_custom_domains, '', '', '', custom_referer = 'twitter'); + medium_custom_domains = customAddRules(medium_custom_domains, '', '', '', 'twitter'); else { let header_referer_hostname = urlHost(header_referer); if (header_referer_hostname.endsWith('.com.au')) { diff --git a/changelog.txt b/changelog.txt index fdc70f50..2df898b7 100644 --- a/changelog.txt +++ b/changelog.txt @@ -2,7 +2,9 @@ Changelog Bypass Paywalls Clean - Firefox Post-release +Add NewcastleHerald.com.au Remove HBR Taiwan (fix obsolete) +Fix Australian Community Media * v2.6.1.0 (2022-03-20) Add Franc-Tireur.fr diff --git a/contentScript.js b/contentScript.js index 8c39a6ab..2b88162a 100644 --- a/contentScript.js +++ b/contentScript.js @@ -228,21 +228,64 @@ else if (domain = matchDomain(["brisbanetimes.com.au", "smh.com.au", "theage.com else { // Australian Community Media newspapers - let 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', 'northerndailyleader.com.au', 'portnews.com.au', 'standard.net.au', 'theadvocate.com.au', 'thecourier.com.au', 'westernadvocate.com.au']; + let 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']; let au_comm_media_link = document.querySelector('a[href^="https://australiancommunitymedia.zendesk.com"]'); if (matchDomain(au_comm_media_domains) || au_comm_media_link) { - let subscribe_truncate = document.querySelector('.subscribe-truncate'); - if (subscribe_truncate) - subscribe_truncate.classList.remove('subscribe-truncate'); - let subscriber_hiders = document.querySelectorAll('.subscriber-hider'); - for (let subscriber_hider of subscriber_hiders) - subscriber_hider.classList.remove('subscriber-hider'); + let mask = document.querySelector('div[style^="-webkit-mask-image"]'); + if (mask) { + mask.removeAttribute('style'); + let json_script = document.querySelector('script#__NEXT_DATA__'); + if (json_script && dompurify_loaded) { + let json = JSON.parse(json_script.innerText); + if (json && json.props.pageProps.context.story.elements) { + let pars = json.props.pageProps.context.story.elements; + let intro = document.querySelector('p[class^="Paragraph_wrapper__"]'); + if (intro && intro.parentNode) { + let article = document.querySelector('div#story-body > div.mx-auto'); + if (!article) + article = intro.parentNode; + removeDOMElement(intro); + let article_new = ''; + for (let par of pars) { + if (['paragraph', 'topic', 'heading', 'subhead'].includes(par.type) && par.text) { + article_new += '

' + par.text.replace(/
$/, '') + '

'; + } else if (par.type === 'generic' && par.embed) { + article_new += '

' + par.embed + '

'; + } else if (['list', 'listbox'].includes(par.type) && par.items) { + if (par.type === 'listbox' && par.headline) + article_new += par.headline + '
'; + article_new += ''; + if (par.type === 'listbox' && par.description) + article_new += par.description + '

'; + } else if (!['image', 'gallery', 'quote'].includes(par.type)) { + console.log(par); + } + } + let parser = new DOMParser(); + let doc = parser.parseFromString('
' + DOMPurify.sanitize(article_new, {ADD_TAGS: ['iframe']}) + '
', 'text/html'); + let content_new = doc.querySelector('div'); + article.appendChild(content_new); + } + } + } + } else { + let subscribe_truncate = document.querySelector('.subscribe-truncate'); + if (subscribe_truncate) + subscribe_truncate.classList.remove('subscribe-truncate'); + let subscriber_hiders = document.querySelectorAll('.subscriber-hider'); + for (let subscriber_hider of subscriber_hiders) + subscriber_hider.classList.remove('subscriber-hider'); + } let blocker = document.querySelector('div.blocker'); let noscroll = document.querySelector('body[style]'); if (noscroll) noscroll.removeAttribute('style'); let story_generic_iframe = document.querySelector('.story-generic__iframe'); - removeDOMElement(story_generic_iframe, blocker); + let ads = document.querySelectorAll('.ad-placeholder, .sticky, #billboard-container'); + removeDOMElement(story_generic_iframe, blocker, ...ads); } else if (window.location.hostname.endsWith('.com.au')) { // Australia News Corp let au_news_corp_domains = ['adelaidenow.com.au', 'cairnspost.com.au', 'codesports.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']; diff --git a/manifest.json b/manifest.json index 84491308..70637cc6 100644 --- a/manifest.json +++ b/manifest.json @@ -398,6 +398,7 @@ "*://*.nationalreview.com/*", "*://*.nautil.us/*", "*://*.neuepresse.de/*", + "*://*.newcastleherald.com.au/*", "*://*.newleftreview.org/*", "*://*.newrepublic.com/*", "*://*.newsday.com/*", @@ -656,5 +657,5 @@ "*://*.wallkit.net/*", "*://*.wsj.net/*" ], - "version": "2.6.1.0" + "version": "2.6.1.1" } diff --git a/sites.js b/sites.js index c30151be..c509d8b1 100644 --- a/sites.js +++ b/sites.js @@ -142,6 +142,7 @@ var defaultSites = { "dailyliberal.com.au", "examiner.com.au", "illawarramercury.com.au", + "newcastleherald.com.au", "northerndailyleader.com.au", "portnews.com.au", "standard.net.au", @@ -150,12 +151,12 @@ var defaultSites = { "westernadvocate.com.au" ], allow_cookies: 1, - block_regex: /cdn-au\.piano\.io\/api\/tinypass.+\.js/ + block_regex: /(cdn-au\.piano\.io\/api\/tinypass.+\.js|cdn\.cxense\.com\/)/ }, "Barron's": { domain: "barrons.com", allow_cookies: 1, - block_regex: /(cdn\.cxense\.com\/.+|cdn\.ampproject\.org\/v\d\/amp-(access|ad|subscriptions)-.+\.js)/, + block_regex: /(cdn\.cxense\.com\/|cdn\.ampproject\.org\/v\d\/amp-(access|ad|subscriptions)-.+\.js)/, useragent: "googlebot" }, "BBC History Extra": { @@ -2010,6 +2011,7 @@ var grouped_sites = {}; expandSiteRules(defaultSites); // grouped domains (background) +var au_comm_media_domains = grouped_sites['###_au_comm_media']; var au_news_corp_domains = grouped_sites['###_au_news_corp']; var fr_groupe_sud_ouest_domains = grouped_sites['###_fr_groupe_sud_ouest']; var it_repubblica_domains = defaultSites['###_gr_it_repubblica_domains']['group_rule_domains'];