// ==UserScript== // @name HUYA Stream URL // @namespace http://tampermonkey.net/ // @version 0.1 // @description 获取虎牙直播流地址 // @author 游客 // @include http://www.huya.com/* // @include https://www.huya.com/* // @grant none // @downloadURL https://update.greasyfork.icu/scripts/387264/HUYA%20Stream%20URL.user.js // @updateURL https://update.greasyfork.icu/scripts/387264/HUYA%20Stream%20URL.meta.js // ==/UserScript== (function() { 'use strict'; function getElementsByClassName(className){ var elems = []; if(!document.getElementsByClassName){ var dom = document.getElementsByTagName("*"); for(var i =0 ;i / | : " * ? fn=fn.replace(":",""); fn=fn.replace("<",""); fn=fn.replace(">",""); fn=fn.replace("/",""); fn=fn.replace("\"",""); fn=fn.replace("*",""); fn=fn.replace("?",""); fn=fn.replace("\\",""); return fn; } var title=deleteInvalidChar(document.getElementById("J_roomTitle").title); var name=deleteInvalidChar(document.getElementsByClassName('host-name')[0].title); var roomid=document.getElementsByClassName('host-rid')[0].innerText; var strNIT=name+'-'+roomid+'-'+title; //alert(strNIT); function heredoc(fn) { return fn.toString().split('\n').slice(1,-1).join('\n') + '\n' } var boxHtml = ''; if(window.TT_ROOM_DATA.state==='OFF'){ boxHtml = '状态: 未开播
'; } if(window.TT_ROOM_DATA.state==='ON'){ boxHtml = '状态: 正在直播 目前 tx 可用
'; boxHtml += '
'; boxHtml += '' boxHtml += '复制
'; try{ var streamInfoList = window.hyPlayerConfig.stream.data[0].gameStreamInfoList; var streamInfo = null; var index = 10; for(var i=0; i'; boxHtml += '' boxHtml += '复制'; //VLC播放 index++; } } } }catch(e){ boxHtml += '解析流数据错误'; console.error(e); } } if(window.TT_ROOM_DATA.state==='REPLAY'){ boxHtml = '状态: 重播
'; boxHtml += '当前处于重播状态,不能解析流数据'; } window.toggleFlvUrlBox = function() { var flvUrlBoxBtn = document.getElementById('flv-url-box-btn'); var flvUrlBox = document.getElementById('flv-url-box'); if(flvUrlBox.style.display==='none'){ flvUrlBox.style.display='block'; }else{ flvUrlBox.style.display='none'; } } window.copyFlvUrl = function(index) { var input = document.getElementById('flv-url-'+index); input.select(); document.execCommand("Copy"); } window.openFlvUrl = function(index) { var input = document.getElementById('flv-url-'+index); var url = input.value; location.href = "vlc://"+url } var wrapper = document.createElement("div"); wrapper.style.display = 'inline-block'; wrapper.innerHTML = heredoc(function(){/*
*/}).replace('__box_html__', boxHtml); document.body.append(wrapper); })();