diff options
author | ManeraKai <manerakai@protonmail.com> | 2022-02-05 15:11:42 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2022-02-05 15:11:50 +0300 |
commit | f69ff242014ce8605a7dc8e30af090d60fe9d318 (patch) | |
tree | a1159d4d5a501b9170f01aea4c0c5c7d559e8686 /src | |
parent | Fixed icon theme #25 (diff) | |
download | libredirect-f69ff242014ce8605a7dc8e30af090d60fe9d318.zip |
redirect invidious to piped if selected and vise versa #14
Diffstat (limited to 'src')
-rw-r--r-- | src/assets/images/Screen Shot Chrome 1.png | bin | 331026 -> 0 bytes | |||
-rw-r--r-- | src/assets/images/Screen Shot Chrome 2.png | bin | 704517 -> 0 bytes | |||
-rw-r--r-- | src/assets/images/Screen Shot Chrome 3.png | bin | 180386 -> 0 bytes | |||
-rw-r--r-- | src/assets/images/Screen Shot Chrome 4.png | bin | 1038484 -> 0 bytes | |||
-rw-r--r-- | src/assets/images/Screen Shot Chrome 5.png | bin | 191954 -> 0 bytes | |||
-rw-r--r-- | src/assets/images/Screen Shot FF 1.png | bin | 335716 -> 0 bytes | |||
-rw-r--r-- | src/assets/images/Screen Shot FF 2.png | bin | 2093693 -> 0 bytes | |||
-rw-r--r-- | src/assets/images/Screen Shot FF 3.png | bin | 228957 -> 0 bytes | |||
-rw-r--r-- | src/assets/images/Screen Shot FF 4.png | bin | 2866335 -> 0 bytes | |||
-rw-r--r-- | src/assets/images/Screen Shot FF 5.png | bin | 256223 -> 0 bytes | |||
-rw-r--r-- | src/assets/javascripts/helpers/youtube/youtube.js | 69 |
11 files changed, 40 insertions, 29 deletions
diff --git a/src/assets/images/Screen Shot Chrome 1.png b/src/assets/images/Screen Shot Chrome 1.png deleted file mode 100644 index 1628b509..00000000 --- a/src/assets/images/Screen Shot Chrome 1.png +++ /dev/null Binary files differdiff --git a/src/assets/images/Screen Shot Chrome 2.png b/src/assets/images/Screen Shot Chrome 2.png deleted file mode 100644 index 61eed643..00000000 --- a/src/assets/images/Screen Shot Chrome 2.png +++ /dev/null Binary files differdiff --git a/src/assets/images/Screen Shot Chrome 3.png b/src/assets/images/Screen Shot Chrome 3.png deleted file mode 100644 index 42c92014..00000000 --- a/src/assets/images/Screen Shot Chrome 3.png +++ /dev/null Binary files differdiff --git a/src/assets/images/Screen Shot Chrome 4.png b/src/assets/images/Screen Shot Chrome 4.png deleted file mode 100644 index 8bae0410..00000000 --- a/src/assets/images/Screen Shot Chrome 4.png +++ /dev/null Binary files differdiff --git a/src/assets/images/Screen Shot Chrome 5.png b/src/assets/images/Screen Shot Chrome 5.png deleted file mode 100644 index d3f54841..00000000 --- a/src/assets/images/Screen Shot Chrome 5.png +++ /dev/null Binary files differdiff --git a/src/assets/images/Screen Shot FF 1.png b/src/assets/images/Screen Shot FF 1.png deleted file mode 100644 index 7ae2e614..00000000 --- a/src/assets/images/Screen Shot FF 1.png +++ /dev/null Binary files differdiff --git a/src/assets/images/Screen Shot FF 2.png b/src/assets/images/Screen Shot FF 2.png deleted file mode 100644 index a995478a..00000000 --- a/src/assets/images/Screen Shot FF 2.png +++ /dev/null Binary files differdiff --git a/src/assets/images/Screen Shot FF 3.png b/src/assets/images/Screen Shot FF 3.png deleted file mode 100644 index fc3232b6..00000000 --- a/src/assets/images/Screen Shot FF 3.png +++ /dev/null Binary files differdiff --git a/src/assets/images/Screen Shot FF 4.png b/src/assets/images/Screen Shot FF 4.png deleted file mode 100644 index f230fed2..00000000 --- a/src/assets/images/Screen Shot FF 4.png +++ /dev/null Binary files differdiff --git a/src/assets/images/Screen Shot FF 5.png b/src/assets/images/Screen Shot FF 5.png deleted file mode 100644 index 420838d9..00000000 --- a/src/assets/images/Screen Shot FF 5.png +++ /dev/null Binary files differdiff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js index 2c03a971..8b4677da 100644 --- a/src/assets/javascripts/helpers/youtube/youtube.js +++ b/src/assets/javascripts/helpers/youtube/youtube.js @@ -162,8 +162,26 @@ function setPersistInvidiousPrefs(val) { console.log("persistInvidiousPrefs: ", persistInvidiousPrefs) } +let invidiousHostNames = () => redirects.invidious.normal.map(link => new URL(link).host); +let pipedHostNames = () => redirects.piped.normal.map(link => new URL(link).host); + function isYoutube(url) { - return targets.includes(url.host); + if (frontend == 'invidious') { + let mightyList = [ + ...targets, + ...pipedHostNames(), + ] + return mightyList.includes(url.host); + } + if (frontend == 'piped') { + let mightyList = [ + ...targets, + ...invidiousHostNames(), + ] + console.log("mightyList.includes(url.host)", mightyList.includes(url.host)) + return mightyList.includes(url.host); + } else + return targets.includes(url.host) } async function init() { @@ -224,49 +242,42 @@ function redirect(url, initiator, type) { ) return null; + if (url.host.split(".")[0] === "studio") return null;// Avoid `studio.youtube.com` + + if (url.pathname.match(/iframe_api/) || url.pathname.match(/www-widgetapi/)) return null; // Don't redirect YouTube Player API. + if (frontend == 'freeTube' && type === "main_frame") return `freetube://${url}`; else if (frontend == 'invidious') { - if (url.pathname.match(/iframe_api/) || url.pathname.match(/www-widgetapi/)) return null; // Don't redirect YouTube Player API. - - if (url.host.split(".")[0] === "studio") { - console.log("no because studio"); - return null; - }; // Avoid redirecting `studio.youtube.com` - if (invidiousOnlyEmbeddedVideo && type !== "sub_frame") return null; - if (invidiousAlwaysProxy != "DEFAULT") - url.searchParams.append("local", invidiousAlwaysProxy); - - if (invidiousVideoQuality != "DEFAULT") - url.searchParams.append("quality", invidiousVideoQuality); - - if (invidiousTheme != "DEFAULT") - url.searchParams.append("dark_mode", invidiousTheme); - - if (invidiousVolume != "--") - url.searchParams.append("volume", invidiousVolume); - - if (invidiousPlayerStyle != "DEFAULT") - url.searchParams.append("player_style", invidiousPlayerStyle); - - if (invidiousSubtitles.trim() != '') - url.searchParams.append("subtitles", invidiousSubtitles); - - if (invidiousAutoplay != "DEFAULT") - url.searchParams.append("autoplay", invidiousAutoplay); + if (invidiousAlwaysProxy != "DEFAULT") url.searchParams.append("local", invidiousAlwaysProxy); + if (invidiousVideoQuality != "DEFAULT") url.searchParams.append("quality", invidiousVideoQuality); + if (invidiousTheme != "DEFAULT") url.searchParams.append("dark_mode", invidiousTheme); + if (invidiousVolume != "--") url.searchParams.append("volume", invidiousVolume); + if (invidiousPlayerStyle != "DEFAULT") url.searchParams.append("player_style", invidiousPlayerStyle); + if (invidiousSubtitles.trim() != '') url.searchParams.append("subtitles", invidiousSubtitles); + if (invidiousAutoplay != "DEFAULT") url.searchParams.append("autoplay", invidiousAutoplay); let randomInstance = commonHelper.getRandomInstance(redirects.invidious.normal) return `${randomInstance}${url.pathname.replace("/shorts", "")}${url.search}`; } else if (frontend == 'piped') { + if (invidiousOnlyEmbeddedVideo && type !== "sub_frame") return null; + let randomInstance = commonHelper.getRandomInstance(redirects.piped.normal); - if (url.hostname.endsWith("youtube.com") || url.hostname.endsWith("youtube-nocookie.com")) + + console.log(" redirects.invidious.normal.includes(url.hostname)", redirects.invidious.normal.includes(url.hostname)) + + if ( + url.hostname.endsWith("youtube.com") || + url.hostname.endsWith("youtube-nocookie.com") || + invidiousHostNames().includes(url.hostname) + ) return `${randomInstance}${url.pathname}${url.search}`; if (url.hostname.endsWith("youtu.be") && url.pathname.length > 1) |