aboutsummaryrefslogtreecommitdiffstats
path: root/src/assets/javascripts
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/javascripts
parentMerge branch 'master' of https://github.com/libredirect/libredirect (diff)
downloadlibredirect-ae29c4c70aa12095a8159884f49a7a9c31ccb9d5.zip
Added translate tor support #32
Diffstat (limited to 'src/assets/javascripts')
-rw-r--r--src/assets/javascripts/helpers/medium.js4
-rw-r--r--src/assets/javascripts/helpers/translate.js183
-rw-r--r--src/assets/javascripts/helpers/youtube/youtube.js2
3 files changed, 132 insertions, 57 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";
+ fetch('/instances/data.json').then(response => response.text()).then(data => {
+ let dataJson = JSON.parse(data);
+ browser.storage.local.get(
+ [
+ "translateDisable",
+ "translateFrontend",
+ "translateProtocol",
+ "translateRedirects",
- from = result.translateFrom ?? "auto";
- to = result.translateTo ?? 'en';
+ "simplyTranslateNormalRedirectsChecks",
+ "simplyTranslateNormalCustomRedirects",
+ "simplyTranslateTorRedirectsChecks",
+ "simplyTranslateTorCustomRedirects",
- if (result.translateRedirects) redirects = result.translateRedirects
+ "lingvaNormalRedirectsChecks",
+ "lingvaNormalCustomRedirects",
+ "lingvaTorRedirectsChecks",
+ "lingvaTorCustomRedirects",
- simplyTranslateNormalRedirectsChecks = result.simplyTranslateNormalRedirectsChecks ?? [...redirects.simplyTranslate.normal];
- simplyTranslateNormalCustomRedirects = result.simplyTranslateNormalCustomRedirects ?? [];
+ "translateFrom",
+ "translateTo",
+ ],
+ (result) => {
+ disable = result.translateDisable ?? false;
+ frontend = result.translateFrontend ?? "simplyTranslate";
+ protocol = result.translateProtocol ?? 'normal';
- lingvaNormalRedirectsChecks = result.lingvaNormalRedirectsChecks ?? [...redirects.lingva.normal];
- lingvaNormalCustomRedirects = result.lingvaNormalCustomRedirects ?? [];
+ from = result.translateFrom ?? "DEFAULT";
+ to = result.translateTo ?? 'DEFAULT';
- resolve();
- });
- });
+ 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';