aboutsummaryrefslogtreecommitdiffstats
path: root/src/assets
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-05-19 19:21:39 +0300
committerManeraKai <manerakai@protonmail.com>2022-05-19 19:21:39 +0300
commit4498e790f67bf44bcf3ff61bd59cc91062532a39 (patch)
tree9a2178c49af80800723c8ebac2fef9f9b67b097e /src/assets
parentFixed Import Tool not working #242 (diff)
downloadlibredirect-4498e790f67bf44bcf3ff61bd59cc91062532a39.zip
Supported all frontend preferences #234
Diffstat (limited to '')
-rw-r--r--src/assets/javascripts/helpers/common.js2
-rw-r--r--src/assets/javascripts/helpers/instagram.js89
-rw-r--r--src/assets/javascripts/helpers/reddit.js88
-rw-r--r--src/assets/javascripts/helpers/search.js88
-rw-r--r--src/assets/javascripts/helpers/tiktok.js24
-rw-r--r--src/assets/javascripts/helpers/translate/get_lingva_preferences.js10
-rw-r--r--src/assets/javascripts/helpers/translate/lingva-preferences.js12
-rw-r--r--src/assets/javascripts/helpers/translate/set_lingva_preferences.js16
-rw-r--r--src/assets/javascripts/helpers/translate/translate.js133
-rw-r--r--src/assets/javascripts/helpers/twitter.js50
-rw-r--r--src/assets/javascripts/helpers/wikipedia.js30
-rw-r--r--src/assets/javascripts/helpers/youtube/get_pipedMaterial_preferences.js7
-rw-r--r--src/assets/javascripts/helpers/youtube/get_piped_preferences.js (renamed from src/assets/javascripts/helpers/youtube/get_piped_settings.js)0
-rw-r--r--src/assets/javascripts/helpers/youtube/piped-preferences.js40
-rw-r--r--src/assets/javascripts/helpers/youtube/piped.js89
-rw-r--r--src/assets/javascripts/helpers/youtube/pipedMaterial-preferences.js37
-rw-r--r--src/assets/javascripts/helpers/youtube/pipedMaterial.js31
-rw-r--r--src/assets/javascripts/helpers/youtube/set_pipedMaterial_preferences.js8
-rw-r--r--src/assets/javascripts/helpers/youtube/set_piped_preferences.js40
-rw-r--r--src/assets/javascripts/helpers/youtube/youtube.js163
20 files changed, 626 insertions, 331 deletions
diff --git a/src/assets/javascripts/helpers/common.js b/src/assets/javascripts/helpers/common.js
index 5adee5c8..5982fa03 100644
--- a/src/assets/javascripts/helpers/common.js
+++ b/src/assets/javascripts/helpers/common.js
@@ -331,7 +331,7 @@ function getCookiesFromStorage(frontend, to, name) {
browser.storage.local.get(
key,
r => {
- if (r) browser.cookies.set({ url: to, name: name, value: r[key] })
+ if (r[key] !== undefined) browser.cookies.set({ url: to, name: name, value: r[key] })
}
)
}
diff --git a/src/assets/javascripts/helpers/instagram.js b/src/assets/javascripts/helpers/instagram.js
index effbe46c..3d4af089 100644
--- a/src/assets/javascripts/helpers/instagram.js
+++ b/src/assets/javascripts/helpers/instagram.js
@@ -29,24 +29,6 @@ let bibliogramTorRedirectsChecks;
let bibliogramNormalCustomRedirects = [];
let bibliogramTorCustomRedirects = [];
-const reservedPaths = [
- "u",
- "p",
- "privacy",
-];
-
-const bypassPaths = [
- /about/,
- /explore/,
- /support/,
- /press/,
- /api/,
- /privacy/,
- /safety/,
- /admin/,
- /\/(accounts\/|embeds?.js)/
-];
-
let disable; //disableInstagram
let protocol; //instagramProtocol
@@ -68,6 +50,18 @@ function redirect(url, type, initiator) {
"media",
].includes(type)) return null;
+ const bypassPaths = [
+ /about/,
+ /explore/,
+ /support/,
+ /press/,
+ /api/,
+ /privacy/,
+ /safety/,
+ /admin/,
+ /\/(accounts\/|embeds?.js)/
+ ];
+
if (bypassPaths.some(rx => rx.test(url.pathname))) return;
let instancesList;
@@ -76,6 +70,12 @@ function redirect(url, type, initiator) {
if (instancesList.length === 0) return null;
let randomInstance = commonHelper.getRandomInstance(instancesList)
+ const reservedPaths = [
+ "u",
+ "p",
+ "privacy",
+ ];
+
if (url.pathname === "/" || reservedPaths.includes(url.pathname.split("/")[1]))
return `${randomInstance}${url.pathname}${url.search}`;
if (url.pathname.startsWith("/reel") || url.pathname.startsWith("/tv"))
@@ -139,44 +139,6 @@ function switchInstance(url) {
return `${randomInstance}${url.pathname}${url.search}`;
}
-function isBibliogram(url) {
- let protocolHost = commonHelper.protocolHost(url);
- return [
- ...redirects.bibliogram.normal,
- ...redirects.bibliogram.tor,
- ...bibliogramNormalCustomRedirects,
- ...bibliogramTorCustomRedirects,
- ].includes(protocolHost);
-}
-
-let instancesCookies;
-let theme;
-function initBibliogramCookies(url) {
- let protocolHost = commonHelper.protocolHost(url);
- browser.cookies.get(
- { url: protocolHost, name: "settings" },
- cookie => {
- if (!cookie || !instancesCookies.includes(protocolHost)) {
- console.log(`initing cookie for ${protocolHost}`);
- let request = new XMLHttpRequest();
- request.open("POST", `${protocolHost}/settings/return?referrer=%2F`);
-
- let themeValue;
- if (theme == 'light') themeValue = "classic";
- if (theme == 'dark') themeValue = "pussthecat.org-v2"
-
- if (themeValue) {
- let data = `csrf=x&theme=${themeValue}`;
- request.send(data);
- if (!instancesCookies.includes(protocolHost)) instancesCookies.push(protocolHost);
- browser.storage.local.set({ instancesCookies })
- }
- }
- })
-
-}
-
-
function initDefaults() {
return new Promise(resolve => {
fetch('/instances/data.json').then(response => response.text()).then(data => {
@@ -192,10 +154,6 @@ function initDefaults() {
disableInstagram: false,
instagramRedirects: redirects,
- theme: 'DEFAULT',
-
- instancesCookies: [],
-
bibliogramNormalRedirectsChecks: bibliogramNormalRedirectsChecks,
bibliogramTorRedirectsChecks: [],
@@ -217,10 +175,6 @@ async function init() {
"disableInstagram",
"instagramRedirects",
- "theme",
-
- "instancesCookies",
-
"bibliogramNormalRedirectsChecks",
"bibliogramTorRedirectsChecks",
@@ -232,10 +186,6 @@ async function init() {
disable = r.disableInstagram;
if (r.instagramRedirects) redirects = r.instagramRedirects
- theme = r.theme;
-
- instancesCookies = r.instancesCookies;
-
bibliogramNormalRedirectsChecks = r.bibliogramNormalRedirectsChecks;
bibliogramNormalCustomRedirects = r.bibliogramNormalCustomRedirects;
@@ -256,9 +206,6 @@ export default {
reverse,
- isBibliogram,
- initBibliogramCookies,
-
redirect,
init,
initDefaults,
diff --git a/src/assets/javascripts/helpers/reddit.js b/src/assets/javascripts/helpers/reddit.js
index bbcaf872..def751a1 100644
--- a/src/assets/javascripts/helpers/reddit.js
+++ b/src/assets/javascripts/helpers/reddit.js
@@ -114,6 +114,38 @@ function initLibredditCookies(from) {
}
+function setLibredditCookies() {
+ browser.storage.local.get(
+ [
+ "redditProtocol",
+ "disableReddit",
+ "redditFrontend",
+ "libredditNormalRedirectsChecks",
+ "libredditNormalCustomRedirects",
+ "libredditTorRedirectsChecks",
+ "libredditTorCustomRedirects",
+ ],
+ r => {
+ if (r.disableReddit || r.redditFrontend != 'libreddit' || r.redditProtocol === undefined) 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) {
+ commonHelper.getCookiesFromStorage('libreddit', to, "theme");
+ commonHelper.getCookiesFromStorage('libreddit', to, "front_page");
+ commonHelper.getCookiesFromStorage('libreddit', to, "layout");
+ commonHelper.getCookiesFromStorage('libreddit', to, "wide");
+ commonHelper.getCookiesFromStorage('libreddit', to, "post_sort");
+ commonHelper.getCookiesFromStorage('libreddit', to, "comment_sort");
+ commonHelper.getCookiesFromStorage('libreddit', to, "show_nsfw");
+ commonHelper.getCookiesFromStorage('libreddit', to, "autoplay_videos");
+ commonHelper.getCookiesFromStorage('libreddit', to, "use_hls");
+ commonHelper.getCookiesFromStorage('libreddit', to, "hide_hls_notification");
+ }
+ }
+ )
+}
+
function initTedditCookies(from) {
return new Promise(resolve => {
browser.storage.local.get(
@@ -156,6 +188,40 @@ function initTedditCookies(from) {
})
}
+function setTedditCookies() {
+ browser.storage.local.get(
+ [
+ "redditProtocol",
+ "disableReddit",
+ "redditFrontend",
+ "tedditNormalRedirectsChecks",
+ "tedditNormalCustomRedirects",
+ "tedditTorRedirectsChecks",
+ "tedditTorCustomRedirects",
+ ],
+ r => {
+ if (r.disableReddit || r.redditFrontend != 'teddit' || r.redditProtocol === undefined) return;
+ 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) {
+ commonHelper.getCookiesFromStorage('teddit', to, 'collapse_child_comments')
+ commonHelper.getCookiesFromStorage('teddit', to, 'domain_instagram')
+ commonHelper.getCookiesFromStorage('teddit', to, 'domain_twitter')
+ commonHelper.getCookiesFromStorage('teddit', to, 'domain_youtube')
+ commonHelper.getCookiesFromStorage('teddit', to, 'flairs')
+ commonHelper.getCookiesFromStorage('teddit', to, 'highlight_controversial')
+ commonHelper.getCookiesFromStorage('teddit', to, 'nsfw_enabled')
+ commonHelper.getCookiesFromStorage('teddit', to, 'post_media_max_height')
+ commonHelper.getCookiesFromStorage('teddit', to, 'show_upvoted_percentage')
+ commonHelper.getCookiesFromStorage('teddit', to, 'show_upvotes')
+ commonHelper.getCookiesFromStorage('teddit', to, 'theme')
+ commonHelper.getCookiesFromStorage('teddit', to, 'videos_muted')
+ }
+ }
+ )
+}
+
function redirect(url, type, initiator) {
// https://libreddit.exonip.de/vid/1mq8d0ma3yk81/720.mp4
// https://libreddit.exonip.de/img/4v3t1vgvrzk81.png
@@ -200,12 +266,12 @@ function redirect(url, type, initiator) {
if (frontend == 'teddit') {
if (tedditInstancesList.length === 0) return null;
let tedditRandomInstance = commonHelper.getRandomInstance(tedditInstancesList);
- return `${tedditRandomInstance}/pics/w:null_${url.pathname.substring(1)}${url.search}`;
+ return `${tedditRandomInstance}/pics/w:null_${url.pathname.substring(1)}${url.reddit}`;
}
if (frontend == 'libreddit') {
if (libredditInstancesList.length === 0) return null;
let libredditRandomInstance = commonHelper.getRandomInstance(libredditInstancesList);
- return `${libredditRandomInstance}/img${url.pathname}${url.search}`;
+ return `${libredditRandomInstance}/img${url.pathname}${url.reddit}`;
}
}
else if (url.host === "redd.it") {
@@ -213,13 +279,13 @@ function redirect(url, type, initiator) {
if (libredditInstancesList.length === 0) return null;
let libredditRandomInstance = commonHelper.getRandomInstance(libredditInstancesList);
// https://redd.it/foo => https://libredd.it/comments/foo
- return `${libredditRandomInstance}/comments${url.pathname}${url.search}`;
+ return `${libredditRandomInstance}/comments${url.pathname}${url.reddit}`;
}
if (frontend == 'teddit' && !url.pathname.match(/^\/+[^\/]+\/+[^\/]/)) {
if (tedditInstancesList.length === 0) return null;
let tedditRandomInstance = commonHelper.getRandomInstance(tedditInstancesList);
// https://redd.it/foo => https://teddit.net/comments/foo
- return `${tedditRandomInstance}/comments${url.pathname}${url.search}`;
+ return `${tedditRandomInstance}/comments${url.pathname}${url.reddit}`;
}
}
else if (url.host === 'preview.redd.it') {
@@ -229,19 +295,19 @@ function redirect(url, type, initiator) {
if (frontend == 'libreddit') {
if (libredditInstancesList.length === 0) return null;
let libredditRandomInstance = commonHelper.getRandomInstance(libredditInstancesList);
- return `${libredditRandomInstance}/preview/pre${url.pathname}${url.search}`;
+ return `${libredditRandomInstance}/preview/pre${url.pathname}${url.reddit}`;
}
}
if (frontend == 'libreddit') {
if (libredditInstancesList.length === 0) return null;
let libredditRandomInstance = commonHelper.getRandomInstance(libredditInstancesList);
- return `${libredditRandomInstance}${url.pathname}${url.search}`;
+ return `${libredditRandomInstance}${url.pathname}${url.reddit}`;
}
if (frontend == 'teddit') {
if (tedditInstancesList.length === 0) return null;
let tedditRandomInstance = commonHelper.getRandomInstance(tedditInstancesList);
- return `${tedditRandomInstance}${url.pathname}${url.search}`;
+ return `${tedditRandomInstance}${url.pathname}${url.reddit}`;
}
}
@@ -254,7 +320,7 @@ function reverse(url) {
...nitterTorCustomRedirects].includes(protocolHost)
) return;
if (url.pathname.includes('/pics/w:null_'))
- return `https://reddit.com${url.pathname}${url.search}`;
+ return `https://reddit.com${url.pathname}${url.reddit}`;
}
async function switchInstance(url) {
@@ -319,7 +385,7 @@ async function switchInstance(url) {
let randomInstance = commonHelper.getRandomInstance(instancesList);
- resolve(`${randomInstance}${url.pathname}${url.search}`)
+ resolve(`${randomInstance}${url.pathname}${url.reddit}`)
}
)
})
@@ -412,9 +478,9 @@ export default {
setLibredditRedirects,
initLibredditCookies,
+ setLibredditCookies,
initTedditCookies,
-
- initLibredditCookies,
+ setTedditCookies,
redirect,
init,
diff --git a/src/assets/javascripts/helpers/search.js b/src/assets/javascripts/helpers/search.js
index 730f3938..4e8441c6 100644
--- a/src/assets/javascripts/helpers/search.js
+++ b/src/assets/javascripts/helpers/search.js
@@ -147,7 +147,8 @@ function initSearxCookies(from) {
...r.searxTorCustomRedirects,
...r.searxI2pRedirectsChecks,
...r.searxI2pCustomRedirects,
- ].includes(protocolHost)) resolve();
+ ].includes(protocolHost)) return;
+
let checkedInstances;
if (protocol == 'normal') checkedInstances = [...r.searxNormalRedirectsChecks, ...r.searxNormalCustomRedirects];
@@ -178,6 +179,45 @@ function initSearxCookies(from) {
})
}
+function setSearxCookies() {
+ browser.storage.local.get(
+ [
+ "disableSearch",
+ "searchProtocol",
+ "searchFrontend",
+ "searxNormalRedirectsChecks",
+ "searxNormalCustomRedirects",
+ "searxTorRedirectsChecks",
+ "searxTorCustomRedirects",
+ ],
+ r => {
+ if (r.disableSearch || r.searchFrontend != 'searx', r.searchProtocol === undefined) return;
+ let checkedInstances;
+ if (r.searchProtocol == 'normal') checkedInstances = [...r.searxNormalRedirectsChecks, ...r.searxNormalCustomRedirects]
+ else if (r.searchProtocol == 'tor') checkedInstances = [...r.searxTorRedirectsChecks, ...r.searxTorCustomRedirects]
+ for (const to of checkedInstances) {
+ commonHelper.getCookiesFromStorage('searx', to, 'advanced_search');
+ commonHelper.getCookiesFromStorage('searx', to, 'autocomplete');
+ commonHelper.getCookiesFromStorage('searx', to, 'categories');
+ commonHelper.getCookiesFromStorage('searx', to, 'disabled_engines');
+ commonHelper.getCookiesFromStorage('searx', to, 'disabled_plugins');
+ commonHelper.getCookiesFromStorage('searx', to, 'doi_resolver');
+ commonHelper.getCookiesFromStorage('searx', to, 'enabled_engines');
+ commonHelper.getCookiesFromStorage('searx', to, 'enabled_plugins');
+ commonHelper.getCookiesFromStorage('searx', to, 'image_proxy');
+ commonHelper.getCookiesFromStorage('searx', to, 'language');
+ commonHelper.getCookiesFromStorage('searx', to, 'locale');
+ commonHelper.getCookiesFromStorage('searx', to, 'method');
+ commonHelper.getCookiesFromStorage('searx', to, 'oscar-style');
+ commonHelper.getCookiesFromStorage('searx', to, 'results_on_new_tab');
+ commonHelper.getCookiesFromStorage('searx', to, 'safesearch');
+ commonHelper.getCookiesFromStorage('searx', to, 'theme');
+ commonHelper.getCookiesFromStorage('searx', to, 'tokens');
+ }
+ }
+ )
+}
+
function initSearxngCookies(from) {
return new Promise(resolve => {
browser.storage.local.get(
@@ -199,7 +239,7 @@ function initSearxngCookies(from) {
...r.searxngTorCustomRedirects,
...r.searxngI2pRedirectsChecks,
...r.searxngI2pCustomRedirects,
- ].includes(protocolHost)) resolve();
+ ].includes(protocolHost)) return;
let checkedInstances;
if (r.searchProtocol == 'normal') checkedInstances = [...r.searxngNormalRedirectsChecks, ...r.searxngNormalCustomRedirects];
@@ -232,6 +272,47 @@ function initSearxngCookies(from) {
})
}
+function setSearxngCookies() {
+ browser.storage.local.get(
+ [
+ "searchProtocol",
+ "disableSearch",
+ "searchFrontend",
+ "searxngNormalRedirectsChecks",
+ "searxngNormalCustomRedirects",
+ "searxngTorRedirectsChecks",
+ "searxngTorCustomRedirects",
+ ],
+ r => {
+ if (r.disableSearch || r.searchFrontend != 'searxng', r.searchProtocol === undefined) return;
+ let checkedInstances;
+ if (r.searchProtocol == 'normal') checkedInstances = [...r.searxngNormalRedirectsChecks, ...r.searxngNormalCustomRedirects]
+ else if (r.searchProtocol == 'tor') checkedInstances = [...r.searxngTorRedirectsChecks, ...r.searxngTorCustomRedirects]
+ for (const to of checkedInstances) {
+ commonHelper.getCookiesFromStorage('searxng', to, 'autocomplete');
+ commonHelper.getCookiesFromStorage('searxng', to, 'categories');
+ commonHelper.getCookiesFromStorage('searxng', to, 'disabled_engines');
+ commonHelper.getCookiesFromStorage('searxng', to, 'disabled_plugins');
+ commonHelper.getCookiesFromStorage('searxng', to, 'doi_resolver');
+ commonHelper.getCookiesFromStorage('searxng', to, 'enabled_plugins');
+ commonHelper.getCookiesFromStorage('searxng', to, 'enabled_engines');
+ commonHelper.getCookiesFromStorage('searxng', to, 'image_proxy');
+ commonHelper.getCookiesFromStorage('searxng', to, 'infinite_scroll');
+ commonHelper.getCookiesFromStorage('searxng', to, 'language');
+ commonHelper.getCookiesFromStorage('searxng', to, 'locale');
+ commonHelper.getCookiesFromStorage('searxng', to, 'maintab');
+ commonHelper.getCookiesFromStorage('searxng', to, 'method');
+ commonHelper.getCookiesFromStorage('searxng', to, 'query_in_title');
+ commonHelper.getCookiesFromStorage('searxng', to, 'results_on_new_tab');
+ commonHelper.getCookiesFromStorage('searxng', to, 'safesearch');
+ commonHelper.getCookiesFromStorage('searxng', to, 'simple_style');
+ commonHelper.getCookiesFromStorage('searxng', to, 'theme');
+ commonHelper.getCookiesFromStorage('searxng', to, 'tokens');
+ }
+ }
+ )
+}
+
function redirect(url) {
if (disable) return;
if (!targets.some(rx => rx.test(url.href))) return;
@@ -482,7 +563,10 @@ export default {
setWhoogleRedirects,
initSearxCookies,
+ setSearxCookies,
+
initSearxngCookies,
+ setSearxngCookies,
redirect,
initDefaults,
diff --git a/src/assets/javascripts/helpers/tiktok.js b/src/assets/javascripts/helpers/tiktok.js
index 07820c26..501390dc 100644
--- a/src/assets/javascripts/helpers/tiktok.js
+++ b/src/assets/javascripts/helpers/tiktok.js
@@ -73,6 +73,29 @@ function initProxiTokCookies(from) {
})
}
+function setProxiTokCookies() {
+ browser.storage.local.get(
+ [
+ "tiktokProtocol",
+ "disableTiktok",
+ "proxiTokNormalRedirectsChecks",
+ "proxiTokNormalCustomRedirects",
+ "proxiTokTorRedirectsChecks",
+ "proxiTokTorCustomRedirects",
+ ],
+ r => {
+ if (r.disableTiktok || r.tiktokProtocol === undefined) return;
+ let checkedInstances;
+ if (r.youtubeProtocol == 'normal') checkedInstances = [...r.proxiTokNormalRedirectsChecks, ...r.proxiTokNormalCustomRedirects]
+ else if (r.youtubeProtocol == 'tor') checkedInstances = [...r.proxiTokTorRedirectsChecks, ...r.proxiTokTorCustomRedirects]
+ for (const to of checkedInstances) {
+ commonHelper.getCookiesFromStorage('proxitok', from, to, 'theme');
+ commonHelper.getCookiesFromStorage('proxitok', from, to, 'api-legacy');
+ }
+ }
+ )
+}
+
function redirect(url, type, initiator) {
if (disable) return;
if (type != "main_frame") return null;
@@ -174,6 +197,7 @@ export default {
reverse,
initProxiTokCookies,
+ setProxiTokCookies,
initDefaults,
init,
diff --git a/src/assets/javascripts/helpers/translate/get_lingva_preferences.js b/src/assets/javascripts/helpers/translate/get_lingva_preferences.js
new file mode 100644
index 00000000..f04ea3dc
--- /dev/null
+++ b/src/assets/javascripts/helpers/translate/get_lingva_preferences.js
@@ -0,0 +1,10 @@
+window.browser = window.browser || window.chrome;
+
+browser.storage.local.set(
+ {
+ ['lingva_lingva_chakra-ui-color-mode']: localStorage.getItem('chakra-ui-color-mode'),
+ lingva_lingva_isauto: localStorage.getItem('isauto'),
+ lingva_lingva_source: localStorage.getItem('source'),
+ lingva_lingva_target: localStorage.getItem('target'),
+ }
+)
diff --git a/src/assets/javascripts/helpers/translate/lingva-preferences.js b/src/assets/javascripts/helpers/translate/lingva-preferences.js
deleted file mode 100644
index eeee2415..00000000
--- a/src/assets/javascripts/helpers/translate/lingva-preferences.js
+++ /dev/null
@@ -1,12 +0,0 @@
-window.browser = window.browser || window.chrome;
-
-browser.storage.local.get(
- [
- "theme",
- ],
- r => {
- let theme = r.theme;
-
- if (theme != "DEFAULT") localStorage.setItem("chakra-ui-color-mode", r.theme);
- }
-) \ No newline at end of file
diff --git a/src/assets/javascripts/helpers/translate/set_lingva_preferences.js b/src/assets/javascripts/helpers/translate/set_lingva_preferences.js
new file mode 100644
index 00000000..7380fa37
--- /dev/null
+++ b/src/assets/javascripts/helpers/translate/set_lingva_preferences.js
@@ -0,0 +1,16 @@
+window.browser = window.browser || window.chrome;
+
+browser.storage.local.get(
+ [
+ "lingva_chakra-ui-color-mode",
+ "lingva_isauto",
+ "lingva_source",
+ "lingva_target",
+ ],
+ r => {
+ if (r['lingva_chakra-ui-color-mode'] !== undefined) localStorage.setItem('chakra-ui-color-mode', r['lingva_chakra-ui-color-mode']);
+ if (r.lingva_isauto !== undefined) localStorage.setItem('isauto', r.lingva_isauto);
+ if (r.lingva_source !== undefined) localStorage.setItem('source', r.lingva_source);
+ if (r.lingva_target !== undefined) localStorage.setItem('target', r.lingva_target);
+ }
+)
diff --git a/src/assets/javascripts/helpers/translate/translate.js b/src/assets/javascripts/helpers/translate/translate.js
index 3efaf544..3ca4dd9b 100644
--- a/src/assets/javascripts/helpers/translate/translate.js
+++ b/src/assets/javascripts/helpers/translate/translate.js
@@ -67,7 +67,6 @@ let
lingvaNormalCustomRedirects,
lingvaTorCustomRedirects;
-
let
disable, // translateDisable
frontend, // translateFrontend
@@ -107,14 +106,129 @@ function isTranslateRedirects(url, type, frontend) {
].includes(protocolHost);
}
-function initLingvaLocalStorage(tabId) {
- browser.tabs.executeScript(
- tabId,
- {
- file: "/assets/javascripts/helpers/translate/lingva-preferences.js",
- runAt: "document_start"
+function initLingvaLocalStorage(url, tabId) {
+ return new Promise(resolve => {
+ browser.storage.local.get(
+ [
+ "lingvaNormalRedirectsChecks",
+ "lingvaNormalCustomRedirects",
+ "lingvaTorRedirectsChecks",
+ "lingvaTorCustomRedirects",
+ ],
+ r => {
+ let protocolHost = commonHelper.protocolHost(url);
+ if (![
+ ...r.lingvaNormalRedirectsChecks,
+ ...r.lingvaTorRedirectsChecks,
+ ...r.lingvaNormalCustomRedirects,
+ ...r.lingvaTorCustomRedirects,
+ ].includes(protocolHost)) return;
+ browser.tabs.executeScript(
+ tabId,
+ {
+ file: "/assets/javascripts/helpers/translate/get_lingva_preferences.js",
+ runAt: "document_start"
+ }
+ );
+ resolve(true);
+ }
+ )
+ })
+}
+
+async function setLingvaLocalStorage(url, tabId) {
+ browser.storage.local.get(
+ [
+ "disableYoutube",
+ "youtubeFrontend",
+ "lingvaNormalRedirectsChecks",
+ "lingvaNormalCustomRedirects",
+ "lingvaTorRedirectsChecks",
+ "lingvaTorCustomRedirects",
+ ],
+ r => {
+ if (r.disableYoutube || r.youtubeFrontend != 'lingva') return;
+ let protocolHost = commonHelper.protocolHost(url);
+ if (![
+ ...r.lingvaNormalRedirectsChecks,
+ ...r.lingvaTorRedirectsChecks,
+ ...r.lingvaNormalCustomRedirects,
+ ...r.lingvaTorCustomRedirects,
+ ].includes(protocolHost)) return;
+ browser.tabs.executeScript(
+ tabId,
+ {
+ file: "/assets/javascripts/helpers/youtube/set_lingva_preferences.js",
+ runAt: "document_start"
+ }
+ );
+ return true;
+ })
+}
+
+function initSimplyTranslateCookies(from) {
+ return new Promise(resolve => {
+ browser.storage.local.get(
+ [
+ "translateProtocol",
+ "simplyTranslateNormalRedirectsChecks",
+ "simplyTranslateNormalCustomRedirects",
+ "simplyTranslateTorRedirectsChecks",
+ "simplyTranslateTorCustomRedirects",
+ "simplyTranslateI2pRedirectsChecks",
+ "simplyTranslateI2pCustomRedirects",
+ ],
+ r => {
+ let protocolHost = commonHelper.protocolHost(from);
+ if (![
+ ...r.simplyTranslateNormalRedirectsChecks,
+ ...r.simplyTranslateNormalCustomRedirects,
+ ...r.simplyTranslateTorRedirectsChecks,
+ ...r.simplyTranslateTorCustomRedirects,
+ ...r.simplyTranslateI2pRedirectsChecks,
+ ...r.simplyTranslateI2pCustomRedirects,
+ ].includes(protocolHost)) resolve();
+
+ 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) {
+ commonHelper.copyCookie('simplyTranslate', from, to, 'from_lang');
+ commonHelper.copyCookie('simplyTranslate', from, to, 'to_lang');
+ commonHelper.copyCookie('simplyTranslate', from, to, 'tts_enabled');
+ commonHelper.copyCookie('simplyTranslate', from, to, 'use_text_fields');
+ }
+ resolve(true);
+ }
+ )
+ })
+}
+
+function setSimplyTranslateCookies() {
+ browser.storage.local.get(
+ [
+ "translateProtocol",
+ "translateDisable",
+ "translateFrontend",
+ "simplyTranslateNormalRedirectsChecks",
+ "simplyTranslateNormalCustomRedirects",
+ "simplyTranslateTorRedirectsChecks",
+ "simplyTranslateTorCustomRedirects",
+ ],
+ r => {
+ if (r.translateDisable || r.translateFrontend != 'simplyTranslate' || r.translateProtocol === undefined) return;
+ let checkedInstances;
+ if (r.translateProtocol == 'normal') checkedInstances = [...r.simplyTranslateNormalRedirectsChecks, ...r.simplyTranslateNormalCustomRedirects]
+ else if (r.translateProtocol == 'tor') checkedInstances = [...r.simplyTranslateTorRedirectsChecks, ...r.simplyTranslateTorCustomRedirects]
+ for (const to of checkedInstances) {
+ commonHelper.getCookiesFromStorage('simplyTranslate', to, 'from_lang');
+ commonHelper.getCookiesFromStorage('simplyTranslate', to, 'to_lang');
+ commonHelper.getCookiesFromStorage('simplyTranslate', to, 'tts_enabled');
+ commonHelper.getCookiesFromStorage('simplyTranslate', to, 'use_text_fields');
+ }
}
- );
+ )
}
function redirect(url) {
@@ -267,7 +381,10 @@ export default {
getRedirects,
isTranslateRedirects,
+ initSimplyTranslateCookies,
+ setSimplyTranslateCookies,
initLingvaLocalStorage,
+ setLingvaLocalStorage,
setSimplyTranslateRedirects,
setLingvaRedirects,
diff --git a/src/assets/javascripts/helpers/twitter.js b/src/assets/javascripts/helpers/twitter.js
index 2af6a28d..b2469d7c 100644
--- a/src/assets/javascripts/helpers/twitter.js
+++ b/src/assets/javascripts/helpers/twitter.js
@@ -134,18 +134,6 @@ function removeXFrameOptions(e) {
if (isChanged) return { responseHeaders: e.responseHeaders };
}
-function isNitter(url, type) {
- if (type !== "main_frame" && type !== "sub_frame") return false;
-
- let protocolHost = commonHelper.protocolHost(url);
- return [
- ...redirects.nitter.normal,
- ...redirects.nitter.tor,
- ...nitterNormalCustomRedirects,
- ...nitterTorCustomRedirects,
- ].includes(protocolHost);
-}
-
async function initNitterCookies(from) {
return new Promise(resolve => {
browser.storage.local.get(
@@ -190,6 +178,42 @@ async function initNitterCookies(from) {
})
}
+function setNitterCookies() {
+ browser.storage.local.get(
+ [
+ "twitterProtocol",
+ "disableTwitter",
+ "youtubeFrontend",
+ "nitterNormalRedirectsChecks",
+ "nitterNormalCustomRedirects",
+ "nitterTorRedirectsChecks",
+ "nitterTorCustomRedirects",
+ ],
+ r => {
+ if (r.disableYoutube || r.youtubeFrontend != 'nitter' || r.twitterProtocol === undefined) return;
+ let checkedInstances;
+ if (r.youtubeProtocol == 'normal') checkedInstances = [...r.nitterNormalRedirectsChecks, ...r.nitterNormalCustomRedirects]
+ else if (r.youtubeProtocol == 'tor') checkedInstances = [...r.nitterTorRedirectsChecks, ...r.nitterTorCustomRedirects]
+ for (const to of checkedInstances) {
+ commonHelper.getCookiesFromStorage('nitter', to, 'theme');
+ commonHelper.getCookiesFromStorage('nitter', to, 'infiniteScroll');
+ commonHelper.getCookiesFromStorage('nitter', to, 'stickyProfile');
+ commonHelper.getCookiesFromStorage('nitter', to, 'bidiSupport');
+ commonHelper.getCookiesFromStorage('nitter', to, 'hideTweetStats');
+ commonHelper.getCookiesFromStorage('nitter', to, 'hideBanner');
+ commonHelper.getCookiesFromStorage('nitter', to, 'hidePins');
+ commonHelper.getCookiesFromStorage('nitter', to, 'hideReplies');
+ commonHelper.getCookiesFromStorage('nitter', to, 'squareAvatars');
+ commonHelper.getCookiesFromStorage('nitter', to, 'mp4Playback');
+ commonHelper.getCookiesFromStorage('nitter', to, 'hlsPlayback');
+ commonHelper.getCookiesFromStorage('nitter', to, 'proxyVideos');
+ commonHelper.getCookiesFromStorage('nitter', to, 'muteVideos');
+ commonHelper.getCookiesFromStorage('nitter', to, 'autoplayGifs');
+ }
+ }
+ )
+}
+
function initDefaults() {
fetch('/instances/data.json').then(response => response.text()).then(data => {
let dataJson = JSON.parse(data);
@@ -248,8 +272,8 @@ export default {
reverse,
removeXFrameOptions,
- isNitter,
initNitterCookies,
+ setNitterCookies,
redirect,
initDefaults,
diff --git a/src/assets/javascripts/helpers/wikipedia.js b/src/assets/javascripts/helpers/wikipedia.js
index 17c1ece1..a8acb097 100644
--- a/src/assets/javascripts/helpers/wikipedia.js
+++ b/src/assets/javascripts/helpers/wikipedia.js
@@ -50,7 +50,7 @@ let
wikilessTorCustomRedirects,
wikilessI2pCustomRedirects;
-function initWikilessCookies() {
+function initWikilessCookies(from) {
return new Promise(resolve => {
browser.storage.local.get(
[
@@ -78,14 +78,39 @@ function initWikilessCookies() {
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)
+ for (const to of checkedInstances) {
commonHelper.copyCookie('wikiless', from, to, 'theme');
+ commonHelper.copyCookie('wikiless', from, to, 'default_lang');
+ }
resolve(true);
}
)
})
}
+function setWikilessCookies() {
+ browser.storage.local.get(
+ [
+ "disableWikipedia",
+ "wikipediaProtocol",
+ "wikilessNormalRedirectsChecks",
+ "wikilessNormalCustomRedirects",
+ "wikilessTorRedirectsChecks",
+ "wikilessTorCustomRedirects",
+ ],
+ r => {
+ if (r.disableWikipedia || r.wikipediaProtocol === undefined) return;
+ let checkedInstances;
+ if (r.wikipediaProtocol == 'normal') checkedInstances = [...r.wikilessNormalRedirectsChecks, ...r.wikilessNormalCustomRedirects]
+ else if (r.wikipediaProtocol == 'tor') checkedInstances = [...r.wikilessTorRedirectsChecks, ...r.wikilessTorCustomRedirects]
+ for (const to of checkedInstances) {
+ commonHelper.getCookiesFromStorage('wikiless', to, 'theme');
+ commonHelper.getCookiesFromStorage('wikiless', to, 'default_lang');
+ }
+ }
+ )
+}
+
function redirect(url) {
if (disable) return;
if (!targets.test(url.href)) return;
@@ -212,6 +237,7 @@ export default {
setRedirects,
initWikilessCookies,
+ setWikilessCookies,
redirect,
initDefaults,
diff --git a/src/assets/javascripts/helpers/youtube/get_pipedMaterial_preferences.js b/src/assets/javascripts/helpers/youtube/get_pipedMaterial_preferences.js
new file mode 100644
index 00000000..9d052f62
--- /dev/null
+++ b/src/assets/javascripts/helpers/youtube/get_pipedMaterial_preferences.js
@@ -0,0 +1,7 @@
+window.browser = window.browser || window.chrome;
+
+browser.storage.local.set(
+ {
+ 'pipedMaterial_PREFERENCES': localStorage.getItem("PREFERENCES")
+ }
+) \ No newline at end of file
diff --git a/src/assets/javascripts/helpers/youtube/get_piped_settings.js b/src/assets/javascripts/helpers/youtube/get_piped_preferences.js
index 12e92baa..12e92baa 100644
--- a/src/assets/javascripts/helpers/youtube/get_piped_settings.js
+++ b/src/assets/javascripts/helpers/youtube/get_piped_preferences.js
diff --git a/src/assets/javascripts/helpers/youtube/piped-preferences.js b/src/assets/javascripts/helpers/youtube/piped-preferences.js
deleted file mode 100644
index 8a1f2d0d..00000000
--- a/src/assets/javascripts/helpers/youtube/piped-preferences.js
+++ /dev/null
@@ -1,40 +0,0 @@
-window.browser = window.browser || window.chrome;
-
-browser.storage.local.get(
- [
- "piped_bufferGoal",
- "piped_comments",
- "piped_disableLBRY",
- "piped_enabledCodecs",
- "piped_homepage",
- "piped_listen",
- "piped_minimizeDescription",
- "piped_playerAutoPlay",
- "piped_proxyLBRY",
- "piped_quality",
- "piped_region",
- "piped_selectedSkip",
- "piped_sponsorblock",
- "piped_theme",
- "piped_volume",
- "piped_watchHistory",
- ],
- r => {
- localStorage.setItem("bufferGoal", r.piped_bufferGoal);
- localStorage.setItem("comments", r.piped_comments);
- localStorage.setItem("disableLBRY", r.piped_disableLBRY);
- localStorage.setItem("enabledCodecs", r.piped_enabledCodecs);
- localStorage.setItem("homepage", r.piped_homepage);
- localStorage.setItem("listen", r.piped_listen);
- localStorage.setItem("minimizeDescription", r.piped_minimizeDescription);
- localStorage.setItem("playerAutoPlay", r.piped_playerAutoPlay);
- localStorage.setItem("proxyLBRY", r.piped_proxyLBRY);
- localStorage.setItem("quality", r.piped_quality);
- localStorage.setItem("region", r.piped_region);
- localStorage.setItem("selectedSkip", r.piped_selectedSkip);
- localStorage.setItem("sponsorblock", r.piped_sponsorblock);
- localStorage.setItem("theme", r.piped_theme);
- localStorage.setItem("volume", r.piped_volume);
- localStorage.setItem("watchHistory", r.piped_watchHistory);
- }
-) \ No newline at end of file
diff --git a/src/assets/javascripts/helpers/youtube/piped.js b/src/assets/javascripts/helpers/youtube/piped.js
deleted file mode 100644
index e1f7b0df..00000000
--- a/src/assets/javascripts/helpers/youtube/piped.js
+++ /dev/null
@@ -1,89 +0,0 @@
-"use strict";
-window.browser = window.browser || window.chrome;
-
-import commonHelper from '../common.js'
-
-async function initDefaults() {
- await browser.storage.local.set({
- youtubeVolume: 100,
- youtubeAutoplay: false,
- youtubeListen: false,
-
- pipedBufferGoal: 300,
- pipedComments: true,
- pipedDisableLBRY: false,
- pipedEnabledCodecs: ["av1", "vp9", "avc"],
- pipedHomepage: "trending",
- pipedMinimizeDescription: false,
- pipedProxyLBRY: false,
- pipedQuality: 0,
- pipedRegion: "US",
- pipedSelectedSkip: ["sponsor", "interaction", "selfpromo", "music_offtopic"],
- pipedSponsorblock: true,
- pipedDdlTheme: 'auto',
- pipedWatchHistory: false,
- })
-}
-
-async function copyPipedLocalStorage(url, tabId) {
- return new Promise(resolve => {
- browser.storage.local.get(
- [
- "pipedNormalRedirectsChecks",
- "pipedNormalCustomRedirects",
- "pipedTorRedirectsChecks",
- "pipedTorCustomRedirects",
- ],
- r => {
- let protocolHost = commonHelper.protocolHost(url);
- if (![
- ...r.pipedNormalCustomRedirects,
- ...r.pipedNormalRedirectsChecks,
- ...r.pipedTorRedirectsChecks,
- ...r.pipedTorCustomRedirects,
- ].includes(protocolHost)) resolve();
- browser.tabs.executeScript(
- tabId,
- {
- file: "/assets/javascripts/helpers/youtube/get_piped_settings.js",
- runAt: "document_start"
- }
- );
- resolve(true);
- })
- })
-}
-
-async function initPipedLocalStorage(url, tabId) {
- browser.storage.local.get(
- [
- "youtubeProtocol",
- "pipedNormalRedirectsChecks",
- "pipedNormalCustomRedirects",
- "pipedTorRedirectsChecks",
- "pipedTorCustomRedirects",
- ],
- r => {
- let protocolHost = commonHelper.protocolHost(url);
- if (![
- ...r.pipedNormalRedirectsChecks,
- ...r.pipedTorRedirectsChecks,
- ...r.pipedNormalCustomRedirects,
- ...r.pipedTorCustomRedirects,
- ].includes(protocolHost)) return;
- browser.tabs.executeScript(
- tabId,
- {
- file: "/assets/javascripts/helpers/youtube/piped-preferences.js",
- runAt: "document_start"
- }
- );
- return true;
- })
-}
-
-export default {
- initDefaults,
- initPipedLocalStorage,
- copyPipedLocalStorage,
-} \ No newline at end of file
diff --git a/src/assets/javascripts/helpers/youtube/pipedMaterial-preferences.js b/src/assets/javascripts/helpers/youtube/pipedMaterial-preferences.js
deleted file mode 100644
index c669c47e..00000000
--- a/src/assets/javascripts/helpers/youtube/pipedMaterial-preferences.js
+++ /dev/null
@@ -1,37 +0,0 @@
-window.browser = window.browser || window.chrome;
-
-browser.storage.local.get(
- [
- "theme",
- "youtubeAutoplay",
- "youtubeVolume",
- "youtubeListen",
-
- "pipedDisableLBRY",
- "pipedProxyLBRY",
- "pipedSelectedSkip",
- "pipedSponsorblock",
-
- "pipedMaterialSkipToLastPoint",
- ],
- r => {
- let prefs = {};
- if (localStorage.getItem("PREFERENCES"))
- prefs = JSON.parse(localStorage.getItem("PREFERENCES"));
-
- if (r.theme == 'dark') prefs.darkMode = true;
- if (r.theme == 'light') prefs.darkMode = false;
-
- prefs.volume = r.youtubeVolume / 100;
- prefs.playerAutoplay = r.youtubeAutoplay;
-
- prefs.listen = r.youtubeListen;
- prefs.disableLBRY = r.pipedDisableLBRY;
- prefs.proxyLBRY = r.pipedProxyLBRY;
- prefs.sponsorblock = r.pipedSponsorblock;
- prefs.skipToLastPoint = r.pipedMaterialSkipToLastPoint;
- prefs.selectedSkip = r.pipedSelectedSkip;
-
- localStorage.setItem("PREFERENCES", JSON.stringify(prefs));
- }
-) \ No newline at end of file
diff --git a/src/assets/javascripts/helpers/youtube/pipedMaterial.js b/src/assets/javascripts/helpers/youtube/pipedMaterial.js
deleted file mode 100644
index 5e5a577d..00000000
--- a/src/assets/javascripts/helpers/youtube/pipedMaterial.js
+++ /dev/null
@@ -1,31 +0,0 @@
-async function initDefaults() {
- await browser.storage.local.set({
- theme: "dark",
- youtubeAutoplay: false,
- youtubeVolume: 100,
- youtubeListen: false,
-
- pipedDisableLBRY: false,
- pipedProxyLBRY: false,
- pipedSelectedSkip: [],
- pipedSponsorblock: true,
-
- pipedMaterialSkipToLastPoint: true,
- })
-}
-
-function initPipedMaterialLocalStorage(tabId) {
- if (!disable && frontend == 'pipedMaterial' && enableCustomSettings)
- browser.tabs.executeScript(
- tabId,
- {
- file: "/assets/javascripts/helpers/youtube/pipedMaterial-preferences.js",
- runAt: "document_start"
- }
- );
-}
-
-export default {
- initDefaults,
- initPipedMaterialLocalStorage,
-} \ No newline at end of file
diff --git a/src/assets/javascripts/helpers/youtube/set_pipedMaterial_preferences.js b/src/assets/javascripts/helpers/youtube/set_pipedMaterial_preferences.js
new file mode 100644
index 00000000..7e12fe26
--- /dev/null
+++ b/src/assets/javascripts/helpers/youtube/set_pipedMaterial_preferences.js
@@ -0,0 +1,8 @@
+window.browser = window.browser || window.chrome;
+
+browser.storage.local.get(
+ "pipedMaterial_PREFERENCES",
+ r => {
+ if (r.pipedMaterial_PREFERENCES !== undefined) localStorage.setItem("PREFERENCES", r.pipedMaterial_PREFERENCES)
+ }
+) \ No newline at end of file
diff --git a/src/assets/javascripts/helpers/youtube/set_piped_preferences.js b/src/assets/javascripts/helpers/youtube/set_piped_preferences.js
new file mode 100644
index 00000000..ffb3e218
--- /dev/null
+++ b/src/assets/javascripts/helpers/youtube/set_piped_preferences.js
@@ -0,0 +1,40 @@
+window.browser = window.browser || window.chrome;
+
+browser.storage.local.get(
+ [
+ "piped_bufferGoal",
+ "piped_comments",
+ "piped_disableLBRY",
+ "piped_enabledCodecs",
+ "piped_homepage",
+ "piped_listen",
+ "piped_minimizeDescription",
+ "piped_playerAutoPlay",
+ "piped_proxyLBRY",
+ "piped_quality",
+ "piped_region",
+ "piped_selectedSkip",
+ "piped_sponsorblock",
+ "piped_theme",
+ "piped_volume",
+ "piped_watchHistory",
+ ],
+ r => {
+ if (r.piped_bufferGoal !== undefined) localStorage.setItem("bufferGoal", r.piped_bufferGoal);
+ if (r.piped_comments !== undefined) localStorage.setItem("comments", r.piped_comments);
+ if (r.piped_disableLBRY !== undefined) localStorage.setItem("disableLBRY", r.piped_disableLBRY);
+ if (r.piped_enabledCodecs !== undefined) localStorage.setItem("enabledCodecs", r.piped_enabledCodecs);
+ if (r.piped_homepage !== undefined) localStorage.setItem("homepage", r.piped_homepage);
+ if (r.piped_listen !== undefined) localStorage.setItem("listen", r.piped_listen);
+ if (r.piped_minimizeDescription !== undefined) localStorage.setItem("minimizeDescription", r.piped_minimizeDescription);
+ if (r.piped_playerAutoPlay !== undefined) localStorage.setItem("playerAutoPlay", r.piped_playerAutoPlay);
+ if (r.piped_proxyLBRY !== undefined) localStorage.setItem("proxyLBRY", r.piped_proxyLBRY);
+ if (r.piped_quality !== undefined) localStorage.setItem("quality", r.piped_quality);
+ if (r.piped_region !== undefined) localStorage.setItem("region", r.piped_region);
+ if (r.piped_selectedSkip !== undefined) localStorage.setItem("selectedSkip", r.piped_selectedSkip);
+ if (r.piped_sponsorblock !== undefined) localStorage.setItem("sponsorblock", r.piped_sponsorblock);
+ if (r.piped_theme !== undefined) localStorage.setItem("theme", r.piped_theme);
+ if (r.piped_volume !== undefined) localStorage.setItem("volume", r.piped_volume);
+ if (r.piped_watchHistory !== undefined) localStorage.setItem("watchHistory", r.piped_watchHistory);
+ }
+) \ No newline at end of file
diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js
index 96f9959b..31cc444e 100644
--- a/src/assets/javascripts/helpers/youtube/youtube.js
+++ b/src/assets/javascripts/helpers/youtube/youtube.js
@@ -3,8 +3,6 @@
window.browser = window.browser || window.chrome;
import commonHelper from '../common.js'
-import piped from './piped.js';
-import pipedMaterial from './pipedMaterial.js';
const targets = [
/^https?:\/{2}(www\.|music\.|m\.|)youtube\.com(\/.*|$)/,
@@ -330,9 +328,6 @@ async function initDefaults() {
youtubeEmbedFrontend: 'invidious',
youtubeProtocol: 'normal',
})
-
- await piped.initDefaults();
- await pipedMaterial.initDefaults();
resolve();
})
})
@@ -420,7 +415,7 @@ async function initInvidiousCookies(from) {
...r.invidiousTorRedirectsChecks,
...r.invidiousNormalCustomRedirects,
...r.invidiousTorCustomRedirects,
- ].includes(protocolHost)) resolve();
+ ].includes(protocolHost)) return;
let checkedInstances;
if (r.youtubeProtocol == 'normal') checkedInstances = [...r.invidiousNormalRedirectsChecks, ...r.invidiousNormalCustomRedirects]
else if (r.youtubeProtocol == 'tor') checkedInstances = [...r.invidiousTorRedirectsChecks, ...r.invidiousTorCustomRedirects]
@@ -429,7 +424,150 @@ async function initInvidiousCookies(from) {
resolve(true);
}
)
- }
+ })
+}
+
+function setInvidiousCookies() {
+ browser.storage.local.get(
+ [
+ "disableYoutube",
+ "youtubeProtocol",
+ "youtubeFrontend",
+ "invidiousNormalRedirectsChecks",
+ "invidiousNormalCustomRedirects",
+ "invidiousTorRedirectsChecks",
+ "invidiousTorCustomRedirects",
+ ],
+ r => {
+ if (r.disableYoutube || r.youtubeFrontend != 'invidious' || r.youtubeProtocol === undefined) 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)
+ commonHelper.getCookiesFromStorage('invidious', to, 'PREFS');
+ }
+ )
+}
+
+async function initPipedLocalStorage(url, tabId) {
+ return new Promise(resolve => {
+ browser.storage.local.get(
+ [
+ "pipedNormalRedirectsChecks",
+ "pipedNormalCustomRedirects",
+ "pipedTorRedirectsChecks",
+ "pipedTorCustomRedirects",
+ ],
+ r => {
+ let protocolHost = commonHelper.protocolHost(url);
+ if (![
+ ...r.pipedNormalCustomRedirects,
+ ...r.pipedNormalRedirectsChecks,
+ ...r.pipedTorRedirectsChecks,
+ ...r.pipedTorCustomRedirects,
+ ].includes(protocolHost)) resolve();
+ browser.tabs.executeScript(
+ tabId,
+ {
+ file: "/assets/javascripts/helpers/youtube/get_piped_settings.js",
+ runAt: "document_start"
+ }
+ );
+ resolve(true);
+ }
+ )
+ })
+}
+
+async function setPipedLocalStorage(url, tabId) {
+ browser.storage.local.get(
+ [
+ "disableYoutube",
+ "youtubeFrontend",
+ "pipedNormalRedirectsChecks",
+ "pipedNormalCustomRedirects",
+ "pipedTorRedirectsChecks",
+ "pipedTorCustomRedirects",
+ ],
+ r => {
+ if (!r.disableYoutube && r.youtubeFrontend == 'pipedMaterial') return;
+ let protocolHost = commonHelper.protocolHost(url);
+ if (![
+ ...r.pipedNormalRedirectsChecks,
+ ...r.pipedTorRedirectsChecks,
+ ...r.pipedNormalCustomRedirects,
+ ...r.pipedTorCustomRedirects,
+ ].includes(protocolHost)) return;
+ browser.tabs.executeScript(
+ tabId,
+ {
+ file: "/assets/javascripts/helpers/youtube/set_piped_preferences.js",
+ runAt: "document_start"
+ }
+ );
+ return true;
+ }
+ )
+}
+
+async function initPipedMaterialLocalStorage(tabId) {
+ return new Promise(resolve => {
+ browser.storage.local.get(
+ [
+ "pipedMaterialNormalRedirectsChecks",
+ "pipedMaterialNormalCustomRedirects",
+ "pipedMaterialTorRedirectsChecks",
+ "pipedMaterialTorCustomRedirects",
+ ],
+ r => {
+ const protocolHost = commonHelper.protocolHost(url);
+ if (![
+ ...r.pipedMaterialNormalCustomRedirects,
+ ...r.pipedMaterialNormalRedirectsChecks,
+ ...r.pipedMaterialTorRedirectsChecks,
+ ...r.pipedMaterialTorCustomRedirects,
+ ].includes(protocolHost)) return;
+ browser.tabs.executeScript(
+ tabId,
+ {
+ file: "/assets/javascripts/helpers/youtube/get_pipedMaterial_preferences.js",
+ runAt: "document_start"
+ }
+ );
+ resolve(true);
+ }
+ )
+ })
+}
+
+async function setPipedMaterialLocalStorage(url, tabId) {
+ browser.storage.local.get(
+ [
+ "disableYoutube",
+ "youtubeFrontend",
+ "pipedMaterialNormalRedirectsChecks",
+ "pipedMaterialTorRedirectsChecks",
+ "pipedMaterialNormalCustomRedirects",
+ "pipedMaterialTorCustomRedirects",
+ ],
+ r => {
+ if (r.disableYoutube || r.youtubeFrontend != 'pipedMaterial') return;
+ const protocolHost = commonHelper.protocolHost(url);
+ if (![
+ ...r.pipedMaterialNormalRedirectsChecks,
+ ...r.pipedMaterialTorRedirectsChecks,
+ ...r.pipedMaterialNormalCustomRedirects,
+ ...r.pipedMaterialTorCustomRedirects,
+ ].includes(protocolHost)) return;
+ browser.tabs.executeScript(
+ tabId,
+ {
+ file: "/assets/javascripts/helpers/youtube/set_pipedMaterial_preferences.js",
+ runAt: "document_start"
+ }
+ );
+ return true;
+ }
)
}
@@ -456,15 +594,12 @@ function removeXFrameOptions(e) {
if (isChanged) return { responseHeaders: e.responseHeaders };
}
-let
- initPipedLocalStorage = piped.initPipedLocalStorage,
- initPipedMaterialLocalStorage = pipedMaterial.initPipedMaterialLocalStorage,
- copyPipedLocalStorage = piped.copyPipedLocalStorage;
-
export default {
- initPipedLocalStorage,
initPipedMaterialLocalStorage,
+ setPipedLocalStorage,
+ setPipedMaterialLocalStorage,
initInvidiousCookies,
+ setInvidiousCookies,
getRedirects,
redirect,
@@ -474,7 +609,7 @@ export default {
isPipedorInvidious,
- copyPipedLocalStorage,
+ initPipedLocalStorage,
initDefaults,
init,