about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/assets/javascripts/helpers/imgur.js44
-rw-r--r--src/assets/javascripts/helpers/instagram.js58
-rw-r--r--src/assets/javascripts/helpers/maps.js49
-rw-r--r--src/assets/javascripts/helpers/medium.js48
-rw-r--r--src/assets/javascripts/helpers/reddit.js30
-rw-r--r--src/assets/javascripts/helpers/search.js75
-rw-r--r--src/assets/javascripts/helpers/tiktok.js38
-rw-r--r--src/assets/javascripts/helpers/translate.js7
-rw-r--r--src/assets/javascripts/helpers/twitter.js49
-rw-r--r--src/assets/javascripts/helpers/wikipedia.js46
-rw-r--r--src/assets/javascripts/helpers/youtube/youtube.js151
-rw-r--r--src/pages/background/background.js22
-rw-r--r--src/pages/options/imgur/imgur.js4
-rw-r--r--src/pages/options/instagram/instagram.js4
-rw-r--r--src/pages/options/maps/maps.js4
-rw-r--r--src/pages/options/medium/medium.js4
-rw-r--r--src/pages/options/search/search.js8
-rw-r--r--src/pages/options/tiktok/tiktok.js4
-rw-r--r--src/pages/options/twitter/twitter.js4
-rw-r--r--src/pages/options/wikipedia/wikipedia.js4
-rw-r--r--src/pages/options/youtube/youtube.js4
-rw-r--r--src/pages/popup/popup.html2
-rw-r--r--src/pages/popup/popup.js36
23 files changed, 322 insertions, 373 deletions
diff --git a/src/assets/javascripts/helpers/imgur.js b/src/assets/javascripts/helpers/imgur.js
index 0629b4da..a4db5b22 100644
--- a/src/assets/javascripts/helpers/imgur.js
+++ b/src/assets/javascripts/helpers/imgur.js
@@ -61,39 +61,39 @@ function setRimgoCustomRedirects(val) {
     console.log("rimgoCustomRedirects: ", val)
 }
 
