diff options
author | ManeraKai <manerakai@protonmail.com> | 2022-02-23 19:48:04 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2022-02-23 19:48:04 +0300 |
commit | ae29c4c70aa12095a8159884f49a7a9c31ccb9d5 (patch) | |
tree | 58e564e9ff3492e506540c54b1fe6a7cb154735a /src/assets | |
parent | Merge branch 'master' of https://github.com/libredirect/libredirect (diff) | |
download | libredirect-ae29c4c70aa12095a8159884f49a7a9c31ccb9d5.zip |
Added translate tor support #32
Diffstat (limited to 'src/assets')
-rw-r--r-- | src/assets/javascripts/helpers/medium.js | 4 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/translate.js | 193 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/youtube/youtube.js | 2 |
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'; |