diff options
author | SimonBrazell <simon@brazell.com.au> | 2021-01-10 22:04:03 +1100 |
---|---|---|
committer | SimonBrazell <simon@brazell.com.au> | 2021-01-10 22:04:03 +1100 |
commit | 944f2e6ef09a1534bac061acca2e3b3a4c13b13a (patch) | |
tree | 86bbd36f9896db47b6938d098658192bd31db01e /assets/javascript/remove-twitter-sw.js | |
parent | Merge pull request #153 from somoso/patch-1 (diff) | |
download | libredirect-944f2e6ef09a1534bac061acca2e3b3a4c13b13a.zip |
Restructure code with helper modules, add search engine settings, & advanced settings collapsibles.
Diffstat (limited to 'assets/javascript/remove-twitter-sw.js')
-rw-r--r-- | assets/javascript/remove-twitter-sw.js | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/assets/javascript/remove-twitter-sw.js b/assets/javascript/remove-twitter-sw.js deleted file mode 100644 index f74ff89f..00000000 --- a/assets/javascript/remove-twitter-sw.js +++ /dev/null @@ -1,92 +0,0 @@ -"use strict"; - -const nitterInstances = [ - "https://nitter.net", - "https://nitter.snopyta.org", - "https://nitter.42l.fr", - "https://nitter.nixnet.services", - "https://nitter.13ad.de", - "https://nitter.pussthecat.org", - "https://nitter.mastodont.cat", - "https://nitter", - "https://nitter.tedomum.net", - "https://nitter.cattube.org", - "https://nitter.fdn.fr", - "https://nitter.1d4.us", - "https://nitter.kavin.rocks", - "https://nitter.unixfox.eu", -]; - -let disableNitter; -let nitterInstance; -let redirectBypassFlag; -let exceptions; - -window.browser = window.browser || window.chrome; - -function getRandomInstance() { - return nitterInstances[~~(nitterInstances.length * Math.random())]; -} - -function isNotException(url) { - return !exceptions.some((regex) => regex.test(url.href)); -} - -function shouldRedirect(url) { - return ( - !redirectBypassFlag && - isNotException(url) && - !disableNitter && - 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.sync.get( - [ - "nitterInstance", - "disableNitter", - "removeTwitterSW", - "redirectBypassFlag", - "exceptions", - ], - (result) => { - redirectBypassFlag = result.redirectBypassFlag; - browser.storage.sync.set({ - redirectBypassFlag: false, - }); - if (!result.removeTwitterSW) { - disableNitter = result.disableNitter; - nitterInstance = result.nitterInstance || getRandomInstance(); - exceptions = result.exceptions - ? result.exceptions.map((e) => { - return 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; - } - } - } -); |