StreamtapeDownloader

Streamtape Video Downloader

// ==UserScript==
// @name         StreamtapeDownloader
// @namespace    StreamtapeDownloader
// @version      2.1.5
// @description  Streamtape Video Downloader
// @antifeature  referral-link
// @antifeature  ad
// @author       Runterya
// @homepage     https://github.com/Runteryaa
// @match        *://streamtape.com/*
// @match        *://streamtape.xyz/*
// @match        *://streamtape.to/*
// @match        *://streamtape.net/*
// @match        *://streamtape.site/*
// @match        *://streamtape.cc/*
// @match        *://tapecontent.net/*
// @match        *://streamadblockplus.com/*
// @match        *://streamta.pe/*
// @match        *://strtape.cloud/*
// @match        *://strtape.site/*
// @match        *://strtapeadblock.club/*
// @match        *://strcloud.link/*
// @match        *://strcloud.club/*
// @match        *://strcloud.in/*
// @match        *://tapeadsenjoyer.com/*
// @match        *://gettapeads.com/*
// @match        *://tapelovesads.org/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=streamtape.com
// @grant        none
// @license      MIT
// @compatible   chrome
// @compatible   edge
// @compatible   firefox
// @compatible   opera
// @compatible   safari
// ==/UserScript==

console.log("StreamtapeDownloader");

function checkVideoSrc() {
    // Check if the main video element exists
    const mainVideo = document.querySelector('#mainvideo');
    const subheadingParent = document.querySelector('.subheading').parentNode;

    if (!document.getElementById('ouoref')) {
        const ouoref = document.createElement('a')
        ouoref.id = 'ouoref'
        ouoref.setAttribute('href', 'http://ouo.io/ref/iLw8gjsf')
        const ouorefimg = document.createElement('img')
        ouorefimg.style.maxWidth = '100%'
        ouorefimg.setAttribute('src', 'http://ouo.io/images/banners/r2.jpg')
        ouorefimg.setAttribute('title', 'ouo.io - Make short links and earn the biggest money')

        subheadingParent.appendChild(ouoref)
        ouoref.appendChild(ouorefimg)
    }


    if (mainVideo) {
        // Check if the video source is available
        const videoSrc = mainVideo.src;

        if (videoSrc) {
            console.log("Video source found:", videoSrc);

            // Check if the button with the specified ID already exists
            if (!document.getElementById('downloadsDiv')) {
                const downloadsDiv = document.createElement('div')
                downloadsDiv.id = 'downloadsDiv'
                downloadsDiv.style.border = '2px solid blue'
                downloadsDiv.style.borderRadius = '7.5px';

                subheadingParent.insertBefore(downloadsDiv, ouoref);



                const freebutton = document.createElement('a');
                freebutton.innerText = 'Ad Free Download';

                const freevideoSrc = videoSrc

                freebutton.setAttribute('href', videoSrc);
                freebutton.setAttribute('target', '_blank');

                downloadsDiv.appendChild(freebutton);

                downloadsDiv.appendChild(document.createElement('br'))


                const adbutton = document.createElement('a');
                adbutton.innerText = 'With Ad Download';

                const advideoSrc = "http://ouo.io/qs/iLw8gjsf?s=" + videoSrc

                adbutton.setAttribute('href', advideoSrc);
                adbutton.setAttribute('target', '_blank');

                downloadsDiv.appendChild(adbutton);

                subheadingParent.appendChild(document.createElement('br'))
                subheadingParent.appendChild(document.createElement('br'))

            } else {
                console.log("Button already exists. Skipping creation.");
            }

        } else {
            console.log("Video source not found. Retrying...");
        }
    } else {
        console.log("Main video element not found. Retrying...");
    }
}

// Initial check
checkVideoSrc();



setInterval(checkVideoSrc, 1000);