aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-05-21 11:28:15 +0300
committerManeraKai <manerakai@protonmail.com>2022-05-21 11:28:15 +0300
commit060629143a3435abdf98db6942dc1e85cd628a64 (patch)
treed5a4cd6b5dc55492b1fa12f26f508411d95460d5 /src
parentCleaned code. Fixed thing in CopyRaw #268 (diff)
downloadlibredirect-060629143a3435abdf98db6942dc1e85cd628a64.zip
Hiding popup buttons when not available
Diffstat (limited to 'src')
-rw-r--r--src/assets/javascripts/helpers/reddit.js83
-rw-r--r--src/assets/javascripts/helpers/search.js121
-rw-r--r--src/assets/javascripts/helpers/tiktok.js18
-rw-r--r--src/assets/javascripts/helpers/translate/translate.js135
-rw-r--r--src/assets/javascripts/helpers/twitter.js41
-rw-r--r--src/assets/javascripts/helpers/utils.js91
-rw-r--r--src/assets/javascripts/helpers/wikipedia.js27
-rw-r--r--src/assets/javascripts/helpers/youtube/youtube.js131
-rw-r--r--src/pages/popup/popup.html2
-rw-r--r--src/pages/popup/popup.js28
-rw-r--r--src/pages/popup/popup.pug2
11 files changed, 340 insertions, 339 deletions
diff --git a/src/assets/javascripts/helpers/reddit.js b/src/assets/javascripts/helpers/reddit.js
index 9617d921..e768b205 100644
--- a/src/assets/javascripts/helpers/reddit.js
+++ b/src/assets/javascripts/helpers/reddit.js
@@ -54,17 +54,14 @@ function setTedditRedirects(val) {
browser.storage.local.set({ tedditTorRedirectsChecks })
}
-let libredditNormalRedirectsChecks;
-let libredditTorRedirectsChecks;
-let libredditNormalCustomRedirects = [];
-let libredditTorCustomRedirects = [];
+let
+ libredditNormalRedirectsChecks,
+ libredditTorRedirectsChecks,
-let tedditNormalRedirectsChecks;
-let tedditTorRedirectsChecks;
-let tedditNormalCustomRedirects = [];
-let tedditTorCustomRedirects = [];
+ tedditNormalRedirectsChecks,
+ tedditTorRedirectsChecks;
-function initLibredditCookies(from) {
+function initLibredditCookies(test, from) {
return new Promise(resolve => {
browser.storage.local.get(
[
@@ -81,22 +78,24 @@ function initLibredditCookies(from) {
...r.libredditTorRedirectsChecks,
...r.libredditNormalCustomRedirects,
...r.libredditTorCustomRedirects,
- ].includes(protocolHost)) resolve();
+ ].includes(protocolHost)) { resolve(); return; }
- let checkedInstances;
- if (r.redditProtocol == 'normal') checkedInstances = [...r.libredditNormalRedirectsChecks, ...r.libredditNormalCustomRedirects];
- else if (r.redditProtocol == 'tor') checkedInstances = [...r.libredditTorRedirectsChecks, ...r.libredditTorCustomRedirects];
- for (const to of checkedInstances) {
- utils.copyCookie('libreddit', from, to, "theme");
- utils.copyCookie('libreddit', from, to, "front_page");
- utils.copyCookie('libreddit', from, to, "layout");
- utils.copyCookie('libreddit', from, to, "wide");
- utils.copyCookie('libreddit', from, to, "post_sort");
- utils.copyCookie('libreddit', from, to, "comment_sort");
- utils.copyCookie('libreddit', from, to, "show_nsfw");
- utils.copyCookie('libreddit', from, to, "autoplay_videos");
- utils.copyCookie('libreddit', from, to, "use_hls");
- utils.copyCookie('libreddit', from, to, "hide_hls_notification");
+ if (!test) {
+ let checkedInstances;
+ if (r.redditProtocol == 'normal') checkedInstances = [...r.libredditNormalRedirectsChecks, ...r.libredditNormalCustomRedirects];
+ else if (r.redditProtocol == 'tor') checkedInstances = [...r.libredditTorRedirectsChecks, ...r.libredditTorCustomRedirects];
+ for (const to of checkedInstances) {
+ utils.copyCookie('libreddit', from, to, "theme");
+ utils.copyCookie('libreddit', from, to, "front_page");
+ utils.copyCookie('libreddit', from, to, "layout");
+ utils.copyCookie('libreddit', from, to, "wide");
+ utils.copyCookie('libreddit', from, to, "post_sort");
+ utils.copyCookie('libreddit', from, to, "comment_sort");
+ utils.copyCookie('libreddit', from, to, "show_nsfw");
+ utils.copyCookie('libreddit', from, to, "autoplay_videos");
+ utils.copyCookie('libreddit', from, to, "use_hls");
+ utils.copyCookie('libreddit', from, to, "hide_hls_notification");
+ }
}
resolve(true);
}
@@ -137,7 +136,7 @@ function setLibredditCookies() {
)
}
-function initTedditCookies(from) {
+function initTedditCookies(test, from) {
return new Promise(resolve => {
browser.storage.local.get(
[
@@ -156,22 +155,24 @@ function initTedditCookies(from) {
...r.tedditTorCustomRedirects,
].includes(protocolHost)) resolve();
- let checkedInstances;
- if (r.redditProtocol == 'normal') checkedInstances = [...r.tedditNormalRedirectsChecks, ...r.tedditNormalCustomRedirects]
- else if (r.redditProtocol == 'tor') checkedInstances = [...r.tedditTorRedirectsChecks, ...r.tedditTorCustomRedirects]
- for (const to of checkedInstances) {
- utils.copyCookie('teddit', from, to, 'collapse_child_comments')
- utils.copyCookie('teddit', from, to, 'domain_instagram')
- utils.copyCookie('teddit', from, to, 'domain_twitter')
- utils.copyCookie('teddit', from, to, 'domain_youtube')
- utils.copyCookie('teddit', from, to, 'flairs')
- utils.copyCookie('teddit', from, to, 'highlight_controversial')
- utils.copyCookie('teddit', from, to, 'nsfw_enabled')
- utils.copyCookie('teddit', from, to, 'post_media_max_height')
- utils.copyCookie('teddit', from, to, 'show_upvoted_percentage')
- utils.copyCookie('teddit', from, to, 'show_upvotes')
- utils.copyCookie('teddit', from, to, 'theme')
- utils.copyCookie('teddit', from, to, 'videos_muted')
+ if (!test) {
+ let checkedInstances;
+ if (r.redditProtocol == 'normal') checkedInstances = [...r.tedditNormalRedirectsChecks, ...r.tedditNormalCustomRedirects]
+ else if (r.redditProtocol == 'tor') checkedInstances = [...r.tedditTorRedirectsChecks, ...r.tedditTorCustomRedirects]
+ for (const to of checkedInstances) {
+ utils.copyCookie('teddit', from, to, 'collapse_child_comments')
+ utils.copyCookie('teddit', from, to, 'domain_instagram')
+ utils.copyCookie('teddit', from, to, 'domain_twitter')
+ utils.copyCookie('teddit', from, to, 'domain_youtube')
+ utils.copyCookie('teddit', from, to, 'flairs')
+ utils.copyCookie('teddit', from, to, 'highlight_controversial')
+ utils.copyCookie('teddit', from, to, 'nsfw_enabled')
+ utils.copyCookie('teddit', from, to, 'post_media_max_height')
+ utils.copyCookie('teddit', from, to, 'show_upvoted_percentage')
+ utils.copyCookie('teddit', from, to, 'show_upvotes')
+ utils.copyCookie('teddit', from, to, 'theme')
+ utils.copyCookie('teddit', from, to, 'videos_muted')
+ }
}
resolve(true);
}
diff --git a/src/assets/javascripts/helpers/search.js b/src/assets/javascripts/helpers/search.js
index 37bcdf72..56f0f025 100644
--- a/src/assets/javascripts/helpers/search.js
+++ b/src/assets/javascripts/helpers/search.js
@@ -102,31 +102,15 @@ let
searxI2pRedirectsChecks,
searxTorRedirectsChecks,
- searxNormalCustomRedirects,
- searxTorCustomRedirects,
- searxI2pCustomRedirects,
-
searxngNormalRedirectsChecks,
searxngI2pRedirectsChecks,
searxngTorRedirectsChecks,
- searxngNormalCustomRedirects,
- searxngTorCustomRedirects,
- searxngI2pCustomRedirects,
-
whoogleNormalRedirectsChecks,
whoogleI2pRedirectsChecks,
- whoogleTorRedirectsChecks,
-
- whoogleNormalCustomRedirects,
- whoogleTorCustomRedirects,
- whoogleI2pCustomRedirects;
+ whoogleTorRedirectsChecks;
-let disable, // disableSearch
- frontend, // searchFrontend
- protocol; // searchProtocol
-
-function initSearxCookies(from) {
+function initSearxCookies(test, from) {
return new Promise(resolve => {
browser.storage.local.get(
[
@@ -149,29 +133,30 @@ function initSearxCookies(from) {
...r.searxI2pCustomRedirects,
].includes(protocolHost)) return;
-
- let checkedInstances;
- if (protocol == 'normal') checkedInstances = [...r.searxNormalRedirectsChecks, ...r.searxNormalCustomRedirects];
- else if (protocol == 'tor') checkedInstances = [...r.searxTorRedirectsChecks, ...r.searxTorCustomRedirects];
- else if (protocol == 'i2p') checkedInstances = [...r.searxI2pRedirectsChecks, ...r.searxI2pCustomRedirects];
- for (const to of checkedInstances) {
- utils.copyCookie('searx', from, to, 'advanced_search');
- utils.copyCookie('searx', from, to, 'autocomplete');
- utils.copyCookie('searx', from, to, 'categories');
- utils.copyCookie('searx', from, to, 'disabled_engines');
- utils.copyCookie('searx', from, to, 'disabled_plugins');
- utils.copyCookie('searx', from, to, 'doi_resolver');
- utils.copyCookie('searx', from, to, 'enabled_engines');
- utils.copyCookie('searx', from, to, 'enabled_plugins');
- utils.copyCookie('searx', from, to, 'image_proxy');
- utils.copyCookie('searx', from, to, 'language');
- utils.copyCookie('searx', from, to, 'locale');
- utils.copyCookie('searx', from, to, 'method');
- utils.copyCookie('searx', from, to, 'oscar-style');
- utils.copyCookie('searx', from, to, 'results_on_new_tab');
- utils.copyCookie('searx', from, to, 'safesearch');
- utils.copyCookie('searx', from, to, 'theme');
- utils.copyCookie('searx', from, to, 'tokens');
+ if (!test) {
+ let checkedInstances;
+ if (r.searchProtocol == 'normal') checkedInstances = [...r.searxNormalRedirectsChecks, ...r.searxNormalCustomRedirects];
+ else if (r.searchProtocol == 'tor') checkedInstances = [...r.searxTorRedirectsChecks, ...r.searxTorCustomRedirects];
+ else if (r.searchProtocol == 'i2p') checkedInstances = [...r.searxI2pRedirectsChecks, ...r.searxI2pCustomRedirects];
+ for (const to of checkedInstances) {
+ utils.copyCookie('searx', from, to, 'advanced_search');
+ utils.copyCookie('searx', from, to, 'autocomplete');
+ utils.copyCookie('searx', from, to, 'categories');
+ utils.copyCookie('searx', from, to, 'disabled_engines');
+ utils.copyCookie('searx', from, to, 'disabled_plugins');
+ utils.copyCookie('searx', from, to, 'doi_resolver');
+ utils.copyCookie('searx', from, to, 'enabled_engines');
+ utils.copyCookie('searx', from, to, 'enabled_plugins');
+ utils.copyCookie('searx', from, to, 'image_proxy');
+ utils.copyCookie('searx', from, to, 'language');
+ utils.copyCookie('searx', from, to, 'locale');
+ utils.copyCookie('searx', from, to, 'method');
+ utils.copyCookie('searx', from, to, 'oscar-style');
+ utils.copyCookie('searx', from, to, 'results_on_new_tab');
+ utils.copyCookie('searx', from, to, 'safesearch');
+ utils.copyCookie('searx', from, to, 'theme');
+ utils.copyCookie('searx', from, to, 'tokens');
+ }
}
resolve(true);
}
@@ -218,7 +203,7 @@ function setSearxCookies() {
)
}
-function initSearxngCookies(from) {
+function initSearxngCookies(test, from) {
return new Promise(resolve => {
browser.storage.local.get(
[
@@ -241,30 +226,32 @@ function initSearxngCookies(from) {
...r.searxngI2pCustomRedirects,
].includes(protocolHost)) return;
- let checkedInstances;
- if (r.searchProtocol == 'normal') checkedInstances = [...r.searxngNormalRedirectsChecks, ...r.searxngNormalCustomRedirects];
- else if (r.searchProtocol == 'tor') checkedInstances = [...r.searxngTorRedirectsChecks, ...r.searxngTorCustomRedirects];
- else if (r.searchProtocol == 'i2p') checkedInstances = [...r.searxngI2pRedirectsChecks, ...r.searxngI2pCustomRedirects];
- for (const to of checkedInstances) {
- utils.copyCookie('searxng', from, to, 'autocomplete');
- utils.copyCookie('searxng', from, to, 'categories');
- utils.copyCookie('searxng', from, to, 'disabled_engines');
- utils.copyCookie('searxng', from, to, 'disabled_plugins');
- utils.copyCookie('searxng', from, to, 'doi_resolver');
- utils.copyCookie('searxng', from, to, 'enabled_plugins');
- utils.copyCookie('searxng', from, to, 'enabled_engines');
- utils.copyCookie('searxng', from, to, 'image_proxy');
- utils.copyCookie('searxng', from, to, 'infinite_scroll');
- utils.copyCookie('searxng', from, to, 'language');
- utils.copyCookie('searxng', from, to, 'locale');
- utils.copyCookie('searxng', from, to, 'maintab');
- utils.copyCookie('searxng', from, to, 'method');
- utils.copyCookie('searxng', from, to, 'query_in_title');
- utils.copyCookie('searxng', from, to, 'results_on_new_tab');
- utils.copyCookie('searxng', from, to, 'safesearch');
- utils.copyCookie('searxng', from, to, 'simple_style');
- utils.copyCookie('searxng', from, to, 'theme');
- utils.copyCookie('searxng', from, to, 'tokens');
+ if (!test) {
+ let checkedInstances;
+ if (r.searchProtocol == 'normal') checkedInstances = [...r.searxngNormalRedirectsChecks, ...r.searxngNormalCustomRedirects];
+ else if (r.searchProtocol == 'tor') checkedInstances = [...r.searxngTorRedirectsChecks, ...r.searxngTorCustomRedirects];
+ else if (r.searchProtocol == 'i2p') checkedInstances = [...r.searxngI2pRedirectsChecks, ...r.searxngI2pCustomRedirects];
+ for (const to of checkedInstances) {
+ utils.copyCookie('searxng', from, to, 'autocomplete');
+ utils.copyCookie('searxng', from, to, 'categories');
+ utils.copyCookie('searxng', from, to, 'disabled_engines');
+ utils.copyCookie('searxng', from, to, 'disabled_plugins');
+ utils.copyCookie('searxng', from, to, 'doi_resolver');
+ utils.copyCookie('searxng', from, to, 'enabled_plugins');
+ utils.copyCookie('searxng', from, to, 'enabled_engines');
+ utils.copyCookie('searxng', from, to, 'image_proxy');
+ utils.copyCookie('searxng', from, to, 'infinite_scroll');
+ utils.copyCookie('searxng', from, to, 'language');
+ utils.copyCookie('searxng', from, to, 'locale');
+ utils.copyCookie('searxng', from, to, 'maintab');
+ utils.copyCookie('searxng', from, to, 'method');
+ utils.copyCookie('searxng', from, to, 'query_in_title');
+ utils.copyCookie('searxng', from, to, 'results_on_new_tab');
+ utils.copyCookie('searxng', from, to, 'safesearch');
+ utils.copyCookie('searxng', from, to, 'simple_style');
+ utils.copyCookie('searxng', from, to, 'theme');
+ utils.copyCookie('searxng', from, to, 'tokens');
+ }
}
resolve(true);
}
@@ -350,7 +337,7 @@ function redirect(url) {
"searxngI2pCustomRedirects",
],
r => {
- if (disable) { resolve(); return; }
+ if (r.disableSearch) { resolve(); return; }
if (!targets.some(rx => rx.test(url.href))) { resolve(); return; }
if (url.searchParams.has('tbm')) { resolve(); return; }
if (url.hostname.includes('google') && !url.searchParams.has('q') && url.pathname != '/') { resolve(); return; }
diff --git a/src/assets/javascripts/helpers/tiktok.js b/src/assets/javascripts/helpers/tiktok.js
index 590fca1a..f85b9986 100644
--- a/src/assets/javascripts/helpers/tiktok.js
+++ b/src/assets/javascripts/helpers/tiktok.js
@@ -39,7 +39,7 @@ let proxiTokTorCustomRedirects = [];
let disable; // disableTiktok
let protocol;
-function initProxiTokCookies(from) {
+function initProxiTokCookies(test, from) {
return new Promise(resolve => {
browser.storage.local.get(
[
@@ -57,13 +57,15 @@ function initProxiTokCookies(from) {
...r.proxiTokTorRedirectsChecks,
...r.proxiTokTorCustomRedirects,
].includes(protocolHost)) resolve();
-
- let checkedInstances;
- if (r.tiktokProtocol == 'normal') checkedInstances = [...r.proxiTokNormalRedirectsChecks, ...r.proxiTokNormalCustomRedirects]
- else if (r.tiktokProtocol == 'tor') checkedInstances = [...r.proxiTokTorRedirectsChecks, ...r.proxiTokTorCustomRedirects]
- for (const to of checkedInstances) {
- utils.copyCookie('proxitok', from, to, 'theme');
- utils.copyCookie('proxitok', from, to, 'api-legacy');
+
+ if (!test) {
+ let checkedInstances;
+ if (r.tiktokProtocol == 'normal') checkedInstances = [...r.proxiTokNormalRedirectsChecks, ...r.proxiTokNormalCustomRedirects]
+ else if (r.tiktokProtocol == 'tor') checkedInstances = [...r.proxiTokTorRedirectsChecks, ...r.proxiTokTorCustomRedirects]
+ for (const to of checkedInstances) {
+ utils.copyCookie('proxitok', from, to, 'theme');
+ utils.copyCookie('proxitok', from, to, 'api-legacy');
+ }
}
resolve(true);
}
diff --git a/src/assets/javascripts/helpers/translate/translate.js b/src/assets/javascripts/helpers/translate/translate.js
index d78a66b2..8ce8a2c2 100644
--- a/src/assets/javascripts/helpers/translate/translate.js
+++ b/src/assets/javascripts/helpers/translate/translate.js
@@ -17,6 +17,10 @@ let redirects = {
}
};
+let
+ simplyTranslateNormalRedirectsChecks,
+ lingvaNormalRedirectsChecks;
+
function setRedirects(val) {
browser.storage.local.get('cloudflareList', async r => {
redirects = val;
@@ -24,11 +28,11 @@ function setRedirects(val) {
lingvaNormalRedirectsChecks = [...redirects.lingva.normal]
for (const instance of r.cloudflareList) {
let i;
- i = simplyTranslateNormalRedirectsChecks.indexOf(instance);
- if (i > -1) simplyTranslateNormalRedirectsChecks.splice(i, 1);
+ const a = simplyTranslateNormalRedirectsChecks.indexOf(instance);
+ if (a > -1) simplyTranslateNormalRedirectsChecks.splice(a, 1);
- i = lingvaNormalRedirectsChecks.indexOf(instance);
- if (i > -1) lingvaNormalRedirectsChecks.splice(i, 1);
+ const b = lingvaNormalRedirectsChecks.indexOf(instance);
+ if (b > -1) lingvaNormalRedirectsChecks.splice(b, 1);
}
browser.storage.local.set({
translateRedirects: redirects,
@@ -40,11 +44,7 @@ function setRedirects(val) {
})
}
-let
- simplyTranslateNormalRedirectsChecks,
- lingvaNormalRedirectsChecks;
-
-function initLingvaLocalStorage(url, tabId) {
+function initLingvaLocalStorage(test, url, tabId) {
return new Promise(resolve => {
browser.storage.local.get(
[
@@ -61,13 +61,15 @@ function initLingvaLocalStorage(url, tabId) {
...r.lingvaNormalCustomRedirects,
...r.lingvaTorCustomRedirects,
].includes(protocolHost)) { resolve(); return; }
- browser.tabs.executeScript(
- tabId,
- {
- file: "/assets/javascripts/helpers/translate/get_lingva_preferences.js",
- runAt: "document_start"
- }
- );
+
+ if (!test)
+ browser.tabs.executeScript(
+ tabId,
+ {
+ file: "/assets/javascripts/helpers/translate/get_lingva_preferences.js",
+ runAt: "document_start"
+ }
+ );
resolve(true);
}
)
@@ -106,7 +108,7 @@ function setLingvaLocalStorage(url, tabId) {
})
}
-function initSimplyTranslateCookies(from) {
+function initSimplyTranslateCookies(test, from) {
return new Promise(resolve => {
browser.storage.local.get(
[
@@ -128,16 +130,17 @@ function initSimplyTranslateCookies(from) {
...r.simplyTranslateI2pRedirectsChecks,
...r.simplyTranslateI2pCustomRedirects,
].includes(protocolHost)) { resolve(); return; }
-
- let checkedInstances;
- if (r.translateProtocol == 'normal') checkedInstances = [...r.simplyTranslateNormalRedirectsChecks, ...r.simplyTranslateNormalCustomRedirects]
- else if (r.translateProtocol == 'tor') checkedInstances = [...r.simplyTranslateTorRedirectsChecks, ...r.simplyTranslateTorCustomRedirects]
- else if (r.translateProtocol == 'i2p') checkedInstances = [...r.simplyTranslateI2pRedirectsChecks, ...r.simplyTranslateI2pCustomRedirects]
- for (const to of checkedInstances) {
- utils.copyCookie('simplyTranslate', from, to, 'from_lang');
- utils.copyCookie('simplyTranslate', from, to, 'to_lang');
- utils.copyCookie('simplyTranslate', from, to, 'tts_enabled');
- utils.copyCookie('simplyTranslate', from, to, 'use_text_fields');
+ if (!test) {
+ let checkedInstances;
+ if (r.translateProtocol == 'normal') checkedInstances = [...r.simplyTranslateNormalRedirectsChecks, ...r.simplyTranslateNormalCustomRedirects]
+ else if (r.translateProtocol == 'tor') checkedInstances = [...r.simplyTranslateTorRedirectsChecks, ...r.simplyTranslateTorCustomRedirects]
+ else if (r.translateProtocol == 'i2p') checkedInstances = [...r.simplyTranslateI2pRedirectsChecks, ...r.simplyTranslateI2pCustomRedirects]
+ for (const to of checkedInstances) {
+ utils.copyCookie('simplyTranslate', from, to, 'from_lang');
+ utils.copyCookie('simplyTranslate', from, to, 'to_lang');
+ utils.copyCookie('simplyTranslate', from, to, 'tts_enabled');
+ utils.copyCookie('simplyTranslate', from, to, 'use_text_fields');
+ }
}
resolve(true);
}
@@ -157,7 +160,7 @@ function setSimplyTranslateCookies() {
"simplyTranslateTorCustomRedirects",
],
r => {
- if (r.translateDisable || r.translateFrontend != 'simplyTranslate' || r.translateProtocol === undefined) return;
+ if (r.translateDisable || r.translateFrontend != 'simplyTranslate') return;
let checkedInstances;
if (r.translateProtocol == 'normal') checkedInstances = [...r.simplyTranslateNormalRedirectsChecks, ...r.simplyTranslateNormalCustomRedirects]
else if (r.translateProtocol == 'tor') checkedInstances = [...r.simplyTranslateTorRedirectsChecks, ...r.simplyTranslateTorCustomRedirects]
@@ -201,26 +204,24 @@ function redirect(url) {
if (instancesList.length === 0) { resolve(); return; };
let randomInstance = utils.getRandomInstance(instancesList)
- console.log(`${randomInstance}/${url.search}`);
resolve(`${randomInstance}/${url.search}`);
-
}
else if (r.translateFrontend == 'lingva') {
let params_arr = url.search.split('&');
params_arr[0] = params_arr[0].substring(1);
- let myMap = {};
+ let params = {};
for (let i = 0; i < params_arr.length; i++) {
let pair = params_arr[i].split('=');
- myMap[pair[0]] = pair[1];
+ params[pair[0]] = pair[1];
}
let instancesList;
if (r.translateProtocol == 'normal') instancesList = [...r.lingvaNormalRedirectsChecks, ...r.lingvaNormalCustomRedirects];
if (r.translateProtocol == 'tor') instancesList = [...r.lingvaTorRedirectsChecks, ...r.lingvaTorCustomRedirects];
if (instancesList.length === 0) { resolve(); return; }
- let randomInstance = utils.getRandomInstance(instancesList)
- if (myMap.sl && myMap.tl && myMap.text) {
- resolve(`${randomInstance}/${myMap.sl}/${myMap.tl}/${myMap.text}`); return;
+ let randomInstance = utils.getRandomInstance(instancesList)
+ if (params.sl && params.tl && params.text) {
+ resolve(`${randomInstance}/${params.sl}/${params.tl}/${params.text}`); return;
}
resolve(randomInstance);
}
@@ -248,9 +249,8 @@ function switchInstance(url) {
"lingvaTorCustomRedirects",
],
r => {
- let protocolHost = utils.protocolHost(url);
-
- let translateList = [
+ const protocolHost = utils.protocolHost(url);
+ if (![
...r.translateRedirects.simplyTranslate.normal,
...r.translateRedirects.simplyTranslate.tor,
@@ -262,12 +262,9 @@ function switchInstance(url) {
...r.lingvaNormalCustomRedirects,
...r.lingvaTorCustomRedirects,
- ]
-
- if (!translateList.includes(protocolHost)) { resolve(); return; }
+ ].includes(protocolHost)) { resolve(); return; }
let instancesList;
-
if (r.translateProtocol == 'normal') {
if (r.translateFrontend == 'simplyTranslate') instancesList = [...r.simplyTranslateNormalRedirectsChecks, ...r.simplyTranslateNormalCustomRedirects];
else if (r.translateFrontend == 'lingva') [...r.lingvaNormalRedirectsChecks, ...r.lingvaNormalCustomRedirects];
@@ -282,45 +279,45 @@ function switchInstance(url) {
if (instancesList.length === 0) { resolve(); return; }
let randomInstance = utils.getRandomInstance(instancesList);
- return `${randomInstance}${url.pathname}${url.search}`;
+ resolve(`${randomInstance}${url.pathname}${url.search}`);
})
})
}
function initDefaults() {
- fetch('/instances/data.json').then(response => response.text()).then(async data => {
+ fetch('/instances/data.json').then(response => response.text()).then(data => {
let dataJson = JSON.parse(data);
redirects.simplyTranslate = dataJson.simplyTranslate;
redirects.lingva = dataJson.lingva;
- browser.storage.local.get('cloudflareList', async r => {
- simplyTranslateNormalRedirectsChecks = [...redirects.simplyTranslate.normal];
- lingvaNormalRedirectsChecks = [...redirects.lingva.normal]
- for (const instance of r.cloudflareList) {
- let i;
-
- i = simplyTranslateNormalRedirectsChecks.indexOf(instance);
- if (i > -1) simplyTranslateNormalRedirectsChecks.splice(i, 1);
+ browser.storage.local.get(
+ 'cloudflareList',
+ r => {
+ simplyTranslateNormalRedirectsChecks = [...redirects.simplyTranslate.normal];
+ lingvaNormalRedirectsChecks = [...redirects.lingva.normal]
+ for (const instance of r.cloudflareList) {
+ const a = simplyTranslateNormalRedirectsChecks.indexOf(instance);
+ if (a > -1) simplyTranslateNormalRedirectsChecks.splice(a, 1);
- i = lingvaNormalRedirectsChecks.indexOf(instance);
- if (i > -1) lingvaNormalRedirectsChecks.splice(i, 1);
- }
- await browser.storage.local.set({
- translateDisable: false,
- translateFrontend: "simplyTranslate",
- translateProtocol: 'normal',
- translateRedirects: redirects,
+ const b = lingvaNormalRedirectsChecks.indexOf(instance);
+ if (b > -1) lingvaNormalRedirectsChecks.splice(b, 1);
+ }
+ browser.storage.local.set({
+ translateDisable: false,
+ translateFrontend: "simplyTranslate",
+ translateProtocol: 'normal',
+ translateRedirects: redirects,
- simplyTranslateNormalRedirectsChecks: simplyTranslateNormalRedirectsChecks,
- simplyTranslateNormalCustomRedirects: [],
- simplyTranslateTorRedirectsChecks: [...redirects.simplyTranslate.tor],
- simplyTranslateTorCustomRedirects: [],
+ simplyTranslateNormalRedirectsChecks: simplyTranslateNormalRedirectsChecks,
+ simplyTranslateNormalCustomRedirects: [],
+ simplyTranslateTorRedirectsChecks: [...redirects.simplyTranslate.tor],
+ simplyTranslateTorCustomRedirects: [],
- lingvaNormalRedirectsChecks: lingvaNormalRedirectsChecks,
- lingvaNormalCustomRedirects: [],
- lingvaTorRedirectsChecks: [...redirects.lingva.tor],
- lingvaTorCustomRedirects: [],
+ lingvaNormalRedirectsChecks: lingvaNormalRedirectsChecks,
+ lingvaNormalCustomRedirects: [],
+ lingvaTorRedirectsChecks: [...redirects.lingva.tor],
+ lingvaTorCustomRedirects: [],
+ })
})
- })
})
}
diff --git a/src/assets/javascripts/helpers/twitter.js b/src/assets/javascripts/helpers/twitter.js
index 2660299c..811edc1d 100644
--- a/src/assets/javascripts/helpers/twitter.js
+++ b/src/assets/javascripts/helpers/twitter.js
@@ -180,7 +180,7 @@ function removeXFrameOptions(e) {
})
}
-function initNitterCookies(from) {
+function initNitterCookies(test, from) {
return new Promise(resolve => {
browser.storage.local.get(
[
@@ -201,25 +201,26 @@ function initNitterCookies(from) {
].includes(protocolHost)
) { resolve(); return; }
- let checkedInstances;
- if (r.twitterProtocol == 'normal') checkedInstances = [...r.nitterNormalRedirectsChecks, ...r.nitterNormalCustomRedirects]
- else if (r.twitterProtocol == 'tor') checkedInstances = [...r.nitterTorRedirectsChecks, ...r.nitterTorCustomRedirects]
-
- for (const to of checkedInstances) {
- utils.copyCookie('nitter', from, to, 'theme');
- utils.copyCookie('nitter', from, to, 'infiniteScroll');
- utils.copyCookie('nitter', from, to, 'stickyProfile');
- utils.copyCookie('nitter', from, to, 'bidiSupport');
- utils.copyCookie('nitter', from, to, 'hideTweetStats');
- utils.copyCookie('nitter', from, to, 'hideBanner');
- utils.copyCookie('nitter', from, to, 'hidePins');
- utils.copyCookie('nitter', from, to, 'hideReplies');
- utils.copyCookie('nitter', from, to, 'squareAvatars');
- utils.copyCookie('nitter', from, to, 'mp4Playback');
- utils.copyCookie('nitter', from, to, 'hlsPlayback');
- utils.copyCookie('nitter', from, to, 'proxyVideos');
- utils.copyCookie('nitter', from, to, 'muteVideos');
- utils.copyCookie('nitter', from, to, 'autoplayGifs');
+ if (!test) {
+ let checkedInstances;
+ if (r.twitterProtocol == 'normal') checkedInstances = [...r.nitterNormalRedirectsChecks, ...r.nitterNormalCustomRedirects]
+ else if (r.twitterProtocol == 'tor') checkedInstances = [...r.nitterTorRedirectsChecks, ...r.nitterTorCustomRedirects]
+ for (const to of checkedInstances) {
+ utils.copyCookie('nitter', from, to, 'theme');
+ utils.copyCookie('nitter', from, to, 'infiniteScroll');
+ utils.copyCookie('nitter', from, to, 'stickyProfile');
+ utils.copyCookie('nitter', from, to, 'bidiSupport');
+ utils.copyCookie('nitter', from, to, 'hideTweetStats');
+ utils.copyCookie('nitter', from, to, 'hideBanner');
+ utils.copyCookie('nitter', from, to, 'hidePins');
+ utils.copyCookie('nitter', from, to, 'hideReplies');
+ utils.copyCookie('nitter', from, to, 'squareAvatars');
+ utils.copyCookie('nitter', from, to, 'mp4Playback');
+ utils.copyCookie('nitter', from, to, 'hlsPlayback');
+ utils.copyCookie('nitter', from, to, 'proxyVideos');
+ utils.copyCookie('nitter', from, to, 'muteVideos');
+ utils.copyCookie('nitter', from, to, 'autoplayGifs');
+ }
}
resolve(true);
})
diff --git a/src/assets/javascripts/helpers/utils.js b/src/assets/javascripts/helpers/utils.js
index f864f90b..59fff19e 100644
--- a/src/assets/javascripts/helpers/utils.js
+++ b/src/assets/javascripts/helpers/utils.js
@@ -370,7 +370,7 @@ function copyRaw(test, copyRawElement) {
})
}
-function unify(unifyElement) {
+function unify(test, unifyElement) {
return new Promise(resolve => {
browser.tabs.query(
{ active: true, currentWindow: true },
@@ -378,35 +378,36 @@ function unify(unifyElement) {
let currTab = tabs[0]
if (currTab) {
let url;
- try {
- url = new URL(currTab.url);
- } catch { resolve(); return; }
+ try { url = new URL(currTab.url); }
+ catch { resolve(); return; }
- let result = await youtubeHelper.initInvidiousCookies(url);
- if (!result) result = await youtubeHelper.initPipedLocalStorage(url, currTab.id);
- if (!result) result = await youtubeHelper.initPipedMaterialLocalStorage(url, currTab.id);
+ 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);
- if (!result) result = await twitterHelper.initNitterCookies(url);
+ if (!result) result = await twitterHelper.initNitterCookies(test, url);
- if (!result) result = await redditHelper.initLibredditCookies(url);
- if (!result) result = await redditHelper.initTedditCookies(url);
+ if (!result) result = await redditHelper.initLibredditCookies(test, url);
+ if (!result) result = await redditHelper.initTedditCookies(test, url);
- if (!result) result = await searchHelper.initSearxCookies(url);
- if (!result) result = await searchHelper.initSearxngCookies(url);
+ if (!result) result = await searchHelper.initSearxCookies(test, url);
+ if (!result) result = await searchHelper.initSearxngCookies(test, url);
- if (!result) result = await tiktokHelper.initProxiTokCookies(url);
+ if (!result) result = await tiktokHelper.initProxiTokCookies(test, url);
- if (!result) result = await wikipediaHelper.initWikilessCookies(url);
+ if (!result) result = await wikipediaHelper.initWikilessCookies(test, url);
- if (!result) result = await translateHelper.initSimplyTranslateCookies(url);
- if (!result) result = await translateHelper.initLingvaLocalStorage(url);
+ if (!result) result = await translateHelper.initSimplyTranslateCookies(test, url);
+ if (!result) result = await translateHelper.initLingvaLocalStorage(test, url);
if (result) {
+ if (!test) {
+ const textElement = unifyElement.getElementsByTagName('h4')[0]
+ const oldHtml = textElement.innerHTML;
+ textElement.innerHTML = 'Unified';
+ setTimeout(() => textElement.innerHTML = oldHtml, 1000);
+ }
resolve(true);
- const textElement = unifyElement.getElementsByTagName('h4')[0]
- const oldHtml = textElement.innerHTML;
- textElement.innerHTML = 'Unified';
- setTimeout(() => textElement.innerHTML = oldHtml, 1000);
} else resolve()
}
}
@@ -414,30 +415,36 @@ function unify(unifyElement) {
})
}
-function switchInstance() {
- browser.tabs.query({ active: true, currentWindow: true }, async tabs => {
- let currTab = tabs[0];
- if (currTab) {
- let url = new URL(currTab.url);
- let newUrl;
- newUrl = await youtubeHelper.switchInstance(url);
- if (!newUrl) newUrl = await twitterHelper.switchInstance(url);
- if (!newUrl) newUrl = await instagramHelper.switchInstance(url);
- if (!newUrl) newUrl = await redditHelper.switchInstance(url);
- if (!newUrl) newUrl = await searchHelper.switchInstance(url);
- if (!newUrl) newUrl = await translateHelper.switchInstance(url);
- if (!newUrl) newUrl = await mediumHelper.switchInstance(url);
- if (!newUrl) newUrl = await sendTargetsHelper.switchInstance(url);
- if (!newUrl) newUrl = await peertubeHelper.switchInstance(url);
- if (!newUrl) newUrl = await lbryHelper.switchInstance(url);
- if (!newUrl) newUrl = await imgurHelper.switchInstance(url);
- if (!newUrl) newUrl = await wikipediaHelper.switchInstance(url);
+function switchInstance(test) {
+ return new Promise(resolve => {
+ browser.tabs.query({ active: true, currentWindow: true }, async tabs => {
+ let currTab = tabs[0];
+ if (currTab) {
+ let url;
+ try { url = new URL(currTab.url); }
+ catch { resolve(); return };
+ let newUrl = await youtubeHelper.switchInstance(url);
+ if (!newUrl) newUrl = await twitterHelper.switchInstance(url);
+ if (!newUrl) newUrl = await instagramHelper.switchInstance(url);
+ if (!newUrl) newUrl = await redditHelper.switchInstance(url);
+ if (!newUrl) newUrl = await searchHelper.switchInstance(url);
+ if (!newUrl) newUrl = await translateHelper.switchInstance(url);
+ if (!newUrl) newUrl = await mediumHelper.switchInstance(url);
+ if (!newUrl) newUrl = await sendTargetsHelper.switchInstance(url);
+ if (!newUrl) newUrl = await peertubeHelper.switchInstance(url);
+ if (!newUrl) newUrl = await lbryHelper.switchInstance(url);
+ if (!newUrl) newUrl = await imgurHelper.switchInstance(url);
+ if (!newUrl) newUrl = await wikipediaHelper.switchInstance(url);
- if (newUrl) {
- browser.tabs.update({ url: newUrl });
- return true;
+ console.log('newUrl', newUrl);
+ console.log('test');
+ if (newUrl) {
+ if (!test)
+ browser.tabs.update({ url: newUrl });
+ resolve(true)
+ } else resolve()
}
- }
+ })
})
return false;
}
diff --git a/src/assets/javascripts/helpers/wikipedia.js b/src/assets/javascripts/helpers/wikipedia.js
index 4bfdc2dc..81324221 100644
--- a/src/assets/javascripts/helpers/wikipedia.js
+++ b/src/assets/javascripts/helpers/wikipedia.js
@@ -38,18 +38,11 @@ function setRedirects(val) {
}
let
- disable, // disableWikipedia
- protocol; // wikipediaProtocol
-
-let
wikilessNormalRedirectsChecks,
wikilessTorRedirectsChecks,
- wikilessI2pRedirectsChecks,
- wikilessNormalCustomRedirects,
- wikilessTorCustomRedirects,
- wikilessI2pCustomRedirects;
+ wikilessI2pRedirectsChecks;
-function initWikilessCookies(from) {
+function initWikilessCookies(test, from) {
return new Promise(resolve => {
browser.storage.local.get(
[
@@ -72,14 +65,16 @@ function initWikilessCookies(from) {
...r.wikilessI2pCustomRedirects,
].includes(protocolHost)) resolve();
- let checkedInstances;
- if (r.wikipediaProtocol == 'normal') checkedInstances = [...r.wikilessNormalRedirectsChecks, ...r.wikilessNormalCustomRedirects]
- else if (r.wikipediaProtocol == 'tor') checkedInstances = [...r.wikilessTorRedirectsChecks, ...r.wikilessTorCustomRedirects]
- else if (r.wikipediaProtocol == 'i2p') checkedInstances = [...r.wikilessI2pRedirectsChecks, ...r.wikilessI2pCustomRedirects]
+ if (!test) {
+ let checkedInstances;
+ if (r.wikipediaProtocol == 'normal') checkedInstances = [...r.wikilessNormalRedirectsChecks, ...r.wikilessNormalCustomRedirects]
+ else if (r.wikipediaProtocol == 'tor') checkedInstances = [...r.wikilessTorRedirectsChecks, ...r.wikilessTorCustomRedirects]
+ else if (r.wikipediaProtocol == 'i2p') checkedInstances = [...r.wikilessI2pRedirectsChecks, ...r.wikilessI2pCustomRedirects]
- for (const to of checkedInstances) {
- utils.copyCookie('wikiless', from, to, 'theme');
- utils.copyCookie('wikiless', from, to, 'default_lang');
+ for (const to of checkedInstances) {
+ utils.copyCookie('wikiless', from, to, 'theme');
+ utils.copyCookie('wikiless', from, to, 'default_lang');
+ }
}
resolve(true);
}
diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js
index 835a5f81..dce03680 100644
--- a/src/assets/javascripts/helpers/youtube/youtube.js
+++ b/src/assets/javascripts/helpers/youtube/youtube.js
@@ -33,24 +33,19 @@ let redirects = {
"tor": []
}
};
-
function setRedirects(val) {
- browser.storage.local.get('cloudflareList', async r => {
+ browser.storage.local.get('cloudflareList', r => {
redirects.invidious = val.invidious;
redirects.piped = val.piped;
invidiousNormalRedirectsChecks = [...redirects.invidious.normal];
pipedNormalRedirectsChecks = [...redirects.piped.normal];
-
for (const instance of r.cloudflareList) {
- let i;
+ const a = invidiousNormalRedirectsChecks.indexOf(instance);
+ if (a > -1) invidiousNormalRedirectsChecks.splice(a, 1);
- i = invidiousNormalRedirectsChecks.indexOf(instance);
- if (i > -1) invidiousNormalRedirectsChecks.splice(i, 1);
-
- i = pipedNormalRedirectsChecks.indexOf(instance);
- if (i > -1) pipedNormalRedirectsChecks.splice(i, 1);
+ const b = pipedNormalRedirectsChecks.indexOf(instance);
+ if (b > -1) pipedNormalRedirectsChecks.splice(b, 1);
}
-
browser.storage.local.set({
youtubeRedirects: redirects,
invidiousNormalRedirectsChecks,
@@ -63,21 +58,13 @@ function setRedirects(val) {
let
invidiousNormalRedirectsChecks,
- invidiousNormalCustomRedirects,
invidiousTorRedirectsChecks,
- invidiousTorCustomRedirects;
-let
pipedNormalRedirectsChecks,
- pipedNormalCustomRedirects,
pipedTorRedirectsChecks,
- pipedTorCustomRedirects;
-let
pipedMaterialNormalRedirectsChecks,
- pipedMaterialNormalCustomRedirects,
- pipedMaterialTorRedirectsChecks,
- pipedMaterialTorCustomRedirects;
+ pipedMaterialTorRedirectsChecks;
function redirect(url, details, initiator) {
return new Promise(resolve => {
@@ -129,27 +116,38 @@ function redirect(url, details, initiator) {
)
) { resolve('BYPASSTAB'); return; }
+ const isInvidious = r.youtubeFrontend == 'invidious';
+ const isPiped = r.youtubeFrontend == 'piped';
+ const isPipedMaterial = r.youtubeFrontend == 'pipedMaterial'
+ const isFreetube = r.youtubeFrontend == 'freetube';
+ const isYatte = r.youtubeFrontend == 'yatte';
+
+ const isFrontendYoutube = r.youtubeEmbedFrontend == "youtube";
+ const isFrontendInvidious = r.youtubeEmbedFrontend == 'invidious';
+ const isFrontendPiped = r.youtubeEmbedFrontend == 'piped';
+ const isFrontendPipedMaterial = r.youtubeEmbedFrontend == 'pipedMaterial';
+
+ const isOnlyEmbeddedVideo = r.OnlyEmbeddedVideo == 'onlyNotEmbedded';
+ const isOnlyNotEmbedded = r.OnlyEmbeddedVideo == 'onlyNotEmbedded'
+
+ const is_main_frame = details.type === "main_frame";
+ const is_sub_frame = details.type === "sub_frame";
+
if (url.pathname.match(/iframe_api/) || url.pathname.match(/www-widgetapi/)) { resolve(); return; } // Don't redirect YouTube Player API.
- if (r.youtubeFrontend == 'yatte' && details.type === "main_frame")
+ if (r.youtubeFrontend == 'yatte' && is_main_frame)
resolve(url.href.replace(/^https?:\/{2}/, 'yattee://'));
- else if (r.youtubeFrontend == 'freetube' && details.type === "main_frame")
+ else if (isFreetube && is_main_frame)
resolve(`freetube://https:${url.pathname}${url.search}`);
- else if (r.youtubeFrontend == 'freetube' && details.type !== "main_frame" && r.youtubeEmbedFrontend == "youtube")
+ else if (isFreetube && params && isFrontendYoutube)
resolve();
- else if (
- r.youtubeFrontend == 'invidious' ||
- ((r.youtubeFrontend == 'freetube' || r.youtubeFrontend == 'yatte') && r.youtubeEmbedFrontend == 'invidious' && details.type == "sub_frame")
- ) {
+ else if (isInvidious || ((isFreetube || isYatte) && isFrontendInvidious && is_sub_frame)) {
- if (r.OnlyEmbeddedVideo == 'onlyEmbedded' && details.type !== "sub_frame") { resolve(); return; }
- if (
- r.OnlyEmbeddedVideo == 'onlyNotEmbedded' && details.type !== "main_frame" &&
- !((r.youtubeFrontend == 'freetube' || r.youtubeFrontend == 'yatte') && r.youtubeEmbedFrontend == 'invidious' && details.type === "sub_frame")
- ) { resolve(); return; }
+ if (isOnlyEmbeddedVideo && !is_sub_frame) { resolve(); return; }
+ if (isOnlyNotEmbedded && params && !((isFreetube || isYatte) && isFrontendInvidious && is_sub_frame)) { resolve(); return; }
let instancesList;
if (r.youtubeProtocol == 'normal') instancesList = [...r.invidiousNormalRedirectsChecks, ...r.invidiousNormalCustomRedirects];
@@ -158,16 +156,12 @@ function redirect(url, details, initiator) {
let randomInstance = utils.getRandomInstance(instancesList);
resolve(`${randomInstance}${url.pathname}${url.search}`);
+ } else if (isPiped || ((isFreetube || isYatte) && isFrontendPiped && is_sub_frame)) {
- } else if (
- r.youtubeFrontend == 'piped' ||
- ((r.youtubeFrontend == 'freetube' || r.youtubeFrontend == 'yatte') && r.youtubeEmbedFrontend == 'piped' && details.type === "sub_frame")
- ) {
-
- if (r.OnlyEmbeddedVideo == 'onlyEmbedded' && details.type !== "sub_frame") { resolve(); return; }
+ if (isOnlyEmbeddedVideo && !is_sub_frame) { resolve(); return; }
if (
- r.OnlyEmbeddedVideo == 'onlyNotEmbedded' && details.type !== "main_frame" &&
- !((r.youtubeFrontend == 'freetube' || r.youtubeFrontend == 'yatte') && r.youtubeEmbedFrontend == 'piped' && details.type == "sub_frame")
+ isOnlyNotEmbedded && params &&
+ !((isFreetube || isYatte) && isFrontendPiped && is_sub_frame)
) { resolve(); return; }
let instancesList;
@@ -178,12 +172,11 @@ function redirect(url, details, initiator) {
resolve(`${randomInstance}${url.pathname}${url.search}`)
}
- else if (r.youtubeFrontend == 'pipedMaterial' ||
- ((r.youtubeFrontend == 'freetube' || r.youtubeFrontend == 'yatte') && r.youtubeEmbedFrontend == 'pipedMaterial' && details.type === "sub_frame")) {
- if (r.OnlyEmbeddedVideo == 'onlyEmbedded' && details.type !== "sub_frame") { resolve(); return; }
+ else if (isPipedMaterial || ((isFreetube || isYatte) && isFrontendPipedMaterial && is_sub_frame)) {
+ if (isOnlyEmbeddedVideo && details.type !== "sub_frame") { resolve(); return; }
if (
- r.OnlyEmbeddedVideo == 'onlyNotEmbedded' && details.type !== "main_frame" &&
- !((r.youtubeFrontend == 'freetube' || r.youtubeFrontend == 'yatte') && r.youtubeEmbedFrontend == 'pipedMaterial' && details.type == "sub_frame")
+ isOnlyNotEmbedded && params &&
+ !((isFreetube || isYatte) && isFrontendPipedMaterial && is_sub_frame)
) { resolve(); return; }
let instancesList;
@@ -371,7 +364,7 @@ function initDefaults() {
})
}
-function initInvidiousCookies(from) {
+function initInvidiousCookies(test, from) {
return new Promise(resolve => {
browser.storage.local.get(
[
@@ -389,11 +382,13 @@ function initInvidiousCookies(from) {
...r.invidiousNormalCustomRedirects,
...r.invidiousTorCustomRedirects,
].includes(protocolHost)) { resolve(); return; }
- let checkedInstances;
- if (r.youtubeProtocol == 'normal') checkedInstances = [...r.invidiousNormalRedirectsChecks, ...r.invidiousNormalCustomRedirects]
- else if (r.youtubeProtocol == 'tor') checkedInstances = [...r.invidiousTorRedirectsChecks, ...r.invidiousTorCustomRedirects]
- for (const to of checkedInstances)
- utils.copyCookie('invidious', from, to, 'PREFS');
+ if (!test) {
+ let checkedInstances;
+ if (r.youtubeProtocol == 'normal') checkedInstances = [...r.invidiousNormalRedirectsChecks, ...r.invidiousNormalCustomRedirects]
+ else if (r.youtubeProtocol == 'tor') checkedInstances = [...r.invidiousTorRedirectsChecks, ...r.invidiousTorCustomRedirects]
+ for (const to of checkedInstances)
+ utils.copyCookie('invidious', from, to, 'PREFS');
+ }
resolve(true);
}
)
@@ -422,7 +417,7 @@ function setInvidiousCookies() {
)
}
-function initPipedLocalStorage(url, tabId) {
+function initPipedLocalStorage(test, url, tabId) {
return new Promise(resolve => {
browser.storage.local.get(
[
@@ -439,13 +434,15 @@ function initPipedLocalStorage(url, tabId) {
...r.pipedTorRedirectsChecks,
...r.pipedTorCustomRedirects,
].includes(protocolHost)) { resolve(); return; }
- browser.tabs.executeScript(
- tabId,
- {
- file: "/assets/javascripts/helpers/youtube/get_piped_settings.js",
- runAt: "document_start"
- }
- );
+
+ if (!test)
+ browser.tabs.executeScript(
+ tabId,
+ {
+ file: "/assets/javascripts/helpers/youtube/get_piped_settings.js",
+ runAt: "document_start"
+ }
+ );
resolve(true);
}
)
@@ -485,7 +482,7 @@ function setPipedLocalStorage(url, tabId) {
})
}
-function initPipedMaterialLocalStorage(url, tabId) {
+function initPipedMaterialLocalStorage(test, url, tabId,) {
return new Promise(resolve => {
browser.storage.local.get(
[
@@ -502,13 +499,15 @@ function initPipedMaterialLocalStorage(url, tabId) {
...r.pipedMaterialTorRedirectsChecks,
...r.pipedMaterialTorCustomRedirects,
].includes(protocolHost)) { resolve(); return; }
- browser.tabs.executeScript(
- tabId,
- {
- file: "/assets/javascripts/helpers/youtube/get_pipedMaterial_preferences.js",
- runAt: "document_start"
- }
- );
+
+ if (!test)
+ browser.tabs.executeScript(
+ tabId,
+ {
+ file: "/assets/javascripts/helpers/youtube/get_pipedMaterial_preferences.js",
+ runAt: "document_start"
+ }
+ );
resolve(true);
}
)
diff --git a/src/pages/popup/popup.html b/src/pages/popup/popup.html
index db7148c9..48f6f116 100644
--- a/src/pages/popup/popup.html
+++ b/src/pages/popup/popup.html
@@ -84,7 +84,7 @@
<h4>Send Files</h4></a>
<input id="disable-sendTargets" type="checkbox">
</div>
- <div class="some-block"><a class="title button" id="change_instance">
+ <div class="some-block" id="change_instance_div"><a class="title button" id="change_instance">
<svg xmlns="http://www.w3.org/2000/svg" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
<path d="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z"></path>
</svg>
diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js
index dc6c373f..b9c75791 100644
--- a/src/pages/popup/popup.js
+++ b/src/pages/popup/popup.js
@@ -77,17 +77,29 @@ document.addEventListener("change", () => {
});
})
-document.getElementById("change_instance").addEventListener("click", utils.switchInstance);
-let copyRawElement = document.getElementById('copy_raw');
-copyRawElement.addEventListener("click", () => utils.copyRaw(false, copyRawElement));
+utils.switchInstance(true).then(r => {
+ if (!r) document.getElementById("change_instance_div").style.display = 'none';
+ else document.getElementById("change_instance").addEventListener("click", () => utils.switchInstance(false));
+});
-utils.copyRaw(true).then(r => { if (!r) document.getElementById('copy_raw_div').style.display = 'none'; })
-// utils.unify().then(r => { if (!r) document.getElementById('unify_div').style.display = 'none'; })
+utils.copyRaw(true).then(r => {
+ if (!r) document.getElementById('copy_raw_div').style.display = 'none';
+ else {
+ const copy_raw = document.getElementById('copy_raw');
+ copy_raw.addEventListener("click", () => utils.copyRaw(false, copy_raw));
+ }
+})
+
+utils.unify(true).then(r => {
+ if (!r) document.getElementById('unify_div').style.display = 'none';
+ else {
+ const unify = document.getElementById('unify');
+ unify.addEventListener("click", () => utils.unify(false, unify));
+ }
+})
-document.getElementById("more-options").addEventListener("click", () => browser.runtime.openOptionsPage());
-let unifyElement = document.getElementById('unify');
-unifyElement.addEventListener("click", () => utils.unify(unifyElement));
+document.getElementById("more-options").addEventListener("click", () => browser.runtime.openOptionsPage());
generalHelper.init().then(() => {
let popupFrontends = generalHelper.getPopupFrontends();
diff --git a/src/pages/popup/popup.pug b/src/pages/popup/popup.pug
index 12588679..35234b15 100644
--- a/src/pages/popup/popup.pug
+++ b/src/pages/popup/popup.pug
@@ -98,7 +98,7 @@ html(lang="en")
h4 Send Files
input#disable-sendTargets(type="checkbox")
- .some-block
+ #change_instance_div.some-block
a#change_instance.title.button
+change_instance
h4 Change Instance