diff options
author | ManeraKai <manerakai@protonmail.com> | 2022-06-04 16:16:17 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2022-06-04 16:16:17 +0300 |
commit | 4d0c773cf63a5a7040a8762a72741adb56723280 (patch) | |
tree | 15799e634d6cac6d51b91201d31395125f2bbd29 | |
parent | Merge branch 'master' of https://github.com/libredirect/libredirect (diff) | |
download | libredirect-4d0c773cf63a5a7040a8762a72741adb56723280.zip |
Unify Settings on Import #285
-rw-r--r-- | src/assets/javascripts/reddit.js | 8 | ||||
-rw-r--r-- | src/assets/javascripts/search.js | 8 | ||||
-rw-r--r-- | src/assets/javascripts/tiktok.js | 4 | ||||
-rw-r--r-- | src/assets/javascripts/translate/get_lingva_preferences.js | 10 | ||||
-rw-r--r-- | src/assets/javascripts/translate/set_lingva_preferences.js | 2 | ||||
-rw-r--r-- | src/assets/javascripts/translate/translate.js | 27 | ||||
-rw-r--r-- | src/assets/javascripts/twitter.js | 4 | ||||
-rw-r--r-- | src/assets/javascripts/utils.js | 10 | ||||
-rw-r--r-- | src/assets/javascripts/wikipedia.js | 4 | ||||
-rw-r--r-- | src/assets/javascripts/youtube/youtube.js | 48 | ||||
-rw-r--r-- | src/pages/background/background.js | 26 | ||||
-rw-r--r-- | src/pages/background/incognito.js | 18 | ||||
-rw-r--r-- | src/pages/options/index.html | 3 | ||||
-rw-r--r-- | src/pages/options/widgets/general.js | 23 | ||||
-rw-r--r-- | src/pages/options/widgets/general.pug | 2 |
15 files changed, 138 insertions, 59 deletions
diff --git a/src/assets/javascripts/reddit.js b/src/assets/javascripts/reddit.js index 4b9ee721..ce55bb83 100644 --- a/src/assets/javascripts/reddit.js +++ b/src/assets/javascripts/reddit.js @@ -119,7 +119,7 @@ function initLibredditCookies(test, from) { }) } -function setLibredditCookies() { +function pasteLibredditCookies() { return new Promise(async resolve => { await init(); if (disableReddit || redditFrontend != 'libreddit' || redditProtocol === undefined) { resolve(); return; } @@ -172,7 +172,7 @@ function initTedditCookies(test, from) { }) } -function setTedditCookies() { +function pasteTedditCookies() { return new Promise(async resolve => { await init(); if (disableReddit || redditFrontend != 'teddit' || redditProtocol === undefined) { resolve(); return; } @@ -361,9 +361,9 @@ function initDefaults() { export default { setRedirects, initLibredditCookies, - setLibredditCookies, + pasteLibredditCookies, initTedditCookies, - setTedditCookies, + pasteTedditCookies, redirect, initDefaults, diff --git a/src/assets/javascripts/search.js b/src/assets/javascripts/search.js index 76d50161..227eba86 100644 --- a/src/assets/javascripts/search.js +++ b/src/assets/javascripts/search.js @@ -175,7 +175,7 @@ function initSearxCookies(test, from) { }) } -function setSearxCookies() { +function pasteSearxCookies() { return new Promise(async resolve => { await init(); if (disableSearch || searchFrontend != 'searx') { resolve(); return; } @@ -245,7 +245,7 @@ function initSearxngCookies(test, from) { }) } -function setSearxngCookies() { +function pasteSearxngCookies() { return new Promise(async resolve => { await init(); if (disableSearch || searchFrontend != 'searxng', searchProtocol === undefined) { resolve(); return; } @@ -453,9 +453,9 @@ function initDefaults() { export default { setRedirects, initSearxCookies, - setSearxCookies, + pasteSearxCookies, initSearxngCookies, - setSearxngCookies, + pasteSearxngCookies, redirect, initDefaults, switchInstance, diff --git a/src/assets/javascripts/tiktok.js b/src/assets/javascripts/tiktok.js index 39245ec4..05370b67 100644 --- a/src/assets/javascripts/tiktok.js +++ b/src/assets/javascripts/tiktok.js @@ -49,7 +49,7 @@ function initProxiTokCookies(test, from) { }) } -function setProxiTokCookies() { +function pasteProxiTokCookies() { return new Promise(async resolve => { await init(); if (disableTiktok || tiktokProtocol === undefined) { resolve(); return; } @@ -166,7 +166,7 @@ export default { reverse, initProxiTokCookies, - setProxiTokCookies, + pasteProxiTokCookies, initDefaults }; diff --git a/src/assets/javascripts/translate/get_lingva_preferences.js b/src/assets/javascripts/translate/get_lingva_preferences.js index f04ea3dc..40def6a5 100644 --- a/src/assets/javascripts/translate/get_lingva_preferences.js +++ b/src/assets/javascripts/translate/get_lingva_preferences.js @@ -2,9 +2,11 @@ window.browser = window.browser || window.chrome; browser.storage.local.set( { - ['lingva_lingva_chakra-ui-color-mode']: localStorage.getItem('chakra-ui-color-mode'), - lingva_lingva_isauto: localStorage.getItem('isauto'), - lingva_lingva_source: localStorage.getItem('source'), - lingva_lingva_target: localStorage.getItem('target'), + ['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 diff --git a/src/assets/javascripts/translate/set_lingva_preferences.js b/src/assets/javascripts/translate/set_lingva_preferences.js index 01a3b85e..a0f2ad87 100644 --- a/src/assets/javascripts/translate/set_lingva_preferences.js +++ b/src/assets/javascripts/translate/set_lingva_preferences.js @@ -10,10 +10,8 @@ browser.storage.local.get( 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); - console.log('r.lingva_isauto', r.lingva_isauto, localStorage.getItem('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 bc93ec6c..0dccc848 100644 --- a/src/assets/javascripts/translate/translate.js +++ b/src/assets/javascripts/translate/translate.js @@ -94,7 +94,7 @@ function setRedirects(val) { }) } -function initLingvaLocalStorage(test, url, tabId) { +function copyPasteLingvaLocalStorage(test, url, tabId) { return new Promise(async resolve => { await init(); if (translateDisable || translateFrontend != 'lingva') { resolve(); return; } @@ -129,7 +129,21 @@ function initLingvaLocalStorage(test, url, tabId) { ) } -function initSimplyTranslateCookies(test, from) { +function pasteLingvaLocalStorage() { + return new Promise(async resolve => { + await init(); + if (translateDisable || translateFrontend != 'lingva') { resolve(); return; } + let checkedInstances; + if (translateProtocol == 'normal') checkedInstances = [...lingvaNormalRedirectsChecks, ...lingvaNormalCustomRedirects]; + if (translateProtocol == 'tor') checkedInstances = [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects]; + 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); @@ -153,7 +167,7 @@ function initSimplyTranslateCookies(test, from) { ) } -function setSimplyTranslateCookies() { +function pasteSimplyTranslateCookies() { return new Promise(async resolve => { await init(); if (translateDisable || translateFrontend != 'simplyTranslate') { resolve(); return; } @@ -281,9 +295,10 @@ function initDefaults() { } export default { - initSimplyTranslateCookies, - setSimplyTranslateCookies, - initLingvaLocalStorage, + copyPasteSimplyTranslateCookies, + pasteSimplyTranslateCookies, + copyPasteLingvaLocalStorage, + pasteLingvaLocalStorage, setRedirects, redirect, initDefaults, diff --git a/src/assets/javascripts/twitter.js b/src/assets/javascripts/twitter.js index eb969739..1cc57cbf 100644 --- a/src/assets/javascripts/twitter.js +++ b/src/assets/javascripts/twitter.js @@ -170,7 +170,7 @@ function initNitterCookies(test, from) { }) } -function setNitterCookies() { +function pasteNitterCookies() { return new Promise(async resolve => { await init(); if (disableTwitter || twitterProtocol === undefined) { resolve(); return; } @@ -231,6 +231,6 @@ export default { reverse, removeXFrameOptions, initNitterCookies, - setNitterCookies, + pasteNitterCookies, initDefaults, }; diff --git a/src/assets/javascripts/utils.js b/src/assets/javascripts/utils.js index a957121b..fd306b0c 100644 --- a/src/assets/javascripts/utils.js +++ b/src/assets/javascripts/utils.js @@ -382,9 +382,9 @@ function unify(test) { try { url = new URL(currTab.url); } catch { resolve(); return; } - let result = await youtubeHelper.initInvidiousCookies(test, url); - if (!result) result = await youtubeHelper.initPipedLocalStorage(test, url, currTab.id); - if (!result) result = await youtubeHelper.initPipedMaterialLocalStorage(test, url, currTab.id); + let result = await youtubeHelper.copyPasteInvidiousCookies(test, url); + if (!result) result = await youtubeHelper.copyPastePipedLocalStorage(test, url, currTab.id); + if (!result) result = await youtubeHelper.copyPastePipedMaterialLocalStorage(test, url, currTab.id); if (!result) result = await twitterHelper.initNitterCookies(test, url); @@ -398,8 +398,8 @@ function unify(test) { if (!result) result = await wikipediaHelper.initWikilessCookies(test, url); - if (!result) result = await translateHelper.initSimplyTranslateCookies(test, url); - if (!result) result = await translateHelper.initLingvaLocalStorage(test, url); + if (!result) result = await translateHelper.copyPasteSimplyTranslateCookies(test, url); + if (!result) result = await translateHelper.copyPasteLingvaLocalStorage(test, url); if (result) { resolve(true); diff --git a/src/assets/javascripts/wikipedia.js b/src/assets/javascripts/wikipedia.js index dc71fad5..96e96bce 100644 --- a/src/assets/javascripts/wikipedia.js +++ b/src/assets/javascripts/wikipedia.js @@ -97,7 +97,7 @@ function initWikilessCookies(test, from) { }) } -function setWikilessCookies() { +function pasteWikilessCookies() { return new Promise(async resolve => { await init(); if (disableWikipedia || wikipediaProtocol === undefined) { resolve(); return; } @@ -207,7 +207,7 @@ export default { setRedirects, initWikilessCookies, - setWikilessCookies, + pasteWikilessCookies, redirect, initDefaults, diff --git a/src/assets/javascripts/youtube/youtube.js b/src/assets/javascripts/youtube/youtube.js index cbdb0c6b..aeb2e760 100644 --- a/src/assets/javascripts/youtube/youtube.js +++ b/src/assets/javascripts/youtube/youtube.js @@ -298,7 +298,7 @@ function initDefaults() { }) } -function initInvidiousCookies(test, from) { +function copyPasteInvidiousCookies(test, from) { return new Promise(async resolve => { await init(); if (disableYoutube || youtubeFrontend != 'invidious') { resolve(); return; } @@ -321,7 +321,7 @@ function initInvidiousCookies(test, from) { }) } -function setInvidiousCookies() { +function pasteInvidiousCookies() { return new Promise(async resolve => { await init(); if (disableYoutube || youtubeFrontend != 'invidious') { resolve(); return; } @@ -333,7 +333,7 @@ function setInvidiousCookies() { }) } -function initPipedLocalStorage(test, url, tabId) { +function copyPastePipedLocalStorage(test, url, tabId) { return new Promise(async resolve => { await init(); if (disableYoutube || youtubeFrontend != 'piped') { resolve(); return; } @@ -361,8 +361,22 @@ function initPipedLocalStorage(test, url, tabId) { resolve(true); }) } +function pastePipedLocalStorage() { + return new Promise(async resolve => { + await init(); + if (disableYoutube || youtubeFrontend != 'piped') { resolve(); return; } + let checkedInstances; + if (youtubeProtocol == 'normal') checkedInstances = [...pipedNormalCustomRedirects, ...pipedNormalRedirectsChecks] + else if (youtubeProtocol == 'tor') checkedInstances = [...pipedTorRedirectsChecks, ...pipedTorCustomRedirects] + for (const to of checkedInstances) { + browser.tabs.create({ url: to }, + tab => browser.tabs.executeScript(tab.id, { file: "/assets/javascripts/youtube/set_piped_preferences.js", runAt: "document_start" })) + } + resolve(); + }) +} -function initPipedMaterialLocalStorage(test, url, tabId,) { +function copyPastePipedMaterialLocalStorage(test, url, tabId,) { return new Promise(async resolve => { await init(); if (disableYoutube || youtubeFrontend != 'pipedMaterial') { resolve(); return; } @@ -392,6 +406,22 @@ function initPipedMaterialLocalStorage(test, url, tabId,) { }) } +function pastePipedMaterialLocalStorage() { + return new Promise(async resolve => { + await init(); + if (disableYoutube || youtubeFrontend != 'pipedMaterial') { resolve(); return; } + let checkedInstances; + if (youtubeProtocol == 'normal') checkedInstances = [...pipedMaterialNormalRedirectsChecks, ...pipedMaterialNormalCustomRedirects] + else if (youtubeProtocol == 'tor') checkedInstances = [...pipedMaterialTorRedirectsChecks, ...pipedMaterialTorCustomRedirects] + for (const to of checkedInstances) { + browser.tabs.create({ url: to }, + tab => browser.tabs.executeScript(tab.id, { file: "/assets/javascripts/youtube/set_pipedMaterial_preferences.js", runAt: "document_start" })) + } + resolve(); + }) +} + + function removeXFrameOptions(e) { if (e.type != 'sub_frame') return; const url = new URL(e.url); @@ -409,10 +439,12 @@ function removeXFrameOptions(e) { export default { setRedirects, - initPipedLocalStorage, - initPipedMaterialLocalStorage, - initInvidiousCookies, - setInvidiousCookies, + copyPastePipedLocalStorage, + pastePipedLocalStorage, + copyPastePipedMaterialLocalStorage, + pastePipedMaterialLocalStorage, + copyPasteInvidiousCookies, + pasteInvidiousCookies, redirect, reverse, switchInstance, diff --git a/src/pages/background/background.js b/src/pages/background/background.js index 933172b6..9cb0be5a 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -50,16 +50,24 @@ browser.runtime.onInstalled.addListener( } ) -youtubeHelper.setInvidiousCookies(); -translateHelper.setSimplyTranslateCookies(); -twitterHelper.setNitterCookies(); -wikipediaHelper.setWikilessCookies(); -searchHelper.setSearxCookies(); -searchHelper.setSearxngCookies(); -redditHelper.setLibredditCookies(); -redditHelper.setTedditCookies(); -tiktokHelper.setProxiTokCookies(); +youtubeHelper.pasteInvidiousCookies(); +youtubeHelper.pastePipedLocalStorage(); +youtubeHelper.pastePipedMaterialLocalStorage(); +translateHelper.pasteSimplyTranslateCookies(); +translateHelper.pasteLingvaLocalStorage(); + +twitterHelper.pasteNitterCookies(); + +wikipediaHelper.pasteWikilessCookies(); + +searchHelper.pasteSearxCookies(); +searchHelper.pasteSearxngCookies(); + +redditHelper.pasteLibredditCookies(); +redditHelper.pasteTedditCookies(); + +tiktokHelper.pasteProxiTokCookies(); let BYPASSTABs = []; diff --git a/src/pages/background/incognito.js b/src/pages/background/incognito.js index 4f4333f2..872a83c8 100644 --- a/src/pages/background/incognito.js +++ b/src/pages/background/incognito.js @@ -8,14 +8,14 @@ import tiktokHelper from "../../assets/javascripts/tiktok.js"; window.browser = window.browser || window.chrome; -await youtubeHelper.setInvidiousCookies(); -await translateHelper.setSimplyTranslateCookies(); -await twitterHelper.setNitterCookies(); -await wikipediaHelper.setWikilessCookies(); -await searchHelper.setSearxCookies(); -await searchHelper.setSearxngCookies(); -await redditHelper.setLibredditCookies(); -await redditHelper.setTedditCookies(); -await tiktokHelper.setProxiTokCookies(); +await youtubeHelper.pasteInvidiousCookies(); +await translateHelper.pasteSimplyTranslateCookies(); +await twitterHelper.pasteNitterCookies(); +await wikipediaHelper.pasteWikilessCookies(); +await searchHelper.pasteSearxCookies(); +await searchHelper.pasteSearxngCookies(); +await redditHelper.pasteLibredditCookies(); +await redditHelper.pasteTedditCookies(); +await tiktokHelper.pasteProxiTokCookies(); window.close() \ No newline at end of file diff --git a/src/pages/options/index.html b/src/pages/options/index.html index f4837998..afd0b0dc 100644 --- a/src/pages/options/index.html +++ b/src/pages/options/index.html @@ -95,7 +95,8 @@ <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor"> <path d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"></path> </svg> - <x data-localise="__MSG_updateInstances__">Update Instances</x></a> + <x data-localise="__MSG_updateInstances__">Update Instances</x></a> </div> + <div class="buttons buttons-inline"> <label class="button button-inline" id="import_settings_text" for="import-settings"> <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor"> <path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path> diff --git a/src/pages/options/widgets/general.js b/src/pages/options/widgets/general.js index 6ca1e190..e635ac29 100644 --- a/src/pages/options/widgets/general.js +++ b/src/pages/options/widgets/general.js @@ -54,6 +54,7 @@ let importSettingsElement = document.getElementById("import-settings"); let importSettingsElementText = document.getElementById('import_settings_text'); importSettingsElement.addEventListener("change", () => { + importSettingsElementText.innerHTML = '...'; let file = importSettingsElement.files[0]; const reader = new FileReader(); reader.readAsText(file); @@ -67,6 +68,24 @@ importSettingsElement.addEventListener("change", ) { await browser.storage.local.clear(); await browser.storage.local.set({ ...data }) + await youtubeHelper.pasteInvidiousCookies(); + await youtubeHelper.pastePipedLocalStorage(); + await youtubeHelper.pastePipedMaterialLocalStorage(); + + await translateHelper.pasteSimplyTranslateCookies(); + await translateHelper.pasteLingvaLocalStorage(); + + await twitterHelper.pasteNitterCookies(); + + await wikipediaHelper.pasteWikilessCookies(); + + await searchHelper.pasteSearxCookies(); + await searchHelper.pasteSearxngCookies(); + + await redditHelper.pasteLibredditCookies(); + await redditHelper.pasteTedditCookies(); + + await tiktokHelper.pasteProxiTokCookies(); location.reload(); } else importError() @@ -80,8 +99,10 @@ function importError() { setTimeout(() => importSettingsElementText.innerHTML = oldHTML, 1000); } -document.getElementById("reset-settings").addEventListener("click", +const resetSettings = document.getElementById("reset-settings"); +resetSettings.addEventListener("click", async () => { + resetSettings.innerHTML = '...' await browser.storage.local.clear(); fetch('/instances/blocklist.json').then(response => response.text()).then(async data => { await browser.storage.local.set({ cloudflareList: JSON.parse(data) }) diff --git a/src/pages/options/widgets/general.pug b/src/pages/options/widgets/general.pug index c1fcc459..b7714b7b 100644 --- a/src/pages/options/widgets/general.pug +++ b/src/pages/options/widgets/general.pug @@ -39,6 +39,8 @@ section#general_page.option-block x(data-localise="__MSG_updateInstances__") Update Instances | + + .buttons.buttons-inline label#import_settings_text.button.button-inline(for="import-settings") svg(xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor") |