mirror of
https://github.com/iamadamdev/bypass-paywalls-chrome
synced 2025-04-30 00:34:24 +02:00
749 lines
33 KiB
JavaScript
Executable File
749 lines
33 KiB
JavaScript
Executable File
if (!matchDomain(['seekingalpha.com', 'sfchronicle.com', 'cen.acs.org', 'elmundo.es'])) {
|
||
window.localStorage.clear();
|
||
}
|
||
|
||
if (matchDomain('elmercurio.com')) {
|
||
if (window.location.href.toLowerCase().includes('/inversiones/')) {
|
||
document.addEventListener('DOMContentLoaded', () => {
|
||
const paywall = document.querySelector('#modal_limit_articulos');
|
||
const body = document.querySelector('body');
|
||
removeDOMElement(paywall);
|
||
if (body.hasAttribute('class')) { body.removeAttribute('class'); }
|
||
});
|
||
}
|
||
} else if (matchDomain('estadao.com.br')) {
|
||
setTimeout(function () {
|
||
const paywall = document.querySelector('#paywall-wrapper-iframe-estadao');
|
||
const body = document.querySelector('html');
|
||
|
||
removeDOMElement(paywall);
|
||
body.removeAttribute('style');
|
||
}, 300); // Delay (in milliseconds)
|
||
} else if (matchDomain('repubblica.it')) {
|
||
document.addEventListener('DOMContentLoaded', () => {
|
||
if (document.querySelector('#paywall')) {
|
||
const url = window.location.href.split('?')[0];
|
||
window.location.href = url + 'amp';
|
||
} else if (window.location.href.includes('/pwa/')) {
|
||
setTimeout(function () {
|
||
window.location.href = window.location.href.replace('/pwa/', '/ws/detail/');
|
||
}, 400);
|
||
}
|
||
});
|
||
const paywall = document.querySelector('[subscriptions-section="content"]');
|
||
if (paywall) {
|
||
paywall.removeAttribute('subscriptions-section');
|
||
const preview = document.querySelector('div[subscriptions-section="content-not-granted"]');
|
||
if (preview) {
|
||
preview.remove();
|
||
}
|
||
}
|
||
} else if (matchDomain('americanbanker.com')) {
|
||
const inlineGate = document.querySelector('.inline-gate');
|
||
if (inlineGate) {
|
||
inlineGate.classList.remove('inline-gate');
|
||
const inlineGated = document.querySelectorAll('.inline-gated');
|
||
for (const elem of inlineGated) { elem.classList.remove('inline-gated'); }
|
||
}
|
||
} else if (matchDomain('telegraaf.nl')) {
|
||
if (window.location.href.startsWith('https://www.telegraaf.nl/error?ref=/')) {
|
||
window.location.href = window.location.href.split('&')[0].replace('error?ref=/', '');
|
||
}
|
||
const articleWrapper = document.querySelector('.ArticlePageWrapper__uid');
|
||
const spotXBanner = document.querySelector('.ArticleBodyBlocks__inlineArticleSpotXBanner');
|
||
const paywall = document.querySelector('.PopupBackdrop__block');
|
||
removeDOMElement(spotXBanner, paywall);
|
||
const premium = document.querySelector('.PremiumLabelWithLine__body');
|
||
const articleId = articleWrapper ? articleWrapper.innerText : '123';
|
||
const articleBodyDone = document.querySelector('#articleBody' + articleId);
|
||
if (premium && !articleBodyDone) {
|
||
const articleBodyOld = document.querySelector('[id^=articleBody]');
|
||
removeDOMElement(articleBodyOld);
|
||
const json = document.querySelector('script[type="application/ld+json"][data-react-helmet="true"]');
|
||
if (json) {
|
||
const jsonText = JSON.parse(json.text).articleBody;
|
||
const articleBody = document.querySelector('section.TextArticlePage__bodyText');
|
||
if (articleBody) {
|
||
const divMain = document.createElement('div');
|
||
divMain.setAttribute('id', 'articleBody' + articleId);
|
||
const divElem = document.createElement('div');
|
||
divElem.setAttribute('data-element', 'articleBodyBlocks');
|
||
const textArray = jsonText.split('\n\n');
|
||
textArray.forEach(pText => {
|
||
const pDiv = document.createElement('p');
|
||
pDiv.setAttribute('class', 'ArticleBodyBlocks__paragraph ArticleBodyBlocks__paragraph--nieuws');
|
||
pDiv.innerText = pText;
|
||
divElem.appendChild(pDiv);
|
||
});
|
||
divMain.appendChild(divElem);
|
||
articleBody.appendChild(divMain);
|
||
}
|
||
}
|
||
}
|
||
} else if (matchDomain(['ad.nl', 'ed.nl', 'bndestem.nl', 'bd.nl', 'tubantia.nl', 'destentor.nl', 'pzc.nl', 'gelderlander.nl'])) {
|
||
const paywall = document.querySelector('.article__component.article__component--paywall-module-notification');
|
||
removeDOMElement(paywall);
|
||
} else if (matchDomain('washingtonpost.com')) {
|
||
const leaderboard = document.querySelector('#leaderboard-wrapper');
|
||
const adverts = document.querySelectorAll('div[data-qa="article-body-ad"]');
|
||
removeDOMElement(leaderboard, ...adverts);
|
||
if (window.location.href.includes('/gdpr-consent/')) {
|
||
const freeButton = document.querySelector('.gdpr-consent-container .continue-btn.button.free');
|
||
if (freeButton) { freeButton.click(); }
|
||
window.setTimeout(function () {
|
||
const gdprcheckbox = document.querySelector('.gdpr-consent-container .consent-page:not(.hide) #agree');
|
||
if (gdprcheckbox) {
|
||
gdprcheckbox.checked = true;
|
||
gdprcheckbox.dispatchEvent(new Event('change'));
|
||
document.querySelector('.gdpr-consent-container .consent-page:not(.hide) .continue-btn.button.accept-consent').click();
|
||
}
|
||
}, 300); // Delay (in milliseconds)
|
||
} else {
|
||
function defaultPaywall (element) {
|
||
removeDOMElement(element);
|
||
const url = window.location.href;
|
||
if (!url.includes('outputType=amp')) { window.location.href = url.split('?')[0] + '?outputType=amp'; }
|
||
}
|
||
waitDOMElement('div[id^="paywall-"]', 'DIV', defaultPaywall, false);
|
||
}
|
||
} else if (matchDomain('wsj.com') && !matchDomain('cn.wsj.com')) {
|
||
if (window.location.href.includes('/articles/')) {
|
||
const closeButton = document.querySelector('div.close-btn[role="button"]');
|
||
if (closeButton) { closeButton.click(); }
|
||
}
|
||
document.addEventListener('DOMContentLoaded', () => {
|
||
const url = window.location.href;
|
||
const snippet = document.querySelector('.snippet-promotion');
|
||
const wsjPro = document.querySelector('meta[name="page.site"][content="wsjpro"]');
|
||
if (snippet || wsjPro) {
|
||
if (!window.location.hash) {
|
||
if (url.includes('?')) {
|
||
window.location.href = url.replace('?', '#refreshed?');
|
||
} else { window.location.href = url + '#refreshed'; }
|
||
} else { window.location.href = window.location.href.replace('wsj.com', 'wsj.com/amp').replace('#refreshed', ''); }
|
||
}
|
||
});
|
||
} else if (matchDomain('sloanreview.mit.edu')) {
|
||
const readMore = document.querySelector('.btn-read-more');
|
||
if (readMore) {
|
||
readMore.click();
|
||
}
|
||
} else if (matchDomain('mexiconewsdaily.com')) {
|
||
window.setTimeout(function () {
|
||
const popup = document.querySelector('div.pigeon-widget-prompt');
|
||
const cproOverlay = document.querySelector('.cpro-overlay');
|
||
removeDOMElement(popup, cproOverlay);
|
||
}, 500); // Delay (in milliseconds)
|
||
} else if (matchDomain('the-american-interest.com')) {
|
||
const counter = document.getElementById('article-counter');
|
||
removeDOMElement(counter);
|
||
} else if (matchDomain('nzherald.co.nz')) {
|
||
const articleContent = document.querySelector('.article__content');
|
||
if (articleContent) {
|
||
const articleOffer = document.querySelector('.article-offer');
|
||
if (articleOffer) {
|
||
const cssSelector = articleContent.querySelectorAll('p')[5].getAttribute('class');
|
||
const hiddenNotPars = articleContent.querySelectorAll('.' + cssSelector + ':not(p)');
|
||
for (const hiddenNotPar of hiddenNotPars) {
|
||
hiddenNotPar.classList.remove(cssSelector);
|
||
hiddenNotPar.removeAttribute('style');
|
||
}
|
||
const hiddenPars = articleContent.querySelectorAll('p.' + cssSelector);
|
||
const parser = new DOMParser();
|
||
for (const hiddenPar of hiddenPars) {
|
||
const parHtml = parser.parseFromString('<div style="margin: 10px 0px; font-size: 17px">' + hiddenPar.innerHTML + '</div>', 'text/html');
|
||
const parDom = parHtml.querySelector('div');
|
||
articleContent.insertBefore(parDom, hiddenPar);
|
||
}
|
||
const firstSpan = document.querySelector('p > span');
|
||
if (firstSpan) { firstSpan.removeAttribute('class'); }
|
||
removeDOMElement(articleOffer);
|
||
}
|
||
}
|
||
const premiumToaster = document.querySelector('#premium-toaster');
|
||
removeDOMElement(premiumToaster);
|
||
} else if (matchDomain('interest.co.nz')) {
|
||
const wrapper = document.getElementById('pp-ablock-banner-wrapper');
|
||
const overlay = document.querySelector('.black-overlay');
|
||
removeDOMElement(overlay, wrapper);
|
||
} else if (matchDomain('stuff.co.nz')) {
|
||
const overlay = document.querySelector('.x0');
|
||
removeDOMElement(overlay);
|
||
} else if (matchDomain('thenational.scot')) {
|
||
const overlay = document.querySelector('.template-container');
|
||
removeDOMElement(overlay);
|
||
} else if (matchDomain('thestar.com')) {
|
||
setTimeout(function () {
|
||
const paywall = document.querySelector('.basic-paywall-new');
|
||
removeDOMElement(paywall);
|
||
const tbc = document.querySelectorAll('.text-block-container');
|
||
for (const el of tbc) {
|
||
el.removeAttribute('style');
|
||
}
|
||
}, 1000); // Delay (in milliseconds)
|
||
} else if (matchDomain('afr.com')) {
|
||
document.addEventListener('DOMContentLoaded', () => {
|
||
const hiddenImage = document.querySelectorAll('img');
|
||
for (const image of hiddenImage) {
|
||
const src = image.src;
|
||
if ('src: ' + src.indexOf('.gif') !== -1) {
|
||
const dataSrc = image.getAttribute('data-src');
|
||
if (dataSrc) {
|
||
image.setAttribute('src', dataSrc);
|
||
}
|
||
}
|
||
}
|
||
const plista = document.querySelector('div[data-plista-placement="underArticle_Group"]');
|
||
removeDOMElement(plista);
|
||
});
|
||
} else if (matchDomain(['parool.nl', 'trouw.nl', 'volkskrant.nl', 'demorgen.be', 'humo.be'])) {
|
||
document.addEventListener('DOMContentLoaded', () => {
|
||
const topBanner = document.querySelector('div[data-temptation-position="PAGE_TOP"]');
|
||
const paywall = document.querySelector('div[data-temptation-position="ARTICLE_BOTTOM"]');
|
||
const hiddenSection = document.querySelector('div[data-temptation-position="ARTICLE_INLINE"]');
|
||
const overlay = document.querySelector('div[data-temptation-position="PAGE_BOTTOM"]');
|
||
removeDOMElement(topBanner, paywall, hiddenSection, overlay);
|
||
});
|
||
} else if (matchDomain('firstthings.com')) {
|
||
const paywall = document.getElementsByClassName('paywall')[0];
|
||
removeDOMElement(paywall);
|
||
} else if (matchDomain('bloomberg.com')) {
|
||
blockElement('#graphics-paywall-overlay', true);
|
||
} else if (matchDomain('bloombergquint.com')) {
|
||
const articlesLeftModal = document.getElementsByClassName('paywall-meter-module__story-paywall-container__1UgCE')[0];
|
||
const paywall = document.getElementById('paywallDmp');
|
||
removeDOMElement(articlesLeftModal, paywall);
|
||
} else if (matchDomain('medium.com')) {
|
||
const bottomMessageText = 'Get one more story in your member preview when you sign up. It’s free.';
|
||
const DOMElementsToTextDiv = pageContains('div', bottomMessageText);
|
||
if (DOMElementsToTextDiv[2]) removeDOMElement(DOMElementsToTextDiv[2]);
|
||
} else if (matchDomain('theglobeandmail.com')) {
|
||
document.addEventListener('DOMContentLoaded', () => {
|
||
const realArticle = document.querySelector('.js-c-article-body');
|
||
let decoyArticle = document.querySelector('.decoy-article');
|
||
if (realArticle && !decoyArticle) {
|
||
decoyArticle = document.createElement('div');
|
||
decoyArticle.classList.add('js-c-article-body');
|
||
decoyArticle.classList.add('decoy-article');
|
||
decoyArticle.hidden = true;
|
||
realArticle.parentElement.insertBefore(decoyArticle, realArticle);
|
||
for (let child = realArticle.firstChild; child !== null; child = child.nextSibling) {
|
||
if (child.style) {
|
||
child.style.display = 'block';
|
||
}
|
||
}
|
||
}
|
||
const regWall = document.querySelector('#regwall');
|
||
const lightBox = document.querySelector('.c-lightbox');
|
||
if (regWall && lightBox) {
|
||
regWall.hidden = true;
|
||
lightBox.hidden = true;
|
||
}
|
||
const subscribed = document.querySelector('html.story-subscribed');
|
||
if (subscribed && !window.location.href.includes('?ref=premium')) {
|
||
window.setTimeout(function () {
|
||
window.location.href = new URL(window.location.href).pathname + '?ref=premium';
|
||
}, 100);
|
||
}
|
||
});
|
||
const cCards = document.querySelectorAll('div.c-card');
|
||
for (const cCard of cCards) {
|
||
const aLink = cCard.querySelector('a');
|
||
const key = cCard.querySelector('span.c-indicator-icon--key');
|
||
if (key && aLink && !aLink.href.includes('?ref=premium')) {
|
||
aLink.href = aLink.href + '?ref=premium';
|
||
}
|
||
}
|
||
} else if (matchDomain(['examiner.com.au', 'thecourier.com.au', 'theadvocate.com.au'])) {
|
||
const subscribeTruncate = document.querySelector('.subscribe-truncate');
|
||
if (subscribeTruncate) { subscribeTruncate.classList.remove('subscribe-truncate'); }
|
||
const subscriberHider = document.querySelectorAll('.subscriber-hider');
|
||
for (const el of subscriberHider) {
|
||
el.classList.remove('subscriber-hider');
|
||
}
|
||
} else if (matchDomain('canberratimes.com.au')) {
|
||
const paywall = document.querySelector('.subscribe-article.news-article-body.article__body');
|
||
paywall.classList.remove('subscribe-article');
|
||
const subscribe = document.getElementsByClassName('subscriber-container')[0];
|
||
removeDOMElement(subscribe);
|
||
const content = document.getElementsByClassName('subscriber-hider');
|
||
for (const el of content) {
|
||
el.classList.remove('subscriber-hider');
|
||
}
|
||
} else if (matchDomain('asia.nikkei.com')) {
|
||
const cookieBanner = document.querySelector('.pw-widget');
|
||
removeDOMElement(cookieBanner);
|
||
} else if (matchDomain('ledevoir.com')) {
|
||
const counter = document.querySelector('.full.hidden-print.popup-msg');
|
||
removeDOMElement(counter);
|
||
} else if (matchDomain('ft.com')) {
|
||
const cookieBanner = document.querySelector('.o-banner__outer');
|
||
const ribbon = document.querySelector('.js-article-ribbon');
|
||
const ads = document.querySelector('.o-ads');
|
||
removeDOMElement(cookieBanner, ads, ribbon);
|
||
} else if (matchDomain('thehindu.com')) {
|
||
document.addEventListener('DOMContentLoaded', () => {
|
||
const counter = document.querySelector('#test');
|
||
const coBanner = document.querySelector('.co-banner');
|
||
const support = document.querySelector('div.support-jlm');
|
||
removeDOMElement(counter, coBanner, support);
|
||
});
|
||
} else if (matchDomain('nytimes.com')) {
|
||
const previewButton = document.querySelector('.css-3s1ce0');
|
||
if (previewButton) { previewButton.click(); }
|
||
blockElement('.css-3fbowa'); // Prevent bottom dock from appearing
|
||
blockElement('#gateway-content'); // Remove paywall
|
||
blockElement('.css-1bd8bfl'); // Remove filter
|
||
// Restore scrolling
|
||
document.onreadystatechange = function () {
|
||
if (document.readyState === 'complete') {
|
||
document.querySelector('.css-mcm29f').setAttribute('style', 'position:relative');
|
||
}
|
||
};
|
||
} else if (matchDomain('technologyreview.com')) {
|
||
window.setTimeout(function () {
|
||
const bodyObscured = document.querySelector('body[class*="body__obscureContent"]');
|
||
if (bodyObscured) { removeClassesByPrefix(bodyObscured, 'body__obscureContent'); }
|
||
const overlay = document.querySelector('div[class*="overlayFooter__wrapper"]');
|
||
if (overlay) { overlay.setAttribute('style', 'display:none'); }
|
||
const contentBodyHidden = document.querySelector('div[class*="contentBody__contentHidden"]');
|
||
if (contentBodyHidden) { removeClassesByPrefix(contentBodyHidden, 'contentBody__contentHidden'); }
|
||
const contentBodyOverlay = document.querySelector('div[class*="contentBody__overlay"]');
|
||
if (contentBodyOverlay) { contentBodyOverlay.removeAttribute('class'); }
|
||
}, 500);
|
||
} else if (matchDomain('leparisien.fr')) {
|
||
window.removeEventListener('scroll', this.scrollListener);
|
||
const paywall = document.querySelector('.relative.piano-paywall.below_nav.sticky');
|
||
removeDOMElement(paywall);
|
||
setTimeout(function () {
|
||
const content = document.getElementsByClassName('content');
|
||
for (const el of content) {
|
||
el.removeAttribute('style');
|
||
}
|
||
}, 300); // Delay (in milliseconds)
|
||
} else if (matchDomain('caixinglobal.com')) {
|
||
const payTips = document.querySelectorAll('.cons-pay-tip');
|
||
for (const payTip of payTips) {
|
||
payTip.removeAttribute('style');
|
||
}
|
||
const appContent = document.getElementById('appContent');
|
||
if (appContent) {
|
||
const pHidden = document.querySelectorAll('p:not([style="display:block;"]');
|
||
for (const el of pHidden) {
|
||
el.setAttribute('style', 'display:block;');
|
||
}
|
||
}
|
||
} else if (matchDomain('bizjournals.com')) {
|
||
const sheetOverlay = document.querySelector('.sheet-overlay');
|
||
const chunkPaywall = document.querySelector('.chunk--paywall');
|
||
removeDOMElement(sheetOverlay, chunkPaywall);
|
||
const overlaid = document.querySelectorAll('.is-overlaid');
|
||
for (const el of overlaid) {
|
||
el.classList.remove('is-overlaid');
|
||
}
|
||
const bodyHidden = document.querySelector('.js-pre-chunks__story-body');
|
||
bodyHidden.removeAttribute('style');
|
||
} else if (matchDomain('the-tls.co.uk')) {
|
||
const paywall = document.querySelector('.tls-subscriptions-banner__closed-skin');
|
||
removeDOMElement(paywall);
|
||
} else if (matchDomain('cen.acs.org')) {
|
||
const paywall = document.querySelector('.meteredBar');
|
||
removeDOMElement(paywall);
|
||
} else if (matchDomain('elperiodico.com')) {
|
||
setTimeout(function () {
|
||
const unavailableArea = document.querySelector('.closed');
|
||
const infoBox = document.querySelector('.ep-masPeriodico-info');
|
||
if (unavailableArea) {
|
||
unavailableArea.classList.remove('closed');
|
||
}
|
||
if (infoBox) {
|
||
infoBox.parentNode.removeChild(infoBox);
|
||
}
|
||
}, 1000);
|
||
} else if (matchDomain('techinasia.com')) {
|
||
const paywall = document.querySelector('.paywall-content');
|
||
if (paywall) {
|
||
paywall.classList.remove('paywall-content');
|
||
}
|
||
const splashSubscribe = document.querySelector('.splash-subscribe');
|
||
const paywallHard = document.querySelector('.paywall-hard');
|
||
removeDOMElement(splashSubscribe, paywallHard);
|
||
} else if (matchDomain('thewrap.com')) {
|
||
const embed = document.querySelector('.embed');
|
||
if (embed) {
|
||
// Display feature video
|
||
const container = document.querySelector('.featured-image-container');
|
||
removeDOMElement(container);
|
||
embed.classList.remove('d-none');
|
||
}
|
||
} else if (matchDomain('hbr.org')) {
|
||
const banner = document.querySelector('.persistent-banner');
|
||
removeDOMElement(banner);
|
||
} else if (matchDomain('spectator.co.uk')) {
|
||
const container = document.querySelector('.HardPayWallContainer-module__overlay');
|
||
window.setTimeout(function () {
|
||
if (container && window.location.href.includes('/www.spectator.co.uk/')) {
|
||
window.location.href = window.location.href + '/amp';
|
||
}
|
||
}, 500);
|
||
} else if (matchDomain('barrons.com')) {
|
||
document.addEventListener('DOMContentLoaded', () => {
|
||
const bodyContinuous = document.querySelector('body.is-continuous');
|
||
const snippet = document.querySelector('meta[content="snippet"]');
|
||
if (bodyContinuous && snippet) {
|
||
window.location.href = window.location.href.replace('barrons.com', 'barrons.com/amp');
|
||
}
|
||
});
|
||
if (!window.location.href.includes('barrons.com/amp/')) {
|
||
let href = '';
|
||
const signinLinks = document.querySelectorAll('a.primary-button--link');
|
||
for (const signinLink of signinLinks) {
|
||
href = signinLink.href;
|
||
if (href.includes('target=')) {
|
||
href = href.split('target')[1].split('%3F')[0];
|
||
href = href.replace('=', '').replace('%3A', ':').replace(/%2F/g, '/');
|
||
signinLink.href = href;
|
||
signinLink.text = 'Click';
|
||
}
|
||
}
|
||
}
|
||
} else if (matchDomain('nzz.ch')) {
|
||
const paywall = document.querySelector('.dynamic-regwall');
|
||
removeDOMElement(paywall);
|
||
} else if (matchDomain('irishtimes.com')) {
|
||
document.addEventListener('DOMContentLoaded', () => {
|
||
const stubArticleMsg = document.querySelector('div.stub-article-msg');
|
||
const url = window.location.href;
|
||
if (url.includes('mode=sample') || stubArticleMsg) { window.location.href = new URL(url).pathname + '?mode=amp'; }
|
||
});
|
||
} else if (matchDomain('thesaturdaypaper.com.au')) {
|
||
const paywall = document.querySelector('div.paywall-hard-always-show');
|
||
removeDOMElement(paywall);
|
||
} else if (matchDomain('lesechos.fr') && window.location.href.match(/-\d{6,}/)) {
|
||
window.setTimeout(function () {
|
||
const aboBanner = document.querySelector('[class^="pgxf3b"]');
|
||
const adBlocks = document.querySelectorAll('[class*="jzxvkd"');
|
||
for (const adBlock of adBlocks) { adBlock.setAttribute('style', 'display:none'); }
|
||
if (aboBanner) {
|
||
removeDOMElement(aboBanner);
|
||
const url = window.location.href;
|
||
const html = document.documentElement.outerHTML;
|
||
let state;
|
||
const split1 = html.split('window.__PRELOADED_STATE__=')[1];
|
||
const split2 = split1.split('</script>')[0].trim();
|
||
if (split2.includes('; window.__DATA__=')) { state = split2.split('; window.__DATA__=')[0].trim(); } else { state = split2.substr(0, split2.length - 1); }
|
||
try {
|
||
const data = JSON.parse(state);
|
||
const article = data.article.data.stripes[0].mainContent[0].data.description;
|
||
const urlLoaded = data.article.data.path;
|
||
if (!url.includes(urlLoaded)) { window.location.reload(true); }
|
||
const paywallNode = document.querySelector('.post-paywall');
|
||
if (paywallNode) {
|
||
const contentNode = document.createElement('div');
|
||
const parser = new DOMParser();
|
||
const articleHtml = parser.parseFromString('<div>' + article + '</div>', 'text/html');
|
||
const articlePar = articleHtml.querySelector('div');
|
||
if (articlePar) {
|
||
contentNode.appendChild(articlePar);
|
||
contentNode.className = paywallNode.className;
|
||
paywallNode.parentNode.insertBefore(contentNode, paywallNode);
|
||
removeDOMElement(paywallNode);
|
||
const paywallLastChildNode = document.querySelector('.post-paywall > :last-child');
|
||
if (paywallLastChildNode) {
|
||
paywallLastChildNode.setAttribute('style', 'height: auto !important; overflow: hidden !important; max-height: none !important;');
|
||
}
|
||
}
|
||
}
|
||
const styleElem = document.head.appendChild(document.createElement('style'));
|
||
styleElem.innerHTML = '.post-paywall::after {height: auto !important;}';
|
||
} catch (err) {
|
||
window.location.reload(true);
|
||
}
|
||
}
|
||
}, 500); // Delay (in milliseconds)
|
||
} else if (matchDomain('startribune.com')) {
|
||
// remove active class from all elements
|
||
document.querySelectorAll('div.ReactModalPortal').forEach(function (el) {
|
||
removeDOMElement(el);
|
||
});
|
||
// Enable Scroll. Reveal Hiddlen Paragraph
|
||
document.getElementsByTagName('body')[0].removeAttribute('class');
|
||
} else if (matchDomain('seattletimes.com')) {
|
||
window.setTimeout(function () {
|
||
// remove modal class from all elements
|
||
document.querySelectorAll('div.modal').forEach(function (el) {
|
||
removeDOMElement(el);
|
||
});
|
||
// Remove Blurred Style from all matching Divs
|
||
document.getElementById('container').removeAttribute('style');
|
||
document.querySelectorAll('div[style~="filter"]').forEach(function (el) {
|
||
el.removeAttribute('style');
|
||
});
|
||
document
|
||
.querySelectorAll('div[class~="NewsletterSignupSplash"]')
|
||
.forEach(function (el) {
|
||
el.removeAttribute('class');
|
||
});
|
||
}, 1000); // Delay (in milliseconds)
|
||
} else if (matchDomain('theatlantic.com')) {
|
||
// Remove all nudge elements
|
||
document.querySelectorAll('div[class*="c-nudge"]').forEach(function (el) {
|
||
removeDOMElement(el);
|
||
});
|
||
// Remove all FancyBox ads
|
||
document.querySelectorAll('div[class*="fancybox"]').forEach(function (el) {
|
||
removeDOMElement(el);
|
||
});
|
||
} else if (matchDomain('newyorker.com')) {
|
||
blockElement('.paywall-bar', true);
|
||
blockElement('.paywall-modal');
|
||
} else if (matchDomain('vanityfair.com')) {
|
||
const paywall = document.querySelector('.paywall-bar');
|
||
removeDOMElement(paywall);
|
||
} else if (matchDomain(['postimees.ee', 'elu24.ee'])) {
|
||
setTimeout(function () {
|
||
// Remove 'adblocker-detected' footer notification
|
||
const adblockNotif = document.querySelector('.adblock-notif');
|
||
removeDOMElement(adblockNotif);
|
||
}, 800); // Delay (in milliseconds)
|
||
} else if (matchDomain('themarker.com')) {
|
||
setTimeout(function () {
|
||
const paywall = document.querySelector('[data-test="bottomStrip"]');
|
||
const notifications = document.querySelector('#pwSubscribePopup');
|
||
const banner = document.querySelector('#themarker\\.com\\.billboard\\.desktop');
|
||
const newsBanner = document.querySelector('#themarker\\.com\\.news\\.banner');
|
||
const midBanner = document.querySelector('#themarker\\.com.headline\\.banner\\.desktop');
|
||
const financeBanner = document.querySelector('#themarker\\.com\\.finance\\.banner');
|
||
const topStrip = document.querySelector('[data-test="topStrip"]');
|
||
const otherBanners = Array.from(document.querySelectorAll('[data-audtarget]'));
|
||
removeDOMElement(paywall, notifications, banner, topStrip, midBanner, newsBanner, financeBanner, ...otherBanners);
|
||
}, 500);
|
||
} else if (matchDomain('haaretz.co.il')) {
|
||
setTimeout(function () {
|
||
const notifications = document.querySelector('#pwSubscribePopup');
|
||
const paywall = document.querySelector('[data-test="bottomStrip"]');
|
||
const banner = document.querySelector('#haaretz\\.co\\.il\\.billboard\\.desktop');
|
||
const editorsBanner = document.querySelector('#haaretz\\.co\\.il\\.editors\\.banner');
|
||
const headlinesBanner = document.querySelector('#haaretz\\.co\\.il\\.headline\\.box\\.desktop');
|
||
const topStrip = document.querySelector('[data-test="topStrip"]');
|
||
const otherBanners = Array.from(document.querySelectorAll('[data-audtarget]'));
|
||
removeDOMElement(paywall, notifications, banner, editorsBanner, topStrip, headlinesBanner, ...otherBanners);
|
||
}, 500);
|
||
} else if (matchDomain('sueddeutsche.de')) {
|
||
const url = window.location.href;
|
||
document.addEventListener('DOMContentLoaded', () => {
|
||
const offerPage = document.querySelector('div.offer-page');
|
||
if (url.startsWith('https://www.sueddeutsche.de') && (url.includes('reduced=true') || offerPage)) { window.location.href = url.split('?')[0].replace('www.', 'amphtml.'); } else if (url.startsWith('https://sz-magazin.sueddeutsche.de')) {
|
||
if (url.includes('reduced=true') || offerPage) { window.location.href = new URL(url).pathname + '!amp'; }
|
||
}
|
||
});
|
||
window.setTimeout(function () {
|
||
if (url.includes('!amp')) {
|
||
const paragraphReduced = document.querySelector('.paragraph--reduced');
|
||
if (paragraphReduced) { paragraphReduced.classList.remove('paragraph--reduced'); }
|
||
const paragraphHidden = document.querySelectorAll('.paragraph--hidden');
|
||
for (const parHidden of paragraphHidden) { parHidden.classList.remove('paragraph--hidden'); }
|
||
const paragraphDynamic = document.querySelector('.paragraph--dynamic');
|
||
if (paragraphDynamic) { paragraphDynamic.classList.remove('paragraph--dynamic'); }
|
||
const ampOfferpage = document.querySelector('.amp-offerpage');
|
||
removeDOMElement(ampOfferpage);
|
||
}
|
||
}, 500); // Delay (in milliseconds)
|
||
} else if (matchDomain('adweek.com')) {
|
||
const bodySingle = document.querySelector('body.single');
|
||
const ampHtml = document.querySelector('link[rel="amphtml"]');
|
||
if (bodySingle && ampHtml) {
|
||
bodySingle.classList.remove('single');
|
||
window.location.href = ampHtml.href;
|
||
}
|
||
} else if (matchDomain('gelocal.it')) {
|
||
if (!window.location.href.includes('/amp/')) {
|
||
const paywallAdagio = document.querySelector('.paywall-adagio');
|
||
removeDOMElement(paywallAdagio);
|
||
} else {
|
||
const paywall = document.querySelector('div[amp-access="showContent"]');
|
||
if (paywall) { paywall.removeAttribute('amp-access-hide'); }
|
||
const ampAds = document.querySelectorAll('amp-ad');
|
||
removeDOMElement(...ampAds);
|
||
}
|
||
} else if (matchDomain('elmundo.es')) {
|
||
const premium = document.querySelector('.ue-c-article__premium');
|
||
const url = window.location.href;
|
||
if (!url.includes('/amp.' + 'elmundo.es' + '/')) {
|
||
if (premium) {
|
||
removeDOMElement(premium);
|
||
window.location.href = window.location.href.replace('/www.', '/amp.');
|
||
}
|
||
} else {
|
||
const paywall = document.querySelector('div[amp-access="authorized!=true"]');
|
||
if (paywall) {
|
||
removeDOMElement(paywall);
|
||
const divHidden = document.querySelector('div[amp-access="authorized=true"]');
|
||
if (divHidden) {
|
||
divHidden.removeAttribute('amp-access-hide');
|
||
}
|
||
}
|
||
const advertising = document.querySelectorAll('.advertising, amp-embed');
|
||
removeDOMElement(...advertising);
|
||
}
|
||
} else if (matchDomain('speld.nl')) {
|
||
const paywallPopup = document.querySelector('.c-paywall-notice');
|
||
removeDOMElement(paywallPopup);
|
||
} else if (matchDomain('lastampa.it')) {
|
||
const url = window.location.href;
|
||
if (!url.includes('/amp/')) {
|
||
const premium = document.querySelector('.paywall-adagio');
|
||
removeDOMElement(premium);
|
||
window.setTimeout(function () {
|
||
if (premium) {
|
||
window.location.href = url.split('?')[0] + '/amp/';
|
||
}
|
||
const articleBody = document.querySelector('div#article-body[style]');
|
||
if (articleBody) {
|
||
articleBody.removeAttribute('style');
|
||
}
|
||
}, 500);
|
||
} else {
|
||
const paywall = document.querySelector('div[id^="paywall-banner"]');
|
||
removeDOMElement(paywall);
|
||
const subscriptionSection = document.querySelector('[subscriptions-section="content"]');
|
||
if (subscriptionSection) {
|
||
subscriptionSection.removeAttribute('subscriptions-section');
|
||
const preview = document.querySelector('div[subscriptions-section="content-not-granted"]');
|
||
removeDOMElement(preview);
|
||
}
|
||
const ampAds = document.querySelectorAll('amp-ad, amp-embed');
|
||
removeDOMElement(...ampAds);
|
||
}
|
||
} else if (matchDomain('time.com')) {
|
||
const body = document.querySelector('body');
|
||
if (body) {
|
||
body.setAttribute('style', 'position:relative !important;');
|
||
}
|
||
} else if (matchDomain('expansion.com')) {
|
||
const premium = document.querySelector('.ue-c-article__premium');
|
||
const url = window.location.href;
|
||
if (!url.includes('/amp.' + 'expansion.com' + '/')) {
|
||
if (premium) {
|
||
removeDOMElement(premium);
|
||
window.location.href = window.location.href.replace('/www.', '/amp.');
|
||
}
|
||
} else {
|
||
const paywall = document.querySelector('div[amp-access="authorized!=true"]');
|
||
if (paywall) {
|
||
removeDOMElement(paywall);
|
||
const divHidden = document.querySelector('div[amp-access="authorized=true"]');
|
||
if (divHidden) {
|
||
divHidden.removeAttribute('amp-access-hide');
|
||
}
|
||
}
|
||
const advertising = document.querySelectorAll('.advertising, amp-embed');
|
||
removeDOMElement(...advertising);
|
||
}
|
||
} else if (matchDomain('chicagobusiness.com')) {
|
||
const body = document.querySelector('body[class]');
|
||
if (body) {
|
||
body.removeAttribute('class');
|
||
}
|
||
} else if (matchDomain('latimes.com')) {
|
||
const paywall = document.querySelector('metering-modal');
|
||
const incognitoWall = document.querySelector('metering-toppanel');
|
||
if (paywall) {
|
||
removeDOMElement(paywall);
|
||
} else if (incognitoWall) {
|
||
removeDOMElement(incognitoWall);
|
||
}
|
||
if (paywall || incognitoWall) {
|
||
document.body.removeAttribute('style');
|
||
}
|
||
} else if (matchDomain('foreignpolicy.com')) {
|
||
const contentUngated = document.querySelector('div.content-ungated');
|
||
removeDOMElement(contentUngated);
|
||
const contentGated = document.querySelector('div.content-gated');
|
||
if (contentGated) {
|
||
contentGated.classList.remove('content-gated');
|
||
}
|
||
} else if (matchDomain('bostonglobe.com')) {
|
||
// Remove the portion covering the paywall
|
||
const paywall = document.querySelector('div.meter-paywall');
|
||
if (paywall) {
|
||
removeDOMElement(paywall);
|
||
}
|
||
// Re-enable scrolling
|
||
const body = document.querySelector('body');
|
||
if (body) {
|
||
document.body.removeAttribute('style');
|
||
}
|
||
// Click the button to reveal the rest of the article
|
||
const buttonDiv = document.querySelector('[id="continue_button"]');
|
||
if (buttonDiv) {
|
||
const button = buttonDiv.querySelector('button');
|
||
if (button) {
|
||
button.click();
|
||
}
|
||
}
|
||
}
|
||
|
||
function matchDomain (domains) {
|
||
const hostname = window.location.hostname;
|
||
if (typeof domains === 'string') { domains = [domains]; }
|
||
return domains.some(domain => hostname === domain || hostname.endsWith('.' + domain));
|
||
}
|
||
|
||
function waitDOMElement (selector, tagName = '', callback, multiple = false) {
|
||
new window.MutationObserver(function (mutations) {
|
||
for (const mutation of mutations) {
|
||
for (const node of mutation.addedNodes) {
|
||
if (!tagName || (node.tagName === tagName)) {
|
||
if (node.matches(selector)) {
|
||
callback(node);
|
||
if (!multiple) { this.disconnect(); }
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}).observe(document, {
|
||
subtree: true,
|
||
childList: true
|
||
});
|
||
}
|
||
|
||
function removeDOMElement (...elements) {
|
||
for (const element of elements) {
|
||
if (element) { element.remove(); }
|
||
}
|
||
}
|
||
|
||
function removeClassesByPrefix (el, prefix) {
|
||
for (const clazz of el.classList) {
|
||
if (clazz.startsWith(prefix)) {
|
||
el.classList.remove(clazz);
|
||
}
|
||
}
|
||
}
|
||
|
||
function pageContains (selector, text) {
|
||
const elements = document.querySelectorAll(selector);
|
||
return Array.prototype.filter.call(elements, function (element) {
|
||
return RegExp(text).test(element.textContent);
|
||
});
|
||
}
|
||
|
||
// Prevent element from being added the first time to the DOM
|
||
function blockElement (selector, blockAlways = false) {
|
||
new window.MutationObserver(function (mutations) {
|
||
for (const mutation of mutations) {
|
||
for (const node of mutation.addedNodes) {
|
||
if (node instanceof window.HTMLElement) {
|
||
if (node.matches(selector)) {
|
||
removeDOMElement(node);
|
||
if (!blockAlways) {
|
||
this.disconnect(); // Stop watching for element being added after one removal
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}).observe(document, { subtree: true, childList: true });
|
||
}
|