全网VIP视频解析

全网VIP视频解析-腾讯视频、爱奇艺、优酷、芒果TV

目前为 2023-10-12 提交的版本。查看 最新版本

// ==UserScript==
// @name         全网VIP视频解析
// @namespace    http://tampermonkey.net/
// @version      1.0.2
// @namespace    公众号:软件小邓
// @description  全网VIP视频解析-腾讯视频、爱奇艺、优酷、芒果TV
// @match        https://www.iqiyi.com/*
// @match        https://v.qq.com/x/cover/*
// @match        https://www.youku.com/*
// @match        https://www.mgtv.com/b/*
// @match        https://v.youku.com/v_show/*
// @license      MIT
// @grant        none
// ==/UserScript==

(function () {
    'use strict';

    var style = document.createElement('style');
    style.textContent = `
        ::-webkit-scrollbar {
            width: 10px !important;
        }

        ::-webkit-scrollbar-thumb {
            background: #C1C1C1 !important;
            border-radius: 10px !important;
        }

        ::-webkit-scrollbar-thumb:hover {
            background: #9e9e !important;
        }

        .no-select {
            user-select: none;
        }

        .button-container {
            position: fixed;
            top: 50%;
            left: 60px;
            transform: translate(0, -50%);
            z-index: 99999999;
            display: none;
            grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
            grid-gap: 10px;
        }

        .vip-button {
            background: #ca985a;
            border: 0;
            padding: 0 25px;
            height: 30px;
            padding:0 10px;
            color: #fff;
            cursor:pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 14px;
            font-weight: bold;
            margin: 5px 0;
        }

        .vip-button:hover {
            background: #f3c58c;
            transform: scale(1.1);
        }
    `;

    document.head.appendChild(style);

    var YQ_cube = document.createElement('div');
    YQ_cube.className = 'no-select';
    YQ_cube.style.cssText = `
        width: 50px;
        height: 50px;
        border-radius: 50%;
        background-color: #ca985a;
        position: fixed;
        left: 0;
        top: 50%;
        cursor: pointer;
        z-index: 99999999;
        transform: translate(0, -50%);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        color: white;
        font-size: 13px;
        font-weight: bold;
        box-shadow: rgb(0 0 0 / 30%) 0px 2px 5px;
    `;

    YQ_cube.textContent = '解析';
    YQ_cube.title = '公众号:软件小邓'

    document.body.appendChild(YQ_cube);

    // 引入接口
    var Apilist = [
        { "name": "综合/B站", "url": "https://jx.bozrc.com:4433/player/?url=", "showType": 3 },
        { "name": "夜幕", "url": "https://www.yemu.xyz/?url=", "showType": 3 },
        { "name": "爱豆", "url": "https://jx.aidouer.net/?url=", "showType": 1 },
        { "name": "虾米", "url": "https://jx.xmflv.com/?url=", "showType": 1 },
    ];

    var buttonContainer = document.createElement('div');
    buttonContainer.className = 'button-container';

    Apilist.forEach(function (api) {
        var button = document.createElement('button');
        button.className = 'vip-button';
        button.textContent = api.name;
        button.addEventListener('click', function () {
            // 处理按钮点击事件,跳转到解析页面
            window.open(api.url + window.location.href, '_blank');
        });
        buttonContainer.appendChild(button);
    });

    document.body.appendChild(buttonContainer);
    var flag = 1;
    YQ_cube.addEventListener('click', function () {

        // 检查是否已同意协议
        var agreedToTerms = localStorage.getItem('agreedToTerms');
        // 如果未同意协议,显示协议弹窗
        if (!agreedToTerms) {
            var termsPopup = confirm("免责声明:1、VIP视频解析中所用到的解析接口来自于网络,版权问题请联系相关解析接口所有者!2、为创造良好的创作氛围,请大家支持正版!3、脚本仅用于学习,切勿用于任何商业等其它用途!4、点击确定,即表明你已经明确使用脚本可能带来的风险,且愿意自行承担相关风险,对于风险网站不承担任何责任!以上内容请知晓!");
            // 如果用户同意,设置同意标志并继续执行脚本
            if (termsPopup) {
                localStorage.setItem('agreedToTerms', 'true');
            } else {
                alert('您取消了协议,脚本无法使用!确定后会恢复正常!')
                return
            }
        }

        if (flag === 1) {
            buttonContainer.style.display = 'block';
            YQ_cube.innerHTML = '隐藏';
            flag = 0;
        } else {
            buttonContainer.style.display = 'none';
            YQ_cube.innerHTML = '解析';
            flag = 1;
        }
    });

})();