Fixed url params not applying #44

This commit is contained in:
ManeraKai 2022-02-19 13:04:10 +03:00
parent 07cd02d356
commit 83db3d13ad
No known key found for this signature in database
GPG Key ID: 5ABC31FFD562E337
2 changed files with 75 additions and 15 deletions

View File

@ -276,15 +276,6 @@ function redirect(url, type) {
if (instancesList.length === 0) return null;
let randomInstance = commonHelper.getRandomInstance(instancesList);
if (!url.searchParams.has("dark_mode")) if (theme != "DEFAULT") url.searchParams.append("dark_mode", theme);
if (!url.searchParams.has("volume")) if (volume != "--") url.searchParams.append("volume", volume);
if (!url.searchParams.has("autoplay")) if (autoplay != "DEFAULT") url.searchParams.append("autoplay", autoplay);
if (!url.searchParams.has("local")) if (invidiousAlwaysProxy != "DEFAULT") url.searchParams.append("local", invidiousAlwaysProxy);
if (!url.searchParams.has("quality")) if (invidiousVideoQuality != "DEFAULT") url.searchParams.append("quality", invidiousVideoQuality);
if (!url.searchParams.has("player_style")) if (invidiousPlayerStyle != "DEFAULT") url.searchParams.append("player_style", invidiousPlayerStyle);
if (!url.searchParams.has("subtitles")) if (invidiousSubtitles.trim() != '') url.searchParams.append("subtitles", invidiousSubtitles);
return `${randomInstance}${url.pathname.replace("/shorts/", "/watch?v=")}${url.search}`;
} else if (frontend == 'piped' || (frontend == 'freetube' && freetubeFrontend == 'piped' && type === "sub_frame")) {
@ -299,17 +290,81 @@ function redirect(url, type) {
if (instancesList.length === 0) return null;
let randomInstance = commonHelper.getRandomInstance(instancesList);
if (!url.searchParams.has("theme")) if (theme != "DEFAULT") url.searchParams.append("theme", theme);
if (!url.searchParams.has("volume")) if (volume != "--") url.searchParams.append("volume", volume / 100);
if (!url.searchParams.has("playerAutoPlay")) if (autoplay != "DEFAULT") url.searchParams.append("playerAutoPlay", autoplay);
return `${randomInstance}${url.pathname.replace("/shorts/", "/watch?v=")}${url.search}`;
}
console.log(freetubeFrontend)
console.log(type)
return 'CANCEL';
}
function isPipedorInvidious(url, type) {
let protocolHost = `${url.protocol}//${url.host}`;
return (type === "main_frame" || type === "sub_frame") && [...redirects.invidious.normal, ...redirects.piped.normal].includes(protocolHost);
}
function addUrlParams(url) {
let protocolHost = `${url.protocol}//${url.host}`;
let isChanged = false;
console.log("protocolHost", protocolHost)
if (redirects.invidious.normal.includes(protocolHost)) {
if (!url.searchParams.has("dark_mode") && theme != "DEFAULT") {
url.searchParams.append("dark_mode", theme);
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.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 invidiousInitCookies(tabId) {
browser.tabs.executeScript(
tabId,
@ -393,6 +448,9 @@ export default {
redirect,
isYoutube,
isPipedorInvidious,
addUrlParams,
getDisable,
setDisable,

View File

@ -69,6 +69,8 @@ browser.webRequest.onBeforeRequest.addListener(
else if (wikipediaHelper.isWikipedia(url, initiator)) newUrl = wikipediaHelper.redirect(url);
if (youtubeHelper.isPipedorInvidious(newUrl ?? url, details.type)) newUrl = youtubeHelper.addUrlParams(newUrl ?? url);
if (newUrl) {
if (newUrl == 'CANCEL') {
console.log(`Canceled ${url}`);