// ==UserScript== // @name YouTube Download // @namespace http://your.homepage/ // @version 4.5.2 // @description On youtube click the download link to download youtube video. // @author Henry Harris // @match https://www.youtube.com/* // @match http://9xbuddy.com/* // @grant none // @require http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js // @run-at document-end // @downloadURL none // ==/UserScript== $(document).ready ( function(){ // -----------------------Runs on YOUTUBE-------------------------------------------------------------- var beforestop = false; var ThumbPRun = 0; var ThumbCurUrl; var WasPlaying; setInterval(function(){ if(window.location.href.indexOf("you") > -1) { if ($('#container').length > 0) { if ($('#downloadlnk').length > 0) { } else { if ($('.html5-player-chrome').length > 0) { if ($('#vidctrls').length > 0) { } else{ document.querySelector('div.html5-player-chrome').id = 'vidctrls'; var c = document.createElement('img'); c.src = "http://upload.wikimedia.org/wikipedia/commons/thumb/c/ca/Egypt_governorates_blank.png/597px-Egypt_governorates_blank.png"; c.height = "30"; c.width = "10"; var b = document.createElement('img'); b.src = "http://images.clipartpanda.com/square-clip-art-black-and-white-0999d59a768fa638a6f16f4a44299e29.png"; b.height = "30"; b.width = "30"; b.title = "Download this video"; b.onclick = function () { window.open("http://9xbuddy.com/download?url=" + document.URL); }; document.getElementById("vidctrls").appendChild(c); document.getElementById("vidctrls").appendChild(b); } } else { var downdiv = document.createElement("div"); downdiv.id = "downdiv"; var a = document.createElement('a'); var linkText = document.createTextNode("Download"); a.appendChild(linkText); a.id = "downloadlnk"; a.title = "Download this video"; a.onclick = function () { window.open("http://9xbuddy.com/download?url=" + document.URL); }; var br3 = document.createElement('br'); document.getElementsByClassName("style-scope ytd-video-primary-info-renderer")[0].appendChild(br3); var br4 = document.createElement('br'); document.getElementsByClassName("style-scope ytd-video-primary-info-renderer")[0].appendChild(br4); var setimg = document.createElement('img'); setimg.width = 27; setimg.length = 27; setimg.src = "http://pngimages.net/sites/default/files/gear-logo-png-image-100818.png"; var dwnimg = document.createElement('img'); dwnimg.width = 27; dwnimg.length = 27; dwnimg.src = "http://www.clipartbest.com/cliparts/bTy/EX8/bTyEX8prc.png"; var d = document.createElement('a'); var linkText = document.createTextNode("Options"); d.appendChild(linkText); d.id = "optionlnk"; d.title = "Options"; d.onclick = function () { var e = document.body; e.parentNode.removeChild(e); var body = document.createElement('body'); document.getElementsByTagName('html')[0].appendChild(body); var chk1 = document.createElement('input'); chk1.type = "checkbox"; chk1.id = "chk1"; document.getElementsByTagName('body')[0].appendChild(chk1); var label1 = document.createElement('label'); //labe1l.htmlFor = "chk1"; label1.appendChild(document.createTextNode('Auto HD + remove video ads')); document.getElementsByTagName('body')[0].appendChild(label1); var br = document.createElement('br'); document.getElementsByTagName('body')[0].appendChild(br); var chk2 = document.createElement('input'); chk2.type = "checkbox"; chk2.id = "chk2"; document.getElementsByTagName('body')[0].appendChild(chk2); var label2 = document.createElement('label'); //labe12.htmlFor = "chk2"; label2.appendChild(document.createTextNode('Loop videos')); document.getElementsByTagName('body')[0].appendChild(label2); var br4 = document.createElement('br'); document.getElementsByTagName('body')[0].appendChild(br4); var chk3 = document.createElement('input'); chk3.type = "checkbox"; chk3.id = "chk3"; document.getElementsByTagName('body')[0].appendChild(chk3); var label3 = document.createElement('label'); //labe13.htmlFor = "chk2"; label3.appendChild(document.createTextNode('Force Flash')); document.getElementsByTagName('body')[0].appendChild(label3); var br5 = document.createElement('br'); document.getElementsByTagName('body')[0].appendChild(br5); var chk4 = document.createElement('input'); chk4.type = "checkbox"; chk4.id = "chk4"; document.getElementsByTagName('body')[0].appendChild(chk4); var label4 = document.createElement('label'); //labe1l.htmlFor = "chk1"; label4.appendChild(document.createTextNode('Auto-Buffer')); document.getElementsByTagName('body')[0].appendChild(label4); var br3 = document.createElement('br'); document.getElementsByTagName('body')[0].appendChild(br3); var chk5 = document.createElement('input'); chk5.type = "checkbox"; chk5.id = "chk5"; document.getElementsByTagName('body')[0].appendChild(chk5); var label5 = document.createElement('label'); //labe13.htmlFor = "chk2"; label5.appendChild(document.createTextNode('Thumbnail Previews')); document.getElementsByTagName('body')[0].appendChild(label5); var br6 = document.createElement('br'); document.getElementsByTagName('body')[0].appendChild(br6); var br2 = document.createElement('br'); document.getElementsByTagName('body')[0].appendChild(br2); var appbtn = document.createElement('input'); appbtn.type = "button"; appbtn.value = "Apply"; appbtn.onclick = function () { if (chk1.checked === true) { document.cookie = 'autohd=test; expires=Fri, 3 Aug 2050 20:47:11 UTC; path=/'; } else { document.cookie = 'autohd=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/'; } if (chk2.checked === true) { document.cookie = 'loop=test; expires=Fri, 3 Aug 2050 20:47:11 UTC; path=/'; } else { document.cookie = 'loop=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/'; } if (chk3.checked == true) { document.cookie = 'oldplyr=test; expires=Fri, 3 Aug 2050 20:47:11 UTC; path=/'; } else { document.cookie = 'oldplyr=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/'; } if (chk3.checked === true && chk1.checked === true) { alert("Auto-HD and Old Player are incompatible, please disable one of them."); } else { location.reload(); } if (chk4.checked == true) { document.cookie = 'abuff=test; expires=Fri, 3 Aug 2050 20:47:11 UTC; path=/'; } else { document.cookie = 'abuff=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/'; } if (chk5.checked == true) { document.cookie = 'ThumbP=test; expires=Fri, 3 Aug 2050 20:47:11 UTC; path=/'; } else { document.cookie = 'ThumbP=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/'; } }; document.getElementsByTagName('body')[0].appendChild(appbtn); if (document.cookie.indexOf('autohd=')== -1) { chk1.checked = false; } else { chk1.checked = true; } if (document.cookie.indexOf('loop=')== -1) { chk2.checked = false; } else { chk2.checked = true; } if (document.cookie.indexOf('oldplyr=')== -1) { chk3.checked = false; } else { chk3.checked = true; } if (document.cookie.indexOf('abuff=')== -1) { chk4.checked = false; } else { chk4.checked = true; } if (document.cookie.indexOf('ThumbP=')== -1) { chk5.checked = false; } else { chk5.checked = true; } }; //document.body.appendChild(a); document.getElementsByClassName("style-scope ytd-video-primary-info-renderer")[0].appendChild(downdiv); console.log("TEST: " + document.getElementsByClassName("style-scope ytd-video-primary-info-renderer")[0]); document.getElementById("downdiv").appendChild(dwnimg); document.getElementById("downdiv").appendChild(a); document.getElementById("downdiv").appendChild(br3); document.getElementById("downdiv").appendChild(br4); document.getElementById("downdiv").appendChild(setimg); document.getElementById("downdiv").appendChild(d); document.getElementById("downloadlnk").style.fontSize = "x-large"; document.getElementById("optionlnk").style.fontSize = "x-large"; document.getElementById("downloadlnk").style.cursor = "pointer"; document.getElementById("optionlnk").style.cursor = "pointer"; var br1 = document.createElement('br'); document.getElementsByClassName("style-scope ytd-video-primary-info-renderer")[0].appendChild(br1); var br2 = document.createElement('br'); document.getElementsByClassName("style-scope ytd-video-primary-info-renderer")[0].appendChild(br2); } } } } if (document.cookie.indexOf('autohd=')== -1) { //no cookie } else { if (beforestop == false) { var myNode = document.getElementById("movie_player"); while (myNode.firstChild) { myNode.removeChild(myNode.firstChild); beforestop = true; } var url = document.URL; url = url.substring(0, url.length - 8); var vidid = url.substring(url.indexOf('=')+1); var player = document.createElement('iframe'); player.id = "player1"; player.width = "1920"; player.height = "1080"; player.src = "https://www.youtube.com/embed/" + vidid + "?rel=0&autoplay=1&VQ=HD720"; player.frameborder = "0"; document.getElementById("movie_player").appendChild(player); document.getElementById("player1").setAttribute("allowfullscreen", "true"); setTimeout(function(){ document.getElementById("player1").width = "855"; document.getElementById("player1").height = "480"; }, 15000); } var url = document.URL; var idtest = url.substring(url.indexOf('=')+1); if (idtest === vidid){ } else { } } if (document.URL.indexOf('watch?v=') > -1) { if (document.cookie.indexOf('oldplyr=')== -1) { if (document.URL.indexOf("&nohtml5=1") > -1) { var strpos = document.URL.indexOf("&nohtml5=1"); //strpos = strpos + 9; var nurl = ""; for (i = 0; i <= document.URL.length; i++) { if (i >= strpos && i <= strpos + 9) { //delete by ignoring } else { nurl = nurl + document.URL.charAt(i); } } window.location.assign(nurl); console.log(nurl); } } else { if (document.URL.indexOf("&nohtml5=1") > -1) { } else { window.location.assign(document.URL + "&nohtml5=1"); } } } }, 2000); setInterval(function(){ if (document.cookie.indexOf('autohd=')== -1) { } else { if(window.location.href.indexOf("you") > -1) { if(window.location.href.indexOf("embed") > -1) { } else { if(window.location.href.indexOf("reldone") > -1) { } else { window.location.assign(document.URL + "#reldone"); location.reload(); } } } } }, 4000); //ThumbP Code setInterval(function(){ if (document.cookie.indexOf('ThumbP=')== -1) { } else { if(window.location.href.indexOf("you") > -1) { if(window.location.href.indexOf("watch") > -1) { //video pages if (document.getElementsByClassName("yt-uix-simple-thumb-wrap yt-uix-simple-thumb-related").length == ThumbPRun) { } else { var vwidth = document.getElementsByClassName("yt-uix-simple-thumb-wrap yt-uix-simple-thumb-related")[ThumbPRun].children[0].width; var vheight = document.getElementsByClassName("yt-uix-simple-thumb-wrap yt-uix-simple-thumb-related")[ThumbPRun].childNodes[0].height; //document.getElementsByClassName("yt-thumb-simple")[ThumbPRun].removeChild(document.getElementsByClassName("yt-thumb-simple")[ThumbPRun].children[0]); -delete thumbnail image (old) var Tvid = document.createElement("iframe"); Tvid.src = "https://www.youtube.com/embed/" + document.getElementsByClassName("yt-uix-simple-thumb-wrap yt-uix-simple-thumb-related")[ThumbPRun].parentNode.href.split('=')[1] + "?controls=0&iv_load_policy=3&autoplay=1&showinfo=0&vq=small#ThumbP"; Tvid.width = vwidth; Tvid.height = vheight; Tvid.style.display = "none"; document.getElementsByClassName("yt-uix-simple-thumb-wrap yt-uix-simple-thumb-related")[ThumbPRun].appendChild(Tvid); document.getElementsByClassName("yt-uix-simple-thumb-wrap yt-uix-simple-thumb-related")[ThumbPRun].onmouseout=function(){ this.children[0].style.display = "inline"; this.children[1].style.display = "none"; if (WasPlaying === true) { document.getElementsByClassName("video-stream html5-main-video")[0].play(); WasPlaying = false; } }; document.getElementsByClassName("yt-uix-simple-thumb-wrap yt-uix-simple-thumb-related")[ThumbPRun].onmouseover=function(){ this.children[0].style.display = "none"; this.children[1].style.display = "inline"; if (document.getElementsByClassName("video-stream html5-main-video")[0].paused === false) { WasPlaying = true; document.getElementsByClassName("video-stream html5-main-video")[0].pause(); } }; ThumbPRun = ThumbPRun + 1 } } else { // other pages if (document.getElementsByClassName("yt-thumb-simple").length == ThumbPRun) { } else { var vwidth = document.getElementsByClassName("yt-thumb-simple")[ThumbPRun].children[0].width; var vheight = document.getElementsByClassName("yt-thumb-simple")[ThumbPRun].childNodes[0].height; //document.getElementsByClassName("yt-thumb-simple")[ThumbPRun].removeChild(document.getElementsByClassName("yt-thumb-simple")[ThumbPRun].children[0]); -delete thumbnail image (old) var Tvid = document.createElement("iframe"); Tvid.src = "https://www.youtube.com/embed/" + document.getElementsByClassName("yt-thumb-simple")[ThumbPRun].parentNode.parentNode.href.split('=')[1] + "?controls=0&iv_load_policy=3&autoplay=1&showinfo=0&vq=small#ThumbP"; Tvid.width = vwidth; Tvid.height = vheight; Tvid.style.display = "none"; document.getElementsByClassName("yt-thumb-simple")[ThumbPRun].appendChild(Tvid); document.getElementsByClassName("yt-thumb-simple")[ThumbPRun].onmouseout=function(){ this.children[0].style.display = "inline"; this.children[1].style.display = "none"; }; document.getElementsByClassName("yt-thumb-simple")[ThumbPRun].onmouseover=function(){ this.children[0].style.display = "none"; this.children[1].style.display = "inline"; }; ThumbPRun = ThumbPRun + 1 } } } } }, 500); setInterval(function(){ if (document.cookie.indexOf('ThumbP=')== -1) { } else { if(window.location.href.indexOf("embed") > -1) { } else { if (ThumbCurUrl == document.URL) { } else { ThumbPRun = 0; ThumbCurUrl = document.URL; } } if(window.location.href.indexOf("ThumbP") > -1) { if(window.location.href.indexOf("embed") > -1) { if ($('#player:hover').length != 0) { document.getElementsByClassName("video-stream html5-main-video")[0].play(); } else { document.getElementsByClassName("video-stream html5-main-video")[0].pause(); } } else { } } } }, 200); setInterval(function(){ if (window.location.href.indexOf("watch") > -1){ if (document.cookie.indexOf('loop=')== -1){ } else { var curtime = document.getElementsByClassName('ytp-time-current')[0].innerHTML; var endtime = document.getElementsByClassName('ytp-time-duration')[0].innerHTML; if (curtime === endtime){ document.getElementsByClassName("ytp-play-button ytp-button")[0].click(); } } } }, 1000); setInterval(function(){ if (window.location.href.indexOf("embed") > -1){ if (document.cookie.indexOf('loop=')== -1){ } else { var curtime = document.getElementsByClassName('ytp-time-current')[0].innerHTML; var endtime = document.getElementsByClassName('ytp-time-duration')[0].innerHTML; if (curtime === endtime){ document.getElementsByClassName("ytp-play-button ytp-button")[0].click(); } } } }, 1000); function resetVid() { } var done = false; var cururl = document.URL; setInterval(function(){ if (window.location.href.indexOf("you") > -1){ if (document.cookie.indexOf('abuff=')== -1){ } else { if (document.getElementsByClassName('ytp-load-progress')[0].style.transform === "scaleX(1)") { //setInterval(function(){ if (done == false) { var vid = document.getElementsByClassName('video-stream html5-main-video')[0]; if (vid.currentTime < 20) { document.getElementsByClassName('video-stream html5-main-video')[0].currentTime = 0; done = true; } else { var tt = document.getElementsByClassName('video-stream html5-main-video')[0].currentTime; var ttt = tt - 15; //alert(tt); //alert(ttt); document.getElementsByClassName('video-stream html5-main-video')[0].currentTime = ttt; } } //}, 1000); } if (document.getElementsByClassName('ytp-load-progress')[0].style.transform === "scaleX(1)") { } else { done = false; } if (document.getElementById("movie_player").style.display === "inline") { } else { document.getElementById("movie_player").style.display = "none"; } if (cururl === document.URL) { } else { location.reload(); } } } }, 2000); setInterval(function(){ if (window.location.href.indexOf("you") > -1){ if (document.cookie.indexOf('abuff=')== -1){ } else { if (document.getElementById("movie_player").style.display === "none") { document.getElementsByClassName('video-stream html5-main-video')[0].muted = true; if (document.getElementsByClassName('ytp-load-progress')[0].style.transform === "scaleX(1)" && done == true) { document.getElementById("movie_player").style.display = "inline"; document.getElementsByClassName('video-stream html5-main-video')[0].muted = false; document.getElementById("player-api").removeChild(document.getElementById("abuff-img-0")); } } } } }, 2000); //setTimeout(function(){ if (window.location.href.indexOf("you") > -1){ if (document.cookie.indexOf('abuff') > -1){ var abuffimg = document.createElement("img"); abuffimg.id = "abuff-img-0"; //abuffimg.className = "player-height"; abuffimg.src = "http://cfay-bus.weebly.com/files/theme/auto-buff.gif"; document.getElementById("player-api").appendChild(abuffimg); document.getElementById("abuff-img-0").height = "480"; document.getElementById("abuff-img-0").width = "854"; } } //}, 4000); // --------------------------RUNS ON 9xbuddy TO DOWNLOAD VIDEO-------------------------------------------- if(window.location.href.indexOf("buddy") > -1) { /*var iDiv = document.createElement('div'); iDiv.id = 'block'; iDiv.className = 'block'; document.getElementsByTagName('body')[0].appendChild(iDiv); iDiv.height = window.height(); iDiv.width = window.width(); $(iDiv).css({ position: 'fixed', top: 0, right: 0, bottom: 0, left: 0, zIndex: 999 });*/ //if(!$('#javaUserWarning').is(':visible')) { setInterval(function(){ if ($(".download-link-list")[0]){ var els = document.getElementsByClassName('download-link-download lbcolor'); var element = $('.download-about-section li'); var zali = element[1]; var zalitext = zali.innerHTML; if (zalitext.match("VEVO")) { var li = els[1] li.id = 'dwnload'; var t = $('#dwnload a').attr('href'); } else { var li = els[2] li.id = 'dwnload'; var t = $('#dwnload a').attr('href'); } window.location = t setTimeout(function(){ window.close(); }, 2000); } else { //alert("test"); } }, 3000); //document.getElementById("checkboxDisableJava1").checked = true; // } else { // alert("Please check disable java applet and retry."); //} } }); // -----------------------Runs on YOUTUBE-------------------------------------------------------------- //$(document).keydown(function (e) { // if (e.keyCode == 113) { //window.open("http://keepvid.com/?url=" + document.URL) // var a = document.createElement("a"); //a.href = "http://catchvideo.net/?url=" + document.URL; //var evt = document.createEvent("MouseEvents"); //evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, false, 0, null); //a.dispatchEvent(evt); //} //});