diff options
author | ManeraKai <manerakai@protonmail.com> | 2022-03-10 05:45:37 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2022-03-10 05:45:58 +0300 |
commit | 3d579dc1630958c53cb8003fe1f6cb9480832c6b (patch) | |
tree | e85711b1a4f215e339807b7823ab875699939c3b | |
parent | Bump version to 1.5.0 (diff) | |
download | libredirect-3d579dc1630958c53cb8003fe1f6cb9480832c6b.zip |
Fixed invidious settings #97. Changed a text in #84
-rw-r--r-- | src/assets/javascripts/helpers/twitter.js | 28 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/youtube/invidious-preferences.js | 28 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/youtube/youtube.js | 132 | ||||
-rw-r--r-- | src/pages/background/background.js | 4 | ||||
-rw-r--r-- | src/pages/options/pixiv/pixiv.html | 2 | ||||
-rw-r--r-- | src/pages/options/reddit/reddit.js | 2 |
6 files changed, 67 insertions, 129 deletions
diff --git a/src/assets/javascripts/helpers/twitter.js b/src/assets/javascripts/helpers/twitter.js index caf6541d..ba301ad4 100644 --- a/src/assets/javascripts/helpers/twitter.js +++ b/src/assets/javascripts/helpers/twitter.js @@ -199,18 +199,26 @@ function isNitter(url, type) { let theme; let applyThemeToSites; -function initNitterCookies(url) { - let protocolHost = `${url.protocol}//${url.host}`; +function initNitterCookies() { let themeValue; if (theme == 'light') themeValue = 'Twitter'; if (theme == 'dark') themeValue = 'Twitter Dark'; - - if (applyThemeToSites && themeValue != 'DEFAULT') - browser.cookies.set({ - url: protocolHost, - name: "theme", - value: themeValue - }) + if (applyThemeToSites && themeValue != 'DEFAULT') { + let allInstances = [...redirects.nitter.normal, ...redirects.nitter.tor, ...nitterNormalCustomRedirects, ...nitterTorCustomRedirects] + let checkedInstances = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects, ...nitterTorRedirectsChecks, ...nitterTorCustomRedirects] + for (const item of allInstances) + if (!checkedInstances.includes(item)) + browser.cookies.remove({ + url: instanceUrl, + name: "theme", + }) + for (const instanceUrl of checkedInstances) + browser.cookies.set({ + url: instanceUrl, + name: "theme", + value: themeValue + }) + } } async function init() { @@ -259,6 +267,8 @@ async function init() { nitterTorRedirectsChecks = r.nitterTorRedirectsChecks ?? [...redirects.nitter.tor]; nitterTorCustomRedirects = r.nitterTorCustomRedirects ?? []; + initNitterCookies(); + resolve(); } ); diff --git a/src/assets/javascripts/helpers/youtube/invidious-preferences.js b/src/assets/javascripts/helpers/youtube/invidious-preferences.js index 22a7dc71..b25900b8 100644 --- a/src/assets/javascripts/helpers/youtube/invidious-preferences.js +++ b/src/assets/javascripts/helpers/youtube/invidious-preferences.js @@ -21,31 +21,7 @@ browser.storage.local.get( "OnlyEmbeddedVideo", "theme", "invidiousVideoQuality", - ], (result) => { - let prefs = getCookie(); - let oldPrefs = { ...prefs }; - - if (result.invidiousAlwaysProxy !== undefined && prefs.local !== result.invidiousAlwaysProxy) - prefs.local = result.invidiousAlwaysProxy; - - if (result.invidiousVideoQuality !== undefined && prefs.quality !== result.invidiousVideoQuality) - prefs.quality = result.invidiousVideoQuality; - - if (result.theme !== undefined && prefs.dark_mode !== result.theme) - prefs.dark_mode = result.theme; - - if (result.youtubeVolume !== undefined && prefs.volume !== result.youtubeVolume) - prefs.volume = result.youtubeVolume; - - if (result.invidiousPlayerStyle !== undefined && prefs.player_style !== result.invidiousPlayerStyle) - prefs.player_style = result.invidiousPlayerStyle; - - if (result.invidiousSubtitles !== undefined && prefs.subtitles === result.invidiousSubtitles) - prefs.subtitles = result.invidiousSubtitles; - - if (result.youtubeAutoplay !== undefined && prefs.autoplay !== result.youtubeAutoplay) - prefs.autoplay = result.youtubeAutoplay; - - if (prefs != oldPrefs) document.cookie = `PREFS=${encodeURIComponent(JSON.stringify(prefs))}`; + ], + r => { } ) diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js index 50a16024..0ab77df6 100644 --- a/src/assets/javascripts/helpers/youtube/youtube.js +++ b/src/assets/javascripts/helpers/youtube/youtube.js @@ -537,87 +537,6 @@ function isPipedorInvidious(url, type, frontend) { ].includes(protocolHost); } -let applyThemeToSites; -function addUrlParams(url) { - let protocolHost = `${url.protocol}//${url.host}`; - let isChanged = false; - console.log("Adding URL Params", protocolHost); - console.log("searchParams", url.searchParams); - let oldParams = { ...url.searchParams }; - if ( - [ - ...redirects.invidious.normal, - ...redirects.invidious.tor, - ...invidiousNormalCustomRedirects, - ...invidiousTorCustomRedirects - ].includes(protocolHost) - ) { - - if (applyThemeToSites && !url.searchParams.has("dark_mode") && theme != 'DEFAULT') { - if (theme == 'dark') url.searchParams.append("dark_mode", true); - else if (theme == 'light') url.searchParams.append("dark_mode", false); - isChanged = true; - } - - if (!url.searchParams.has("volume") && volume != "--") { - url.searchParams.append("volume", volume); - isChanged = true; - } - - if (!url.searchParams.has("autoplay") && autoplay != "DEFAULT") { - url.searchParams.append("autoplay", autoplay); - isChanged = true; - } - - if (!url.searchParams.has("local") && invidiousAlwaysProxy != "DEFAULT") { - url.searchParams.append("local", invidiousAlwaysProxy); - isChanged = true; - } - - if (!url.searchParams.has("quality") && invidiousVideoQuality != "DEFAULT") { - url.searchParams.append("quality", invidiousVideoQuality); - isChanged = true; - } - - if (!url.searchParams.has("player_style") && invidiousPlayerStyle != "DEFAULT") { - url.searchParams.append("player_style", invidiousPlayerStyle); - isChanged = true; - }; - - if (!url.searchParams.has("subtitles") && invidiousSubtitles.trim() != '') { - url.searchParams.append("subtitles", invidiousSubtitles); - isChanged = true; - } - } - else if ( - [ - ...redirects.piped.normal, - ...redirects.piped.tor, - ...pipedNormalCustomRedirects, - ...pipedTorCustomRedirects, - ].includes(protocolHost) - ) { - - if (!url.searchParams.has("theme") && theme != "DEFAULT") { - url.searchParams.append("theme", theme); - isChanged = true; - } - - if (!url.searchParams.has("volume") && volume != "--") { - url.searchParams.append("volume", volume / 100); - isChanged = true; - } - - if (!url.searchParams.has("playerAutoPlay") && autoplay != "DEFAULT") { - url.searchParams.append("playerAutoPlay", autoplay); - isChanged = true; - } - } - - if (isChanged) return url.href; - else return; -} - function initPipedLocalStorage(tabId) { browser.tabs.executeScript( tabId, @@ -638,14 +557,46 @@ function initPipedMaterialLocalStorage(tabId) { ); } -function initInvidiousCookies(tabId) { - browser.tabs.executeScript( - tabId, - { - file: "/assets/javascripts/helpers/youtube/invidious-preferences.js", - runAt: "document_start" - } - ); +let applyThemeToSites; +function initInvidiousCookies() { + console.log("initInvidiousCookies"); + + let prefs = {}; + if (invidiousAlwaysProxy != "DEFAULT") prefs.local = invidiousAlwaysProxy == 'true'; + if (invidiousVideoQuality != "DEFAULT") prefs.quality = invidiousVideoQuality; + if (applyThemeToSites && theme != "DEFAULT") prefs.dark_mode = theme; + if (volume != "--") prefs.volume = parseInt(volume); + if (invidiousPlayerStyle != "DEFAULT") prefs.player_style = invidiousPlayerStyle; + if (invidiousSubtitles != "DEFAULT") prefs.subtitles = invidiousSubtitles; + if (autoplay != "DEFAULT") prefs.autoplay = autoplay == 'true'; + + let allInstances = [ + ...redirects.invidious.normal, + ...redirects.invidious.tor, + ...invidiousNormalCustomRedirects, + ...invidiousTorCustomRedirects, + ] + + let checkedInstances = [ + ...invidiousNormalRedirectsChecks, + ...invidiousNormalCustomRedirects, + ...invidiousTorRedirectsChecks, + ...invidiousTorCustomRedirects, + ]; + + for (const item of allInstances) + if (!checkedInstances.includes(item)) + browser.cookies.remove({ + url: item, + name: "PREFS", + }) + + for (const instanceUrl of checkedInstances) + browser.cookies.set({ + url: instanceUrl, + name: "PREFS", + value: encodeURIComponent(JSON.stringify(prefs)) + }) } async function init() { @@ -741,6 +692,8 @@ async function init() { if (r.youtubeEmbedExceptions) exceptions = r.youtubeEmbedExceptions; + initInvidiousCookies(); + resolve(); }); }); @@ -769,7 +722,6 @@ export default { changeInstance, isPipedorInvidious, - addUrlParams, getDisable, setDisable, diff --git a/src/pages/background/background.js b/src/pages/background/background.js index f93944e4..8ab6ad8e 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -52,7 +52,7 @@ browser.webRequest.onBeforeRequest.addListener( var newUrl; if (!newUrl) newUrl = youtubeHelper.redirect(url, details, initiator) - if (youtubeHelper.isPipedorInvidious(newUrl ?? url, details.type, 'invidious')) newUrl = youtubeHelper.addUrlParams(newUrl ?? url); + // if (youtubeHelper.isPipedorInvidious(newUrl ?? url, details.type, 'invidious')) newUrl = youtubeHelper.addUrlParams(newUrl ?? url); if (youtubeMusicHelper.isYoutubeMusic(url, initiator)) newUrl = youtubeMusicHelper.redirect(url, details.type) if (!newUrl) newUrl = twitterHelper.redirect(url, initiator); @@ -162,7 +162,7 @@ browser.tabs.onUpdated.addListener( try { url = new URL(changeInfo.url); } catch (_) { return } if (youtubeHelper.isPipedorInvidious(url, 'main_frame', 'piped')) youtubeHelper.initPipedLocalStorage(tabId); - if (twitterHelper.isNitter(url, 'main_frame')) twitterHelper.initNitterCookies(url); + // if (twitterHelper.isNitter(url, 'main_frame')) twitterHelper.initNitterCookies(); if (instagramHelper.isBibliogram(url)) instagramHelper.initBibliogramCookies(url); // if (changeInfo.url && youtubeHelper.isPipedorInvidious(url, 'main_frame', 'pipedMaterial')) youtubeHelper.initPipedMaterialLocalStorage(tabId); // if (changeInfo.url && youtubeHelper.isUrlPipedorInvidious(changeInfo.url, 'invidious')) youtubeHelper.initInvidiousCookies(tabId); diff --git a/src/pages/options/pixiv/pixiv.html b/src/pages/options/pixiv/pixiv.html index 67b8d824..43d3bf7c 100644 --- a/src/pages/options/pixiv/pixiv.html +++ b/src/pages/options/pixiv/pixiv.html @@ -97,7 +97,7 @@ </div> <div class="some-block option-block"> - <h4>Frontend: <span style="color:red;">This isn't a truly privacy frontend</span></h4> + <h4>Frontend: <span style="color:red;">This isn't a fully private frontend</span></h4> <select id="maps-frontend"> <option value="pixivMoe">pixiv萌え</option> </select> diff --git a/src/pages/options/reddit/reddit.js b/src/pages/options/reddit/reddit.js index 21a5f56c..6d747eb1 100644 --- a/src/pages/options/reddit/reddit.js +++ b/src/pages/options/reddit/reddit.js @@ -21,7 +21,7 @@ function changeFrontendsSettings(frontend) { tedditDivElement.style.display = 'block'; } else if (frontend == 'old') { - frontendElement.innerHTML = `Frontend: <span style="color:red;">This isn't a truly privacy frontend</span>`; + frontendElement.innerHTML = `Frontend: <span style="color:red;">This isn't a fully private frontend</span>`; libredditDivElement.style.display = 'none'; tedditDivElement.style.display = 'none'; } |