-let disableImgur;
-const getDisableImgur = () => disableImgur;
-function setDisableImgur(val) {
-    disableImgur = val;
-    browser.storage.sync.set({ disableImgur })
+let disable;
+const getDisable = () => disable;
+function setDisable(val) {
+    disable = val;
+    browser.storage.sync.set({ disableImgur: disable })
 }
 
-function redirect(url, initiator, type) {
+function isImgur(url, initiator) {
+    if (disable) return false;
+    if (url.pathname == "/") return false;
+    if (
+        initiator &&
+        ([...redirects.rimgo.normal, ...rimgoCustomRedirects].includes(initiator.origin) || targets.includes(initiator.host))
+    ) return false;
+    return targets.some((rx) => rx.test(url.href));
+}
+
+function redirect(url, type) {
     // https://imgur.com/gallery/s4WXQmn
     // https://imgur.com/a/H8M4rcp
     // https://imgur.com/gallery/gYiQLWy
     // https://imgur.com/gallery/cTRwaJU
     // https://i.imgur.com/CFSQArP.jpeg
 
-    if (disableImgur) return null;
-
-    if (url.pathname == "/") return null;
-
     if (type != "main_frame" && "sub_frame" && "xmlhttprequest" && "other") return null;
 
     let instancesList = [...rimgoRedirectsChecks, ...rimgoCustomRedirects];
     if (instancesList.length === 0) return null;
     let randomInstance = commonHelper.getRandomInstance(instancesList)
 
-    if (initiator && (instancesList.includes(initiator.origin) || targets.includes(initiator.host))) return null;
-
     return `${randomInstance}${url.pathname}${url.search}`;
 }
 
-function isImgur(url) {
-    return targets.some((rx) => rx.test(url.href));
-}
-
 async function init() {
     return new Promise((resolve) => {
         browser.storage.sync.get(
@@ -104,9 +104,9 @@ async function init() {
                 "rimgoCustomRedirects",
             ],
             (result) => {
-                disableImgur = result.disableImgur ?? false;
-                if (result.imgurRedirects)
-                    redirects = result.imgurRedirects;
+                disable = result.disableImgur ?? false;
+
+                if (result.imgurRedirects) redirects = result.imgurRedirects;
 
                 rimgoRedirectsChecks = result.rimgoRedirectsChecks ?? [...redirects.rimgo.normal];
                 rimgoCustomRedirects = result.rimgoCustomRedirects ?? [];
@@ -118,14 +118,12 @@ async function init() {
 }
 
 export default {
-    targets,
-
     getRedirects,
     getCustomRedirects,
     setRedirects,
 
-    getDisableImgur,
-    setDisableImgur,
+    getDisable,
+    setDisable,
 
     getRimgoRedirectsChecks,
     setRimgoRedirectsChecks,
diff --git a/src/assets/javascripts/helpers/instagram.js b/src/assets/javascripts/helpers/instagram.js
index 904a935e..6728a08f 100644
--- a/src/assets/javascripts/helpers/instagram.js
+++ b/src/assets/javascripts/helpers/instagram.js
@@ -42,7 +42,6 @@ function setRedirects(val) {
   setBibliogramRedirectsChecks(bibliogramRedirectsChecks);
 }
 
-
 let bibliogramRedirectsChecks;
 const getBibliogramRedirectsChecks = () => bibliogramRedirectsChecks;
 function setBibliogramRedirectsChecks(val) {
@@ -84,45 +83,40 @@ const reservedPaths = [
   "tv",
   "reel",
 ];
+
 const bypassPaths = /\/(accounts\/|embeds?.js)/;
 
-let disableInstagram;
-const getDisableInstagram = () => disableInstagram;
-function setDisableInstagram(val) {
-  disableInstagram = val;
-  browser.storage.sync.set({ disableInstagram })
+let disable;
+const getDisable = () => disable;
+function setDisable(val) {
+  disable = val;
+  browser.storage.sync.set({ disableInstagram: disable })
+}
+
+function isInstagram(url, initiator) {
+  if (disable) return false;
+  if (
+    initiator &&
+    ([...redirects.bibliogram.normal, ...bibliogramCustomRedirects].includes(initiator.origin) || targets.includes(initiator.host))
+  )
+    return false; // Do not redirect Bibliogram view on Instagram links
+  return targets.includes(url.host)
 }
 
-function redirect(url, initiator, type) {
-  if (disableInstagram) return null;
+function redirect(url, type) {
+  if (type !== "main_frame" || url.pathname.match(bypassPaths))
+    return 'CANCEL'; // Do not redirect /accounts, /embeds.js, or anything other than main_frame
 
   let instancesList = [...bibliogramRedirectsChecks, ...bibliogramCustomRedirects];
   if (instancesList.length === 0) return null;
   let randomInstance = commonHelper.getRandomInstance(instancesList)
 
-  // Do not redirect Bibliogram view on Instagram links
-  if (initiator && (instancesList.includes(initiator.origin) || targets.includes(initiator.host)))
-    return null;
-
-  // Do not redirect /accounts, /embeds.js, or anything other than main_frame
-  if (type !== "main_frame" || url.pathname.match(bypassPaths))
-    return 'CANCEL';
-
-  console.log("Hello", url.href)
-
-  if (url.pathname === "/" || reservedPaths.includes(url.pathname.split("/")[1])) {
-    console.log("wewe")
+  if (url.pathname === "/" || reservedPaths.includes(url.pathname.split("/")[1]))
     return `${randomInstance}${url.pathname}${url.search}`;
-  }
-  else {
-    console.log("A user profile")
-    return `${randomInstance}/u${url.pathname}${url.search}`;
-  } // Likely a user profile, redirect to '/u/...'
+  else
+    return `${randomInstance}/u${url.pathname}${url.search}`; // Likely a user profile, redirect to '/u/...'
 }
 
-function isInstagram(url) {
-  return targets.includes(url.host)
-}
 
 async function init() {
   return new Promise((resolve) => {
@@ -134,19 +128,17 @@ async function init() {
         "bibliogramCustomRedirects",
       ],
       (result) => {
-        disableInstagram = result.disableInstagram ?? false;
+        disable = result.disableInstagram ?? false;
 
         if (result.instagramRedirects) redirects = result.instagramRedirects
 
         bibliogramRedirectsChecks = result.bibliogramRedirectsChecks ?? [...redirects.bibliogram.normal];
-
         bibliogramCustomRedirects = result.bibliogramCustomRedirects ?? [];
 
         resolve();
       }
     )
   })
-
 }
 
 export default {
@@ -154,8 +146,8 @@ export default {
   getCustomRedirects,
   setRedirects,
 
-  getDisableInstagram,
-  setDisableInstagram,
+  getDisable,
+  setDisable,
 
   getBibliogramRedirectsChecks,
   setBibliogramRedirectsChecks,
diff --git a/src/assets/javascripts/helpers/maps.js b/src/assets/javascripts/helpers/maps.js
index 9b36661a..0b2d63b4 100644
--- a/src/assets/javascripts/helpers/maps.js
+++ b/src/assets/javascripts/helpers/maps.js
@@ -29,15 +29,12 @@ function addressToLatLng(address, callback) {
     if (xmlhttp.readyState === XMLHttpRequest.DONE) {
       if (xmlhttp.status === 200) {
         const json = JSON.parse(xmlhttp.responseText)[0];
-        if (json) {
-          callback(
-            `${json.lat}%2C${json.lon}`,
-            `${json.boundingbox[2]},${json.boundingbox[1]},${json.boundingbox[3]},${json.boundingbox[0]}`
-          );
-        }
-      } else {
+        if (json) callback(
+          `${json.lat}%2C${json.lon}`,
+          `${json.boundingbox[2]},${json.boundingbox[1]},${json.boundingbox[3]},${json.boundingbox[0]}`
+        );
+      } else
         console.info("Error: Status is " + xmlhttp.status);
-      }
     }
   };
   xmlhttp.open(
@@ -48,18 +45,20 @@ function addressToLatLng(address, callback) {
   xmlhttp.send();
 }
 
-let disableMaps;
-const getDisableMaps = () => disableMaps;
-function setDisableMaps(val) {
-  disableMaps = val;
-  browser.storage.sync.set({ disableMaps })
+let disable;
+const getDisable = () => disable;
+function setDisable(val) {
+  disable = val;
+  browser.storage.sync.set({ disableMaps: disable })
 }
 
-function redirect(url, initiator) {
-  if (disableMaps) return null;
-
-  if (initiator && initiator.host === "earth.google.com") return null;
+function isMaps(url, initiator) {
+  if (disable) return false;
+  if (initiator && initiator.host === "earth.google.com") return false;
+  return url.href.match(targets);
+}
 
+function redirect(url) {
   let redirect;
   let link = commonHelper.getRandomInstance(redirects.normal);
   let mapCentre = "";
@@ -104,10 +103,7 @@ function redirect(url, initiator) {
     addressToLatLng(url.searchParams.get("destination"), (coords) => destination = coords);
     redirect = `${link}/directions?engine=${travelMode}&route=${origin}%3B${destination}${mapCentre}${params}`;
     // Get marker from data attribute
-  } else if (
-    url.pathname.includes("data=") &&
-    url.pathname.match(dataLatLngRegex)
-  ) {
+  } else if (url.pathname.includes("data=") && url.pathname.match(dataLatLngRegex)) {
     const [mlat, mlon] = url.pathname.match(dataLatLngRegex);
     redirect = `${link}/?mlat=${mlat.replace("!3d", "")}&mlon=${mlon.replace("!4d", "")}${mapCentre}${params}`;
     // Get marker from ll param
@@ -130,16 +126,12 @@ function redirect(url, initiator) {
   return redirect;
 }
 
-function isMaps(url) {
-  return url.href.match(targets)
-}
-
 async function init() {
   return new Promise((resolve) => {
     browser.storage.sync.get(
       "disableMaps",
       (result) => {
-        disableMaps = result.disableMaps ?? false
+        disable = result.disableMaps ?? false
         resolve();
       }
     );
@@ -147,9 +139,8 @@ async function init() {
 }
 
 export default {
-  addressToLatLng,
-  getDisableMaps,
-  setDisableMaps,
+  getDisable,
+  setDisable,
   redirect,
   isMaps,
   init,
diff --git a/src/assets/javascripts/helpers/medium.js b/src/assets/javascripts/helpers/medium.js
index 832b2bad..63fde9b1 100644
--- a/src/assets/javascripts/helpers/medium.js
+++ b/src/assets/javascripts/helpers/medium.js
@@ -64,42 +64,35 @@ function setScribeCustomRedirects(val) {
   console.log("scribeCustomRedirects: ", val)
 }
 
-let disableMedium;
-const getDisableMedium = () => disableMedium;
-function setDisableMedium(val) {
-  disableMedium = val;
-  browser.storage.sync.set({ disableMedium })
+let disable;
+const getDisable = () => disable;
+function setDisable(val) {
+  disable = val;
+  browser.storage.sync.set({ disableMedium: disable })
 }
 
+function isMedium(url, initiator) {
+  if (disable) return false;
+  if (url.pathname == "/") return false;
 
+  if (
+    commonHelper.isFirefox() &&
+    initiator && ([...redirects.scribe.normal, ...scribeCustomRedirects].includes(initiator.origin) || targets.includes(initiator.host))
+  ) return false;
 
-function redirect(url, initiator, type) {
-
-  if (disableMedium) return null;
-
-  if (url.pathname == "/") return null;
+  return targets.some((rx) => rx.test(url.host));
+}
+function redirect(url, type) {
 
   if (type != "main_frame" && "sub_frame" && "xmlhttprequest" && "other") return null;
 
-
   let instancesList = [...scribeRedirectsChecks, ...scribeCustomRedirects];
   if (instancesList.length === 0) return null;
   let randomInstance = commonHelper.getRandomInstance(instancesList)
 
-  if (
-    commonHelper.isFirefox() && initiator &&
-    (instancesList.includes(initiator.origin) || targets.includes(initiator.host))
-  ) {
-    browser.storage.sync.set({ redirectBypassFlag: true });
-    return null;
-  }
   return `${randomInstance}${url.pathname}${url.search}`;
 }
 
-function isMedium(url) {
-  return targets.some((rx) => rx.test(url.host));
-}
-
 async function init() {
   return new Promise((resolve) => {
     browser.storage.sync.get(
@@ -110,12 +103,13 @@ async function init() {
         "scribeCustomRedirects",
       ],
       (result) => {
-        disableMedium = result.disableMedium ?? false;
-        if (result.mediumRedirects)
-          redirects = result.mediumRedirects;
+        disable = result.disableMedium ?? false;
+
+        if (result.mediumRedirects) redirects = result.mediumRedirects;
 
         scribeRedirectsChecks = result.scribeRedirectsChecks ?? [...redirects.scribe.normal];
         scribeCustomRedirects = result.scribeCustomRedirects ?? [];
+
         resolve();
       }
     )
@@ -130,8 +124,8 @@ export default {
   getCustomRedirects,
   setRedirects,
 
-  getDisableMedium,
-  setDisableMedium,
+  getDisable,
+  setDisable,
 
   getScribeRedirectsChecks,
   setScribeRedirectsChecks,
diff --git a/src/assets/javascripts/helpers/reddit.js b/src/assets/javascripts/helpers/reddit.js
index b8a65a0c..6d31c850 100644
--- a/src/assets/javascripts/helpers/reddit.js
+++ b/src/assets/javascripts/helpers/reddit.js
@@ -145,24 +145,26 @@ function setRedditFrontend(val) {
   browser.storage.sync.set({ redditFrontend })
 };
 
+function isReddit(url, initiator) {
+  if (
+    initiator &&
+    (
+      [...redirects.libreddit.normal, ...libredditCustomRedirects].includes(initiator.origin) ||
+      [...redirects.teddit.normal, ...tedditCustomRedirects].includes(initiator.origin) ||
+      targets.includes(initiator.host)
+    )
+  ) return false;
+  return targets.includes(url.host)
+}
 
-function redirect(url, initiator, type) {
+function redirect(url, type) {
   if (disableReddit) return null;
 
-  // Do not redirect when already on the selected view
-  // if ((initiator && initiator.origin === redditInstance) || url.origin === redditInstance)
-  //   return null;
-
-
-  // Do not redirect exclusions nor anything other than main_frame
-  if (type !== "main_frame" || url.pathname.match(bypassPaths))
-    return null;
+  if (type !== "main_frame" || url.pathname.match(bypassPaths)) return null;
 
   let libredditInstancesList = [...libredditRedirectsChecks, ...libredditCustomRedirects];
-
   let tedditInstancesList = [...tedditRedirectsChecks, ...tedditCustomRedirects];
 
-
   if (url.host === "i.redd.it") {
     if (libredditInstancesList.length === 0) return null;
     let libredditRandomInstance = commonHelper.getRandomInstance(libredditInstancesList);
@@ -195,21 +197,15 @@ function redirect(url, initiator, type) {
   if (redditFrontend == 'libreddit') {
     if (libredditInstancesList.length === 0) return null;
     let libredditRandomInstance = commonHelper.getRandomInstance(libredditInstancesList);
-
     return `${libredditRandomInstance}${url.pathname}${url.search}`;
   }
   if (redditFrontend == 'teddit') {
     if (tedditInstancesList.length === 0) return null;
     let tedditRandomInstance = commonHelper.getRandomInstance(tedditInstancesList);
-
     return `${tedditRandomInstance}${url.pathname}${url.search}`;
   }
 }
 
-function isReddit(url) {
-  return targets.includes(url.host)
-}
-
 async function init() {
   return new Promise((resolve) => {
     browser.storage.sync.get(
diff --git a/src/assets/javascripts/helpers/search.js b/src/assets/javascripts/helpers/search.js
index ceefc78b..85f14587 100644
--- a/src/assets/javascripts/helpers/search.js
+++ b/src/assets/javascripts/helpers/search.js
@@ -161,6 +161,13 @@ function setSearxRedirects(val) {
   }
   setSearxRedirectsChecks(searxRedirectsChecks);
 }
+
+function setWhoogleRedirects(val) {
+  redirects.whoogle = val;
+  browser.storage.sync.set({ searchRedirects: redirects })
+  console.log("whoogleRedirects:", val)
+}
+
 let whoogleRedirectsChecks;
 const getWhoogleRedirectsChecks = () => whoogleRedirectsChecks;
 function setWhoogleRedirectsChecks(val) {
@@ -199,57 +206,51 @@ function setSearxCustomRedirects(val) {
   console.log("searxCustomRedirects: ", val)
 }
 
-function setWhoogleRedirects(val) {
-  redirects.whoogle = val;
-  browser.storage.sync.set({ searchRedirects: redirects })
-  console.log("whoogleRedirects:", val)
-}
-
-let disableSearch;
-const getDisableSearch = () => disableSearch;
-function setDisableSearch(val) {
-  disableSearch = val;
-  browser.storage.sync.set({ disableSearch })
-  console.log("disableSearch: ", disableSearch)
+let disable;
+const getDisable = () => disable;
+function setDisable(val) {
+  disable = val;
+  browser.storage.sync.set({ disableSearch: disable })
+  console.log("disableSearch: ", disable)
 }
 
-let searchFrontend;
-const getSearchFrontend = () => searchFrontend;
-function setSearchFrontend(val) {
-  searchFrontend = val;
-  browser.storage.sync.set({ searchFrontend })
-  console.log("searchFrontend: ", searchFrontend)
+let frontend;
+const getFrontend = () => frontend;
+function setFrontend(val) {
+  frontend = val;
+  browser.storage.sync.set({ searchFrontend: frontend })
+  console.log("searchFrontend: ", frontend)
 };
 
-function redirect(url, initiator) {
-  if (disableSearch)
-    return null;
+function isSearch(url, initiator) {
+  if (disable) return false;
+  return targets.some((rx) => rx.test(url.href));
+}
 
+function redirect(url) {
   let randomInstance;
   let path;
-  if (searchFrontend == 'searx') {
+  if (frontend == 'searx') {
     let instancesList = [...searxRedirectsChecks, ...searxCustomRedirects];
     if (instancesList.length === 0) return null;
     randomInstance = commonHelper.getRandomInstance(instancesList)
-    path = "/"
+    path = "/";
   }
-  if (searchFrontend == 'whoogle') {
+  if (frontend == 'whoogle') {
     let instancesList = [...whoogleRedirectsChecks, ...whoogleCustomRedirects];
     if (instancesList.length === 0) return null;
     randomInstance = commonHelper.getRandomInstance(instancesList)
-    path = "/search"
+    path = "/search";
   }
 
   let searchQuery = "";
   url.search.slice(1).split("&").forEach((input) => {
     if (input.startsWith("q=")) searchQuery = input;
   });
+
   return `${randomInstance}${path}?${searchQuery}`;
 }
 
-function isSearch(url) {
-  return targets.some((rx) => rx.test(url.href));
-}
 
 async function init() {
   return new Promise((resolve) => {
@@ -264,15 +265,16 @@ async function init() {
         "searxCustomRedirects",
       ],
       (result) => {
-        disableSearch = result.disableSearch ?? false;
-        searchFrontend = result.searchFrontend ?? 'searx';
+        disable = result.disableSearch ?? false;
+        
+        frontend = result.searchFrontend ?? 'searx';
+
         if (result.searchRedirects) redirects = result.searchRedirects;
 
         whoogleRedirectsChecks = result.whoogleRedirectsChecks ?? [...redirects.whoogle.normal];
         whoogleCustomRedirects = result.whoogleCustomRedirects ?? [];
 
         searxRedirectsChecks = result.searxRedirectsChecks ?? [...redirects.searx.normal];
-
         searxCustomRedirects = result.searxCustomRedirects ?? [];
 
         resolve();
@@ -282,19 +284,18 @@ async function init() {
 }
 
 export default {
-  targets,
   isSearch,
 
+  getDisable,
+  setDisable,
+
   getRedirects,
   getCustomRedirects,
   setSearxRedirects,
   setWhoogleRedirects,
 
-  getDisableSearch,
-  setDisableSearch,
-
-  getSearchFrontend,
-  setSearchFrontend,
+  getFrontend,
+  setFrontend,
 
   getWhoogleRedirectsChecks,
   setWhoogleRedirectsChecks,
diff --git a/src/assets/javascripts/helpers/tiktok.js b/src/assets/javascripts/helpers/tiktok.js
index b50a654f..67a100c3 100644
--- a/src/assets/javascripts/helpers/tiktok.js
+++ b/src/assets/javascripts/helpers/tiktok.js
@@ -51,36 +51,34 @@ function setProxiTokCustomRedirects(val) {
     console.log("proxiTokCustomRedirects: ", val)
 }
 
-let disableTiktok;
-const getDisableTiktok = () => disableTiktok;
-function setDisableTiktok(val) {
-    disableTiktok = val;
-    browser.storage.sync.set({ disableTiktok })
+let disable;
+const getDisable = () => disable;
+function setDisable(val) {
+    disable = val;
+    browser.storage.sync.set({ disableTiktok: disable })
 }
 
-function redirect(url, initiator, type) {
+function isTiktok(url, initiator) {
+    if (disable) return false;
+    if (initiator && ([...redirects.proxiTok.normal, ...proxiTokCustomRedirects].includes(initiator.origin) || targets.includes(initiator.host))) return false;
+    return targets.some((rx) => rx.test(url.href));
+}
+
+function redirect(url, type) {
     // https://www.tiktok.com/@keysikaspol/video/7061265241887345946
     // https://www.tiktok.com/@keysikaspol
 
-    if (disableTiktok) return null;
-
     if (type != "main_frame" && "sub_frame" && "xmlhttprequest") return null;
 
     let instancesList = [...proxiTokRedirectsChecks, ...proxiTokCustomRedirects];
     if (instancesList.length === 0) return null;
-    let randomInstance = commonHelper.getRandomInstance(instancesList)
-
-    if (initiator && (instancesList.includes(initiator.origin) || targets.includes(initiator.host))) return null;
+    let randomInstance = commonHelper.getRandomInstance(instancesList);
 
-    let pathName = url.pathname.replace(new RegExp(/@.*\/(?=video)/), "")
+    let pathName = url.pathname.replace(new RegExp(/@.*\/(?=video)/), "");
 
     return `${randomInstance}${pathName}`;
 }
 
-function isTiktok(url) {
-    return targets.some((rx) => rx.test(url.href));
-}
-
 async function init() {
     return new Promise((resolve) => {
         browser.storage.sync.get(
@@ -91,7 +89,8 @@ async function init() {
                 "proxiTokCustomRedirects",
             ],
             (result) => {
-                disableTiktok = result.disableTiktok ?? false;
+                disable = result.disableTiktok ?? false;
+
                 if (result.tiktokRedirects) redirects = result.tiktokRedirects;
 
                 proxiTokRedirectsChecks = result.proxiTokRedirectsChecks ?? [...redirects.proxiTok.normal];
@@ -104,14 +103,13 @@ async function init() {
 }
 
 export default {
-    targets,
 
     getRedirects,
     getCustomRedirects,
     setRedirects,
 
-    getDisableTiktok,
-    setDisableTiktok,
+    getDisable,
+    setDisable,
 
     getProxiTokRedirectsChecks,
     setProxiTokRedirectsChecks,
diff --git a/src/assets/javascripts/helpers/translate.js b/src/assets/javascripts/helpers/translate.js
index 98546bcb..9aae8da7 100644
--- a/src/assets/javascripts/helpers/translate.js
+++ b/src/assets/javascripts/helpers/translate.js
@@ -138,12 +138,12 @@ function setTo(val) {
   console.log("to: ", to)
 }
 
-function isTranslate(url) {
-  if (disable) return null;
+function isTranslate(url, initiator) {
+  if (disable) return false;
   return targets.includes(url.host)
 }
 
-function redirect(url, initiator) {
+function redirect(url) {
   let params_arr = url.search.split('&');
   params_arr[0] = params_arr[0].substring(1);
   let myMap = {};
@@ -171,7 +171,6 @@ function redirect(url, initiator) {
     else
       return randomInstance;
   }
-
 }
 
 async function init() {
diff --git a/src/assets/javascripts/helpers/twitter.js b/src/assets/javascripts/helpers/twitter.js
index 8e29e4a6..ba0b0974 100644
--- a/src/assets/javascripts/helpers/twitter.js
+++ b/src/assets/javascripts/helpers/twitter.js
@@ -118,43 +118,37 @@ function setNitterCustomRedirects(val) {
   console.log("nitterCustomRedirects: ", val)
 }
 
-let disableTwitter;
-const getDisableTwitter = () => disableTwitter;
-function setDisableTwitter(val) {
-  disableTwitter = val;
-  browser.storage.sync.set({ disableTwitter })
+let disable;
+const getDisable = () => disable;
+function setDisable(val) {
+  disable = val;
+  browser.storage.sync.set({ disableTwitter: disable })
 }
 
-
-function redirect(url, initiator) {
-  if (disableTwitter) return null;
-
+function isTwitter(url, initiator) {
+  if (disable) return false;
   if (url.pathname.split("/").includes("home")) return null;
+  if (
+    commonHelper.isFirefox() &&
+    initiator && ([...redirects.nitter.normal, ...nitterCustomRedirects].includes(initiator.origin) || targets.includes(initiator.host))
+  ) return false;
 
+  return targets.includes(url.host)
+}
+
+function redirect(url) {
   let instancesList = [...nitterRedirectsChecks, ...nitterCustomRedirects];
   if (instancesList.length === 0) return null;
   let randomInstance = commonHelper.getRandomInstance(instancesList)
 
-  if (
-    commonHelper.isFirefox() &&
-    initiator &&
-    (instancesList.includes(initiator.origin) || targets.includes(initiator.host))
-  ) {
-    browser.storage.sync.set({ redirectBypassFlag: true });
-    return null;
-  }
   if (url.host.split(".")[0] === "pbs" || url.host.split(".")[0] === "video")
     return `${randomInstance}/pic/${encodeURIComponent(url.href)}`;
 
   else if (url.pathname.split("/").includes("tweets"))
     return `${randomInstance}${url.pathname.replace("/tweets", "")}${url.search}`;
+
   else
     return `${randomInstance}${url.pathname}${url.search}`;
-
-}
-
-function isTwitter(url) {
-  return targets.includes(url.host)
 }
 
 async function init() {
@@ -167,12 +161,13 @@ async function init() {
         "nitterCustomRedirects",
       ],
       (result) => {
-        disableTwitter = result.disableTwitter ?? false;
-        if (result.twitterRedirects)
-          redirects = result.twitterRedirects;
+        disable = result.disableTwitter ?? false;
+
+        if (result.twitterRedirects) redirects = result.twitterRedirects;
 
         nitterRedirectsChecks = result.nitterRedirectsChecks ?? [...redirects.nitter.normal];
         nitterCustomRedirects = result.nitterCustomRedirects ?? [];
+
         resolve();
       }
     );
@@ -184,8 +179,8 @@ export default {
   getCustomRedirects,
   setRedirects,
 
-  getDisableTwitter,
-  setDisableTwitter,
+  getDisable,
+  setDisable,
 
   getNitterRedirectsChecks,
   setNitterRedirectsChecks,
diff --git a/src/assets/javascripts/helpers/wikipedia.js b/src/assets/javascripts/helpers/wikipedia.js
index 0c480b31..2eb60508 100644
--- a/src/assets/javascripts/helpers/wikipedia.js
+++ b/src/assets/javascripts/helpers/wikipedia.js
@@ -2,7 +2,7 @@ window.browser = window.browser || window.chrome;
 
 import commonHelper from './common.js'
 
-const targets = /wikipedia.org/;
+const targets = /https:\/\/(www\.|)wikipedia\.org/
 
 let redirects = {
   "wikiless": {
@@ -37,14 +37,13 @@ function setRedirects(val) {
   setWikilessRedirectsChecks(wikilessRedirectsChecks);
 }
 
-let disableWikipedia;
-const getDisableWikipedia = () => disableWikipedia;
-function setDisableWikipedia(val) {
-  disableWikipedia = val;
-  browser.storage.sync.set({ disableWikipedia })
+let disable;
+const getDisable = () => disable;
+function setDisable(val) {
+  disable = val;
+  browser.storage.sync.set({ disableWikipedia: disable })
 }
 
-
 let wikilessRedirectsChecks;
 const getWikilessRedirectsChecks = () => wikilessRedirectsChecks;
 function setWikilessRedirectsChecks(val) {
@@ -61,9 +60,12 @@ function setWikilessCustomRedirects(val) {
   console.log("wikilessCustomRedirects: ", val)
 }
 
-function redirect(url, initiator) {
-  if (disableWikipedia) return null;
+function isWikipedia(url, initiator) {
+  if (disable) return false;
+  return url.host.match(targets);
+}
 
+function redirect(url) {
   let GETArguments = [];
   if (url.search.length > 0) {
     let search = url.search.substring(1); //get rid of '?'
@@ -75,10 +77,7 @@ function redirect(url, initiator) {
   }
 
   let instancesList = [...wikilessRedirectsChecks, ...wikilessCustomRedirects];
-
-  if (instancesList.length === 0)
-    return null;
-
+  if (instancesList.length === 0) return null;
   let randomInstance = commonHelper.getRandomInstance(instancesList)
 
   let link = `${randomInstance}${url.pathname}`;
@@ -86,7 +85,8 @@ function redirect(url, initiator) {
   if (urlSplit[0] != "wikipedia" && urlSplit[0] != "www") {
     if (urlSplit[0] == "m")
       GETArguments.push(["mobileaction", "toggle_view_mobile"]);
-    else GETArguments.push(["lang", urlSplit[0]]);
+    else
+      GETArguments.push(["lang", urlSplit[0]]);
     if (urlSplit[1] == "m")
       GETArguments.push(["mobileaction", "toggle_view_mobile"]);
     // wikiless doesn't have mobile view support yet
@@ -94,17 +94,8 @@ function redirect(url, initiator) {
   for (let i = 0; i < GETArguments.length; i++)
     link += (i == 0 ? "?" : "&") + GETArguments[i][0] + "=" + GETArguments[i][1];
 
-  if (
-    urlSplit[urlSplit.length - 1] == "org" &&
-    urlSplit[urlSplit.length - 2] == "wikipedia"
-  )
-    //just in case someone wanted to visit wikipedia.org.foo.bar.net
-    return link;
-  else return null;
-}
+  return link;
 
-function isWikipedia(url) {
-  return url.host.match(targets);
 }
 
 async function init() {
@@ -116,7 +107,8 @@ async function init() {
         "wikilessRedirectsChecks",
         "wikilessCustomRedirects",
       ], (result) => {
-        disableWikipedia = result.disableWikipedia ?? false;
+        disable = result.disableWikipedia ?? false;
+
         if (result.wikipediaRedirects) redirects = result.wikipediaRedirects;
 
         wikilessRedirectsChecks = result.wikilessRedirectsChecks ?? [...redirects.wikiless.normal];
@@ -133,8 +125,8 @@ export default {
   getCustomRedirects,
   setRedirects,
 
-  setDisableWikipedia,
-  getDisableWikipedia,
+  setDisable,
+  getDisable,
 
   getWikilessRedirectsChecks,
   setWikilessRedirectsChecks,
diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js
index 4d65b8c8..a7a7cad5 100644
--- a/src/assets/javascripts/helpers/youtube/youtube.js
+++ b/src/assets/javascripts/helpers/youtube/youtube.js
@@ -109,12 +109,12 @@ function setPipedRedirects(val) {
   console.log("pipedRedirects: ", val)
 }
 
-let disableYoutube;
-const getDisableYoutube = () => disableYoutube;
-function setDisableYoutube(val) {
-  disableYoutube = val;
-  browser.storage.sync.set({ disableYoutube })
-  console.log("disableYoutube: ", disableYoutube)
+let disable;
+const getDisable = () => disable;
+function setDisable(val) {
+  disable = val;
+  browser.storage.sync.set({ disableYoutube: disable })
+  console.log("disableYoutube: ", disable)
 }
 
 let invidiousAlwaysProxy;
@@ -197,7 +197,6 @@ function setPersistInvidiousPrefs(val) {
   console.log("persistInvidiousPrefs: ", persistInvidiousPrefs)
 }
 
-
 let alwaysusePreferred;
 const getAlwaysusePreferred = () => alwaysusePreferred;
 function setAlwaysusePreferred(val) {
@@ -206,24 +205,17 @@ function setAlwaysusePreferred(val) {
   console.log("alwaysusePreferred: ", alwaysusePreferred)
 }
 
-let invidiousHostNames = () => redirects.invidious.normal.map(link => new URL(link).host);
-let pipedHostNames = () => redirects.piped.normal.map(link => new URL(link).host);
-
 function isYoutube(url, initiator) {
-  if (disableYoutube)
-    return null;
+  if (disable) return false;
 
   if (
     initiator &&
     (
-      redirects.invidious.normal.includes(initiator.origin) ||
-      redirects.piped.normal.includes(initiator.origin) ||
+      [...redirects.invidious.normal, ...invidiousCustomRedirects].includes(initiator.origin) ||
+      [...redirects.piped.normal, ...pipedCustomRedirects].includes(initiator.origin) ||
       targets.includes(initiator.host)
     )
-  )
-    return null;
-
-  if (url.pathname.match(/iframe_api/) || url.pathname.match(/www-widgetapi/)) return null; // Don't redirect YouTube Player API.
+  ) return false;
 
   let pipedInstancesList = [...pipedRedirectsChecks, ...pipedCustomRedirects];
   let invidiousInstancesList = [...invidiousRedirectsChecks, ...invidiousCustomRedirects];
@@ -231,14 +223,10 @@ function isYoutube(url, initiator) {
   let protocolHost = `${url.protocol}//${url.host}`;
 
   let isInvidious = redirects.invidious.normal.includes(protocolHost);
-  if (isInvidious)
-    for (const iterator of invidiousInstancesList)
-      if (iterator.indexOf(protocolHost) === 0) isInvidious = false;
+  if (isInvidious) for (const iterator of invidiousInstancesList) if (iterator.indexOf(protocolHost) === 0) isInvidious = false;
 
   let isPiped = redirects.piped.normal.includes(protocolHost);
-  if (isPiped)
-    for (const iterator of pipedInstancesList)
-      if (iterator.indexOf(protocolHost) === 0) isPiped = false;
+  if (isPiped) for (const iterator of pipedInstancesList) if (iterator.indexOf(protocolHost) === 0) isPiped = false;
 
   if (frontend == 'invidious') {
     if (alwaysusePreferred)
@@ -256,6 +244,59 @@ function isYoutube(url, initiator) {
     return isTargets
 }
 
+function redirect(url, type) {
+  if (url.pathname.match(/iframe_api/) || url.pathname.match(/www-widgetapi/)) return null; // Don't redirect YouTube Player API.
+
+  if (frontend == 'freeTube' && type === "main_frame") {
+    return `freetube://${url}`;
+  } else if (frontend == 'invidious') {
+
+    if (OnlyEmbeddedVideo == 'onlyEmbedded' && type !== "sub_frame") return null;
+    if (OnlyEmbeddedVideo == 'onlyNotEmbedded' && type !== "main_frame") return null;
+
+    let instancesList = [...invidiousRedirectsChecks, ...invidiousCustomRedirects];
+    if (instancesList.length === 0) return null;
+    let randomInstance = commonHelper.getRandomInstance(instancesList);
+
+    if (theme != "DEFAULT") url.searchParams.append("dark_mode", theme);
+    if (volume != "--") url.searchParams.append("volume", volume);
+    if (autoplay != "DEFAULT") url.searchParams.append("autoplay", autoplay);
+
+    if (invidiousAlwaysProxy != "DEFAULT") url.searchParams.append("local", invidiousAlwaysProxy);
+    if (invidiousVideoQuality != "DEFAULT") url.searchParams.append("quality", invidiousVideoQuality);
+    if (invidiousPlayerStyle != "DEFAULT") url.searchParams.append("player_style", invidiousPlayerStyle);
+    if (invidiousSubtitles.trim() != '') url.searchParams.append("subtitles", invidiousSubtitles);
+
+    return `${randomInstance}${url.pathname.replace("/shorts/", "/watch?v=")}${url.search}`;
+
+  } else if (frontend == 'piped') {
+
+    if (OnlyEmbeddedVideo == 'onlyEmbedded' && type !== "sub_frame") return null;
+    if (OnlyEmbeddedVideo == 'onlyNotEmbedded' && type !== "main_frame") return null;
+
+    let instancesList = [...pipedRedirectsChecks, ...pipedCustomRedirects];
+    if (instancesList.length === 0) return null;
+    let randomInstance = commonHelper.getRandomInstance(instancesList);
+
+    if (theme != "DEFAULT") url.searchParams.append("theme", theme);
+    if (volume != "--") url.searchParams.append("volume", volume / 100);
+    if (autoplay != "DEFAULT") url.searchParams.append("playerAutoPlay", autoplay);
+
+    return `${randomInstance}${url.pathname.replace("/shorts/", "/watch?v=")}${url.search}`;
+  }
+  return 'CANCEL';
+}
+
+function invidiousInitCookies(tabId) {
+  browser.tabs.executeScript(
+    tabId,
+    {
+      file: "/assets/javascripts/helpers/youtube/invidious-cookies.js",
+      runAt: "document_start"
+    }
+  );
+}
+
 async function init() {
   return new Promise((resolve) => {
     browser.storage.sync.get(
@@ -281,17 +322,18 @@ async function init() {
       (result) => {
         if (result.youtubeRedirects) redirects = result.youtubeRedirects;
 
+        disable = result.disableYoutube ?? false;
         frontend = result.youtubeFrontend ?? 'piped';
-        disableYoutube = result.disableYoutube ?? false;
+
+        theme = result.youtubeTheme ?? 'DEFAULT';
+        volume = result.youtubeVolume ?? '--';
+        autoplay = result.youtubeAutoplay ?? 'DEFAULT';
 
         invidiousAlwaysProxy = result.invidiousAlwaysProxy ?? 'DEFAULT';
         OnlyEmbeddedVideo = result.OnlyEmbeddedVideo ?? 'both';
         invidiousVideoQuality = result.invidiousVideoQuality ?? 'DEFAULT';
-        theme = result.youtubeTheme ?? 'DEFAULT';
-        volume = result.youtubeVolume ?? '--';
         invidiousPlayerStyle = result.invidiousPlayerStyle ?? 'DEFAULT';
         invidiousSubtitles = result.invidiousSubtitles || '';
-        autoplay = result.youtubeAutoplay ?? 'DEFAULT';
 
         invidiousRedirectsChecks = result.invidiousRedirectsChecks ?? [...redirects.invidious.normal];
         invidiousCustomRedirects = result.invidiousCustomRedirects ?? [];
@@ -309,55 +351,6 @@ async function init() {
   })
 }
 
-function invidiousInitCookies(tabId) {
-  browser.tabs.executeScript(
-    tabId, {
-    file: "/assets/javascripts/helpers/youtube/invidious-cookies.js",
-    runAt: "document_start"
-  });
-}
-
-function redirect(url, type) {
-  if (frontend == 'freeTube' && type === "main_frame")
-    return `freetube://${url}`;
-
-  else if (frontend == 'invidious') {
-
-    let instancesList = [...invidiousRedirectsChecks, ...invidiousCustomRedirects];
-    if (instancesList.length === 0) return null;
-    let randomInstance = commonHelper.getRandomInstance(instancesList);
-
-    if (OnlyEmbeddedVideo == 'onlyEmbedded' && type !== "sub_frame") return null
-    if (OnlyEmbeddedVideo == 'onlyNotEmbedded' && type !== "main_frame") return null;
-
-    if (invidiousAlwaysProxy != "DEFAULT") url.searchParams.append("local", invidiousAlwaysProxy);
-    if (invidiousVideoQuality != "DEFAULT") url.searchParams.append("quality", invidiousVideoQuality);
-    if (theme != "DEFAULT") url.searchParams.append("dark_mode", theme);
-    if (volume != "--") url.searchParams.append("volume", volume);
-    if (autoplay != "DEFAULT") url.searchParams.append("autoplay", autoplay);
-    if (invidiousPlayerStyle != "DEFAULT") url.searchParams.append("player_style", invidiousPlayerStyle);
-    if (invidiousSubtitles.trim() != '') url.searchParams.append("subtitles", invidiousSubtitles);
-
-    return `${randomInstance}${url.pathname.replace("/shorts/", "/watch?v=")}${url.search}`;
-
-  } else if (frontend == 'piped') {
-
-    let instancesList = [...pipedRedirectsChecks, ...pipedCustomRedirects];
-    if (instancesList.length === 0) return null;
-    let randomInstance = commonHelper.getRandomInstance(instancesList);
-
-    if (OnlyEmbeddedVideo == 'onlyEmbedded' && type !== "sub_frame") return null
-    if (OnlyEmbeddedVideo == 'onlyNotEmbedded' && type !== "main_frame") return null;
-
-    if (theme != "DEFAULT") url.searchParams.append("theme", theme);
-    if (volume != "--") url.searchParams.append("volume", volume / 100);
-    if (autoplay != "DEFAULT") url.searchParams.append("playerAutoPlay", autoplay);
-
-    return `${randomInstance}${url.pathname.replace("/shorts/", "/watch?v=")}${url.search}`;
-  }
-  return 'CANCEL';
-}
-
 export default {
   invidiousInitCookies,
 
@@ -372,8 +365,8 @@ export default {
   redirect,
   isYoutube,
 
-  getDisableYoutube,
-  setDisableYoutube,
+  getDisable,
+  setDisable,
 
   setInvidiousAlwaysProxy,
   getInvidiousAlwaysProxy,
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index bebb64f6..8e16159e 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -45,29 +45,29 @@ browser.webRequest.onBeforeRequest.addListener(
 
     var newUrl;
 
-    if (exceptionsHelper.isException(url)) newUrl = null;
+    if (exceptionsHelper.isException(url, initiator)) newUrl = null;
 
     else if (youtubeHelper.isYoutube(url, initiator)) newUrl = youtubeHelper.redirect(url, details.type)
 
-    else if (twitterHelper.isTwitter(url)) newUrl = twitterHelper.redirect(url, initiator);
+    else if (twitterHelper.isTwitter(url, initiator)) newUrl = twitterHelper.redirect(url);
 
-    else if (instagramHelper.isInstagram(url)) newUrl = instagramHelper.redirect(url, initiator, details.type);
+    else if (instagramHelper.isInstagram(url, initiator)) newUrl = instagramHelper.redirect(url, details.type);
 
-    else if (mapsHelper.isMaps(url)) newUrl = mapsHelper.redirect(url, initiator);
+    else if (mapsHelper.isMaps(url, initiator)) newUrl = mapsHelper.redirect(url);
 
-    else if (redditHelper.isReddit(url)) newUrl = redditHelper.redirect(url, initiator, details.type);
+    else if (redditHelper.isReddit(url, initiator)) newUrl = redditHelper.redirect(url, details.type);
 
-    else if (mediumHelper.isMedium(url)) newUrl = mediumHelper.redirect(url, initiator, details.type);
+    else if (mediumHelper.isMedium(url, initiator)) newUrl = mediumHelper.redirect(url, details.type);
 
-    else if (imgurHelper.isImgur(url)) newUrl = imgurHelper.redirect(url, initiator, details.type);
+    else if (imgurHelper.isImgur(url, initiator)) newUrl = imgurHelper.redirect(url, details.type);
 
-    else if (tiktokHelper.isTiktok(url)) newUrl = tiktokHelper.redirect(url, initiator, details.type);
+    else if (tiktokHelper.isTiktok(url, initiator)) newUrl = tiktokHelper.redirect(url, details.type);
 
-    else if (translateHelper.isTranslate(url)) newUrl = translateHelper.redirect(url, initiator);
+    else if (translateHelper.isTranslate(url, initiator)) newUrl = translateHelper.redirect(url);
 
-    else if (searchHelper.isSearch(url)) newUrl = searchHelper.redirect(url, initiator)
+    else if (searchHelper.isSearch(url, initiator)) newUrl = searchHelper.redirect(url)
 
-    else if (wikipediaHelper.isWikipedia(url)) newUrl = wikipediaHelper.redirect(url, initiator);
+    else if (wikipediaHelper.isWikipedia(url, initiator)) newUrl = wikipediaHelper.redirect(url);
 
     if (newUrl) {
       if (newUrl == 'CANCEL') {
diff --git a/src/pages/options/imgur/imgur.js b/src/pages/options/imgur/imgur.js
index a0929553..1d4a8263 100644
--- a/src/pages/options/imgur/imgur.js
+++ b/src/pages/options/imgur/imgur.js
@@ -3,11 +3,11 @@ import commonHelper from "../../../assets/javascripts/helpers/common.js";
 
 let disableImgurElement = document.getElementById("disable-imgur");
 disableImgurElement.addEventListener("change",
-    (event) => imgurHelper.setDisableImgur(!event.target.checked)
+    (event) => imgurHelper.setDisable(!event.target.checked)
 );
 
 imgurHelper.init().then(() => {
-    disableImgurElement.checked = !imgurHelper.getDisableImgur();
+    disableImgurElement.checked = !imgurHelper.getDisable();
 
     commonHelper.processDefaultCustomInstances(
         'rimgo',
diff --git a/src/pages/options/instagram/instagram.js b/src/pages/options/instagram/instagram.js
index d9115784..0b4193df 100644
--- a/src/pages/options/instagram/instagram.js
+++ b/src/pages/options/instagram/instagram.js
@@ -3,11 +3,11 @@ import commonHelper from "../../../assets/javascripts/helpers/common.js";
 
 let disableInstagramElement = document.getElementById("disable-bibliogram");
 disableInstagramElement.addEventListener("change",
-    (event) => instagramHelper.setDisableInstagram(!event.target.checked)
+    (event) => instagramHelper.setDisable(!event.target.checked)
 );
 
 instagramHelper.init().then(() => {
-    disableInstagramElement.checked = !instagramHelper.getDisableInstagram();
+    disableInstagramElement.checked = !instagramHelper.getDisable();
 
     commonHelper.processDefaultCustomInstances(
         'bibliogram',
diff --git a/src/pages/options/maps/maps.js b/src/pages/options/maps/maps.js
index edb1cca3..4372567b 100644
--- a/src/pages/options/maps/maps.js
+++ b/src/pages/options/maps/maps.js
@@ -2,9 +2,9 @@ import mapsHelper from "../../../assets/javascripts/helpers/maps.js";
 
 let disableMapsElement = document.getElementById("disable-osm");
 disableMapsElement.addEventListener("change",
-    (event) => mapsHelper.setDisableMaps(!event.target.checked)
+    (event) => mapsHelper.setDisable(!event.target.checked)
 );
 
 mapsHelper.init().then(() => {
-    disableMapsElement.checked = !mapsHelper.getDisableMaps();
+    disableMapsElement.checked = !mapsHelper.getDisable();
 })
\ No newline at end of file
diff --git a/src/pages/options/medium/medium.js b/src/pages/options/medium/medium.js
index b24fc2aa..d9574e0d 100644
--- a/src/pages/options/medium/medium.js
+++ b/src/pages/options/medium/medium.js
@@ -3,11 +3,11 @@ import commonHelper from "../../../assets/javascripts/helpers/common.js";
 
 let disableMediumElement = document.getElementById("disable-medium");
 disableMediumElement.addEventListener("change",
-    (event) => mediumHelper.setDisableMedium(!event.target.checked)
+    (event) => mediumHelper.setDisable(!event.target.checked)
 );
 
 mediumHelper.init().then(() => {
-    disableMediumElement.checked = !mediumHelper.getDisableMedium();
+    disableMediumElement.checked = !mediumHelper.getDisable();
 
     commonHelper.processDefaultCustomInstances(
         'scribe',
diff --git a/src/pages/options/search/search.js b/src/pages/options/search/search.js
index c50fbb15..30128e96 100644
--- a/src/pages/options/search/search.js
+++ b/src/pages/options/search/search.js
@@ -3,7 +3,7 @@ import commonHelper from "../../../assets/javascripts/helpers/common.js";
 
 let disableSearchElement = document.getElementById("disable-search");
 disableSearchElement.addEventListener("change",
-  (event) => searchHelper.setDisableSearch(!event.target.checked)
+  (event) => searchHelper.setDisable(!event.target.checked)
 );
 
 
@@ -25,14 +25,14 @@ let searchFrontendElement = document.getElementById("search-frontend");
 searchFrontendElement.addEventListener("change",
   (event) => {
     let frontend = event.target.options[searchFrontendElement.selectedIndex].value
-    searchHelper.setSearchFrontend(frontend)
+    searchHelper.setFrontend(frontend)
     changeFrontendsSettings(frontend);
   }
 );
 
 searchHelper.init().then(() => {
-  disableSearchElement.checked = !searchHelper.getDisableSearch();
-  let frontend = searchHelper.getSearchFrontend();
+  disableSearchElement.checked = !searchHelper.getDisable();
+  let frontend = searchHelper.getFrontend();
   searchFrontendElement.value = frontend;
   changeFrontendsSettings(frontend);
 
diff --git a/src/pages/options/tiktok/tiktok.js b/src/pages/options/tiktok/tiktok.js
index f8ddb67e..f6153e51 100644
--- a/src/pages/options/tiktok/tiktok.js
+++ b/src/pages/options/tiktok/tiktok.js
@@ -3,11 +3,11 @@ import commonHelper from "../../../assets/javascripts/helpers/common.js";
 
 let disableTiktokElement = document.getElementById("disable-tiktok");
 disableTiktokElement.addEventListener("change",
-    (event) => tiktokHelper.setDisableTiktok(!event.target.checked)
+    (event) => tiktokHelper.setDisable(!event.target.checked)
 );
 
 tiktokHelper.init().then(() => {
-    disableTiktokElement.checked = !tiktokHelper.getDisableTiktok();
+    disableTiktokElement.checked = !tiktokHelper.getDisable();
 
     commonHelper.processDefaultCustomInstances(
         'proxiTok',
diff --git a/src/pages/options/twitter/twitter.js b/src/pages/options/twitter/twitter.js
index e9c64643..759ad573 100644
--- a/src/pages/options/twitter/twitter.js
+++ b/src/pages/options/twitter/twitter.js
@@ -3,11 +3,11 @@ import commonHelper from "../../../assets/javascripts/helpers/common.js";
 
 let disableTwitterElement = document.getElementById("disable-nitter");
 disableTwitterElement.addEventListener("change",
-    (event) => twitterHelper.setDisableTwitter(!event.target.checked)
+    (event) => twitterHelper.setDisable(!event.target.checked)
 );
 
 twitterHelper.init().then(() => {
-    disableTwitterElement.checked = !twitterHelper.getDisableTwitter(); 
+    disableTwitterElement.checked = !twitterHelper.getDisable(); 
 
     commonHelper.processDefaultCustomInstances(
         'nitter',
diff --git a/src/pages/options/wikipedia/wikipedia.js b/src/pages/options/wikipedia/wikipedia.js
index 8450714d..5abaed6f 100644
--- a/src/pages/options/wikipedia/wikipedia.js
+++ b/src/pages/options/wikipedia/wikipedia.js
@@ -3,10 +3,10 @@ import commonHelper from "../../../assets/javascripts/helpers/common.js";
 
 let disableWikipediaElement = document.getElementById("disable-wikipedia");
 disableWikipediaElement.addEventListener("change",
-    (event) => wikipediaHelper.setDisableWikipedia(!event.target.checked)
+    (event) => wikipediaHelper.setDisable(!event.target.checked)
 );
 wikipediaHelper.init().then(() => {
-    disableWikipediaElement.checked = !wikipediaHelper.getDisableWikipedia();
+    disableWikipediaElement.checked = !wikipediaHelper.getDisable();
 
     commonHelper.processDefaultCustomInstances(
         'wikiless',
diff --git a/src/pages/options/youtube/youtube.js b/src/pages/options/youtube/youtube.js
index 097ba096..52063dfb 100644
--- a/src/pages/options/youtube/youtube.js
+++ b/src/pages/options/youtube/youtube.js
@@ -33,7 +33,7 @@ youtubeFrontendElement.addEventListener("change",
 );
 
 disableYoutubeElement.addEventListener("change",
-    (event) => youtubeHelper.setDisableYoutube(!event.target.checked)
+    (event) => youtubeHelper.setDisable(!event.target.checked)
 );
 
 let themeElement = document.getElementById("invidious-theme");
@@ -74,7 +74,7 @@ alwaysUsePreferredElement.addEventListener("change",
 );
 
 youtubeHelper.init().then(() => {
-    disableYoutubeElement.checked = !youtubeHelper.getDisableYoutube();
+    disableYoutubeElement.checked = !youtubeHelper.getDisable();
     themeElement.checked = youtubeHelper.getTheme();
     volumeElement.value = youtubeHelper.getVolume();
     volumeValueElement.textContent = `${youtubeHelper.getVolume()}%`;
diff --git a/src/pages/popup/popup.html b/src/pages/popup/popup.html
index 7ab71814..f42a0889 100644
--- a/src/pages/popup/popup.html
+++ b/src/pages/popup/popup.html
@@ -177,7 +177,7 @@
 
   <script type="module" src="../options/init.js"></script>
   <script type="module" src="./popup.js"></script>
-  <script src="../../assets/javascripts/localise.js"></script>
+  <!-- <script src="../../assets/javascripts/localise.js"></script> -->
 </body>
 
 </html>
\ No newline at end of file
diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js
index 5ae42b97..c8e6c9a0 100644
--- a/src/pages/popup/popup.js
+++ b/src/pages/popup/popup.js
@@ -41,33 +41,33 @@ async function wholeInit() {
 };
 
 wholeInit().then(() => {
-  disableTwitterElement.checked = !twitterHelper.getDisableTwitter();
-  disableYoutubeElement.checked = !youtubeHelper.getDisableYoutube();
-  disableInstagramElement.checked = !instagramHelper.getDisableInstagram();
-  disableMapsElement.checked = !mapsHelper.getDisableMaps();
+  disableTwitterElement.checked = !twitterHelper.getDisable();
+  disableYoutubeElement.checked = !youtubeHelper.getDisable();
+  disableInstagramElement.checked = !instagramHelper.getDisable();
+  disableMapsElement.checked = !mapsHelper.getDisable();
   disableRedditElement.checked = !redditHelper.getDisableReddit();
-  disableSearchElement.checked = !searchHelper.getDisableSearch();
+  disableSearchElement.checked = !searchHelper.getDisable();
   disableElement.checked = !translateHelper.getDisable();
-  disableWikipediaElement.checked = !wikipediaHelper.getDisableWikipedia();
-  disableImgurElement.checked = !imgurHelper.getDisableImgur();
-  disableTiktokElement.checked = !tiktokHelper.getDisableTiktok();
-  disableMediumElement.checked = !mediumHelper.getDisableMedium();
+  disableWikipediaElement.checked = !wikipediaHelper.getDisable();
+  disableImgurElement.checked = !imgurHelper.getDisable();
+  disableTiktokElement.checked = !tiktokHelper.getDisable();
+  disableMediumElement.checked = !mediumHelper.getDisable();
 })
 
 disableTwitterElement.addEventListener("change",
-  (event) => twitterHelper.setDisableTwitter(!event.target.checked)
+  (event) => twitterHelper.setDisable(!event.target.checked)
 );
 
 disableYoutubeElement.addEventListener("change",
-  (event) => youtubeHelper.setDisableYoutube(!event.target.checked)
+  (event) => youtubeHelper.setDisable(!event.target.checked)
 );
 
 disableInstagramElement.addEventListener("change",
-  (event) => instagramHelper.setDisableInstagram(!event.target.checked)
+  (event) => instagramHelper.setDisable(!event.target.checked)
 );
 
 disableMapsElement.addEventListener("change",
-  (event) => mapsHelper.setDisableMaps(!event.target.checked)
+  (event) => mapsHelper.setDisable(!event.target.checked)
 );
 
 disableRedditElement.addEventListener("change",
@@ -75,7 +75,7 @@ disableRedditElement.addEventListener("change",
 );
 
 disableSearchElement.addEventListener("change",
-  (event) => searchHelper.setDisableSearch(!event.target.checked)
+  (event) => searchHelper.setDisable(!event.target.checked)
 );
 
 disableElement.addEventListener("change",
@@ -83,19 +83,19 @@ disableElement.addEventListener("change",
 );
 
 disableWikipediaElement.addEventListener("change",
-  (event) => wikipediaHelper.setDisableWikipedia(!event.target.checked)
+  (event) => wikipediaHelper.setDisable(!event.target.checked)
 );
 
 disableImgurElement.addEventListener("change",
-  (event) => imgurHelper.setDisableImgur(!event.target.checked)
+  (event) => imgurHelper.setDisable(!event.target.checked)
 );
 
 disableTiktokElement.addEventListener("change",
-  (event) => tiktokHelper.setDisableTiktok(!event.target.checked)
+  (event) => tiktokHelper.setDisable(!event.target.checked)
 );
 
 disableMediumElement.addEventListener("change",
-  (event) => mediumHelper.setDisableMedium(!event.target.checked)
+  (event) => mediumHelper.setDisable(!event.target.checked)
 );
 
 document.querySelector("#more-options").addEventListener("click", () => {