GetSome"m3u8"

获取网页中的m3u8资源

// ==UserScript==
// @name         GetSome"m3u8"
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  获取网页中的m3u8资源
// @author       You
// @match        91porn.com/*
// @match        91porny.com/*
// @match        hsex.icu/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=github.com
// @grant        none
// @license      MIT
// ==/UserScript==


function removeIllegalCharacters(str) {
  // 定义非法字符的正则表达式
  var illegalCharsRegex = /[<>:"\\/|?*\x00-\x1F]/g;

  // 删除非法字符
  var cleanedStr = str.replace(illegalCharsRegex, '');

  return cleanedStr;
}

function isM3U8Url(url) {
  // 剔除问号及其后面的参数
  const cleanUrl = url.split('?')[0];

  // 使用正则表达式判断URL是否以.m3u8结尾
  const regex = /\.m3u8$/;
  return regex.test(cleanUrl);
    
}

function getvalue(input11,input22)
{
// 获取网页标题文本内容
        var title = document.title;
        title=title.replace(" Chinese homemade video","");
        title=removeIllegalCharacters(title);
        input22.value=title;
        console.log('找到标题:', title);
        var sources = document.getElementsByTagName('source');
        var resources = window.performance.getEntries();
        for (var i = 0; i < resources.length; i++) {
            var tmpurl=resources[i].name;
            console.log(tmpurl);
            if (isM3U8Url(tmpurl))
            {
                input11.value=tmpurl;
            }
        }
    /*
        for (var i = 0; i < sources.length; i++)
        {
            var source = sources[i];
            var src = source.getAttribute('src');
            console.log("FindM3u8:",src)
            if (isM3U8Url(src))
            {
                input11.value=src;
            }
        }*/
}

(function() {
   'use strict';

    // 创建悬浮窗元素
    const div = document.createElement('div');
    div.style.position = 'fixed';
    div.style.top = '50%';
    div.style.right = '0';
    div.style.transform = 'translateY(-50%)';
    div.style.width = '400px';
    div.style.height = '200px';
    div.style.borderRadius = '10px';
    div.style.backgroundColor = 'white';
    div.style.border = '2px solid black';
    div.style.zIndex = '9999';

    // 创建容纳输入字段的容器
    const container = document.createElement('div');
    container.style.display = 'flex';
    container.style.flexDirection = 'column';
    container.style.justifyContent = 'center';
    container.style.alignItems = 'center';
    container.style.height = '100%';

    // 创建输入字段
    const input1 = document.createElement('input');
    input1.type = 'text';
    input1.placeholder = 'Input 1';
    input1.style.margin = '10px';
    input1.style.width = '100%';

    const input2 = document.createElement('input');
    input2.type = 'text';
    input2.placeholder = 'Input 2';
    input2.style.margin = '10px';
    input2.style.width = '100%';

    // 添加输入字段到容器
    container.appendChild(input1);
    container.appendChild(input2);

    // 添加容器到悬浮窗
    div.appendChild(container);

    // 创建按钮
    const button = document.createElement('button');
    button.style.position = 'absolute';
    button.style.top = '0';
    button.style.left = '0';
    button.style.width = '20px';
    button.style.height = '20px';
    button.innerText = '-';
    button.onclick = function() {
        if (input1.style.width === '1%') {
            input1.style.width = '100%';
            input2.style.width = '100%';
        } else {
            input1.style.width = '1%';
            input2.style.width = '1%';
        }
        if (div.style.width === '20px') {
            div.style.width = '400px';
            div.style.height = '200px';
        } else {
            div.style.width = '20px';
            div.style.height = '20px';
        }
    };

    // 添加按钮到悬浮窗
    div.appendChild(button);

    // 创建按钮2
    const button2 = document.createElement('button');
    button2.style.position = 'absolute';
    button2.style.top = '0';
    button2.style.left = '30px';
    button2.style.width = '20px';
    button2.style.height = '20px';
    //button2.innerText = 'Log';
    button2.onclick = function() {
        getvalue(input1,input2);
    };

    // 创建刷新图标
    const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
    svg.setAttribute('xmlns', 'http://www.w3.org/2000/svg');
    svg.setAttribute('viewBox', '0 0 24 24');
    svg.innerHTML = '<svg t="1691772491941" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4004" width="32" height="32"><path d="M960 630.4c-12.8-3.2-25.6 3.2-32 12.8-76.8 204.8-320 307.2-544 227.2-224-80-342.4-307.2-265.6-512 76.8-204.8 320-307.2 544-227.2 92.8 32 172.8 92.8 224 172.8l-92.8 0c-12.8 0-25.6 9.6-25.6 22.4 0 12.8 9.6 22.4 25.6 22.4l153.6 0c12.8 0 25.6-9.6 25.6-22.4l0-140.8c0-12.8-9.6-22.4-25.6-22.4-12.8 0-25.6 9.6-25.6 22.4l0 89.6c-57.6-86.4-140.8-150.4-246.4-188.8-249.6-86.4-518.4 28.8-608 256-86.4 230.4 44.8 486.4 294.4 572.8 249.6 86.4 518.4-28.8 608-256C979.2 649.6 972.8 636.8 960 630.4z" p-id="4005"></path></svg>';

    button2.appendChild(svg);
    // 添加按钮2到悬浮窗
    div.appendChild(button2);


    // 添加悬浮窗到文档主体
    document.body.appendChild(div);
    // Wait for the page to finish loading
/*网页加载完成后执行的程序*/
    window.addEventListener("load",function(){
getvalue(input1,input2);

    });
   
})();