Greasy Fork

Greasy Fork is available in English.

Altaireh TikTok Video Downloader

Download TikTok Videos Without A Watermark

目前为 2024-08-07 提交的版本,查看 最新版本

// ==UserScript==
// @name         Altaireh TikTok Video Downloader
// @namespace    none
// @version      3.0
// @description  Download TikTok Videos Without A Watermark
// @author       altaireh
// @match        *://*.tiktok.com/*
// @icon         http://i.hmp.me/m/60b95f19a6e74f35bec638c68948e2f5.png
// @grant        none
// ==/UserScript==

(() => {
    'use strict';

    const CONFIG = {
        BUTTON_IMG_URL: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAMAAAD8CC+4AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAMAUExURUdwTDOJjDAhInoVEkAUFhdwb30ZFUYGCCsuLEHEyTFmYxhiYEPFy1cKC5YICKwJC3UNDB6hnCakoDOJjT3Twi3LxC2xr7gSFG4ICDaNkasWFmoKCy3Bu2YJCZ4RE7sXG5kTF28OEIkHCo4SEoUTFRyVkWwREjGJipkRFa8YIBqJh0OqoB9qa3uHhCSbl6d+h4APDoUVHHgoK0jCvGVmZ5oQE4PAvSF7elK6rpMRE3sJDjCQhnhVU9fY2GKrptTV1EVbUk2AdUenk3ytqoOOj5KYm3RlZI5udV8VF7m4uLW2tYNmX6BCSaevrP////3//v7+/v///f7//f7///v////+//3+//v//v//+/7/+vr////9///+/QP///3//f//+v/++/kEAf7/99D//gb9/PIGA/7+//n///YEAuj//+0GBBzp5wr8+fr//u///+YGBPf//wz6/80TF//s8OP//7P//vz8/v/9+Pr7+vz//zvi41Pu6v7+8gT7/94DAxr3+v/49ttjZAr08iTu7//6/Pyvtv79/Q7+/9gLDP/V3v0CBP/58scXF/f/+/34//P//439/Pv/+7j//gv49dQOC+ULDvr+99f//5/+/cIYFv/z8Yv696kgHCzu8N3///L7//0KDssJClby77///9kDA/qKi/QKDxXv8f/1+UTw7uwMDQf2+vj59P/w55X+/hj28/++vLgJC//o6d8MDNIFBdoTFS7p6Cfo099ISST79P757P/d1fP7+sb+///n3hXz/Cbr3zLm3hX36Hv48yz27yD03v/d3SH7/Sby5jjw4XD8/H79/K4aHf/U0aj8/P7KxV72+BXs2Wz38w/x4ukUF9MaICPFud4lKPb07v6dmsIMCvB+fTnd1TDR0v2tqP+5s+5RVPBqajf09yT75033+Cje3N9XV0/i4iDdze/09OE3OMojJFfRzs09PeuPkIjW2ebr6fG0sKq8wbLm49ra1vMYH37p5+j7+Wbl35g2O+6in8ZUVMV0ccm5spVnZMadl8k8CTIAAABOdFJOUwB9EbIZQcIjCfoiMu4w8P+i0b5o/vze/JGM80Pufuft/lTo2YvBZlTJ3I+zW/6t/rl2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',
        SUCCESS_MESSAGE: 'Download Success!', // Console Success Message
        LOG_PREFIX: 'Altaireh', // Name For Console Messages
        FILE_NAME: 'Altaireh', // The Name Of The Download
        DOWNLOAD_DELAY: 500 // A Higher Number Means More Delay
    };

    const logMessage = (msg) => console.log(`%c${CONFIG.LOG_PREFIX}%c: ${msg}`, 'color: #1E90FF; font-weight: bold;', 'color: inherit;');

    const initiateDownload = (url) => {
        let cspError = false;
        const onCSPViolation = () => (cspError = true);

        window.addEventListener('securitypolicyviolation', onCSPViolation, { once: true });

        const iframe = document.createElement('iframe');
        iframe.style.display = 'none';
        iframe.src = url;
        document.body.appendChild(iframe);

        setTimeout(() => {
            document.body.removeChild(iframe);
            cspError ? location.reload() : logMessage(CONFIG.SUCCESS_MESSAGE);
        }, CONFIG.DOWNLOAD_DELAY);
    };

    const createDownloadButton = (video) => {
        const button = document.createElement('img');
        button.src = CONFIG.BUTTON_IMG_URL;
        button.style.cssText = `
            position: absolute; left: 10px; top: 50%; transform: translateY(-50%);
            z-index: 1000; width: 50px; height: 50px; cursor: pointer;
        `;
        button.onclick = (e) => {
            e.stopPropagation();
            e.preventDefault();
            const videoUrl = video.src || video.querySelector('source')?.src;
            if (videoUrl) initiateDownload(videoUrl);
        };
        return button;
    };

    const manageVideoButtons = (video) => {
        const button = createDownloadButton(video);
        video.parentNode.appendChild(button);

        const removeButtonOnMouseOut = (e) => {
            if (!video.contains(e.relatedTarget) && !button.contains(e.relatedTarget)) {
                button.remove();
                video.removeEventListener('mouseout', removeButtonOnMouseOut);
            }
        };

        button.addEventListener('mouseout', removeButtonOnMouseOut);
        video.addEventListener('mouseout', removeButtonOnMouseOut);
    };

    const initScript = () => {
        if (/v16-webapp-prime.tiktok.com|mime_type=video_mp4/.test(location.href)) {
            const video = document.querySelector('video');
            if (video) {
                const link = document.createElement('a');
                link.href = video.src || video.querySelector('source')?.src;
                link.download = CONFIG.FILE_NAME;
                link.click();
            }
        } else {
            const observer = new MutationObserver(() => {
                document.querySelectorAll('video:not(.processed)').forEach((video) => {
                    video.classList.add('processed');
                    video.addEventListener('mouseover', () => manageVideoButtons(video));
                });
            });

            observer.observe(document.body, { childList: true, subtree: true });
        }
    };

    initScript();
})();