diff options
Diffstat (limited to 'src/assets')
-rw-r--r-- | src/assets/images/libredirect-128.png | bin | 0 -> 3572 bytes | |||
-rw-r--r-- | src/assets/images/libredirect-16.png | bin | 0 -> 530 bytes | |||
-rw-r--r-- | src/assets/images/libredirect-32.png | bin | 0 -> 971 bytes | |||
-rw-r--r-- | src/assets/images/libredirect-48.png | bin | 0 -> 1447 bytes | |||
-rw-r--r-- | src/assets/javascripts/helpers/twitter.js | 15 | ||||
-rw-r--r-- | src/assets/javascripts/remove-twitter-sw.js | 73 |
6 files changed, 7 insertions, 81 deletions
diff --git a/src/assets/images/libredirect-128.png b/src/assets/images/libredirect-128.png new file mode 100644 index 00000000..123692ce --- /dev/null +++ b/src/assets/images/libredirect-128.png Binary files differdiff --git a/src/assets/images/libredirect-16.png b/src/assets/images/libredirect-16.png new file mode 100644 index 00000000..cdad1192 --- /dev/null +++ b/src/assets/images/libredirect-16.png Binary files differdiff --git a/src/assets/images/libredirect-32.png b/src/assets/images/libredirect-32.png new file mode 100644 index 00000000..027c43bd --- /dev/null +++ b/src/assets/images/libredirect-32.png Binary files differdiff --git a/src/assets/images/libredirect-48.png b/src/assets/images/libredirect-48.png new file mode 100644 index 00000000..32e2a53f --- /dev/null +++ b/src/assets/images/libredirect-48.png Binary files differdiff --git a/src/assets/javascripts/helpers/twitter.js b/src/assets/javascripts/helpers/twitter.js index 4465aba4..73d5ee20 100644 --- a/src/assets/javascripts/helpers/twitter.js +++ b/src/assets/javascripts/helpers/twitter.js @@ -3,12 +3,12 @@ window.browser = window.browser || window.chrome; import commonHelper from './common.js' const targets = [ - "twitter.com", - "www.twitter.com", - "mobile.twitter.com", - "pbs.twimg.com", - "video.twimg.com", - "platform.twitter.com" + /https?:\/\/twitter\.com/, + /https?:\/\/www\.twitter\.com/, + /https?:\/\/mobile\.twitter\.com/, + /https?:\/\/pbs\.twimg\.com/, + /https?:\/\/video\.twimg\.com/, + /https?:\/\/platform\.twitter\.com\/embed/ ]; let redirects = { @@ -79,7 +79,6 @@ function setNitterTorCustomRedirects(val) { console.log("nitterTorCustomRedirects: ", val) } - let disable; const getDisable = () => disable; function setDisable(val) { @@ -109,7 +108,7 @@ function isTwitter(url, initiator) { ].includes(initiator.origin) || targets.includes(initiator.host)) ) return false; - return targets.includes(url.host) + return targets.some((rx) => rx.test(url.href)); } function redirect(url) { diff --git a/src/assets/javascripts/remove-twitter-sw.js b/src/assets/javascripts/remove-twitter-sw.js deleted file mode 100644 index 2a4bb46a..00000000 --- a/src/assets/javascripts/remove-twitter-sw.js +++ /dev/null @@ -1,73 +0,0 @@ -"use strict"; - -let disableTwitter; -let nitterInstance; -let redirectBypassFlag; -let exceptions; - -window.browser = window.browser || window.chrome; - -Promise.all([ - import(browser.runtime.getURL("src/assets/javascripts/helpers/common.js")), - import(browser.runtime.getURL("src/assets/javascripts/helpers/twitter.js")), -]).then( - (helpers) => { - let commonHelper; - let twitterHelper; - [commonHelper, twitterHelper] = helpers; - - function shouldRedirect(url) { - return ( - !redirectBypassFlag && - !disableTwitter && - url.host !== nitterInstance && - !url.pathname.includes("/home") - ); - } - - function redirectTwitter(url) { - if (url.host.split(".")[0] === "pbs") - return `${nitterInstance}/pic/${encodeURIComponent(url.href)}`; - else if (url.host.split(".")[0] === "video") - return `${nitterInstance}/gif/${encodeURIComponent(url.href)}`; - else - return `${nitterInstance}${url.pathname}${url.search}`; - } - - browser.storage.local.get( - [ - "nitterInstance", - "disableTwitter", - "removeTwitterSW", - "redirectBypassFlag", - "exceptions", - ], - (result) => { - redirectBypassFlag = result.redirectBypassFlag; - browser.storage.local.set({ redirectBypassFlag: false }); - if (!result.removeTwitterSW) { - disableTwitter = result.disableTwitter; - nitterInstance = result.nitterInstance ?? commonHelper.default.getRandomInstance(twitterHelper.default.redirects); - exceptions = result.exceptions ? result.exceptions.map((e) => new RegExp(e)) : []; - navigator.serviceWorker.getRegistrations().then((registrations) => { - for (let registration of registrations) { - if (registration.scope === "https://twitter.com/") { - registration.unregister(); - console.log("Unregistered Twitter SW", registration); - } - } - }); - const url = new URL(window.location); - if (shouldRedirect(url)) { - const redirect = redirectTwitter(url); - console.info("Redirecting", `"${url.href}"`, "=>", `"${redirect}"`); - window.location = redirect; - } - } - } - ); - }, - (error) => { - console.error(error); - } -); |