about summary refs log tree commit diff stats
path: root/src/assets
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-05-21 02:38:24 +0300
committerManeraKai <manerakai@protonmail.com>2022-05-21 02:38:24 +0300
commit51b0df71b9220e3d0b84d25ba67818897c33610c (patch)
tree28661a83b1a8742489dc7956b0a199abf83af948 /src/assets
parentMerge branch 'master' of https://github.com/libredirect/libredirect (diff)
downloadlibredirect-51b0df71b9220e3d0b84d25ba67818897c33610c.zip
Cleaned code. Fixed thing in CopyRaw #268
Diffstat (limited to 'src/assets')
-rw-r--r--src/assets/javascripts/helpers/imgur.js48
-rw-r--r--src/assets/javascripts/helpers/instagram.js50
-rw-r--r--src/assets/javascripts/helpers/medium.js2
-rw-r--r--src/assets/javascripts/helpers/peertube.js3
-rw-r--r--src/assets/javascripts/helpers/reddit.js3
-rw-r--r--src/assets/javascripts/helpers/sendTargets.js3
-rw-r--r--src/assets/javascripts/helpers/tiktok.js43
-rw-r--r--src/assets/javascripts/helpers/utils.js139
-rw-r--r--src/assets/javascripts/helpers/wikipedia.js2
-rw-r--r--src/assets/javascripts/helpers/youtube/youtube.js2
10 files changed, 148 insertions, 147 deletions
diff --git a/src/assets/javascripts/helpers/imgur.js b/src/assets/javascripts/helpers/imgur.js
index 4b34afca..9ed16b1d 100644
--- a/src/assets/javascripts/helpers/imgur.js
+++ b/src/assets/javascripts/helpers/imgur.js
@@ -11,7 +11,6 @@ let redirects = {
         "i2p": []
     }
 }
