about summary refs log tree commit diff stats
path: root/src/assets/javascripts
diff options
context:
space:
mode:
Diffstat (limited to 'src/assets/javascripts')
-rw-r--r--src/assets/javascripts/general.js6
-rw-r--r--src/assets/javascripts/imdb.js7
-rw-r--r--src/assets/javascripts/imgur.js9
-rw-r--r--src/assets/javascripts/instagram.js7
-rw-r--r--src/assets/javascripts/lbry.js7
-rw-r--r--src/assets/javascripts/medium.js9
-rw-r--r--src/assets/javascripts/peertube.js7
-rw-r--r--src/assets/javascripts/quora.js9
-rw-r--r--src/assets/javascripts/reddit.js7
-rw-r--r--src/assets/javascripts/reuters.js4
-rw-r--r--src/assets/javascripts/search.js7
-rw-r--r--src/assets/javascripts/sendTargets.js7
-rw-r--r--src/assets/javascripts/tiktok.js51
-rw-r--r--src/assets/javascripts/translate/translate.js8
-rw-r--r--src/assets/javascripts/twitter.js7
-rw-r--r--src/assets/javascripts/wikipedia.js7
-rw-r--r--src/assets/javascripts/youtube/youtube.js11
-rw-r--r--src/assets/javascripts/youtubeMusic.js4
18 files changed, 93 insertions, 81 deletions
diff --git a/src/assets/javascripts/general.js b/src/assets/javascripts/general.js
index 4e8b7a7d..f778d876 100644
--- a/src/assets/javascripts/general.js
+++ b/src/assets/javascripts/general.js
@@ -35,11 +35,9 @@ async function initDefaults() {
                 "youtube",
                 "twitter",
                 "instagram",
-                "tikTok",
+                "tiktok",
                 "imgur",
                 "reddit",
-                "search",
-                "medium",
                 "quora",
                 "translate",
                 "maps",
@@ -55,7 +53,7 @@ const allPopupFrontends = [
     "youtubeMusic",
     "twitter",
     "instagram",
-    "tikTok",
+    "tiktok",
     "imgur",
     "reddit",
     "search",
diff --git a/src/assets/javascripts/imdb.js b/src/assets/javascripts/imdb.js
index a388660b..0061b7e3 100644
--- a/src/assets/javascripts/imdb.js
+++ b/src/assets/javascripts/imdb.js
@@ -65,8 +65,8 @@ function init() {
 init();
 browser.storage.onChanged.addListener(init)
 
-function redirect(url, type, initiator) {
-    if (disableImdb) return;
+function redirect(url, type, initiator, disableOverride) {
+    if (disableImdb && !disableOverride) return;
     if (url.pathname == "/") return;
     if (type != "main_frame") return;
     const all = [
@@ -101,9 +101,10 @@ function reverse(url) {
     })
 }
 
-function switchInstance(url) {
+function switchInstance(url, disableOverride) {
     return new Promise(async resolve => {
         await init();
+        if (disableImdb && !disableOverride) { resolve(); return; }
         let protocolHost = utils.protocolHost(url);
         const all = [
             ...imdbRedirects.libremdb.tor,
diff --git a/src/assets/javascripts/imgur.js b/src/assets/javascripts/imgur.js
index 90dda136..8cf54265 100644
--- a/src/assets/javascripts/imgur.js
+++ b/src/assets/javascripts/imgur.js
@@ -103,9 +103,9 @@ function all() {
     ];
 }
 
-function redirect(url, type, initiator) {
-    if (disableImgur) return;
-    if (url.pathname == "/") return;
+function redirect(url, type, initiator, disableOverride) {
+    if (disableImgur && !disableOverride) return;
+    if (url.pathname == "/" && !disableOverride) return;
     if (!["main_frame", "sub_frame", "xmlhttprequest", "other", "image", "media",].includes(type)) return;
     if (initiator && (all().includes(initiator.origin) || targets.test(initiator.host))) return;
     if (!targets.test(url.href)) return;
@@ -130,9 +130,10 @@ function reverse(url) {
     })
 }
 
-function switchInstance(url) {
+function switchInstance(url, disableOverride) {
     return new Promise(async resolve => {
         await init();
+        if (disableImgur && !disableOverride) { resolve(); return; }
         let protocolHost = utils.protocolHost(url);
         if (!all().includes(protocolHost)) { resolve(); return; }
         let instancesList;
diff --git a/src/assets/javascripts/instagram.js b/src/assets/javascripts/instagram.js
index e1542a18..7fa69200 100644
--- a/src/assets/javascripts/instagram.js
+++ b/src/assets/javascripts/instagram.js
@@ -73,8 +73,8 @@ function all() {
   ]
 }
 
-function redirect(url, type, initiator) {
-  if (disableInstagram) return;
+function redirect(url, type, initiator, disableOverride) {
+  if (disableInstagram && !disableOverride) return;
   if (initiator && all().includes(initiator.origin)) return 'BYPASSTAB';
   if (!targets.includes(url.host)) return;
   if (!["main_frame", "sub_frame", "xmlhttprequest", "other", "image", "media"].includes(type)) return;
@@ -109,9 +109,10 @@ function reverse(url) {
   })
 }
 
-function switchInstance(url) {
+function switchInstance(url, disableOverride) {
   return new Promise(async resolve => {
     await init();
+    if (disableInstagram && !disableOverride) { resolve(); return; }
     let protocolHost = utils.protocolHost(url);
     if (!all().includes(protocolHost)) { resolve(); return; }
 
diff --git a/src/assets/javascripts/lbry.js b/src/assets/javascripts/lbry.js
index 281ab2e5..77a8e4ec 100644
--- a/src/assets/javascripts/lbry.js
+++ b/src/assets/javascripts/lbry.js
@@ -85,9 +85,10 @@ function all() {
     ];
 }
 
-function switchInstance(url) {
+function switchInstance(url, disableOverride) {
     return new Promise(async resolve => {
         await init();
+        if (disableLbryTargets && !disableOverride) { resolve(); return; }
         const protocolHost = utils.protocolHost(url);
         if (!all().includes(protocolHost)) { resolve(); return; }
 
@@ -104,8 +105,8 @@ function switchInstance(url) {
     })
 }
 
-function redirect(url, type, initiator) {
-    if (disableLbryTargets) return;
+function redirect(url, type, initiator, disableOverride) {
+    if (disableLbryTargets && !disableOverride) return;
     if (initiator && (all().includes(initiator.origin) || targets.includes(initiator.host))) return;
     if (!targets.includes(url.host)) return;
     if (type != "main_frame") return;
diff --git a/src/assets/javascripts/medium.js b/src/assets/javascripts/medium.js
index 59c700ca..5d688b23 100644
--- a/src/assets/javascripts/medium.js
+++ b/src/assets/javascripts/medium.js
@@ -87,9 +87,9 @@ function init() {
 init();
 browser.storage.onChanged.addListener(init)
 
-function redirect(url, type, initiator) {
-  if (disableMedium) return;
-  if (url.pathname == "/") return;
+function redirect(url, type, initiator, disableOverride) {
+  if (disableMedium && !disableOverride) return;
+  if (url.pathname == "/" && !disableOverride) return;
   if (type != "main_frame" && "sub_frame" && "xmlhttprequest" && "other") return;
   if (initiator && (
     [
@@ -111,9 +111,10 @@ function redirect(url, type, initiator) {
   return `${randomInstance}${url.pathname}${url.search}`;
 }
 
-function switchInstance(url) {
+function switchInstance(url, disableOverride) {
   return new Promise(async resolve => {
     await init();
+    if (disableMedium && !disableOverride) { resolve(); return; }
     let protocolHost = utils.protocolHost(url);
     const all = [
       ...mediumRedirects.scribe.tor,
diff --git a/src/assets/javascripts/peertube.js b/src/assets/javascripts/peertube.js
index 900048f7..8b7414e8 100644
--- a/src/assets/javascripts/peertube.js
+++ b/src/assets/javascripts/peertube.js
@@ -82,8 +82,8 @@ function all() {
     ];
 }
 
-function redirect(url, type, initiator) {
-    if (disablePeertubeTargets) return;
+function redirect(url, type, initiator, disableOverride) {
+    if (disablePeertubeTargets && !disableOverride) return;
     if (initiator && (all().includes(initiator.origin) || peerTubeTargets.includes(initiator.host))) return;
     let protocolHost = utils.protocolHost(url);
     if (!peerTubeTargets.includes(protocolHost)) return;
@@ -99,9 +99,10 @@ function redirect(url, type, initiator) {
     return `${randomInstance}/${url.host}${url.pathname}${url.search}`;
 }
 
-function switchInstance(url) {
+function switchInstance(url, disableOverride) {
     return new Promise(async resolve => {
         await init();
+        if (disablePeertubeTargets && !disableOverride) { resolve(); return; }
         const protocolHost = utils.protocolHost(url);
         if (!all().includes(protocolHost)) { resolve(); return; }
 
diff --git a/src/assets/javascripts/quora.js b/src/assets/javascripts/quora.js
index f83e35e6..5f33f08d 100644
--- a/src/assets/javascripts/quora.js
+++ b/src/assets/javascripts/quora.js
@@ -65,9 +65,9 @@ function init() {
 init();
 browser.storage.onChanged.addListener(init)
 
-function redirect(url, type, initiator) {
-    if (disableQuora) return;
-    if (url.pathname == "/") return;
+function redirect(url, type, initiator, disableOverride) {
+    if (disableQuora && !disableOverride) return;
+    if (url.pathname == "/" && !disableOverride) return;
     if (type != "main_frame") return;
     const all = [
         ...quoraRedirects.quetre.normal,
@@ -101,9 +101,10 @@ function reverse(url) {
     })
 }
 
-function switchInstance(url) {
+function switchInstance(url, disableOverride) {
     return new Promise(async resolve => {
         await init();
+        if (disableQuora && !disableOverride) { resolve(); return; }
         let protocolHost = utils.protocolHost(url);
         const all = [
             ...quoraRedirects.quetre.tor,
diff --git a/src/assets/javascripts/reddit.js b/src/assets/javascripts/reddit.js
index dceaed36..e1f910c3 100644
--- a/src/assets/javascripts/reddit.js
+++ b/src/assets/javascripts/reddit.js
@@ -222,8 +222,8 @@ function all() {
 // redd.it/t5379n
 // https://v.redd.it/z08avb339n801/DASH_1_2_M
 // https://i.redd.it/bfkhs659tzk81.jpg
-function redirect(url, type, initiator) {
-  if (disableReddit) return;
+function redirect(url, type, initiator, disableOverride) {
+  if (disableReddit && !disableOverride) return;
   if (!targets.some(rx => rx.test(url.href))) return;
   if (initiator && all().includes(initiator.origin)) return 'BYPASSTAB';
   if (!["main_frame", "xmlhttprequest", "other", "image", "media"].includes(type)) return;
@@ -287,9 +287,10 @@ function redirect(url, type, initiator) {
   return `${randomInstance}${url.pathname}${url.search}`;
 }
 
-function switchInstance(url) {
+function switchInstance(url, disableOverride) {
   return new Promise(async resolve => {
     await init();
+    if (disableReddit && !disableOverride) { resolve(); return; }
     const protocolHost = utils.protocolHost(url);
     if (!all().includes(protocolHost)) { resolve(); return; }
     let instancesList;
diff --git a/src/assets/javascripts/reuters.js b/src/assets/javascripts/reuters.js
index 1af81495..5f215518 100644
--- a/src/assets/javascripts/reuters.js
+++ b/src/assets/javascripts/reuters.js
@@ -53,8 +53,8 @@ function init() {
 init();
 browser.storage.onChanged.addListener(init)
 
-function redirect(url, type, initiator) {
-    if (disableReuters) return;
+function redirect(url, type, initiator, disableOverride) {
+    if (disableReuters && !disableOverride) return;
     if (type != "main_frame") return;
     const all = [
         ...reutersRedirects.neuters.normal,
diff --git a/src/assets/javascripts/search.js b/src/assets/javascripts/search.js
index 2b51f868..5a91ff89 100644
--- a/src/assets/javascripts/search.js
+++ b/src/assets/javascripts/search.js
@@ -273,8 +273,8 @@ function pasteSearxngCookies() {
 }
 
 
-function redirect(url) {
-  if (disableSearch) return;
+function redirect(url, disableOverride) {
+  if (disableSearch && !disableOverride) return;
   if (!targets.some(rx => rx.test(url.href))) return;
   if (url.searchParams.has('tbm')) return;
   if (url.hostname.includes('google') && !url.searchParams.has('q') && url.pathname != '/') return;
@@ -327,9 +327,10 @@ function redirect(url) {
   return `${randomInstance}${path}${searchQuery}`;
 }
 
-function switchInstance(url) {
+function switchInstance(url, disableOverride) {
   return new Promise(async resolve => {
     await init();
+    if (disableSearch && !disableOverride) { resolve(); return; }
     let protocolHost = utils.protocolHost(url);
     if (![
       ...searchRedirects.searx.normal,
diff --git a/src/assets/javascripts/sendTargets.js b/src/assets/javascripts/sendTargets.js
index dcc17b21..f507e552 100644
--- a/src/assets/javascripts/sendTargets.js
+++ b/src/assets/javascripts/sendTargets.js
@@ -77,9 +77,10 @@ function all() {
     ];
 }
 
-function switchInstance(url) {
+function switchInstance(url, disableOverride) {
     return new Promise(async resolve => {
         await init();
+        if (disableSendTarget && !disableOverride) { resolve(); return; }
         const protocolHost = utils.protocolHost(url);
         if (!all().includes(protocolHost)) { resolve(); return; }
         if (url.pathname != '/') { resolve(); return; }
@@ -97,8 +98,8 @@ function switchInstance(url) {
     })
 }
 
-function redirect(url, type, initiator) {
-    if (disableSendTarget) return;
+function redirect(url, type, initiator, disableOverride) {
+    if (disableSendTarget && !disableOverride) return;
     if (type != "main_frame") return;
     if (initiator && (all().includes(initiator.origin) || targets.includes(initiator.host))) return;
     if (!targets.some(rx => rx.test(url.href))) return;
diff --git a/src/assets/javascripts/tiktok.js b/src/assets/javascripts/tiktok.js
index f8436a12..75e710d0 100644
--- a/src/assets/javascripts/tiktok.js
+++ b/src/assets/javascripts/tiktok.js
@@ -102,8 +102,8 @@ browser.storage.onChanged.addListener(init)
 
 // https://www.tiktok.com/@keysikaspol/video/7061265241887345946
 // https://www.tiktok.com/@keysikaspol
-function redirect(url, type, initiator) {
-    if (disableTiktok) return;
+function redirect(url, type, initiator, disableOverride) {
+    if (disableTiktok && !disableOverride) return;
     if (type != "main_frame") return;
     const all = [
         ...tiktokRedirects.proxiTok.normal,
@@ -137,31 +137,32 @@ function reverse(url) {
     })
 }
 
-function switchInstance(url) {
+function switchInstance(url, disableOverride) {
     return new Promise(async resolve => {
-      await init();
-      let protocolHost = utils.protocolHost(url);
-      const all = [
-        ...tiktokRedirects.proxiTok.tor,
-        ...tiktokRedirects.proxiTok.normal,
-  
-        ...proxiTokNormalCustomRedirects,
-        ...proxiTokTorCustomRedirects,
-      ];
-      if (!all.includes(protocolHost)) { resolve(); return; }
-
-      let instancesList;
-      if (tiktokProtocol == 'normal') instancesList = [...proxiTokNormalCustomRedirects, ...proxiTokNormalRedirectsChecks];
-      else if (tiktokProtocol == 'tor') instancesList = [...proxiTokTorCustomRedirects, ...proxiTokTorRedirectsChecks];
-  
-      const i = instancesList.indexOf(protocolHost);
-      if (i > -1) instancesList.splice(i, 1);
-      if (instancesList.length === 0) { resolve(); return; }
-  
-      const randomInstance = utils.getRandomInstance(instancesList);
-      resolve(`${randomInstance}${url.pathname}${url.search}`);
+        await init();
+        if (disableTiktok && !disableOverride) { resolve(); return; }
+        let protocolHost = utils.protocolHost(url);
+        const all = [
+            ...tiktokRedirects.proxiTok.tor,
+            ...tiktokRedirects.proxiTok.normal,
+
+            ...proxiTokNormalCustomRedirects,
+            ...proxiTokTorCustomRedirects,
+        ];
+        if (!all.includes(protocolHost)) { resolve(); return; }
+
+        let instancesList;
+        if (tiktokProtocol == 'normal') instancesList = [...proxiTokNormalCustomRedirects, ...proxiTokNormalRedirectsChecks];
+        else if (tiktokProtocol == 'tor') instancesList = [...proxiTokTorCustomRedirects, ...proxiTokTorRedirectsChecks];
+
+        const i = instancesList.indexOf(protocolHost);
+        if (i > -1) instancesList.splice(i, 1);
+        if (instancesList.length === 0) { resolve(); return; }
+
+        const randomInstance = utils.getRandomInstance(instancesList);
+        resolve(`${randomInstance}${url.pathname}${url.search}`);
     })
-  }
+}
 
 function initDefaults() {
     return new Promise(async resolve => {
diff --git a/src/assets/javascripts/translate/translate.js b/src/assets/javascripts/translate/translate.js
index 79fab753..62cd8334 100644
--- a/src/assets/javascripts/translate/translate.js
+++ b/src/assets/javascripts/translate/translate.js
@@ -179,8 +179,8 @@ function pasteSimplyTranslateCookies() {
   )
 }
 
-function redirect(url) {
-  if (translateDisable) return;
+function redirect(url, disableOverride) {
+  if (translateDisable && !disableOverride) return;
   if (!targets.some(rx => rx.test(url.href))) return;
 
   if (translateFrontend == 'simplyTranslate') {
@@ -213,10 +213,10 @@ function redirect(url) {
   }
 }
 
-function switchInstance(url) {
+function switchInstance(url, disableOverride) {
   return new Promise(async resolve => {
     await init();
-    if (translateDisable) { resolve(); return; }
+    if (translateDisable && !disableOverride) { resolve(); return; }
     const protocolHost = utils.protocolHost(url);
     if (![
       ...translateRedirects.simplyTranslate.normal,
diff --git a/src/assets/javascripts/twitter.js b/src/assets/javascripts/twitter.js
index 28689aa5..bd674aba 100644
--- a/src/assets/javascripts/twitter.js
+++ b/src/assets/javascripts/twitter.js
@@ -82,8 +82,8 @@ function all() {
   ];
 }
 
-function redirect(url, type, initiator) {
-  if (disableTwitter) return;
+function redirect(url, type, initiator, disableOverride) {
+  if (disableTwitter && !disableOverride) return;
   if (!targets.some(rx => rx.test(url.href))) return;
   if (url.pathname.split("/").includes("home")) return;
   if (initiator && all().includes(initiator.origin)) return 'BYPASSTAB';
@@ -119,9 +119,10 @@ function reverse(url) {
   })
 }
 
-function switchInstance(url) {
+function switchInstance(url, disableOverride) {
   return new Promise(async resolve => {
     await init();
+    if (disableTwitter && !disableOverride) { resolve(); return; }
     const protocolHost = utils.protocolHost(url);
     if (!all().includes(protocolHost)) { resolve(); return; }
     let instancesList;
diff --git a/src/assets/javascripts/wikipedia.js b/src/assets/javascripts/wikipedia.js
index d211656b..629219b8 100644
--- a/src/assets/javascripts/wikipedia.js
+++ b/src/assets/javascripts/wikipedia.js
@@ -110,8 +110,8 @@ function pasteWikilessCookies() {
   })
 }
 
-function redirect(url) {
-  if (disableWikipedia) return;
+function redirect(url, disableOverride) {
+  if (disableWikipedia && !disableOverride) return;
   if (!targets.test(url.href)) return;
 
   let GETArguments = [];
@@ -146,9 +146,10 @@ function redirect(url) {
   return link;
 }
 
-function switchInstance(url) {
+function switchInstance(url, disableOverride) {
   return new Promise(async resolve => {
     await init();
+    if (disableWikipedia && !disableOverride) { resolve(); return; }
     const protocolHost = utils.protocolHost(url);
     const wikipediaList = [
       ...wikipediaRedirects.wikiless.normal,
diff --git a/src/assets/javascripts/youtube/youtube.js b/src/assets/javascripts/youtube/youtube.js
index a1916032..965b94bf 100644
--- a/src/assets/javascripts/youtube/youtube.js
+++ b/src/assets/javascripts/youtube/youtube.js
@@ -149,8 +149,8 @@ function all() {
   ];
 }
 
-function redirect(url, details, initiator) {
-  if (disableYoutube) return;
+function redirect(url, type, initiator, disableOverride) {
+  if (disableYoutube && !disableOverride) return;
   if (!targets.some(rx => rx.test(url.href))) return;
   if (initiator && all().includes(initiator.origin)) return 'BYPASSTAB';
 
@@ -165,8 +165,8 @@ function redirect(url, details, initiator) {
   const isFrontendPiped = youtubeEmbedFrontend == 'piped';
   const isFrontendPipedMaterial = youtubeEmbedFrontend == 'pipedMaterial';
 
-  const main_frame = details.type === "main_frame";
-  const sub_frame = details.type === "sub_frame";
+  const main_frame = type === "main_frame";
+  const sub_frame = type === "sub_frame";
 
   if (url.pathname.match(/iframe_api/) || url.pathname.match(/www-widgetapi/)) return; // Don't redirect YouTube Player API.
   if (onlyEmbeddedVideo == 'onlyEmbedded' && main_frame) return;
@@ -212,9 +212,10 @@ function reverse(url) {
   })
 }
 
-function switchInstance(url) {
+function switchInstance(url, disableOverride) {
   return new Promise(async resolve => {
     await init();
+    if (disableYoutube && !disableOverride) { resolve(); return; }
     const protocolHost = utils.protocolHost(url);
     if (!all().includes(protocolHost)) { resolve(); return; }
 
diff --git a/src/assets/javascripts/youtubeMusic.js b/src/assets/javascripts/youtubeMusic.js
index 8d007e39..68e839ad 100644
--- a/src/assets/javascripts/youtubeMusic.js
+++ b/src/assets/javascripts/youtubeMusic.js
@@ -66,8 +66,8 @@ https://beatbump.ml/release?id=MPREb_QygdC0wEoLe
 
 https://music.youtube.com/watch?v=R6gSMSYKhKU&list=OLAK5uy_n-9HVh3cryV2gREZM9Sc0JwEKYjjfi0dU
 */
-function redirect(url) {
-    if (disableYoutubeMusic) return;
+function redirect(url, disableOverride) {
+    if (disableYoutubeMusic && !disableOverride) return;
     if (!targets.some(rx => rx.test(url.href))) return;
 
     let instancesList = [...beatbumpNormalRedirectsChecks, ...beatbumpNormalCustomRedirects];