diff --git a/src/assets/javascripts/helpers/medium.js b/src/assets/javascripts/helpers/medium.js index f1425af..10d5664 100644 --- a/src/assets/javascripts/helpers/medium.js +++ b/src/assets/javascripts/helpers/medium.js @@ -7,15 +7,25 @@ const targets = [ /^medium\.com/, /.*\.medium\.com/, // // Other domains of medium blogs, source(s): https://findingtom.com/best-medium-blogs-to-follow/#1-forge - // /towardsdatascience\.com/, - // /uxdesign\.cc/, - // /uxplanet\.org/, - // /betterprogramming\.pub/, - // /aninjusticemag\.com/, - // /betterhumans\.pub/, - // /psiloveyou\.xyz/, - // /entrepreneurshandbook\.co/, - // /blog\.coinbase\.com/ + + /^towardsdatascience\.com/, + /^uxdesign\.cc/, + /^uxplanet\.org/, + /^betterprogramming\.pub/, + /^aninjusticemag\.com/, + /^betterhumans\.pub/, + /^psiloveyou\.xyz/, + /^entrepreneurshandbook\.co/, + /^blog\.coinbase\.com/, + + /^ levelup\.gitconnected\.com /, + /^javascript\.plainenglish\.io /, + /^blog\.bitsrc\.io /, + /^ itnext\.io /, + /^codeburst\.io /, + /^infosecwriteups\.com /, + /^ blog\.devgenius.io /, + /^ writingcooperative\.com /, ]; let redirects = { @@ -104,21 +114,17 @@ function setProtocol(val) { console.log("mediumProtocol: ", val); } -function isMedium(url, initiator) { - if (disable) return false; - if (url.pathname == "/") return false; +function redirect(url, type, initiator) { - if ( - commonHelper.isFirefox() && - initiator && ([...redirects.scribe.normal, ...scribeNormalCustomRedirects].includes(initiator.origin) || targets.includes(initiator.host)) - ) return false; - - return targets.some((rx) => rx.test(url.host)); -} -function redirect(url, type) { + if (disable) return; + if (url.pathname == "/") return; if (type != "main_frame" && "sub_frame" && "xmlhttprequest" && "other") return null; + if (initiator && ([...redirects.scribe.normal, ...scribeNormalCustomRedirects].includes(initiator.origin))) return; + + if (!targets.some((rx) => rx.test(url.host))) return; + let instancesList; if (protocol == 'normal') instancesList = [...scribeNormalRedirectsChecks, ...scribeNormalCustomRedirects]; else if (protocol == 'tor') instancesList = [...scribeTorRedirectsChecks, ...scribeTorCustomRedirects]; @@ -156,7 +162,7 @@ function changeInstance(url) { } async function init() { - return new Promise((resolve) => { + return new Promise(resolve => { fetch('/instances/data.json').then(response => response.text()).then(data => { let dataJson = JSON.parse(data); browser.storage.local.get( @@ -169,19 +175,19 @@ async function init() { "scribeTorCustomRedirects", "mediumProtocol" ], - (result) => { - disable = result.disableMedium ?? false; + r => { + disable = r.disableMedium ?? true; - protocol = result.mediumProtocol ?? "normal"; + protocol = r.mediumProtocol ?? "normal"; redirects.scribe = dataJson.scribe; - if (result.mediumRedirects) redirects = result.mediumRedirects; + if (r.mediumRedirects) redirects = r.mediumRedirects; - scribeNormalRedirectsChecks = result.scribeNormalRedirectsChecks ?? [...redirects.scribe.normal]; - scribeNormalCustomRedirects = result.scribeNormalCustomRedirects ?? []; + scribeNormalRedirectsChecks = r.scribeNormalRedirectsChecks ?? [...redirects.scribe.normal]; + scribeNormalCustomRedirects = r.scribeNormalCustomRedirects ?? []; - scribeTorRedirectsChecks = result.scribeTorRedirectsChecks ?? [...redirects.scribe.tor]; - scribeTorCustomRedirects = result.scribeTorCustomRedirects ?? []; + scribeTorRedirectsChecks = r.scribeTorRedirectsChecks ?? [...redirects.scribe.tor]; + scribeTorCustomRedirects = r.scribeTorCustomRedirects ?? []; resolve(); } @@ -214,7 +220,6 @@ export default { setScribeTorCustomRedirects, redirect, - isMedium, init, changeInstance, }; diff --git a/src/pages/background/background.js b/src/pages/background/background.js index 6aebda6..8e93575 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -45,7 +45,6 @@ let BYPASSTABs = []; browser.webRequest.onBeforeRequest.addListener( details => { - // console.log("url", details.url); const url = new URL(details.url); let initiator; if (details.originUrl) @@ -66,7 +65,7 @@ browser.webRequest.onBeforeRequest.addListener( if (!newUrl) newUrl = redditHelper.redirect(url, details.type, initiator); - if (mediumHelper.isMedium(url, initiator)) newUrl = mediumHelper.redirect(url, details.type); + if (!newUrl) newUrl = mediumHelper.redirect(url, details.type, initiator); if (imgurHelper.isImgur(url, initiator)) newUrl = imgurHelper.redirect(url, details.type); diff --git a/src/pages/options/general/general.html b/src/pages/options/general/general.html index 3653fe4..70b26aa 100644 --- a/src/pages/options/general/general.html +++ b/src/pages/options/general/general.html @@ -197,22 +197,132 @@

Customize Popup

-