NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name YouTube Converter
// @description Youtube Converter to MP3 & MP4.
// @icon https://www.rcyoutube.com/userscript/icon.png
//
// @author Addon Developer
// @namespace https://www.rcyoutube.com/
// @downloadURL https://www.rcyoutube.com/userscript/rcyoutube.user.js
//
// @license MIT
// @copyright 2020, Addon Developer
//
// @include http://www.youtube.com/*
// @include https://www.youtube.com/*
//
// @version 1.0
// @updateURL https://www.rcyoutube.com/userscript/rcyoutube.user.js
//
// @run-at document-end
// @unwrap
// ==/UserScript==
var rcy_button_onclick = function (){
var path ='https://www.rcyoutube.com/convert?v='+encodeURIComponent(window.location);
window.open(path,'_blank');
};
var getSpan = function(text, className) {
var _tn = document.createTextNode(text);
var span = document.createElement("span");
span.className = className;
span.appendChild(_tn);
return span;
};
var myAppInterface = {
init:function(){
this.insertGlobalCSS()
},
addGlobalStyle: function(doc, css) {
if(document.querySelector('.rcyoutube-css'))return;
var head = doc.getElementsByTagName('head')[0];
if (!head) {return; }
var style = doc.createElement('style');
style.id = 'rcyoutube-css';
style.type = 'text/css';
if (style.styleSheet) {
style.styleSheet.cssText = css;
} else {
style.appendChild(document.createTextNode(css));
}
head.appendChild(style);
},
insertGlobalCSS: function(){
var css = function (){
/*start
#rcyoutube.youtube-watch{padding-top:10px;overflow: auto;border-bottom: 1px solid #2b3e50;padding-bottom: 10px;}
#rcyoutube .rcy_button{background-color: #2b3e50;border: #2b3e50;border-radius: 2px;color: #df691a;padding: 10px 16px; font-size: 1.4em;cursor:pointer;display:inline-block}
@media (min-width: 657px){youtube-watch[theater] #rcyoutube.youtube-watch{margin-right:24px}}
end*/
}.toString().replace("/*start",'').replace("end*/",'').slice(14,-1);
this.addGlobalStyle(document, css);
},
}
var createButton = function() {
var obj = document.querySelector('#primary-inner>#info');
if(obj != null){
// check if the button has already been created
var btnRow = document.getElementById('rcyoutube');
if(btnRow == null){
myAppInterface.init()
var rcyoutube = document.createElement("div");
rcyoutube.id = "rcyoutube";
rcyoutube.className = "style-scope youtube-watch";
var rcy_button = document.createElement("div");
rcy_button.className = "style-scope rcy_button";
rcy_button.appendChild(getSpan("Convert to MP3 & MP4"))
rcy_button.onclick = rcy_button_onclick;
obj.parentNode.insertBefore(rcyoutube, obj);
rcyoutube.appendChild(rcy_button);
}
}
};
var intervalCheck = setInterval(function(){ createButton() }, 250);