mirror of
https://gitlab.com/magnolia1234/bypass-paywalls-firefox-clean.git
synced 2024-11-10 03:31:57 +01:00
Fix Mediahuis Noord (json)
This commit is contained in:
parent
a0724df9e4
commit
52b845c1ad
3 changed files with 97 additions and 77 deletions
|
@ -3,6 +3,7 @@ Changelog Bypass Paywalls Clean - Firefox
|
|||
Updates (install signed xpi-file): https://gitlab.com/magnolia1234/bypass-paywalls-firefox-clean/-/releases
|
||||
|
||||
Post-release
|
||||
Fix Mediahuis Noord (json)
|
||||
|
||||
* v3.3.5.0 (2023-09-24)
|
||||
Add Arkansas Democrat-Gazette
|
||||
|
|
163
contentScript.js
163
contentScript.js
|
@ -2370,13 +2370,13 @@ else if (matchDomain(be_roularta_domains)) {
|
|||
}
|
||||
|
||||
else if (matchDomain(['lc.nl', 'dvhn.nl']) || document.querySelector('link[href*=".ndcmediagroep.nl/"]')) {
|
||||
if (true) {
|
||||
let paywall = document.querySelector('div.signupPlus, div.pw-wrapper');
|
||||
if (paywall && dompurify_loaded) {
|
||||
let intro = document.querySelector('div.startPayWall');
|
||||
removeDOMElement(paywall, intro);
|
||||
let html = document.documentElement.outerHTML;
|
||||
if (html.includes('window.__NUXT__=')) {
|
||||
let paywall = document.querySelector('div.signupPlus, div.pw-wrapper');
|
||||
if (paywall && dompurify_loaded) {
|
||||
let intro = document.querySelector('div.startPayWall');
|
||||
removeDOMElement(paywall, intro);
|
||||
let html = document.documentElement.outerHTML;
|
||||
if (html.includes('window.__NUXT__=')) {
|
||||
try {
|
||||
let json = html.split('window.__NUXT__=')[1].split('</script>')[0].trim();
|
||||
let url_nuxt = json.includes(',canonical:"') ? json.split(',canonical:"')[1].match(/\d+\.(html|ece)/)[0] : false;
|
||||
if (!url_nuxt)
|
||||
|
@ -2388,77 +2388,77 @@ else if (matchDomain(['lc.nl', 'dvhn.nl']) || document.querySelector('link[href*
|
|||
let article = document.querySelector('div.content');
|
||||
if (article) {
|
||||
article.innerHTML = '';
|
||||
try {
|
||||
let pars = JSON.parse(json_text);
|
||||
function addParText(elem, par_text, add_br = false) {
|
||||
if (par_text.length > 2) {
|
||||
let span = document.createElement('span');
|
||||
span.innerText = par_text;
|
||||
elem.appendChild(span);
|
||||
if (add_br)
|
||||
elem.appendChild(document.createElement('br'));
|
||||
}
|
||||
let pars = JSON.parse(json_text);
|
||||
function addParText(elem, par_text, add_br = false) {
|
||||
if (par_text.length > 2) {
|
||||
let span = document.createElement('span');
|
||||
span.innerText = par_text;
|
||||
elem.appendChild(span);
|
||||
if (add_br)
|
||||
elem.appendChild(document.createElement('br'));
|
||||
}
|
||||
for (let par of pars) {
|
||||
let elem = document.createElement('p');
|
||||
if (par.code) {
|
||||
let parser = new DOMParser();
|
||||
let article_html = parser.parseFromString('<div>' + DOMPurify.sanitize(par.code, {ADD_TAGS: ['iframe']}) + '</div>', 'text/html');
|
||||
elem = article_html.querySelector('div');
|
||||
} else if (par.insertbox_head || par.insertbox_text) {
|
||||
if (par.insertbox_head && par.insertbox_head.length > 2) {
|
||||
addParText(elem, par.insertbox_head, true);
|
||||
}
|
||||
if (par.insertbox_text) {
|
||||
for (let item of par.insertbox_text) {
|
||||
if (item.children) {
|
||||
for (let child of item.children) {
|
||||
if (child.text) {
|
||||
addParText(elem, child.text, true);
|
||||
} else if (child.href && child.href.length > 2) {
|
||||
let par_link = document.createElement('a');
|
||||
par_link.href = child.href;
|
||||
par_link.innerText = child.children[0].text;
|
||||
elem.appendChild(par_link);
|
||||
elem.appendChild(document.createElement('br'));
|
||||
} else if (child.children) {
|
||||
for (let sub_child of child.children) {
|
||||
if (sub_child.text) {
|
||||
addParText(elem, sub_child.text);
|
||||
} else if (sub_child.children && sub_child.children.length && sub_child.children[0].text) {
|
||||
addParText(elem, sub_child.children[0].text);
|
||||
}
|
||||
}
|
||||
for (let par of pars) {
|
||||
let elem = document.createElement('p');
|
||||
if (par.code) {
|
||||
let parser = new DOMParser();
|
||||
let article_html = parser.parseFromString('<div>' + DOMPurify.sanitize(par.code, {ADD_TAGS: ['iframe']}) + '</div>', 'text/html');
|
||||
elem = article_html.querySelector('div');
|
||||
} else if (par.insertbox_head || par.insertbox_text) {
|
||||
if (par.insertbox_head && par.insertbox_head.length > 2) {
|
||||
addParText(elem, par.insertbox_head, true);
|
||||
}
|
||||
if (par.insertbox_text) {
|
||||
for (let item of par.insertbox_text) {
|
||||
if (item.children) {
|
||||
for (let child of item.children) {
|
||||
if (child.text) {
|
||||
addParText(elem, child.text, true);
|
||||
} else if (child.href && child.href.length > 2) {
|
||||
let par_link = document.createElement('a');
|
||||
par_link.href = child.href;
|
||||
par_link.innerText = child.children[0].text;
|
||||
elem.appendChild(par_link);
|
||||
elem.appendChild(document.createElement('br'));
|
||||
} else if (child.children) {
|
||||
for (let sub_child of child.children) {
|
||||
if (sub_child.text) {
|
||||
addParText(elem, sub_child.text);
|
||||
} else if (sub_child.children && sub_child.children.length && sub_child.children[0].text) {
|
||||
addParText(elem, sub_child.children[0].text);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (par.text) {
|
||||
addParText(elem, par.text);
|
||||
} else if (par.children) {
|
||||
for (let child of par.children) {
|
||||
if (child.relation) {
|
||||
if (child.type === 'img' && child.relation.href) {
|
||||
let figure = document.createElement('figure');
|
||||
let img = document.createElement('img');
|
||||
img.src = child.relation.href;
|
||||
figure.appendChild(img);
|
||||
if (child.relation.caption && child.relation.caption.length > 2) {
|
||||
let caption = document.createElement('figcaption');
|
||||
caption.innerText = child.relation.caption;
|
||||
figure.appendChild(caption);
|
||||
}
|
||||
elem.appendChild(figure);
|
||||
} else if (child.relation.link && child.relation.link.length > 2 && ((child.relation.title && child.relation.title.length > 2) || child.relation.imageAlt)) {
|
||||
let par_link = document.createElement('a');
|
||||
par_link.href = child.relation.link;
|
||||
par_link.innerText = child.relation.title.length > 2 ? child.relation.title : (child.relation.imageAlt.length > 2 ? child.relation.imageAlt : child.relation.link);
|
||||
elem.appendChild(par_link);
|
||||
}
|
||||
} else if (par.text) {
|
||||
addParText(elem, par.text);
|
||||
} else if (par.children) {
|
||||
for (let child of par.children) {
|
||||
if (child.relation) {
|
||||
if (child.type === 'img' && child.relation.href) {
|
||||
let figure = document.createElement('figure');
|
||||
let img = document.createElement('img');
|
||||
img.src = child.relation.href;
|
||||
figure.appendChild(img);
|
||||
if (child.relation.caption && child.relation.caption.length > 2) {
|
||||
let caption = document.createElement('figcaption');
|
||||
caption.innerText = child.relation.caption;
|
||||
figure.appendChild(caption);
|
||||
}
|
||||
} else if (child.text) {
|
||||
addParText(elem, child.text);
|
||||
} else if (child.children && child.children.length && child.children[0].text && child.children[0].text.length > 2) {
|
||||
elem.appendChild(figure);
|
||||
} else if (child.relation.link && child.relation.link.length > 2 && ((child.relation.title && child.relation.title.length > 2) || child.relation.imageAlt)) {
|
||||
let par_link = document.createElement('a');
|
||||
par_link.href = child.relation.link;
|
||||
par_link.innerText = child.relation.title.length > 2 ? child.relation.title : (child.relation.imageAlt.length > 2 ? child.relation.imageAlt : child.relation.link);
|
||||
elem.appendChild(par_link);
|
||||
}
|
||||
} else if (child.text) {
|
||||
addParText(elem, child.text);
|
||||
} else if (child.children && child.children[0]) {
|
||||
if (child.children[0].text && child.children[0].text.length > 2) {
|
||||
if ((child.href && child.href.length > 2) || (child.relation && child.relation.follow && child.relation.follow.url)) {
|
||||
let par_link = document.createElement('a');
|
||||
par_link.href = child.href || child.relation.follow.url;
|
||||
|
@ -2467,19 +2467,20 @@ else if (matchDomain(['lc.nl', 'dvhn.nl']) || document.querySelector('link[href*
|
|||
} else {
|
||||
addParText(elem, child.children[0].text);
|
||||
}
|
||||
}
|
||||
} else if (child.children[0].children && child.children[0].children[0] && child.children[0].children[0].text && child.children[0].children[0].text.length > 2)
|
||||
addParText(elem, child.children[0].children[0].text);
|
||||
}
|
||||
} else if (par.typename.length > 2)
|
||||
console.log(par);
|
||||
if (elem.hasChildNodes()) {
|
||||
article.appendChild(elem);
|
||||
}
|
||||
} else if (par.typename.length > 2)
|
||||
console.log(par);
|
||||
if (elem.hasChildNodes()) {
|
||||
article.appendChild(elem);
|
||||
}
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3887,6 +3888,14 @@ else if (matchDomain('firstthings.com')) {
|
|||
else if (matchDomain('forbes.com')) {
|
||||
waitDOMAttribute('body', 'body', 'class', node => node.removeAttribute('class'), true);
|
||||
csDoneOnce = true;
|
||||
if (window.location.pathname.startsWith('/newsletters/')) {
|
||||
let paywall = document.querySelector('div > div.newsletter-teaser');
|
||||
if (paywall) {
|
||||
paywall.classList.remove('newsletter-teaser');
|
||||
let header = paywall.parentNode;
|
||||
header_nofix(header);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
else if (matchDomain('foreignaffairs.com')) {
|
||||
|
|
|
@ -296,6 +296,11 @@
|
|||
"domain": "lagazettedescommunes.com",
|
||||
"useragent": "googlebot"
|
||||
},
|
||||
"Lasvegasadvisor.com": {
|
||||
"allow_cookies": 1,
|
||||
"block_regex": "\\.lasvegasadvisor\\.com\\/opt\\/.+\\.js",
|
||||
"domain": "lasvegasadvisor.com"
|
||||
},
|
||||
"Lefigaro.fr": {
|
||||
"add_ext_link": "div#fig-premium-paywall|article",
|
||||
"add_ext_link_type": "archive.is",
|
||||
|
@ -537,6 +542,11 @@
|
|||
"block_regex": "\\/spectator\\.org\\/.+\\/evolok",
|
||||
"domain": "spectator.org"
|
||||
},
|
||||
"Spectrejournal.com": {
|
||||
"allow_cookies": 1,
|
||||
"block_regex": "\\/spectrejournal\\.com\\/wp-content\\/plugins\\/elementor\\/.+\\/dialog\\.min\\.js",
|
||||
"domain": "spectrejournal.com"
|
||||
},
|
||||
"Speld.nl": {
|
||||
"domain": "speld.nl"
|
||||
},
|
||||
|
|
Loading…
Reference in a new issue