From abcd566305d0ede82bf81c4809fd59ea7c67591c Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Mon, 20 May 2024 14:34:18 +0300 Subject: [PATCH] Removed ?si= from youtube frontends https://github.com/libredirect/browser_extension/issues/922 --- src/assets/javascripts/services.js | 11 +++++++++++ src/pages/background/background.js | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js index b78cbb99..4f9fdac1 100644 --- a/src/assets/javascripts/services.js +++ b/src/assets/javascripts/services.js @@ -81,12 +81,16 @@ function rewrite(url, frontend, randomInstance) { case "librey": return `${randomInstance}/search.php${url.search}` case "yattee": + url.searchParams.delete("si") return url.href.replace(/^https?:\/{2}/, "yattee://") case "freetube": + url.searchParams.delete("si") return 'freetube://' + url.href case "freetubePwa": + url.searchParams.delete("si") return 'freetube://' + url.href case "poketube": { + url.searchParams.delete("si") if (url.pathname.startsWith('/channel')) { const reg = /\/channel\/(.*)\/?$/.exec(url.pathname) if (reg) { @@ -383,6 +387,7 @@ function rewrite(url, frontend, randomInstance) { return `${randomInstance}${url.pathname}${url.search}` } case "invidious": { + url.searchParams.delete("si") if (url.hostname == "youtu.be" || url.hostname.endsWith("youtube.com") && url.pathname.startsWith("/live")) { const watch = url.pathname.substring(url.pathname.lastIndexOf('/') + 1) return `${randomInstance}/watch?v=${watch}${url.search.replace("?", "&")}` @@ -407,6 +412,7 @@ function rewrite(url, frontend, randomInstance) { return `${randomInstance}${url.pathname}${url.search}` } case "tuboYoutube": + url.searchParams.delete("si") if (url.pathname.startsWith("/channel")) return `${randomInstance}/channel?url=${encodeURIComponent(url.href)}` if (url.pathname.startsWith("/watch")) return `${randomInstance}/stream?url=${encodeURIComponent(url.href)}` return randomInstance @@ -442,6 +448,11 @@ function rewrite(url, frontend, randomInstance) { } return `${randomInstance}${url.pathname}${url.search}`; } + case "piped": + case "pipedMaterial": + case "cloudtube": + case "viewtube": + url.searchParams.delete("si") default: return `${randomInstance}${url.pathname}${url.search}` } diff --git a/src/pages/background/background.js b/src/pages/background/background.js index 3df43b52..0754f8a5 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -32,6 +32,7 @@ let tabIdRedirects = {} browser.webRequest.onBeforeRequest.addListener( details => { const url = new URL(details.url) + const old_href = url.href if (new RegExp(/^chrome-extension:\/{2}.*\/instances\/.*.json$/).test(url.href) && details.type == "xmlhttprequest") return let initiator try { @@ -71,7 +72,7 @@ browser.webRequest.onBeforeRequest.addListener( if (tabIdRedirects[details.tabId] != false) tabIdRedirects[details.tabId] = false return null } - console.log("Redirecting", url.href, "=>", newUrl) + console.log("Redirecting", old_href, "=>", newUrl) return { redirectUrl: newUrl } } return null