aboutsummaryrefslogtreecommitdiffstats
path: root/src/assets/javascripts/translate
diff options
context:
space:
mode:
authorBobIsMyManager <bimmgitsignature.nly8m@simplelogin.co>2022-07-26 22:28:50 +0100
committerBobIsMyManager <bimmgitsignature.nly8m@simplelogin.co>2022-07-26 22:28:50 +0100
commit2a0596f08fb54e2faef4bcb4548a28f5837fc067 (patch)
treecf5851f95c37da269a561623cee0d3967ca321ec /src/assets/javascripts/translate
parentI should really inspect diffs before commiting (diff)
downloadlibredirect-2a0596f08fb54e2faef4bcb4548a28f5837fc067.zip
Many things
Made all instances updateable Added hyperpipe Closes https://github.com/libredirect/libredirect/issues/398 Added cloudtube Closes https://github.com/libredirect/libredirect/issues/397 Start using prettier
Diffstat (limited to 'src/assets/javascripts/translate')
-rw-r--r--src/assets/javascripts/translate/get_lingva_preferences.js18
-rw-r--r--src/assets/javascripts/translate/set_lingva_preferences.js24
-rw-r--r--src/assets/javascripts/translate/translate.js674
3 files changed, 370 insertions, 346 deletions
diff --git a/src/assets/javascripts/translate/get_lingva_preferences.js b/src/assets/javascripts/translate/get_lingva_preferences.js
index 40def6a5..0d6ff6ec 100644
--- a/src/assets/javascripts/translate/get_lingva_preferences.js
+++ b/src/assets/javascripts/translate/get_lingva_preferences.js
@@ -1,12 +1,10 @@
-window.browser = window.browser || window.chrome;
+window.browser = window.browser || window.chrome
-browser.storage.local.set(
- {
- ['lingva_chakra-ui-color-mode']: localStorage.getItem('chakra-ui-color-mode'),
- lingva_isauto: localStorage.getItem('isauto'),
- lingva_source: localStorage.getItem('source'),
- lingva_target: localStorage.getItem('target'),
- }
-)
+browser.storage.local.set({
+ ["lingva_chakra-ui-color-mode"]: localStorage.getItem("chakra-ui-color-mode"),
+ lingva_isauto: localStorage.getItem("isauto"),
+ lingva_source: localStorage.getItem("source"),
+ lingva_target: localStorage.getItem("target"),
+})
-console.log(localStorage.getItem('target')); \ No newline at end of file
+console.log(localStorage.getItem("target"))
diff --git a/src/assets/javascripts/translate/set_lingva_preferences.js b/src/assets/javascripts/translate/set_lingva_preferences.js
index a0f2ad87..04a36e1b 100644
--- a/src/assets/javascripts/translate/set_lingva_preferences.js
+++ b/src/assets/javascripts/translate/set_lingva_preferences.js
@@ -1,17 +1,9 @@
-window.browser = window.browser || window.chrome;
+window.browser = window.browser || window.chrome
-browser.storage.local.get(
- [
- "lingva_chakra-ui-color-mode",
- "lingva_isauto",
- "lingva_source",
- "lingva_target",
- ],
- r => {
- if (r['lingva_chakra-ui-color-mode'] !== undefined) localStorage.setItem('chakra-ui-color-mode', r['lingva_chakra-ui-color-mode']);
- if (r.lingva_isauto !== undefined) localStorage.setItem('isauto', r.lingva_isauto);
- if (r.lingva_source !== undefined) localStorage.setItem('source', r.lingva_source);
- if (r.lingva_target !== undefined) localStorage.setItem('target', r.lingva_target);
- window.close();
- }
-)
+browser.storage.local.get(["lingva_chakra-ui-color-mode", "lingva_isauto", "lingva_source", "lingva_target"], r => {
+ if (r["lingva_chakra-ui-color-mode"] !== undefined) localStorage.setItem("chakra-ui-color-mode", r["lingva_chakra-ui-color-mode"])
+ if (r.lingva_isauto !== undefined) localStorage.setItem("isauto", r.lingva_isauto)
+ if (r.lingva_source !== undefined) localStorage.setItem("source", r.lingva_source)
+ if (r.lingva_target !== undefined) localStorage.setItem("target", r.lingva_target)
+ window.close()
+})
diff --git a/src/assets/javascripts/translate/translate.js b/src/assets/javascripts/translate/translate.js
index 75c5b5f8..5512f7f1 100644
--- a/src/assets/javascripts/translate/translate.js
+++ b/src/assets/javascripts/translate/translate.js
@@ -1,379 +1,413 @@
-window.browser = window.browser || window.chrome;
+window.browser = window.browser || window.chrome
-import utils from '../utils.js'
+import utils from "../utils.js"
-const targets = [
- /^https?:\/{2}translate\.google(\.[a-z]{2,3}){1,2}\//,
-];
+const targets = [/^https?:\/{2}translate\.google(\.[a-z]{2,3}){1,2}\//]
const frontends = new Array("simplyTranslate", "lingva")
const protocols = new Array("normal", "tor", "i2p", "loki")
-let redirects = {};
+let redirects = {}
for (let i = 0; i < frontends.length; i++) {
- redirects[frontends[i]] = {}
- for (let x = 0; x < protocols.length; x++) {
- redirects[frontends[i]][protocols[x]] = []
- }
+ redirects[frontends[i]] = {}
+ for (let x = 0; x < protocols.length; x++) {
+ redirects[frontends[i]][protocols[x]] = []
+ }
}
-let
- translateDisable,
- translateFrontend,
- protocol,
- protocolFallback,
- translateRedirects,
- simplyTranslateNormalRedirectsChecks,
- simplyTranslateNormalCustomRedirects,
- simplyTranslateTorRedirectsChecks,
- simplyTranslateTorCustomRedirects,
- simplyTranslateI2pRedirectsChecks,
- simplyTranslateI2pCustomRedirects,
- simplyTranslateLokiRedirectsChecks,
- simplyTranslateLokiCustomRedirects,
- lingvaNormalRedirectsChecks,
- lingvaNormalCustomRedirects,
- lingvaTorRedirectsChecks,
- lingvaTorCustomRedirects,
- lingvaI2pCustomRedirects,
- lingvaLokiCustomRedirects
+let translateDisable,
+ translateFrontend,
+ protocol,
+ protocolFallback,
+ translateRedirects,
+ simplyTranslateNormalRedirectsChecks,
+ simplyTranslateNormalCustomRedirects,
+ simplyTranslateTorRedirectsChecks,
+ simplyTranslateTorCustomRedirects,
+ simplyTranslateI2pRedirectsChecks,
+ simplyTranslateI2pCustomRedirects,
+ simplyTranslateLokiRedirectsChecks,
+ simplyTranslateLokiCustomRedirects,
+ lingvaNormalRedirectsChecks,
+ lingvaNormalCustomRedirects,
+ lingvaTorRedirectsChecks,
+ lingvaTorCustomRedirects,
+ lingvaI2pCustomRedirects,
+ lingvaLokiCustomRedirects
function init() {
- return new Promise(resolve => {
- browser.storage.local.get(
- [
- "translateDisable",
- "translateFrontend",
- "protocol",
- "protocolFallback",
- "translateRedirects",
- "simplyTranslateNormalRedirectsChecks",
- "simplyTranslateNormalCustomRedirects",
- "simplyTranslateTorRedirectsChecks",
- "simplyTranslateTorCustomRedirects",
- "simplyTranslateI2pRedirectsChecks",
- "simplyTranslateI2pCustomRedirects",
- "simplyTranslateLokiRedirectsChecks",
- "simplyTranslateLokiCustomRedirects",
+ return new Promise(resolve => {
+ browser.storage.local.get(
+ [
+ "translateDisable",
+ "translateFrontend",
+ "protocol",
+ "protocolFallback",
+ "translateRedirects",
+ "simplyTranslateNormalRedirectsChecks",
+ "simplyTranslateNormalCustomRedirects",
+ "simplyTranslateTorRedirectsChecks",
+ "simplyTranslateTorCustomRedirects",
+ "simplyTranslateI2pRedirectsChecks",
+ "simplyTranslateI2pCustomRedirects",
+ "simplyTranslateLokiRedirectsChecks",
+ "simplyTranslateLokiCustomRedirects",
- "lingvaNormalRedirectsChecks",
- "lingvaNormalCustomRedirects",
- "lingvaTorRedirectsChecks",
- "lingvaTorCustomRedirects",
- "lingvaI2pCustomRedirects",
- "lingvaLokiCustomRedirects"
- ],
- r => {
- translateDisable = r.translateDisable;
- translateFrontend = r.translateFrontend;
- protocol = r.protocol;
- protocolFallback = r.protocolFallback
- translateRedirects = r.translateRedirects;
- simplyTranslateNormalRedirectsChecks = r.simplyTranslateNormalRedirectsChecks;
- simplyTranslateNormalCustomRedirects = r.simplyTranslateNormalCustomRedirects;
- simplyTranslateTorRedirectsChecks = r.simplyTranslateTorRedirectsChecks;
- simplyTranslateTorCustomRedirects = r.simplyTranslateTorCustomRedirects;
- simplyTranslateI2pRedirectsChecks = r.simplyTranslateI2pRedirectsChecks;
- simplyTranslateI2pCustomRedirects = r.simplyTranslateI2pCustomRedirects;
- simplyTranslateLokiRedirectsChecks = r.simplyTranslateLokiRedirectsChecks;
- simplyTranslateLokiCustomRedirects = r.simplyTranslateLokiCustomRedirects;
- lingvaNormalRedirectsChecks = r.lingvaNormalRedirectsChecks;
- lingvaNormalCustomRedirects = r.lingvaNormalCustomRedirects;
- lingvaTorRedirectsChecks = r.lingvaTorRedirectsChecks;
- lingvaTorCustomRedirects = r.lingvaTorCustomRedirects;
- lingvaI2pCustomRedirects = r.lingvaI2pCustomRedirects;
- lingvaLokiCustomRedirects = r.lingvaLokiCustomRedirects;
- resolve();
- }
- )
- })
+ "lingvaNormalRedirectsChecks",
+ "lingvaNormalCustomRedirects",
+ "lingvaTorRedirectsChecks",
+ "lingvaTorCustomRedirects",
+ "lingvaI2pCustomRedirects",
+ "lingvaLokiCustomRedirects",
+ ],
+ r => {
+ translateDisable = r.translateDisable
+ translateFrontend = r.translateFrontend
+ protocol = r.protocol
+ protocolFallback = r.protocolFallback
+ translateRedirects = r.translateRedirects
+ simplyTranslateNormalRedirectsChecks = r.simplyTranslateNormalRedirectsChecks
+ simplyTranslateNormalCustomRedirects = r.simplyTranslateNormalCustomRedirects
+ simplyTranslateTorRedirectsChecks = r.simplyTranslateTorRedirectsChecks
+ simplyTranslateTorCustomRedirects = r.simplyTranslateTorCustomRedirects
+ simplyTranslateI2pRedirectsChecks = r.simplyTranslateI2pRedirectsChecks
+ simplyTranslateI2pCustomRedirects = r.simplyTranslateI2pCustomRedirects
+ simplyTranslateLokiRedirectsChecks = r.simplyTranslateLokiRedirectsChecks
+ simplyTranslateLokiCustomRedirects = r.simplyTranslateLokiCustomRedirects
+ lingvaNormalRedirectsChecks = r.lingvaNormalRedirectsChecks
+ lingvaNormalCustomRedirects = r.lingvaNormalCustomRedirects
+ lingvaTorRedirectsChecks = r.lingvaTorRedirectsChecks
+ lingvaTorCustomRedirects = r.lingvaTorCustomRedirects
+ lingvaI2pCustomRedirects = r.lingvaI2pCustomRedirects
+ lingvaLokiCustomRedirects = r.lingvaLokiCustomRedirects
+ resolve()
+ }
+ )
+ })
}
-init();
+init()
browser.storage.onChanged.addListener(init)
function setRedirects(val) {
- browser.storage.local.get('cloudflareBlackList', r => {
- redirects = val;
- lingvaNormalRedirectsChecks = [...redirects.lingva.normal]
- for (const instance of r.cloudflareBlackList) {
- const i = lingvaNormalRedirectsChecks.indexOf(instance);
- if (i > -1) lingvaNormalRedirectsChecks.splice(i, 1);
- }
- browser.storage.local.set({
- translateRedirects: redirects,
- simplyTranslateNormalRedirectsChecks: redirects.simplyTranslate.normal,
- simplyTranslateTorRedirectsChecks: redirects.simplyTranslate.tor,
- simplyTranslateI2pRedirectsChecks: redirects.simplyTranslate.i2p,
- simplyTranslateLokiRedirectsChecks: redirects.simplyTranslate.loki,
- lingvaNormalRedirectsChecks,
- lingvaTorRedirectsChecks: redirects.lingva.tor,
- })
- })
+ browser.storage.local.get("cloudflareBlackList", r => {
+ redirects = val
+ lingvaNormalRedirectsChecks = [...redirects.lingva.normal]
+ for (const instance of r.cloudflareBlackList) {
+ const i = lingvaNormalRedirectsChecks.indexOf(instance)
+ if (i > -1) lingvaNormalRedirectsChecks.splice(i, 1)
+ }
+ browser.storage.local.set({
+ translateRedirects: redirects,
+ simplyTranslateNormalRedirectsChecks: redirects.simplyTranslate.normal,
+ simplyTranslateTorRedirectsChecks: redirects.simplyTranslate.tor,
+ simplyTranslateI2pRedirectsChecks: redirects.simplyTranslate.i2p,
+ simplyTranslateLokiRedirectsChecks: redirects.simplyTranslate.loki,
+ lingvaNormalRedirectsChecks,
+ lingvaTorRedirectsChecks: redirects.lingva.tor,
+ })
+ })
}
function copyPasteLingvaLocalStorage(test, url, tabId) {
- return new Promise(async resolve => {
- await init();
- if (translateDisable || translateFrontend != 'lingva') { resolve(); return; }
- const protocolHost = utils.protocolHost(url);
- if (![
- ...lingvaNormalRedirectsChecks,
- ...lingvaNormalCustomRedirects,
- ...lingvaTorRedirectsChecks,
- ...lingvaTorCustomRedirects,
- ...lingvaI2pCustomRedirects,
- ...lingvaLokiCustomRedirects
- ].includes(protocolHost)) { resolve(); return; }
+ return new Promise(async resolve => {
+ await init()
+ if (translateDisable || translateFrontend != "lingva") {
+ resolve()
+ return
+ }
+ const protocolHost = utils.protocolHost(url)
+ if (
+ ![...lingvaNormalRedirectsChecks, ...lingvaNormalCustomRedirects, ...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects, ...lingvaI2pCustomRedirects, ...lingvaLokiCustomRedirects].includes(
+ protocolHost
+ )
+ ) {
+ resolve()
+ return
+ }
- if (!test) {
- browser.tabs.executeScript(
- tabId,
- { file: "/assets/javascripts/translate/get_lingva_preferences.js", runAt: "document_start" }
- );
+ if (!test) {
+ browser.tabs.executeScript(tabId, {
+ file: "/assets/javascripts/translate/get_lingva_preferences.js",
+ runAt: "document_start",
+ })
- let checkedInstances = [];
- if (protocol == 'loki') checkedInstances = [...lingvaLokiCustomRedirects]; //...lingvaLokiRedirectsChecks,
- else if (protocol == 'i2p') checkedInstances = [...lingvaI2pCustomRedirects]; //...lingvaI2pRedirectsChecks,
- else if (protocol == 'tor') checkedInstances = [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects];
- if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
- checkedInstances = [...lingvaNormalRedirectsChecks, ...lingvaNormalCustomRedirects];
- }
- const i = checkedInstances.indexOf(protocolHost);
- if (i !== -1) checkedInstances.splice(i, 1);
- if (checkedInstances.length === 0) { resolve(); return; }
- for (const to of checkedInstances)
- browser.tabs.create(
- { url: to },
- tab => browser.tabs.executeScript(tab.id, { file: "/assets/javascripts/translate/set_lingva_preferences.js", runAt: "document_start" })
- );
- }
- resolve(true);
- }
- )
+ let checkedInstances = []
+ if (protocol == "loki") checkedInstances = [...lingvaLokiCustomRedirects]
+ //...lingvaLokiRedirectsChecks,
+ else if (protocol == "i2p") checkedInstances = [...lingvaI2pCustomRedirects]
+ //...lingvaI2pRedirectsChecks,
+ else if (protocol == "tor") checkedInstances = [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects]
+ if ((checkedInstances.length === 0 && protocolFallback) || protocol == "normal") {
+ checkedInstances = [...lingvaNormalRedirectsChecks, ...lingvaNormalCustomRedirects]
+ }
+ const i = checkedInstances.indexOf(protocolHost)
+ if (i !== -1) checkedInstances.splice(i, 1)
+ if (checkedInstances.length === 0) {
+ resolve()
+ return
+ }
+ for (const to of checkedInstances)
+ browser.tabs.create({ url: to }, tab =>
+ browser.tabs.executeScript(tab.id, {
+ file: "/assets/javascripts/translate/set_lingva_preferences.js",
+ runAt: "document_start",
+ })
+ )
+ }
+ resolve(true)
+ })
}
function pasteLingvaLocalStorage() {
- return new Promise(async resolve => {
- await init();
- if (translateDisable || translateFrontend != 'lingva') { resolve(); return; }
- let checkedInstances = [];
- if (protocol == 'loki') checkedInstances = [...lingvaLokiCustomRedirects]; //...lingvaLokiRedirectsChecks,
- else if (protocol == 'i2p') checkedInstances = [...lingvaI2pCustomRedirects]; //...lingvaI2pRedirectsChecks,
- else if (protocol == 'tor') checkedInstances = [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects];
- if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
- checkedInstances = [...lingvaNormalRedirectsChecks, ...lingvaNormalCustomRedirects];
- }
- for (const to of checkedInstances)
- browser.tabs.create({ url: to },
- tab => browser.tabs.executeScript(tab.id, { file: "/assets/javascripts/translate/set_lingva_preferences.js", runAt: "document_start" }))
- resolve();
- })
+ return new Promise(async resolve => {
+ await init()
+ if (translateDisable || translateFrontend != "lingva") {
+ resolve()
+ return
+ }
+ let checkedInstances = []
+ if (protocol == "loki") checkedInstances = [...lingvaLokiCustomRedirects]
+ //...lingvaLokiRedirectsChecks,
+ else if (protocol == "i2p") checkedInstances = [...lingvaI2pCustomRedirects]
+ //...lingvaI2pRedirectsChecks,
+ else if (protocol == "tor") checkedInstances = [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects]
+ if ((checkedInstances.length === 0 && protocolFallback) || protocol == "normal") {
+ checkedInstances = [...lingvaNormalRedirectsChecks, ...lingvaNormalCustomRedirects]
+ }
+ for (const to of checkedInstances)
+ browser.tabs.create({ url: to }, tab =>
+ browser.tabs.executeScript(tab.id, {
+ file: "/assets/javascripts/translate/set_lingva_preferences.js",
+ runAt: "document_start",
+ })
+ )
+ resolve()
+ })
}
function copyPasteSimplyTranslateCookies(test, from) {
- return new Promise(async resolve => {
- await init();
- const protocolHost = utils.protocolHost(from);
- if (![
- ...simplyTranslateNormalRedirectsChecks,
- ...simplyTranslateNormalCustomRedirects,
- ...simplyTranslateTorRedirectsChecks,
- ...simplyTranslateTorCustomRedirects,
- ...simplyTranslateI2pRedirectsChecks,
- ...simplyTranslateI2pCustomRedirects,
- ...simplyTranslateLokiRedirectsChecks,
- ...simplyTranslateLokiCustomRedirects,
- ].includes(protocolHost)) { resolve(); return; }
- if (!test) {
- let checkedInstances = [];
- if (protocol == 'loki') checkedInstances = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomRedirects]
- else if (protocol == 'i2p') checkedInstances = [...simplyTranslateI2pCustomRedirects, ...simplyTranslateI2pRedirectsChecks];
- else if (protocol == 'tor') checkedInstances = [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects];
- if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
- checkedInstances = [...simplyTranslateNormalRedirectsChecks, ...simplyTranslateNormalCustomRedirects];
- }
- await utils.copyCookie('simplyTranslate', from, checkedInstances, 'from_lang');
- await utils.copyCookie('simplyTranslate', from, checkedInstances, 'to_lang');
- await utils.copyCookie('simplyTranslate', from, checkedInstances, 'tts_enabled');
- await utils.copyCookie('simplyTranslate', from, checkedInstances, 'use_text_fields');
- }
- resolve(true);
- }
- )
+ return new Promise(async resolve => {
+ await init()
+ const protocolHost = utils.protocolHost(from)
+ if (
+ ![
+ ...simplyTranslateNormalRedirectsChecks,
+ ...simplyTranslateNormalCustomRedirects,
+ ...simplyTranslateTorRedirectsChecks,
+ ...simplyTranslateTorCustomRedirects,
+ ...simplyTranslateI2pRedirectsChecks,
+ ...simplyTranslateI2pCustomRedirects,
+ ...simplyTranslateLokiRedirectsChecks,
+ ...simplyTranslateLokiCustomRedirects,
+ ].includes(protocolHost)
+ ) {
+ resolve()
+ return
+ }
+ if (!test) {
+ let checkedInstances = []
+ if (protocol == "loki") checkedInstances = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomRedirects]
+ else if (protocol == "i2p") checkedInstances = [...simplyTranslateI2pCustomRedirects, ...simplyTranslateI2pRedirectsChecks]
+ else if (protocol == "tor") checkedInstances = [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects]
+ if ((checkedInstances.length === 0 && protocolFallback) || protocol == "normal") {
+ checkedInstances = [...simplyTranslateNormalRedirectsChecks, ...simplyTranslateNormalCustomRedirects]
+ }
+ await utils.copyCookie("simplyTranslate", from, checkedInstances, "from_lang")
+ await utils.copyCookie("simplyTranslate", from, checkedInstances, "to_lang")
+ await utils.copyCookie("simplyTranslate", from, checkedInstances, "tts_enabled")
+ await utils.copyCookie("simplyTranslate", from, checkedInstances, "use_text_fields")
+ }
+ resolve(true)
+ })
}
function pasteSimplyTranslateCookies() {
- return new Promise(async resolve => {
- await init();
- if (translateDisable || translateFrontend != 'simplyTranslate') { resolve(); return; }
- let checkedInstances = [];
- if (protocol == 'loki') checkedInstances = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomRedirects]
- else if (protocol == 'i2p') checkedInstances = [...simplyTranslateI2pCustomRedirects, ...simplyTranslateI2pRedirectsChecks];
- else if (protocol == 'tor') checkedInstances = [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects];
- if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
- checkedInstances = [...simplyTranslateNormalRedirectsChecks, ...simplyTranslateNormalCustomRedirects];
- }
- utils.getCookiesFromStorage('simplyTranslate', checkedInstances, 'from_lang');
- utils.getCookiesFromStorage('simplyTranslate', checkedInstances, 'to_lang');
- utils.getCookiesFromStorage('simplyTranslate', checkedInstances, 'tts_enabled');
- utils.getCookiesFromStorage('simplyTranslate', checkedInstances, 'use_text_fields');
- resolve();
- }
- )
+ return new Promise(async resolve => {
+ await init()
+ if (translateDisable || translateFrontend != "simplyTranslate") {
+ resolve()
+ return
+ }
+ let checkedInstances = []
+ if (protocol == "loki") checkedInstances = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomRedirects]
+ else if (protocol == "i2p") checkedInstances = [...simplyTranslateI2pCustomRedirects, ...simplyTranslateI2pRedirectsChecks]
+ else if (protocol == "tor") checkedInstances = [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects]
+ if ((checkedInstances.length === 0 && protocolFallback) || protocol == "normal") {
+ checkedInstances = [...simplyTranslateNormalRedirectsChecks, ...simplyTranslateNormalCustomRedirects]
+ }
+ utils.getCookiesFromStorage("simplyTranslate", checkedInstances, "from_lang")
+ utils.getCookiesFromStorage("simplyTranslate", checkedInstances, "to_lang")
+ utils.getCookiesFromStorage("simplyTranslate", checkedInstances, "tts_enabled")
+ utils.getCookiesFromStorage("simplyTranslate", checkedInstances, "use_text_fields")
+ resolve()
+ })
}
function redirect(url, disableOverride) {
- if (translateDisable && !disableOverride) return;
- if (!targets.some(rx => rx.test(url.href))) return;
+ if (translateDisable && !disableOverride) return
+ if (!targets.some(rx => rx.test(url.href))) return
- if (translateFrontend == 'simplyTranslate') {
- let instancesList = [];
- if (protocol == 'loki') instancesList = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomRedirects];
- else if (protocol == 'i2p') instancesList = [...simplyTranslateI2pRedirectsChecks, ...simplyTranslateI2pCustomRedirects];
- else if (protocol == 'tor') instancesList = [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects];
- if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
- instancesList = [...simplyTranslateNormalRedirectsChecks, ...simplyTranslateNormalCustomRedirects];
- }
- if (instancesList.length === 0) return;
+ if (translateFrontend == "simplyTranslate") {
+ let instancesList = []
+ if (protocol == "loki") instancesList = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomRedirects]
+ else if (protocol == "i2p") instancesList = [...simplyTranslateI2pRedirectsChecks, ...simplyTranslateI2pCustomRedirects]
+ else if (protocol == "tor") instancesList = [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects]
+ if ((instancesList.length === 0 && protocolFallback) || protocol == "normal") {
+ instancesList = [...simplyTranslateNormalRedirectsChecks, ...simplyTranslateNormalCustomRedirects]
+ }
+ if (instancesList.length === 0) return
- const randomInstance = utils.getRandomInstance(instancesList)
- return `${randomInstance}/${url.search}`;
- }
- else if (translateFrontend == 'lingva') {
- let params_arr = url.search.split('&');
- params_arr[0] = params_arr[0].substring(1);
- let params = {};
- for (let i = 0; i < params_arr.length; i++) {
- let pair = params_arr[i].split('=');
- params[pair[0]] = pair[1];
- }
- let instancesList = [];
- if (protocol == 'loki') instancesList = [...lingvaLokiCustomRedirects]; //...lingvaLokiRedirectsChecks,
- else if (protocol == 'i2p') instancesList = [...lingvaI2pCustomRedirects]; //...lingvaI2pRedirectsChecks,
- if (protocol == 'tor') instancesList = [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects];
- if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
- instancesList = [...lingvaNormalRedirectsChecks, ...lingvaNormalCustomRedirects];
- }
- if (instancesList.length === 0) return;
+ const randomInstance = utils.getRandomInstance(instancesList)
+ return `${randomInstance}/${url.search}`
+ } else if (translateFrontend == "lingva") {
+ let params_arr = url.search.split("&")
+ params_arr[0] = params_arr[0].substring(1)
+ let params = {}
+ for (let i = 0; i < params_arr.length; i++) {
+ let pair = params_arr[i].split("=")
+ params[pair[0]] = pair[1]
+ }
+ let instancesList = []
+ if (protocol == "loki") instancesList = [...lingvaLokiCustomRedirects]
+ //...lingvaLokiRedirectsChecks,
+ else if (protocol == "i2p") instancesList = [...lingvaI2pCustomRedirects] //...lingvaI2pRedirectsChecks,
+ if (protocol == "tor") instancesList = [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects]
+ if ((instancesList.length === 0 && protocolFallback) || protocol == "normal") {
+ instancesList = [...lingvaNormalRedirectsChecks, ...lingvaNormalCustomRedirects]
+ }
+ if (instancesList.length === 0) return
- const randomInstance = utils.getRandomInstance(instancesList)
- if (params.sl && params.tl && params.text) {
- return `${randomInstance}/${params.sl}/${params.tl}/${params.text}`
- }
- return randomInstance;
- }
+ const randomInstance = utils.getRandomInstance(instancesList)
+ if (params.sl && params.tl && params.text) {
+ return `${randomInstance}/${params.sl}/${params.tl}/${params.text}`
+ }
+ return randomInstance
+ }
}
function switchInstance(url, disableOverride) {
- return new Promise(async resolve => {
- await init();
- if (translateDisable && !disableOverride) { resolve(); return; }
- const protocolHost = utils.protocolHost(url);
- if (![
- ...translateRedirects.simplyTranslate.normal,
- ...translateRedirects.simplyTranslate.tor,
- ...translateRedirects.simplyTranslate.i2p,
- ...translateRedirects.simplyTranslate.loki,
+ return new Promise(async resolve => {
+ await init()
+ if (translateDisable && !disableOverride) {
+ resolve()
+ return
+ }
+ const protocolHost = utils.protocolHost(url)
+ if (
+ ![
+ ...translateRedirects.simplyTranslate.normal,
+ ...translateRedirects.simplyTranslate.tor,
+ ...translateRedirects.simplyTranslate.i2p,
+ ...translateRedirects.simplyTranslate.loki,
- ...simplyTranslateNormalCustomRedirects,
- ...simplyTranslateTorCustomRedirects,
- ...simplyTranslateI2pCustomRedirects,
- ...simplyTranslateLokiCustomRedirects,
+ ...simplyTranslateNormalCustomRedirects,
+ ...simplyTranslateTorCustomRedirects,
+ ...simplyTranslateI2pCustomRedirects,
+ ...simplyTranslateLokiCustomRedirects,
- ...translateRedirects.lingva.normal,
- ...translateRedirects.lingva.tor,
+ ...translateRedirects.lingva.normal,
+ ...translateRedirects.lingva.tor,
- ...lingvaNormalCustomRedirects,
- ...lingvaTorCustomRedirects,
- ...lingvaI2pCustomRedirects,
- ...lingvaLokiCustomRedirects
- ].includes(protocolHost)) { resolve(); return; }
+ ...lingvaNormalCustomRedirects,
+ ...lingvaTorCustomRedirects,
+ ...lingvaI2pCustomRedirects,
+ ...lingvaLokiCustomRedirects,
+ ].includes(protocolHost)
+ ) {
+ resolve()
+ return
+ }
- let instancesList;
+ let instancesList
- if (protocol == 'loki') {
- if (translateFrontend == 'simplyTranslate') instancesList = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomRedirects];
- else if (translateFrontend == 'lingva') instancesList = [...lingvaLokiCustomRedirects]; //...lingvaLokiRedirectsChecks,
- }
- else if (protocol == 'i2p') {
- if (translateFrontend == 'simplyTranslate') instancesList = [...simplyTranslateI2pRedirectsChecks, ...simplyTranslateI2pCustomRedirects];
- else if (translateFrontend == 'lingva') instancesList = [...lingvaI2pCustomRedirects]; //...lingvaI2pRedirectsChecks,
- }
- else if (protocol == 'tor') {
- if (translateFrontend == 'simplyTranslate') instancesList = [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects];
- else if (translateFrontend == 'lingva') instancesList = [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects];
- }
- if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
- if (translateFrontend == 'simplyTranslate') instancesList = [...simplyTranslateNormalRedirectsChecks, ...simplyTranslateNormalCustomRedirects];
- else if (translateFrontend == 'lingva') instancesList = [...lingvaNormalRedirectsChecks, ...lingvaNormalCustomRedirects];
- }
+ if (protocol == "loki") {
+ if (translateFrontend == "simplyTranslate") instancesList = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomRedirects]
+ else if (translateFrontend == "lingva") instancesList = [...lingvaLokiCustomRedirects] //...lingvaLokiRedirectsChecks,
+ } else if (protocol == "i2p") {
+ if (translateFrontend == "simplyTranslate") instancesList = [...simplyTranslateI2pRedirectsChecks, ...simplyTranslateI2pCustomRedirects]
+ else if (translateFrontend == "lingva") instancesList = [...lingvaI2pCustomRedirects] //...lingvaI2pRedirectsChecks,
+ } else if (protocol == "tor") {
+ if (translateFrontend == "simplyTranslate") instancesList = [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects]
+ else if (translateFrontend == "lingva") instancesList = [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects]
+ }
+ if ((instancesList.length === 0 && protocolFallback) || protocol == "normal") {
+ if (translateFrontend == "simplyTranslate") instancesList = [...simplyTranslateNormalRedirectsChecks, ...simplyTranslateNormalCustomRedirects]
+ else if (translateFrontend == "lingva") instancesList = [...lingvaNormalRedirectsChecks, ...lingvaNormalCustomRedirects]
+ }
- const i = instancesList.indexOf(protocolHost);
- if (i > -1) instancesList.splice(i, 1);
- if (instancesList.length === 0) { resolve(); return; }
+ 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}`);
- })
+ const randomInstance = utils.getRandomInstance(instancesList)
+ resolve(`${randomInstance}${url.pathname}${url.search}`)
+ })
}
function initDefaults() {
- return new Promise(async resolve => {
- fetch('/instances/data.json').then(response => response.text()).then(data => {
- let dataJson = JSON.parse(data);
- for (let i = 0; i < frontends.length; i++) {
- redirects[frontends[i]] = dataJson[frontends[i]]
- }
- browser.storage.local.get('cloudflareBlackList',
- async r => {
- lingvaNormalRedirectsChecks = [...redirects.lingva.normal]
- for (const instance of r.cloudflareBlackList) {
- const i = lingvaNormalRedirectsChecks.indexOf(instance);
- if (i > -1) lingvaNormalRedirectsChecks.splice(i, 1);
- }
- browser.storage.local.set({
- translateDisable: false,
- translateFrontend: "simplyTranslate",
- translateRedirects: redirects,
+ return new Promise(async resolve => {
+ fetch("/instances/data.json")
+ .then(response => response.text())
+ .then(data => {
+ let dataJson = JSON.parse(data)
+ for (let i = 0; i < frontends.length; i++) {
+ redirects[frontends[i]] = dataJson[frontends[i]]
+ }
+ browser.storage.local.get("cloudflareBlackList", async r => {
+ lingvaNormalRedirectsChecks = [...redirects.lingva.normal]
+ for (const instance of r.cloudflareBlackList) {
+ const i = lingvaNormalRedirectsChecks.indexOf(instance)
+ if (i > -1) lingvaNormalRedirectsChecks.splice(i, 1)
+ }
+ browser.storage.local.set(
+ {
+ translateDisable: false,
+ translateFrontend: "simplyTranslate",
+ translateRedirects: redirects,
- simplyTranslateNormalRedirectsChecks: [...redirects.simplyTranslate.normal],
- simplyTranslateNormalCustomRedirects: [],
-
- simplyTranslateTorRedirectsChecks: [...redirects.simplyTranslate.tor],
- simplyTranslateTorCustomRedirects: [],
-
- simplyTranslateI2pRedirectsChecks: [...redirects.simplyTranslate.i2p],
- simplyTranslateI2pCustomRedirects: [],
-
- simplyTranslateLokiRedirectsChecks: [...redirects.simplyTranslate.loki],
- simplyTranslateLokiCustomRedirects: [],
+ simplyTranslateNormalRedirectsChecks: [...redirects.simplyTranslate.normal],
+ simplyTranslateNormalCustomRedirects: [],
- lingvaNormalRedirectsChecks: lingvaNormalRedirectsChecks,
- lingvaNormalCustomRedirects: [],
+ simplyTranslateTorRedirectsChecks: [...redirects.simplyTranslate.tor],
+ simplyTranslateTorCustomRedirects: [],
- lingvaTorRedirectsChecks: [...redirects.lingva.tor],
- lingvaTorCustomRedirects: [],
+ simplyTranslateI2pRedirectsChecks: [...redirects.simplyTranslate.i2p],
+ simplyTranslateI2pCustomRedirects: [],
- lingvaI2pRedirectsChecks: [...redirects.lingva.i2p],
- lingvaI2pCustomRedirects: [],
+ simplyTranslateLokiRedirectsChecks: [...redirects.simplyTranslate.loki],
+ simplyTranslateLokiCustomRedirects: [],
- lingvaLokiRedirectsChecks: [...redirects.lingva.loki],
- lingvaLokiCustomRedirects: []
- }, () => resolve())
- })
- })
- })
+ lingvaNormalRedirectsChecks: lingvaNormalRedirectsChecks,
+ lingvaNormalCustomRedirects: [],
+
+ lingvaTorRedirectsChecks: [...redirects.lingva.tor],
+ lingvaTorCustomRedirects: [],
+
+ lingvaI2pRedirectsChecks: [...redirects.lingva.i2p],
+ lingvaI2pCustomRedirects: [],
+
+ lingvaLokiRedirectsChecks: [...redirects.lingva.loki],
+ lingvaLokiCustomRedirects: [],
+ },
+ () => resolve()
+ )
+ })
+ })
+ })
}
export default {
- copyPasteSimplyTranslateCookies,
- pasteSimplyTranslateCookies,
- copyPasteLingvaLocalStorage,
- pasteLingvaLocalStorage,
- setRedirects,
- redirect,
- initDefaults,
- switchInstance,
-};
+ copyPasteSimplyTranslateCookies,
+ pasteSimplyTranslateCookies,
+ copyPasteLingvaLocalStorage,
+ pasteLingvaLocalStorage,
+ setRedirects,
+ redirect,
+ initDefaults,
+ switchInstance,
+}