dp-vids.com helper

A script that lets you download videos with the click of a button and hide private videos.

À partir de 2024-11-02. Voir la dernière version.

Vous devrez installer une extension telle que Tampermonkey, Greasemonkey ou Violentmonkey pour installer ce script.

You will need to install an extension such as Tampermonkey to install this script.

Vous devrez installer une extension telle que Tampermonkey ou Violentmonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey ou Userscripts pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey pour installer ce script.

Vous devrez installer une extension de gestionnaire de script utilisateur pour installer ce script.

(J'ai déjà un gestionnaire de scripts utilisateur, laissez-moi l'installer !)

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

(J'ai déjà un gestionnaire de style utilisateur, laissez-moi l'installer!)

// ==UserScript==
// @name        dp-vids.com helper
// @namespace   Violentmonkey Scripts
// @match       https://dp-vids.com/*
// @match       https://pnt-vids.com/*
// @grant       none
// @version     1.1
// @author      Penomancer
// @description A script that lets you download videos with the click of a button and hide private videos.
// @license MIT
// ==/UserScript==

(function waitForPageContext(callback, interval = 100) {
    const checkPageContext = setInterval(() => {
        if (typeof window.pageContext !== 'undefined') {
            clearInterval(checkPageContext);
            callback(); // Call the callback function when pageContext is defined
        }
    }, interval);

})(function() {
    'use strict';
    console.log("Starting Script")

    const originalFetch = window.fetch;
    let downloadLink = '';
    const downloadLinkStarter = 'https://dp-vids.com/contents/videos/7000/';
    const downloadLinkStarterPnt = 'https://pnt-vids.com/contents/videos/0/'
    const videoTitle = document.title;


    function addDownloadButton(downloadLink, videoTitle) {
        console.log("Download link for button:", downloadLink)
        const tabsMenu = document.querySelector('.tabs-menu');
        if (tabsMenu) {
            const tabsMenuList = tabsMenu.querySelector('ul');
            const newTab = document.createElement('li');
            tabsMenuList.prepend(newTab);

            const linkElement = document.createElement('a');
            linkElement.textContent = 'Download';
            linkElement.href = downloadLink;
            linkElement.target = '_blank';
            linkElement.className = "toggle-button"
            linkElement.download = videoTitle
            newTab.appendChild(linkElement);
        } else {
            console.error("Parent element not found.");
        }
    }

    if (window.location.href.includes("/videos") || window.location.href.includes("/video") ) {
    console.log("Videos Found")
    const videoId = pageContext.videoId;
    console.log("Video ID:", videoId); // This should print '7798'
    if (window.location.href.includes('dp-vids')) {
       downloadLink = downloadLinkStarter + videoId +'/' + videoId + '.mp4'
       console.log('dp-vids.com Download Link:', downloadLink)
    } else {
       downloadLink = downloadLinkStarterPnt + videoId +'/' + videoId + '.mp4'
      console.log('pnt-vids.com Download Link:', downloadLink)
    }
    console.log("Download Link:", downloadLink)


                    addDownloadButton(downloadLink, videoTitle);
                }


        const observer = new MutationObserver(removeTargetDivs);
        observer.observe(document.body, { childList: true, subtree: true, attributes: true });

})();