From 85aadc0eb6988e3c2e3e8d504ebf84bbf9180759 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Sun, 6 Feb 2022 07:51:18 +0300 Subject: Added default and custom instances to piped --- src/assets/javascripts/data.js | 1 - src/assets/javascripts/helpers/youtube/youtube.js | 53 +++++++++++++++++++---- 2 files changed, 45 insertions(+), 9 deletions(-) (limited to 'src/assets/javascripts') diff --git a/src/assets/javascripts/data.js b/src/assets/javascripts/data.js index a4e37ca7..bf0666ba 100644 --- a/src/assets/javascripts/data.js +++ b/src/assets/javascripts/data.js @@ -7,7 +7,6 @@ function setTheme(val) { }; export default { - exceptions, theme, setTheme, } \ 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 b6588808..192a8ff7 100644 --- a/src/assets/javascripts/helpers/youtube/youtube.js +++ b/src/assets/javascripts/helpers/youtube/youtube.js @@ -61,7 +61,7 @@ function setInvidiousRedirects(val) { console.log("invidiousRedirects: ", val) } -let invidiousRedirectsChecks = redirects.invidious.normal; +let invidiousRedirectsChecks; const getInvidiousRedirectsChecks = () => invidiousRedirectsChecks; function setInvidiousRedirectsChecks(val) { invidiousRedirectsChecks = val; @@ -77,6 +77,22 @@ function setInvidiousCustomRedirects(val) { console.log("invidiousCustomRedirects: ", val) } +let pipedRedirectsChecks; +const getPipedRedirectsChecks = () => pipedRedirectsChecks; +function setPipedRedirectsChecks(val) { + pipedRedirectsChecks = val; + browser.storage.sync.set({ pipedRedirectsChecks }) + console.log("pipedRedirectsChecks: ", val) +} + +let pipedCustomRedirects = []; +const getPipedCustomRedirects = () => pipedCustomRedirects; +function setPipedCustomRedirects(val) { + pipedCustomRedirects = val; + browser.storage.sync.set({ pipedCustomRedirects }) + console.log("pipedCustomRedirects: ", val) +} + function setPipedRedirects(val) { redirects.piped = val; browser.storage.sync.set({ youtubeRedirects: redirects }) @@ -209,13 +225,11 @@ async function init() { "youtubeFrontend", "invidiousRedirectsChecks", "invidiousCustomRedirects", + "pipedRedirectsChecks", + "pipedCustomRedirects", ]); if (result.youtubeRedirects) redirects = result.youtubeRedirects; - if (result.invidiousRedirectsChecks) invidiousRedirectsChecks = result.invidiousRedirectsChecks; - - if (result.invidiousCustomRedirects) invidiousCustomRedirects = result.invidiousCustomRedirects; - frontend = result.youtubeFrontend ?? 'piped'; disableYoutube = result.disableYoutube ?? false; @@ -228,6 +242,12 @@ async function init() { invidiousSubtitles = result.invidiousSubtitles || ''; invidiousAutoplay = result.invidiousAutoplay ?? 'DEFAULT'; + invidiousRedirectsChecks = result.invidiousRedirectsChecks ?? [...redirects.invidious.normal]; + invidiousCustomRedirects = result.invidiousCustomRedirects ?? []; + + pipedRedirectsChecks = result.pipedRedirectsChecks ?? [...redirects.invidious.normal]; + pipedCustomRedirects = result.pipedCustomRedirects ?? []; + persistInvidiousPrefs = result.persistInvidiousPrefs ?? false; } @@ -253,6 +273,7 @@ function redirect(url, initiator, type) { ) return null; + if (url.hostname == "studio.youtube.com") return null; if (url.pathname.match(/iframe_api/) || url.pathname.match(/www-widgetapi/)) return null; // Don't redirect YouTube Player API. @@ -272,7 +293,12 @@ function redirect(url, initiator, type) { if (invidiousSubtitles.trim() != '') url.searchParams.append("subtitles", invidiousSubtitles); if (invidiousAutoplay != "DEFAULT") url.searchParams.append("autoplay", invidiousAutoplay); - let randomInstance = commonHelper.getRandomInstance([...invidiousRedirectsChecks, ...invidiousCustomRedirects]) + let instancesList = [...invidiousRedirectsChecks, ...invidiousCustomRedirects]; + + if (instancesList.length === 0) + return null; + + let randomInstance = commonHelper.getRandomInstance(instancesList) return `${randomInstance}${url.pathname.replace("/shorts/", "/watch?v=")}${url.search}`; @@ -280,12 +306,17 @@ function redirect(url, initiator, type) { if (invidiousOnlyEmbeddedVideo && type !== "sub_frame") return null; + let instancesList = [...pipedRedirectsChecks, ...pipedCustomRedirects]; + + if (instancesList.length === 0) + return null; + + let randomInstance = commonHelper.getRandomInstance(instancesList) + if (invidiousTheme != "DEFAULT") url.searchParams.append("theme", invidiousTheme); if (invidiousVolume != "--") url.searchParams.append("volume", invidiousVolume / 100); if (invidiousAutoplay != "DEFAULT") url.searchParams.append("playerAutoPlay", invidiousAutoplay); - let randomInstance = commonHelper.getRandomInstance(redirects.piped.normal); - if (url.hostname.endsWith("youtube.com") || url.hostname.endsWith("youtube-nocookie.com") || invidiousHostNames().includes(url.hostname)) return `${randomInstance}${url.pathname.replace("/shorts/", "/watch?v=")}${url.search}`; @@ -345,5 +376,11 @@ export default { getInvidiousCustomRedirects, setInvidiousCustomRedirects, + getPipedRedirectsChecks, + setPipedRedirectsChecks, + + getPipedCustomRedirects, + setPipedCustomRedirects, + init, }; -- cgit 1.4.1