about summary refs log tree commit diff stats
path: root/assets/remove-twitter-sw.js
diff options
context:
space:
mode:
authorSimonBrazell <simon@brazell.com.au>2020-07-12 11:26:48 +1000
committerSimonBrazell <simon@brazell.com.au>2020-07-12 20:25:31 +1000
commit745c5babcf9104924631185b2ea3f235c45d270a (patch)
tree457df4cd62a541e1b65a82eb1ca2f9b1f28fbd06 /assets/remove-twitter-sw.js
parentCloses #64, closes #38 - Fix whitelist & Twitter `/home` exception (diff)
downloadlibredirect-745c5babcf9104924631185b2ea3f235c45d270a.zip
Improve exceptions (whitelist), i18n (fr), etc.
- Closes #69
- Closes #70
- Fixes #71
- Closes #72 - added fr l10n
- Fixes #73
- Implement additional Invidious params (#66)
Diffstat (limited to 'assets/remove-twitter-sw.js')
-rw-r--r--assets/remove-twitter-sw.js65
1 files changed, 0 insertions, 65 deletions
diff --git a/assets/remove-twitter-sw.js b/assets/remove-twitter-sw.js
deleted file mode 100644
index d1b30637..00000000
--- a/assets/remove-twitter-sw.js
+++ /dev/null
@@ -1,65 +0,0 @@
-'use strict';
-
-const nitterDefault = 'https://nitter.net';
-
-let disableNitter;
-let nitterInstance;
-let redirectBypassFlag;
-let whitelist;
-
-window.browser = window.browser || window.chrome;
-
-function isNotWhitelisted(url) {
-  return !whitelist.some(regex => (regex.test(url.href)));
-}
-
-function shouldRedirect(url) {
-  return !redirectBypassFlag &&
-    isNotWhitelisted(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'],
-  (result) => {
-    redirectBypassFlag = result.redirectBypassFlag;
-    browser.storage.sync.set({
-      redirectBypassFlag: false
-    });
-    if (!result.removeTwitterSW) {
-      disableNitter = result.disableNitter;
-      nitterInstance = result.nitterInstance || nitterDefault;
-      whitelist = result.whitelist ? result.whitelist.map(e => {
-        return new RegExp(e.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'));
-      }) : [];
-      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()) {
-        const redirect = redirectTwitter(url);
-        console.info(
-          'Redirecting', `"${url.href}"`, '=>', `"${redirect}"`
-        );
-        window.location = redirect;
-      }
-    }
-  }
-);