全网vip视频解析

vip视频解析,【内嵌解析+带弹幕】, 支持:腾讯视频、爱奇艺、优酷、芒果TV、搜孤、哔哩哔哩、等网站会员视频解析,安装后在播放页左侧边上会出现一个vip标识,鼠标放上去会自动滑出功能界面,每个按钮代表不同解析接口,解析失败可选择其他按钮试试

// ==UserScript==
// @name           全网vip视频解析
// @namespace      vip视频解析
// @version           0.0.1
// @description        vip视频解析,【内嵌解析+带弹幕】, 支持:腾讯视频、爱奇艺、优酷、芒果TV、搜孤、哔哩哔哩、等网站会员视频解析,安装后在播放页左侧边上会出现一个vip标识,鼠标放上去会自动滑出功能界面,每个按钮代表不同解析接口,解析失败可选择其他按钮试试
// @author            1771245847
// @icon              data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACS0lEQVRYR8WXz2oTURTGv3MnpqhNKy1UWmxRTGdaiLSQRKkKIoK4FVrRPoHu7BMYn0B3+gQquuiuiC6kaFVsAhGEZkKqG/+Vrtp0YWsyR27KlEwz0xnnT3LgwjB37vl+97tzz9whdDiow/pwBCjofN0AJohwKQgkMxYF8Dmt0bxdnhaAQoWTXMczENJBhFvGMgqk4GY6SZXmPgvAmy/cnYijGqrwvmTVHSQup2jLvG0ByJf5EYDbUQIAeJxR6U4LQHGV1VodesTijfQxBdrkaSrL6z0Hlst8i4An7QBgYDar0lMrgM45ItxrCwDjflajnC+AtR8Gvn8zGpz9xwVOjor/Zma/ANt/GIsLNWxt8p7o4IiAmlLQP+C9pvkG+FoyUPxYs52xhFDPKIh3uRviG2ClWIdsTpHoJYymFNdliQzABBsaEZg4p+DwUftliRxAggwOC0xdidma1RaAI92Ea9OHOgcwPqlANruI1AElhsa2dBKXQJEBnDglGlvxWN/BNcE3gKyCS69b64AUlMISwEv4BpDJ3778i/Xfu5XQtFtaLq+9RiCA6gZj/dcuQN8Audod6kvodYZuz9k7UOK7JPDAbXAY/WxgLjtGDy2f408VPi8MLIUh4JbDELhwNknvLQDyQNoTh87AkFuCIP0E/NzcgWYeTC0bdrkNp6Lm9bc4YM4qr/NzEGaCzNJxLONFRqMbzf22JSu/wlcphhwzpsIAIcIHriGXGadX+/MdWDPflTjRxcH+kLYJhYtj5Piz4/0gF4YVNjk6DvAPDb0aMEr8/nEAAAAASUVORK5CYII=
// @match             *://v.qq.com/x/cover/*
// @match             *://v.qq.com/x/page/*
// @match             *://www.iqiyi.com/v*
// @match             *://v.youku.com/v_show/*
// @match             *://www.mgtv.com/b/*
// @match             *://tv.sohu.com/v/*
// @match             *://film.sohu.com/album/*
// @match             *://www.le.com/ptv/vplay/*
// @match             *://video.tudou.com/v/*
// @match             *://v.pptv.com/show/*
// @match             *://vip.pptv.com/show/*
// @match             *://www.fun.tv/vplay/*
// @match             *://www.acfun.cn/v/*
// @match             *://www.bilibili.com/video/*
// @match             *://www.bilibili.com/anime/*
// @match             *://www.bilibili.com/bangumi/play/*
// @match             *://vip.1905.com/play/*
// @match             *://www.wasu.cn/Play/show/*
// @match             *://www.56.com/*
// @match             *://m.v.qq.com/x/cover/*
// @match             *://m.v.qq.com/x/page/*
// @match             *://m.v.qq.com/*
// @match             *://m.iqiyi.com/v_*
// @match             *://m.iqiyi.com/w_*
// @match             *://m.iqiyi.com/a_*
// @match             *://m.youku.com/alipay_video/*
// @match             *://m.youku.com/video/id_*
// @match             *://m.mgtv.com/b/*
// @match             *://m.tv.sohu.com/v/*
// @match             *://m.film.sohu.com/album/*
// @match             *://m.le.com/ptv/vplay/*
// @match             *://m.pptv.com/show/*
// @match             *://m.bilibili.com/video/*
// @match             *://m.bilibili.com/anime/*
// @match             *://m.bilibili.com/bangumi/play/*
// @license           MIT
// ==/UserScript==
 
/*
* 解析接口皆从互联网收集,切勿用于商业用途,侵删 !
*/
 
