diff options
1 files changed, 29 insertions, 0 deletions
| -rw-r--r-- | youtube-yewtube-smart-redirector.js | 29 |
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, }); |
