about summary refs log tree commit diff stats
path: root/assets/javascript/remove-twitter-sw.js
diff options
context:
space:
mode:
authorSimonBrazell <simon@brazell.com.au>2021-01-10 22:04:03 +1100
committerSimonBrazell <simon@brazell.com.au>2021-01-10 22:04:03 +1100
commit944f2e6ef09a1534bac061acca2e3b3a4c13b13a (patch)
tree86bbd36f9896db47b6938d098658192bd31db01e /assets/javascript/remove-twitter-sw.js
parentMerge pull request #153 from somoso/patch-1 (diff)
downloadlibredirect-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.js92
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;
-      }
-    }
-  }
-);