(function () {
    'use strict';
    var div = document.createElement("div");
    if (window == top) {
        document.body.appendChild(div);
    };
    div.innerHTML = `
    <div class="box_1">
        <div class="box_2">
            <h2>解析不播放,请切换解析线路</h2>
            <p>&nbsp; 联系邮箱: 1771245847@qq.com </p>
        </div>
        <div class="box_3"></div>
        <i class="up-new"></i>
    </div>
    <style>
    .box_1 {
            position: fixed;
            top: 130px;
            left: -170px;
            height: 340px;
            width: 160px;
            padding: 3px;
            z-index: 99999;
            transition: 1s;
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            border: hidden;
            border-radius: 8px;
            background: linear-gradient(#1722eb, #1722eb, #1722eb);
        }
 
        .box_2 {
            width: 95%;
            height: 80px;
            margin: 4px;
            color: #10a1be;
            background: linear-gradient(#1722eb, #1722eb, #1722eb);
            outline: 2px solid #0ed4f7;
            font-size: 11px;
            cursor: no-drop;
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
        }
 
        .box_3 {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
        }
 
        .box_3 input {
            display: none;
        }
 
        .box_3 label {
            width: 41px;
            height: 18px;
            margin: 5px;
            padding: 3px;
            border: hidden;
            box-sizing: border-box;
            border-radius: 6px;
            background: linear-gradient(#178ceb, #178ceb, #178ceb);
            border-color: #0ed4f7;
            outline: 3px solid #0ed2f7;
            text-align: center;
            cursor: pointer;
            font-size: 8px;
            line-height: 10px;
            color: rgb(17, 56, 230);
        }
 
        input[name="drone"]:hover+label {
            background: #66ebe4;
        }
 
        input[name="drone"]:checked+label {
            color: #ff544c;
            background: #66ebe4;
        }
 
        .box_2 h2 {
            position: absolute;
            top: 20px;
            font-size: 10px;
            font-weight: bold;
        }
 
        .box_2 p {
            position: absolute;
            top: 55px;
            width: 12em;
            white-space: nowrap;
            overflow: hidden;
            text-shadow: 0 1px hsl(202, 85%, 61%),
                0 1px hsl(199, 80%, 56%),
                0 2px 4px rgba(34, 156, 226, 0.603);
            border-right: 2px solid transparent;
            animation: typing 6s;
            animation-iteration-count: infinite;
        }
 
        @keyframes typing {
            from {
                width: 0;
            }
 
            to {
                width: 12em;
            }
        }
 
        .up-new {
            position: absolute;
            top: 36px;
            width: 30px;
            height: 34px;
            right: -28px;
            z-index: 99999;
            cursor: pointer;
            background: url(https://1771245847.github.io/jx/favicon.ico) no-repeat;
        }
        </style>`
    var Interface = [
        { name: "Tt解析", id: "awesome1", url: "https://jx.yangtu.top/?url=" },
        { name: "夜幕解析", id: "awesome2", url: "https://www.yemu.xyz/?url=" },
        { name: "Nx解析", id: "awesome3", url: "https://jx.nnxv.cn/tv.php?url=" },
        { name: "虾米解析", id: "awesome4", url: "https://jx.xmflv.com/?url=" },
        { name: "爱豆解析", id: "awesome5", url: "https://jx.aidouer.net/?url=" },
        { name: "剖云解析", id: "awesome6", url: "https://www.pouyun.com/?url=" },
        { name: "盘古解析", id: "awesome7", url: "https://www.pangujiexi.com/jiexi/?url=" },
    ]
    var box1 = document.querySelector('.box_1');
    var box3 = document.querySelector('.box_3');
    for (var i in Interface) {
        let inputs = document.createElement('input');
        let label = document.createElement('label');
        box3.appendChild(inputs);
        box3.appendChild(label);
        inputs.type = 'radio';
        inputs.name = "drone";
        inputs.id = Interface[i].id;
        label.htmlFor = Interface[i].id;
        label.innerHTML = Interface[i].name;
    }
    box1.addEventListener('mouseenter', () => {
        box1.style.left = "2px";
    })
    box1.addEventListener('mouseleave', () => {
        box1.style.left = "-170px";
    })
    var player_ids = [
        { url: "v.qq.com", id: "#player" },
        { url: "www.iqiyi.com", id: "#flashbox" },
        { url: "v.youku.com", id: "#player" },
        { url: "w.mgtv.com", id: "#mgtv-player-wrap" },
        { url: "www.mgtv.com", id: "#mgtv-player-wrap" },
        { url: "tv.sohu.com", id: "#player" },
        { url: "film.sohu.com", id: "#playerWrap" },
        { url: "www.le.com", id: "#le_playbox" },
        { url: "v.pptv.com", id: "#pptv_playpage_box" },
        { url: "vip.pptv.com", id: ".w-video" },
        { url: "vip.1905.com", id: "#player" },
        { url: "www.bilibili.com", id: "#bilibili-player" }
    ]
    for (let t in player_ids) {
        if (player_ids[t].url == location.host) {
            var ids = document.querySelector(player_ids[t].id);
        }
    }
    var iframe = `
            <iframe id='iframe-player' frameborder='0' allowfullscreen='true'></iframe>
            <style>
            #iframe-player{
                height: 100%;
                width: 100%;
                z-index: 99999;
            }
            </style>`
    var labels = document.querySelectorAll('.box_3 label');
    for (let h = 0; h < labels.length; h++) {
        labels[h].addEventListener('click', () => {
            ids.innerHTML = iframe;
            var iframe_player = document.querySelector('#iframe-player');
            iframe_player.src = Interface[h].url + location.href;
        })
    }
})();