', 'text/html');
let article_new = doc.querySelector('div');
if (article_append || !article.parentNode) {
if (!article_hold)
article.innerHTML = '';
article.appendChild(article_new);
} else if (article.parentNode)
article.parentNode.replaceChild(article_new, article);
}
} catch (err) {
console.log(err);
}
}
}
}, 1000);
}
}
// custom/updated sites: load text from json (page source)
if (bg2csData.ld_json_source && dompurify_loaded) {
let data = bg2csData.ld_json_source;
if (data.includes('|')) {
window.setTimeout(function () {
let data_split = data.split('|');
let paywall_sel = data_split[0];
let article_sel = data_split[1];
let paywall = document.querySelectorAll(paywall_sel);
let article = document.querySelector(article_sel);
let filter = new RegExp(data_split[2].replace(/\./g, '\\.').replace('=', '\\s?=\\s?'));
let json_key = data_split[3];
// optional
let article_append = data_split[4];
let article_hold = data_split[5];
if (paywall.length && article) {
removeDOMElement(...paywall);
let json_script = getSourceJsonScript(filter, ':not([src])');
if (json_script) {
let script_text = json_script.text.split(filter)[1];
if (script_text.includes('};'))
script_text = script_text.split('};')[0] + '}';
try {
let json = JSON.parse(script_text);
if (json) {
let json_text = parseHtmlEntities(getNestedKeys(json, json_key));
let parser = new DOMParser();
let doc = parser.parseFromString('
', 'text/html');
let content_new = doc.querySelector('div');
paywall.innerHTML = '';
paywall.appendChild(content_new);
}
})
}
})
}
}
else if (matchDomain(['crikey.com.au', 'smartcompany.com.au', 'themandarin.com.au'])) {
let ads = 'div.wp-block-pm-ad-placeholder-block';
hideDOMStyle(ads);
}
else if (matchDomain('forbes.com.au')) {
getJsonUrl('div[class*="_gate"]', '', 'div.article-page__content-body');
let fade = document.querySelector('div[style*="background-image: linear-gradient"]');
removeDOMElement(fade);
}
else if (matchDomain('macrobusiness.com.au')) {
let paywall = pageContains('div > p', 'The full text of this article is available');
if (paywall[0] && dompurify_loaded) {
let fade = document.querySelector('div.bg-gradient-to-t');
removeDOMElement(paywall[0].parentNode, fade);
let json_script = document.querySelector('script#__NUXT_DATA__');
if (json_script) {
try {
let json = JSON.parse(json_script.text);
let json_text = json.filter(x => typeof x === 'string' && x.match(/(<|\\u003C)p>/))[0];
let parser = new DOMParser();
let doc = parser.parseFromString('
' + DOMPurify.sanitize(json_text) + '
', 'text/html');
let content_new = doc.querySelector('div');
let article = document.querySelector('div.content');
if (article) {
article.innerHTML = '';
article.appendChild(content_new);
}
} catch (err) {
console.log(err);
}
}
}
}
else if (matchDomain('nzherald.co.nz')) {
// plus code in contentScript_once_var.js (timing)
let premium_toaster = '#premium-toaster';
hideDOMStyle(premium_toaster);
}
else if (matchDomain('spectator.com.au')) {
getJsonUrl('section.paywall', '', 'div.article-body', {art_append: 1});
}
else if (matchDomain('thesaturdaypaper.com.au')) {
let hide_end = document.querySelector('div.hide-end');
if (hide_end) {
refreshCurrentTab_bg();
csDoneOnce = true;
}
let paywall = document.querySelector('div.paywall-hard-always-show');
removeDOMElement(paywall);
}
else if (matchDomain(['brisbanetimes.com.au', 'smh.com.au', 'theage.com.au', 'watoday.com.au'])) {
if (!window.location.hostname.startsWith('amp.')) {
amp_redirect('head > meta[content^="FOR SUBSCRIBERS"], #paywall_prompt');
} else {
amp_unhide_subscr_section();
}
}
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', 'newcastleherald.com.au', 'northerndailyleader.com.au', 'standard.net.au', 'theadvocate.com.au', 'thecourier.com.au', 'westernadvocate.com.au'];
let au_comm_media_link = document.querySelector('a[href^="https://austcommunitymedia.my.site.com/"]');
if (matchDomain(au_comm_media_domains) || au_comm_media_link) {
let mask = document.querySelector('div[class^="gradient-mask-"]');
if (mask) {
mask.removeAttribute('class');
let div_hidden = document.querySelectorAll('div.flex-col div.hidden');
for (let elem of div_hidden)
elem.classList.remove('hidden');
} 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 noscroll = document.querySelectorAll('html[style], body[style]');
for (let elem of noscroll)
elem.removeAttribute('style');
let story_generic_iframe = '.story-generic__iframe';
let blocker = 'div.blocker';
let overlays = 'div.transition-all, div[id^="headlessui-dialog"]';
let ads = '.ad-placeholder, .sticky, [id*="-container"], #hindsight-ads-iframe';
hideDOMStyle(story_generic_iframe + ', ' + blocker + ', ' + overlays + ', ' + 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', 'theaustralian.com.au', 'thechronicle.com.au', 'themercury.com.au', 'townsvillebulletin.com.au', 'weeklytimesnow.com.au'];
if (matchDomain(au_news_corp_domains)) {
let url = window.location.href;
if (url.includes('/subscribe/')) {
if (!url.includes('/digitalprinteditions') && url.includes('dest=') && url.split('dest=')[1].split('&')[0]) {
let url_new = decodeURIComponent(url.split('dest=')[1].split('&')[0]) + '?amp';
window.setTimeout(function () {
window.location.href = url_new;
}, 500);
}
} else if (window.location.search.match(/[&\?]amp/)) {
amp_unhide_subscr_section('[id^="ad-mrec-"]', false);
let figure_stretch = document.querySelectorAll('figure.stretch');
for (let elem of figure_stretch)
elem.classList.remove('stretch');
let comments = document.querySelector('#comments-load, .comments-module');
removeDOMElement(comments);
} else {
if (window.location.pathname.includes('/video/') && document.querySelector('div.vms-premium-video'))
header_nofix('div.video-hub');
let ads = '.header_ads-container, .ad-block';
hideDOMStyle(ads);
}
} else {
// Australian Seven West Media
if (matchDomain('thewest.com.au') || document.querySelector('head > link[href="https://images.thewest.com.au"]')) {
function thewest_main(node) {
let filter = /^window\.PAGE_DATA\s?=\s?/;
let json_script = getSourceJsonScript(filter);
if (json_script) {
let json_text = json_script.text.split(filter)[1];
json_text = json_text.replace(/:undefined([,}])/g, ':"undefined"$1');
try {
let json_article = JSON.parse(json_text);
let json_pub;
for (let key in json_article) {
let json_resolution = json_article[key].data.result.resolution;
if (json_resolution && json_resolution.publication) {
json_pub = json_resolution.publication;
break;
}
}
let json_content = [];
let url_loaded;
if (json_pub) {
json_content = json_pub.content.blocks;
url_loaded = json_pub._self;
} else
refreshCurrentTab();
//let json_video = json_pub.mainVideo;
let url = window.location.href;
if (!url_loaded || !url.includes(url_loaded.slice(-10)))
refreshCurrentTab();
let par_elem, par_sub1, par_sub2;
let par_dom = document.createElement('div');
let tweet_id = 1;
for (let par of json_content) {
par_elem = '';
if (par.kind === 'text') {
par_elem = document.createElement('p');
par_elem.innerText = par.text;
} else if (par.kind === 'subhead') {
par_elem = document.createElement('h2');
par_elem.innerText = par.text;
} else if (par.kind === 'pull-quote') {
par_elem = document.createElement('i');
par_elem.innerText = (par.attribution ? par.attribution + ': ' : '') + par.text;
} else if (par.kind === 'embed') {
if (par.reference.includes('https://omny.fm/') || par.reference.includes('https://docdro.id/')) {
par_elem = document.createElement('embed');
par_elem.src = par.reference;
par_elem.style = 'height:500px; width:100%';
par_elem.frameborder = '0';
} else {
par_elem = document.createElement('a');
par_elem.href = par.reference;
par_elem.innerText = par.reference.split('?')[0];
console.log('embed: ' + par.reference);
}
} else if (par.kind === 'unordered-list') {
if (par.items) {
par_elem = document.createElement('ul');
for (let item of par.items)
if (item.text) {
par_sub1 = document.createElement('li');
if (item.intentions[0] && item.intentions[0].href) {
par_sub2 = document.createElement('a');
par_sub2.href = item.intentions[0].href;
} else {
par_sub2 = document.createElement('span');
}
par_sub2.innerText = item.text;
par_sub1.appendChild(par_sub2);
par_elem.appendChild(par_sub1);
}
}
} else if (par.kind === 'inline') {
if (par.asset.kind === 'image' && par.asset.original && par.asset.original.reference) {
par_elem = makeFigure(par.asset.original.reference, par.asset.captionText, {style: 'width:100%'});
}
} else if (par.kind === 'inline-related') {
par_elem = document.createElement('p');
if (par.publications) {
for (let elem of par.publications) {
let par_link = document.createElement('a');
par_link.href = elem._self;
par_link.innerText = elem.heading;
par_elem.appendChild(par_link);
par_elem.appendChild(document.createElement('br'));
}
}
} else {
par_elem = document.createElement('p');
par_elem.innerText = par.text;
console.log(par.kind);
}
if (par_elem)
par_dom.appendChild(par_elem);
}
let content = document.querySelector('div[class*="StyledArticleContent"]');
if (content) {
content.innerHTML = '';
content.appendChild(par_dom);
} else {
par_dom.setAttribute('style', 'margin: 20px;');
node.before(par_dom);
}
} catch (err) {
console.log(err);
}
}
removeDOMElement(node);
}
let paywall_sel = 'div.paywall div[data-testid*="BreachScreen"], div[class*="StyledBreachWallContent"]';
let paywall = document.querySelector(paywall_sel);
if (paywall)
thewest_main(paywall);
else {
csDoneOnce = true;
waitDOMElement(paywall_sel, 'DIV', thewest_main, true);
}
let ads = 'div.headerAdvertisement';
hideDOMStyle(ads);
} else if (document.querySelector('head > link[rel="dns-prefetch"][href="//static.ew.mmg.navigacloud.com"]')) { // McPherson Media Group
let paywall = document.querySelector('div#content-Load-message');
if (paywall) {
removeDOMElement(paywall);
let lockable = document.querySelectorAll('div[id^="lockable-"]');
for (let elem of lockable) {
elem.removeAttribute('style');
elem.removeAttribute('id');
}
let gradient = document.querySelector('div.gradienttext');
if (gradient)
gradient.removeAttribute('class');
}
} else
csDone = true;
}
} else
csDone = true;
}
} else if (window.location.hostname.match(/\.(de|at|ch)$/) || matchDomain(['faz.net', 'handelsblatt.com', 'tt.com', 'wochenblatt.com'])) {//germany/austria/switzerland - ch
if (matchDomain('aachener-zeitung.de')) {
let url = window.location.href;
getArchive(url, 'div[data-testid="paywall-position-popover"]', '', 'article');
let shade = document.querySelector('div.paywalled-article');
if (shade)
shade.classList.remove('paywalled-article');
let noscroll = document.querySelectorAll('html[class], body[class]');
for (let elem of noscroll)
elem.removeAttribute('class');
}
else if (matchDomain('aerztezeitung.de')) {
let paywall = document.querySelector('div.AZLoginModule');
if (paywall) {
removeDOMElement(paywall);
let json_script = getArticleJsonScript();
if (json_script) {
let json = JSON.parse(json_script.text);
if (json) {
let json_text = json.articleBody;
let content = document.querySelector('p.intro');
if (json_text && content) {
let article_new = document.createElement('p');
article_new.innerText = json_text;
content.after(article_new);
}
}
}
}
}
else if (matchDomain(['arcinfo.ch', 'lacote.ch', 'lenouvelliste.ch'])) {// Groupe ESH Médias
let paywall = document.querySelector('section#paywall-articles');
if (paywall && dompurify_loaded) {
removeDOMElement(paywall);
let url_id = window.location.pathname.match(/\d+$/).pop();
let html = document.documentElement.outerHTML;
let json;
if (html.includes('window.__NUXT__=')) {
json = html.split('window.__NUXT__=')[1].split('')[0].trim().replace(/blocs:\[\{.*?\}\],/g, '');
if (url_id && !json.includes('{"' + url_id + '":'))
refreshCurrentTab();
}
let article = document.querySelector('div.html-content');
let no_intro = false;
if (!article) {
article = document.querySelector('div.container-mobile-full');
no_intro = true;
}
if (article && json) {
let content = '';
if (json.includes('text_1="'))
content = json.split('text_1="').pop().split('";')[0];
else {
let parts = json.split('html:"');
parts.splice(0, 1);
for (let part of parts)
content += part.split('",has_pre_content')[0];
}
if (content) {
content = content.replace(/\\u003C/g, '<').replace(/\\u003E/g, '>').replace(/\\u002F/g, '/').replace(/\\"/g, '"').replace(/\\r\\n/g, '');
let parser = new DOMParser();
let content_new = parser.parseFromString('
', 'text/html');
let iframely = content_new.querySelectorAll('div > div.fr-iframely');
for (let elem of iframely) {
let url_dom = elem.querySelector('[data-iframely-url]');
if (url_dom) {
let iframe = document.createElement('iframe');
iframe.src = url_dom.getAttribute('data-iframely-url');
iframe.style = 'width: 100%; height: 400px;';
elem.parentNode.replaceChild(iframe, elem);
}
}
let article_top;
if (!no_intro) {
article_top = article.parentNode.parentNode;
removeDOMElement(article.parentNode);
} else
article_top = article;
article_top.appendChild(content_new.querySelector('div'));
} else {
refreshCurrentTab();
}
}
}
let ads = 'div[class*="ads_type_"]';
hideDOMStyle(ads);
}
else if (matchDomain('automobilwoche.de')) {
let body_hidden = document.querySelector('body[class]');
if (body_hidden)
body_hidden.removeAttribute('class');
let lazy_images = document.querySelectorAll('img.lazy[data-src]');
for (let elem of lazy_images) {
elem.src = elem.getAttribute('data-src');
elem.removeAttribute('class');
}
let lazy_sources = document.querySelectorAll('source[srcset^="data:image"]');
removeDOMElement(...lazy_sources);
}
else if (matchDomain(['beobachter.ch', 'handelszeitung.ch'])) {
let paywall = document.querySelector('div#piano-inlined');
if (paywall && dompurify_loaded) {
removeDOMElement(paywall);
let json_script = document.querySelector('script#hydrationdata');
if (json_script) {
try {
let json = JSON.parse(json_script.text);
if (json) {
let url_id = json_script.text.includes('"gcid":"') ? json_script.text.split('"gcid":"')[1].split('"')[0] : '';
if (url_id && !window.location.pathname.endsWith(url_id))
refreshCurrentTab();
let pars = json.state;
let paragraphs = document.querySelectorAll('div.paragraph');
let article = paragraphs[0];
if (article) {
article.setAttribute('class', 'paragraph text-paragraph');
for (let paragraph of paragraphs)
paragraph.innerHTML = '';
let parser = new DOMParser();
for (let par in pars) {
let par_elem = pars[par];
let elem = document.createElement('div');
elem.style = 'font-size: 1.7rem; margin: 25px;';
let sub_elem = '';
if (par_elem.__typename === 'TextParagraph' && par_elem.text) {
let content_new = parser.parseFromString('
' + DOMPurify.sanitize(par_elem.text) + '
', 'text/html');
sub_elem = content_new.querySelector('div');
} else if (par_elem.__typename === 'EmbedParagraph' && par_elem.embedCode) {
let content_new = parser.parseFromString('
', 'text/html');
sub_elem = content_new.querySelector('div');
let iframe = sub_elem.querySelector('iframe[width]');
if (iframe) {
let ratio = iframe.width / (mobile ? 320 : 640);
iframe.width = iframe.width / ratio;
iframe.height = iframe.height / ratio;
}
} else if (par_elem.__typename === 'ImageFile') {
if (par_elem.origin) {
sub_elem = document.createElement('img');
sub_elem.src = par_elem.origin;
sub_elem.alt = par_elem.alt;
if (par_elem.width) {
let ratio = par_elem.width / (mobile ? 320 : 640);
sub_elem.width = par_elem.width / ratio;
sub_elem.height = par_elem.height / ratio;
}
}
} else if (par_elem.__typename === 'Image') {
if (par_elem.credit) {
sub_elem = document.createElement('p');
sub_elem.appendChild(document.createTextNode(par_elem.credit));
}
} else if (par_elem.__typename === 'ImageParagraph') {
if (par_elem.caption) {
let content_new = parser.parseFromString('
' + DOMPurify.sanitize(par_elem.caption) + '
', 'text/html');
sub_elem = content_new.querySelector('div');
}
} else if (!['Article', 'Author', 'Channel', 'LandingPage', 'Query'].includes(par_elem.__typename)) {
console.log(par_elem);
}
if (sub_elem) {
elem.appendChild(sub_elem);
article.appendChild(elem);
}
}
}
}
} catch (err) {
console.log(err);
}
}
}
let ads = 'div.ad-wrapper, div[id^="apn-ad-slot-"]';
hideDOMStyle(ads);
}
else if (matchDomain('berliner-zeitung.de')) {
let ads = 'div[class^="traffective_"], div[class^="article_billboard-"], div[class*="_ad_"], div[class^="outbrain_"]';
hideDOMStyle(ads);
}
else if (matchDomain('bild.de')) {
func_post = function () {
if (mobile) {
let lazy_images = document.querySelectorAll('figure img[loading="lazy"][style]');
for (let elem of lazy_images) {
elem.style = 'width: 95%; margin: 10px;';
elem.parentNode.removeAttribute('style');
}
let header = document.querySelector('article > h2 > span:last-child');
if (header)
header.style = 'margin: 10px;';
let content = document.querySelector('article time ~ div');
if (content)
content.style = 'margin: 10px;';
}
let div_empty = document.querySelectorAll('div[style]');
for (let elem of div_empty)
if (!elem.innerText.length)
removeDOMElement(elem);
let article = document.querySelector('main > article');
if (article && article.innerText.length < 1000)
header_nofix('h2', '', 'BPC > no archive-fix');
}
let url = window.location.href;
getArchive(url, 'div.offer-module', '', 'article');
}
else if (matchDomain('boersen-zeitung.de')) {
window.setTimeout(function () {
let paywall = document.querySelector('storefront-section#paywall');
if (paywall && dompurify_loaded) {
removeDOMElement(paywall);
let url = window.location.href;
replaceDomElementExt(url, false, false, 'article');
}
}, 1000);
}
else if (matchDomain('cicero.de')) {
let url = window.location.href;
if (!window.location.search.match(/(\?|&)amp/)) {
let paywall = document.querySelector('.plenigo-paywall');
if (paywall && dompurify_loaded) {
removeDOMElement(paywall);
func_post = function () {
let related_images = document.querySelectorAll('amp-carousel a > amp-img[src]');
for (let elem of related_images) {
let img = document.createElement('img');
Object.assign(img, {
src: elem.getAttribute('src'),
height: elem.getAttribute('height'),
width: elem.getAttribute('width'),
alt: elem.getAttribute('alt')
});
elem.parentNode.replaceChild(img, elem);
}
let img_captions = document.querySelectorAll('div.carousel-caption:empty');
removeDOMElement(...img_captions);
}
let url_amp = url.split('?')[0] + '?amp';
replaceDomElementExt(url_amp, false, false, '.field-name-field-cc-body');
}
} else {
let teasered_content = document.querySelector('.teasered-content');
if (teasered_content)
teasered_content.classList.remove('teasered-content');
let teasered_content_fader = document.querySelector('.teasered-content-fader');
let btn_read_more = document.querySelector('.btn--read-more');
removeDOMElement(teasered_content_fader, btn_read_more);
let ads = 'amp-ad';
hideDOMStyle(ads);
}
let urban_ad_sign = document.querySelectorAll('.urban-ad-sign');
removeDOMElement(...urban_ad_sign);
}
else if (matchDomain('faz.net')) {
if (matchDomain('zeitung.faz.net')) { // legacy
let paywall_z = document.querySelector('div.c-red-carpet');
if (paywall_z) {
removeDOMElement(paywall_z);
let og_url = document.querySelector('head > meta[property="og:url"][content]');
if (og_url)
window.location.href = og_url.content;
else
header_nofix('div.article__text');
}
let sticky_advt = document.querySelector('div.sticky-advt');
removeDOMElement(sticky_advt);
} else {
let ads = 'div.lay-PaySocial, div.iqadtile_wrapper, div.iqdcontainer';
hideDOMStyle(ads);
}
}
else if (matchDomain('freitag.de')) {
let paywall = document.querySelector('aside.qa-paywall');
if (paywall) {
removeDOMElement(paywall);
let related = document.querySelector('div.c-teaser-plus-related--paywall');
if (related)
related.classList.remove('c-teaser-plus-related--paywall');
let article = document.querySelector('div.bo-article-text');
if (article) {
let json_script = getArticleJsonScript();
if (json_script) {
let json = JSON.parse(json_script.text);
if (json) {
let json_text = breakText_headers(json.articleBody);
let pars = json_text.split(/\n\n/g);
if (json_text) {
article.innerHTML = '';
for (let par of pars) {
if (!par.startsWith('Placeholder ')) {
let par_new = document.createElement('p');
par_new.innerText = par;
article.appendChild(par_new);
}
}
}
}
} else {
let hidden_article = document.querySelector('div.o-paywall');
if (hidden_article) {
let par_first = true;
let pars = breakText_headers(hidden_article.innerText).split(/\n\n/g);
for (let par of pars) {
let par_new = document.createElement('p');
let overlap = '';
if (par_first) {
let intro = article.querySelectorAll('p');
let intro_last = intro[intro.length - 1];
par = par.trim();
overlap = findOverlap(intro_last.innerText, par);
if (overlap)
intro_last.innerText = intro_last.innerText.replace(new RegExp(overlap + '$'), '') + par;
par_first = false;
}
if (!overlap && !par.startsWith('Placeholder ')) {
par_new.innerText = par;
article.appendChild(par_new);
}
}
}
}
}
}
}
else if (matchDomain('handelsblatt.com')) {
let paywall = document.querySelector('app-paywall');
if (paywall) {
removeDOMElement(paywall);
let article = document.querySelector('article');
if (article) {
let url = window.location.href;
article.after(googleSearchToolLink(url));
header_nofix('article', '', 'BPC > refresh page');
}
}
window.localStorage.removeItem('HB.METERING');
let related_topics = document.querySelector('app-storyline-related-topics');
let overlay = document.querySelector('div[id^="sp_message_container_"]');
removeDOMElement(overlay, related_topics);
let noscroll = document.querySelector('html[class]');
if (noscroll)
noscroll.removeAttribute('class');
let charts = document.querySelectorAll('iframe[name^="iframe-"][loading][src*="grafik.handelsblatt.com"]');
for (let elem of charts) {
elem.style = 'height: 1000px;';
elem.removeAttribute('loading');
elem.scrolling = 'yes';
}
}
else if (matchDomain('heise.de')) {
func_post = function () {
header_nofix('article', paywall_sel, 'BPC > no archive-fix');
}
let paywall_sel = 'a-gift:not([has-access])';
let url = window.location.href;
getArchive(url, paywall_sel, '', 'article');
let ads = 'div.ad-ldb-container, div.inread-cls-reduc';
hideDOMStyle(ads);
}
else if (matchDomain('jacobin.de')) {
let paywall = pageContains('h3.m-auto', 'Dieser Artikel ist nur mit Abo zugänglich.');
if (paywall.length) {
let slash = document.querySelector('div.slash');
removeDOMElement(paywall[0].parentNode, slash);
let json_script = document.querySelector('script#__NEXT_DATA__');
if (json_script) {
try {
let json = JSON.parse(json_script.text);
if (json && json.props.pageProps.sections && json.props.pageProps.sections[1].content) {
let url_next = json.query.slug;
if (url_next && !window.location.pathname.includes(url_next))
refreshCurrentTab();
let pars = json.props.pageProps.sections[1].content;
let first_par = document.querySelector('body > div#__next p.bodyText');
if (first_par) {
let par_class = first_par.getAttribute('class');
let article = first_par.parentNode;
if (article) {
let add_par = false;
for (let par of pars) {
if (!add_par) {
if (par.type === 'paywall')
add_par = true;
} else {
if (par.text) {
let elem_type = 'p';
let elem_class = par_class;
let elem_style;
if (['paragraph', 'quote'].includes(par.type)) {
if (par.type === 'quote')
elem_style = 'font-size: 36px; font-weight: bold;';
} else if (par.type === 'header') {
elem_type = 'h2';
elem_class = 'content-element font-headline h2 my-1em';
}
let content = par.text.replace(/ /g, '');
let parser = new DOMParser();
let content_new = parser.parseFromString('<' + elem_type + ' class="' + elem_class + (elem_style ? '" style="' + elem_style : '') + '">' + DOMPurify.sanitize(content) + '' + elem_type + 'p>', 'text/html');
article.appendChild(content_new.querySelector(elem_type));
} else
console.log(par);
}
}
}
}
}
} catch (err) {
console.log(err);
}
}
}
}
else if (matchDomain('krautreporter.de')) {
let paywall = document.querySelector('.js-article-paywall');
if (paywall) {
removeDOMElement(paywall);
window.setTimeout(function () {
let paywall_divider = document.querySelector('.js-paywall-divider');
let steady_checkout = document.querySelector('#steady-checkout');
removeDOMElement(paywall_divider, steady_checkout);
let blurred = document.querySelectorAll('.blurred');
for (let elem of blurred)
elem.classList.remove('blurred', 'json-ld-paywall-marker', 'hidden@print');
}, 500);
}
}
else if (matchDomain(['ksta.de', 'rundschau-online.de'])) {
function unhide_article(node) {
removeDOMElement(node);
let article = document.querySelector('div[data-article-content][style]');
if (article)
article.removeAttribute('style');
}
waitDOMElement('div[data-type="paywall"]', 'DIV', unhide_article, true);
csDoneOnce = true;
let banners = 'div.dm-slot, div.dm-zephr-banner';
hideDOMStyle(banners);
}
else if (matchDomain('kurier.at')) {
let paywall = document.querySelector('div#cfs-paywall-container');
if (paywall) {
removeDOMElement(paywall);
let div_hidden = document.querySelector('div.paywall');
if (div_hidden) {
div_hidden.classList.remove('paywall');
div_hidden.removeAttribute('style');
}
}
let ads = 'div[data-ad], div[data-outbrain]';
hideDOMStyle(ads);
}
else if (matchDomain('mopo.de')) {
getJsonUrl('div#paywall', '', 'div.paywall-fade');
}
else if (matchDomain('motorradonline.de')) {
if (window.location.pathname.endsWith('/amp/'))
ampToHtml();
}
else if (matchDomain(['noz.de', 'shz.de'])) {
let url = window.location.href;
getArchive(url, 'div.paywall', '', 'article');
let ads = 'div.ad_label';
hideDOMStyle(ads);
}
else if (matchDomain('nw.de')) {
let paywall = document.querySelector('div#paywall');
if (paywall) {
paywall.removeAttribute('id');
let json_script = getArticleJsonScript();
if (json_script) {
let json = JSON.parse(json_script.text);
if (json) {
let json_text = parseHtmlEntities(json.articleBody.replace(/\n/g, '\n\n').replace(/\.responsive[-@%{}()\.:;\w\s]+}\s?}/g, ''));
let article = paywall.querySelector('div[class*="paywall-overlay"]');
if (json_text && article)
article.innerText = json_text;
}
}
}
}
else if (matchDomain('nwzonline.de')) {
let ads = 'div.adslot';
hideDOMStyle(ads);
}
else if (matchDomain(['nzz.ch', 'themarket.ch'])) {
let fade = document.querySelectorAll('.nzzinteraction');
for (let elem of fade)
elem.classList.remove('nzzinteraction');
let ads = 'div.resor';
hideDOMStyle(ads);
}
else if (matchDomain('philomag.de')) {
let paywall = document.querySelector('div[id^="block-paywall"]');
if (paywall) {
removeDOMElement(paywall);
let json_script = getArticleJsonScript();
if (json_script) {
let json = JSON.parse(json_script.text);
if (json) {
let json_text = json.articlebody.replace(/%paywall%/g, '').replace(/(\\r)?\\n/g, '
');
let content = document.querySelector('div.content-center > div.description');
if (json_text && content) {
content.innerHTML = '';
let article_new = document.createElement('p');
article_new.innerText = json_text;
content.appendChild(article_new);
}
}
}
}
}
else if (matchDomain('profil.at')) {
let paywall = document.querySelector('div.paywall');
if (paywall) {
paywall.removeAttribute('class');
paywall.removeAttribute('style');
let fade = 'div#cfs-paywall-container';
hideDOMStyle(fade);
}
let overlay = 'div.consentOverlay';
hideDOMStyle(overlay, 2);
}
else if (matchDomain('rheinpfalz.de')) {
let ads = 'div.nfy-banner';
hideDOMStyle(ads);
}
else if (matchDomain('schweizermonat.ch')) {
getJsonUrl('div.entry-paywall-login', '', 'div.entry-main > div.entry__post-content');
}
else if (matchDomain('spektrum.de')) {
let paywall = document.querySelector('article.pw-premium');
if (paywall)
paywall.classList.remove('pw-premium');
}
else if (matchDomain(['spiegel.de', 'manager-magazin.de'])) {
let url = window.location.href;
func_post = function () {
let failed_iframes = document.querySelectorAll('div > div[x-show="!iframeIsLoaded"]');
for (let elem of failed_iframes)
hideDOMElement(elem.parentNode);
let body_dark = document.querySelector('body[class*="dark:"]');
if (body_dark)
removeClassesByPrefix(body_dark, 'dark:');
let charts = document.querySelectorAll('section div[x-data*="{isLoaded:"]');
for (let elem of charts)
elem.style.height = elem.offsetHeight + 'px';
if (mobile) {
let lazy_images = document.querySelectorAll('picture img[loading="lazy"][style]');
for (let elem of lazy_images)
elem.style = 'width: 95%;';
}
header_nofix('article', 'svg[id*="-plus-paywall-"]', 'BPC > no archive-fix');
}
getArchive(url, 'div[data-area="paywall"]', '', 'article');
}
else if (matchDomain('springermedizin.de')) {
let paywall = document.querySelector('div#pay-wall');
if (paywall) {
removeDOMElement(paywall);
let json_script = getArticleJsonScript();
if (json_script) {
let json = JSON.parse(json_script.text);
if (json) {
let json_text = json.articleBody;
let article = document.querySelector('div > p.intro--paragraph');
if (json_text && article) {
let article_new = document.createElement('p');
article_new.innerText = json_text;
article.parentNode.replaceChild(article_new, article);
}
}
}
}
}
else if (matchDomain('sueddeutsche.de')) {
let url = window.location.href;
if (matchDomain('sz-magazin.sueddeutsche.de')) {
func_post = function () {
header_nofix('main', 'div#sz-paywall', 'BPC > no archive-fix');
}
getArchive(url, 'div.articlemain__inner--reduced', {rm_class: 'articlemain__inner--reduced'}, 'main');
} else if (window.location.pathname.startsWith('/projekte/artikel/')) {
func_post = function () {
let lazy_images = document.querySelectorAll('img[loading="lazy"][style*="min-width:"]');
for (let elem of lazy_images)
elem.style = 'width: 80%; margin: auto;';
let sticky = document.querySelectorAll('div > div > div[old-position="sticky"]');
for (let elem of sticky) {
let div_hidden = elem.parentNode.parentNode.querySelector('div[style^="display:none;"]');
if (div_hidden)
div_hidden.removeAttribute('style');
removeDOMElement(elem.parentNode);
}
if (intro) {
let intro_old = document.querySelector(intro_sel);
if (intro_old && intro_old.parentNode)
intro_old.parentNode.replaceChild(intro, intro_old);
}
header_nofix('main', 'div#sz-paywall', 'BPC > no archive-fix');
}
let intro_sel = 'section#module-0';
let intro = document.querySelector(intro_sel);
getArchive(url, 'div.offer-page', '', 'main');
} else {
let paywall = document.querySelector('head > meta[content="locked"]');
if (paywall && dompurify_loaded) {
removeDOMElement(paywall);
let article_sel = 'div[itemprop="articleBody"]';
let article = document.querySelector(article_sel);
if (article) {
let json_script = document.querySelector('script[data-hydration-props-component-name="ArticleBodyDDRum"]');
if (json_script) {
try {
let json = JSON.parse(decodeURIComponent(json_script.text));
if (json) {
let pars = json.uiArticleContent;
if (pars.length) {
article.innerHTML = '';
addStyle(article_sel + ' p {margin-bottom: 32px;}');
}
let parser = new DOMParser();
for (let par of pars) {
let elem = document.createElement('p');
if (['paragraph', 'datawrapper', 'youtube'].includes(par.component)) {
if (par.content && par.content.html) {
let elem_type = par.content.html.startsWith('
') ? 'div' : 'p';
let content_new = parser.parseFromString('<' + elem_type + '>' + DOMPurify.sanitize(parseHtmlEntities(par.content.html), dompurify_options) + '' + elem_type + '>', 'text/html');
let iframe = content_new.querySelector('iframe');
if (iframe)
iframe.style = 'width: 100%; height: 400px; margin-bottom: 32px;';
elem = content_new.querySelector(elem_type);
}
} else if (par.component === 'subheading') {
if (par.content && par.content.text) {
elem.innerText = par.content.text;
elem.style = 'font-weight: bold;';
}
} else if (par.component === 'image') {
if (par.content && par.content.image) {
let caption = par.content.caption ? par.content.caption.html + ' (Foto: ' + par.content.imageSource + ')' : '';
let sub_elem = makeFigure(par.content.image.url, caption);
elem.appendChild(sub_elem);
}
} else if (!(['articleHeader', 'articleTeaserM', 'newsletterEmbed'].includes(par.component) || par.component.startsWith('iqadtile')))
console.log(par);
if (elem.hasChildNodes())
article.appendChild(elem);
}
}
} catch (err) {
console.log(err);
}
}
}
}
}
let ads = 'er-ad-slot, div.iqdcontainer';
hideDOMStyle(ads);
}
else if (matchDomain('suedkurier.de')) {
let url = window.location.href;
getArchive(url, 'aside.article-paywall', '', 'main > article');
}
else if (matchDomain('t3n.de')) {
let paywall = document.querySelector('div.c-paywall__wrapper');
if (paywall) {
removeDOMElement(paywall);
let json_script = getArticleJsonScript();
if (json_script) {
let json = JSON.parse(json_script.text);
if (json) {
let json_text = json.articleBody;
if (json_text.includes('[embed]'))
json_text = json_text.replace(/\[embed\]([^\[]+)\[\/embed\]/g, '$1\n');
json_text = json_text.replace(/\[[^\]]+\]/g, '');
let article = document.querySelector('div.paywall-blur > p');
if (json_text && article) {
article.innerText = parseHtmlEntities(json_text);
article.parentNode.removeAttribute('class');
}
}
}
}
}
else if (matchDomain('tagesspiegel.de')) {
let paywall_sel = 'div#paywall';
let url = window.location.href;
if (matchDomain('www.tagesspiegel.de')) {
func_post = function () {
let opinionary = document.querySelector('div > div#opinary-automation-placeholder');
if (opinionary)
hideDOMElement(opinionary.parentNode);
if (mobile) {
let lazy_images = document.querySelectorAll('figure img[loading="lazy"][style]');
for (let elem of lazy_images)
elem.style = 'width: 95%;';
}
}
getArchive(url, paywall_sel, '', 'div#story-elements');
} else if (matchDomain('interaktiv.tagesspiegel.de')) {
let paywall = document.querySelector(paywall_sel);
if (paywall) {
removeDOMElement(paywall);
let article = document.querySelector('div.tslr-article > p');
if (article)
article.firstChild.before(archiveLink(url));
}
}
let ads = 'div.iqdcontainer';
hideDOMStyle(ads);
}
else if (matchDomain('tt.com')) {
window.setTimeout(function () {
let paywall = document.querySelector('div#piano-logwall');
if (paywall && dompurify_loaded) {
removeDOMElement(paywall);
let article = document.querySelector('div[data-io-article-url]');
if (article) {
let json_script = document.querySelector('script#tt-com-www-state');
if (json_script) {
try {
let json_articles = JSON.parse(json_script.text).TT_COM_WWW_GLOBAL_STATE.articles;
let json_article_id = json_articles.ids[0];
if (!json_article_id || (json_article_id && !window.location.pathname.includes(json_article_id)))
refreshCurrentTab();
let parser = new DOMParser();
let pars = json_articles.entities[json_article_id].articleData.article.elements;
for (let par of pars) {
let elem;
if (['body', 'subheadline1'].includes(par.type)) {
if (par.content) {
let doc = parser.parseFromString('
', 'text/html');
let article_new = doc.querySelector('div');
article.innerHTML = '';
article.parentNode.replaceChild(article_new, article);
}
function fetch_data(limit, offset = 0) {
let url_src = 'https://www.jeuneafrique.com/api/mobile/v6.0/featured/?limit=' + limit + '&offset=' + offset;
fetch(url_src, {headers: {"x-exp": cs_param["x-exp"] || "1741079242710", "x-sig": cs_param["x-sig"] || "b431724e94023a6969c5427133e1614db2cbe90e"}})
.then(response => {
if (response.ok) {
response.json().then(json => {
try {
let src_articles = json.articles;
if (src_articles) {
let src_article = src_articles.filter(x => x.id == article_id)[0];
let ls_update = true;
if (src_article)
show_data(article, src_article.content_full);
else if (limit === limit_low) {
ls_update = false;
fetch_data(limit_high);
} else
header_nofix(article, '', 'BPC > no fix (source file)');
if (ls_update) {
let now_date = (new Date()).toISOString().split('T')[0];
if (!ls_date || limit > limit_low || now_date > ls_date)
ls_json_articles = {};
for (let art of src_articles)
ls_json_articles[art.id] = art.content_full;
localStorage.setItem('###_json_date', now_date);
localStorage.setItem('###_json', JSON.stringify(ls_json_articles));
}
}
} catch (err) {
console.log(err);
}
})
}
}).catch(x => header_nofix(article, '', 'BPC > no fix (source file)'))
}
let json_date;
let json_script = document.querySelector('script[type="application/ld+json"]');
if (json_script) {
try {
let json = JSON.parse(json_script.text);
if (json && json['@graph']) {
let date_arr = json['@graph'].filter(x => x.datePublished);
if (date_arr.length)
json_date = date_arr[0].datePublished;
}
} catch (err) {
console.log(err);
}
}
let art_date = '';
if (json_date)
art_date = json_date.split('T')[0];
let ls_date = localStorage.getItem('###_json_date') || '';
let ls_json_articles = {};
if (ls_date) {
let ls_articles = localStorage.getItem('###_json');
ls_json_articles = JSON.parse(ls_articles);
if (ls_date < art_date)
fetch_data(limit_low);
else {
let art_data = ls_json_articles[article_id];
if (art_data)
show_data(article, art_data);
else if (Object.keys(ls_json_articles).length <= limit_low)
fetch_data(limit_high);
else
header_nofix(article, '', 'BPC > no fix (source file)')
}
} else {
fetch_data(limit_low);
}
}
}
let ads = 'div.banner-ad, div.box-ad-brand';
hideDOMStyle(ads);
}
else if (matchDomain('journaldunet.com')) {
let reg_wall = document.querySelector('div.reg_wall');
removeDOMElement(reg_wall);
let entry_reg_wall = document.querySelector('div.entry_reg_wall[style]');
if (entry_reg_wall)
entry_reg_wall.removeAttribute('style');
}
else if (matchDomain('la-croix.com')) {
if (!window.location.hostname.startsWith('amp')) {
let ads = 'div[class^="ads-wrapper-"]';
hideDOMStyle(ads);
} else {
let paywall_block = '#paywall_block';
hideDOMStyle(paywall_block);
}
}
else if (matchDomain('lanouvellerepublique.fr')) {
let ads = 'aside.dfp';
hideDOMStyle(ads);
}
else if (matchDomain('lecourrierdesstrateges.fr')) {
window.setTimeout(function () {
let paywall = document.querySelector('div.jpw-truncate-btn');
if (paywall && dompurify_loaded) {
removeDOMElement(paywall);
let json_script = getArticleJsonScript();
if (json_script) {
let json = JSON.parse(json_script.text);
if (json) {
let json_text = json.articleBody;
let content = document.querySelector('div.content-inner');
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.parentNode.replaceChild(content_new, content);
let hidden_images = document.querySelectorAll('img[src][srcset]');
for (let elem of hidden_images)
elem.removeAttribute('srcset');
let entry_content = document.querySelector('div.entry-content[style]');
if (entry_content)
entry_content.removeAttribute('style');
}
}
}
}
}, 500);
}
else if (matchDomain('lefigaro.fr')) {
let paywall = document.querySelector('div#fig-premium-paywall');
if (paywall && dompurify_loaded) {
removeDOMElement(paywall);
let article = document.querySelector('div[data-component="fig-content-body"]');
if (article) {
let resource_key = cs_param.resource_key || '34e68a3419a876e36729503e2107dfa556e1a105892e27010130a30018ccbe60';
let url = window.location.href.split([/\?#/])[0];
let url_src = 'https://api-graphql.lefigaro.fr/graphql?id=FigaroCoreMobile_resourceByUrl_persistent_' + resource_key + '&variables={%22url%22:%20%22' + url + '%22}';
fetch(url_src)
.then(response => {
if (response.ok) {
response.json().then(json => {
try {
let pars = json.data.resource.body.structured;
if (pars.length)
article.innerHTML = '';
let parser = new DOMParser();
for (let par of pars) {
let elem;
let sub_elem;
let par_type = par.__typename;
if (['Heading', 'Paragraph', 'ParagraphWithPaywall'].includes(par_type)) {
if (par.paywall)
par = par.paywall;
if (par.text.replace(/ /g, '')) {
let doc = parser.parseFromString('
', 'text/html');
let article_new = doc.querySelector('div');
let error_iframes = article_new.querySelectorAll('iframe[allow*="fullscreen"][allowfullscreen]');
for (let iframe of error_iframes)
iframe.removeAttribute('allowfullscreen');
if (article.parentNode && article_new) {
article.parentNode.replaceChild(article_new, article);
let article_lastnode = document.querySelector('.post-paywall > :last-child');
if (article_lastnode) {
article_lastnode.setAttribute('style', 'height: auto !important; overflow: hidden !important; max-height: none !important;');
}
}
}
let styleElem = document.head.appendChild(document.createElement('style'));
styleElem.innerText = ".post-paywall::after {height: auto !important;}";
}
} catch (err) {
console.log(err);
}
}
}
let ads = 'div.sc-1u9r8h-0';
hideDOMStyle(ads);
}, 500);
}
}
else if (matchDomain('lesinrocks.com')) {
if (window.location.search.match(/(\?|&)amp/)) {
let size_defined = document.querySelector('amp-script.i-amphtml-layout-size-defined');
if (size_defined)
size_defined.style = 'overflow:visible !important;';
let overlays = document.querySelectorAll('section.learn_more, div.sidebar, div.menu-footer, div.tooltip_bib, footer.content-info');
removeDOMElement(...overlays);
}
}
else if (matchDomain('letelegramme.fr')) {
let paywall = document.querySelectorAll('div.tlg-paywalled');
for (let elem of paywall)
elem.classList.remove('tlg-paywalled');
let ads = 'div[id^="pub_"]';
hideDOMStyle(ads);
}
else if (matchDomain('lexpress.fr')) {
let ads = 'div[class^="block_pub"], div[class^="bottom-bar"], div.teads__block, div.ban-bottom, div[class^="placeholder--ban-atf"]';
hideDOMStyle(ads);
}
else if (matchDomain('liberation.fr')) {
let paywall_sel = cs_param.paywall_sel || 'div.article-body-paywall';
let paywall = document.querySelector(paywall_sel);
if (paywall && dompurify_loaded) {
removeDOMElement(paywall);
let article_sel = 'main > div > article';
let article = cs_param.article_sel || document.querySelector(article_sel);
if (article) {
let url_src = 'https://arc.api.liberation.fr/content/v4/?website=liberation&website_url=' + encodeURIComponent(window.location.pathname);
let x_api_key = cs_param['x-api-key'] || 'ejeePeingeitaegho3weengeeyohpu';
fetch(url_src, {headers: {"x-api-key": x_api_key}})
.then(response => {
if (response.ok) {
response.json().then(json => {
if (json && json.content_elements) {
let pars = json.content_elements;
if (pars.length)
article.innerHTML = '';
let parser = new DOMParser();
for (let par of pars) {
let elem = document.createElement('p');
let sub_elem;
if (['header', 'raw_html', 'text'].includes(par.type)) {
if (par.content) {
let doc = parser.parseFromString('
', 'text/html');
let article_new = doc.querySelector('div');
let pars = article_new.querySelectorAll('p');
for (let par of pars)
par.style = 'margin: 10px 0px;';
let placeholders = article_new.querySelectorAll('div.TeaserImage__placeholder');
for (let elem of placeholders)
elem.removeAttribute('class');
let media = article_new.querySelectorAll('div.NewsletterForm, div.DetailArticleVideo');
removeDOMElement(...media);
let twitter_quotes = article_new.querySelectorAll('blockquote.twitter-tweet > a[href]');
for (let elem of twitter_quotes) {
if (!elem.innerText) {
elem.innerText = elem.href;
elem.target = '_blank';
}
}
if (mobile) {
let art_images = article_new.querySelectorAll('div.DetailArticleImage > div > img');
for (let elem of art_images)
elem.style.width = '95%';
}
let error_iframes = article_new.querySelectorAll('iframe[allow*="fullscreen"][allowfullscreen]');
for (let iframe of error_iframes)
iframe.removeAttribute('allowfullscreen');
div_main.appendChild(article_new);
}
let window_script = document.querySelector('script#scr-tlg-body');
if (window_script && window_script.text.includes('window.telegraaf.articleBodyBlocks')) {
removeDOMElement(paywall);
let window_text = window_script.text.split('window.telegraaf.articleBodyBlocks')[1];
if (window_text)
show_text(window_text, div_main);
} else {
removeDOMElement(paywall);
let url = window.location.href.split(/[#\?]/)[0];
fetch(url)
.then(response => {
if (response.ok) {
response.text().then(html => {
if (html.includes('window.telegraaf.articleBodyBlocks')) {
let window_text = html.split('window.telegraaf.articleBodyBlocks')[1].split('')[0];
if (window_text)
show_text(window_text, div_main);
}
})
}
})
}
article.after(div_main);
}
let ads = 'div.WebpushOptin, div[data-ad-position]';
hideDOMStyle(ads);
}
else if (matchDomain('tijd.be')) {
if (matchDomain('belegger.tijd.be')) {
let noscroll = document.querySelector('body.js-overflow-hidden');
if (noscroll)
noscroll.classList.remove('js-overflow-hidden');
let inert = document.querySelectorAll('[inert]');
for (let elem of inert)
elem.removeAttribute('inert');
let banners = document.querySelectorAll('div[class^="paywall-banner__"]');
removeDOMElement(...banners);
} else {
let paywall = document.querySelector('html.paywall-active');
if (paywall) {
paywall.classList.remove('paywall-active');
let popup = document.querySelector('div[data-id="react-paywall-auth0"]');
removeDOMElement(popup);
}
let overlay = document.querySelector('body[style]');
if (overlay)
overlay.removeAttribute('style');
}
}
else if (matchDomain('vn.nl')) {
window.setTimeout(function () {
let paywall = document.querySelectorAll('section[class^="c-paywall"]');
if (paywall.length && dompurify_loaded) {
removeDOMElement(...paywall);
let article = document.querySelector('div.c-article-content__container');
if (article) {
let json_script = document.querySelector('script#__NEXT_DATA__');
if (json_script) {
try {
let json = JSON.parse(json_script.text);
if (json && json.props.pageProps.article && json.props.pageProps.article.content) {
let parser = new DOMParser();
let doc = parser.parseFromString('
', 'text/html');
let article_new = doc.querySelector('div');
let pars = article_new.querySelectorAll('p.rte-p');
for (let par of pars)
par.style = 'margin: 20px 0px;';
article.appendChild(article_new);
}
}
} catch (err) {
console.log(err);
}
}
}
}
}
else if (matchDomain('fastcompany.com')) {
let paywall = document.querySelector('div.paywall');
if (paywall && dompurify_loaded) {
removeDOMElement(paywall);
let filter = /\\"content\\":\[/;
let json_script = getSourceJsonScript(filter, ':not([id], [src], [type])');
if (json_script) {
try {
let json = JSON.parse('[' + json_script.text.split(filter)[1].split(/\],\\"/)[0].replace(/\\\\\\"/g, '\\"').replace(/(\[|,)\\"/g, '$1"').replace(/\\"(\]|,)/g, '"$1').replace(/\\\\n/g, '') + ']');
if (json) {
let article = document.querySelector('article');
if (article) {
article.innerHTML = '';
article.className = 'article-container';
let parser = new DOMParser();
for (let pars of json)
for (let par of pars) {
if (!par.match(/^\$\w{2}$/)) {
let content_new = parser.parseFromString('
', 'text/html');
let content_new = doc.querySelector('div');
content.innerHTML = '';
content.appendChild(content_new);
}
} catch (err) {
console.log(err);
}
});
}
});
}
}
}
else if (matchDomain('stocknews.com')) {
let hideme = document.querySelector('div#hideme');
removeDOMElement(hideme);
let blurmes = document.querySelectorAll('div[id^="blurme"]');
for (let i = 0; i < blurmes.length; i++)
blurmes[i].setAttribute('id', 'blurmenot' + i);
}
else if (matchDomain('study.com')) {
let faded_content = document.querySelector('div.faded-content');
if (faded_content)
faded_content.removeAttribute('class');
let div_hidden = document.querySelector('div.hidden[ng-non-bindable]');
if (div_hidden)
div_hidden.removeAttribute('class');
let banners = document.querySelectorAll('div.article-cutoff-div');
removeDOMElement(...banners);
}
else if (matchDomain('swarajyamag.com')) {
if (!window.location.pathname.startsWith('/amp/')) {
let paywall = pageContains('h2', /Please Sign In To Continue Reading/);
let amphtml = document.querySelector('head > link[rel="amphtml"]');
if (paywall.length) {
removeDOMElement(...paywall);
if (amphtml)
amp_redirect_not_loop(amphtml);
}
}
}
else if (matchDomain('techinasia.com')) {
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);
}
else if (matchDomain(['techtarget.com', 'computerweekly.com', 'lemagit.fr'])) {
let paywall = document.querySelector('div.paywall');
if (paywall) {
paywall.classList.remove('paywall');
let banners = document.querySelectorAll('p#firstP, div#inlineRegistrationWrapper');
removeDOMElement(...banners);
}
}
else if (matchDomain('tempo.co')) {
let paywall = document.querySelector('div.bg-black > div > img[src="/_ipx/_/icons/paywallatas.svg"]');
if (paywall && dompurify_loaded) {
removeDOMElement(paywall.parentNode.parentNode);
let article_hidden = document.querySelector('article > div:not([class]) div.overflow-hidden');
if (article_hidden)
article_hidden.removeAttribute('class');
let article = document.querySelector('div#content-wrapper');
if (article) {
let json_script = document.querySelector('script#__NUXT_DATA__');
if (json_script) {
try {
let json = JSON.parse(json_script.text);
if (json) {
let article_index = json.indexOf('published') + 2;
if (article_index) {
let parser = new DOMParser();
for (let i = article_index; i < article_index + 50; i++) {
let par = json[i];
if (par && typeof par === 'string' && par.match(/^<(p|div)/)) {
let doc = parser.parseFromString(DOMPurify.sanitize(par, dompurify_options), 'text/html');
let par_new = doc.querySelector('p, div');
article.appendChild(par_new);
} else if (!Array.isArray(par))
console.log(par);
else
break;
}
}
}
} catch (err) {
console.log(err);
}
}
}
}
let ads = 'div.ads';
hideDOMStyle(ads);
}
else if (matchDomain('texasmonthly.com')) {
let ads = 'div.promo-in-body';
hideDOMStyle(ads);
}
else if (matchDomain('the-american-interest.com')) {
let counter = document.getElementById('article-counter');
removeDOMElement(counter);
}
else if (matchDomain('the-scientist.com')) {
let paywall = document.querySelector('div.paywall');
if (paywall) {
paywall.classList.remove('paywall');
let fader = document.querySelector('div.gated-fader');
let modal = document.querySelector('div#Modal');
removeDOMElement(fader, modal);
}
}
else if (matchDomain('theamericanconservative.com')) {
let paywall_sel = 'section.c-blog-post__body--locked';
let paywall = document.querySelector(paywall_sel);
if (paywall) {
let art_options = {
art_append: 1,
func_text: function (json_text) {
if (json_text.includes('
')) {
let split = json_text.split(/(
)/);
json_text = split[1] + split[2];
};
return json_text;
}
};
getJsonUrl(paywall_sel, {rm_class: 'c-blog-post__body--locked'}, 'div.c-blog-post__content', art_options);
} else {
let img_dark = document.querySelector('div.c-hero-article__image-img.o-image');
if (img_dark)
img_dark.removeAttribute('class');
}
let modal = document.querySelector('div#emailsub-modal');
removeDOMElement(modal);
let noscroll = document.querySelector('body.modal-open');
if (noscroll)
noscroll.classList.remove('modal-open');
}
else if (matchDomain('theamericanscholar.org')) {
getJsonUrl('div.ssagk-form', '', 'div.post_summary');
}
else if (matchDomain('theatlantic.com')) {
let banners = 'aside#paywall, div[class^="LostInventoryMessage_"]';
hideDOMStyle(banners);
}
else if (matchDomain('thebulletin.org')) {
getJsonUrl('div.article--cropped', '', 'div#body-copy', {art_append: 1});
}
else if (matchDomain('thedailybeast.com')) {
let paywall = document.querySelector('div.Body__paywall-container');
if (paywall) {
removeDOMElement(paywall);
let json_script = document.querySelector('script[displayName="initialState"]');
if (json_script) {
let json_str = json_script.text.substring(json_script.textContent.indexOf('{'));
try {
let json = JSON.parse(json_str);
if (json.body) {
let pars = json.body.sections;
let cards = json.body.cards;
if (pars) {
let mobile_doc = document.querySelector('div.Mobiledoc');
if (mobile_doc) {
let mobile_doc_text = mobile_doc.innerText.replace(/(\r|\n)/g, '');
for (let elem of pars) {
let par_elem = '';
if (elem[0] === 1) {
if (elem[1] === 'p') {
let par = '';
for (let part of elem[2])
par += part[3];
if (par && !mobile_doc_text.includes(par)) {
par_elem = document.createElement('p');
par_elem.innerText = par;
}
}
} else if (elem[0] === 10) {
if (cards && cards[elem[1]]) {
let card = cards[elem[1]];
if (card[0] === 'pt-image') {
par_elem = document.createElement('p');
let par_fig = makeFigure(card[1].url, card[1].title + ' ' + card[1].credit);
par_elem.appendChild(par_fig);
} else if (card[0] === 'pt-fancy-links-card') {
par_elem = document.createElement('p');
let par_link = document.createElement('a');
par_link.href = card[1].links;
par_link.innerText = card[1].linksData[0].long_headline;
par_elem.appendChild(par_link);
}
}
}
if (par_elem)
mobile_doc.appendChild(par_elem);
}
}
}
}
csDoneOnce = true;
} catch (err) {
console.log(err);
}
}
}
let ads = document.querySelectorAll('div > div.tdb-ads-block');
for (let ad of ads)
hideDOMElement(ad.parentNode);
}
else if (matchDomain('thediplomat.com')) {
if (matchDomain('magazine.thediplomat.com')) {
let article = document.querySelector('article > section.h-96');
if (article)
article.classList.remove('h-96');
let fade = 'aside.bg-gradient-to-b';
hideDOMStyle(fade, 2);
}
let ads = 'aside.td-ad-container--labeled, div[data-actirise]';
hideDOMStyle(ads);
}
else if (matchDomain('theglobeandmail.com')) {
let lazy_images = document.querySelectorAll('img[src^="data:image/"][data-src]');
for (let elem of lazy_images)
elem.src = elem.getAttribute('data-src');
let ads = 'div.c-ad--base';
hideDOMStyle(ads);
}
else if (matchDomain(['thehindu.com', 'thehindubusinessline.com'])) {
if (!window.location.pathname.endsWith('/amp/')) {
let counter = '#test';
let ads = 'div.ad, div.article-ad, div.dfp-ad, div#paywallbox, div[id^="piano-art-"]';
hideDOMStyle(counter + ', ' + ads);
} else {
let ads = '[class^="height"], [class^="advt"], [id^="piano"]';
hideDOMStyle(ads);
}
function hindu_main() {
if (window) {
window.Adblock = false;
window.isNonSubcribed = false;
}
}
insert_script(hindu_main);
}
else if (matchDomain('theimpression.com')) {
let paywall = document.querySelector('div#modalpostsubscribe');
if (paywall) {
let blureffect = document.querySelectorAll('div.blureffect');
for (let elem of blureffect)
elem.classList.remove('blureffect');
}
}
else if (matchDomain(['thejuggernaut.com', 'jgnt.co'])) {
let paywall = pageContains('div.font-mono', /(Read this article and many more by subscribing today|Join today to read the full story)/);
if (paywall.length) {
removeDOMElement(paywall[0].parentNode);
let json_script = document.querySelector('script#__NEXT_DATA__');
if (json_script) {
try {
let json = JSON.parse(json_script.text);
if (json && json.props.pageProps.post.fields) {
let url_next = json.query.slug;
if (url_next && !window.location.pathname.includes(url_next))
refreshCurrentTab();
let fields = json.props.pageProps.post.fields;
let pars = fields.fullText ? fields.fullText.content : fields.textEssay.fields.body.content;
window.setTimeout(function () {
let article = document.querySelector('div[class*="opacity-"]');
if (article) {
article.innerHTML = '';
article.removeAttribute('class');
let fade = document.querySelectorAll('div.bg-gradient-to-b');
for (let elem of fade)
elem.removeAttribute('class');
let modal = document.querySelector('div#headlessui-portal-root');
removeDOMElement(modal);
let par_first = true;
function attach_text(sub_item, elem) {
if (sub_item.value) {
let sub_elem = document.createElement('span');
sub_elem.innerText = sub_item.value;
if (sub_item.marks && sub_item.marks.length) {
let style = '';
for (let mark of sub_item.marks) {
if (mark.type === 'bold')
style += 'font-weight: bold;';
else if (mark.type === 'italic')
style += 'font-style: italic;';
else if (mark.type === 'underline')
style += 'text-decoration: underline;';
}
sub_elem.style = style;
}
elem.appendChild(sub_elem);
}
}
function attach_hyperlink(sub_item, elem) {
if (sub_item.content && sub_item.content[0] && sub_item.content[0].value && sub_item.data && sub_item.data.uri) {
let sub_elem = document.createElement('a');
sub_elem.href = sub_item.data.uri;
sub_elem.innerText = sub_item.content[0].value;
if (!matchUrlDomain(['thejuggernaut.com', 'jgnt.co'], sub_item.data.uri))
sub_elem.target = '_blank';
sub_elem.style = 'text-decoration: underline;';
elem.appendChild(sub_elem);
}
}
function attach_paragraph(par, elem) {
if (par.content && par.content.length) {
let span_elem = document.createElement('span');
for (let item of par.content) {
if (item.nodeType === 'text') {
attach_text(item, span_elem);
} else if (item.nodeType === 'hyperlink') {
attach_hyperlink(item, span_elem);
} else
console.log(item);
}
elem.appendChild(span_elem);
}
}
for (let par of pars) {
let elem = document.createElement('p');
if (par.nodeType.match(/^(paragraph|heading-\d)$/)) {
attach_paragraph(par, elem);
} else if (['blockquote'].includes(par.nodeType)) {
if (par.content && par.content.length) {
for (let item of par.content) {
if (item.nodeType === 'paragraph') {
elem.style = 'margin: 0px 20px; font-style: italic;';
attach_paragraph(item, elem);
} else
console.log(item);
}
}
} else if (par.nodeType === 'hr') {
elem.appendChild(document.createElement('hr'));
} else if (par.nodeType === 'embedded-asset-block') {
if (!par_first) {
if (par.data && par.data.target && par.data.target.fields) {
if (par.data.target.fields.file && par.data.target.fields.file.url) {
let figure = makeFigure(par.data.target.fields.file.url, par.data.target.fields.description);
elem.appendChild(figure);
}
}
} else
par_first = false;
} else if (par.nodeType === 'unordered-list') {
if (par.content && par.content.length) {
let ul = document.createElement('ul');
for (let item of par.content) {
if (item.nodeType === 'list-item') {
if (item.content) {
for (let sub_item_par of item.content) {
if (sub_item_par.nodeType === 'paragraph') {
let li = document.createElement('li');
attach_paragraph(sub_item_par, li);
ul.appendChild(li);
}
}
}
} else
console.log(item);
}
elem.appendChild(ul);
}
} else {
console.log(par);
}
if (elem.hasChildNodes()) {
article.appendChild(document.createElement('br'));
article.appendChild(elem);
}
}
}
}, 1000);
} else
refreshCurrentTab();
} catch (err) {
console.log(err);
}
}
}
}
else if (matchDomain('thelampmagazine.com')) {
let paywall = document.querySelector('div.paywall-gradient');
if (paywall) {
paywall.removeAttribute('class');
let banner = document.querySelector('section.p-8');
removeDOMElement(banner);
}
let login = document.querySelectorAll('a.js-login-modal-trigger');
for (let elem of login) {
elem.removeAttribute('class');
let url_search = '/search?q=' + elem.innerText.replace(/\s/g, '+');
elem.href = url_search;
elem.onclick = x => window.location.href = url_search;
}
}
else if (matchDomain('thenewatlantis.com')) {
let article_gated = document.querySelector('.article-gated');
if (article_gated)
article_gated.classList.remove('article-gated');
}
else if (matchDomain('thenewslens.com')) {
let paywall = document.querySelector('div.article-mask-box');
if (paywall) {
removeDOMElement(paywall);
let json_script = getArticleJsonScript();
if (json_script) {
let json = JSON.parse(json_script.text);
if (json) {
let json_text = json.articleBody;
let article = document.querySelector('section.article-body');
if (json_text && article) {
let article_text = article.innerText.replace(/\n/g, '');
let split = json_text.split('。');
for (let elem of split) {
if (!elem.includes('(function(') && !article_text.includes(elem)) {
let par_new = document.createElement('p');
par_new.innerText = elem + '。';
article.append(par_new);
}
}
}
}
}
}
}
else if (matchDomain('thepointmag.com')) {
let overlay = document.querySelectorAll('div.overlay, div#tpopup-');
removeDOMElement(...overlay);
}
else if (matchDomain('thequint.com')) {
window.setTimeout(function () {
let lock = document.querySelector('div > img[alt^="lock"]');
if (lock && dompurify_loaded) {
lock.removeAttribute('alt');
let paywall = document.querySelector('div#paywall-widget');
if (paywall) {
removeDOMElement(paywall);
let article = document.querySelector('div.story-element');
if (article) {
let article_new = getArticleQuintype();
if (article_new && article.parentNode)
article.parentNode.replaceChild(article_new, article);
}
}
let body_hidden = document.querySelector('div#story-body-wrapper');
if (body_hidden) {
body_hidden.removeAttribute('class');
body_hidden.removeAttribute('style');
}
function thequint_unhide(node) {
node.removeAttribute('style');
}
waitDOMAttribute('div#story-body-wrapper', 'DIV', 'style', thequint_unhide, true);
}
}, 4000);
}
else if (matchDomain('thespectator.com')) {
let div_hidden = document.querySelector('div.ev-meter-content-class');
if (div_hidden)
div_hidden.classList.remove('ev-meter-content-class');
}
else if (matchDomain('theweek.com')) {
let paywall = document.querySelector('div.kiosq-main-layer');
removeDOMElement(paywall);
let locker = document.querySelector('div.paywall-locker');
if (locker)
locker.classList.remove('paywall-locker');
}
else if (matchDomain('thewrap.com')) {
getJsonUrl('div#zephr-payment-form-root', '', 'div.entry-content', {art_append: 1});
let fade = document.querySelector('div.content-area div[style*="background-image: linear-gradient"]');
removeDOMElement(fade);
}
else if (matchDomain('timeshighereducation.com')) {
let paywall = document.querySelector('div.paywall-active');
if (paywall) {
removeDOMElement(paywall);
let fade = document.querySelectorAll('div.paywall-fade');
for (let elem of fade)
elem.classList.remove('paywall-fade');
}
let hidden_images = document.querySelectorAll('img.b-lazy[src^="data:image/"][data-src]');
for (let hidden_image of hidden_images) {
hidden_image.setAttribute('src', hidden_image.getAttribute('data-src'));
hidden_image.classList.remove('b-lazy');
hidden_image.parentElement.classList.remove('media--loading');
}
let ads = 'div[data-ad-page], section.block-the-dfp';
hideDOMStyle(ads);
}
else if (matchDomain(timesofindia_domains)) {
if (matchDomain('epaper.indiatimes.com')) {
let blocker = document.querySelector('div.epaperBlockerWrap');
removeDOMElement(blocker);
if (window.location.pathname.startsWith('/english-news-paper-today-toi-print-edition/')) {
let paywall = document.querySelector('section#blocker');
if (paywall) {
let fq = document.querySelector('section#fq');
removeDOMElement(paywall, fq);
let json_script = getArticleJsonScript();
if (json_script) {
let json = JSON.parse(json_script.text);
if (json) {
let json_text = json.articleBody;
let content = document.querySelector('section[type="synopsis"]');
if (json_text && content) {
let article_new = document.createElement('p');
article_new.innerText = breakText(json_text);
content.innerHTML = '';
addStyle('[type="synopsis"]::after {background: none !important;}');
content.appendChild(article_new);
}
}
}
}
}
} else {
let url = window.location.href;
let region_block = document.querySelector('div.plan-popup.active');
if (region_block) {
removeDOMElement(region_block);
let overflow = document.querySelector('html[style]');
if (overflow)
overflow.removeAttribute('style');
}
if (!window.location.pathname.includes('/amp_')) {
let paywall = document.querySelector('div[id^="story-blocker"]');
if (paywall && dompurify_loaded) {
removeDOMElement(paywall);
let json_script = getArticleJsonScript();
if (json_script) {
try {
let json = JSON.parse(json_script.text);
if (json) {
let json_text = json.articleBody;
let article = document.querySelector('div.paywall');
if (json_text && article) {
if (!json_text.match(/\s(src|href)=/))
json_text = breakText(json_text).replace(/\n\n/g, '
');
window.setTimeout(function () {
let parser = new DOMParser();
let doc = parser.parseFromString('