Hiding popup buttons when not available
This commit is contained in:
parent
51b0df71b9
commit
060629143a
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -102,31 +102,15 @@ let
|
|||
searxI2pRedirectsChecks,
|
||||
searxTorRedirectsChecks,
|
||||
|
||||
searxNormalCustomRedirects,
|
||||
searxTorCustomRedirects,
|
||||
searxI2pCustomRedirects,
|
||||
|
||||
searxngNormalRedirectsChecks,
|
||||
searxngI2pRedirectsChecks,
|
||||
searxngTorRedirectsChecks,
|
||||
|
||||
searxngNormalCustomRedirects,
|
||||
searxngTorCustomRedirects,
|
||||
searxngI2pCustomRedirects,
|
||||
|
||||
whoogleNormalRedirectsChecks,
|
||||
whoogleI2pRedirectsChecks,
|
||||
whoogleTorRedirectsChecks,
|
||||
whoogleTorRedirectsChecks;
|
||||
|
||||
whoogleNormalCustomRedirects,
|
||||
whoogleTorCustomRedirects,
|
||||
whoogleI2pCustomRedirects;
|
||||
|
||||
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; }
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
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 = simplyTranslateNormalRedirectsChecks.indexOf(instance);
|
||||
if (i > -1) simplyTranslateNormalRedirectsChecks.splice(i, 1);
|
||||
const b = lingvaNormalRedirectsChecks.indexOf(instance);
|
||||
if (b > -1) lingvaNormalRedirectsChecks.splice(b, 1);
|
||||
}
|
||||
browser.storage.local.set({
|
||||
translateDisable: false,
|
||||
translateFrontend: "simplyTranslate",
|
||||
translateProtocol: 'normal',
|
||||
translateRedirects: redirects,
|
||||
|
||||
i = lingvaNormalRedirectsChecks.indexOf(instance);
|
||||
if (i > -1) lingvaNormalRedirectsChecks.splice(i, 1);
|
||||
}
|
||||
await 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: [],
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
})
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -37,19 +37,12 @@ function setRedirects(val) {
|
|||
browser.storage.local.set({ wikilessI2pRedirectsChecks })
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
)
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -77,18 +77,30 @@ 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';
|
||||
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));
|
||||
}
|
||||
})
|
||||
|
||||
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'; })
|
||||
|
||||
document.getElementById("more-options").addEventListener("click", () => browser.runtime.openOptionsPage());
|
||||
|
||||
let unifyElement = document.getElementById('unify');
|
||||
unifyElement.addEventListener("click", () => utils.unify(unifyElement));
|
||||
|
||||
generalHelper.init().then(() => {
|
||||
let popupFrontends = generalHelper.getPopupFrontends();
|
||||
for (const frontend of generalHelper.allPopupFrontends)
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue