音视频解析

支持爱奇艺、腾讯视频、优酷视频、哔哩哔哩、AcFun、搜狐视频、西瓜视频、芒果TV、土豆网、乐视、风行网、PPTV的视频解析,和网易云音乐、荔枝FM免费歌曲的解析及下载。部分网站无反应可刷新重试。

// ==UserScript==
// @name         音视频解析
// @namespace    http://tampermonkey.net/
// @version      1.5.0
// @description  支持爱奇艺、腾讯视频、优酷视频、哔哩哔哩、AcFun、搜狐视频、西瓜视频、芒果TV、土豆网、乐视、风行网、PPTV的视频解析,和网易云音乐、荔枝FM免费歌曲的解析及下载。部分网站无反应可刷新重试。
// @author       achtlv
// @match        *://*.163.com/*/song?id=*
// @match        *://*.iqiyi.com/v*
// @match        *://*.bilibili.com/bangumi/play/*
// @match        *://*.youku.com/alipay_video?id=*
// @match        *://*.qq.com/x/*/*
// @match        *://*.acfun.cn/v/?ab=*
// @match        *://play.tudou.com/*
// @match        *://*.sohu.com/v*
// @match        *://*.le.com/vplay_*
// @match        *://*.pptv.com/show/*
// @match        *://*.ixigua.com/*?logTag=*
// @match        *://*.fun.tv/*play/*
// @match        *://*.mgtv.com/b/*/*
// @match        *://*.1905.com/*/play/*
// @match        *://*.lizhi.fm/vod/*/*
// @grant        GM_addStyle
// @grant        GM_notification
// ==/UserScript==

(function() {
    'use strict';

    // 添加CSS样式
    GM_addStyle(`
        .parse-float-btn {
            position: fixed;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            z-index: 99999;
            background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
            color: white;
            border: none;
            border-radius: 50%;
            width: 48px;
            height: 48px;
            font-size: 14px;
            font-weight: bold;
            cursor: pointer;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
            transition: all 0.2s ease;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            user-select: none;
            padding: 0;
            line-height: 1;
            opacity: 0.9;
        }
        .parse-float-btn:hover {
            background: linear-gradient(135deg, #2575fc 0%, #6a11cb 100%);
            transform: translateY(-50%) scale(1.1);
            box-shadow: 0 6px 15px rgba(0, 0, 0, 0.4);
            opacity: 1;
        }
        .parse-float-btn:active {
            transform: translateY(-50%) scale(0.95);
        }
        
        /* 移动设备优化 */
        @media (max-width: 768px) {
            .parse-float-btn {
                width: 42px;
                height: 42px;
                font-size: 13px;
            }
        }
    `);

    const videoSites = {
        "1905.com":     "https://jx.playerjy.com/?url=",
        "mgtv.com":     "https://jx.xymp4.cc/?url=",
        "bilibili.com": "https://jx.xymp4.cc/?url=",
        "fun.tv":       "https://jx.xymp4.cc/?url=",
        "youku.com":    "https://jx.xmflv.com/?url=",
        "v.qq.com":     "https://jx.xmflv.com/?url=",
        "iqiyi.com":    "https://jx.xmflv.com/?url=",
        "tudou.com":    "https://jx.xmflv.com/?url=",
        "sohu.com":     "https://jx.xmflv.com/?url=",
        "le.com":       "https://jx.xmflv.com/?url=",
        "pptv.com":     "https://jx.xmflv.com/?url=",
        "ixigua.com":   "https://jx.xmflv.com/?url=",
        "acfun.cn":     "https://jx.playerjy.com/?url="
    };

    const url = window.location.href;
    console.log("当前URL:", url);

    // 创建浮动按钮
    const floatBtn = document.createElement('button');
    floatBtn.className = 'parse-float-btn';
    floatBtn.textContent = '解析';
    document.body.appendChild(floatBtn);

    // 点击按钮执行解析
    floatBtn.addEventListener('click', function() {
        console.log("解析按钮被点击");
        
        // 视频平台解析
        for (const site in videoSites) {
            if (url.includes(site)) {
                console.log(`匹配到视频网站: ${site}`);
                window.open(videoSites[site] + encodeURIComponent(url), '_blank');
                return;
            }
        }

        // 网易云音乐解析
        const match = url.match(/id=(\d+)/);
        if (match) {
            console.log("匹配到网易云音乐");
            window.open(`http://music.163.com/song/media/outer/url?id=${match[1]}`, '_blank');
            return;
        }

        // 荔枝FM解析
        if (url.includes('lizhi.fm/vod/')) {
            console.log("匹配到荔枝FM");
            const element = document.querySelector('div.item:nth-of-type(3)');
            if (element) {
                const dateMatch = element.textContent.match(/(\d{4}-\d{2}-\d{2})/);
                if (dateMatch) {
                    const date = dateMatch[1].replace(/-/g, '/');
                    const urlParts = url.split('/');
                    const audioId = urlParts[urlParts.length - 1];
                    window.open(`https://lizhi.fm/audio/${date}/${audioId}_hd.mp3`, '_blank');
                    return;
                }
            }
        }

        // 没有匹配到任何解析规则
        console.log("没有匹配到任何解析规则");
        alert('当前网站不支持自动解析,请尝试手动复制链接到解析网站');
    });
})();
长期地址
遇到问题?请前往 GitHub 提 Issues。