NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name yt2invidious
// @description Easily jump from yt to invidio.
// @updateURL https://openuserjs.org/meta/marcowahl/yt2invidious.meta.js
// @downloadURL https://openuserjs.org/install/marcowahl/yt2invidious.user.js
// @copyright 2019-2021, marcowahl (https://openuserjs.org/users/marcowahl)
// @version 2.0.2
// @include *youtube.com*
// @grant none
// @author Marco Wahl
// @namespace https://gitlab.com/marcowahl/yt2invidious
// @licence GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt
// @homepageURL https://gitlab.com/marcowahl/yt2invidious
// @icon https://youtube.com/favicon.ico
// ==/UserScript==
function invidio_url() {
const this_url = window.location.href
const index_of_watch = this_url.indexOf("watch")
let watch_spec = this_url.slice(index_of_watch)
const index_of_ampersand = watch_spec.indexOf("&")
if (-1 < index_of_ampersand)
watch_spec = watch_spec.slice(0, index_of_ampersand)
return "https://yewtu.be/" + watch_spec
// https://yewtu.be/ 20200904: looks good.
// https://invidiou.site/ 20200904: no videos.
}
const element = document.createElement("button")
element.innerHTML = "invidious"
element.style.left = "0px"
element.style.top = "0px"
element.style.position = "fixed"
element.style.background = "orange"
element.style.zIndex = 99999
element.onclick = function () {
window.location = invidio_url()
}
document.body.appendChild(element)
document.onfullscreenchange = function (event) {
if (document.fullscreenElement) {
document.body.removeChild(element)
}
else {
document.body.appendChild(element)
}
}
// {{{ changelog :
// [2021-07-14 Wed] Homepage url points directly to repo. Update (c)
// year.
// [2020-09-04 Fri] 2.0.2 Switch to yewtu.be since invidiou.site did
// not provide any video.
// [2020-09-01 Tue] 2.0.0 invidio.us has closed down. Looks like
// invidiou.site is an alternative. Using this url.
// [2020-02-14 Fri] 1.2.0 No button when fullscreen. (Thanks and all
// credits to infeeeee@gitlab.)
// [2020-02-07 Fri] 1.1.2 Fix cut off further parameters in the url.
// [2020-01-12 Sun] 1.1.1 Rollback to button since the link remains
// when switching to other videos. I.e. the link does not follow the
// current video.
// [2020-01-12 Sun] 1.1.0 A simple link leads to invidious. This
// replaces the former button. This allows using the "open in new
// tab" feature.
// }}}
// {{{ contact :
// Post at https://openuserjs.org/scripts/marcowahl/yt2invidious/issues.
// Request a pull at https://gitlab.com/marcowahl/yt2invidious.
// }}}