-const getRedirects = () => redirects;
 function setRedirects(val) {
     redirects.rimgo = val;
     browser.storage.local.set({ imgurRedirects: redirects })
@@ -98,28 +97,30 @@ function redirect(url, type, initiator) {
 }
 
 async function reverse(url) {
-    browser.storage.local.get(
-        [
-            "imgurRedirects",
-            "rimgoNormalCustomRedirects",
-            "rimgoTorCustomRedirects",
-            "rimgoI2pCustomRedirects",
-        ],
-        r => {
-            let protocolHost = utils.protocolHost(url);
-            if (
-                ![
-                    ...r.imgurRedirects.rimgo.normal,
-                    ...r.imgurRedirects.rimgo.tor,
-                    ...r.imgurRedirects.rimgo.i2p,
-                    ...r.rimgoNormalCustomRedirects,
-                    ...r.rimgoTorCustomRedirects,
-                    ...r.rimgoI2pCustomRedirects
-                ].includes(protocolHost)
-            ) return;
-            return `https://imgur.com${url.pathname}${url.search}`;
-        }
-    )
+    return new Promise(resolve => {
+        browser.storage.local.get(
+            [
+                "imgurRedirects",
+                "rimgoNormalCustomRedirects",
+                "rimgoTorCustomRedirects",
+                "rimgoI2pCustomRedirects",
+            ],
+            r => {
+                let protocolHost = utils.protocolHost(url);
+                if (
+                    ![
+                        ...r.imgurRedirects.rimgo.normal,
+                        ...r.imgurRedirects.rimgo.tor,
+                        ...r.imgurRedirects.rimgo.i2p,
+                        ...r.rimgoNormalCustomRedirects,
+                        ...r.rimgoTorCustomRedirects,
+                        ...r.rimgoI2pCustomRedirects
+                    ].includes(protocolHost)
+                ) { resolve(); return; }
+                resolve(`https://imgur.com${url.pathname}${url.search}`);
+            }
+        )
+    })
 }
 
 function switchInstance(url) {
@@ -197,7 +198,6 @@ async function initDefaults() {
 }
 
 export default {
-    getRedirects,
     setRedirects,
 
     redirect,
diff --git a/src/assets/javascripts/helpers/instagram.js b/src/assets/javascripts/helpers/instagram.js
index 621de390..a5f5b81e 100644
--- a/src/assets/javascripts/helpers/instagram.js
+++ b/src/assets/javascripts/helpers/instagram.js
@@ -76,32 +76,36 @@ function redirect(url, type, initiator) {
   })
 }
 function reverse(url) {
-  browser.storage.local.get(
-    [
-      "instagramRedirects",
-      "bibliogramNormalCustomRedirects",
-      "bibliogramTorCustomRedirects",
-    ],
-    r => {
-      let protocolHost = utils.protocolHost(url);
-      if (
-        ![
-          ...r.instagramRedirects.bibliogram.normal,
-          ...r.instagramRedirects.bibliogram.tor,
-          ...r.bibliogramNormalCustomRedirects,
-          ...r.bibliogramTorCustomRedirects
-        ].includes(protocolHost)
-      ) return;
+  return new Promise(resolve => {
+    browser.storage.local.get(
+      [
+        "instagramRedirects",
+        "bibliogramNormalCustomRedirects",
+        "bibliogramTorCustomRedirects",
+      ],
+      r => {
+        let protocolHost = utils.protocolHost(url);
+        if (
+          ![
+            ...r.instagramRedirects.bibliogram.normal,
+            ...r.instagramRedirects.bibliogram.tor,
+            ...r.bibliogramNormalCustomRedirects,
+            ...r.bibliogramTorCustomRedirects
+          ].includes(protocolHost)
+        ) { resolve(); return; }
 
-      if (url.pathname.startsWith('/p'))
-        return `https://instagram.com${url.pathname.replace('/p', '')}${url.search}`;
+        if (url.pathname.startsWith('/p')) {
+          resolve(`https://instagram.com${url.pathname.replace('/p', '')}${url.search}`); return;
+        }
 
-      if (url.pathname.startsWith('/u'))
-        return `https://instagram.com${url.pathname.replace('/u', '')}${url.search}`;
+        if (url.pathname.startsWith('/u')) {
+          resolve(`https://instagram.com${url.pathname.replace('/u', '')}${url.search}`); return;
+        }
 
-      return `https://instagram.com${url.pathname}${url.search}`;
-    }
-  )
+        resolve(`https://instagram.com${url.pathname}${url.search}`);
+      }
+    )
+  })
 }
 
 function switchInstance(url) {
diff --git a/src/assets/javascripts/helpers/medium.js b/src/assets/javascripts/helpers/medium.js
index a0892dfc..788096c5 100644
--- a/src/assets/javascripts/helpers/medium.js
+++ b/src/assets/javascripts/helpers/medium.js
@@ -34,7 +34,6 @@ let redirects = {
     "tor": []
   }
 };
-const getRedirects = () => redirects;
 function setRedirects(val) {
   redirects.scribe = val;
   browser.storage.local.set({ mediumRedirects: redirects })
@@ -160,7 +159,6 @@ function initDefaults() {
 }
 
 export default {
-  getRedirects,
   setRedirects,
 
   redirect,
diff --git a/src/assets/javascripts/helpers/peertube.js b/src/assets/javascripts/helpers/peertube.js
index c431d25a..f741f9c0 100644
--- a/src/assets/javascripts/helpers/peertube.js
+++ b/src/assets/javascripts/helpers/peertube.js
@@ -16,8 +16,6 @@ let redirects = {
         "tor": []
     }
 }
-
-const getRedirects = () => redirects;
 function setRedirects(val) {
     redirects.simpleertube = val;
     browser.storage.local.set({ peertubeTargetsRedirects: redirects })
@@ -165,7 +163,6 @@ async function init() {
 }
 
 export default {
-    getRedirects,
     setRedirects,
 
     switchInstance,
diff --git a/src/assets/javascripts/helpers/reddit.js b/src/assets/javascripts/helpers/reddit.js
index 1bb54b7f..9617d921 100644
--- a/src/assets/javascripts/helpers/reddit.js
+++ b/src/assets/javascripts/helpers/reddit.js
@@ -16,8 +16,6 @@ let redirects = {
     "tor": []
   },
 };
-const getRedirects = () => redirects;
-
 function setLibredditRedirects(val) {
   redirects.libreddit = val;
   browser.storage.local.set({ redditRedirects: redirects })
@@ -443,7 +441,6 @@ function initDefaults() {
 }
 
 export default {
-  getRedirects,
   setTedditRedirects,
   setLibredditRedirects,
 
diff --git a/src/assets/javascripts/helpers/sendTargets.js b/src/assets/javascripts/helpers/sendTargets.js
index 39cbf313..c593913c 100644
--- a/src/assets/javascripts/helpers/sendTargets.js
+++ b/src/assets/javascripts/helpers/sendTargets.js
@@ -14,8 +14,6 @@ let redirects = {
         "tor": []
     }
 }
-
-const getRedirects = () => redirects;
 function setRedirects(val) {
     redirects.send = val;
     browser.storage.local.set({ sendTargetsRedirects: redirects })
@@ -158,7 +156,6 @@ async function init() {
 }
 
 export default {
-    getRedirects,
     setRedirects,
 
     redirect,
diff --git a/src/assets/javascripts/helpers/tiktok.js b/src/assets/javascripts/helpers/tiktok.js
index 90d8a8d0..590fca1a 100644
--- a/src/assets/javascripts/helpers/tiktok.js
+++ b/src/assets/javascripts/helpers/tiktok.js
@@ -12,8 +12,6 @@ let redirects = {
         "tor": []
     }
 }
-
-const getRedirects = () => redirects;
 function setRedirects(val) {
     redirects.proxiTok = val;
     browser.storage.local.set({ tiktokRedirects: redirects })
@@ -139,26 +137,28 @@ function redirect(url, type, initiator) {
 }
 
 async function reverse(url) {
-    browser.storage.local.get(
-        [
-            "tiktokRedirects",
-            "proxiTokNormalCustomRedirects",
-            "proxiTokTorCustomRedirects",
-        ],
-        r => {
-            let protocolHost = utils.protocolHost(url);
-            if (
-                ![
-                    ...r.tiktokRedirects.proxiTok.normal,
-                    ...r.tiktokRedirects.proxiTok.tor,
-                    ...r.proxiTokNormalCustomRedirects,
-                    ...r.proxiTokTorCustomRedirects
-                ].includes(protocolHost)
-            ) return;
+    return new Promise(resolve => {
+        browser.storage.local.get(
+            [
+                "tiktokRedirects",
+                "proxiTokNormalCustomRedirects",
+                "proxiTokTorCustomRedirects",
+            ],
+            r => {
+                let protocolHost = utils.protocolHost(url);
+                if (
+                    ![
+                        ...r.tiktokRedirects.proxiTok.normal,
+                        ...r.tiktokRedirects.proxiTok.tor,
+                        ...r.proxiTokNormalCustomRedirects,
+                        ...r.proxiTokTorCustomRedirects
+                    ].includes(protocolHost)
+                ) { resolve(); return; }
 
-            return `https://tiktok.com${url.pathname}${url.search}`;
-        }
-    )
+                resolve(`https://tiktok.com${url.pathname}${url.search}`);
+            }
+        )
+    })
 }
 
 async function initDefaults() {
@@ -184,7 +184,6 @@ async function initDefaults() {
 }
 
 export default {
-    getRedirects,
     setRedirects,
 
     redirect,
diff --git a/src/assets/javascripts/helpers/utils.js b/src/assets/javascripts/helpers/utils.js
index eec9e6b4..f864f90b 100644
--- a/src/assets/javascripts/helpers/utils.js
+++ b/src/assets/javascripts/helpers/utils.js
@@ -10,7 +10,7 @@ import wikipediaHelper from "./wikipedia.js";
 import peertubeHelper from "./peertube.js";
 import lbryHelper from "./lbry.js";
 import sendTargetsHelper from "./sendTargets.js";
-import tikTokHelper from "./tiktok.js";
+import tiktokHelper from "./tiktok.js";
 import imgurHelper from "./imgur.js";
 import localise from '../localise.js'
 
@@ -30,7 +30,7 @@ async function initCloudflareList() {
 
 async function wholeInit() {
   await sendTargetsHelper.init();
-  await tikTokHelper.init();
+  await tiktokHelper.init();
   await initCloudflareList();
 }
 
@@ -64,8 +64,7 @@ async function updateInstances() {
     redditHelper.setTedditRedirects(instances.teddit);
     redditHelper.setLibredditRedirects(instances.libreddit);
 
-    translateHelper.setSimplyTranslateRedirects(instances.simplyTranslate);
-    translateHelper.setLingvaRedirects(instances.lingva)
+    translateHelper.setRedirects({ "simplyTranslate": instances.simplyTranslate, "lingva": instances.lingva });
 
     searchHelper.setSearxRedirects(instances.searx);
     searchHelper.setSearxngRedirects(instances.searxng);
@@ -77,7 +76,7 @@ async function updateInstances() {
 
     sendTargetsHelper.setRedirects(instances.send);
 
-    tikTokHelper.setRedirects(instances.proxiTok);
+    tiktokHelper.setRedirects(instances.proxiTok);
 
     console.info("Successfully updated Instances");
     return true;
@@ -336,69 +335,83 @@ function getCookiesFromStorage(frontend, to, name) {
   )
 }
 
-function copyRaw() {
-  browser.tabs.query(
-    { active: true, currentWindow: true }, tabs => {
-      let currTab = tabs[0];
-      if (currTab) {
-        let url = new URL(currTab.url);
-        let newUrl;
-        newUrl = youtubeHelper.reverse(url);
-
-        if (!newUrl) newUrl = twitterHelper.reverse(url);
-        if (!newUrl) newUrl = instagramHelper.reverse(url);
-        if (!newUrl) newUrl = tiktokHelper.reverse(url);
-        if (!newUrl) newUrl = imgurHelper.reverse(url);
-
-        if (newUrl) {
-          navigator.clipboard.writeText(newUrl);
-          const textElement = copyRawElement.getElementsByTagName('h4')[0]
-          const oldHtml = textElement.innerHTML;
-          textElement.innerHTML = 'Copied';
-          setTimeout(() => textElement.innerHTML = oldHtml, 1000);
+function copyRaw(test, copyRawElement) {
+  return new Promise(resolve => {
+    browser.tabs.query(
+      { active: true, currentWindow: true }, async tabs => {
+        let currTab = tabs[0];
+        if (currTab) {
+          let url;
+          try {
+            url = new URL(currTab.url);
+          } catch { resolve(); return; }
+          let newUrl;
+          newUrl = await youtubeHelper.reverse(url);
+
+          if (!newUrl) newUrl = await twitterHelper.reverse(url);
+          if (!newUrl) newUrl = await instagramHelper.reverse(url);
+          if (!newUrl) newUrl = await tiktokHelper.reverse(url);
+          if (!newUrl) newUrl = await imgurHelper.reverse(url);
+
+          if (newUrl) {
+            resolve(true);
+            if (test) return;
+            navigator.clipboard.writeText(newUrl);
+            if (copyRawElement) {
+              const textElement = copyRawElement.getElementsByTagName('h4')[0]
+              const oldHtml = textElement.innerHTML;
+              textElement.innerHTML = 'Copied';
+              setTimeout(() => textElement.innerHTML = oldHtml, 1000);
+            }
+          } else resolve()
         }
       }
-    }
-  )
+    )
+  })
 }
 
-
-function unify() {
-  browser.tabs.query(
-    { active: true, currentWindow: true },
-    async tabs => {
-      let currTab = tabs[0]
-      if (currTab) {
-        let url = new URL(currTab.url);
-
-        let result = await youtubeHelper.initInvidiousCookies(url);
-        if (!result) result = await youtubeHelper.initPipedLocalStorage(url, currTab.id);
-        if (!result) result = await youtubeHelper.initPipedMaterialLocalStorage(url, currTab.id);
-
-        if (!result) result = await twitterHelper.initNitterCookies(url);
-
-        if (!result) result = await redditHelper.initLibredditCookies(url);
-        if (!result) result = await redditHelper.initTedditCookies(url);
-
-        if (!result) result = await searchHelper.initSearxCookies(url);
-        if (!result) result = await searchHelper.initSearxngCookies(url);
-
-        if (!result) result = await tiktokHelper.initProxiTokCookies(url);
-
-        if (!result) result = await wikipediaHelper.initWikilessCookies(url);
-
-        if (!result) result = await translateHelper.initSimplyTranslateCookies(url);
-        if (!result) result = await translateHelper.initLingvaLocalStorage(url);
-
-        if (result) {
-          const textElement = unifyElement.getElementsByTagName('h4')[0]
-          const oldHtml = textElement.innerHTML;
-          textElement.innerHTML = 'Unified';
-          setTimeout(() => textElement.innerHTML = oldHtml, 1000);
+function unify(unifyElement) {
+  return new Promise(resolve => {
+    browser.tabs.query(
+      { active: true, currentWindow: true },
+      async tabs => {
+        let currTab = tabs[0]
+        if (currTab) {
+          let url;
+          try {
+            url = new URL(currTab.url);
+          } catch { resolve(); return; }
+
+          let result = await youtubeHelper.initInvidiousCookies(url);
+          if (!result) result = await youtubeHelper.initPipedLocalStorage(url, currTab.id);
+          if (!result) result = await youtubeHelper.initPipedMaterialLocalStorage(url, currTab.id);
+
+          if (!result) result = await twitterHelper.initNitterCookies(url);
+
+          if (!result) result = await redditHelper.initLibredditCookies(url);
+          if (!result) result = await redditHelper.initTedditCookies(url);
+
+          if (!result) result = await searchHelper.initSearxCookies(url);
+          if (!result) result = await searchHelper.initSearxngCookies(url);
+
+          if (!result) result = await tiktokHelper.initProxiTokCookies(url);
+
+          if (!result) result = await wikipediaHelper.initWikilessCookies(url);
+
+          if (!result) result = await translateHelper.initSimplyTranslateCookies(url);
+          if (!result) result = await translateHelper.initLingvaLocalStorage(url);
+
+          if (result) {
+            resolve(true);
+            const textElement = unifyElement.getElementsByTagName('h4')[0]
+            const oldHtml = textElement.innerHTML;
+            textElement.innerHTML = 'Unified';
+            setTimeout(() => textElement.innerHTML = oldHtml, 1000);
+          } else resolve()
         }
       }
-    }
-  )
+    )
+  })
 }
 
 function switchInstance() {
@@ -462,8 +475,6 @@ function latency(name, frontend, document, location, splitNames) {
   );
 }
 
-
-
 export default {
   getRandomInstance,
   updateInstances,
diff --git a/src/assets/javascripts/helpers/wikipedia.js b/src/assets/javascripts/helpers/wikipedia.js
index c870bffa..4bfdc2dc 100644
--- a/src/assets/javascripts/helpers/wikipedia.js
+++ b/src/assets/javascripts/helpers/wikipedia.js
@@ -11,7 +11,6 @@ let redirects = {
     "i2p": []
   }
 };
-const getRedirects = () => redirects;
 function setRedirects(val) {
   redirects.wikiless = val;
   browser.storage.local.set({ wikipediaRedirects: redirects })
@@ -238,7 +237,6 @@ async function initDefaults() {
 }
 
 export default {
-  getRedirects,
   setRedirects,
 
   initWikilessCookies,
diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js
index 27cc539e..835a5f81 100644
--- a/src/assets/javascripts/helpers/youtube/youtube.js
+++ b/src/assets/javascripts/helpers/youtube/youtube.js
@@ -485,7 +485,7 @@ function setPipedLocalStorage(url, tabId) {
   })
 }
 
-function initPipedMaterialLocalStorage(tabId) {
+function initPipedMaterialLocalStorage(url, tabId) {
   return new Promise(resolve => {
     browser.storage.local.get(
       [