YouTube Premium Features (All-in-One)

Add YouTube Premium-like features: ad-blocking, background play, HD/4K default quality, downloader, dark mode, and Premium logo.

// ==UserScript==
// @name         YouTube Premium Features (All-in-One)
// @namespace    http://tampermonkey.net/
// @version      2.0
// @description  Add YouTube Premium-like features: ad-blocking, background play, HD/4K default quality, downloader, dark mode, and Premium logo.
// @author       YourName
// @license      MIT
// @match        *://www.youtube.com/*
// @grant        GM_addStyle
// ==/UserScript==

(function() {
    'use strict';

    // Function: Replace YouTube logo with "Premium" logo
    const replaceLogo = () => {
        const premiumLogo = `
            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" fill="#FF0000" height="30" width="100">
                <rect x="0" y="0" width="100" height="100" fill="white" rx="15" />
                <text x="10" y="60" font-size="50" fill="red" font-weight="bold">Premium</text>
            </svg>
        `;
        const logoContainer = document.querySelector('#logo-icon-container');
        if (logoContainer) {
            logoContainer.innerHTML = premiumLogo;
        }
    };

    // Function: Block ads on YouTube
    const blockAds = () => {
        const adSelectors = [
            '.video-ads', // Video ads container
            '.ytp-ad-module', // Overlay ads
            '.ytp-ad-player-overlay-instream-info', // In-stream ad info
            '#masthead-ad', // Banner ads
        ];
        adSelectors.forEach(selector => {
            const ads = document.querySelectorAll(selector);
            ads.forEach(ad => ad.remove());
        });
    };

    // Function: Enable background playback
    const enableBackgroundPlay = () => {
        const video = document.querySelector('video');
        if (video) {
            video.loop = false; // Prevent looping
            video.play();
        }
    };

    // Function: Set video quality to HD/4K
    const setHDQuality = () => {
        const qualityMenu = document.querySelector('button.ytp-settings-button');
        if (qualityMenu) {
            qualityMenu.click();
            setTimeout(() => {
                const qualityOptions = document.querySelectorAll('.ytp-quality-menu .ytp-menuitem');
                for (const option of qualityOptions) {
                    if (option.innerText.includes('1080p') || option.innerText.includes('2160p')) {
                        option.click();
                        break;
                    }
                }
            }, 500);
        }
    };

    // Function: Add a "Download" button
    const addDownloadButton = () => {
        const videoActions = document.querySelector('.ytd-video-primary-info-renderer #top-level-buttons-computed');
        if (videoActions && !document.querySelector('.custom-download-button')) {
            const downloadButton = document.createElement('button');
            downloadButton.className = 'custom-download-button';
            downloadButton.textContent = 'Download';
            downloadButton.style.margin = '0 5px';
            downloadButton.style.padding = '10px';
            downloadButton.style.background = '#FF0000';
            downloadButton.style.color = 'white';
            downloadButton.style.border = 'none';
            downloadButton.style.borderRadius = '4px';
            downloadButton.style.cursor = 'pointer';

            downloadButton.addEventListener('click', () => {
                const videoUrl = window.location.href;
                const downloadUrl = `https://example.com/download?url=${encodeURIComponent(videoUrl)}`;
                window.open(downloadUrl, '_blank');
            });

            videoActions.appendChild(downloadButton);
        }
    };

    // Function: Toggle dark mode
    const addDarkModeToggle = () => {
        const header = document.querySelector('#masthead-container');
        if (header && !document.querySelector('.dark-mode-toggle')) {
            const toggle = document.createElement('button');
            toggle.className = 'dark-mode-toggle';
            toggle.textContent = 'Dark Mode';
            toggle.style.margin = '0 10px';
            toggle.style.padding = '5px 15px';
            toggle.style.background = '#000000';
            toggle.style.color = '#FFFFFF';
            toggle.style.border = 'none';
            toggle.style.borderRadius = '4px';
            toggle.style.cursor = 'pointer';

            toggle.addEventListener('click', () => {
                document.body.classList.toggle('dark-mode');
            });

            header.appendChild(toggle);
        }
    };

    // Add styles for dark mode
    GM_addStyle(`
        body.dark-mode {
            background-color: #181818;
            color: #FFFFFF;
        }
        .custom-download-button:hover {
            background: #FF4500;
        }
        .dark-mode-toggle:hover {
            background: #333333;
        }
    `);

    // Run features periodically
    setInterval(() => {
        replaceLogo();
        blockAds();
        enableBackgroundPlay();
        setHDQuality();
        addDownloadButton();
        addDarkModeToggle();
    }, 2000);
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址