From 3aad419dc264107368f7ee94625babedf3f67494 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Wed, 16 Mar 2022 19:58:55 +0300 Subject: [PATCH] Added Soju #109 --- src/assets/images/spotify-icon.png | Bin 0 -> 17693 bytes src/assets/javascripts/helpers/general.js | 3 +- src/assets/javascripts/helpers/medium.js | 2 +- src/assets/javascripts/helpers/spotify.js | 205 ++++++++++++++++++ src/assets/javascripts/helpers/wikipedia.js | 2 +- src/pages/background/background.js | 6 + src/pages/options/general/general.html | 11 + src/pages/options/imgur/imgur.html | 23 ++ src/pages/options/instagram/instagram.html | 4 + src/pages/options/lbry/lbry.html | 4 + src/pages/options/maps/maps.html | 22 ++ src/pages/options/medium/medium.html | 23 ++ src/pages/options/peertube/peertube.html | 23 ++ src/pages/options/pixiv/pixiv.html | 23 ++ src/pages/options/reddit/reddit.html | 23 ++ src/pages/options/search/search.html | 23 ++ .../options/sendTargets/sendTargets.html | 4 + src/pages/options/spotify/spotify.html | 198 +++++++++++++++++ src/pages/options/spotify/spotify.js | 59 +++++ src/pages/options/tiktok/tiktok.html | 22 ++ src/pages/options/translate/translate.html | 25 ++- src/pages/options/twitter/twitter.html | 25 ++- src/pages/options/wikipedia/wikipedia.html | 6 +- src/pages/options/youtube/youtube.html | 4 + .../options/youtubeMusic/youtubeMusic.html | 6 +- src/pages/popup/popup.html | 9 +- src/pages/popup/popup.js | 8 + 27 files changed, 755 insertions(+), 8 deletions(-) create mode 100644 src/assets/images/spotify-icon.png create mode 100644 src/assets/javascripts/helpers/spotify.js create mode 100644 src/pages/options/spotify/spotify.html create mode 100644 src/pages/options/spotify/spotify.js diff --git a/src/assets/images/spotify-icon.png b/src/assets/images/spotify-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..264762a48bffae023d710223da0a6272fdf2e65c GIT binary patch literal 17693 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 literal 0 HcmV?d00001 diff --git a/src/assets/javascripts/helpers/general.js b/src/assets/javascripts/helpers/general.js index a655fa7..67c8b57 100644 --- a/src/assets/javascripts/helpers/general.js +++ b/src/assets/javascripts/helpers/general.js @@ -81,9 +81,9 @@ async function init() { "imgur", "reddit", "search", + "medium", "translate", "maps", - "wikipedia", ]; autoRedirect = r.autoRedirect ?? false; @@ -112,6 +112,7 @@ let allPopupFrontends = [ "imgur", "reddit", "pixiv", + "spotify", "search", "translate", "maps", diff --git a/src/assets/javascripts/helpers/medium.js b/src/assets/javascripts/helpers/medium.js index 10d5664..4bd323c 100644 --- a/src/assets/javascripts/helpers/medium.js +++ b/src/assets/javascripts/helpers/medium.js @@ -176,7 +176,7 @@ async function init() { "mediumProtocol" ], r => { - disable = r.disableMedium ?? true; + disable = r.disableMedium ?? false; protocol = r.mediumProtocol ?? "normal"; diff --git a/src/assets/javascripts/helpers/spotify.js b/src/assets/javascripts/helpers/spotify.js new file mode 100644 index 0000000..249bb44 --- /dev/null +++ b/src/assets/javascripts/helpers/spotify.js @@ -0,0 +1,205 @@ +window.browser = window.browser || window.chrome; + +import commonHelper from './common.js' + +let targets = [ + /^https?:\/{2}(open\.|)spotify\.com/, +]; + +let redirects = { + "soju": { + "normal": [ + "https://playsoju.netlify.app", + ], + "tor": [] + } +} + +const getRedirects = () => redirects; +const getCustomRedirects = function () { + return { + "soju": { + "normal": [...sojuNormalRedirectsChecks, ...sojuNormalCustomRedirects] + }, + }; +}; + +function setRedirects(val) { + redirects.soju = val; + browser.storage.local.set({ spotifyTargetsRedirects: redirects }) + console.log("spotifyTargetsRedirects: ", val) + for (const item of sojuNormalRedirectsChecks) + if (!redirects.soju.normal.includes(item)) { + var index = sojuNormalRedirectsChecks.indexOf(item); + if (index !== -1) sojuNormalRedirectsChecks.splice(index, 1); + } + setSojuNormalRedirectsChecks(sojuNormalRedirectsChecks); + + for (const item of sojuTorRedirectsChecks) + if (!redirects.soju.normal.includes(item)) { + var index = sojuTorRedirectsChecks.indexOf(item); + if (index !== -1) sojuTorRedirectsChecks.splice(index, 1); + } + setSojuTorRedirectsChecks(sojuTorRedirectsChecks); +} + +let sojuNormalRedirectsChecks; +const getSojuNormalRedirectsChecks = () => sojuNormalRedirectsChecks; +function setSojuNormalRedirectsChecks(val) { + sojuNormalRedirectsChecks = val; + browser.storage.local.set({ sojuNormalRedirectsChecks }) + console.log("sojuNormalRedirectsChecks: ", val) +} + +let sojuTorRedirectsChecks; +const getSojuTorRedirectsChecks = () => sojuTorRedirectsChecks; +function setSojuTorRedirectsChecks(val) { + sojuTorRedirectsChecks = val; + browser.storage.local.set({ sojuTorRedirectsChecks }) + console.log("sojuTorRedirectsChecks: ", val) +} + +let sojuNormalCustomRedirects = []; +const getSojuNormalCustomRedirects = () => sojuNormalCustomRedirects; +function setSojuNormalCustomRedirects(val) { + sojuNormalCustomRedirects = val; + browser.storage.local.set({ sojuNormalCustomRedirects }) + console.log("sojuNormalCustomRedirects: ", val) +} + +let sojuTorCustomRedirects = []; +const getSojuTorCustomRedirects = () => sojuTorCustomRedirects; +function setSojuTorCustomRedirects(val) { + sojuTorCustomRedirects = val; + browser.storage.local.set({ sojuTorCustomRedirects }) + console.log("sojuTorCustomRedirects: ", val) +} + +let disable; +const getDisable = () => disable; +function setDisable(val) { + disable = val; + browser.storage.local.set({ disableSpotifyTargets: disable }) +} + +let protocol; +const getProtocol = () => protocol; +function setProtocol(val) { + protocol = val; + browser.storage.local.set({ spotifyTargetsProtocol: val }) + console.log("spotifyTargetsProtocol: ", val) +} + +function changeInstance(url) { + let protocolHost = `${url.protocol}//${url.host}`; + + let sojuList = [ + ...redirects.soju.normal, + ...redirects.soju.tor, + ...sojuNormalCustomRedirects, + ...sojuTorCustomRedirects, + ]; + + if (!sojuList.includes(protocolHost)) return; + + let instancesList; + if (protocol == 'normal') instancesList = [...sojuNormalRedirectsChecks, ...sojuNormalCustomRedirects]; + else if (protocol == 'tor') instancesList = [...sojuTorRedirectsChecks, ...sojuTorCustomRedirects]; + + console.log("instancesList", instancesList); + let index = instancesList.indexOf(protocolHost); + if (index > -1) instancesList.splice(index, 1); + + if (instancesList.length === 0) return null; + + let randomInstance = commonHelper.getRandomInstance(instancesList); + return `${randomInstance}${url.pathname}${url.search}`; +} + +function redirect(url, type, initiator) { + console.log("spotify redirect"); + if (disable) return null; + if (initiator && ([...redirects.soju.normal, ...sojuNormalCustomRedirects].includes(initiator.origin) || targets.includes(initiator.host))) return null; + if (!targets.some((rx) => rx.test(url.href))) return null; + + if (type != "main_frame") return null; + + let instancesList; + if (protocol == 'normal') instancesList = [...sojuNormalRedirectsChecks, ...sojuNormalCustomRedirects]; + if (protocol == 'tor') instancesList = [...sojuTorRedirectsChecks, ...sojuTorCustomRedirects]; + if (instancesList.length === 0) return null; + let randomInstance = commonHelper.getRandomInstance(instancesList); + + let query = ''; + if (url.pathname != '/') query = `/?s=${url.href}`; + + return `${randomInstance}${query}`; +} + +async function init() { + return new Promise( + resolve => { + fetch('/instances/data.json').then(response => response.text()).then(data => { + let dataJson = JSON.parse(data); + browser.storage.local.get( + [ + "disableSpotifyTargets", + "spotifyTargetsRedirects", + + "sojuNormalRedirectsChecks", + "sojuNormalCustomRedirects", + + "sojuTorRedirectsChecks", + "sojuTorCustomRedirects", + + "spotifyTargetsProtocol" + ], + r => { + + disable = r.disableSpotifyTargets ?? true; + + protocol = r.spotifyTargetsProtocol ?? "normal"; + + if (r.spotifyTargetsRedirects) redirects = r.spotifyTargetsRedirects; + + sojuNormalRedirectsChecks = r.sojuNormalRedirectsChecks ?? [...redirects.soju.normal]; + sojuNormalCustomRedirects = r.sojuNormalCustomRedirects ?? []; + + sojuTorRedirectsChecks = r.sojuTorRedirectsChecks ?? [...redirects.soju.tor]; + sojuTorCustomRedirects = r.sojuTorCustomRedirects ?? []; + + resolve(); + } + ) + }); + } + ); +} + +export default { + + getRedirects, + getCustomRedirects, + setRedirects, + + getDisable, + setDisable, + + getProtocol, + setProtocol, + + getSojuNormalRedirectsChecks, + setSojuNormalRedirectsChecks, + getSojuTorRedirectsChecks, + setSojuTorRedirectsChecks, + + getSojuTorCustomRedirects, + setSojuTorCustomRedirects, + getSojuNormalCustomRedirects, + setSojuNormalCustomRedirects, + + changeInstance, + + redirect, + init, +}; diff --git a/src/assets/javascripts/helpers/wikipedia.js b/src/assets/javascripts/helpers/wikipedia.js index da713a0..4294683 100644 --- a/src/assets/javascripts/helpers/wikipedia.js +++ b/src/assets/javascripts/helpers/wikipedia.js @@ -200,7 +200,7 @@ async function init() { "applyThemeToSites", ], r => { // r = result - disable = r.disableWikipedia ?? false; + disable = r.disableWikipedia ?? true; protocol = r.wikipediaProtocol ?? "normal"; diff --git a/src/pages/background/background.js b/src/pages/background/background.js index b9a4407..c6d8cf0 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -15,6 +15,7 @@ import pixivHelper from "../../assets/javascripts/helpers/pixiv.js"; import sendTargetsHelper from "../../assets/javascripts/helpers/sendTargets.js"; import peertubeHelper from "../../assets/javascripts/helpers/peertube.js"; import lbryHelper from "../../assets/javascripts/helpers/lbry.js"; +import spotifyHelper from "../../assets/javascripts/helpers/spotify.js"; import generalHelper from "../../assets/javascripts/helpers/general.js"; import youtubeMusicHelper from "../../assets/javascripts/helpers/youtubeMusic.js"; @@ -37,6 +38,7 @@ async function wholeInit() { await sendTargetsHelper.init(); await peertubeHelper.init(); await lbryHelper.init(); + await spotifyHelper.init(); await generalHelper.init(); } await wholeInit(); @@ -81,6 +83,8 @@ browser.webRequest.onBeforeRequest.addListener( if (!newUrl) newUrl = lbryHelper.redirect(url, details.type, initiator); + if (!newUrl) newUrl = spotifyHelper.redirect(url, details.type, initiator); + if (!newUrl) newUrl = translateHelper.redirect(url); if (!newUrl) newUrl = searchHelper.redirect(url) @@ -153,6 +157,8 @@ browser.webRequest.onResponseStarted.addListener( if (!newUrl) newUrl = lbryHelper.changeInstance(url); + if (!newUrl) newUrl = spotifyHelper.changeInstance(url); + if (newUrl) { browser.tabs.update({ url: '/pages/errors/instance_offline.html' }); setTimeout(() => browser.tabs.update({ url: newUrl }), 2000); diff --git a/src/pages/options/general/general.html b/src/pages/options/general/general.html index 7fa004e..98e9fca 100644 --- a/src/pages/options/general/general.html +++ b/src/pages/options/general/general.html @@ -51,6 +51,10 @@ Pixiv +
+ + Spotify +
Wikipedia @@ -258,6 +262,13 @@
+
+
+ + Spotify +
+ +
diff --git a/src/pages/options/imgur/imgur.html b/src/pages/options/imgur/imgur.html index 2519622..0eb50b9 100644 --- a/src/pages/options/imgur/imgur.html +++ b/src/pages/options/imgur/imgur.html @@ -12,6 +12,7 @@
diff --git a/src/pages/options/instagram/instagram.html b/src/pages/options/instagram/instagram.html index 9ff3b3d..fe01b38 100644 --- a/src/pages/options/instagram/instagram.html +++ b/src/pages/options/instagram/instagram.html @@ -53,6 +53,10 @@ Pixiv
+
+ + Spotify +
Wikipedia diff --git a/src/pages/options/lbry/lbry.html b/src/pages/options/lbry/lbry.html index c1fddf3..c17a64b 100644 --- a/src/pages/options/lbry/lbry.html +++ b/src/pages/options/lbry/lbry.html @@ -52,6 +52,10 @@ Pixiv
+
+ + Spotify +
Wikipedia diff --git a/src/pages/options/maps/maps.html b/src/pages/options/maps/maps.html index 0427214..d175e3b 100644 --- a/src/pages/options/maps/maps.html +++ b/src/pages/options/maps/maps.html @@ -13,6 +13,7 @@
diff --git a/src/pages/options/medium/medium.html b/src/pages/options/medium/medium.html index 6b69bdc..6332f73 100644 --- a/src/pages/options/medium/medium.html +++ b/src/pages/options/medium/medium.html @@ -12,6 +12,7 @@
diff --git a/src/pages/options/peertube/peertube.html b/src/pages/options/peertube/peertube.html index 1ef835f..2e61a1a 100644 --- a/src/pages/options/peertube/peertube.html +++ b/src/pages/options/peertube/peertube.html @@ -11,6 +11,7 @@ +
diff --git a/src/pages/options/pixiv/pixiv.html b/src/pages/options/pixiv/pixiv.html index a66c5d2..241c327 100644 --- a/src/pages/options/pixiv/pixiv.html +++ b/src/pages/options/pixiv/pixiv.html @@ -12,6 +12,7 @@
diff --git a/src/pages/options/reddit/reddit.html b/src/pages/options/reddit/reddit.html index 97f5093..a9c0b9b 100644 --- a/src/pages/options/reddit/reddit.html +++ b/src/pages/options/reddit/reddit.html @@ -12,6 +12,7 @@ diff --git a/src/pages/options/search/search.html b/src/pages/options/search/search.html index 6683c29..3539dbe 100644 --- a/src/pages/options/search/search.html +++ b/src/pages/options/search/search.html @@ -12,6 +12,7 @@
diff --git a/src/pages/options/sendTargets/sendTargets.html b/src/pages/options/sendTargets/sendTargets.html index 983db90..76a794a 100644 --- a/src/pages/options/sendTargets/sendTargets.html +++ b/src/pages/options/sendTargets/sendTargets.html @@ -52,6 +52,10 @@ Pixiv
+
+ + Spotify +
Wikipedia diff --git a/src/pages/options/spotify/spotify.html b/src/pages/options/spotify/spotify.html new file mode 100644 index 0000000..9bf08ef --- /dev/null +++ b/src/pages/options/spotify/spotify.html @@ -0,0 +1,198 @@ + + + + + + + + + + LibRedirect Options: TikTok + + + + + +
+
+

