残月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);
})();