Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
1 files changed, 29 insertions, 0 deletions
-rw-r--r--youtube-yewtube-smart-redirector.js29
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, });