NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Randaris-Link-Grabber // @description Link Grabber for Randaris. // @version 1.1 // @author Bandaras // @license MIT // @homepageURL https://github.com/Bandaras213/Randaris-Link-Grabber // @updateURL https://openuserjs.org/meta/Bandaras/Randaris-Link-Grabber.meta.js // @include https://randaris.app/serie/episode/* // @icon https://randaris.app/img/favicon.ico // @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js // @grant GM_addStyle // @grant GM_setValue // @grant GM_getValue // @grant GM_deleteValue // ==/UserScript== let linklist = []; let infolist = []; let teststring; let testcheck = false; let link; let links = GM_getValue("links", ""); if (links.length !== 0) { addoldlink(); } let info = GM_getValue("info", ""); if (info.length !== 0) { addoldinfo(); } window.onload = function() { let buttonparent = document.getElementById("site-sidebar"); let button = document.createElement("button"); button.type = "button"; button.innerHTML = "Hole Download Link"; button.onclick = getlinks; button.setAttribute("id", "myButton"); button.setAttribute("class", "fa1"); let button2 = document.createElement("button"); button2.type = "button"; button2.innerHTML = "Lösche Links"; button2.onclick = removelinks; button2.setAttribute("id", "myButton2"); button2.setAttribute("class", "fa2"); let button3 = document.createElement("button"); button3.type = "button"; button3.innerHTML = "Zeige Links"; button3.onclick = showlinks; button3.setAttribute("id", "myButton3"); button3.setAttribute("class", "fa3"); buttonparent.insertBefore(button, document.getElementsByClassName("social-icons nav-pills nav-justified")[0]); buttonparent.insertBefore(button2, document.getElementsByClassName("social-icons nav-pills nav-justified")[0]); buttonparent.insertBefore(button3, document.getElementsByClassName("social-icons nav-pills nav-justified")[0]); }; function getlinks() { let epinumber = document.getElementsByClassName("content-header content-header-episode clearfix")[0].getElementsByTagName("h1")[0].innerText; let epiname = document.getElementsByClassName("content-header content-header-episode clearfix")[0].getElementsByTagName("a")[0].innerText; let videomirror = document.getElementsByClassName("mirror-card text-center small active")[0].children[0].getElementsByTagName("b")[0].innerText; switch (videomirror) { case "Nanoids": link = document.getElementsByClassName("video-player")[0].getElementsByTagName("a")[0].href; if (linklist.length >= 1) { let linksort = linklist.toString(); teststring = linksort.split(",").filter(links => links); for (var i = 0; i < teststring.length; i++) { if (teststring[i] == link + "," || teststring[i] == link) { testcheck = true; alert("Der Download Link befindet sich schon in der Liste."); break; } } } else { linklist.push(link + ","); infolist.push(epiname + " " + epinumber + ","); savelink(); savename(); break; } if (testcheck === false) { linklist.push(link + ","); infolist.push(epiname + " " + epinumber + ","); savelink(); savename(); break; } break; case "Ani-Stream": link = document.getElementsByClassName("video-player")[0].getElementsByTagName("iframe")[0].src; if (linklist.length >= 1) { let linksort = linklist.toString(); teststring = linksort.split(",").filter(links => links); for (var ii = 0; ii < teststring.length; ii++) { if (teststring[ii] == link + "," || teststring[ii] == link) { testcheck = true; alert("Der Download Link befindet sich schon in der Liste."); break; } } } else { linklist.push(link + ","); infolist.push(epiname + " " + epinumber + ","); savelink(); savename(); break; } if (testcheck === false) { linklist.push(link + ","); infolist.push(epiname + " " + epinumber + ","); savelink(); savename(); break; } break; case "MP4Upload": link = document.getElementsByClassName("video-player")[0].getElementsByTagName("iframe")[0].src; if (linklist.length >= 1) { let linksort = linklist.toString(); teststring = linksort.split(",").filter(links => links); for (var iii = 0; iii < teststring.length; iii++) { if (teststring[iii] == link + "," || teststring[iii] == link) { testcheck = true; alert("Der Download Link befindet sich schon in der Liste."); break; } } } else { linklist.push(link + ","); infolist.push(epiname + " " + epinumber + ","); savelink(); savename(); break; } if (testcheck === false) { linklist.push(link + ","); infolist.push(epiname + " " + epinumber + ","); savelink(); savename(); break; } break; case "OpenLoad": link = document.getElementsByClassName("video-player")[0].getElementsByTagName("iframe")[0].src; if (linklist.length >= 1) { let linksort = linklist.toString(); teststring = linksort.split(",").filter(links => links); for (var iiii = 0; iiii < teststring.length; iiii++) { if (teststring[iiii] == link + "," || teststring[iiii] == link) { testcheck = true; alert("Der Download Link befindet sich schon in der Liste."); break; } } } else { linklist.push(link + ","); infolist.push(epiname + " " + epinumber + ","); savelink(); savename(); break; } if (testcheck === false) { linklist.push(link + ","); infolist.push(epiname + " " + epinumber + ","); savelink(); savename(); break; } break; default: alert("Sieht so aus als ob du " + videomirror + " ausgewählt hast. \n\nBitte wähle einen zulässigen Hoster."); break; } } function savelink() { let linksort = linklist.toString(); GM_setValue("links", linksort); } function savename() { let infosort = infolist.toString(); GM_setValue("info", infosort); } function addoldlink() { var oldstring = links.split(",").filter(links => links); linklist.push(oldstring + ","); } function addoldinfo() { var oldinfo = info.split(",").filter(info => info); infolist.push(oldinfo + ","); } function removelinks() { let deletecheck = confirm("Drücke Ok zum Löschen der Link Liste."); if (deletecheck == true) { GM_deleteValue("links"); GM_deleteValue("info"); linklist = []; infolist = []; alert("Deine Linkliste wurde gelöscht."); } else { alert("Deine Linkliste wurde nicht gelöscht."); } } function showlinks() { let linksort = linklist.toString(); var oldstring = linksort.split(",").filter(links => links); let infosort = infolist.toString(); let infofixer = infosort.replace(/ Nanoids/g, '').replace(/ Ani-Stream/g, '').replace(/ MP4Upload/g, '').replace(/ OpenLoad/g, ''); var oldinfo = infofixer.split(",").filter(info => info); var w = window.open("", "", "width=700,height=800,scrollbars"); var str1 = "<ul>"; var str2 = "<ul>"; oldstring.forEach(function(oldstring) { str1 += "<li>" + oldstring + "</li>"; }); oldinfo.forEach(function(oldinfo) { str2 += "<li>" + oldinfo + "</li>"; }); str1 += "</ul>"; str2 += "</ul>"; let list1 = w.document.innerHTML = str1; let list2 = w.document.innerHTML = str2; w.document.write(list1 + list2); w.document.close(); } GM_addStyle(` #myButton { margin-bottom: 10px; margin-right: 20px; } #myButton2 { margin-bottom: 10px; margin-right: 20px; } #myButton3 { margin-bottom: 10px; margin-right: 20px; } `);