Trova e Copia m3u8 su YouTube

Aggiungi un'etichetta per copiare il link m3u8 su YouTube

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         Trova e Copia m3u8 su YouTube
// @namespace    http://tampermonkey.net/
// @version      0.5
// @description  Aggiungi un'etichetta per copiare il link m3u8 su YouTube
// @author       You
// @match        https://www.youtube.com/watch?v=*
// @grant        none
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    // Funzione per cercare link m3u8 nel sorgente della pagina
    function findM3u8() {
        // Ottieni il sorgente della pagina
        var sourceCode = document.documentElement.innerHTML;

        // Cerca l'URL m3u8
        var regex = /https:\/\/manifest\.googlevideo\.com\/api\/manifest\/hls_variant\/.*\.m3u8/g;
        var matches = sourceCode.match(regex);

        // Se troviamo un link, creiamo e mostriamo un'etichetta
        if (matches && matches.length > 0) {
            createM3u8Label(matches[0]);
        }
    }

    // Funzione per creare un'etichetta nella pagina
    function createM3u8Label(link) {
        // Crea un nuovo elemento di etichetta
        var label = document.createElement('div');
        label.innerText = 'Copia m3u8';
        label.style.position = 'fixed';
        label.style.bottom = '10px';
        label.style.left = '10px';
        label.style.backgroundColor = '#ffcc00';
        label.style.color = '#000';
        label.style.padding = '10px';
        label.style.borderRadius = '5px';
        label.style.cursor = 'pointer';
        label.style.zIndex = '1000';
        label.style.fontSize = '14px';
        label.style.maxWidth = '300px';
        label.style.overflow = 'hidden';
        label.style.textOverflow = 'ellipsis';

        // Aggiungi un evento click per copiare il link
        label.addEventListener('click', function() {
            // Copia il link negli appunti
            navigator.clipboard.writeText(link).then(function() {
                alert('Link m3u8 copiato negli appunti!');
            }, function(err) {
                alert('Errore nella copia del link: ' + err);
            });
        });

        // Aggiungi l'etichetta al corpo della pagina
        document.body.appendChild(label);
    }

    // Esegui la funzione quando la pagina è completamente caricata
    window.addEventListener('load', findM3u8);
})();