From 326ee2a5dc669d6953ce55da873ed7bfdf2a1f4a Mon Sep 17 00:00:00 2001 From: Kamen Mladenov Date: Sun, 10 Apr 2022 06:37:26 +0000 Subject: Added YouTube to YewTube smart redirector script --- youtube-yewtube-smart-redirector.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 youtube-yewtube-smart-redirector.js diff --git a/youtube-yewtube-smart-redirector.js b/youtube-yewtube-smart-redirector.js new file mode 100644 index 0000000..7a40562 --- /dev/null +++ b/youtube-yewtube-smart-redirector.js @@ -0,0 +1,29 @@ +// ==UserScript== +// @name YouTube to YewTube smart redirector +// @description When opening YouTube videos, redirect to an Invidious instance, but when going back from instance, don't redirect again +// @version 1.0 +// @namespace Syndamia +// @author Kamen Mladenov +// @match *://www.youtube.com/* +// @run-at document-end +// ==/UserScript== + +function redirect() { + const latest = localStorage.getItem('LATEST'), loc = window.location.search.substr(3); + + if (latest && loc !== latest) { + localStorage.removeItem(latest); + localStorage.removeItem('LATEST'); + } + + if (window.location.pathname === '/' || localStorage.getItem(loc) === 'true') { + return; + } + + localStorage.setItem(loc, true); + localStorage.setItem('LATEST', loc); + window.location.host = "yewtu.be"; +} + +const observer = new MutationObserver(redirect); +observer.observe(document.getElementsByTagName('ytd-app')[0], { childList: true, attributes: true, subtree: true, }); -- cgit v1.3.1-23-gd82d