Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commit326ee2a5dc669d6953ce55da873ed7bfdf2a1f4a (patch)
Author
 Kamen Mladenov <kamen.d.mladenov@protonmail.com>
2022-04-10 06:37:26 +0000
Committer
 Kamen Mladenov <kamen.d.mladenov@protonmail.com>
2022-04-10 06:37:26 +0000
Files712e424214138d88770f74da80e13486d78738d6
userscripts-326ee2a5dc669d6953ce55da873ed7bfdf2a1f4a.tar
userscripts-326ee2a5dc669d6953ce55da873ed7bfdf2a1f4a.tar.gz
userscripts-326ee2a5dc669d6953ce55da873ed7bfdf2a1f4a.zip
Parent92e16aff09b7666ace7eafba268a711b1bf07964 (diff)
Added YouTube to YewTube smart redirector script
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, });