about summary refs log tree commit diff stats
path: root/src/assets
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-02-23 19:48:04 +0300
committerManeraKai <manerakai@protonmail.com>2022-02-23 19:48:04 +0300
commitae29c4c70aa12095a8159884f49a7a9c31ccb9d5 (patch)
tree58e564e9ff3492e506540c54b1fe6a7cb154735a /src/assets
parentMerge branch 'master' of https://github.com/libredirect/libredirect (diff)
downloadlibredirect-ae29c4c70aa12095a8159884f49a7a9c31ccb9d5.zip
Added translate tor support #32
Diffstat (limited to 'src/assets')
-rw-r--r--src/assets/javascripts/helpers/medium.js4
-rw-r--r--src/assets/javascripts/helpers/translate.js193
-rw-r--r--src/assets/javascripts/helpers/youtube/youtube.js2
3 files changed, 137 insertions, 62 deletions
diff --git a/src/assets/javascripts/helpers/medium.js b/src/assets/javascripts/helpers/medium.js
index cd459177..7bd5aa68 100644
--- a/src/assets/javascripts/helpers/medium.js
+++ b/src/assets/javascripts/helpers/medium.js
@@ -100,8 +100,8 @@ let protocol;
 const getProtocol = () => protocol;
 function setProtocol(val) {
   protocol = val;
-  browser.storage.local.set({ mediumProtocol: val })
-  console.log("mediumProtocol: ", val)
+  browser.storage.local.set({ mediumProtocol: val });
+  console.log("mediumProtocol: ", val);
 }
 
 function isMedium(url, initiator) {
diff --git a/src/assets/javascripts/helpers/translate.js b/src/assets/javascripts/helpers/translate.js
index 18d6ff57..72ba8a58 100644
--- a/src/assets/javascripts/helpers/translate.js
+++ b/src/assets/javascripts/helpers/translate.js
@@ -9,31 +9,13 @@ const targets = [
 
 let redirects = {
   "simplyTranslate": {
-    "normal": [
-      "https://simplytranslate.org",
-      "https://st.alefvanoon.xyz",
-      "https://translate.josias.dev",
-      "https://translate.namazso.eu",
-      "https://translate.riverside.rocks",
-      "https://manerakai.asuscomm.com:447",
-      "https://translate.bus-hit.me",
-      "https://simplytranslate.pussthecat.org",
-      "https://translate.northboot.xyz"
-    ],
-    "tor": [
-      "http://fyng2tsmzmvxmojzbbwmfnsn2lrcyftf4cw6rk5j2v2huliazud3fjid.onion",
-      "http://xxtbwyb5z5bdvy2f6l2yquu5qilgkjeewno4qfknvb3lkg3nmoklitid.onion"
-    ]
+    "normal": [],
+    "tor": []
   },
 
   "lingva": {
-    "normal": [
-      "https://lingva.ml",
-      "https://translate.alefvanoon.xyz",
-      "https://translate.igna.rocks",
-      "https://lingva.pussthecat.org",
-      "https://translate.datatunnel.xyz",
-    ]
+    "normal": [],
+    "tor": []
   }
 
 };
@@ -42,10 +24,12 @@ const getRedirects = () => redirects;
 const getCustomRedirects = function () {
   return {
     "simplyTranslate": {
-      "normal": [...simplyTranslateNormalRedirectsChecks, ...simplyTranslateNormalCustomRedirects]
+      "normal": [...simplyTranslateNormalRedirectsChecks, ...simplyTranslateNormalCustomRedirects],
+      "tor": [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects]
     },
     "lingva": {
-      "normal": [...lingvaNormalRedirectsChecks, ...lingvaNormalCustomRedirects]
+      "normal": [...lingvaNormalRedirectsChecks, ...lingvaNormalCustomRedirects],
+      "tor": [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects]
     }
   };
 };
@@ -60,6 +44,13 @@ function setSimplyTranslateRedirects(val) {
       if (index !== -1) simplyTranslateNormalRedirectsChecks.splice(index, 1);
     }
   setSimplyTranslateNormalRedirectsChecks(simplyTranslateNormalRedirectsChecks);
+
+  for (const item of simplyTranslateTorRedirectsChecks)
+    if (!redirects.simplyTranslate.normal.includes(item)) {
+      var index = simplyTranslateTorRedirectsChecks.indexOf(item);
+      if (index !== -1) simplyTranslateTorRedirectsChecks.splice(index, 1);
+    }
+  setSimplyTranslateTorRedirectsChecks(simplyTranslateTorRedirectsChecks);
 }
 
 let simplyTranslateNormalRedirectsChecks;
@@ -70,6 +61,14 @@ function setSimplyTranslateNormalRedirectsChecks(val) {
   console.log("simplyTranslateNormalRedirectsChecks: ", val)
 }
 
+let simplyTranslateTorRedirectsChecks;
+const getSimplyTranslateTorRedirectsChecks = () => simplyTranslateTorRedirectsChecks;
+function setSimplyTranslateTorRedirectsChecks(val) {
+  simplyTranslateTorRedirectsChecks = val;
+  browser.storage.local.set({ simplyTranslateTorRedirectsChecks })
+  console.log("simplyTranslateTorRedirectsChecks: ", val)
+}
+
 let simplyTranslateNormalCustomRedirects = [];
 const getSimplyTranslateNormalCustomRedirects = () => simplyTranslateNormalCustomRedirects;
 function setSimplyTranslateNormalCustomRedirects(val) {
@@ -78,6 +77,14 @@ function setSimplyTranslateNormalCustomRedirects(val) {
   console.log("simplyTranslateNormalCustomRedirects: ", val)
 }
 
+let simplyTranslateTorCustomRedirects = [];
+const getSimplyTranslateTorCustomRedirects = () => simplyTranslateTorCustomRedirects;
+function setSimplyTranslateTorCustomRedirects(val) {
+  simplyTranslateTorCustomRedirects = val;
+  browser.storage.local.set({ simplyTranslateTorCustomRedirects })
+  console.log("simplyTranslateTorCustomRedirects: ", val)
+}
+
 function setLingvaRedirects(val) {
   redirects.lingva = val;
   browser.storage.local.set({ translateRedirects: redirects })
@@ -88,6 +95,13 @@ function setLingvaRedirects(val) {
       if (index !== -1) lingvaNormalRedirectsChecks.splice(index, 1);
     }
   setLingvaNormalRedirectsChecks(lingvaNormalRedirectsChecks);
+
+  for (const item of lingvaTorRedirectsChecks)
+    if (!redirects.lingva.normal.includes(item)) {
+      var index = lingvaTorRedirectsChecks.indexOf(item);
+      if (index !== -1) lingvaTorRedirectsChecks.splice(index, 1);
+    }
+  setLingvaTorRedirectsChecks(lingvaTorRedirectsChecks);
 }
 
 let lingvaNormalRedirectsChecks;
@@ -98,6 +112,14 @@ function setLingvaNormalRedirectsChecks(val) {
   console.log("lingvaNormalRedirectsChecks: ", val)
 }
 
+let lingvaTorRedirectsChecks;
+const getLingvaTorRedirectsChecks = () => lingvaTorRedirectsChecks;
+function setLingvaTorRedirectsChecks(val) {
+  lingvaTorRedirectsChecks = val;
+  browser.storage.local.set({ lingvaTorRedirectsChecks })
+  console.log("lingvaTorRedirectsChecks: ", val)
+}
+
 let lingvaNormalCustomRedirects = [];
 const getLingvaNormalCustomRedirects = () => lingvaNormalCustomRedirects;
 function setLingvaNormalCustomRedirects(val) {
@@ -106,6 +128,14 @@ function setLingvaNormalCustomRedirects(val) {
   console.log("lingvaNormalCustomRedirects: ", val)
 }
 
+let lingvaTorCustomRedirects = [];
+const getLingvaTorCustomRedirects = () => lingvaTorCustomRedirects;
+function setLingvaTorCustomRedirects(val) {
+  lingvaTorCustomRedirects = val;
+  browser.storage.local.set({ lingvaTorCustomRedirects })
+  console.log("lingvaTorCustomRedirects: ", val)
+}
+
 let disable;
 const getDisable = () => disable;
 function setDisable(val) {
@@ -122,6 +152,14 @@ function setFrontend(val) {
   console.log("translateFrontend: ", frontend)
 }
 
+let protocol;
+const getProtocol = () => protocol;
+function setProtocol(val) {
+  protocol = val;
+  browser.storage.local.set({ translateProtocol: val })
+  console.log("translateProtocol: ", val)
+}
+
 let from;
 const getFrom = () => from;
 function setFrom(val) {
@@ -152,17 +190,26 @@ function redirect(url) {
     myMap[pair[0]] = pair[1];
   }
   if (frontend == 'simplyTranslate') {
-    let instancesList = [...simplyTranslateNormalRedirectsChecks, ...simplyTranslateNormalCustomRedirects];
+    let instancesList;
+    if (protocol == 'normal') instancesList = [...simplyTranslateNormalRedirectsChecks, ...simplyTranslateNormalCustomRedirects];
+    if (protocol == 'tor') instancesList = [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects];
     if (instancesList.length === 0) return null;
     let randomInstance = commonHelper.getRandomInstance(instancesList)
 
     if (myMap.sl && myMap.tl && myMap.text)
       return `${randomInstance}/${url.search}`;
-    else
-      return `${randomInstance}/?sl=${from}&tl=${to}`
+    else {
+      if (from != "DEFAULT") url.searchParams.append("sl", from);
+      if (to != "DEFAULT") url.searchParams.append("tl", to);
+      return `${randomInstance}/${url.search}`
+    }
+
+
   }
   else if (frontend == 'lingva') {
-    let instancesList = [...lingvaNormalRedirectsChecks, ...lingvaNormalCustomRedirects];
+    let instancesList;
+    if (protocol == 'normal') instancesList = [...lingvaNormalRedirectsChecks, ...lingvaNormalCustomRedirects];
+    if (protocol == 'tor') instancesList = [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects];
     if (instancesList.length === 0) return null;
     let randomInstance = commonHelper.getRandomInstance(instancesList)
 
@@ -175,37 +222,56 @@ function redirect(url) {
 
 async function init() {
   return new Promise((resolve) => {
-    browser.storage.local.get(
-      [
-        "translateDisable",
-        "translateFrontend",
-        "translateRedirects",
-        "simplyTranslateNormalRedirectsChecks",
-        "simplyTranslateNormalCustomRedirects",
-        "lingvaNormalRedirectsChecks",
-        "lingvaNormalCustomRedirects",
-        "translateFrom",
-        "translateTo",
-      ],
-      (result) => {
-        disable = result.translateDisable ?? false;
-        frontend = result.translateFrontend ?? "simplyTranslate";
-
-        from = result.translateFrom ?? "auto";
-        to = result.translateTo ?? 'en';
-
-        if (result.translateRedirects) redirects = result.translateRedirects
-
-        simplyTranslateNormalRedirectsChecks = result.simplyTranslateNormalRedirectsChecks ?? [...redirects.simplyTranslate.normal];
-        simplyTranslateNormalCustomRedirects = result.simplyTranslateNormalCustomRedirects ?? [];
-
-        lingvaNormalRedirectsChecks = result.lingvaNormalRedirectsChecks ?? [...redirects.lingva.normal];
-        lingvaNormalCustomRedirects = result.lingvaNormalCustomRedirects ?? [];
-
-        resolve();
-      });
+    fetch('/instances/data.json').then(response => response.text()).then(data => {
+      let dataJson = JSON.parse(data);
+      browser.storage.local.get(
+        [
+          "translateDisable",
+          "translateFrontend",
+          "translateProtocol",
+          "translateRedirects",
+
+          "simplyTranslateNormalRedirectsChecks",
+          "simplyTranslateNormalCustomRedirects",
+          "simplyTranslateTorRedirectsChecks",
+          "simplyTranslateTorCustomRedirects",
+
+          "lingvaNormalRedirectsChecks",
+          "lingvaNormalCustomRedirects",
+          "lingvaTorRedirectsChecks",
+          "lingvaTorCustomRedirects",
+
+          "translateFrom",
+          "translateTo",
+        ],
+        (result) => {
+          disable = result.translateDisable ?? false;
+          frontend = result.translateFrontend ?? "simplyTranslate";
+          protocol = result.translateProtocol ?? 'normal';
+
+          from = result.translateFrom ?? "DEFAULT";
+          to = result.translateTo ?? 'DEFAULT';
+
+          redirects.simplyTranslate = dataJson.simplyTranslate;
+          redirects.lingva = dataJson.lingva;
+          if (result.translateRedirects) redirects = result.translateRedirects;
+
+          simplyTranslateNormalRedirectsChecks = result.simplyTranslateNormalRedirectsChecks ?? [...redirects.simplyTranslate.normal];
+          simplyTranslateNormalCustomRedirects = result.simplyTranslateNormalCustomRedirects ?? [];
+
+          simplyTranslateTorRedirectsChecks = result.simplyTranslateTorRedirectsChecks ?? [...redirects.simplyTranslate.tor];
+          simplyTranslateTorCustomRedirects = result.simplyTranslateTorCustomRedirects ?? [];
+
+          lingvaNormalRedirectsChecks = result.lingvaNormalRedirectsChecks ?? [...redirects.lingva.normal];
+          lingvaNormalCustomRedirects = result.lingvaNormalCustomRedirects ?? [];
+
+          lingvaTorRedirectsChecks = result.lingvaTorRedirectsChecks ?? [...redirects.lingva.tor];
+          lingvaTorCustomRedirects = result.lingvaTorCustomRedirects ?? [];
+
+          resolve();
+        });
+    });
   });
-
 }
 
 export default {
@@ -222,6 +288,9 @@ export default {
   getFrontend,
   setFrontend,
 
+  getProtocol,
+  setProtocol,
+
   getFrom,
   setFrom,
   getTo,
@@ -229,15 +298,23 @@ export default {
 
   getSimplyTranslateNormalRedirectsChecks,
   setSimplyTranslateNormalRedirectsChecks,
+  getSimplyTranslateTorRedirectsChecks,
+  setSimplyTranslateTorRedirectsChecks,
 
   getSimplyTranslateNormalCustomRedirects,
   setSimplyTranslateNormalCustomRedirects,
+  getSimplyTranslateTorCustomRedirects,
+  setSimplyTranslateTorCustomRedirects,
 
   getLingvaNormalRedirectsChecks,
   setLingvaNormalRedirectsChecks,
+  getLingvaTorRedirectsChecks,
+  setLingvaTorRedirectsChecks,
 
   getLingvaNormalCustomRedirects,
   setLingvaNormalCustomRedirects,
+  getLingvaTorCustomRedirects,
+  setLingvaTorCustomRedirects,
 
   redirect,
   init,
diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js
index 2feb64a0..8d4b67d5 100644
--- a/src/assets/javascripts/helpers/youtube/youtube.js
+++ b/src/assets/javascripts/helpers/youtube/youtube.js
@@ -134,7 +134,6 @@ function setDisable(val) {
   console.log("disableYoutube: ", disable)
 }
 
-
 let protocol;
 const getProtocol = () => protocol;
 function setProtocol(val) {
@@ -511,7 +510,6 @@ async function init() {
           redirects.invidious = dataJson.invidious;
           if (result.youtubeRedirects) redirects = result.youtubeRedirects;
 
-
           disable = result.disableYoutube ?? false;
           protocol = result.youtubeProtocol ?? 'normal';
           frontend = result.youtubeFrontend ?? 'piped';