NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Streamable Downloader // @description Downloads all streamable videos from someone's acount // @author Kyraryc // @namespace http://www.openjs.com/ // @license MIT // @match https://*.streamable.com/* // @grant GM_download // @grant GM_info // @grant GM.setValue // @grant GM.getValue // @version 1 // ==/UserScript== (function() { var url = window.location.href; if (url.includes("streamable")) { var buttonConfig = document.createElement("button"); buttonConfig.innerHTML = "Download videos"; buttonConfig.style.width = '200px'; buttonConfig.style.background = 'DodgerBlue'; buttonConfig.style.color = 'white'; buttonConfig.addEventListener("click", function() { var titlearr = document.getElementsByClassName("form-control edit-title-input"); var viewsarr = document.getElementsByClassName("header-item float-right"); var vidarr = document.getElementsByClassName("video-url"); if (viewsarr.length != vidarr.length) { return; } for (let i = 0; i < viewsarr.length; i++) { var curviews = viewsarr[i].innerText.replace("views", "").trim(); var cururl = vidarr[i].innerText.toLowerCase().replace("copy link", "").trim(); var curtitle = titlearr[i].value; var curextension = cururl.substring(cururl.lastIndexOf("/") + 1); if (curviews <= 100) { var arg = { url: cururl, name: 'streamables/' + curtitle + curextension + ".mp4", saveAs: false }; GM_download(arg); buttonConfig.innerHTML = "Downloaded " + curextension; } } buttonConfig.disabled = false; var pagearr = document.getElementsByClassName("page-link"); pagearr[pagearr.length - 1].click(); }); var body = document.getElementsByClassName("navbar")[0]; body.appendChild(buttonConfig); } })();