Enable

+ +
+ +
+

Protocol

+ +
+ +
+ +
+
+

Default Instances

+
+
+
+
+

Custom Instances

+
+
+
+ + +
+
+
+
+
+
+

Default Instances

+
+
+
+
+

Custom Instances

+
+
+
+ + +
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/pages/options/spotify/spotify.js b/src/pages/options/spotify/spotify.js new file mode 100644 index 0000000..1bd078c --- /dev/null +++ b/src/pages/options/spotify/spotify.js @@ -0,0 +1,59 @@ +import spotifyHelper from "../../../assets/javascripts/helpers/spotify.js"; +import commonHelper from "../../../assets/javascripts/helpers/common.js"; + +let disableSpotifyElement = document.getElementById("disable-spotify"); +disableSpotifyElement.addEventListener("change", + (event) => spotifyHelper.setDisable(!event.target.checked) +); + +let protocolElement = document.getElementById("protocol") +protocolElement.addEventListener("change", + (event) => { + let protocol = event.target.options[protocolElement.selectedIndex].value + spotifyHelper.setProtocol(protocol); + changeProtocolSettings(protocol); + } +); + +function changeProtocolSettings(protocol) { + let normalDiv = document.getElementById("normal"); + let torDiv = document.getElementById("tor"); + if (protocol == 'normal') { + normalDiv.style.display = 'block'; + torDiv.style.display = 'none'; + } + else if (protocol == 'tor') { + normalDiv.style.display = 'none'; + torDiv.style.display = 'block'; + } +} + +spotifyHelper.init().then(() => { + disableSpotifyElement.checked = !spotifyHelper.getDisable(); + + let protocol = spotifyHelper.getProtocol(); + protocolElement.value = protocol; + changeProtocolSettings(protocol); + + commonHelper.processDefaultCustomInstances( + 'soju', + 'normal', + spotifyHelper, + document, + spotifyHelper.getSojuNormalRedirectsChecks, + spotifyHelper.setSojuNormalRedirectsChecks, + spotifyHelper.getSojuNormalCustomRedirects, + spotifyHelper.setSojuNormalCustomRedirects + ); + + commonHelper.processDefaultCustomInstances( + 'soju', + 'tor', + spotifyHelper, + document, + spotifyHelper.getSojuTorRedirectsChecks, + spotifyHelper.setSojuTorRedirectsChecks, + spotifyHelper.getSojuTorCustomRedirects, + spotifyHelper.setSojuTorCustomRedirects + ) +}) \ No newline at end of file diff --git a/src/pages/options/tiktok/tiktok.html b/src/pages/options/tiktok/tiktok.html index 4f82cec..16e62a3 100644 --- a/src/pages/options/tiktok/tiktok.html +++ b/src/pages/options/tiktok/tiktok.html @@ -12,6 +12,7 @@
diff --git a/src/pages/options/translate/translate.html b/src/pages/options/translate/translate.html index 34b2ebe..37a2f2f 100644 --- a/src/pages/options/translate/translate.html +++ b/src/pages/options/translate/translate.html @@ -12,6 +12,7 @@
+
@@ -81,6 +100,7 @@ Search
+
@@ -89,6 +109,7 @@ Translate
+ + +
diff --git a/src/pages/options/twitter/twitter.html b/src/pages/options/twitter/twitter.html index 9e4a5d4..33e1d5c 100644 --- a/src/pages/options/twitter/twitter.html +++ b/src/pages/options/twitter/twitter.html @@ -13,6 +13,7 @@
+
@@ -82,6 +101,7 @@ Search
+
@@ -90,6 +110,7 @@ Translate
+ + +
diff --git a/src/pages/options/wikipedia/wikipedia.html b/src/pages/options/wikipedia/wikipedia.html index 1c12ea1..be8bd5a 100644 --- a/src/pages/options/wikipedia/wikipedia.html +++ b/src/pages/options/wikipedia/wikipedia.html @@ -52,6 +52,10 @@ Pixiv
+
+ + Spotify +
Wikipedia @@ -72,7 +76,7 @@ +
diff --git a/src/pages/options/youtube/youtube.html b/src/pages/options/youtube/youtube.html index 6146171..ce19aa6 100644 --- a/src/pages/options/youtube/youtube.html +++ b/src/pages/options/youtube/youtube.html @@ -53,6 +53,10 @@ Pixiv
+
+ + Spotify +
Wikipedia diff --git a/src/pages/options/youtubeMusic/youtubeMusic.html b/src/pages/options/youtubeMusic/youtubeMusic.html index ca90dcc..ffa3cca 100644 --- a/src/pages/options/youtubeMusic/youtubeMusic.html +++ b/src/pages/options/youtubeMusic/youtubeMusic.html @@ -53,6 +53,10 @@ Pixiv
+
+ + Spotify +
Wikipedia @@ -73,7 +77,7 @@ +
diff --git a/src/pages/popup/popup.html b/src/pages/popup/popup.html index 419c959..365de1d 100644 --- a/src/pages/popup/popup.html +++ b/src/pages/popup/popup.html @@ -77,6 +77,14 @@
+ + -