残月vip视频解析

残月vip视频解析, 外嵌解析,体验腾讯、爱奇艺、优酷等vip视频网站

// ==UserScript==
// @name          残月vip视频解析
// @namespace    http://tampermonkey.net/
// @version        0.0.1
// @description    残月vip视频解析, 外嵌解析,体验腾讯、爱奇艺、优酷等vip视频网站
// @icon           https://gitee.com/Bsutss/gitee.vip/raw/master/vip.jpg
// @author        1771245847
// @match        *://*.v.qq.com/*
// @match        *://*.iqiyi.com/*
// @match        *://*.youku.com/*
// @grant        none
// @charset	 UTF-8
// @license      GPL License
// @license      MIT
// ==/UserScript==

/*
* 

本脚本完全由本人原创,禁止抄袭全部代码, 如发现有人抄袭,欢迎举报,谢谢

请勿用于任何商业用途,仅供学习交流

*/

(function() {
    'use strict';

    // 定义CSS变量
    const style = document.createElement('style');
    style.innerHTML = `
    .video-parser-container {
        position: fixed;
        bottom: 20px;
        left: 20px;
        display: flex;
        align-items: center;
        z-index: 1000;
    }
    .video-parser-button {
        padding: 10px 20px;
        background-color: var(--button-bg-color, #00FF00);
        color: var(--button-text-color, #000);
        border: var(--button-border, none);
        border-radius: var(--button-border-radius, 5px);
        cursor: pointer;
        font-size: var(--button-font-size, 16px);
        font-family: var(--button-font-family, Arial, sans-serif);
        transition: background-color 0.3s, transform 0.3s;
    }
    .video-parser-button:hover {
        background-color: var(--button-hover-bg-color, #28a745);
        transform: scale(1.05);
    }
    .video-parser-dropdown {
        margin-left: 10px;
    }
    .video-parser-dropdown select {
        padding: 10px 20px;
        background-color: #000;
        color: var(--dropdown-text-color, #007bff);
        border: none;
        border-radius: 5px;
        font-size: 16px;
        cursor: pointer;
        opacity: 1;
    }
    .video-parser-dropdown select:focus {
        outline: none;
    }
    `;
    document.head.appendChild(style);

    // 创建一个容器元素
    const container = document.createElement('div');
    container.className = 'video-parser-container';

    // 创建一个按钮元素
    const button = document.createElement('button');
    button.innerText = '解析播放';
    button.className = 'video-parser-button';

    // 定义不同网站的CSS变量
    const cssVariables = {
        'v.qq.com': {
            '--button-bg-color': '#007bff',
            '--button-text-color': '#fff',
            '--button-border-radius': '10px',
            '--button-font-size': '18px',
            '--button-hover-bg-color': '#0056b3',
            '--dropdown-text-color': '#fff'
        },
        'iqiyi.com': {
            '--button-bg-color': '#28a745', 
            '--button-text-color': '#fff', 
            '--button-border-radius': '0', 
            '--button-font-size': '16px', 
            '--button-hover-bg-color': '#218838', 
            '--dropdown-text-color': '#fff' 
        },
        'youku.com': {
            '--button-bg-color': '#800080', 
            '--button-text-color': '#FFFFFF', 
            '--button-border-radius': '5px', 
            '--button-font-size': '16px', 
            '--button-hover-bg-color': '#660066', 
            '--dropdown-text-color': '#FFFFFF', 
        }
    };

    // 应用相应的CSS变量
    const hostname = window.location.hostname;
    const siteVars = cssVariables[hostname];
    if (siteVars) {
        for (const [key, value] of Object.entries(siteVars)) {
            button.style.setProperty(key, value);
        }
    }

    // 定义解析接口列表
    const parseInterfaces = [
        { name: '解析接口1', url: 'https://jx.xymp4.cc/?url=' }, 
        { name: '解析接口2', url: 'https://im1907.top/?jx=' },
        { name: '解析接口3', url: 'https://dm.xmflv.com:4433/?url=' }
    ];

    // 创建下拉菜单
    const dropdown = document.createElement('select');
    dropdown.className = 'video-parser-dropdown';

    parseInterfaces.forEach((interfaceItem, index) => {
        const option = document.createElement('option');
        option.value = index;
        option.text = interfaceItem.name;
        dropdown.appendChild(option);
    });

    // 点击按钮时触发的事件
    button.addEventListener('click', () => {
        const selectedIndex = dropdown.value;
        const selectedInterface = parseInterfaces[selectedIndex];
        const currentUrl = window.location.href;

        if (!selectedInterface.url) {
            alert('当前选择的解析接口URL为空,请联系开发者更新');
            return;
        }

        const parseUrl = selectedInterface.url + encodeURIComponent(currentUrl);
        window.open(parseUrl, '_blank');
    });

    // 将按钮和下拉菜单添加到容器中
    container.appendChild(button);
    container.appendChild(dropdown);

    // 将容器添加到页面中
    document.body.appendChild(container);
})();