summaryrefslogtreecommitdiffstats
path: root/assets/javascript/remove-twitter-sw.js
diff options
context:
space:
mode:
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 f74ff89..0000000
--- 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;
- }
- }
- }
-);