// ==UserScript== // @name Search Hobune for all videos on page // @namespace hobune.stream // @include https://www.youtube.com/* // @include https://vid.puffyan.us/* // @include http://grwp24hodrefzvjjuccrkw3mjq4tzhaaq32amf33dzpmuxe7ilepcmad.onion/* // @include https://grwp24hodrefzvjjuccrkw3mjq4tzhaaq32amf33dzpmuxe7ilepcmad.onion/* // @include https://invidious.flokinet.to/* // @include https://iv.melmac.space/* // @include https://invidious.0011.lt/* // @include https://inv.riverside.rocks/* // @include https://inv.odyssey346.dev/* // @include https://invidious.sethforprivacy.com/* // @include https://invidious.kavin.rocks/* // @include https://invidious.privacydev.net/* // @include https://invidious.vpsburti.com/* // @include https://inv.bp.projectsegfau.lt/* // @include https://invidious.esmailelbob.xyz/* // @include https://vid.priv.au/* // @include https://yt.artemislena.eu/* // @include https://invidious.snopyta.org/* // @include https://inv.zzls.xyz/* // @include https://iv.ggtyler.dev/* // @include https://invidious.lunar.icu/* // @include https://yt.funami.tech/* // @include https://invidious.baczek.me/* // @include https://y.com.sb/* // @include https://watch.thekitty.zone/* // @include https://yewtu.be/* // @include https://invidious.tiekoetter.com/* // @include https://invidious.nerdvpn.de/* // @include https://invidious.projectsegfau.lt/* // @grant GM_xmlhttpRequest // @connect hobune.stream // @version 1.1 // @author Rebane // @author /ipns/k51qzi5uqu5diwzufekv38cynmdqlh0lwic1ve0d9w5a0glpy52qjc0l77h4t5 // @description Tue, 18 Apr 2023 05:08:49 +0000 // ==/UserScript== let hobuneEndpoint = "https://hobune.stream/tpa-h/videos/"; /* // -- YouTube function checkVideo(vidID){ GM_xmlhttpRequest ( { method: 'GET', url: hobuneEndpoint + vidID, onload: function (vidID) { return (response) => { let obj = document.getElementsByClassName("timecode-" + vidID)[0]; obj.innerText = (response.status == 200 ? "✔️ " + vidID + " " : "❌ " + vidID + " ") + obj.innerText; console.log(response.status == 200 ? "yes " + vidID + " " : "no " + vidID + " "); } }(vidID) } ); } function checkAllVideos(){ setTimeout(() => { document.querySelectorAll("span.ytd-thumbnail-overlay-time-status-renderer").forEach(obj => { let vidID = obj.parentElement.parentElement.parentElement.href.split("=")[1]; vidID = vidID.replace("&t", "").replace(/[^a-zA-Z0-9_-]/g, ""); obj.classList.add("timecode-" + vidID); checkVideo(vidID); }); }, 5000); } checkAllVideos(); */ function checkVideo(vidID){ GM_xmlhttpRequest ( { method: 'GET', url: hobuneEndpoint + vidID, onload: function (vidID) { return (response) => { let obj = document.getElementsByClassName("timecode-" + vidID)[0]; obj.innerText = (response.status == 200 ? "✔️ " + vidID + " " : "❌ " + vidID + " ") + obj.innerText; console.log(response.status == 200 ? "yes " + vidID + " " : "no " + vidID + " "); } }(vidID) } ); } function checkAllVideos(){ setTimeout(() => { document.querySelectorAll("p.length").forEach(obj => { let vidID = obj.parentElement.parentElement.href.split("=")[1]; vidID = vidID.replace(/&.*/g, "").replace(/[^a-zA-Z0-9_-]/g, ""); obj.classList.add("timecode-" + vidID); checkVideo(vidID); }); }, 5000); } checkAllVideos();