mirror of
https://github.com/ls125781003/tvboxtg.git
synced 2026-11-02 01:33:44 +00:00
0805
This commit is contained in:
1 parent
8bac882abc
commit
2eaa9d879e
38 files changed
+987
-14924
No files matched your search
+1
-24
@@ -253,16 +253,6 @@
|
|||||||
"api": "csp_SuBaiBai",
|
"api": "csp_SuBaiBai",
|
||||||
"ext": "https://www.subaibai.com"
|
"ext": "https://www.subaibai.com"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"key": "csp_Quanwk",
|
|
||||||
"name": "👀全看",
|
|
||||||
"type": 3,
|
|
||||||
"api": "csp_Quanwk",
|
|
||||||
"searchable": 1,
|
|
||||||
"quickSearch": 1,
|
|
||||||
"filterable": 1,
|
|
||||||
"ext": "https://www.91qkw.com"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"key": "可可",
|
"key": "可可",
|
||||||
"name": "☕️可可",
|
"name": "☕️可可",
|
||||||
@@ -684,7 +674,7 @@
|
|||||||
"changeable": 0,
|
"changeable": 0,
|
||||||
"ext": {
|
"ext": {
|
||||||
"commonConfig": "./json/peizhi.json",
|
"commonConfig": "./json/peizhi.json",
|
||||||
"siteUrl": "http://123.666291.xyz/",
|
"siteUrl": "https://123.91muou.icu/",
|
||||||
"filter": "./json/wogg.json"
|
"filter": "./json/wogg.json"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -778,19 +768,6 @@
|
|||||||
"commonConfig": "./json/peizhi.json"
|
"commonConfig": "./json/peizhi.json"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"key": "软件下载",
|
|
||||||
"name": "🅿软件下载",
|
|
||||||
"type": 3,
|
|
||||||
"api": "csp_网盘集合",
|
|
||||||
"searchable": 0,
|
|
||||||
"filterable": 0,
|
|
||||||
"switchable": 0,
|
|
||||||
"ext": {
|
|
||||||
"commonConfig": "./json/peizhi.json",
|
|
||||||
"share": "./json/apk.json"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"key": "游戏直播",
|
"key": "游戏直播",
|
||||||
"name": "🙀游戏直播",
|
"name": "🙀游戏直播",
|
||||||
|
|||||||
@@ -1,68 +0,0 @@
|
|||||||
/***
|
|
||||||
* gbk编码解码函数
|
|
||||||
* strTool = gbkTool() strTool.encode(key)
|
|
||||||
* @returns {{encode: (function(*): *), decode: (function(*): *)}}
|
|
||||||
*/
|
|
||||||
export function gbkTool(){
|
|
||||||
var data=function(zipData){
|
|
||||||
var re=zipData
|
|
||||||
.replace(/#(\d+)\$/g,function(a,b){
|
|
||||||
return Array(+b+3).join('#');
|
|
||||||
})
|
|
||||||
.replace(/#/g,'####')
|
|
||||||
.replace(/(\w\w):([\w#]+)(?:,|$)/g,function(a,hd,dt){
|
|
||||||
return dt.replace(/../g,function(a){
|
|
||||||
if(a!='##'){
|
|
||||||
return hd+a;
|
|
||||||
}else{
|
|
||||||
return a;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
return re;
|
|
||||||
}('4e:020405060f12171f20212326292e2f313335373c40414244464a5155575a5b6263646567686a6b6c6d6e6f727475767778797a7b7c7d7f808182838485878a#909697999c9d9ea3aaafb0b1b4b6b7b8b9bcbdbec8cccfd0d2dadbdce0e2e6e7e9edeeeff1f4f8f9fafcfe,4f:00020304050607080b0c12131415161c1d212328292c2d2e31333537393b3e3f40414244454748494a4b4c525456616266686a6b6d6e7172757778797a7d8081828586878a8c8e909293959698999a9c9e9fa1a2a4abadb0b1b2b3b4b6b7b8b9babbbcbdbec0c1c2c6c7c8c9cbcccdd2d3d4d5d6d9dbe0e2e4e5e7ebecf0f2f4f5f6f7f9fbfcfdff,50:000102030405060708090a#0b0e1011131516171b1d1e20222324272b2f303132333435363738393b3d3f404142444546494a4b4d5051525354565758595b5d5e5f6061626364666768696a6b6d6e6f70717273747578797a7c7d818283848687898a8b8c8e8f909192939495969798999a9b9c9d9e9fa0a1a2a4a6aaabadaeafb0b1b3b4b5b6b7b8b9bcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdced0d1d2d3d4d5d7d8d9dbdcdddedfe0e1e2e3e4e5e8e9eaebeff0f1f2f4f6f7f8f9fafcfdfeff,51:00010203040508#090a0c0d0e0f1011131415161718191a1b1c1d1e1f2022232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e42474a4c4e4f5052535758595b5d5e5f606163646667696a6f727a7e7f838486878a8b8e8f90919394989a9d9e9fa1a3a6a7a8a9aaadaeb4b8b9babebfc1c2c3c5c8cacdced0d2d3d4d5d6d7d8d9dadcdedfe2e3e5e6e7e8e9eaeceef1f2f4f7fe,52:0405090b0c0f101314151c1e1f2122232526272a2c2f313234353c3e4445464748494b4e4f5253555758#595a5b5d5f6062636466686b6c6d6e7071737475767778797a7b7c7e808384858687898a8b8c8d8e8f91929495969798999a9ca4a5a6a7aeafb0b4b5b6b7b8b9babbbcbdc0c1c2c4c5c6c8cacccdcecfd1d3d4d5d7d9dadbdcdddee0e1e2e3e5e6e7e8e9eaebecedeeeff1f2f3f4f5f6f7f8fbfcfd,53:0102030407090a0b0c0e11121314181b1c1e1f2224252728292b2c2d2f3031323334353637383c3d404244464b4c4d505458595b5d65686a6c6d7276797b7c7d7e80818387888a8e8f#90919293949697999b9c9ea0a1a4a7aaabacadafb0b1b2b3b4b5b7b8b9babcbdbec0c3c4c5c6c7cecfd0d2d3d5dadcdddee1e2e7f4fafeff,54:000205070b1418191a1c2224252a303336373a3d3f4142444547494c4d4e4f515a5d5e5f6061636567696a6b6c6d6e6f7074797a7e7f8183858788898a8d919397989c9e9fa0a1a2a5aeb0b2b5b6b7b9babcbec3c5cacbd6d8dbe0e1e2e3e4ebeceff0f1f4f5f6f7f8f9fbfe,55:0002030405080a0b0c0d0e121315161718191a1c1d1e1f212526#28292b2d3234353638393a3b3d40424547484b4c4d4e4f515253545758595a5b5d5e5f60626368696b6f7071727374797a7d7f85868c8d8e9092939596979a9b9ea0a1a2a3a4a5a6a8a9aaabacadaeafb0b2b4b6b8babcbfc0c1c2c3c6c7c8cacbcecfd0d5d7d8d9dadbdee0e2e7e9edeef0f1f4f6f8f9fafbfcff,56:0203040506070a0b0d1011121314151617191a1c1d202122252628292a2b2e2f30333537383a3c3d3e404142434445464748494a4b4f5051525355565a5b5d5e5f6061#636566676d6e6f70727374757778797a7d7e7f80818283848788898a8b8c8d9091929495969798999a9b9c9d9e9fa0a1a2a4a5a6a7a8a9aaabacadaeb0b1b2b3b4b5b6b8b9babbbdbebfc0c1c2c3c4c5c6c7c8c9cbcccdcecfd0d1d2d3d5d6d8d9dce3e5e6e7e8e9eaeceeeff2f3f6f7f8fbfc,57:00010205070b0c0d0e0f101112131415161718191a1b1d1e202122242526272b313234353637383c3d3f414344454648494b52535455565859626365676c6e707172747578797a7d7e7f80#818788898a8d8e8f90919495969798999a9c9d9e9fa5a8aaacafb0b1b3b5b6b7b9babbbcbdbebfc0c1c4c5c6c7c8c9cacccdd0d1d3d6d7dbdcdee1e2e3e5e6e7e8e9eaebeceef0f1f2f3f5f6f7fbfcfeff,58:0103040508090a0c0e0f101213141617181a1b1c1d1f222325262728292b2c2d2e2f31323334363738393a3b3c3d3e3f4041424345464748494a4b4e4f505253555657595a5b5c5d5f6061626364666768696a6d6e6f707172737475767778797a7b7c7d7f82848687888a8b8c#8d8e8f909194959697989b9c9da0a1a2a3a4a5a6a7aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbdbebfc0c2c3c4c6c7c8c9cacbcccdcecfd0d2d3d4d6d7d8d9dadbdcdddedfe0e1e2e3e5e6e7e8e9eaedeff1f2f4f5f7f8fafbfcfdfeff,59:000103050608090a0b0c0e1011121317181b1d1e2021222326282c30323335363b3d3e3f404345464a4c4d505253595b5c5d5e5f616364666768696a6b6c6d6e6f70717275777a7b7c7e7f8085898b8c8e8f90919495989a9b9c9d9fa0a1a2a6#a7acadb0b1b3b4b5b6b7b8babcbdbfc0c1c2c3c4c5c7c8c9cccdcecfd5d6d9dbdedfe0e1e2e4e6e7e9eaebedeeeff0f1f2f3f4f5f6f7f8fafcfdfe,5a:00020a0b0d0e0f101214151617191a1b1d1e2122242627282a2b2c2d2e2f3033353738393a3b3d3e3f414243444547484b4c4d4e4f5051525354565758595b5c5d5e5f60616364656668696b6c6d6e6f7071727378797b7c7d7e808182838485868788898a8b8c8d8e8f9091939495969798999c9d9e9fa0a1a2a3a4a5a6a7a8a9abac#adaeafb0b1b4b6b7b9babbbcbdbfc0c3c4c5c6c7c8cacbcdcecfd0d1d3d5d7d9dadbdddedfe2e4e5e7e8eaecedeeeff0f2f3f4f5f6f7f8f9fafbfcfdfeff,5b:0001020304050607080a0b0c0d0e0f10111213141518191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303133353638393a3b3c3d3e3f4142434445464748494a4b4c4d4e4f52565e606167686b6d6e6f7274767778797b7c7e7f82868a8d8e90919294969fa7a8a9acadaeafb1b2b7babbbcc0c1c3c8c9cacbcdcecf#d1d4d5d6d7d8d9dadbdce0e2e3e6e7e9eaebecedeff1f2f3f4f5f6f7fdfe,5c:0002030507080b0c0d0e10121317191b1e1f2021232628292a2b2d2e2f303233353637434446474c4d5253545657585a5b5c5d5f62646768696a6b6c6d70727374757677787b7c7d7e808384858687898a8b8e8f9293959d9e9fa0a1a4a5a6a7a8aaaeafb0b2b4b6b9babbbcbec0c2c3c5c6c7c8c9cacccdcecfd0d1d3d4d5d6d7d8dadbdcdddedfe0e2e3e7e9ebeceeeff1f2f3f4f5f6f7f8f9fafcfdfeff,5d:00#01040508090a0b0c0d0f10111213151718191a1c1d1f2021222325282a2b2c2f3031323335363738393a3b3c3f4041424344454648494d4e4f5051525354555657595a5c5e5f6061626364656667686a6d6e7071727375767778797a7b7c7d7e7f8081838485868788898a8b8c8d8e8f90Line truncated
|
|
||||||
U2Ghash={},
|
|
||||||
G2Uhash={};
|
|
||||||
!function(data){
|
|
||||||
var k=0;
|
|
||||||
data=data.match(/..../g);
|
|
||||||
for(var i=0x81;i<=0xfe;i++){
|
|
||||||
for(var j=0x40;j<=0xFE;j++){
|
|
||||||
U2Ghash[data[k++]]=('%'+i.toString(16)+'%'+j.toString(16))
|
|
||||||
.toUpperCase();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for(var key in U2Ghash){
|
|
||||||
G2Uhash[U2Ghash[key]]=key;
|
|
||||||
}
|
|
||||||
}(data);
|
|
||||||
function isAscii(unicode) {
|
|
||||||
return ((unicode == 0x20AC) || (unicode <= 0x007F && unicode >= 0x0000));
|
|
||||||
}
|
|
||||||
return{
|
|
||||||
encode:function(str){
|
|
||||||
return str.replace(/./g,function(a){
|
|
||||||
var code=a.charCodeAt(0);
|
|
||||||
if(isAscii(code)){
|
|
||||||
return encodeURIComponent(a);
|
|
||||||
}else{
|
|
||||||
var key=code.toString(16);
|
|
||||||
if(key.length!=4)key=('000'+key).match(/....$/)[0];
|
|
||||||
return U2Ghash[key]||a;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
decode:function(str){
|
|
||||||
return str.replace(/%[0-9A-F]{2}%[0-9A-F]{2}/g,function(a){
|
|
||||||
if(a in G2Uhash){
|
|
||||||
return String.fromCharCode('0x'+G2Uhash[a]);
|
|
||||||
}else{
|
|
||||||
return a;
|
|
||||||
}
|
|
||||||
}).replace(/%[\w]{2}/g,function(a){
|
|
||||||
return decodeURIComponent(a);
|
|
||||||
|
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
-577
@@ -1,577 +0,0 @@
|
|||||||
/*!
|
|
||||||
* Jinja Templating for JavaScript v0.1.8
|
|
||||||
* https://github.com/sstur/jinja-js
|
|
||||||
*
|
|
||||||
* This is a slimmed-down Jinja2 implementation [http://jinja.pocoo.org/]
|
|
||||||
*
|
|
||||||
* In the interest of simplicity, it deviates from Jinja2 as follows:
|
|
||||||
* - Line statements, cycle, super, macro tags and block nesting are not implemented
|
|
||||||
* - auto escapes html by default (the filter is "html" not "e")
|
|
||||||
* - Only "html" and "safe" filters are built in
|
|
||||||
* - Filters are not valid in expressions; `foo|length > 1` is not valid
|
|
||||||
* - Expression Tests (`if num is odd`) not implemented (`is` translates to `==` and `isnot` to `!=`)
|
|
||||||
*
|
|
||||||
* Notes:
|
|
||||||
* - if property is not found, but method '_get' exists, it will be called with the property name (and cached)
|
|
||||||
* - `{% for n in obj %}` iterates the object's keys; get the value with `{% for n in obj %}{{ obj[n] }}{% endfor %}`
|
|
||||||
* - subscript notation `a[0]` takes literals or simple variables but not `a[item.key]`
|
|
||||||
* - `.2` is not a valid number literal; use `0.2`
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/*global require, exports, module, define */
|
|
||||||
|
|
||||||
(function (global, factory) {
|
|
||||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
|
||||||
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
|
||||||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.jinja = {}));
|
|
||||||
})(this, (function (jinja) {
|
|
||||||
"use strict";
|
|
||||||
var STRINGS = /'(\\.|[^'])*'|"(\\.|[^"'"])*"/g;
|
|
||||||
var IDENTS_AND_NUMS = /([$_a-z][$\w]*)|([+-]?\d+(\.\d+)?)/g;
|
|
||||||
var NUMBER = /^[+-]?\d+(\.\d+)?$/;
|
|
||||||
//non-primitive literals (array and object literals)
|
|
||||||
var NON_PRIMITIVES = /\[[@#~](,[@#~])*\]|\[\]|\{([@i]:[@#~])(,[@i]:[@#~])*\}|\{\}/g;
|
|
||||||
//bare identifiers such as variables and in object literals: {foo: 'value'}
|
|
||||||
var IDENTIFIERS = /[$_a-z][$\w]*/ig;
|
|
||||||
var VARIABLES = /i(\.i|\[[@#i]\])*/g;
|
|
||||||
var ACCESSOR = /(\.i|\[[@#i]\])/g;
|
|
||||||
var OPERATORS = /(===?|!==?|>=?|<=?|&&|\|\||[+\-\*\/%])/g;
|
|
||||||
//extended (english) operators
|
|
||||||
var EOPS = /(^|[^$\w])(and|or|not|is|isnot)([^$\w]|$)/g;
|
|
||||||
var LEADING_SPACE = /^\s+/;
|
|
||||||
var TRAILING_SPACE = /\s+$/;
|
|
||||||
|
|
||||||
var START_TOKEN = /\{\{\{|\{\{|\{%|\{#/;
|
|
||||||
var TAGS = {
|
|
||||||
'{{{': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}\}/,
|
|
||||||
'{{': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}/,
|
|
||||||
'{%': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?%\}/,
|
|
||||||
'{#': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?#\}/
|
|
||||||
};
|
|
||||||
|
|
||||||
var delimeters = {
|
|
||||||
'{%': 'directive',
|
|
||||||
'{{': 'output',
|
|
||||||
'{#': 'comment'
|
|
||||||
};
|
|
||||||
|
|
||||||
var operators = {
|
|
||||||
and: '&&',
|
|
||||||
or: '||',
|
|
||||||
not: '!',
|
|
||||||
is: '==',
|
|
||||||
isnot: '!='
|
|
||||||
};
|
|
||||||
|
|
||||||
var constants = {
|
|
||||||
'true': true,
|
|
||||||
'false': false,
|
|
||||||
'null': null
|
|
||||||
};
|
|
||||||
|
|
||||||
function Parser() {
|
|
||||||
this.nest = [];
|
|
||||||
this.compiled = [];
|
|
||||||
this.childBlocks = 0;
|
|
||||||
this.parentBlocks = 0;
|
|
||||||
this.isSilent = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
Parser.prototype.push = function (line) {
|
|
||||||
if (!this.isSilent) {
|
|
||||||
this.compiled.push(line);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.parse = function (src) {
|
|
||||||
this.tokenize(src);
|
|
||||||
return this.compiled;
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.tokenize = function (src) {
|
|
||||||
var lastEnd = 0, parser = this, trimLeading = false;
|
|
||||||
matchAll(src, START_TOKEN, function (open, index, src) {
|
|
||||||
//here we match the rest of the src against a regex for this tag
|
|
||||||
var match = src.slice(index + open.length).match(TAGS[open]);
|
|
||||||
match = (match ? match[0] : '');
|
|
||||||
//here we sub out strings so we don't get false matches
|
|
||||||
var simplified = match.replace(STRINGS, '@');
|
|
||||||
//if we don't have a close tag or there is a nested open tag
|
|
||||||
if (!match || ~simplified.indexOf(open)) {
|
|
||||||
return index + 1;
|
|
||||||
}
|
|
||||||
var inner = match.slice(0, 0 - open.length);
|
|
||||||
//check for white-space collapse syntax
|
|
||||||
if (inner.charAt(0) === '-') var wsCollapseLeft = true;
|
|
||||||
if (inner.slice(-1) === '-') var wsCollapseRight = true;
|
|
||||||
inner = inner.replace(/^-|-$/g, '').trim();
|
|
||||||
//if we're in raw mode and we are not looking at an "endraw" tag, move along
|
|
||||||
if (parser.rawMode && (open + inner) !== '{%endraw') {
|
|
||||||
return index + 1;
|
|
||||||
}
|
|
||||||
var text = src.slice(lastEnd, index);
|
|
||||||
lastEnd = index + open.length + match.length;
|
|
||||||
if (trimLeading) text = trimLeft(text);
|
|
||||||
if (wsCollapseLeft) text = trimRight(text);
|
|
||||||
if (wsCollapseRight) trimLeading = true;
|
|
||||||
if (open === '{{{') {
|
|
||||||
//liquid-style: make {{{x}}} => {{x|safe}}
|
|
||||||
open = '{{';
|
|
||||||
inner += '|safe';
|
|
||||||
}
|
|
||||||
parser.textHandler(text);
|
|
||||||
parser.tokenHandler(open, inner);
|
|
||||||
});
|
|
||||||
var text = src.slice(lastEnd);
|
|
||||||
if (trimLeading) text = trimLeft(text);
|
|
||||||
this.textHandler(text);
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.textHandler = function (text) {
|
|
||||||
this.push('write(' + JSON.stringify(text) + ');');
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.tokenHandler = function (open, inner) {
|
|
||||||
var type = delimeters[open];
|
|
||||||
if (type === 'directive') {
|
|
||||||
this.compileTag(inner);
|
|
||||||
} else if (type === 'output') {
|
|
||||||
var extracted = this.extractEnt(inner, STRINGS, '@');
|
|
||||||
//replace || operators with ~
|
|
||||||
extracted.src = extracted.src.replace(/\|\|/g, '~').split('|');
|
|
||||||
//put back || operators
|
|
||||||
extracted.src = extracted.src.map(function (part) {
|
|
||||||
return part.split('~').join('||');
|
|
||||||
});
|
|
||||||
var parts = this.injectEnt(extracted, '@');
|
|
||||||
if (parts.length > 1) {
|
|
||||||
var filters = parts.slice(1).map(this.parseFilter.bind(this));
|
|
||||||
this.push('filter(' + this.parseExpr(parts[0]) + ',' + filters.join(',') + ');');
|
|
||||||
} else {
|
|
||||||
this.push('filter(' + this.parseExpr(parts[0]) + ');');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.compileTag = function (str) {
|
|
||||||
var directive = str.split(' ')[0];
|
|
||||||
var handler = tagHandlers[directive];
|
|
||||||
if (!handler) {
|
|
||||||
throw new Error('Invalid tag: ' + str);
|
|
||||||
}
|
|
||||||
handler.call(this, str.slice(directive.length).trim());
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.parseFilter = function (src) {
|
|
||||||
src = src.trim();
|
|
||||||
var match = src.match(/[:(]/);
|
|
||||||
var i = match ? match.index : -1;
|
|
||||||
if (i < 0) return JSON.stringify([src]);
|
|
||||||
var name = src.slice(0, i);
|
|
||||||
var args = src.charAt(i) === ':' ? src.slice(i + 1) : src.slice(i + 1, -1);
|
|
||||||
args = this.parseExpr(args, {terms: true});
|
|
||||||
return '[' + JSON.stringify(name) + ',' + args + ']';
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.extractEnt = function (src, regex, placeholder) {
|
|
||||||
var subs = [], isFunc = typeof placeholder == 'function';
|
|
||||||
src = src.replace(regex, function (str) {
|
|
||||||
var replacement = isFunc ? placeholder(str) : placeholder;
|
|
||||||
if (replacement) {
|
|
||||||
subs.push(str);
|
|
||||||
return replacement;
|
|
||||||
}
|
|
||||||
return str;
|
|
||||||
});
|
|
||||||
return {src: src, subs: subs};
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.injectEnt = function (extracted, placeholder) {
|
|
||||||
var src = extracted.src, subs = extracted.subs, isArr = Array.isArray(src);
|
|
||||||
var arr = (isArr) ? src : [src];
|
|
||||||
var re = new RegExp('[' + placeholder + ']', 'g'), i = 0;
|
|
||||||
arr.forEach(function (src, index) {
|
|
||||||
arr[index] = src.replace(re, function () {
|
|
||||||
return subs[i++];
|
|
||||||
});
|
|
||||||
});
|
|
||||||
return isArr ? arr : arr[0];
|
|
||||||
};
|
|
||||||
|
|
||||||
//replace complex literals without mistaking subscript notation with array literals
|
|
||||||
Parser.prototype.replaceComplex = function (s) {
|
|
||||||
var parsed = this.extractEnt(s, /i(\.i|\[[@#i]\])+/g, 'v');
|
|
||||||
parsed.src = parsed.src.replace(NON_PRIMITIVES, '~');
|
|
||||||
return this.injectEnt(parsed, 'v');
|
|
||||||
};
|
|
||||||
|
|
||||||
//parse expression containing literals (including objects/arrays) and variables (including dot and subscript notation)
|
|
||||||
//valid expressions: `a + 1 > b.c or c == null`, `a and b[1] != c`, `(a < b) or (c < d and e)`, 'a || [1]`
|
|
||||||
Parser.prototype.parseExpr = function (src, opts) {
|
|
||||||
opts = opts || {};
|
|
||||||
//extract string literals -> @
|
|
||||||
var parsed1 = this.extractEnt(src, STRINGS, '@');
|
|
||||||
//note: this will catch {not: 1} and a.is; could we replace temporarily and then check adjacent chars?
|
|
||||||
parsed1.src = parsed1.src.replace(EOPS, function (s, before, op, after) {
|
|
||||||
return (op in operators) ? before + operators[op] + after : s;
|
|
||||||
});
|
|
||||||
//sub out non-string literals (numbers/true/false/null) -> #
|
|
||||||
// the distinction is necessary because @ can be object identifiers, # cannot
|
|
||||||
var parsed2 = this.extractEnt(parsed1.src, IDENTS_AND_NUMS, function (s) {
|
|
||||||
return (s in constants || NUMBER.test(s)) ? '#' : null;
|
|
||||||
});
|
|
||||||
//sub out object/variable identifiers -> i
|
|
||||||
var parsed3 = this.extractEnt(parsed2.src, IDENTIFIERS, 'i');
|
|
||||||
//remove white-space
|
|
||||||
parsed3.src = parsed3.src.replace(/\s+/g, '');
|
|
||||||
|
|
||||||
//the rest of this is simply to boil the expression down and check validity
|
|
||||||
var simplified = parsed3.src;
|
|
||||||
//sub out complex literals (objects/arrays) -> ~
|
|
||||||
// the distinction is necessary because @ and # can be subscripts but ~ cannot
|
|
||||||
while (simplified !== (simplified = this.replaceComplex(simplified))) ;
|
|
||||||
//now @ represents strings, # represents other primitives and ~ represents non-primitives
|
|
||||||
//replace complex variables (those with dot/subscript accessors) -> v
|
|
||||||
while (simplified !== (simplified = simplified.replace(/i(\.i|\[[@#i]\])+/, 'v'))) ;
|
|
||||||
//empty subscript or complex variables in subscript, are not permitted
|
|
||||||
simplified = simplified.replace(/[iv]\[v?\]/g, 'x');
|
|
||||||
//sub in "i" for @ and # and ~ and v (now "i" represents all literals, variables and identifiers)
|
|
||||||
simplified = simplified.replace(/[@#~v]/g, 'i');
|
|
||||||
//sub out operators
|
|
||||||
simplified = simplified.replace(OPERATORS, '%');
|
|
||||||
//allow 'not' unary operator
|
|
||||||
simplified = simplified.replace(/!+[i]/g, 'i');
|
|
||||||
var terms = opts.terms ? simplified.split(',') : [simplified];
|
|
||||||
terms.forEach(function (term) {
|
|
||||||
//simplify logical grouping
|
|
||||||
while (term !== (term = term.replace(/\(i(%i)*\)/g, 'i'))) ;
|
|
||||||
if (!term.match(/^i(%i)*/)) {
|
|
||||||
throw new Error('Invalid expression: ' + src + " " + term);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
parsed3.src = parsed3.src.replace(VARIABLES, this.parseVar.bind(this));
|
|
||||||
parsed2.src = this.injectEnt(parsed3, 'i');
|
|
||||||
parsed1.src = this.injectEnt(parsed2, '#');
|
|
||||||
return this.injectEnt(parsed1, '@');
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.parseVar = function (src) {
|
|
||||||
var args = Array.prototype.slice.call(arguments);
|
|
||||||
var str = args.pop(), index = args.pop();
|
|
||||||
//quote bare object identifiers (might be a reserved word like {while: 1})
|
|
||||||
if (src === 'i' && str.charAt(index + 1) === ':') {
|
|
||||||
return '"i"';
|
|
||||||
}
|
|
||||||
var parts = ['"i"'];
|
|
||||||
src.replace(ACCESSOR, function (part) {
|
|
||||||
if (part === '.i') {
|
|
||||||
parts.push('"i"');
|
|
||||||
} else if (part === '[i]') {
|
|
||||||
parts.push('get("i")');
|
|
||||||
} else {
|
|
||||||
parts.push(part.slice(1, -1));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return 'get(' + parts.join(',') + ')';
|
|
||||||
};
|
|
||||||
|
|
||||||
//escapes a name to be used as a javascript identifier
|
|
||||||
Parser.prototype.escName = function (str) {
|
|
||||||
return str.replace(/\W/g, function (s) {
|
|
||||||
return '$' + s.charCodeAt(0).toString(16);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.parseQuoted = function (str) {
|
|
||||||
if (str.charAt(0) === "'") {
|
|
||||||
str = str.slice(1, -1).replace(/\\.|"/, function (s) {
|
|
||||||
if (s === "\\'") return "'";
|
|
||||||
return s.charAt(0) === '\\' ? s : ('\\' + s);
|
|
||||||
});
|
|
||||||
str = '"' + str + '"';
|
|
||||||
}
|
|
||||||
//todo: try/catch or deal with invalid characters (linebreaks, control characters)
|
|
||||||
return JSON.parse(str);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
//the context 'this' inside tagHandlers is the parser instance
|
|
||||||
var tagHandlers = {
|
|
||||||
'if': function (expr) {
|
|
||||||
this.push('if (' + this.parseExpr(expr) + ') {');
|
|
||||||
this.nest.unshift('if');
|
|
||||||
},
|
|
||||||
'else': function () {
|
|
||||||
if (this.nest[0] === 'for') {
|
|
||||||
this.push('}, function() {');
|
|
||||||
} else {
|
|
||||||
this.push('} else {');
|
|
||||||
}
|
|
||||||
},
|
|
||||||
'elseif': function (expr) {
|
|
||||||
this.push('} else if (' + this.parseExpr(expr) + ') {');
|
|
||||||
},
|
|
||||||
'endif': function () {
|
|
||||||
this.nest.shift();
|
|
||||||
this.push('}');
|
|
||||||
},
|
|
||||||
'for': function (str) {
|
|
||||||
var i = str.indexOf(' in ');
|
|
||||||
var name = str.slice(0, i).trim();
|
|
||||||
var expr = str.slice(i + 4).trim();
|
|
||||||
this.push('each(' + this.parseExpr(expr) + ',' + JSON.stringify(name) + ',function() {');
|
|
||||||
this.nest.unshift('for');
|
|
||||||
},
|
|
||||||
'endfor': function () {
|
|
||||||
this.nest.shift();
|
|
||||||
this.push('});');
|
|
||||||
},
|
|
||||||
'raw': function () {
|
|
||||||
this.rawMode = true;
|
|
||||||
},
|
|
||||||
'endraw': function () {
|
|
||||||
this.rawMode = false;
|
|
||||||
},
|
|
||||||
'set': function (stmt) {
|
|
||||||
var i = stmt.indexOf('=');
|
|
||||||
var name = stmt.slice(0, i).trim();
|
|
||||||
var expr = stmt.slice(i + 1).trim();
|
|
||||||
this.push('set(' + JSON.stringify(name) + ',' + this.parseExpr(expr) + ');');
|
|
||||||
},
|
|
||||||
'block': function (name) {
|
|
||||||
if (this.isParent) {
|
|
||||||
++this.parentBlocks;
|
|
||||||
var blockName = 'block_' + (this.escName(name) || this.parentBlocks);
|
|
||||||
this.push('block(typeof ' + blockName + ' == "function" ? ' + blockName + ' : function() {');
|
|
||||||
} else if (this.hasParent) {
|
|
||||||
this.isSilent = false;
|
|
||||||
++this.childBlocks;
|
|
||||||
blockName = 'block_' + (this.escName(name) || this.childBlocks);
|
|
||||||
this.push('function ' + blockName + '() {');
|
|
||||||
}
|
|
||||||
this.nest.unshift('block');
|
|
||||||
},
|
|
||||||
'endblock': function () {
|
|
||||||
this.nest.shift();
|
|
||||||
if (this.isParent) {
|
|
||||||
this.push('});');
|
|
||||||
} else if (this.hasParent) {
|
|
||||||
this.push('}');
|
|
||||||
this.isSilent = true;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
'extends': function (name) {
|
|
||||||
name = this.parseQuoted(name);
|
|
||||||
var parentSrc = this.readTemplateFile(name);
|
|
||||||
this.isParent = true;
|
|
||||||
this.tokenize(parentSrc);
|
|
||||||
this.isParent = false;
|
|
||||||
this.hasParent = true;
|
|
||||||
//silence output until we enter a child block
|
|
||||||
this.isSilent = true;
|
|
||||||
},
|
|
||||||
'include': function (name) {
|
|
||||||
name = this.parseQuoted(name);
|
|
||||||
var incSrc = this.readTemplateFile(name);
|
|
||||||
this.isInclude = true;
|
|
||||||
this.tokenize(incSrc);
|
|
||||||
this.isInclude = false;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
//liquid style
|
|
||||||
tagHandlers.assign = tagHandlers.set;
|
|
||||||
//python/django style
|
|
||||||
tagHandlers.elif = tagHandlers.elseif;
|
|
||||||
|
|
||||||
var getRuntime = function runtime(data, opts) {
|
|
||||||
var defaults = {autoEscape: 'toJson'};
|
|
||||||
var _toString = Object.prototype.toString;
|
|
||||||
var _hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
||||||
var getKeys = Object.keys || function (obj) {
|
|
||||||
var keys = [];
|
|
||||||
for (var n in obj) if (_hasOwnProperty.call(obj, n)) keys.push(n);
|
|
||||||
return keys;
|
|
||||||
};
|
|
||||||
var isArray = Array.isArray || function (obj) {
|
|
||||||
return _toString.call(obj) === '[object Array]';
|
|
||||||
};
|
|
||||||
var create = Object.create || function (obj) {
|
|
||||||
function F() {
|
|
||||||
}
|
|
||||||
|
|
||||||
F.prototype = obj;
|
|
||||||
return new F();
|
|
||||||
};
|
|
||||||
var toString = function (val) {
|
|
||||||
if (val == null) return '';
|
|
||||||
return (typeof val.toString == 'function') ? val.toString() : _toString.call(val);
|
|
||||||
};
|
|
||||||
var extend = function (dest, src) {
|
|
||||||
var keys = getKeys(src);
|
|
||||||
for (var i = 0, len = keys.length; i < len; i++) {
|
|
||||||
var key = keys[i];
|
|
||||||
dest[key] = src[key];
|
|
||||||
}
|
|
||||||
return dest;
|
|
||||||
};
|
|
||||||
//get a value, lexically, starting in current context; a.b -> get("a","b")
|
|
||||||
var get = function () {
|
|
||||||
var val, n = arguments[0], c = stack.length;
|
|
||||||
while (c--) {
|
|
||||||
val = stack[c][n];
|
|
||||||
if (typeof val != 'undefined') break;
|
|
||||||
}
|
|
||||||
for (var i = 1, len = arguments.length; i < len; i++) {
|
|
||||||
if (val == null) continue;
|
|
||||||
n = arguments[i];
|
|
||||||
val = (_hasOwnProperty.call(val, n)) ? val[n] : (typeof val._get == 'function' ? (val[n] = val._get(n)) : null);
|
|
||||||
}
|
|
||||||
return (val == null) ? '' : val;
|
|
||||||
};
|
|
||||||
var set = function (n, val) {
|
|
||||||
stack[stack.length - 1][n] = val;
|
|
||||||
};
|
|
||||||
var push = function (ctx) {
|
|
||||||
stack.push(ctx || {});
|
|
||||||
};
|
|
||||||
var pop = function () {
|
|
||||||
stack.pop();
|
|
||||||
};
|
|
||||||
var write = function (str) {
|
|
||||||
output.push(str);
|
|
||||||
};
|
|
||||||
var filter = function (val) {
|
|
||||||
for (var i = 1, len = arguments.length; i < len; i++) {
|
|
||||||
var arr = arguments[i], name = arr[0], filter = filters[name];
|
|
||||||
if (filter) {
|
|
||||||
arr[0] = val;
|
|
||||||
//now arr looks like [val, arg1, arg2]
|
|
||||||
val = filter.apply(data, arr);
|
|
||||||
} else {
|
|
||||||
throw new Error('Invalid filter: ' + name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (opts.autoEscape && name !== opts.autoEscape && name !== 'safe') {
|
|
||||||
//auto escape if not explicitly safe or already escaped
|
|
||||||
val = filters[opts.autoEscape].call(data, val);
|
|
||||||
}
|
|
||||||
output.push(val);
|
|
||||||
};
|
|
||||||
var each = function (obj, loopvar, fn1, fn2) {
|
|
||||||
if (obj == null) return;
|
|
||||||
var arr = isArray(obj) ? obj : getKeys(obj), len = arr.length;
|
|
||||||
var ctx = {loop: {length: len, first: arr[0], last: arr[len - 1]}};
|
|
||||||
push(ctx);
|
|
||||||
for (var i = 0; i < len; i++) {
|
|
||||||
extend(ctx.loop, {index: i + 1, index0: i});
|
|
||||||
fn1(ctx[loopvar] = arr[i]);
|
|
||||||
}
|
|
||||||
if (len === 0 && fn2) fn2();
|
|
||||||
pop();
|
|
||||||
};
|
|
||||||
var block = function (fn) {
|
|
||||||
push();
|
|
||||||
fn();
|
|
||||||
pop();
|
|
||||||
};
|
|
||||||
var render = function () {
|
|
||||||
return output.join('');
|
|
||||||
};
|
|
||||||
data = data || {};
|
|
||||||
opts = extend(defaults, opts || {});
|
|
||||||
var filters = extend({
|
|
||||||
html: function (val) {
|
|
||||||
return toString(val)
|
|
||||||
.split('&').join('&')
|
|
||||||
.split('<').join('<')
|
|
||||||
.split('>').join('>')
|
|
||||||
.split('"').join('"');
|
|
||||||
},
|
|
||||||
safe: function (val) {
|
|
||||||
return val;
|
|
||||||
},
|
|
||||||
toJson: function (val) {
|
|
||||||
if (typeof val === 'object') {
|
|
||||||
return JSON.stringify(val);
|
|
||||||
}
|
|
||||||
return toString(val);
|
|
||||||
}
|
|
||||||
}, opts.filters || {});
|
|
||||||
var stack = [create(data || {})], output = [];
|
|
||||||
return {
|
|
||||||
get: get,
|
|
||||||
set: set,
|
|
||||||
push: push,
|
|
||||||
pop: pop,
|
|
||||||
write: write,
|
|
||||||
filter: filter,
|
|
||||||
each: each,
|
|
||||||
block: block,
|
|
||||||
render: render
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
var runtime;
|
|
||||||
|
|
||||||
jinja.compile = function (markup, opts) {
|
|
||||||
opts = opts || {};
|
|
||||||
var parser = new Parser();
|
|
||||||
parser.readTemplateFile = this.readTemplateFile;
|
|
||||||
var code = [];
|
|
||||||
code.push('function render($) {');
|
|
||||||
code.push('var get = $.get, set = $.set, push = $.push, pop = $.pop, write = $.write, filter = $.filter, each = $.each, block = $.block;');
|
|
||||||
code.push.apply(code, parser.parse(markup));
|
|
||||||
code.push('return $.render();');
|
|
||||||
code.push('}');
|
|
||||||
code = code.join('\n');
|
|
||||||
if (opts.runtime === false) {
|
|
||||||
var fn = new Function('data', 'options', 'return (' + code + ')(runtime(data, options))');
|
|
||||||
} else {
|
|
||||||
runtime = runtime || (runtime = getRuntime.toString());
|
|
||||||
fn = new Function('data', 'options', 'return (' + code + ')((' + runtime + ')(data, options))');
|
|
||||||
}
|
|
||||||
return {render: fn};
|
|
||||||
};
|
|
||||||
|
|
||||||
jinja.render = function (markup, data, opts) {
|
|
||||||
var tmpl = jinja.compile(markup);
|
|
||||||
return tmpl.render(data, opts);
|
|
||||||
};
|
|
||||||
|
|
||||||
jinja.templateFiles = [];
|
|
||||||
|
|
||||||
jinja.readTemplateFile = function (name) {
|
|
||||||
var templateFiles = this.templateFiles || [];
|
|
||||||
var templateFile = templateFiles[name];
|
|
||||||
if (templateFile == null) {
|
|
||||||
throw new Error('Template file not found: ' + name);
|
|
||||||
}
|
|
||||||
return templateFile;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Helpers
|
|
||||||
*/
|
|
||||||
|
|
||||||
function trimLeft(str) {
|
|
||||||
return str.replace(LEADING_SPACE, '');
|
|
||||||
}
|
|
||||||
|
|
||||||
function trimRight(str) {
|
|
||||||
return str.replace(TRAILING_SPACE, '');
|
|
||||||
}
|
|
||||||
|
|
||||||
function matchAll(str, reg, fn) {
|
|
||||||
//copy as global
|
|
||||||
reg = new RegExp(reg.source, 'g' + (reg.ignoreCase ? 'i' : '') + (reg.multiline ? 'm' : ''));
|
|
||||||
var match;
|
|
||||||
while ((match = reg.exec(str))) {
|
|
||||||
var result = fn(match[0], match.index, str);
|
|
||||||
if (typeof result == 'number') {
|
|
||||||
reg.lastIndex = result;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
@@ -1,265 +0,0 @@
|
|||||||
/*
|
|
||||||
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
|
||||||
* This devtool is neither made for production nor for readable output files.
|
|
||||||
* It uses "eval()" calls to create a separate source file in the browser devtools.
|
|
||||||
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
||||||
* or disable the default devtool with "devtool: false".
|
|
||||||
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
||||||
*/
|
|
||||||
(function webpackUniversalModuleDefinition(root, factory) {
|
|
||||||
if (typeof exports === 'object' && typeof module === 'object') {
|
|
||||||
// CommonJS
|
|
||||||
module.exports = exports = factory();
|
|
||||||
} else if (typeof define === 'function' && define.amd) {
|
|
||||||
// AMD
|
|
||||||
define([], factory);
|
|
||||||
} else {
|
|
||||||
// Global (browser)
|
|
||||||
globalThis.JSEncrypt = factory();
|
|
||||||
}
|
|
||||||
})(this, () => {
|
|
||||||
return /******/ (() => { // webpackBootstrap
|
|
||||||
/******/ var __webpack_modules__ = ({
|
|
||||||
|
|
||||||
/***/ "./lib/JSEncrypt.js":
|
|
||||||
/*!**************************!*\
|
|
||||||
!*** ./lib/JSEncrypt.js ***!
|
|
||||||
\**************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncrypt\": () => (/* binding */ JSEncrypt)\n/* harmony export */ });\n/* harmony import */ var _lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/jsbn/base64 */ \"./lib/lib/jsbn/base64.js\");\n/* harmony import */ var _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./JSEncryptRSAKey */ \"./lib/JSEncryptRSAKey.js\");\n/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"./node_modules/process/browser.js\");\nvar _a;\n\n\nvar version = typeof process !== 'undefined'\n ? (_a = process.env) === null || _a === void 0 ? void 0 : \"3.3.2\"\n : undefined;\n/**\n *\n * @param {Object} [options = {}] - An object to customize JSEncrypt behaviour\n * possible parameters are:\n * - default_key_size {number} default: 1024 the key size in bit\n * - default_public_exponent {string} default: '010001' the hexadecimal representation of the public exponent\n * - log {boolean} default: false whether log warn/error or not\n * @constructor\n */\nvar JSEncrypt = /** @class */ (function () {\n function JSEncrypt(options) {\n if (options === void 0) { options = {}; }\n options = options || {};\n this.default_key_size = options.default_key_size\n ? parseInt(options.default_key_size, 10)\n : 1024;\n this.default_public_exponent = options.default_public_exponent || \"010001\"; // 65537 default openssl public exponent for rsa key type\n this.log = options.log || false;\n // The private and public key.\n this.key = null;\n }\n /**\n * Method to set the rsa key parameter (one method is enough to set both the public\n * and the private key, since the private key contains the public key paramenters)\n * Log a warning if logs are enabled\n * @param {Object|string} key the pem encoded string or an object (with or without header/footer)\n * @public\n */\n JSEncrypt.prototype.setKey = function (key) {\n if (this.log && this.key) {\n console.warn(\"A key was already set, overriding existing.\");\n }\n this.key = new _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__.JSEncryptRSAKey(key);\n };\n /**\n * Proxy method for setKey, for api compatibility\n * @see setKey\n * @public\n */\n JSEncrypt.prototype.setPrivateKey = function (privkey) {\n // Create the key.\n this.setKey(privkey);\n };\n /**\n * Proxy method for setKey, for api compatibility\n * @see setKey\n * @public\n */\n JSEncrypt.prototype.setPublicKey = function (pubkey) {\n // Sets the public key.\n this.setKey(pubkey);\n };\n /**\n * Proxy method for RSAKey object's decrypt, decrypt the string using the private\n * components of the rsa key object. Note that if the object was not set will be created\n * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\n * @param {string} str base64 encoded crypted string to decrypt\n * @return {string} the decrypted string\n * @public\n */\n JSEncrypt.prototype.decrypt = function (str) {\n // Return the decrypted string.\n try {\n return this.getKey().decrypt((0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.b64tohex)(str));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's encrypt, encrypt the string using the public\n * components of the rsa key object. Note that if the object was not set will be created\n * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\n * @param {string} str the string to encrypt\n * @return {string} the encrypted string encoded in base64\n * @public\n */\n JSEncrypt.prototype.encrypt = function (str) {\n // Return the encrypted string.\n try {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getKey().encrypt(str));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's sign.\n * @param {string} str the string to sign\n * @param {function} digestMethod hash method\n * @param {string} digestName the name of the hash algorithm\n * @return {string} the signature encoded in base64\n * @public\n */\n JSEncrypt.prototype.sign = function (str, digestMethod, digestName) {\n // return the RSA signature of 'str' in 'hex' format.\n try {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getKey().sign(str, digestMethod, digestName));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy
Line truncated
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/JSEncryptRSAKey.js":
|
|
||||||
/*!********************************!*\
|
|
||||||
!*** ./lib/JSEncryptRSAKey.js ***!
|
|
||||||
\********************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncryptRSAKey\": () => (/* binding */ JSEncryptRSAKey)\n/* harmony export */ });\n/* harmony import */ var _lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/jsbn/base64 */ \"./lib/lib/jsbn/base64.js\");\n/* harmony import */ var _lib_asn1js_hex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/asn1js/hex */ \"./lib/lib/asn1js/hex.js\");\n/* harmony import */ var _lib_asn1js_base64__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/asn1js/base64 */ \"./lib/lib/asn1js/base64.js\");\n/* harmony import */ var _lib_asn1js_asn1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/asn1js/asn1 */ \"./lib/lib/asn1js/asn1.js\");\n/* harmony import */ var _lib_jsbn_rsa__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lib/jsbn/rsa */ \"./lib/lib/jsbn/rsa.js\");\n/* harmony import */ var _lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./lib/jsbn/jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./lib/jsrsasign/asn1-1.0 */ \"./lib/lib/jsrsasign/asn1-1.0.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n/**\n * Create a new JSEncryptRSAKey that extends Tom Wu's RSA key object.\n * This object is just a decorator for parsing the key parameter\n * @param {string|Object} key - The key in string format, or an object containing\n * the parameters needed to build a RSAKey object.\n * @constructor\n */\nvar JSEncryptRSAKey = /** @class */ (function (_super) {\n __extends(JSEncryptRSAKey, _super);\n function JSEncryptRSAKey(key) {\n var _this = _super.call(this) || this;\n // Call the super constructor.\n // RSAKey.call(this);\n // If a key key was provided.\n if (key) {\n // If this is a string...\n if (typeof key === \"string\") {\n _this.parseKey(key);\n }\n else if (JSEncryptRSAKey.hasPrivateKeyProperty(key) ||\n JSEncryptRSAKey.hasPublicKeyProperty(key)) {\n // Set the values for the key.\n _this.parsePropertiesFrom(key);\n }\n }\n return _this;\n }\n /**\n * Method to parse a pem encoded string containing both a public or private key.\n * The method will translate the pem encoded string in a der encoded string and\n * will parse private key and public key parameters. This method accepts public key\n * in the rsaencryption pkcs #1 format (oid: 1.2.840.113549.1.1.1).\n *\n * @todo Check how many rsa formats use the same format of pkcs #1.\n *\n * The format is defined as:\n * PublicKeyInfo ::= SEQUENCE {\n * algorithm AlgorithmIdentifier,\n * PublicKey BIT STRING\n * }\n * Where AlgorithmIdentifier is:\n * AlgorithmIdentifier ::= SEQUENCE {\n * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm\n * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1)\n * }\n * and PublicKey is a SEQUENCE encapsulated in a BIT STRING\n * RSAPublicKey ::= SEQUENCE {\n * modulus INTEGER, -- n\n * publicExponent INTEGER -- e\n * }\n * it's possible to examine the structure of the keys obtained from openssl using\n * an asn.1 dumper as the one used here to parse the components: http://lapo.it/asn1js/\n * @argument {string} pem the pem encoded string, can include the BEGIN/END header/footer\n * @private\n */\n JSEncryptRSAKey.prototype.parseKey = function (pem) {\n try {\n var modulus = 0;\n var public_exponent = 0;\n var reHex = /^\\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\\s*)+$/;\n var der = reHex.test(pem) ? _lib_asn1js_hex__WEBPACK_IMPORTED_MODULE_1__.Hex.decode(pem) : _lib_asn1js_base64__WEBPACK_IMPORTED_MODULE_2__.Base64.unarmor(pem);\n var asn1 = _lib_asn1js_asn1__WEBPACK_IMPORTED_MODULE_3__.ASN1.decode(der);\n // Fixes a bug with OpenSSL 1.0+ private keys\n
Line truncated
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/index.js":
|
|
||||||
/*!**********************!*\
|
|
||||||
!*** ./lib/index.js ***!
|
|
||||||
\**********************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncrypt\": () => (/* reexport safe */ _JSEncrypt__WEBPACK_IMPORTED_MODULE_0__.JSEncrypt),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _JSEncrypt__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./JSEncrypt */ \"./lib/JSEncrypt.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_JSEncrypt__WEBPACK_IMPORTED_MODULE_0__.JSEncrypt);\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/index.js?");
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/asn1js/asn1.js":
|
|
||||||
/*!********************************!*\
|
|
||||||
!*** ./lib/lib/asn1js/asn1.js ***!
|
|
||||||
\********************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ASN1\": () => (/* binding */ ASN1),\n/* harmony export */ \"ASN1Tag\": () => (/* binding */ ASN1Tag),\n/* harmony export */ \"Stream\": () => (/* binding */ Stream)\n/* harmony export */ });\n/* harmony import */ var _int10__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./int10 */ \"./lib/lib/asn1js/int10.js\");\n// ASN.1 JavaScript decoder\n// Copyright (c) 2008-2014 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\n/*global oids */\n\nvar ellipsis = \"\\u2026\";\nvar reTimeS = /^(\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nvar reTimeL = /^(\\d\\d\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nfunction stringCut(str, len) {\n if (str.length > len) {\n str = str.substring(0, len) + ellipsis;\n }\n return str;\n}\nvar Stream = /** @class */ (function () {\n function Stream(enc, pos) {\n this.hexDigits = \"0123456789ABCDEF\";\n if (enc instanceof Stream) {\n this.enc = enc.enc;\n this.pos = enc.pos;\n }\n else {\n // enc should be an array or a binary string\n this.enc = enc;\n this.pos = pos;\n }\n }\n Stream.prototype.get = function (pos) {\n if (pos === undefined) {\n pos = this.pos++;\n }\n if (pos >= this.enc.length) {\n throw new Error(\"Requesting byte offset \".concat(pos, \" on a stream of length \").concat(this.enc.length));\n }\n return (\"string\" === typeof this.enc) ? this.enc.charCodeAt(pos) : this.enc[pos];\n };\n Stream.prototype.hexByte = function (b) {\n return this.hexDigits.charAt((b >> 4) & 0xF) + this.hexDigits.charAt(b & 0xF);\n };\n Stream.prototype.hexDump = function (start, end, raw) {\n var s = \"\";\n for (var i = start; i < end; ++i) {\n s += this.hexByte(this.get(i));\n if (raw !== true) {\n switch (i & 0xF) {\n case 0x7:\n s += \" \";\n break;\n case 0xF:\n s += \"\\n\";\n break;\n default:\n s += \" \";\n }\n }\n }\n return s;\n };\n Stream.prototype.isASCII = function (start, end) {\n for (var i = start; i < end; ++i) {\n var c = this.get(i);\n if (c < 32 || c > 176) {\n return false;\n }\n }\n return true;\n };\n Stream.prototype.parseStringISO = function (start, end) {\n var s = \"\";\n for (var i = start; i < end; ++i) {\n s += String.fromCharCode(this.get(i));\n }\n return s;\n };\n Stream.prototype.parseStringUTF = function (start, end) {\n var s = \"\";\n for (var i = start; i < end;) {\n var c = this.get(i++);\n if (c < 128) {\n s += String.fromCharCode(c);\n }\n else if ((c > 191) && (c < 224)) {\n s += String.fromCharCode(((c & 0x1F) << 6) | (this.get(i++) & 0x3F));\n }\n else {\n s += String.fromCharCode(((c & 0x0F) << 12) | ((this.get(i++) & 0x3F) << 6) | (this.get(i++) & 0x3F));\n }\n }\n return s;\n };\n Stream.prototype.parseStringBMP = function (start, end) {\n var str = \"\";\n var hi;\n var lo;\n for (var i = start; i < end;) {\n hi = this.get(i++);\n lo = this.get(i++);\n str += String.fromCharCode((hi << 8) | lo);\n }\n return str;\n };\n Stream.prototype.parseTime = function (start, end, shortYear) {\n var s = this.parseStringISO(start, end);\n var m = (shortYear ? reTimeS : rLine truncated
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/asn1js/base64.js":
|
|
||||||
/*!**********************************!*\
|
|
||||||
!*** ./lib/lib/asn1js/base64.js ***!
|
|
||||||
\**********************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Base64\": () => (/* binding */ Base64)\n/* harmony export */ });\n// Base64 JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nvar Base64 = {\n decode: function (a) {\n var i;\n if (decoder === undefined) {\n var b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n var ignore = \"= \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n decoder = Object.create(null);\n for (i = 0; i < 64; ++i) {\n decoder[b64.charAt(i)] = i;\n }\n decoder['-'] = 62; //+\n decoder['_'] = 63; //-\n for (i = 0; i < ignore.length; ++i) {\n decoder[ignore.charAt(i)] = -1;\n }\n }\n var out = [];\n var bits = 0;\n var char_count = 0;\n for (i = 0; i < a.length; ++i) {\n var c = a.charAt(i);\n if (c == \"=\") {\n break;\n }\n c = decoder[c];\n if (c == -1) {\n continue;\n }\n if (c === undefined) {\n throw new Error(\"Illegal character at offset \" + i);\n }\n bits |= c;\n if (++char_count >= 4) {\n out[out.length] = (bits >> 16);\n out[out.length] = (bits >> 8) & 0xFF;\n out[out.length] = bits & 0xFF;\n bits = 0;\n char_count = 0;\n }\n else {\n bits <<= 6;\n }\n }\n switch (char_count) {\n case 1:\n throw new Error(\"Base64 encoding incomplete: at least 2 bits missing\");\n case 2:\n out[out.length] = (bits >> 10);\n break;\n case 3:\n out[out.length] = (bits >> 16);\n out[out.length] = (bits >> 8) & 0xFF;\n break;\n }\n return out;\n },\n re: /-----BEGIN [^-]+-----([A-Za-z0-9+\\/=\\s]+)-----END [^-]+-----|begin-base64[^\\n]+\\n([A-Za-z0-9+\\/=\\s]+)====/,\n unarmor: function (a) {\n var m = Base64.re.exec(a);\n if (m) {\n if (m[1]) {\n a = m[1];\n }\n else if (m[2]) {\n a = m[2];\n }\n else {\n throw new Error(\"RegExp out of sync\");\n }\n }\n return Base64.decode(a);\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/base64.js?");
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/asn1js/hex.js":
|
|
||||||
/*!*******************************!*\
|
|
||||||
!*** ./lib/lib/asn1js/hex.js ***!
|
|
||||||
\*******************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Hex\": () => (/* binding */ Hex)\n/* harmony export */ });\n// Hex JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nvar Hex = {\n decode: function (a) {\n var i;\n if (decoder === undefined) {\n var hex = \"0123456789ABCDEF\";\n var ignore = \" \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n decoder = {};\n for (i = 0; i < 16; ++i) {\n decoder[hex.charAt(i)] = i;\n }\n hex = hex.toLowerCase();\n for (i = 10; i < 16; ++i) {\n decoder[hex.charAt(i)] = i;\n }\n for (i = 0; i < ignore.length; ++i) {\n decoder[ignore.charAt(i)] = -1;\n }\n }\n var out = [];\n var bits = 0;\n var char_count = 0;\n for (i = 0; i < a.length; ++i) {\n var c = a.charAt(i);\n if (c == \"=\") {\n break;\n }\n c = decoder[c];\n if (c == -1) {\n continue;\n }\n if (c === undefined) {\n throw new Error(\"Illegal character at offset \" + i);\n }\n bits |= c;\n if (++char_count >= 2) {\n out[out.length] = bits;\n bits = 0;\n char_count = 0;\n }\n else {\n bits <<= 4;\n }\n }\n if (char_count) {\n throw new Error(\"Hex encoding incomplete: 4 bits missing\");\n }\n return out;\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/hex.js?");
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/asn1js/int10.js":
|
|
||||||
/*!*********************************!*\
|
|
||||||
!*** ./lib/lib/asn1js/int10.js ***!
|
|
||||||
\*********************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Int10\": () => (/* binding */ Int10)\n/* harmony export */ });\n// Big integer base-10 printing library\n// Copyright (c) 2014 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar max = 10000000000000; // biggest integer that can still fit 2^53 when multiplied by 256\nvar Int10 = /** @class */ (function () {\n function Int10(value) {\n this.buf = [+value || 0];\n }\n Int10.prototype.mulAdd = function (m, c) {\n // assert(m <= 256)\n var b = this.buf;\n var l = b.length;\n var i;\n var t;\n for (i = 0; i < l; ++i) {\n t = b[i] * m + c;\n if (t < max) {\n c = 0;\n }\n else {\n c = 0 | (t / max);\n t -= c * max;\n }\n b[i] = t;\n }\n if (c > 0) {\n b[i] = c;\n }\n };\n Int10.prototype.sub = function (c) {\n // assert(m <= 256)\n var b = this.buf;\n var l = b.length;\n var i;\n var t;\n for (i = 0; i < l; ++i) {\n t = b[i] - c;\n if (t < 0) {\n t += max;\n c = 1;\n }\n else {\n c = 0;\n }\n b[i] = t;\n }\n while (b[b.length - 1] === 0) {\n b.pop();\n }\n };\n Int10.prototype.toString = function (base) {\n if ((base || 10) != 10) {\n throw new Error(\"only base 10 is supported\");\n }\n var b = this.buf;\n var s = b[b.length - 1].toString();\n for (var i = b.length - 2; i >= 0; --i) {\n s += (max + b[i]).toString().substring(1);\n }\n return s;\n };\n Int10.prototype.valueOf = function () {\n var b = this.buf;\n var v = 0;\n for (var i = b.length - 1; i >= 0; --i) {\n v = v * max + b[i];\n }\n return v;\n };\n Int10.prototype.simplify = function () {\n var b = this.buf;\n return (b.length == 1) ? b[0] : this;\n };\n return Int10;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/int10.js?");
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/jsbn/base64.js":
|
|
||||||
/*!********************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/base64.js ***!
|
|
||||||
\********************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"b64toBA\": () => (/* binding */ b64toBA),\n/* harmony export */ \"b64tohex\": () => (/* binding */ b64tohex),\n/* harmony export */ \"hex2b64\": () => (/* binding */ hex2b64)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./lib/lib/jsbn/util.js\");\n\nvar b64map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar b64pad = \"=\";\nfunction hex2b64(h) {\n var i;\n var c;\n var ret = \"\";\n for (i = 0; i + 3 <= h.length; i += 3) {\n c = parseInt(h.substring(i, i + 3), 16);\n ret += b64map.charAt(c >> 6) + b64map.charAt(c & 63);\n }\n if (i + 1 == h.length) {\n c = parseInt(h.substring(i, i + 1), 16);\n ret += b64map.charAt(c << 2);\n }\n else if (i + 2 == h.length) {\n c = parseInt(h.substring(i, i + 2), 16);\n ret += b64map.charAt(c >> 2) + b64map.charAt((c & 3) << 4);\n }\n while ((ret.length & 3) > 0) {\n ret += b64pad;\n }\n return ret;\n}\n// convert a base64 string to hex\nfunction b64tohex(s) {\n var ret = \"\";\n var i;\n var k = 0; // b64 state, 0-3\n var slop = 0;\n for (i = 0; i < s.length; ++i) {\n if (s.charAt(i) == b64pad) {\n break;\n }\n var v = b64map.indexOf(s.charAt(i));\n if (v < 0) {\n continue;\n }\n if (k == 0) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v >> 2);\n slop = v & 3;\n k = 1;\n }\n else if (k == 1) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)((slop << 2) | (v >> 4));\n slop = v & 0xf;\n k = 2;\n }\n else if (k == 2) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(slop);\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v >> 2);\n slop = v & 3;\n k = 3;\n }\n else {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)((slop << 2) | (v >> 4));\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v & 0xf);\n k = 0;\n }\n }\n if (k == 1) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(slop << 2);\n }\n return ret;\n}\n// convert a base64 string to a byte/number array\nfunction b64toBA(s) {\n // piggyback on b64tohex for now, optimize later\n var h = b64tohex(s);\n var i;\n var a = [];\n for (i = 0; 2 * i < h.length; ++i) {\n a[i] = parseInt(h.substring(2 * i, 2 * i + 2), 16);\n }\n return a;\n}\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/base64.js?");
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/jsbn/jsbn.js":
|
|
||||||
/*!******************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/jsbn.js ***!
|
|
||||||
\******************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BigInteger\": () => (/* binding */ BigInteger),\n/* harmony export */ \"intAt\": () => (/* binding */ intAt),\n/* harmony export */ \"nbi\": () => (/* binding */ nbi),\n/* harmony export */ \"nbits\": () => (/* binding */ nbits),\n/* harmony export */ \"nbv\": () => (/* binding */ nbv),\n/* harmony export */ \"parseBigInt\": () => (/* binding */ parseBigInt)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./lib/lib/jsbn/util.js\");\n// Copyright (c) 2005 Tom Wu\n// All Rights Reserved.\n// See \"LICENSE\" for details.\n// Basic JavaScript BN library - subset useful for RSA encryption.\n\n// Bits per digit\nvar dbits;\n// JavaScript engine analysis\nvar canary = 0xdeadbeefcafe;\nvar j_lm = ((canary & 0xffffff) == 0xefcafe);\n//#region\nvar lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997];\nvar lplim = (1 << 26) / lowprimes[lowprimes.length - 1];\n//#endregion\n// (public) Constructor\nvar BigInteger = /** @class */ (function () {\n function BigInteger(a, b, c) {\n if (a != null) {\n if (\"number\" == typeof a) {\n this.fromNumber(a, b, c);\n }\n else if (b == null && \"string\" != typeof a) {\n this.fromString(a, 256);\n }\n else {\n this.fromString(a, b);\n }\n }\n }\n //#region PUBLIC\n // BigInteger.prototype.toString = bnToString;\n // (public) return string representation in given radix\n BigInteger.prototype.toString = function (b) {\n if (this.s < 0) {\n return \"-\" + this.negate().toString(b);\n }\n var k;\n if (b == 16) {\n k = 4;\n }\n else if (b == 8) {\n k = 3;\n }\n else if (b == 2) {\n k = 1;\n }\n else if (b == 32) {\n k = 5;\n }\n else if (b == 4) {\n k = 2;\n }\n else {\n return this.toRadix(b);\n }\n var km = (1 << k) - 1;\n var d;\n var m = false;\n var r = \"\";\n var i = this.t;\n var p = this.DB - (i * this.DB) % k;\n if (i-- > 0) {\n if (p < this.DB && (d = this[i] >> p) > 0) {\n m = true;\n r = (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(d);\n }\n while (i >= 0) {\n if (p < k) {\n d = (this[i] & ((1 << p) - 1)) << (k - p);\n d |= this[--i] >> (p += this.DB - k);\n }\n else {\n d = (this[i] >> (p -= k)) & km;\n if (p <= 0) {\n p += this.DB;\n --i;\n }\n }\n if (d > 0) {\n m = true;\n }\n if (m) {\n r += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(d);\n }\n }\n }\n return m ? r : \"0\";\n };\n // BigInteger.prototype.negate = bnNegate;\n // (public) -this\n BigInteger.prototype.negate = function () {\n var r = nbi();\n BigInteger.ZERO.subTo(this, r);\n return r;\n };\n // BigInteger.prototype.abs = bnAbs;\n // (public) |this|\n BigInteger.prototype.abs = function () {\n return (this.s < 0) ? this.negate() : this;\n };\n // BigInteger.prototype.compareTo = bnCompareTo;\n // (public) return + if this > a, - if this < a, 0 if equal\n BigInteger.prototype.compareTo = function (a) {\n var r = this.s - a.s;\n if (r != 0) {\n return r;\n }\n var i = this.t;\n r = i - a.t;\n if (r != 0) {\n return (this.s < 0) ? -r : r;\n }\n while (--i >= 0) {\n if ((r = this[i] - a[i]) != 0) {\n return r;\n }\n }\n return 0;\n };\n // BigInteger.prototype.bitLength = bnBi
Line truncated
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/jsbn/prng4.js":
|
|
||||||
/*!*******************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/prng4.js ***!
|
|
||||||
\*******************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Arcfour\": () => (/* binding */ Arcfour),\n/* harmony export */ \"prng_newstate\": () => (/* binding */ prng_newstate),\n/* harmony export */ \"rng_psize\": () => (/* binding */ rng_psize)\n/* harmony export */ });\n// prng4.js - uses Arcfour as a PRNG\nvar Arcfour = /** @class */ (function () {\n function Arcfour() {\n this.i = 0;\n this.j = 0;\n this.S = [];\n }\n // Arcfour.prototype.init = ARC4init;\n // Initialize arcfour context from key, an array of ints, each from [0..255]\n Arcfour.prototype.init = function (key) {\n var i;\n var j;\n var t;\n for (i = 0; i < 256; ++i) {\n this.S[i] = i;\n }\n j = 0;\n for (i = 0; i < 256; ++i) {\n j = (j + this.S[i] + key[i % key.length]) & 255;\n t = this.S[i];\n this.S[i] = this.S[j];\n this.S[j] = t;\n }\n this.i = 0;\n this.j = 0;\n };\n // Arcfour.prototype.next = ARC4next;\n Arcfour.prototype.next = function () {\n var t;\n this.i = (this.i + 1) & 255;\n this.j = (this.j + this.S[this.i]) & 255;\n t = this.S[this.i];\n this.S[this.i] = this.S[this.j];\n this.S[this.j] = t;\n return this.S[(t + this.S[this.i]) & 255];\n };\n return Arcfour;\n}());\n\n// Plug in your RNG constructor here\nfunction prng_newstate() {\n return new Arcfour();\n}\n// Pool size must be a multiple of 4 and greater than 32.\n// An array of bytes the size of the pool will be passed to init()\nvar rng_psize = 256;\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/prng4.js?");
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/jsbn/rng.js":
|
|
||||||
/*!*****************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/rng.js ***!
|
|
||||||
\*****************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"SecureRandom\": () => (/* binding */ SecureRandom)\n/* harmony export */ });\n/* harmony import */ var _prng4__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./prng4 */ \"./lib/lib/jsbn/prng4.js\");\n// Random number generator - requires a PRNG backend, e.g. prng4.js\n\nvar rng_state;\nvar rng_pool = null;\nvar rng_pptr;\n// Initialize the pool with junk if needed.\nif (rng_pool == null) {\n rng_pool = [];\n rng_pptr = 0;\n var t = void 0;\n if (typeof window !== 'undefined' && window.crypto && window.crypto.getRandomValues) {\n // Extract entropy (2048 bits) from RNG if available\n var z = new Uint32Array(256);\n window.crypto.getRandomValues(z);\n for (t = 0; t < z.length; ++t) {\n rng_pool[rng_pptr++] = z[t] & 255;\n }\n }\n // Use mouse events for entropy, if we do not have enough entropy by the time\n // we need it, entropy will be generated by Math.random.\n var count = 0;\n var onMouseMoveListener_1 = function (ev) {\n count = count || 0;\n if (count >= 256 || rng_pptr >= _prng4__WEBPACK_IMPORTED_MODULE_0__.rng_psize) {\n if (window.removeEventListener) {\n window.removeEventListener(\"mousemove\", onMouseMoveListener_1, false);\n }\n else if (window.detachEvent) {\n window.detachEvent(\"onmousemove\", onMouseMoveListener_1);\n }\n return;\n }\n try {\n var mouseCoordinates = ev.x + ev.y;\n rng_pool[rng_pptr++] = mouseCoordinates & 255;\n count += 1;\n }\n catch (e) {\n // Sometimes Firefox will deny permission to access event properties for some reason. Ignore.\n }\n };\n if (typeof window !== 'undefined') {\n if (window.addEventListener) {\n window.addEventListener(\"mousemove\", onMouseMoveListener_1, false);\n }\n else if (window.attachEvent) {\n window.attachEvent(\"onmousemove\", onMouseMoveListener_1);\n }\n }\n}\nfunction rng_get_byte() {\n if (rng_state == null) {\n rng_state = (0,_prng4__WEBPACK_IMPORTED_MODULE_0__.prng_newstate)();\n // At this point, we may not have collected enough entropy. If not, fall back to Math.random\n while (rng_pptr < _prng4__WEBPACK_IMPORTED_MODULE_0__.rng_psize) {\n var random = Math.floor(65536 * Math.random());\n rng_pool[rng_pptr++] = random & 255;\n }\n rng_state.init(rng_pool);\n for (rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) {\n rng_pool[rng_pptr] = 0;\n }\n rng_pptr = 0;\n }\n // TODO: allow reseeding after first request\n return rng_state.next();\n}\nvar SecureRandom = /** @class */ (function () {\n function SecureRandom() {\n }\n SecureRandom.prototype.nextBytes = function (ba) {\n for (var i = 0; i < ba.length; ++i) {\n ba[i] = rng_get_byte();\n }\n };\n return SecureRandom;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/rng.js?");
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/jsbn/rsa.js":
|
|
||||||
/*!*****************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/rsa.js ***!
|
|
||||||
\*****************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"RSAKey\": () => (/* binding */ RSAKey)\n/* harmony export */ });\n/* harmony import */ var _jsbn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _rng__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./rng */ \"./lib/lib/jsbn/rng.js\");\n// Depends on jsbn.js and rng.js\n// Version 1.1: support utf-8 encoding in pkcs1pad2\n// convert a (hex) string to a bignum object\n\n\n// function linebrk(s,n) {\n// var ret = \"\";\n// var i = 0;\n// while(i + n < s.length) {\n// ret += s.substring(i,i+n) + \"\\n\";\n// i += n;\n// }\n// return ret + s.substring(i,s.length);\n// }\n// function byte2Hex(b) {\n// if(b < 0x10)\n// return \"0\" + b.toString(16);\n// else\n// return b.toString(16);\n// }\nfunction pkcs1pad1(s, n) {\n if (n < s.length + 22) {\n console.error(\"Message too long for RSA\");\n return null;\n }\n var len = n - s.length - 6;\n var filler = \"\";\n for (var f = 0; f < len; f += 2) {\n filler += \"ff\";\n }\n var m = \"0001\" + filler + \"00\" + s;\n return (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(m, 16);\n}\n// PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint\nfunction pkcs1pad2(s, n) {\n if (n < s.length + 11) { // TODO: fix for utf-8\n console.error(\"Message too long for RSA\");\n return null;\n }\n var ba = [];\n var i = s.length - 1;\n while (i >= 0 && n > 0) {\n var c = s.charCodeAt(i--);\n if (c < 128) { // encode using utf-8\n ba[--n] = c;\n }\n else if ((c > 127) && (c < 2048)) {\n ba[--n] = (c & 63) | 128;\n ba[--n] = (c >> 6) | 192;\n }\n else {\n ba[--n] = (c & 63) | 128;\n ba[--n] = ((c >> 6) & 63) | 128;\n ba[--n] = (c >> 12) | 224;\n }\n }\n ba[--n] = 0;\n var rng = new _rng__WEBPACK_IMPORTED_MODULE_1__.SecureRandom();\n var x = [];\n while (n > 2) { // random non-zero pad\n x[0] = 0;\n while (x[0] == 0) {\n rng.nextBytes(x);\n }\n ba[--n] = x[0];\n }\n ba[--n] = 2;\n ba[--n] = 0;\n return new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(ba);\n}\n// \"empty\" RSA key constructor\nvar RSAKey = /** @class */ (function () {\n function RSAKey() {\n this.n = null;\n this.e = 0;\n this.d = null;\n this.p = null;\n this.q = null;\n this.dmp1 = null;\n this.dmq1 = null;\n this.coeff = null;\n }\n //#region PROTECTED\n // protected\n // RSAKey.prototype.doPublic = RSADoPublic;\n // Perform raw public operation on \"x\": return x^e (mod n)\n RSAKey.prototype.doPublic = function (x) {\n return x.modPowInt(this.e, this.n);\n };\n // RSAKey.prototype.doPrivate = RSADoPrivate;\n // Perform raw private operation on \"x\": return x^d (mod n)\n RSAKey.prototype.doPrivate = function (x) {\n if (this.p == null || this.q == null) {\n return x.modPow(this.d, this.n);\n }\n // TODO: re-calculate any missing CRT params\n var xp = x.mod(this.p).modPow(this.dmp1, this.p);\n var xq = x.mod(this.q).modPow(this.dmq1, this.q);\n while (xp.compareTo(xq) < 0) {\n xp = xp.add(this.p);\n }\n return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq);\n };\n //#endregion PROTECTED\n //#region PUBLIC\n // RSAKey.prototype.setPublic = RSASetPublic;\n // Set the public key fields N and e from hex strings\n RSAKey.prototype.setPublic = function (N, E) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(N, 16);\n this.e = parseInt(E, 16);\n }\n else {\n console.error(\"Invalid RSA public key\");\n }\n };\n // RSAKey.prototype.encrypt = RSAEncrypt;\n // Return the PKCS#1 RSA encryption of \"text\" as an even-length hex string\n RSAKey.prototype.encrypt = function (text) {\n var maxLength = (this.n.bitLength() + 7) >> 3;\n var m = pkcs1pad2(text, maxLength);\n if (m == null) {\n return null;\n }\n var c = this.doPublic(m);\n if (c == null) {\n return null;\n }\n var h = c.toString(16);\n var length = h.length;\n // fix zero before result\n for (var i = 0; i < maxLength * 2 - length; i++) {\n h = \"0\" + h;\n }\n return h;\n };\n // RSAKey.prototype.setPrivate = RSASetPrivate;\n // Set the private key fields N, e, and d from hex strings\n RSAKey.prototype.setPrivate = function (N, E, D) {\n if (N
Line truncated
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/jsbn/util.js":
|
|
||||||
/*!******************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/util.js ***!
|
|
||||||
\******************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"cbit\": () => (/* binding */ cbit),\n/* harmony export */ \"int2char\": () => (/* binding */ int2char),\n/* harmony export */ \"lbit\": () => (/* binding */ lbit),\n/* harmony export */ \"op_and\": () => (/* binding */ op_and),\n/* harmony export */ \"op_andnot\": () => (/* binding */ op_andnot),\n/* harmony export */ \"op_or\": () => (/* binding */ op_or),\n/* harmony export */ \"op_xor\": () => (/* binding */ op_xor)\n/* harmony export */ });\nvar BI_RM = \"0123456789abcdefghijklmnopqrstuvwxyz\";\nfunction int2char(n) {\n return BI_RM.charAt(n);\n}\n//#region BIT_OPERATIONS\n// (public) this & a\nfunction op_and(x, y) {\n return x & y;\n}\n// (public) this | a\nfunction op_or(x, y) {\n return x | y;\n}\n// (public) this ^ a\nfunction op_xor(x, y) {\n return x ^ y;\n}\n// (public) this & ~a\nfunction op_andnot(x, y) {\n return x & ~y;\n}\n// return index of lowest 1-bit in x, x < 2^31\nfunction lbit(x) {\n if (x == 0) {\n return -1;\n }\n var r = 0;\n if ((x & 0xffff) == 0) {\n x >>= 16;\n r += 16;\n }\n if ((x & 0xff) == 0) {\n x >>= 8;\n r += 8;\n }\n if ((x & 0xf) == 0) {\n x >>= 4;\n r += 4;\n }\n if ((x & 3) == 0) {\n x >>= 2;\n r += 2;\n }\n if ((x & 1) == 0) {\n ++r;\n }\n return r;\n}\n// return number of 1 bits in x\nfunction cbit(x) {\n var r = 0;\n while (x != 0) {\n x &= x - 1;\n ++r;\n }\n return r;\n}\n//#endregion BIT_OPERATIONS\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/util.js?");
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/jsrsasign/asn1-1.0.js":
|
|
||||||
/*!***************************************!*\
|
|
||||||
!*** ./lib/lib/jsrsasign/asn1-1.0.js ***!
|
|
||||||
\***************************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KJUR\": () => (/* binding */ KJUR)\n/* harmony export */ });\n/* harmony import */ var _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../jsbn/jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _yahoo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./yahoo */ \"./lib/lib/jsrsasign/yahoo.js\");\n/* asn1-1.0.13.js (c) 2013-2017 Kenji Urushima | kjur.github.com/jsrsasign/license\n */\n/*\n * asn1.js - ASN.1 DER encoder classes\n *\n * Copyright (c) 2013-2017 Kenji Urushima (kenji.urushima@gmail.com)\n *\n * This software is licensed under the terms of the MIT License.\n * https://kjur.github.io/jsrsasign/license\n *\n * The above copyright and license notice shall be\n * included in all copies or substantial portions of the Software.\n */\n\n\n/**\n * @fileOverview\n * @name asn1-1.0.js\n * @author Kenji Urushima kenji.urushima@gmail.com\n * @version asn1 1.0.13 (2017-Jun-02)\n * @since jsrsasign 2.1\n * @license <a href=\"https://kjur.github.io/jsrsasign/license/\">MIT License</a>\n */\n/**\n * kjur's class library name space\n * <p>\n * This name space provides following name spaces:\n * <ul>\n * <li>{@link KJUR.asn1} - ASN.1 primitive hexadecimal encoder</li>\n * <li>{@link KJUR.asn1.x509} - ASN.1 structure for X.509 certificate and CRL</li>\n * <li>{@link KJUR.crypto} - Java Cryptographic Extension(JCE) style MessageDigest/Signature\n * class and utilities</li>\n * </ul>\n * </p>\n * NOTE: Please ignore method summary and document of this namespace. This caused by a bug of jsdoc2.\n * @name KJUR\n * @namespace kjur's class library name space\n */\nvar KJUR = {};\n/**\n * kjur's ASN.1 class library name space\n * <p>\n * This is ITU-T X.690 ASN.1 DER encoder class library and\n * class structure and methods is very similar to\n * org.bouncycastle.asn1 package of\n * well known BouncyCaslte Cryptography Library.\n * <h4>PROVIDING ASN.1 PRIMITIVES</h4>\n * Here are ASN.1 DER primitive classes.\n * <ul>\n * <li>0x01 {@link KJUR.asn1.DERBoolean}</li>\n * <li>0x02 {@link KJUR.asn1.DERInteger}</li>\n * <li>0x03 {@link KJUR.asn1.DERBitString}</li>\n * <li>0x04 {@link KJUR.asn1.DEROctetString}</li>\n * <li>0x05 {@link KJUR.asn1.DERNull}</li>\n * <li>0x06 {@link KJUR.asn1.DERObjectIdentifier}</li>\n * <li>0x0a {@link KJUR.asn1.DEREnumerated}</li>\n * <li>0x0c {@link KJUR.asn1.DERUTF8String}</li>\n * <li>0x12 {@link KJUR.asn1.DERNumericString}</li>\n * <li>0x13 {@link KJUR.asn1.DERPrintableString}</li>\n * <li>0x14 {@link KJUR.asn1.DERTeletexString}</li>\n * <li>0x16 {@link KJUR.asn1.DERIA5String}</li>\n * <li>0x17 {@link KJUR.asn1.DERUTCTime}</li>\n * <li>0x18 {@link KJUR.asn1.DERGeneralizedTime}</li>\n * <li>0x30 {@link KJUR.asn1.DERSequence}</li>\n * <li>0x31 {@link KJUR.asn1.DERSet}</li>\n * </ul>\n * <h4>OTHER ASN.1 CLASSES</h4>\n * <ul>\n * <li>{@link KJUR.asn1.ASN1Object}</li>\n * <li>{@link KJUR.asn1.DERAbstractString}</li>\n * <li>{@link KJUR.asn1.DERAbstractTime}</li>\n * <li>{@link KJUR.asn1.DERAbstractStructured}</li>\n * <li>{@link KJUR.asn1.DERTaggedObject}</li>\n * </ul>\n * <h4>SUB NAME SPACES</h4>\n * <ul>\n * <li>{@link KJUR.asn1.cades} - CAdES long term signature format</li>\n * <li>{@link KJUR.asn1.cms} - Cryptographic Message Syntax</li>\n * <li>{@link KJUR.asn1.csr} - Certificate Signing Request (CSR/PKCS#10)</li>\n * <li>{@link KJUR.asn1.tsp} - RFC 3161 Timestamping Protocol Format</li>\n * <li>{@link KJUR.asn1.x509} - RFC 5280 X.509 certificate and CRL</li>\n * </ul>\n * </p>\n * NOTE: Please ignore method summary and document of this namespace.\n * This caused by a bug of jsdoc2.\n * @name KJUR.asn1\n * @namespace\n */\nif (typeof KJUR.asn1 == \"undefined\" || !KJUR.asn1)\n KJUR.asn1 = {};\n/**\n * ASN1 utilities class\n * @name KJUR.asn1.ASN1Util\n * @class ASN1 utilities class\n * @since asn1 1.0.2\n */\nKJUR.asn1.ASN1Util = new function () {\n this.integerToByteHex = function (i) {\n var h = i.toString(16);\n if ((h.length % 2) == 1)\n h = '0' + h;\n return h;\n };\n this.bigIntToMinTwosComplementsHex = function (bigIntegerValue) {\n var h = bigIntegerValue.toString(16);\n if (h.substr(0, 1) != '-') {\n if (h.length % 2 == 1) {\n h = '0' + h;\n }\n else {\n if (!h.match(/^[0-7]/)) {\n h = '00' + h;\n }\n }\n }\n else {\n var hPos = h.substr(1);\n var xorLen = hPos.length;\n if (xorLen % 2 == 1) {\n xorLen += 1;\n }\n else {\n if (!h.match(/^[0-7]/)) {\n xorLen += 2;\n }\n }\n var hMask = '';\n for (var i = 0; i < xorLen; i++) {\n hMask += 'f';\n }\n
Line truncated
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/jsrsasign/yahoo.js":
|
|
||||||
/*!************************************!*\
|
|
||||||
!*** ./lib/lib/jsrsasign/yahoo.js ***!
|
|
||||||
\************************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"YAHOO\": () => (/* binding */ YAHOO)\n/* harmony export */ });\n/*!\nCopyright (c) 2011, Yahoo! Inc. All rights reserved.\nCode licensed under the BSD License:\nhttp://developer.yahoo.com/yui/license.html\nversion: 2.9.0\n*/\nvar YAHOO = {};\nYAHOO.lang = {\n /**\n * Utility to set up the prototype, constructor and superclass properties to\n * support an inheritance strategy that can chain constructors and methods.\n * Static members will not be inherited.\n *\n * @method extend\n * @static\n * @param {Function} subc the object to modify\n * @param {Function} superc the object to inherit\n * @param {Object} overrides additional properties/methods to add to the\n * subclass prototype. These will override the\n * matching items obtained from the superclass\n * if present.\n */\n extend: function (subc, superc, overrides) {\n if (!superc || !subc) {\n throw new Error(\"YAHOO.lang.extend failed, please check that \" +\n \"all dependencies are included.\");\n }\n var F = function () { };\n F.prototype = superc.prototype;\n subc.prototype = new F();\n subc.prototype.constructor = subc;\n subc.superclass = superc.prototype;\n if (superc.prototype.constructor == Object.prototype.constructor) {\n superc.prototype.constructor = superc;\n }\n if (overrides) {\n var i;\n for (i in overrides) {\n subc.prototype[i] = overrides[i];\n }\n /*\n * IE will not enumerate native functions in a derived object even if the\n * function was overridden. This is a workaround for specific functions\n * we care about on the Object prototype.\n * @property _IEEnumFix\n * @param {Function} r the object to receive the augmentation\n * @param {Function} s the object that supplies the properties to augment\n * @static\n * @private\n */\n var _IEEnumFix = function () { }, ADD = [\"toString\", \"valueOf\"];\n try {\n if (/MSIE/.test(navigator.userAgent)) {\n _IEEnumFix = function (r, s) {\n for (i = 0; i < ADD.length; i = i + 1) {\n var fname = ADD[i], f = s[fname];\n if (typeof f === 'function' && f != Object.prototype[fname]) {\n r[fname] = f;\n }\n }\n };\n }\n }\n catch (ex) { }\n ;\n _IEEnumFix(subc.prototype, overrides);\n }\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsrsasign/yahoo.js?");
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./node_modules/process/browser.js":
|
|
||||||
/*!*****************************************!*\
|
|
||||||
!*** ./node_modules/process/browser.js ***!
|
|
||||||
\*****************************************/
|
|
||||||
/***/ ((module) => {
|
|
||||||
|
|
||||||
eval("// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nf
Line truncated
|
|
||||||
|
|
||||||
/***/ })
|
|
||||||
|
|
||||||
/******/ });
|
|
||||||
/************************************************************************/
|
|
||||||
/******/ // The module cache
|
|
||||||
/******/ var __webpack_module_cache__ = {};
|
|
||||||
/******/
|
|
||||||
/******/ // The require function
|
|
||||||
/******/ function __webpack_require__(moduleId) {
|
|
||||||
/******/ // Check if module is in cache
|
|
||||||
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
|
||||||
/******/ if (cachedModule !== undefined) {
|
|
||||||
/******/ return cachedModule.exports;
|
|
||||||
/******/ }
|
|
||||||
/******/ // Create a new module (and put it into the cache)
|
|
||||||
/******/ var module = __webpack_module_cache__[moduleId] = {
|
|
||||||
/******/ // no module.id needed
|
|
||||||
/******/ // no module.loaded needed
|
|
||||||
/******/ exports: {}
|
|
||||||
/******/ };
|
|
||||||
/******/
|
|
||||||
/******/ // Execute the module function
|
|
||||||
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
||||||
/******/
|
|
||||||
/******/ // Return the exports of the module
|
|
||||||
/******/ return module.exports;
|
|
||||||
/******/ }
|
|
||||||
/******/
|
|
||||||
/************************************************************************/
|
|
||||||
/******/ /* webpack/runtime/define property getters */
|
|
||||||
/******/ (() => {
|
|
||||||
/******/ // define getter functions for harmony exports
|
|
||||||
/******/ __webpack_require__.d = (exports, definition) => {
|
|
||||||
/******/ for(var key in definition) {
|
|
||||||
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
||||||
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
||||||
/******/ }
|
|
||||||
/******/ }
|
|
||||||
/******/ };
|
|
||||||
/******/ })();
|
|
||||||
/******/
|
|
||||||
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
||||||
/******/ (() => {
|
|
||||||
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
||||||
/******/ })();
|
|
||||||
/******/
|
|
||||||
/******/ /* webpack/runtime/make namespace object */
|
|
||||||
/******/ (() => {
|
|
||||||
/******/ // define __esModule on exports
|
|
||||||
/******/ __webpack_require__.r = (exports) => {
|
|
||||||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
||||||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
||||||
/******/ }
|
|
||||||
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
||||||
/******/ };
|
|
||||||
/******/ })();
|
|
||||||
/******/
|
|
||||||
/************************************************************************/
|
|
||||||
/******/
|
|
||||||
/******/ // startup
|
|
||||||
/******/ // Load entry module and return exports
|
|
||||||
/******/ // This entry module can't be inlined because the eval devtool is used.
|
|
||||||
/******/ var __webpack_exports__ = __webpack_require__("./lib/index.js");
|
|
||||||
/******/ __webpack_exports__ = __webpack_exports__["default"];
|
|
||||||
/******/
|
|
||||||
/******/ return __webpack_exports__;
|
|
||||||
/******/ })()
|
|
||||||
;
|
|
||||||
});
|
|
||||||
-1737
File diff suppressed because it is too large.
Load diff
@@ -1,2 +0,0 @@
|
|||||||
/*! For license information please see node-rsa.bundle.js.LICENSE.txt */
|
|
||||||
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.NODERSA=e():t.NODERSA=e()}(globalThis,(()=>(()=>{var t={6395:t=>{t.exports={newInvalidAsn1Error:function(t){var e=new Error;return e.name="InvalidAsn1Error",e.message=t||"",e}}},5670:(t,e,r)=>{var n=r(6395),i=r(6299),o=r(3319),s=r(1431);for(var a in t.exports={Reader:o,Writer:s},i)i.hasOwnProperty(a)&&(t.exports[a]=i[a]);for(var f in n)n.hasOwnProperty(f)&&(t.exports[f]=n[f])},3319:(t,e,r)=>{var n=r(4529),i=r(4774).Buffer,o=r(6299),s=r(6395).newInvalidAsn1Error;function a(t){if(!t||!i.isBuffer(t))throw new TypeError("data must be a node Buffer");this._buf=t,this._size=t.length,this._len=0,this._offset=0}Object.defineProperty(a.prototype,"length",{enumerable:!0,get:function(){return this._len}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){return this._offset}}),Object.defineProperty(a.prototype,"remain",{get:function(){return this._size-this._offset}}),Object.defineProperty(a.prototype,"buffer",{get:function(){return this._buf.slice(this._offset)}}),a.prototype.readByte=function(t){if(this._size-this._offset<1)return null;var e=255&this._buf[this._offset];return t||(this._offset+=1),e},a.prototype.peek=function(){return this.readByte(!0)},a.prototype.readLength=function(t){if(void 0===t&&(t=this._offset),t>=this._size)return null;var e=255&this._buf[t++];if(null===e)return null;if(128&~e)this._len=e;else{if(0==(e&=127))throw s("Indefinite length not supported");if(e>4)throw s("encoding too long");if(this._size-t<e)return null;this._len=0;for(var r=0;r<e;r++)this._len=(this._len<<8)+(255&this._buf[t++])}return t},a.prototype.readSequence=function(t){var e=this.peek();if(null===e)return null;if(void 0!==t&&t!==e)throw s("Expected 0x"+t.toString(16)+": got 0x"+e.toString(16));var r=this.readLength(this._offset+1);return null===r?null:(this._offset=r,e)},a.prototype.readInt=function(){return this._readTag(o.Integer)},a.prototype.readBoolean=function(){return 0!==this._readTag(o.Boolean)},a.prototype.readEnumeration=function(){return this._readTag(o.Enumeration)},a.prototype.readString=function(t,e){t||(t=o.OctetString);var r=this.peek();if(null===r)return null;if(r!==t)throw s("Expected 0x"+t.toString(16)+": got 0x"+r.toString(16));var n=this.readLength(this._offset+1);if(null===n)return null;if(this.length>this._size-n)return null;if(this._offset=n,0===this.length)return e?i.alloc(0):"";var a=this._buf.slice(this._offset,this._offset+this.length);return this._offset+=this.length,e?a:a.toString("utf8")},a.prototype.readOID=function(t){t||(t=o.OID);var e=this.readString(t,!0);if(null===e)return null;for(var r=[],n=0,i=0;i<e.length;i++){var s=255&e[i];n<<=7,n+=127&s,128&s||(r.push(n),n=0)}return n=r.shift(),r.unshift(n%40),r.unshift(n/40|0),r.join(".")},a.prototype._readTag=function(t){n.ok(void 0!==t);var e=this.peek();if(null===e)return null;if(e!==t)throw s("Expected 0x"+t.toString(16)+": got 0x"+e.toString(16));var r=this.readLength(this._offset+1);if(null===r)return null;if(this.length>4)throw s("Integer too long: "+this.length);if(this.length>this._size-r)return null;this._offset=r;for(var i=this._buf[this._offset],o=0,a=0;a<this.length;a++)o<<=8,o|=255&this._buf[this._offset++];return 128&~i||4===a||(o-=1<<8*a),0|o},t.exports=a},6299:t=>{t.exports={EOC:0,Boolean:1,Integer:2,BitString:3,OctetString:4,Null:5,OID:6,ObjectDescriptor:7,External:8,Real:9,Enumeration:10,PDV:11,Utf8String:12,RelativeOID:13,Sequence:16,Set:17,NumericString:18,PrintableString:19,T61String:20,VideotexString:21,IA5String:22,UTCTime:23,GeneralizedTime:24,GraphicString:25,VisibleString:26,GeneralString:28,UniversalString:29,CharacterString:30,BMPString:31,Constructor:32,Context:128}},1431:(t,e,r)=>{var n=r(4529),i=r(4774).Buffer,o=r(6299),s=r(6395).newInvalidAsn1Error,a={size:1024,growthFactor:8};function f(t){var e,r;e=a,r=t||{},n.ok(e),n.equal(typeof e,"object"),n.ok(r),n.equal(typeof r,"object"),Object.getOwnPropertyNames(e).forEach((function(t){if(!r[t]){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n)}})),t=r,this._buf=i.alloc(t.size||1024),this._size=this._buf.length,this._offset=0,this._options=t,this._seq=[]}Object.defineProperty(f.prototype,"buffer",{get:function(){if(this._seq.length)throw s(this._seq.length+" unended sequence(s)");return this._buf.slice(0,this._offset)}}),f.prototype.writeByte=function(t){if("number"!=typeof t)throw new TypeError("argument must be a Number");this._ensure(1),this._buf[this._offset++]=t},f.prototype.writeInt=function(t,e){if("number"!=typeof t)throw new TypeError("argument must be a Number");"number"!=typeof e&&(e=o.Integer);for(var r=4;(!(4286578688&t)||-8388608==(4286578688&t))&&r>1;)r--,t<<=8;if(r>4)throw s("BER ints cannot be > 0xffffffff");for(this._ensure(2+r),this._buf[this._offset++]=e,this._buf[this._offset++]=r;r-- >0;)this._buf[this._offset++]=(4278190080&t)>>>24,t<<=Line truncated
|
|
||||||
Vendored
-2
@@ -1,2 +0,0 @@
|
|||||||
/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */
|
|
||||||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).pako={})}(this,(function(t){"use strict";function e(t){let e=t.length;for(;--e>=0;)t[e]=0}const a=256,i=286,n=30,s=15,r=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),o=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),l=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),h=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new Array(576);e(d);const _=new Array(60);e(_);const f=new Array(512);e(f);const c=new Array(256);e(c);const u=new Array(29);e(u);const w=new Array(n);function m(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}let b,g,p;function k(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}e(w);const v=t=>t<256?f[t]:f[256+(t>>>7)],y=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},x=(t,e,a)=>{t.bi_valid>16-a?(t.bi_buf|=e<<t.bi_valid&65535,y(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=a-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=a)},z=(t,e,a)=>{x(t,a[2*e],a[2*e+1])},A=(t,e)=>{let a=0;do{a|=1&t,t>>>=1,a<<=1}while(--e>0);return a>>>1},E=(t,e,a)=>{const i=new Array(16);let n,r,o=0;for(n=1;n<=s;n++)o=o+a[n-1]<<1,i[n]=o;for(r=0;r<=e;r++){let e=t[2*r+1];0!==e&&(t[2*r]=A(i[e]++,e))}},R=t=>{let e;for(e=0;e<i;e++)t.dyn_ltree[2*e]=0;for(e=0;e<n;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.sym_next=t.matches=0},Z=t=>{t.bi_valid>8?y(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},U=(t,e,a,i)=>{const n=2*e,s=2*a;return t[n]<t[s]||t[n]===t[s]&&i[e]<=i[a]},S=(t,e,a)=>{const i=t.heap[a];let n=a<<1;for(;n<=t.heap_len&&(n<t.heap_len&&U(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!U(e,i,t.heap[n],t.depth));)t.heap[a]=t.heap[n],a=n,n<<=1;t.heap[a]=i},D=(t,e,i)=>{let n,s,l,h,d=0;if(0!==t.sym_next)do{n=255&t.pending_buf[t.sym_buf+d++],n+=(255&t.pending_buf[t.sym_buf+d++])<<8,s=t.pending_buf[t.sym_buf+d++],0===n?z(t,s,e):(l=c[s],z(t,l+a+1,e),h=r[l],0!==h&&(s-=u[l],x(t,s,h)),n--,l=v(n),z(t,l,i),h=o[l],0!==h&&(n-=w[l],x(t,n,h)))}while(d<t.sym_next);z(t,256,e)},T=(t,e)=>{const a=e.dyn_tree,i=e.stat_desc.static_tree,n=e.stat_desc.has_stree,r=e.stat_desc.elems;let o,l,h,d=-1;for(t.heap_len=0,t.heap_max=573,o=0;o<r;o++)0!==a[2*o]?(t.heap[++t.heap_len]=d=o,t.depth[o]=0):a[2*o+1]=0;for(;t.heap_len<2;)h=t.heap[++t.heap_len]=d<2?++d:0,a[2*h]=1,t.depth[h]=0,t.opt_len--,n&&(t.static_len-=i[2*h+1]);for(e.max_code=d,o=t.heap_len>>1;o>=1;o--)S(t,a,o);h=r;do{o=t.heap[1],t.heap[1]=t.heap[t.heap_len--],S(t,a,1),l=t.heap[1],t.heap[--t.heap_max]=o,t.heap[--t.heap_max]=l,a[2*h]=a[2*o]+a[2*l],t.depth[h]=(t.depth[o]>=t.depth[l]?t.depth[o]:t.depth[l])+1,a[2*o+1]=a[2*l+1]=h,t.heap[1]=h++,S(t,a,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const a=e.dyn_tree,i=e.max_code,n=e.stat_desc.static_tree,r=e.stat_desc.has_stree,o=e.stat_desc.extra_bits,l=e.stat_desc.extra_base,h=e.stat_desc.max_length;let d,_,f,c,u,w,m=0;for(c=0;c<=s;c++)t.bl_count[c]=0;for(a[2*t.heap[t.heap_max]+1]=0,d=t.heap_max+1;d<573;d++)_=t.heap[d],c=a[2*a[2*_+1]+1]+1,c>h&&(c=h,m++),a[2*_+1]=c,_>i||(t.bl_count[c]++,u=0,_>=l&&(u=o[_-l]),w=a[2*_],t.opt_len+=w*(c+u),r&&(t.static_len+=w*(n[2*_+1]+u)));if(0!==m){do{for(c=h-1;0===t.bl_count[c];)c--;t.bl_count[c]--,t.bl_count[c+1]+=2,t.bl_count[h]--,m-=2}while(m>0);for(c=h;0!==c;c--)for(_=t.bl_count[c];0!==_;)f=t.heap[--d],f>i||(a[2*f+1]!==c&&(t.opt_len+=(c-a[2*f+1])*a[2*f],a[2*f+1]=c),_--)}})(t,e),E(a,d,t.bl_count)},O=(t,e,a)=>{let i,n,s=-1,r=e[1],o=0,l=7,h=4;for(0===r&&(l=138,h=3),e[2*(a+1)+1]=65535,i=0;i<=a;i++)n=r,r=e[2*(i+1)+1],++o<l&&n===r||(o<h?t.bl_tree[2*n]+=o:0!==n?(n!==s&&t.bl_tree[2*n]++,t.bl_tree[32]++):o<=10?t.bl_tree[34]++:t.bl_tree[36]++,o=0,s=n,0===r?(l=138,h=3):n===r?(l=6,h=3):(l=7,h=4))},I=(t,e,a)=>{let i,n,s=-1,r=e[1],o=0,l=7,h=4;for(0===r&&(l=138,h=3),i=0;i<=a;i++)if(n=r,r=e[2*(i+1)+1],!(++o<l&&n===r)){if(o<h)do{z(t,n,t.bl_tree)}while(0!=--o);else 0!==n?(n!==s&&(z(t,n,t.bl_tree),o--),z(t,16,t.bl_tree),x(t,o-3,2)):o<=10?(z(t,17,t.bl_tree),x(t,o-3,3)):(z(t,18,t.bl_tree),x(t,o-11,7));o=0,s=n,0===r?(l=138,h=3):n===r?(l=6,h=3):(l=7,h=4)}};let F=!1;const L=(t,e,a,i)=>{x(t,0+(i?1:0),3),Z(t),y(t,a),y(t,~a),a&&t.pending_buf.set(t.window.subarray(e,e+a),t.pending),t.pending+=a};var N=(t,e,i,n)=>{let s,r,o=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,i=4093624447;for(e=0;e<=31;e++,i>>>=1)if(1&i&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<a;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),T(t,t.l_desc),T(t,t.d_desc),o=(t=>{let e;for(O(t,t.dyn_ltree,t.l_desc.max_code),O(t,t.dyn_dtree,t.d_desc.max_code),T(t,t.bl_desc),e=18;e>=3&&0===t.blLine truncated
|
|
||||||
-412
@@ -1,412 +0,0 @@
|
|||||||
if (typeof Object.assign !== 'function') {
|
|
||||||
Object.assign = function () {
|
|
||||||
let target = arguments[0];
|
|
||||||
for (let i = 1; i < arguments.length; i++) {
|
|
||||||
let source = arguments[i];
|
|
||||||
for (let key in source) {
|
|
||||||
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
||||||
target[key] = source[key];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return target;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
// 通用免嗅探播放
|
|
||||||
let common_lazy = `js:
|
|
||||||
let html = request(input);
|
|
||||||
let hconf = html.match(/r player_.*?=(.*?)</)[1];
|
|
||||||
let json = JSON5.parse(hconf);
|
|
||||||
let url = json.url;
|
|
||||||
if (json.encrypt == '1') {
|
|
||||||
url = unescape(url);
|
|
||||||
} else if (json.encrypt == '2') {
|
|
||||||
url = unescape(base64Decode(url));
|
|
||||||
}
|
|
||||||
if (/\\.(m3u8|mp4|m4a|mp3)/.test(url)) {
|
|
||||||
input = {
|
|
||||||
parse: 0,
|
|
||||||
jx: 0,
|
|
||||||
url: url,
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
input;
|
|
||||||
}`;
|
|
||||||
// 默认嗅探播放
|
|
||||||
|
|
||||||
let def_lazy = `js:
|
|
||||||
input = { parse: 1, url: input, js: '' };`;
|
|
||||||
// 采集站播放
|
|
||||||
|
|
||||||
let cj_lazy = `js:
|
|
||||||
if (/\\.(m3u8|mp4)/.test(input)) {
|
|
||||||
input = { parse: 0, url: input };
|
|
||||||
} else {
|
|
||||||
if (rule.parse_url.startsWith('json:')) {
|
|
||||||
let purl = rule.parse_url.replace('json:', '') + input;
|
|
||||||
let html = request(purl);
|
|
||||||
let json = JSON.parse(html);
|
|
||||||
if (json.url) {
|
|
||||||
input = { parse: 0, url: json.url };
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
input = rule.parse_url + input;
|
|
||||||
}
|
|
||||||
}`;
|
|
||||||
|
|
||||||
function getMubans() {
|
|
||||||
const mubanDict = { // 模板字典
|
|
||||||
mx: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
url: '/vodshow/fyclass--------fypage---/',
|
|
||||||
searchUrl: '/vodsearch/**----------fypage---/',
|
|
||||||
class_parse: '.top_nav li;a&&Text;a&&href;.*/(.*?)/',
|
|
||||||
searchable: 2,
|
|
||||||
quickSearch: 0,
|
|
||||||
filterable: 0,
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'MOBILE_UA',
|
|
||||||
},
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
double: true,
|
|
||||||
推荐: '.cbox_list;*;*;*;*;*',
|
|
||||||
一级: 'ul.vodlist li;a&&title;a&&data-original;.pic_text&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: 'h2&&Text;.content_detail:eq(1)&&li&&a:eq(2)&&Text',
|
|
||||||
img: '.vodlist_thumb&&data-original',
|
|
||||||
desc: '.content_detail:eq(1)&&li:eq(1)&&Text;.content_detail:eq(1)&&li&&a&&Text;.content_detail:eq(1)&&li&&a:eq(1)&&Text;.content_detail:eq(1)&&li:eq(2)&&Text;.content_detail:eq(1)&&li:eq(3)&&Text',
|
|
||||||
content: '.content_desc&&span&&Text',
|
|
||||||
tabs: '.play_source_tab&&a',
|
|
||||||
lists: '.content_playlist:eq(#id) li',
|
|
||||||
},
|
|
||||||
搜索: '*',
|
|
||||||
},
|
|
||||||
mxpro: {
|
|
||||||
title: '',
|
|
||||||
host: '', // homeUrl:'/',
|
|
||||||
url: '/vodshow/fyclass--------fypage---.html',
|
|
||||||
searchUrl: '/vodsearch/**----------fypage---.html',
|
|
||||||
searchable: 2,//是否启用全局搜索,
|
|
||||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||||
filterable: 0,//是否启用分类筛选,
|
|
||||||
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
|
|
||||||
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
|
|
||||||
},
|
|
||||||
class_parse: '.navbar-items li:gt(0):lt(10);a&&Text;a&&href;/(\\d+)',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
double: true, // 推荐内容是否双层定位
|
|
||||||
推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href',
|
|
||||||
一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: 'h1&&Text;.module-info-tag-link:eq(-1)&&Text',
|
|
||||||
img: '.lazyload&&data-original||data-src||src',
|
|
||||||
desc: '.module-info-item:eq(-2)&&Text;.module-info-tag-link&&Text;.module-info-tag-link:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(1)&&Text',
|
|
||||||
content: '.module-info-introduction&&Text',
|
|
||||||
tabs: '.module-tab-item',
|
|
||||||
lists: '.module-play-list:eq(#id) a',
|
|
||||||
tab_text: 'div--small&&Text',
|
|
||||||
},
|
|
||||||
搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text',
|
|
||||||
}, mxone5: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
url: '/show/fyclass--------fypage---.html',
|
|
||||||
searchUrl: '/search/**----------fypage---.html',
|
|
||||||
searchable: 2,//是否启用全局搜索,
|
|
||||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||||
filterable: 0,//是否启用分类筛选,
|
|
||||||
class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?)\.html',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
double: true, // 推荐内容是否双层定位
|
|
||||||
推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
|
|
||||||
一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: 'h1&&Text;.tag-link&&Text',
|
|
||||||
img: '.module-item-pic&&img&&data-src',
|
|
||||||
desc: '.video-info-items:eq(3)&&Text;.tag-link:eq(2)&&Text;.tag-link:eq(1)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(0)&&Text',
|
|
||||||
content: '.vod_content&&Text',
|
|
||||||
tabs: '.module-tab-item',
|
|
||||||
lists: '.module-player-list:eq(#id)&&.scroll-content&&a',
|
|
||||||
tab_text: 'div--small&&Text',
|
|
||||||
},
|
|
||||||
搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href',
|
|
||||||
}, 首图: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
url: '/vodshow/fyclass--------fypage---/',
|
|
||||||
searchUrl: '/vodsearch/**----------fypage---.html',
|
|
||||||
searchable: 2,//是否启用全局搜索,
|
|
||||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||||
filterable: 0,//是否启用分类筛选,
|
|
||||||
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
|
|
||||||
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
|
|
||||||
},
|
|
||||||
class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
double: true, // 推荐内容是否双层定位
|
|
||||||
推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
|
|
||||||
一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: '.myui-content__detail .title--span&&Text;.myui-content__detail p.data:eq(3)&&Text',
|
|
||||||
img: '.myui-content__thumb .lazyload&&data-original',
|
|
||||||
desc: '.myui-content__detail p.otherbox&&Text;.year&&Text;.myui-content__detail p.data:eq(4)&&Text;.myui-content__detail p.data:eq(2)&&Text;.myui-content__detail p.data:eq(0)&&Text',
|
|
||||||
content: '.content&&Text',
|
|
||||||
tabs: '.myui-panel__head&&li',
|
|
||||||
// tabs: '.nav-tabs&&li',
|
|
||||||
lists: '.myui-content__list:eq(#id) li',
|
|
||||||
},
|
|
||||||
搜索: '#searchList li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href;.detail&&Text',
|
|
||||||
}, 首图2: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
url: '/list/fyclass-fypage.html',
|
|
||||||
searchUrl: '/vodsearch/**----------fypage---.html',
|
|
||||||
searchable: 2,//是否启用全局搜索,
|
|
||||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||||
filterable: 0,//是否启用分类筛选,
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'UC_UA', // "Cookie": ""
|
|
||||||
},
|
|
||||||
class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
double: true, // 推荐内容是否双层定位
|
|
||||||
推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href',
|
|
||||||
一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: '.stui-content__detail .title&&Text;.stui-content__detail&&p:eq(-2)&&a&&Text',
|
|
||||||
title1: '.stui-content__detail .title&&Text;.stui-content__detail&&p&&Text',
|
|
||||||
img: '.stui-content__thumb .lazyload&&data-original',
|
|
||||||
desc: '.stui-content__detail p&&Text;.stui-content__detail&&p:eq(-2)&&a:eq(2)&&Text;.stui-content__detail&&p:eq(-2)&&a:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text;.stui-content__detail p:eq(1)&&Text',
|
|
||||||
desc1: '.stui-content__detail p:eq(4)&&Text;;;.stui-content__detail p:eq(1)&&Text',
|
|
||||||
content: '.detail&&Text',
|
|
||||||
tabs: '.stui-pannel__head h3',
|
|
||||||
tabs1: '.stui-vodlist__head h3',
|
|
||||||
lists: '.stui-content__playlist:eq(#id) li',
|
|
||||||
},
|
|
||||||
搜索: 'ul.stui-vodlist__media,ul.stui-vodlist,#searchList li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href;.detail&&Text',
|
|
||||||
}, 默认: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
url: '',
|
|
||||||
searchUrl: '',
|
|
||||||
searchable: 2,
|
|
||||||
quickSearch: 0,
|
|
||||||
filterable: 0,
|
|
||||||
filter: '',
|
|
||||||
filter_url: '',
|
|
||||||
filter_def: {},
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'MOBILE_UA',
|
|
||||||
},
|
|
||||||
timeout: 5000,
|
|
||||||
class_parse: '#side-menu li;a&&Text;a&&href;/(.*?)\.html',
|
|
||||||
cate_exclude: '',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: def_lazy,
|
|
||||||
double: true,
|
|
||||||
推荐: '列表1;列表2;标题;图片;描述;链接;详情',
|
|
||||||
一级: '列表;标题;图片;描述;链接;详情',
|
|
||||||
二级: {
|
|
||||||
title: 'vod_name;vod_type',
|
|
||||||
img: '图片链接',
|
|
||||||
desc: '主要信息;年代;地区;演员;导演',
|
|
||||||
content: '简介',
|
|
||||||
tabs: '',
|
|
||||||
lists: 'xx:eq(#id)&&a',
|
|
||||||
tab_text: 'body&&Text',
|
|
||||||
list_text: 'body&&Text',
|
|
||||||
list_url: 'a&&href',
|
|
||||||
},
|
|
||||||
搜索: '列表;标题;图片;描述;链接;详情',
|
|
||||||
}, vfed: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
url: '/index.php/vod/show/id/fyclass/page/fypage.html',
|
|
||||||
searchUrl: '/index.php/vod/search/page/fypage/wd/**.html',
|
|
||||||
searchable: 2,//是否启用全局搜索,
|
|
||||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||||
filterable: 0,//是否启用分类筛选,
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'UC_UA',
|
|
||||||
},
|
|
||||||
class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
double: true, // 推荐内容是否双层定位
|
|
||||||
推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
|
|
||||||
一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: 'h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text',
|
|
||||||
img: '.fed-list-info&&a&&data-original',
|
|
||||||
desc: '.fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text',
|
|
||||||
content: '.fed-part-esan&&Text',
|
|
||||||
tabs: '.fed-drop-boxs&&.fed-part-rows&&li',
|
|
||||||
lists: '.fed-play-item:eq(#id)&&ul:eq(1)&&li',
|
|
||||||
},
|
|
||||||
搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text',
|
|
||||||
}, 海螺3: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
searchUrl: '/v_search/**----------fypage---.html',
|
|
||||||
url: '/vod_____show/fyclass--------fypage---.html',
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'MOBILE_UA',
|
|
||||||
},
|
|
||||||
timeout: 5000,
|
|
||||||
class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html',
|
|
||||||
cate_exclude: '明星|专题|最新|排行',
|
|
||||||
limit: 40,
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
double: true,
|
|
||||||
推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href',
|
|
||||||
一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: '.hl-dc-title&&Text;.hl-dc-content&&li:eq(6)&&Text',
|
|
||||||
img: '.hl-lazy&&data-original',
|
|
||||||
desc: '.hl-dc-content&&li:eq(10)&&Text;.hl-dc-content&&li:eq(4)&&Text;.hl-dc-content&&li:eq(5)&&Text;.hl-dc-content&&li:eq(2)&&Text;.hl-dc-content&&li:eq(3)&&Text',
|
|
||||||
content: '.hl-content-text&&Text',
|
|
||||||
tabs: '.hl-tabs&&a',
|
|
||||||
tab_text: 'a--span&&Text',
|
|
||||||
lists: '.hl-plays-list:eq(#id)&&li',
|
|
||||||
},
|
|
||||||
搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
|
|
||||||
searchable: 2,//是否启用全局搜索,
|
|
||||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||||
filterable: 0,//是否启用分类筛选,
|
|
||||||
}, 海螺2: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
searchUrl: '/index.php/vod/search/page/fypage/wd/**/',
|
|
||||||
url: '/index.php/vod/show/id/fyclass/page/fypage/',
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'MOBILE_UA',
|
|
||||||
},
|
|
||||||
timeout: 5000,
|
|
||||||
class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/',
|
|
||||||
limit: 40,
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
double: true,
|
|
||||||
推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href',
|
|
||||||
一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: 'h2&&Text;.deployment&&Text',
|
|
||||||
img: '.lazy&&data-original',
|
|
||||||
desc: '.deployment&&Text',
|
|
||||||
content: '.ec-show&&Text',
|
|
||||||
tabs: '#tag&&a',
|
|
||||||
lists: '.play_list_box:eq(#id)&&li',
|
|
||||||
},
|
|
||||||
搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href',
|
|
||||||
searchable: 2,//是否启用全局搜索,
|
|
||||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||||
filterable: 0,//是否启用分类筛选,
|
|
||||||
}, 短视: {
|
|
||||||
title: '',
|
|
||||||
host: '', // homeUrl:'/',
|
|
||||||
url: '/channel/fyclass-fypage.html',
|
|
||||||
searchUrl: '/search.html?wd=**',
|
|
||||||
searchable: 2,//是否启用全局搜索,
|
|
||||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||||
filterable: 0,//是否启用分类筛选,
|
|
||||||
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
|
|
||||||
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
|
|
||||||
},
|
|
||||||
class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html',
|
|
||||||
cate_exclude: '解析|动态',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
double: true, // 推荐内容是否双层定位
|
|
||||||
推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
|
|
||||||
一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: 'h1&&Text;.content-rt&&p:eq(0)&&Text',
|
|
||||||
img: '.img&&img&&data-src',
|
|
||||||
desc: '.content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text',
|
|
||||||
content: '.zkjj_a&&Text',
|
|
||||||
tabs: '.py-tabs&&option',
|
|
||||||
lists: '.player:eq(#id) li',
|
|
||||||
},
|
|
||||||
搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href',
|
|
||||||
}, 短视2: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
class_name: '电影&电视剧&综艺&动漫',
|
|
||||||
class_url: '1&2&3&4',
|
|
||||||
searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50',
|
|
||||||
searchable: 2,
|
|
||||||
quickSearch: 0,
|
|
||||||
headers: {'User-Agent': 'MOBILE_UA'},
|
|
||||||
url: '/index.php/api/vod#type=fyclass&page=fypage',
|
|
||||||
filterable: 0,//是否启用分类筛选,
|
|
||||||
filter_url: '',
|
|
||||||
filter: {},
|
|
||||||
filter_def: {},
|
|
||||||
detailUrl: '/index.php/vod/detail/id/fyid.html',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
推荐: '.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href',
|
|
||||||
一级: 'js:let body=input.split("#")[1];let t=Math.round(new Date/1e3).toString();let key=md5("DS"+t+"DCC147D11943AF75");let url=input.split("#")[0];body=body+"&time="+t+"&key="+key;print(body);fetch_params.body=body;let html=post(url,fetch_params);let data=JSON.parse(html);VODS=data.list.map(function(it){it.vod_pic=urljoin2(input.split("/i")[0],it.vod_pic);return it});',
|
|
||||||
二级: {
|
|
||||||
title: '.slide-info-title&&Text;.slide-info:eq(2)--strong&&Text',
|
|
||||||
img: '.detail-pic&&data-original',
|
|
||||||
desc: '.slide-info-remarks&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(1)--strong&&Text;.info-parameter&&ul&&li:eq(3)&&Text',
|
|
||||||
content: '#height_limit&&Text',
|
|
||||||
tabs: '.anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a',
|
|
||||||
tab_text: 'a--span&&Text',
|
|
||||||
lists: '.anthology-list-box:eq(#id) li',
|
|
||||||
},
|
|
||||||
搜索: 'json:list;name;pic;;id',
|
|
||||||
}, 采集1: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
homeTid: '13',
|
|
||||||
homeUrl: '/api.php/provide/vod/?ac=detail&t={{rule.homeTid}}',
|
|
||||||
detailUrl: '/api.php/provide/vod/?ac=detail&ids=fyid',
|
|
||||||
searchUrl: '/api.php/provide/vod/?wd=**&pg=fypage',
|
|
||||||
url: '/api.php/provide/vod/?ac=detail&pg=fypage&t=fyclass',
|
|
||||||
headers: {'User-Agent': 'MOBILE_UA'},
|
|
||||||
timeout: 5000, // class_name: '电影&电视剧&综艺&动漫',
|
|
||||||
// class_url: '1&2&3&4',
|
|
||||||
// class_parse:'js:let html=request(input);input=JSON.parse(html).class;',
|
|
||||||
class_parse: 'json:class;',
|
|
||||||
limit: 20,
|
|
||||||
multi: 1,
|
|
||||||
searchable: 2,//是否启用全局搜索,
|
|
||||||
quickSearch: 1,//是否启用快速搜索,
|
|
||||||
filterable: 0,//是否启用分类筛选,
|
|
||||||
play_parse: true,
|
|
||||||
parse_url: '',
|
|
||||||
lazy: cj_lazy,
|
|
||||||
推荐: '*',
|
|
||||||
一级: 'json:list;vod_name;vod_pic;vod_remarks;vod_id;vod_play_from',
|
|
||||||
二级: `js:
|
|
||||||
let html=request(input);
|
|
||||||
html=JSON.parse(html);
|
|
||||||
let data=html.list;
|
|
||||||
VOD=data[0];`,
|
|
||||||
搜索: '*',
|
|
||||||
},
|
|
||||||
};
|
|
||||||
return JSON.parse(JSON.stringify(mubanDict));
|
|
||||||
}
|
|
||||||
|
|
||||||
var mubanDict = getMubans();
|
|
||||||
var muban = getMubans();
|
|
||||||
export default {muban, getMubans};
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"share_index": "夸克",
|
|
||||||
"share_name": "OK影视",
|
|
||||||
"share_id": "6fead79bddaf"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"share_index": "UC",
|
|
||||||
"share_name": "OK影视",
|
|
||||||
"share_id": "01bc89c897034"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"share_index": "夸克",
|
|
||||||
"share_name": "FM影视",
|
|
||||||
"share_id": "90ee86fd1738"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"share_index": "UC",
|
|
||||||
"share_name": "FM影视",
|
|
||||||
"share_id": "9a79b2b1c5804"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"share_index": "UC",
|
|
||||||
"share_name": "影视仓",
|
|
||||||
"share_id": "b437317346a14"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
@@ -31,7 +31,6 @@ CCTV7,http://58.57.40.22:9901/tsfile/live/1007_1.m3u8
|
|||||||
CCTV7,http://8.138.7.223/tv/cctv7.m3u8
|
CCTV7,http://8.138.7.223/tv/cctv7.m3u8
|
||||||
CCTV7,http://58.221.214.82:9901/tsfile/live/0007_1.m3u8
|
CCTV7,http://58.221.214.82:9901/tsfile/live/0007_1.m3u8
|
||||||
CCTV8,http://218.3.138.25:1111/tsfile/live/1007_1.m3u8
|
CCTV8,http://218.3.138.25:1111/tsfile/live/1007_1.m3u8
|
||||||
CCTV8,http://61.138.128.226:19901/tsfile/live/0009_1.m3u8
|
|
||||||
CCTV8,http://120.238.94.10:9901/tsfile/live/1026_1.m3u8
|
CCTV8,http://120.238.94.10:9901/tsfile/live/1026_1.m3u8
|
||||||
CCTV8,http://110.7.131.79:9901/tsfile/live/0008_1.m3u8?key=txiptv&playlive=1&authid=0
|
CCTV8,http://110.7.131.79:9901/tsfile/live/0008_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||||
CCTV9,http://36.105.100.208:35455/gaoma/cctv9.m3u8
|
CCTV9,http://36.105.100.208:35455/gaoma/cctv9.m3u8
|
||||||
@@ -185,8 +184,6 @@ CCTV2024,https://p2.bdstatic.com/rtmp.liveshow.lss-user.baidubce.com/live/stream
|
|||||||
青海卫视,http://58.19.43.46:9901/tsfile/live/1014_1.m3u8
|
青海卫视,http://58.19.43.46:9901/tsfile/live/1014_1.m3u8
|
||||||
青海卫视,http://120.76.248.139/live/bfgd/4200000111.m3u8
|
青海卫视,http://120.76.248.139/live/bfgd/4200000111.m3u8
|
||||||
青海卫视,http://123.130.84.106:8154/tsfile/live/0140_1.m3u8
|
青海卫视,http://123.130.84.106:8154/tsfile/live/0140_1.m3u8
|
||||||
三沙卫视,http://61.138.128.226:19901/tsfile/live/1020_1.m3u8
|
|
||||||
三沙卫视,http://61.138.128.226:19901/tsfile/live/1020_1.m3u8?key=txiptv&playlive=1&authid=0
|
|
||||||
山东卫视,http://39.164.160.249:9901/tsfile/live/0131_1.m3u8
|
山东卫视,http://39.164.160.249:9901/tsfile/live/0131_1.m3u8
|
||||||
山东卫视,http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8
|
山东卫视,http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8
|
||||||
山东卫视,http://183.11.239.36:808/hls/43/index.m3u8
|
山东卫视,http://183.11.239.36:808/hls/43/index.m3u8
|
||||||
@@ -214,7 +211,6 @@ CCTV2024,https://p2.bdstatic.com/rtmp.liveshow.lss-user.baidubce.com/live/stream
|
|||||||
新疆卫视,http://111.61.236.247:9081/hls/53/index.m3u8
|
新疆卫视,http://111.61.236.247:9081/hls/53/index.m3u8
|
||||||
新疆卫视,http://113.25.252.226:9901/tsfile/live/0110_1.m3u8
|
新疆卫视,http://113.25.252.226:9901/tsfile/live/0110_1.m3u8
|
||||||
延边卫视,http://120.76.248.139/live/bfgd/4200000117.m3u8
|
延边卫视,http://120.76.248.139/live/bfgd/4200000117.m3u8
|
||||||
延边卫视,http://61.138.128.226:19901/tsfile/live/1008_1.m3u8
|
|
||||||
延边卫视,http://gmxw.7766.org:808/hls/15/index.m3u8
|
延边卫视,http://gmxw.7766.org:808/hls/15/index.m3u8
|
||||||
云南卫视,http://58.57.40.22:9901/tsfile/live/1047_1.m3u8
|
云南卫视,http://58.57.40.22:9901/tsfile/live/1047_1.m3u8
|
||||||
云南卫视,http://36.32.174.67:60080/newlive/live/hls/45/live.m3u8
|
云南卫视,http://36.32.174.67:60080/newlive/live/hls/45/live.m3u8
|
||||||
@@ -273,14 +269,11 @@ CCTV2024,https://p2.bdstatic.com/rtmp.liveshow.lss-user.baidubce.com/live/stream
|
|||||||
北京卫视,http://61.156.228.12:8154/tsfile/live/0122_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路83』
|
北京卫视,http://61.156.228.12:8154/tsfile/live/0122_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路83』
|
||||||
安徽卫视,http://61.136.172.236:9901/tsfile/live/0130_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路75』
|
安徽卫视,http://61.136.172.236:9901/tsfile/live/0130_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路75』
|
||||||
广西卫视,http://61.136.172.236:9901/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路54』
|
广西卫视,http://61.136.172.236:9901/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路54』
|
||||||
三沙卫视,https://pullsstv90080111.ssws.tv/live/SSTV20220729.m3u8
|
|
||||||
三沙卫视,https://pullsstv90080111.ssws.tv/live/SSTV20220729.m3u8
|
|
||||||
深圳卫视,http://api3.52tb.xyz/info?id=28&token=20230227aesvnb
|
深圳卫视,http://api3.52tb.xyz/info?id=28&token=20230227aesvnb
|
||||||
东南卫视,http://api3.52tb.xyz/info?id=29&token=20230227aesvnb
|
东南卫视,http://api3.52tb.xyz/info?id=29&token=20230227aesvnb
|
||||||
河南卫视,http://api3.52tb.xyz/info?id=31&token=20230227aesvnb
|
河南卫视,http://api3.52tb.xyz/info?id=31&token=20230227aesvnb
|
||||||
海南卫视,http://api3.52tb.xyz/info?id=38&token=20230227aesvnb
|
海南卫视,http://api3.52tb.xyz/info?id=38&token=20230227aesvnb
|
||||||
吉林卫视,http://api3.52tb.xyz/info?id=40&token=20230227aesvnb
|
吉林卫视,http://api3.52tb.xyz/info?id=40&token=20230227aesvnb
|
||||||
三沙卫视,https://pullsstv90080111.ssws.tv/live/SSTV20220729.m3u8
|
|
||||||
|
|
||||||
|
|
||||||
IPV6,#genre#
|
IPV6,#genre#
|
||||||
|
|||||||
+2
-10
@@ -4,7 +4,7 @@
|
|||||||
"sites": [
|
"sites": [
|
||||||
{
|
{
|
||||||
"key": "豆豆",
|
"key": "豆豆",
|
||||||
"name": "🌈热播┃推荐",
|
"name": "🌈热播┃推荐(长按图片也可以聚合搜索)",
|
||||||
"type": 3,
|
"type": 3,
|
||||||
"quickSearch": 0,
|
"quickSearch": 0,
|
||||||
"filterable": 0,
|
"filterable": 0,
|
||||||
@@ -215,14 +215,6 @@
|
|||||||
"quickSearch": 0,
|
"quickSearch": 0,
|
||||||
"ext": "J7WBJTWvt49Rro0WaKnCpcwiAwtiA57atMnVBDAP3YRNynoyyCyLIvc6/nXpdo/2nerMlKFDJbIGRKuy0qJdB6Qkf23z5CWmuH7UTrHERqI="
|
"ext": "J7WBJTWvt49Rro0WaKnCpcwiAwtiA57atMnVBDAP3YRNynoyyCyLIvc6/nXpdo/2nerMlKFDJbIGRKuy0qJdB6Qkf23z5CWmuH7UTrHERqI="
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"key": "追忆",
|
|
||||||
"name": "🍯追忆┃影视",
|
|
||||||
"type": 3,
|
|
||||||
"api": "csp_AppSy",
|
|
||||||
"quickSearch": 0,
|
|
||||||
"ext": "9rfWRaAx60J+W5F+j6agt6AHU3NkRl7m8WqfWIBU/MebSZgzY2wnsXwmAIMEYVqMzsnqr46bOn1q4JV/UJAKUVF6NUo2Xg8qcHgXrA63RWM="
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"key": "麻花",
|
"key": "麻花",
|
||||||
"name": "🌸麻花┃影视",
|
"name": "🌸麻花┃影视",
|
||||||
@@ -253,7 +245,7 @@
|
|||||||
"quickSearch": 0,
|
"quickSearch": 0,
|
||||||
"searchable": 1,
|
"searchable": 1,
|
||||||
"api": "csp_AppGet",
|
"api": "csp_AppGet",
|
||||||
"ext": "qoNcYCY4SGJFWERC5ewNdoRMWRiiOH3dKBG5+Zte38B0REfz5STn0coM8gQ4pJtU"
|
"ext": "/gX5OFmAD2ilw4e9hdCDHWY43M85ApN9TVuFibQAIiwfF6Z4kN93prb5cBiQMwYjG42EbId2Fq/AxX8MV52mkA=="
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "大豆",
|
"key": "大豆",
|
||||||
|
|||||||
+26
-49
@@ -41,6 +41,15 @@
|
|||||||
"type": 3,
|
"type": 3,
|
||||||
"api": "csp_HBset"
|
"api": "csp_HBset"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"key": "全网",
|
||||||
|
"name": "全网|短剧",
|
||||||
|
"type": 3,
|
||||||
|
"api": "csp_HBqkDj3",
|
||||||
|
"ext": {
|
||||||
|
"site": "http://xsayang.fun:14710"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"key": "聚合",
|
"key": "聚合",
|
||||||
"name": "聚合|在线",
|
"name": "聚合|在线",
|
||||||
@@ -61,12 +70,13 @@
|
|||||||
"playerType": 2,
|
"playerType": 2,
|
||||||
"api": "csp_Mogg",
|
"api": "csp_Mogg",
|
||||||
"ext": {
|
"ext": {
|
||||||
"tyitoken": "",
|
"tyitoken": "http://127.0.0.1:9978/file/TVBox/tyitoken.txt",
|
||||||
"dutoken": "",
|
"dutoken": "http://127.0.0.1:9978/file/TVBox/dutoken.txt",
|
||||||
"p123token": "",
|
"p123token": "http://127.0.0.1:9978/file/TVBox/p123token.txt",
|
||||||
"token": "",
|
"token": "http://127.0.0.1:9978/file/TVBox/Altoken.txt",
|
||||||
"cookie": "",
|
"cookie": "http://127.0.0.1:9978/file/TVBox/qkcookie.txt",
|
||||||
"uccookie": "",
|
"uccookie": "http://127.0.0.1:9978/file/TVBox/uccookie.txt",
|
||||||
|
"tuctoken": "http://127.0.0.1:9978/file/TVBox/tuctoken.txt",
|
||||||
"site": "http://103.45.162.207:20720/"
|
"site": "http://103.45.162.207:20720/"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -77,12 +87,6 @@
|
|||||||
"playerType": 2,
|
"playerType": 2,
|
||||||
"api": "csp_Mogg",
|
"api": "csp_Mogg",
|
||||||
"ext": {
|
"ext": {
|
||||||
"tyitoken": "http://127.0.0.1:9978/file/TVBox/tyitoken.txt",
|
|
||||||
"dutoken": "http://127.0.0.1:9978/file/TVBox/dutoken.txt",
|
|
||||||
"p123token": "http://127.0.0.1:9978/file/TVBox/p123token.txt",
|
|
||||||
"token": "http://127.0.0.1:9978/file/TVBox/Altoken.txt",
|
|
||||||
"cookie": "http://127.0.0.1:9978/file/TVBox/qkcookie.txt",
|
|
||||||
"uccookie": "http://127.0.0.1:9978/file/TVBox/uccookie.txt",
|
|
||||||
"site": "http://xsayang.fun:12512/"
|
"site": "http://xsayang.fun:12512/"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -93,12 +97,6 @@
|
|||||||
"playerType": 2,
|
"playerType": 2,
|
||||||
"api": "csp_Mogg",
|
"api": "csp_Mogg",
|
||||||
"ext": {
|
"ext": {
|
||||||
"tyitoken": "http://127.0.0.1:9978/file/TVBox/tyitoken.txt",
|
|
||||||
"dutoken": "http://127.0.0.1:9978/file/TVBox/dutoken.txt",
|
|
||||||
"p123token": "http://127.0.0.1:9978/file/TVBox/p123token.txt",
|
|
||||||
"token": "http://127.0.0.1:9978/file/TVBox/Altoken.txt",
|
|
||||||
"cookie": "http://127.0.0.1:9978/file/TVBox/qkcookie.txt",
|
|
||||||
"uccookie": "http://127.0.0.1:9978/file/TVBox/uccookie.txt",
|
|
||||||
"site": "http://xsayang.fun:12512/"
|
"site": "http://xsayang.fun:12512/"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -109,12 +107,6 @@
|
|||||||
"playerType": 2,
|
"playerType": 2,
|
||||||
"api": "csp_Mogg",
|
"api": "csp_Mogg",
|
||||||
"ext": {
|
"ext": {
|
||||||
"tyitoken": "http://127.0.0.1:9978/file/TVBox/tyitoken.txt",
|
|
||||||
"dutoken": "http://127.0.0.1:9978/file/TVBox/dutoken.txt",
|
|
||||||
"p123token": "http://127.0.0.1:9978/file/TVBox/p123token.txt",
|
|
||||||
"token": "http://127.0.0.1:9978/file/TVBox/Altoken.txt",
|
|
||||||
"cookie": "http://127.0.0.1:9978/file/TVBox/qkcookie.txt",
|
|
||||||
"uccookie": "http://127.0.0.1:9978/file/TVBox/uccookie.txt",
|
|
||||||
"site": "http://xsayang.fun:12512/"
|
"site": "http://xsayang.fun:12512/"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -145,12 +137,6 @@
|
|||||||
"playerType": 2,
|
"playerType": 2,
|
||||||
"api": "csp_HBhaiM",
|
"api": "csp_HBhaiM",
|
||||||
"ext": {
|
"ext": {
|
||||||
"tyitoken": "http://127.0.0.1:9978/file/HBTV/tyitoken.txt",
|
|
||||||
"dutoken": "http://127.0.0.1:9978/file/HBTV/dutoken.txt",
|
|
||||||
"p123token": "http://127.0.0.1:9978/file/HBTV/p123token.txt",
|
|
||||||
"token": "http://127.0.0.1:9978/file/HBTV/Altoken.txt",
|
|
||||||
"cookie": "http://127.0.0.1:9978/file/HBTV/qkcookie.txt",
|
|
||||||
"uccookie": "http://127.0.0.1:9978/file/HBTV/uccookie.txt",
|
|
||||||
"hmianck": "",
|
"hmianck": "",
|
||||||
"site": "https://www.haimianxz.com"
|
"site": "https://www.haimianxz.com"
|
||||||
}
|
}
|
||||||
@@ -161,19 +147,10 @@
|
|||||||
"type": 3,
|
"type": 3,
|
||||||
"playerType": 2,
|
"playerType": 2,
|
||||||
"api": "csp_HBleiJing",
|
"api": "csp_HBleiJing",
|
||||||
"ext": {}
|
"ext": {
|
||||||
},
|
"tyitoken": "http://127.0.0.1:9978/file/HBTV/tyitoken.txt",
|
||||||
{
|
"leijck": ""
|
||||||
"key": "短剧夸克2",
|
}
|
||||||
"name": "夸克|短剧1",
|
|
||||||
"type": 3,
|
|
||||||
"api": "csp_HBqkDj2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "短剧夸克1",
|
|
||||||
"name": "夸克|短搜2",
|
|
||||||
"type": 3,
|
|
||||||
"api": "csp_HBqkDj"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "窈窕",
|
"key": "窈窕",
|
||||||
@@ -215,7 +192,7 @@
|
|||||||
"name": "小猫|自定",
|
"name": "小猫|自定",
|
||||||
"type": 3,
|
"type": 3,
|
||||||
"api": "csp_HBcms10",
|
"api": "csp_HBcms10",
|
||||||
"ext": "https://zy.xmm.hk/api.php/provide/vod/"
|
"ext": "https://vs.okcdn100.top/api.php/provide/vod/"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "tenteng",
|
"key": "tenteng",
|
||||||
@@ -614,11 +591,6 @@
|
|||||||
"type": 1,
|
"type": 1,
|
||||||
"url": "http://127.0.0.1:9978/proxy?do=seachdanmu&go=getuserjx&url="
|
"url": "http://127.0.0.1:9978/proxy?do=seachdanmu&go=getuserjx&url="
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "虎斑mt4K",
|
|
||||||
"type": 1,
|
|
||||||
"url": "http://127.0.0.1:9978/proxy?do=seachdanmu&go=getmgtvjx&url="
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "虎斑XM",
|
"name": "虎斑XM",
|
||||||
"type": 1,
|
"type": 1,
|
||||||
@@ -630,6 +602,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "虎斑mt4K",
|
||||||
|
"type": 1,
|
||||||
|
"url": "http://127.0.0.1:9978/proxy?do=seachdanmu&go=getmgtvjx&url="
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "虎斑HJ",
|
"name": "虎斑HJ",
|
||||||
"type": 1,
|
"type": 1,
|
||||||
|
|||||||
Binary file not shown.
@@ -18,8 +18,12 @@ http://eastscreen.tv/ooooo.php
|
|||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC家庭影院" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%AE%B6%E5%BA%AD%E5%BD%B1%E9%99%A2.png",CHC家庭影院
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC家庭影院" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%AE%B6%E5%BA%AD%E5%BD%B1%E9%99%A2.png",CHC家庭影院
|
||||||
http://eastscreen.tv/ooooo.php?id=chcjt
|
http://eastscreen.tv/ooooo.php?id=chcjt
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC家庭影院" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%AE%B6%E5%BA%AD%E5%BD%B1%E9%99%A2.png",CHC家庭影院
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC家庭影院" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%AE%B6%E5%BA%AD%E5%BD%B1%E9%99%A2.png",CHC家庭影院
|
||||||
|
https://migu.188766.xyz/?migutoken=19a8ee05e00e1ed0c4f62c2e9f7e5b37&id=CHC%E5%AE%B6%E5%BA%AD%E5%BD%B1%E9%99%A2&pp=1
|
||||||
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC家庭影院" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%AE%B6%E5%BA%AD%E5%BD%B1%E9%99%A2.png",CHC家庭影院
|
||||||
http://z.b.bkpcp.top/m.php?id=jtyy
|
http://z.b.bkpcp.top/m.php?id=jtyy
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC动作电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1.png",CHC动作电影
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC动作电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1.png",CHC动作电影
|
||||||
|
https://migu.188766.xyz/?migutoken=5f7ddbc144aaa6a046ced38913096c20&id=CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1&pp=1
|
||||||
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC动作电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1.png",CHC动作电影
|
||||||
http://z.b.bkpcp.top/m.php
|
http://z.b.bkpcp.top/m.php
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC动作电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1.png",CHC动作电影
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC动作电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1.png",CHC动作电影
|
||||||
http://eastscreen.tv/ooooo.php
|
http://eastscreen.tv/ooooo.php
|
||||||
@@ -36,9 +40,9 @@ http://dsj.motem.top:8880/bptv/10000100000000050000000003887497.m3u8
|
|||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘剧场" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E5%89%A7%E5%9C%BA.png",淘剧场
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘剧场" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E5%89%A7%E5%9C%BA.png",淘剧场
|
||||||
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226553/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EQaJ92NID2SpQlY6_VJVogg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOuQYJeiYEeFWTkFfE86Vq-%2CEND
|
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226553/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EQaJ92NID2SpQlY6_VJVogg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOuQYJeiYEeFWTkFfE86Vq-%2CEND
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘娱乐" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E5%A8%B1%E4%B9%90.png",淘娱乐
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘娱乐" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E5%A8%B1%E4%B9%90.png",淘娱乐
|
||||||
http://dsj.motem.top:8880/bptv/10000100000000050000000003887499.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘娱乐" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E5%A8%B1%E4%B9%90.png",淘娱乐
|
|
||||||
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226551/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ex0efg9fpenP8E8lWJUb5Lg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNg3bzRax0E9tLmO9xgXVx8%2CEND
|
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226551/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ex0efg9fpenP8E8lWJUb5Lg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNg3bzRax0E9tLmO9xgXVx8%2CEND
|
||||||
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘娱乐" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E5%A8%B1%E4%B9%90.png",淘娱乐
|
||||||
|
http://dsj.motem.top:8880/bptv/10000100000000050000000003887499.m3u8
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E7%94%B5%E5%BD%B1.png",淘电影
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E7%94%B5%E5%BD%B1.png",淘电影
|
||||||
http://dsj.motem.top:8880/bptv/10000100000000050000000003887498.m3u8
|
http://dsj.motem.top:8880/bptv/10000100000000050000000003887498.m3u8
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E7%94%B5%E5%BD%B1.png",淘电影
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E7%94%B5%E5%BD%B1.png",淘电影
|
||||||
@@ -48,6 +52,8 @@ http://yc.myds.me:35455/bptv/10000100000000050000000003887498.m3u8
|
|||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="NewTV惊悚悬疑" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/NewTV%E6%83%8A%E6%82%9A%E6%82%AC%E7%96%91.png",NewTV惊悚悬疑
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="NewTV惊悚悬疑" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/NewTV%E6%83%8A%E6%82%9A%E6%82%AC%E7%96%91.png",NewTV惊悚悬疑
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225665/index.m3u8
|
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225665/index.m3u8
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="黑莓电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E7%94%B5%E5%BD%B1.png",黑莓电影
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="黑莓电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E7%94%B5%E5%BD%B1.png",黑莓电影
|
||||||
|
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221227448/index.m3u8
|
||||||
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="黑莓电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E7%94%B5%E5%BD%B1.png",黑莓电影
|
||||||
https://epg.pw/stream/ffcb6572863f0745a7369fbd9d901f1dfd0ab8fab8bad8bebb4e01c90b303c47.m3u8
|
https://epg.pw/stream/ffcb6572863f0745a7369fbd9d901f1dfd0ab8fab8bad8bebb4e01c90b303c47.m3u8
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="黑莓电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E7%94%B5%E5%BD%B1.png",黑莓电影
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="黑莓电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E7%94%B5%E5%BD%B1.png",黑莓电影
|
||||||
http://otttv.bj.chinamobile.com/PLTV/88888888/224/3221226939/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkBVQL3MtyiM0GGQzuPjqAQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
|
http://otttv.bj.chinamobile.com/PLTV/88888888/224/3221226939/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkBVQL3MtyiM0GGQzuPjqAQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
|
||||||
@@ -63,10 +69,22 @@ http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221
|
|||||||
http://serv00.bkpcp.top/litv3.php?id=4gtv-4gtv058
|
http://serv00.bkpcp.top/litv3.php?id=4gtv-4gtv058
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="天映经典" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E6%98%A0%E7%BB%8F%E5%85%B8.png",天映经典
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="天映经典" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E6%98%A0%E7%BB%8F%E5%85%B8.png",天映经典
|
||||||
https://cdn9.163189.xyz/smt1.1.php
|
https://cdn9.163189.xyz/smt1.1.php
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="天映经典" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E6%98%A0%E7%BB%8F%E5%85%B8.png",天映经典
|
|
||||||
http://free.cnlive.club/channel/n7e49c99a.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="星空卫视" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%98%9F%E7%A9%BA%E5%8D%AB%E8%A7%86.png",星空卫视
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="星空卫视" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%98%9F%E7%A9%BA%E5%8D%AB%E8%A7%86.png",星空卫视
|
||||||
http://wouu.net:9977/udp/239.93.0.156:2193
|
http://wouu.net:9977/udp/239.93.0.156:2193
|
||||||
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="东森超视" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%9C%E6%A3%AE%E8%B6%85%E8%A7%86.png",东森超视
|
||||||
|
rtmp://f13h.mine.nu/sat/tv331
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
|
http://www.v5b7.com.cn:7088/udp/239.45.1.69:5140
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
|
http://yahao.myqnapcloud.com:4022/rtp/239.77.0.170:5146
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
|
http://dq.eric702.top:8800/udp/239.77.0.170:5146
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
|
http://113.100.73.223:8899/rtp/239.77.0.170:5146
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
|
http://123.118.98.52:3391/rtp/239.3.1.173:8001
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
|
http://120.9.52.56:8809/rtp/239.253.92.181:6046
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
http://iptv.huuc.edu.cn/hls/cctv5hd.m3u8
|
http://iptv.huuc.edu.cn/hls/cctv5hd.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
@@ -75,44 +93,40 @@ http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226019/index.m3u8
|
|||||||
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225633/index.m3u8
|
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225633/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226395/index.m3u8
|
http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226395/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221226469/index.m3u8
|
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221225821/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://webmail.axxe.top:4022/rtp/239.3.1.173:8001
|
http://fjcm-2117.live.iptv.darwinchow.com/PLTV/88888888/224/3221225821/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://alvin.ergotron.net:8000/udp/239.77.0.170:5146
|
http://yahao.myqnapcloud.com:4022/rtp/239.77.0.87:5146
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221226019/index.m3u8
|
http://dq.eric702.top:8800/udp/239.77.0.87:5146
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://wouu.net:9977/udp/239.93.1.36:8004
|
http://123.118.98.52:3391/rtp/239.3.1.130:8004
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://lu.wqwqwq.sbs/itv/1000000005000265005.m3u8?cdn=ystenlive
|
http://113.100.73.223:8899/rtp/239.77.0.87:5146
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
|
http://120.9.52.56:8809/rtp/239.253.92.82:8013
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225603/index.m3u8
|
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225603/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225649/index.m3u8
|
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225649/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225706/index.m3u8
|
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225706/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226221/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
http://webmail.axxe.top:4022/rtp/239.3.1.130:8004
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225603/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
http://lu.wqwqwq.sbs/itv/1000000005000265016.m3u8?cdn=ystenlive
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
https://hls-gateway.vpstv.net/streams/476888.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
https://smart.pendy.dpdns.org/Smart.php
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
http://[2409:8087:74f0:22::4]:6410/270000001111/1110000306/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
||||||
https://epg.pw/stream/7b470f9fc5c305db0c8622117b7b25ca00eb35ba3e93e865cf0ff9df5c736681.m3u8
|
http://yahao.myqnapcloud.com:4022/rtp/239.77.0.168:5146
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
||||||
|
http://113.100.73.223:8899/rtp/239.77.0.168:5146
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
||||||
|
http://dq.eric702.top:8800/rtp/239.77.0.168:5146
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
||||||
http://cdn2.163189.xyz/live/gdty/stream.m3u8
|
http://cdn2.163189.xyz/live/gdty/stream.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
||||||
http://cdn2.132.us.kg/live/gdty/stream.m3u8
|
http://cdn2.132.us.kg/live/gdty/stream.m3u8
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
||||||
|
https://epg.pw/stream/7b470f9fc5c305db0c8622117b7b25ca00eb35ba3e93e865cf0ff9df5c736681.m3u8
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
||||||
|
http://n1.gzbody.com:85/rtp/239.77.0.168:5146
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="纬来体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BA%AC%E6%9D%A5%E4%BD%93%E8%82%B2.png",纬来体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="纬来体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BA%AC%E6%9D%A5%E4%BD%93%E8%82%B2.png",纬来体育
|
||||||
https://smart.pendy.dpdns.org/Smart.php
|
https://smart.pendy.dpdns.org/Smart.php
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="劲爆体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%8A%B2%E7%88%86%E4%BD%93%E8%82%B2.png",劲爆体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="劲爆体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%8A%B2%E7%88%86%E4%BD%93%E8%82%B2.png",劲爆体育
|
||||||
@@ -128,18 +142,18 @@ https://epg.pw/stream/f7556eccd4ae06b0c2991fdc7a4f8388496559f728cc82459a8e503460
|
|||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
||||||
https://epg.pw/stream/94ed0232b61ce8d89883160a4cdfbfc8f3225cae70ef8e17d93eec249a3c8ad6.m3u8
|
https://epg.pw/stream/94ed0232b61ce8d89883160a4cdfbfc8f3225cae70ef8e17d93eec249a3c8ad6.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
||||||
|
https://epg.pw/stream/866a097a0907c9832440f8df38272dd555abf05200dfbafcc137e214c9b30ca7.m3u8
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225674/index.m3u8
|
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225674/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
||||||
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225674/index.m3u8
|
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225674/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广州竞赛" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E5%B7%9E%E7%AB%9E%E8%B5%9B.png",广州竞赛
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="睛彩篮球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%9D%9B%E5%BD%A9%E7%AF%AE%E7%90%83.png",睛彩篮球
|
||||||
https://tencentplay.gztv.com/live/jingsai.m3u8?txSecret=a4d04c27d0d1d8b7efef2ed7ff1c3eae&txTime=191b60cc9ca
|
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221227158/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="睛彩篮球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%9D%9B%E5%BD%A9%E7%AF%AE%E7%90%83.png",睛彩篮球
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="睛彩篮球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%9D%9B%E5%BD%A9%E7%AF%AE%E7%90%83.png",睛彩篮球
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226147/index.m3u8
|
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226147/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="睛彩广场舞" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%9D%9B%E5%BD%A9%E5%B9%BF%E5%9C%BA%E8%88%9E.png",睛彩广场舞
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="睛彩广场舞" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%9D%9B%E5%BD%A9%E5%B9%BF%E5%9C%BA%E8%88%9E.png",睛彩广场舞
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226472/index.m3u8
|
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226472/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="风云足球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%A3%8E%E4%BA%91%E8%B6%B3%E7%90%83.png",风云足球
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="风云足球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%A3%8E%E4%BA%91%E8%B6%B3%E7%90%83.png",风云足球
|
||||||
http://www.lizhinas.top:1009/rtp/239.252.219.96:5140
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="风云足球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%A3%8E%E4%BA%91%E8%B6%B3%E7%90%83.png",风云足球
|
|
||||||
https://epg.pw/stream/ac8062ec9484078061d3bef507c15a423ac57ae4144e3fcc4b0a198dd420f911.m3u8
|
https://epg.pw/stream/ac8062ec9484078061d3bef507c15a423ac57ae4144e3fcc4b0a198dd420f911.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="魅力足球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%AD%85%E5%8A%9B%E8%B6%B3%E7%90%83.png",魅力足球
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="魅力足球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%AD%85%E5%8A%9B%E8%B6%B3%E7%90%83.png",魅力足球
|
||||||
http://z.b.bkpcp.top/m.php?id=mlzq
|
http://z.b.bkpcp.top/m.php?id=mlzq
|
||||||
@@ -151,8 +165,8 @@ http://wouu.net:9977/udp/239.93.42.55:5140
|
|||||||
http://fjcm-2117.live.iptv.darwinchow.com/PLTV/88888888/224/3221226940/index.m3u8
|
http://fjcm-2117.live.iptv.darwinchow.com/PLTV/88888888/224/3221226940/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="JJ斗地主" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/JJ%E6%96%97%E5%9C%B0%E4%B8%BB.png",JJ斗地主
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="JJ斗地主" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/JJ%E6%96%97%E5%9C%B0%E4%B8%BB.png",JJ斗地主
|
||||||
https://lunbo.freetv.top/douyu/488743
|
https://lunbo.freetv.top/douyu/488743
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="JJ斗地主" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/JJ%E6%96%97%E5%9C%B0%E4%B8%BB.png",JJ斗地主
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
||||||
http://tc-tct.douyucdn2.cn/dyliveflv1a/488743rAHScWyyII_2000.m3u8?wsAuth=fd695c444eeee99cc6122ed396c805ba&token=cpn-androidmpro-0-488743-df8b1830ef2e6ce156759645768df95bf77749da61fcc901&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=play2
|
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221227339/index.m3u8
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
||||||
http://z.b.bkpcp.top/m.php?id=ymkt
|
http://z.b.bkpcp.top/m.php?id=ymkt
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
||||||
@@ -162,10 +176,10 @@ http://wouu.net:9977/udp/239.93.0.251:5140
|
|||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
||||||
http://ygbh.live/js.php?id=ymkt
|
http://ygbh.live/js.php?id=ymkt
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="金鹰卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%87%91%E9%B9%B0%E5%8D%A1%E9%80%9A.png",金鹰卡通
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="金鹰卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%87%91%E9%B9%B0%E5%8D%A1%E9%80%9A.png",金鹰卡通
|
||||||
http://dsj.motem.top:8880/bptv/10000100000000050000000004796942.m3u8
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="金鹰卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%87%91%E9%B9%B0%E5%8D%A1%E9%80%9A.png",金鹰卡通
|
|
||||||
http://wouu.net:9977/udp/239.93.0.108:5140
|
http://wouu.net:9977/udp/239.93.0.108:5140
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="金鹰卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%87%91%E9%B9%B0%E5%8D%A1%E9%80%9A.png",金鹰卡通
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="金鹰卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%87%91%E9%B9%B0%E5%8D%A1%E9%80%9A.png",金鹰卡通
|
||||||
|
http://dsj.motem.top:8880/bptv/10000100000000050000000004796942.m3u8
|
||||||
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="金鹰卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%87%91%E9%B9%B0%E5%8D%A1%E9%80%9A.png",金鹰卡通
|
||||||
http://[2409:8087:1a0b:df::4008]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225653/index.m3u8
|
http://[2409:8087:1a0b:df::4008]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225653/index.m3u8
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="黑莓动画" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E5%8A%A8%E7%94%BB.png",黑莓动画
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="黑莓动画" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E5%8A%A8%E7%94%BB.png",黑莓动画
|
||||||
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221227303/index.m3u8
|
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221227303/index.m3u8
|
||||||
@@ -188,21 +202,29 @@ https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
|||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="浙江少儿" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B5%99%E6%B1%9F%E5%B0%91%E5%84%BF.png",浙江少儿
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="浙江少儿" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B5%99%E6%B1%9F%E5%B0%91%E5%84%BF.png",浙江少儿
|
||||||
https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?#https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8#http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?#https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8#http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="浙江少儿" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B5%99%E6%B1%9F%E5%B0%91%E5%84%BF.png",浙江少儿
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="浙江少儿" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B5%99%E6%B1%9F%E5%B0%91%E5%84%BF.png",浙江少儿
|
||||||
|
http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?fbl=
|
||||||
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="浙江少儿" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B5%99%E6%B1%9F%E5%B0%91%E5%84%BF.png",浙江少儿
|
||||||
|
http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?fbl=#migu5://611318244
|
||||||
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="浙江少儿" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B5%99%E6%B1%9F%E5%B0%91%E5%84%BF.png",浙江少儿
|
||||||
http://ali-vl.cztv.com/channels/lantian/channel008/360p.m3u8
|
http://ali-vl.cztv.com/channels/lantian/channel008/360p.m3u8
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="火影忍者" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%81%AB%E5%BD%B1%E5%BF%8D%E8%80%85.png",火影忍者
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="火影忍者" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%81%AB%E5%BD%B1%E5%BF%8D%E8%80%85.png",火影忍者
|
||||||
https://hd.ijycnd.com/play/Yer3NWLa/index.m3u8
|
https://hd.ijycnd.com/play/Yer3NWLa/index.m3u8
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="中华小当家" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%AD%E5%8D%8E%E5%B0%8F%E5%BD%93%E5%AE%B6.png",中华小当家
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="中华小当家" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%AD%E5%8D%8E%E5%B0%8F%E5%BD%93%E5%AE%B6.png",中华小当家
|
||||||
https://live.iill.top/huya/11342413
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="中华小当家" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%AD%E5%8D%8E%E5%B0%8F%E5%BD%93%E5%AE%B6.png",中华小当家
|
|
||||||
https://live.metshop.top/huya/11342413
|
https://live.metshop.top/huya/11342413
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="经典动漫" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BB%8F%E5%85%B8%E5%8A%A8%E6%BC%AB.png",经典动漫
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="经典动漫" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BB%8F%E5%85%B8%E5%8A%A8%E6%BC%AB.png",经典动漫
|
||||||
|
https://lunbo.freetv.top/yy/24180320
|
||||||
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="经典动漫" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BB%8F%E5%85%B8%E5%8A%A8%E6%BC%AB.png",经典动漫
|
||||||
|
http://43.138.0.72:35455/yy/24180320
|
||||||
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="经典动漫" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BB%8F%E5%85%B8%E5%8A%A8%E6%BC%AB.png",经典动漫
|
||||||
https://www.goodiptv.club/yy/22777075
|
https://www.goodiptv.club/yy/22777075
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="经典动漫" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BB%8F%E5%85%B8%E5%8A%A8%E6%BC%AB.png",经典动漫
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="经典动漫" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BB%8F%E5%85%B8%E5%8A%A8%E6%BC%AB.png",经典动漫
|
||||||
https://www.goodiptv.club/yy/24180320
|
https://www.goodiptv.club/yy/24180320
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="蜡笔小新" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E8%9C%A1%E7%AC%94%E5%B0%8F%E6%96%B0.png",蜡笔小新
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
||||||
http://www.douzhicloud.site:35455/bilibili/30837590
|
http://fjcm-2117.live.iptv.darwinchow.com/PLTV/88888888/224/3221225818/index.m3u8
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="蜡笔小新" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E8%9C%A1%E7%AC%94%E5%B0%8F%E6%96%B0.png",蜡笔小新
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
||||||
http://47.102.149.208:35455/bilibili/30837590
|
http://yahao.myqnapcloud.com:4022/rtp/239.77.1.239:5146
|
||||||
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
||||||
|
http://120.9.52.56:8809/rtp/239.253.93.154:6322
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225601/index.m3u8
|
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225601/index.m3u8
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
||||||
@@ -217,12 +239,8 @@ http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225601/index.m3u8
|
|||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226476/index.m3u8
|
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226476/index.m3u8
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
||||||
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225641/index.m3u8
|
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225641/index.m3u8
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="风云音乐" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%A3%8E%E4%BA%91%E9%9F%B3%E4%B9%90.png",风云音乐
|
||||||
http://wouu.net:9977/udp/239.93.0.103:5140
|
http://www.lizhinas.top:1009/rtp/239.252.219.87:5140
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
|
||||||
http://lu.wqwqwq.sbs/itv/1000000005000265014.m3u8?cdn=ystenlive
|
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
|
||||||
http://tvbox6.com/tv/bfgd.php?id=133
|
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="音乐之声" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%9F%B3%E4%B9%90%E4%B9%8B%E5%A3%B0.png",音乐之声
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="音乐之声" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%9F%B3%E4%B9%90%E4%B9%8B%E5%A3%B0.png",音乐之声
|
||||||
https://radio.0472.org/?id=641
|
https://radio.0472.org/?id=641
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="笑傲江湖" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%AC%91%E5%82%B2%E6%B1%9F%E6%B9%96.png",笑傲江湖
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="笑傲江湖" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%AC%91%E5%82%B2%E6%B1%9F%E6%B9%96.png",笑傲江湖
|
||||||
@@ -238,8 +256,6 @@ https://www.goodiptv.club/yy/1352833750
|
|||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="笑傲江湖" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%AC%91%E5%82%B2%E6%B1%9F%E6%B9%96.png",笑傲江湖
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="笑傲江湖" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%AC%91%E5%82%B2%E6%B1%9F%E6%B9%96.png",笑傲江湖
|
||||||
https://live.metshop.top/yy/1354936128
|
https://live.metshop.top/yy/1354936128
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="天龙八部" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E9%BE%99%E5%85%AB%E9%83%A8.png",天龙八部
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="天龙八部" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E9%BE%99%E5%85%AB%E9%83%A8.png",天龙八部
|
||||||
http://live.nctv.top/douyu.php?id=7655471
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="天龙八部" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E9%BE%99%E5%85%AB%E9%83%A8.png",天龙八部
|
|
||||||
http://www.clmy.cc:35455/yy/1355067965
|
http://www.clmy.cc:35455/yy/1355067965
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="天龙八部" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E9%BE%99%E5%85%AB%E9%83%A8.png",天龙八部
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="天龙八部" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E9%BE%99%E5%85%AB%E9%83%A8.png",天龙八部
|
||||||
https://live.metshop.top/huya/23903123
|
https://live.metshop.top/huya/23903123
|
||||||
@@ -254,8 +270,6 @@ http://live.nctv.top/douyu.php?id=12128227
|
|||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="鹿鼎记" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%B9%BF%E9%BC%8E%E8%AE%B0.png",鹿鼎记
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="鹿鼎记" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%B9%BF%E9%BC%8E%E8%AE%B0.png",鹿鼎记
|
||||||
https://live.metshop.top/yy/28265277
|
https://live.metshop.top/yy/28265277
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="仙剑奇侠传" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BB%99%E5%89%91%E5%A5%87%E4%BE%A0%E4%BC%A0.png",仙剑奇侠传
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="仙剑奇侠传" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BB%99%E5%89%91%E5%A5%87%E4%BE%A0%E4%BC%A0.png",仙剑奇侠传
|
||||||
http://47.102.149.208:35455/yy/1382749903
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="仙剑奇侠传" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BB%99%E5%89%91%E5%A5%87%E4%BE%A0%E4%BC%A0.png",仙剑奇侠传
|
|
||||||
https://live.metshop.top/yy/1382749903
|
https://live.metshop.top/yy/1382749903
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="三国演义" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%89%E5%9B%BD%E6%BC%94%E4%B9%89.png",三国演义
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="三国演义" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%89%E5%9B%BD%E6%BC%94%E4%B9%89.png",三国演义
|
||||||
https://www.goodiptv.club/yy/32788000
|
https://www.goodiptv.club/yy/32788000
|
||||||
@@ -290,6 +304,8 @@ https://www.goodiptv.club/yy/1382745184
|
|||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="上海滩" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%8A%E6%B5%B7%E6%BB%A9.png",上海滩
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="上海滩" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%8A%E6%B5%B7%E6%BB%A9.png",上海滩
|
||||||
https://live.metshop.top/yy/1382745184
|
https://live.metshop.top/yy/1382745184
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="射雕英雄传" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B0%84%E9%9B%95%E8%8B%B1%E9%9B%84%E4%BC%A0.png",射雕英雄传
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="射雕英雄传" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B0%84%E9%9B%95%E8%8B%B1%E9%9B%84%E4%BC%A0.png",射雕英雄传
|
||||||
|
http://iptv.jxpan.vip:18888/aio/huya/23824164
|
||||||
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="射雕英雄传" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B0%84%E9%9B%95%E8%8B%B1%E9%9B%84%E4%BC%A0.png",射雕英雄传
|
||||||
https://live.metshop.top/yy/40959929
|
https://live.metshop.top/yy/40959929
|
||||||
#EXTINF:-1 group-title="🕘️更新时间" tvg-name="2025-08-01 18:37:09" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/2025-08-01+18%3A37%3A09.png",2025-08-01 18:37:09
|
#EXTINF:-1 group-title="🕘️更新时间" tvg-name="2025-08-04 18:37:04" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/2025-08-04+18%3A37%3A04.png",2025-08-04 18:37:04
|
||||||
http://gat.bkpcp.top/ymg.php?id=jtyy
|
http://gat.bkpcp.top/ymg.php?id=jtyy
|
||||||
@@ -18,8 +18,12 @@ http://eastscreen.tv/ooooo.php
|
|||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC家庭影院" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%AE%B6%E5%BA%AD%E5%BD%B1%E9%99%A2.png",CHC家庭影院
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC家庭影院" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%AE%B6%E5%BA%AD%E5%BD%B1%E9%99%A2.png",CHC家庭影院
|
||||||
http://eastscreen.tv/ooooo.php?id=chcjt
|
http://eastscreen.tv/ooooo.php?id=chcjt
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC家庭影院" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%AE%B6%E5%BA%AD%E5%BD%B1%E9%99%A2.png",CHC家庭影院
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC家庭影院" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%AE%B6%E5%BA%AD%E5%BD%B1%E9%99%A2.png",CHC家庭影院
|
||||||
|
https://migu.188766.xyz/?migutoken=19a8ee05e00e1ed0c4f62c2e9f7e5b37&id=CHC%E5%AE%B6%E5%BA%AD%E5%BD%B1%E9%99%A2&pp=1
|
||||||
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC家庭影院" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%AE%B6%E5%BA%AD%E5%BD%B1%E9%99%A2.png",CHC家庭影院
|
||||||
http://z.b.bkpcp.top/m.php?id=jtyy
|
http://z.b.bkpcp.top/m.php?id=jtyy
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC动作电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1.png",CHC动作电影
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC动作电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1.png",CHC动作电影
|
||||||
|
https://migu.188766.xyz/?migutoken=5f7ddbc144aaa6a046ced38913096c20&id=CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1&pp=1
|
||||||
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC动作电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1.png",CHC动作电影
|
||||||
http://z.b.bkpcp.top/m.php
|
http://z.b.bkpcp.top/m.php
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC动作电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1.png",CHC动作电影
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC动作电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1.png",CHC动作电影
|
||||||
http://eastscreen.tv/ooooo.php
|
http://eastscreen.tv/ooooo.php
|
||||||
@@ -36,9 +40,9 @@ http://dsj.motem.top:8880/bptv/10000100000000050000000003887497.m3u8
|
|||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘剧场" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E5%89%A7%E5%9C%BA.png",淘剧场
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘剧场" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E5%89%A7%E5%9C%BA.png",淘剧场
|
||||||
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226553/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EQaJ92NID2SpQlY6_VJVogg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOuQYJeiYEeFWTkFfE86Vq-%2CEND
|
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226553/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EQaJ92NID2SpQlY6_VJVogg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOuQYJeiYEeFWTkFfE86Vq-%2CEND
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘娱乐" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E5%A8%B1%E4%B9%90.png",淘娱乐
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘娱乐" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E5%A8%B1%E4%B9%90.png",淘娱乐
|
||||||
http://dsj.motem.top:8880/bptv/10000100000000050000000003887499.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘娱乐" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E5%A8%B1%E4%B9%90.png",淘娱乐
|
|
||||||
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226551/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ex0efg9fpenP8E8lWJUb5Lg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNg3bzRax0E9tLmO9xgXVx8%2CEND
|
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226551/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ex0efg9fpenP8E8lWJUb5Lg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNg3bzRax0E9tLmO9xgXVx8%2CEND
|
||||||
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘娱乐" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E5%A8%B1%E4%B9%90.png",淘娱乐
|
||||||
|
http://dsj.motem.top:8880/bptv/10000100000000050000000003887499.m3u8
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E7%94%B5%E5%BD%B1.png",淘电影
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E7%94%B5%E5%BD%B1.png",淘电影
|
||||||
http://dsj.motem.top:8880/bptv/10000100000000050000000003887498.m3u8
|
http://dsj.motem.top:8880/bptv/10000100000000050000000003887498.m3u8
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E7%94%B5%E5%BD%B1.png",淘电影
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E7%94%B5%E5%BD%B1.png",淘电影
|
||||||
@@ -48,6 +52,8 @@ http://yc.myds.me:35455/bptv/10000100000000050000000003887498.m3u8
|
|||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="NewTV惊悚悬疑" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/NewTV%E6%83%8A%E6%82%9A%E6%82%AC%E7%96%91.png",NewTV惊悚悬疑
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="NewTV惊悚悬疑" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/NewTV%E6%83%8A%E6%82%9A%E6%82%AC%E7%96%91.png",NewTV惊悚悬疑
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225665/index.m3u8
|
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225665/index.m3u8
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="黑莓电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E7%94%B5%E5%BD%B1.png",黑莓电影
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="黑莓电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E7%94%B5%E5%BD%B1.png",黑莓电影
|
||||||
|
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221227448/index.m3u8
|
||||||
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="黑莓电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E7%94%B5%E5%BD%B1.png",黑莓电影
|
||||||
https://epg.pw/stream/ffcb6572863f0745a7369fbd9d901f1dfd0ab8fab8bad8bebb4e01c90b303c47.m3u8
|
https://epg.pw/stream/ffcb6572863f0745a7369fbd9d901f1dfd0ab8fab8bad8bebb4e01c90b303c47.m3u8
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="黑莓电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E7%94%B5%E5%BD%B1.png",黑莓电影
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="黑莓电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E7%94%B5%E5%BD%B1.png",黑莓电影
|
||||||
http://otttv.bj.chinamobile.com/PLTV/88888888/224/3221226939/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkBVQL3MtyiM0GGQzuPjqAQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
|
http://otttv.bj.chinamobile.com/PLTV/88888888/224/3221226939/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkBVQL3MtyiM0GGQzuPjqAQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
|
||||||
@@ -63,10 +69,22 @@ http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221
|
|||||||
http://serv00.bkpcp.top/litv3.php?id=4gtv-4gtv058
|
http://serv00.bkpcp.top/litv3.php?id=4gtv-4gtv058
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="天映经典" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E6%98%A0%E7%BB%8F%E5%85%B8.png",天映经典
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="天映经典" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E6%98%A0%E7%BB%8F%E5%85%B8.png",天映经典
|
||||||
https://cdn9.163189.xyz/smt1.1.php
|
https://cdn9.163189.xyz/smt1.1.php
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="天映经典" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E6%98%A0%E7%BB%8F%E5%85%B8.png",天映经典
|
|
||||||
http://free.cnlive.club/channel/n7e49c99a.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="星空卫视" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%98%9F%E7%A9%BA%E5%8D%AB%E8%A7%86.png",星空卫视
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="星空卫视" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%98%9F%E7%A9%BA%E5%8D%AB%E8%A7%86.png",星空卫视
|
||||||
http://wouu.net:9977/udp/239.93.0.156:2193
|
http://wouu.net:9977/udp/239.93.0.156:2193
|
||||||
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="东森超视" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%9C%E6%A3%AE%E8%B6%85%E8%A7%86.png",东森超视
|
||||||
|
rtmp://f13h.mine.nu/sat/tv331
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
|
http://www.v5b7.com.cn:7088/udp/239.45.1.69:5140
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
|
http://yahao.myqnapcloud.com:4022/rtp/239.77.0.170:5146
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
|
http://dq.eric702.top:8800/udp/239.77.0.170:5146
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
|
http://113.100.73.223:8899/rtp/239.77.0.170:5146
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
|
http://123.118.98.52:3391/rtp/239.3.1.173:8001
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
|
http://120.9.52.56:8809/rtp/239.253.92.181:6046
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
http://iptv.huuc.edu.cn/hls/cctv5hd.m3u8
|
http://iptv.huuc.edu.cn/hls/cctv5hd.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
@@ -75,44 +93,40 @@ http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226019/index.m3u8
|
|||||||
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225633/index.m3u8
|
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225633/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226395/index.m3u8
|
http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226395/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221226469/index.m3u8
|
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221225821/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://webmail.axxe.top:4022/rtp/239.3.1.173:8001
|
http://fjcm-2117.live.iptv.darwinchow.com/PLTV/88888888/224/3221225821/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://alvin.ergotron.net:8000/udp/239.77.0.170:5146
|
http://yahao.myqnapcloud.com:4022/rtp/239.77.0.87:5146
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221226019/index.m3u8
|
http://dq.eric702.top:8800/udp/239.77.0.87:5146
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://wouu.net:9977/udp/239.93.1.36:8004
|
http://123.118.98.52:3391/rtp/239.3.1.130:8004
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://lu.wqwqwq.sbs/itv/1000000005000265005.m3u8?cdn=ystenlive
|
http://113.100.73.223:8899/rtp/239.77.0.87:5146
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
|
http://120.9.52.56:8809/rtp/239.253.92.82:8013
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225603/index.m3u8
|
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225603/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225649/index.m3u8
|
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225649/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225706/index.m3u8
|
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225706/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226221/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
http://webmail.axxe.top:4022/rtp/239.3.1.130:8004
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225603/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
http://lu.wqwqwq.sbs/itv/1000000005000265016.m3u8?cdn=ystenlive
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
https://hls-gateway.vpstv.net/streams/476888.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
https://smart.pendy.dpdns.org/Smart.php
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
http://[2409:8087:74f0:22::4]:6410/270000001111/1110000306/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
||||||
https://epg.pw/stream/7b470f9fc5c305db0c8622117b7b25ca00eb35ba3e93e865cf0ff9df5c736681.m3u8
|
http://yahao.myqnapcloud.com:4022/rtp/239.77.0.168:5146
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
||||||
|
http://113.100.73.223:8899/rtp/239.77.0.168:5146
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
||||||
|
http://dq.eric702.top:8800/rtp/239.77.0.168:5146
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
||||||
http://cdn2.163189.xyz/live/gdty/stream.m3u8
|
http://cdn2.163189.xyz/live/gdty/stream.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
||||||
http://cdn2.132.us.kg/live/gdty/stream.m3u8
|
http://cdn2.132.us.kg/live/gdty/stream.m3u8
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
||||||
|
https://epg.pw/stream/7b470f9fc5c305db0c8622117b7b25ca00eb35ba3e93e865cf0ff9df5c736681.m3u8
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
||||||
|
http://n1.gzbody.com:85/rtp/239.77.0.168:5146
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="纬来体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BA%AC%E6%9D%A5%E4%BD%93%E8%82%B2.png",纬来体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="纬来体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BA%AC%E6%9D%A5%E4%BD%93%E8%82%B2.png",纬来体育
|
||||||
https://smart.pendy.dpdns.org/Smart.php
|
https://smart.pendy.dpdns.org/Smart.php
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="劲爆体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%8A%B2%E7%88%86%E4%BD%93%E8%82%B2.png",劲爆体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="劲爆体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%8A%B2%E7%88%86%E4%BD%93%E8%82%B2.png",劲爆体育
|
||||||
@@ -128,18 +142,18 @@ https://epg.pw/stream/f7556eccd4ae06b0c2991fdc7a4f8388496559f728cc82459a8e503460
|
|||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
||||||
https://epg.pw/stream/94ed0232b61ce8d89883160a4cdfbfc8f3225cae70ef8e17d93eec249a3c8ad6.m3u8
|
https://epg.pw/stream/94ed0232b61ce8d89883160a4cdfbfc8f3225cae70ef8e17d93eec249a3c8ad6.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
||||||
|
https://epg.pw/stream/866a097a0907c9832440f8df38272dd555abf05200dfbafcc137e214c9b30ca7.m3u8
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225674/index.m3u8
|
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225674/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
||||||
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225674/index.m3u8
|
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225674/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广州竞赛" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E5%B7%9E%E7%AB%9E%E8%B5%9B.png",广州竞赛
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="睛彩篮球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%9D%9B%E5%BD%A9%E7%AF%AE%E7%90%83.png",睛彩篮球
|
||||||
https://tencentplay.gztv.com/live/jingsai.m3u8?txSecret=a4d04c27d0d1d8b7efef2ed7ff1c3eae&txTime=191b60cc9ca
|
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221227158/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="睛彩篮球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%9D%9B%E5%BD%A9%E7%AF%AE%E7%90%83.png",睛彩篮球
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="睛彩篮球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%9D%9B%E5%BD%A9%E7%AF%AE%E7%90%83.png",睛彩篮球
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226147/index.m3u8
|
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226147/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="睛彩广场舞" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%9D%9B%E5%BD%A9%E5%B9%BF%E5%9C%BA%E8%88%9E.png",睛彩广场舞
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="睛彩广场舞" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%9D%9B%E5%BD%A9%E5%B9%BF%E5%9C%BA%E8%88%9E.png",睛彩广场舞
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226472/index.m3u8
|
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226472/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="风云足球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%A3%8E%E4%BA%91%E8%B6%B3%E7%90%83.png",风云足球
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="风云足球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%A3%8E%E4%BA%91%E8%B6%B3%E7%90%83.png",风云足球
|
||||||
http://www.lizhinas.top:1009/rtp/239.252.219.96:5140
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="风云足球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%A3%8E%E4%BA%91%E8%B6%B3%E7%90%83.png",风云足球
|
|
||||||
https://epg.pw/stream/ac8062ec9484078061d3bef507c15a423ac57ae4144e3fcc4b0a198dd420f911.m3u8
|
https://epg.pw/stream/ac8062ec9484078061d3bef507c15a423ac57ae4144e3fcc4b0a198dd420f911.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="魅力足球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%AD%85%E5%8A%9B%E8%B6%B3%E7%90%83.png",魅力足球
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="魅力足球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%AD%85%E5%8A%9B%E8%B6%B3%E7%90%83.png",魅力足球
|
||||||
http://z.b.bkpcp.top/m.php?id=mlzq
|
http://z.b.bkpcp.top/m.php?id=mlzq
|
||||||
@@ -151,8 +165,8 @@ http://wouu.net:9977/udp/239.93.42.55:5140
|
|||||||
http://fjcm-2117.live.iptv.darwinchow.com/PLTV/88888888/224/3221226940/index.m3u8
|
http://fjcm-2117.live.iptv.darwinchow.com/PLTV/88888888/224/3221226940/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="JJ斗地主" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/JJ%E6%96%97%E5%9C%B0%E4%B8%BB.png",JJ斗地主
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="JJ斗地主" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/JJ%E6%96%97%E5%9C%B0%E4%B8%BB.png",JJ斗地主
|
||||||
https://lunbo.freetv.top/douyu/488743
|
https://lunbo.freetv.top/douyu/488743
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="JJ斗地主" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/JJ%E6%96%97%E5%9C%B0%E4%B8%BB.png",JJ斗地主
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
||||||
http://tc-tct.douyucdn2.cn/dyliveflv1a/488743rAHScWyyII_2000.m3u8?wsAuth=fd695c444eeee99cc6122ed396c805ba&token=cpn-androidmpro-0-488743-df8b1830ef2e6ce156759645768df95bf77749da61fcc901&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=play2
|
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221227339/index.m3u8
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
||||||
http://z.b.bkpcp.top/m.php?id=ymkt
|
http://z.b.bkpcp.top/m.php?id=ymkt
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
||||||
@@ -162,10 +176,10 @@ http://wouu.net:9977/udp/239.93.0.251:5140
|
|||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
||||||
http://ygbh.live/js.php?id=ymkt
|
http://ygbh.live/js.php?id=ymkt
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="金鹰卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%87%91%E9%B9%B0%E5%8D%A1%E9%80%9A.png",金鹰卡通
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="金鹰卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%87%91%E9%B9%B0%E5%8D%A1%E9%80%9A.png",金鹰卡通
|
||||||
http://dsj.motem.top:8880/bptv/10000100000000050000000004796942.m3u8
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="金鹰卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%87%91%E9%B9%B0%E5%8D%A1%E9%80%9A.png",金鹰卡通
|
|
||||||
http://wouu.net:9977/udp/239.93.0.108:5140
|
http://wouu.net:9977/udp/239.93.0.108:5140
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="金鹰卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%87%91%E9%B9%B0%E5%8D%A1%E9%80%9A.png",金鹰卡通
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="金鹰卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%87%91%E9%B9%B0%E5%8D%A1%E9%80%9A.png",金鹰卡通
|
||||||
|
http://dsj.motem.top:8880/bptv/10000100000000050000000004796942.m3u8
|
||||||
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="金鹰卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%87%91%E9%B9%B0%E5%8D%A1%E9%80%9A.png",金鹰卡通
|
||||||
http://[2409:8087:1a0b:df::4008]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225653/index.m3u8
|
http://[2409:8087:1a0b:df::4008]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225653/index.m3u8
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="黑莓动画" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E5%8A%A8%E7%94%BB.png",黑莓动画
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="黑莓动画" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E5%8A%A8%E7%94%BB.png",黑莓动画
|
||||||
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221227303/index.m3u8
|
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221227303/index.m3u8
|
||||||
@@ -188,21 +202,29 @@ https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
|||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="浙江少儿" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B5%99%E6%B1%9F%E5%B0%91%E5%84%BF.png",浙江少儿
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="浙江少儿" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B5%99%E6%B1%9F%E5%B0%91%E5%84%BF.png",浙江少儿
|
||||||
https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?#https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8#http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?#https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8#http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="浙江少儿" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B5%99%E6%B1%9F%E5%B0%91%E5%84%BF.png",浙江少儿
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="浙江少儿" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B5%99%E6%B1%9F%E5%B0%91%E5%84%BF.png",浙江少儿
|
||||||
|
http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?fbl=
|
||||||
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="浙江少儿" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B5%99%E6%B1%9F%E5%B0%91%E5%84%BF.png",浙江少儿
|
||||||
|
http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?fbl=#migu5://611318244
|
||||||
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="浙江少儿" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B5%99%E6%B1%9F%E5%B0%91%E5%84%BF.png",浙江少儿
|
||||||
http://ali-vl.cztv.com/channels/lantian/channel008/360p.m3u8
|
http://ali-vl.cztv.com/channels/lantian/channel008/360p.m3u8
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="火影忍者" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%81%AB%E5%BD%B1%E5%BF%8D%E8%80%85.png",火影忍者
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="火影忍者" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%81%AB%E5%BD%B1%E5%BF%8D%E8%80%85.png",火影忍者
|
||||||
https://hd.ijycnd.com/play/Yer3NWLa/index.m3u8
|
https://hd.ijycnd.com/play/Yer3NWLa/index.m3u8
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="中华小当家" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%AD%E5%8D%8E%E5%B0%8F%E5%BD%93%E5%AE%B6.png",中华小当家
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="中华小当家" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%AD%E5%8D%8E%E5%B0%8F%E5%BD%93%E5%AE%B6.png",中华小当家
|
||||||
https://live.iill.top/huya/11342413
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="中华小当家" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%AD%E5%8D%8E%E5%B0%8F%E5%BD%93%E5%AE%B6.png",中华小当家
|
|
||||||
https://live.metshop.top/huya/11342413
|
https://live.metshop.top/huya/11342413
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="经典动漫" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BB%8F%E5%85%B8%E5%8A%A8%E6%BC%AB.png",经典动漫
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="经典动漫" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BB%8F%E5%85%B8%E5%8A%A8%E6%BC%AB.png",经典动漫
|
||||||
|
https://lunbo.freetv.top/yy/24180320
|
||||||
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="经典动漫" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BB%8F%E5%85%B8%E5%8A%A8%E6%BC%AB.png",经典动漫
|
||||||
|
http://43.138.0.72:35455/yy/24180320
|
||||||
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="经典动漫" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BB%8F%E5%85%B8%E5%8A%A8%E6%BC%AB.png",经典动漫
|
||||||
https://www.goodiptv.club/yy/22777075
|
https://www.goodiptv.club/yy/22777075
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="经典动漫" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BB%8F%E5%85%B8%E5%8A%A8%E6%BC%AB.png",经典动漫
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="经典动漫" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BB%8F%E5%85%B8%E5%8A%A8%E6%BC%AB.png",经典动漫
|
||||||
https://www.goodiptv.club/yy/24180320
|
https://www.goodiptv.club/yy/24180320
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="蜡笔小新" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E8%9C%A1%E7%AC%94%E5%B0%8F%E6%96%B0.png",蜡笔小新
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
||||||
http://www.douzhicloud.site:35455/bilibili/30837590
|
http://fjcm-2117.live.iptv.darwinchow.com/PLTV/88888888/224/3221225818/index.m3u8
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="蜡笔小新" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E8%9C%A1%E7%AC%94%E5%B0%8F%E6%96%B0.png",蜡笔小新
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
||||||
http://47.102.149.208:35455/bilibili/30837590
|
http://yahao.myqnapcloud.com:4022/rtp/239.77.1.239:5146
|
||||||
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
||||||
|
http://120.9.52.56:8809/rtp/239.253.93.154:6322
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225601/index.m3u8
|
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225601/index.m3u8
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
||||||
@@ -217,12 +239,8 @@ http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225601/index.m3u8
|
|||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226476/index.m3u8
|
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226476/index.m3u8
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
||||||
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225641/index.m3u8
|
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225641/index.m3u8
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="风云音乐" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%A3%8E%E4%BA%91%E9%9F%B3%E4%B9%90.png",风云音乐
|
||||||
http://wouu.net:9977/udp/239.93.0.103:5140
|
http://www.lizhinas.top:1009/rtp/239.252.219.87:5140
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
|
||||||
http://lu.wqwqwq.sbs/itv/1000000005000265014.m3u8?cdn=ystenlive
|
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
|
||||||
http://tvbox6.com/tv/bfgd.php?id=133
|
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="音乐之声" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%9F%B3%E4%B9%90%E4%B9%8B%E5%A3%B0.png",音乐之声
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="音乐之声" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%9F%B3%E4%B9%90%E4%B9%8B%E5%A3%B0.png",音乐之声
|
||||||
https://radio.0472.org/?id=641
|
https://radio.0472.org/?id=641
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="笑傲江湖" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%AC%91%E5%82%B2%E6%B1%9F%E6%B9%96.png",笑傲江湖
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="笑傲江湖" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%AC%91%E5%82%B2%E6%B1%9F%E6%B9%96.png",笑傲江湖
|
||||||
@@ -238,8 +256,6 @@ https://www.goodiptv.club/yy/1352833750
|
|||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="笑傲江湖" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%AC%91%E5%82%B2%E6%B1%9F%E6%B9%96.png",笑傲江湖
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="笑傲江湖" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%AC%91%E5%82%B2%E6%B1%9F%E6%B9%96.png",笑傲江湖
|
||||||
https://live.metshop.top/yy/1354936128
|
https://live.metshop.top/yy/1354936128
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="天龙八部" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E9%BE%99%E5%85%AB%E9%83%A8.png",天龙八部
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="天龙八部" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E9%BE%99%E5%85%AB%E9%83%A8.png",天龙八部
|
||||||
http://live.nctv.top/douyu.php?id=7655471
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="天龙八部" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E9%BE%99%E5%85%AB%E9%83%A8.png",天龙八部
|
|
||||||
http://www.clmy.cc:35455/yy/1355067965
|
http://www.clmy.cc:35455/yy/1355067965
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="天龙八部" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E9%BE%99%E5%85%AB%E9%83%A8.png",天龙八部
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="天龙八部" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E9%BE%99%E5%85%AB%E9%83%A8.png",天龙八部
|
||||||
https://live.metshop.top/huya/23903123
|
https://live.metshop.top/huya/23903123
|
||||||
@@ -254,8 +270,6 @@ http://live.nctv.top/douyu.php?id=12128227
|
|||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="鹿鼎记" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%B9%BF%E9%BC%8E%E8%AE%B0.png",鹿鼎记
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="鹿鼎记" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%B9%BF%E9%BC%8E%E8%AE%B0.png",鹿鼎记
|
||||||
https://live.metshop.top/yy/28265277
|
https://live.metshop.top/yy/28265277
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="仙剑奇侠传" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BB%99%E5%89%91%E5%A5%87%E4%BE%A0%E4%BC%A0.png",仙剑奇侠传
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="仙剑奇侠传" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BB%99%E5%89%91%E5%A5%87%E4%BE%A0%E4%BC%A0.png",仙剑奇侠传
|
||||||
http://47.102.149.208:35455/yy/1382749903
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="仙剑奇侠传" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BB%99%E5%89%91%E5%A5%87%E4%BE%A0%E4%BC%A0.png",仙剑奇侠传
|
|
||||||
https://live.metshop.top/yy/1382749903
|
https://live.metshop.top/yy/1382749903
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="三国演义" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%89%E5%9B%BD%E6%BC%94%E4%B9%89.png",三国演义
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="三国演义" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%89%E5%9B%BD%E6%BC%94%E4%B9%89.png",三国演义
|
||||||
https://www.goodiptv.club/yy/32788000
|
https://www.goodiptv.club/yy/32788000
|
||||||
@@ -290,6 +304,8 @@ https://www.goodiptv.club/yy/1382745184
|
|||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="上海滩" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%8A%E6%B5%B7%E6%BB%A9.png",上海滩
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="上海滩" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%8A%E6%B5%B7%E6%BB%A9.png",上海滩
|
||||||
https://live.metshop.top/yy/1382745184
|
https://live.metshop.top/yy/1382745184
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="射雕英雄传" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B0%84%E9%9B%95%E8%8B%B1%E9%9B%84%E4%BC%A0.png",射雕英雄传
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="射雕英雄传" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B0%84%E9%9B%95%E8%8B%B1%E9%9B%84%E4%BC%A0.png",射雕英雄传
|
||||||
|
http://iptv.jxpan.vip:18888/aio/huya/23824164
|
||||||
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="射雕英雄传" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B0%84%E9%9B%95%E8%8B%B1%E9%9B%84%E4%BC%A0.png",射雕英雄传
|
||||||
https://live.metshop.top/yy/40959929
|
https://live.metshop.top/yy/40959929
|
||||||
#EXTINF:-1 group-title="🕘️更新时间" tvg-name="2025-08-01 18:37:09" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/2025-08-01+18%3A37%3A09.png",2025-08-01 18:37:09
|
#EXTINF:-1 group-title="🕘️更新时间" tvg-name="2025-08-04 18:37:04" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/2025-08-04+18%3A37%3A04.png",2025-08-04 18:37:04
|
||||||
http://gat.bkpcp.top/ymg.php?id=jtyy
|
http://gat.bkpcp.top/ymg.php?id=jtyy
|
||||||
@@ -18,8 +18,12 @@ http://eastscreen.tv/ooooo.php
|
|||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC家庭影院" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%AE%B6%E5%BA%AD%E5%BD%B1%E9%99%A2.png",CHC家庭影院
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC家庭影院" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%AE%B6%E5%BA%AD%E5%BD%B1%E9%99%A2.png",CHC家庭影院
|
||||||
http://eastscreen.tv/ooooo.php?id=chcjt
|
http://eastscreen.tv/ooooo.php?id=chcjt
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC家庭影院" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%AE%B6%E5%BA%AD%E5%BD%B1%E9%99%A2.png",CHC家庭影院
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC家庭影院" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%AE%B6%E5%BA%AD%E5%BD%B1%E9%99%A2.png",CHC家庭影院
|
||||||
|
https://migu.188766.xyz/?migutoken=19a8ee05e00e1ed0c4f62c2e9f7e5b37&id=CHC%E5%AE%B6%E5%BA%AD%E5%BD%B1%E9%99%A2&pp=1
|
||||||
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC家庭影院" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%AE%B6%E5%BA%AD%E5%BD%B1%E9%99%A2.png",CHC家庭影院
|
||||||
http://z.b.bkpcp.top/m.php?id=jtyy
|
http://z.b.bkpcp.top/m.php?id=jtyy
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC动作电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1.png",CHC动作电影
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC动作电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1.png",CHC动作电影
|
||||||
|
https://migu.188766.xyz/?migutoken=5f7ddbc144aaa6a046ced38913096c20&id=CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1&pp=1
|
||||||
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC动作电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1.png",CHC动作电影
|
||||||
http://z.b.bkpcp.top/m.php
|
http://z.b.bkpcp.top/m.php
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC动作电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1.png",CHC动作电影
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC动作电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1.png",CHC动作电影
|
||||||
http://eastscreen.tv/ooooo.php
|
http://eastscreen.tv/ooooo.php
|
||||||
@@ -36,9 +40,9 @@ http://dsj.motem.top:8880/bptv/10000100000000050000000003887497.m3u8
|
|||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘剧场" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E5%89%A7%E5%9C%BA.png",淘剧场
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘剧场" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E5%89%A7%E5%9C%BA.png",淘剧场
|
||||||
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226553/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EQaJ92NID2SpQlY6_VJVogg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOuQYJeiYEeFWTkFfE86Vq-%2CEND
|
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226553/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EQaJ92NID2SpQlY6_VJVogg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOuQYJeiYEeFWTkFfE86Vq-%2CEND
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘娱乐" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E5%A8%B1%E4%B9%90.png",淘娱乐
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘娱乐" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E5%A8%B1%E4%B9%90.png",淘娱乐
|
||||||
http://dsj.motem.top:8880/bptv/10000100000000050000000003887499.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘娱乐" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E5%A8%B1%E4%B9%90.png",淘娱乐
|
|
||||||
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226551/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ex0efg9fpenP8E8lWJUb5Lg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNg3bzRax0E9tLmO9xgXVx8%2CEND
|
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226551/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ex0efg9fpenP8E8lWJUb5Lg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNg3bzRax0E9tLmO9xgXVx8%2CEND
|
||||||
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘娱乐" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E5%A8%B1%E4%B9%90.png",淘娱乐
|
||||||
|
http://dsj.motem.top:8880/bptv/10000100000000050000000003887499.m3u8
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E7%94%B5%E5%BD%B1.png",淘电影
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E7%94%B5%E5%BD%B1.png",淘电影
|
||||||
http://dsj.motem.top:8880/bptv/10000100000000050000000003887498.m3u8
|
http://dsj.motem.top:8880/bptv/10000100000000050000000003887498.m3u8
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E7%94%B5%E5%BD%B1.png",淘电影
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E7%94%B5%E5%BD%B1.png",淘电影
|
||||||
@@ -48,6 +52,8 @@ http://yc.myds.me:35455/bptv/10000100000000050000000003887498.m3u8
|
|||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="NewTV惊悚悬疑" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/NewTV%E6%83%8A%E6%82%9A%E6%82%AC%E7%96%91.png",NewTV惊悚悬疑
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="NewTV惊悚悬疑" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/NewTV%E6%83%8A%E6%82%9A%E6%82%AC%E7%96%91.png",NewTV惊悚悬疑
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225665/index.m3u8
|
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225665/index.m3u8
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="黑莓电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E7%94%B5%E5%BD%B1.png",黑莓电影
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="黑莓电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E7%94%B5%E5%BD%B1.png",黑莓电影
|
||||||
|
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221227448/index.m3u8
|
||||||
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="黑莓电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E7%94%B5%E5%BD%B1.png",黑莓电影
|
||||||
https://epg.pw/stream/ffcb6572863f0745a7369fbd9d901f1dfd0ab8fab8bad8bebb4e01c90b303c47.m3u8
|
https://epg.pw/stream/ffcb6572863f0745a7369fbd9d901f1dfd0ab8fab8bad8bebb4e01c90b303c47.m3u8
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="黑莓电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E7%94%B5%E5%BD%B1.png",黑莓电影
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="黑莓电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E7%94%B5%E5%BD%B1.png",黑莓电影
|
||||||
http://otttv.bj.chinamobile.com/PLTV/88888888/224/3221226939/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkBVQL3MtyiM0GGQzuPjqAQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
|
http://otttv.bj.chinamobile.com/PLTV/88888888/224/3221226939/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkBVQL3MtyiM0GGQzuPjqAQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
|
||||||
@@ -63,10 +69,22 @@ http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221
|
|||||||
http://serv00.bkpcp.top/litv3.php?id=4gtv-4gtv058
|
http://serv00.bkpcp.top/litv3.php?id=4gtv-4gtv058
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="天映经典" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E6%98%A0%E7%BB%8F%E5%85%B8.png",天映经典
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="天映经典" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E6%98%A0%E7%BB%8F%E5%85%B8.png",天映经典
|
||||||
https://cdn9.163189.xyz/smt1.1.php
|
https://cdn9.163189.xyz/smt1.1.php
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="天映经典" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E6%98%A0%E7%BB%8F%E5%85%B8.png",天映经典
|
|
||||||
http://free.cnlive.club/channel/n7e49c99a.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="星空卫视" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%98%9F%E7%A9%BA%E5%8D%AB%E8%A7%86.png",星空卫视
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="星空卫视" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%98%9F%E7%A9%BA%E5%8D%AB%E8%A7%86.png",星空卫视
|
||||||
http://wouu.net:9977/udp/239.93.0.156:2193
|
http://wouu.net:9977/udp/239.93.0.156:2193
|
||||||
|
#EXTINF:-1 group-title="🎬电影频道" tvg-name="东森超视" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%9C%E6%A3%AE%E8%B6%85%E8%A7%86.png",东森超视
|
||||||
|
rtmp://f13h.mine.nu/sat/tv331
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
|
http://www.v5b7.com.cn:7088/udp/239.45.1.69:5140
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
|
http://yahao.myqnapcloud.com:4022/rtp/239.77.0.170:5146
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
|
http://dq.eric702.top:8800/udp/239.77.0.170:5146
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
|
http://113.100.73.223:8899/rtp/239.77.0.170:5146
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
|
http://123.118.98.52:3391/rtp/239.3.1.173:8001
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
|
http://120.9.52.56:8809/rtp/239.253.92.181:6046
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
http://iptv.huuc.edu.cn/hls/cctv5hd.m3u8
|
http://iptv.huuc.edu.cn/hls/cctv5hd.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
@@ -75,44 +93,40 @@ http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226019/index.m3u8
|
|||||||
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225633/index.m3u8
|
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225633/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
||||||
http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226395/index.m3u8
|
http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226395/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221226469/index.m3u8
|
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221225821/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://webmail.axxe.top:4022/rtp/239.3.1.173:8001
|
http://fjcm-2117.live.iptv.darwinchow.com/PLTV/88888888/224/3221225821/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://alvin.ergotron.net:8000/udp/239.77.0.170:5146
|
http://yahao.myqnapcloud.com:4022/rtp/239.77.0.87:5146
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221226019/index.m3u8
|
http://dq.eric702.top:8800/udp/239.77.0.87:5146
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://wouu.net:9977/udp/239.93.1.36:8004
|
http://123.118.98.52:3391/rtp/239.3.1.130:8004
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://lu.wqwqwq.sbs/itv/1000000005000265005.m3u8?cdn=ystenlive
|
http://113.100.73.223:8899/rtp/239.77.0.87:5146
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
|
http://120.9.52.56:8809/rtp/239.253.92.82:8013
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225603/index.m3u8
|
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225603/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225649/index.m3u8
|
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225649/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
||||||
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225706/index.m3u8
|
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225706/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226221/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
http://webmail.axxe.top:4022/rtp/239.3.1.130:8004
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225603/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
http://lu.wqwqwq.sbs/itv/1000000005000265016.m3u8?cdn=ystenlive
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
https://hls-gateway.vpstv.net/streams/476888.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
https://smart.pendy.dpdns.org/Smart.php
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
http://[2409:8087:74f0:22::4]:6410/270000001111/1110000306/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
||||||
https://epg.pw/stream/7b470f9fc5c305db0c8622117b7b25ca00eb35ba3e93e865cf0ff9df5c736681.m3u8
|
http://yahao.myqnapcloud.com:4022/rtp/239.77.0.168:5146
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
||||||
|
http://113.100.73.223:8899/rtp/239.77.0.168:5146
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
||||||
|
http://dq.eric702.top:8800/rtp/239.77.0.168:5146
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
||||||
http://cdn2.163189.xyz/live/gdty/stream.m3u8
|
http://cdn2.163189.xyz/live/gdty/stream.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
||||||
http://cdn2.132.us.kg/live/gdty/stream.m3u8
|
http://cdn2.132.us.kg/live/gdty/stream.m3u8
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
||||||
|
https://epg.pw/stream/7b470f9fc5c305db0c8622117b7b25ca00eb35ba3e93e865cf0ff9df5c736681.m3u8
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
||||||
|
http://n1.gzbody.com:85/rtp/239.77.0.168:5146
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="纬来体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BA%AC%E6%9D%A5%E4%BD%93%E8%82%B2.png",纬来体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="纬来体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BA%AC%E6%9D%A5%E4%BD%93%E8%82%B2.png",纬来体育
|
||||||
https://smart.pendy.dpdns.org/Smart.php
|
https://smart.pendy.dpdns.org/Smart.php
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="劲爆体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%8A%B2%E7%88%86%E4%BD%93%E8%82%B2.png",劲爆体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="劲爆体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%8A%B2%E7%88%86%E4%BD%93%E8%82%B2.png",劲爆体育
|
||||||
@@ -128,18 +142,18 @@ https://epg.pw/stream/f7556eccd4ae06b0c2991fdc7a4f8388496559f728cc82459a8e503460
|
|||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
||||||
https://epg.pw/stream/94ed0232b61ce8d89883160a4cdfbfc8f3225cae70ef8e17d93eec249a3c8ad6.m3u8
|
https://epg.pw/stream/94ed0232b61ce8d89883160a4cdfbfc8f3225cae70ef8e17d93eec249a3c8ad6.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
||||||
|
https://epg.pw/stream/866a097a0907c9832440f8df38272dd555abf05200dfbafcc137e214c9b30ca7.m3u8
|
||||||
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225674/index.m3u8
|
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225674/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
||||||
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225674/index.m3u8
|
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225674/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广州竞赛" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E5%B7%9E%E7%AB%9E%E8%B5%9B.png",广州竞赛
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="睛彩篮球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%9D%9B%E5%BD%A9%E7%AF%AE%E7%90%83.png",睛彩篮球
|
||||||
https://tencentplay.gztv.com/live/jingsai.m3u8?txSecret=a4d04c27d0d1d8b7efef2ed7ff1c3eae&txTime=191b60cc9ca
|
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221227158/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="睛彩篮球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%9D%9B%E5%BD%A9%E7%AF%AE%E7%90%83.png",睛彩篮球
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="睛彩篮球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%9D%9B%E5%BD%A9%E7%AF%AE%E7%90%83.png",睛彩篮球
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226147/index.m3u8
|
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226147/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="睛彩广场舞" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%9D%9B%E5%BD%A9%E5%B9%BF%E5%9C%BA%E8%88%9E.png",睛彩广场舞
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="睛彩广场舞" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%9D%9B%E5%BD%A9%E5%B9%BF%E5%9C%BA%E8%88%9E.png",睛彩广场舞
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226472/index.m3u8
|
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226472/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="风云足球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%A3%8E%E4%BA%91%E8%B6%B3%E7%90%83.png",风云足球
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="风云足球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%A3%8E%E4%BA%91%E8%B6%B3%E7%90%83.png",风云足球
|
||||||
http://www.lizhinas.top:1009/rtp/239.252.219.96:5140
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="风云足球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%A3%8E%E4%BA%91%E8%B6%B3%E7%90%83.png",风云足球
|
|
||||||
https://epg.pw/stream/ac8062ec9484078061d3bef507c15a423ac57ae4144e3fcc4b0a198dd420f911.m3u8
|
https://epg.pw/stream/ac8062ec9484078061d3bef507c15a423ac57ae4144e3fcc4b0a198dd420f911.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="魅力足球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%AD%85%E5%8A%9B%E8%B6%B3%E7%90%83.png",魅力足球
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="魅力足球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%AD%85%E5%8A%9B%E8%B6%B3%E7%90%83.png",魅力足球
|
||||||
http://z.b.bkpcp.top/m.php?id=mlzq
|
http://z.b.bkpcp.top/m.php?id=mlzq
|
||||||
@@ -151,8 +165,8 @@ http://wouu.net:9977/udp/239.93.42.55:5140
|
|||||||
http://fjcm-2117.live.iptv.darwinchow.com/PLTV/88888888/224/3221226940/index.m3u8
|
http://fjcm-2117.live.iptv.darwinchow.com/PLTV/88888888/224/3221226940/index.m3u8
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="JJ斗地主" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/JJ%E6%96%97%E5%9C%B0%E4%B8%BB.png",JJ斗地主
|
#EXTINF:-1 group-title="🏀体育频道" tvg-name="JJ斗地主" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/JJ%E6%96%97%E5%9C%B0%E4%B8%BB.png",JJ斗地主
|
||||||
https://lunbo.freetv.top/douyu/488743
|
https://lunbo.freetv.top/douyu/488743
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="JJ斗地主" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/JJ%E6%96%97%E5%9C%B0%E4%B8%BB.png",JJ斗地主
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
||||||
http://tc-tct.douyucdn2.cn/dyliveflv1a/488743rAHScWyyII_2000.m3u8?wsAuth=fd695c444eeee99cc6122ed396c805ba&token=cpn-androidmpro-0-488743-df8b1830ef2e6ce156759645768df95bf77749da61fcc901&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=play2
|
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221227339/index.m3u8
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
||||||
http://z.b.bkpcp.top/m.php?id=ymkt
|
http://z.b.bkpcp.top/m.php?id=ymkt
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
||||||
@@ -162,10 +176,10 @@ http://wouu.net:9977/udp/239.93.0.251:5140
|
|||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
||||||
http://ygbh.live/js.php?id=ymkt
|
http://ygbh.live/js.php?id=ymkt
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="金鹰卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%87%91%E9%B9%B0%E5%8D%A1%E9%80%9A.png",金鹰卡通
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="金鹰卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%87%91%E9%B9%B0%E5%8D%A1%E9%80%9A.png",金鹰卡通
|
||||||
http://dsj.motem.top:8880/bptv/10000100000000050000000004796942.m3u8
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="金鹰卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%87%91%E9%B9%B0%E5%8D%A1%E9%80%9A.png",金鹰卡通
|
|
||||||
http://wouu.net:9977/udp/239.93.0.108:5140
|
http://wouu.net:9977/udp/239.93.0.108:5140
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="金鹰卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%87%91%E9%B9%B0%E5%8D%A1%E9%80%9A.png",金鹰卡通
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="金鹰卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%87%91%E9%B9%B0%E5%8D%A1%E9%80%9A.png",金鹰卡通
|
||||||
|
http://dsj.motem.top:8880/bptv/10000100000000050000000004796942.m3u8
|
||||||
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="金鹰卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%87%91%E9%B9%B0%E5%8D%A1%E9%80%9A.png",金鹰卡通
|
||||||
http://[2409:8087:1a0b:df::4008]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225653/index.m3u8
|
http://[2409:8087:1a0b:df::4008]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225653/index.m3u8
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="黑莓动画" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E5%8A%A8%E7%94%BB.png",黑莓动画
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="黑莓动画" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E5%8A%A8%E7%94%BB.png",黑莓动画
|
||||||
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221227303/index.m3u8
|
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221227303/index.m3u8
|
||||||
@@ -188,21 +202,29 @@ https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
|||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="浙江少儿" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B5%99%E6%B1%9F%E5%B0%91%E5%84%BF.png",浙江少儿
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="浙江少儿" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B5%99%E6%B1%9F%E5%B0%91%E5%84%BF.png",浙江少儿
|
||||||
https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?#https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8#http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?#https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8#http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="浙江少儿" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B5%99%E6%B1%9F%E5%B0%91%E5%84%BF.png",浙江少儿
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="浙江少儿" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B5%99%E6%B1%9F%E5%B0%91%E5%84%BF.png",浙江少儿
|
||||||
|
http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?fbl=
|
||||||
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="浙江少儿" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B5%99%E6%B1%9F%E5%B0%91%E5%84%BF.png",浙江少儿
|
||||||
|
http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?fbl=#migu5://611318244
|
||||||
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="浙江少儿" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B5%99%E6%B1%9F%E5%B0%91%E5%84%BF.png",浙江少儿
|
||||||
http://ali-vl.cztv.com/channels/lantian/channel008/360p.m3u8
|
http://ali-vl.cztv.com/channels/lantian/channel008/360p.m3u8
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="火影忍者" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%81%AB%E5%BD%B1%E5%BF%8D%E8%80%85.png",火影忍者
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="火影忍者" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%81%AB%E5%BD%B1%E5%BF%8D%E8%80%85.png",火影忍者
|
||||||
https://hd.ijycnd.com/play/Yer3NWLa/index.m3u8
|
https://hd.ijycnd.com/play/Yer3NWLa/index.m3u8
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="中华小当家" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%AD%E5%8D%8E%E5%B0%8F%E5%BD%93%E5%AE%B6.png",中华小当家
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="中华小当家" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%AD%E5%8D%8E%E5%B0%8F%E5%BD%93%E5%AE%B6.png",中华小当家
|
||||||
https://live.iill.top/huya/11342413
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="中华小当家" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%AD%E5%8D%8E%E5%B0%8F%E5%BD%93%E5%AE%B6.png",中华小当家
|
|
||||||
https://live.metshop.top/huya/11342413
|
https://live.metshop.top/huya/11342413
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="经典动漫" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BB%8F%E5%85%B8%E5%8A%A8%E6%BC%AB.png",经典动漫
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="经典动漫" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BB%8F%E5%85%B8%E5%8A%A8%E6%BC%AB.png",经典动漫
|
||||||
|
https://lunbo.freetv.top/yy/24180320
|
||||||
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="经典动漫" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BB%8F%E5%85%B8%E5%8A%A8%E6%BC%AB.png",经典动漫
|
||||||
|
http://43.138.0.72:35455/yy/24180320
|
||||||
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="经典动漫" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BB%8F%E5%85%B8%E5%8A%A8%E6%BC%AB.png",经典动漫
|
||||||
https://www.goodiptv.club/yy/22777075
|
https://www.goodiptv.club/yy/22777075
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="经典动漫" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BB%8F%E5%85%B8%E5%8A%A8%E6%BC%AB.png",经典动漫
|
#EXTINF:-1 group-title="🪁动画频道" tvg-name="经典动漫" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BB%8F%E5%85%B8%E5%8A%A8%E6%BC%AB.png",经典动漫
|
||||||
https://www.goodiptv.club/yy/24180320
|
https://www.goodiptv.club/yy/24180320
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="蜡笔小新" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E8%9C%A1%E7%AC%94%E5%B0%8F%E6%96%B0.png",蜡笔小新
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
||||||
http://www.douzhicloud.site:35455/bilibili/30837590
|
http://fjcm-2117.live.iptv.darwinchow.com/PLTV/88888888/224/3221225818/index.m3u8
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="蜡笔小新" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E8%9C%A1%E7%AC%94%E5%B0%8F%E6%96%B0.png",蜡笔小新
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
||||||
http://47.102.149.208:35455/bilibili/30837590
|
http://yahao.myqnapcloud.com:4022/rtp/239.77.1.239:5146
|
||||||
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
||||||
|
http://120.9.52.56:8809/rtp/239.253.93.154:6322
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225601/index.m3u8
|
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225601/index.m3u8
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
||||||
@@ -217,12 +239,8 @@ http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225601/index.m3u8
|
|||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226476/index.m3u8
|
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226476/index.m3u8
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
||||||
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225641/index.m3u8
|
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225641/index.m3u8
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="风云音乐" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%A3%8E%E4%BA%91%E9%9F%B3%E4%B9%90.png",风云音乐
|
||||||
http://wouu.net:9977/udp/239.93.0.103:5140
|
http://www.lizhinas.top:1009/rtp/239.252.219.87:5140
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
|
||||||
http://lu.wqwqwq.sbs/itv/1000000005000265014.m3u8?cdn=ystenlive
|
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
|
||||||
http://tvbox6.com/tv/bfgd.php?id=133
|
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="音乐之声" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%9F%B3%E4%B9%90%E4%B9%8B%E5%A3%B0.png",音乐之声
|
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="音乐之声" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%9F%B3%E4%B9%90%E4%B9%8B%E5%A3%B0.png",音乐之声
|
||||||
https://radio.0472.org/?id=641
|
https://radio.0472.org/?id=641
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="笑傲江湖" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%AC%91%E5%82%B2%E6%B1%9F%E6%B9%96.png",笑傲江湖
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="笑傲江湖" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%AC%91%E5%82%B2%E6%B1%9F%E6%B9%96.png",笑傲江湖
|
||||||
@@ -238,8 +256,6 @@ https://www.goodiptv.club/yy/1352833750
|
|||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="笑傲江湖" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%AC%91%E5%82%B2%E6%B1%9F%E6%B9%96.png",笑傲江湖
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="笑傲江湖" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%AC%91%E5%82%B2%E6%B1%9F%E6%B9%96.png",笑傲江湖
|
||||||
https://live.metshop.top/yy/1354936128
|
https://live.metshop.top/yy/1354936128
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="天龙八部" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E9%BE%99%E5%85%AB%E9%83%A8.png",天龙八部
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="天龙八部" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E9%BE%99%E5%85%AB%E9%83%A8.png",天龙八部
|
||||||
http://live.nctv.top/douyu.php?id=7655471
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="天龙八部" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E9%BE%99%E5%85%AB%E9%83%A8.png",天龙八部
|
|
||||||
http://www.clmy.cc:35455/yy/1355067965
|
http://www.clmy.cc:35455/yy/1355067965
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="天龙八部" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E9%BE%99%E5%85%AB%E9%83%A8.png",天龙八部
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="天龙八部" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E9%BE%99%E5%85%AB%E9%83%A8.png",天龙八部
|
||||||
https://live.metshop.top/huya/23903123
|
https://live.metshop.top/huya/23903123
|
||||||
@@ -254,8 +270,6 @@ http://live.nctv.top/douyu.php?id=12128227
|
|||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="鹿鼎记" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%B9%BF%E9%BC%8E%E8%AE%B0.png",鹿鼎记
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="鹿鼎记" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%B9%BF%E9%BC%8E%E8%AE%B0.png",鹿鼎记
|
||||||
https://live.metshop.top/yy/28265277
|
https://live.metshop.top/yy/28265277
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="仙剑奇侠传" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BB%99%E5%89%91%E5%A5%87%E4%BE%A0%E4%BC%A0.png",仙剑奇侠传
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="仙剑奇侠传" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BB%99%E5%89%91%E5%A5%87%E4%BE%A0%E4%BC%A0.png",仙剑奇侠传
|
||||||
http://47.102.149.208:35455/yy/1382749903
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="仙剑奇侠传" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BB%99%E5%89%91%E5%A5%87%E4%BE%A0%E4%BC%A0.png",仙剑奇侠传
|
|
||||||
https://live.metshop.top/yy/1382749903
|
https://live.metshop.top/yy/1382749903
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="三国演义" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%89%E5%9B%BD%E6%BC%94%E4%B9%89.png",三国演义
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="三国演义" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%89%E5%9B%BD%E6%BC%94%E4%B9%89.png",三国演义
|
||||||
https://www.goodiptv.club/yy/32788000
|
https://www.goodiptv.club/yy/32788000
|
||||||
@@ -290,6 +304,8 @@ https://www.goodiptv.club/yy/1382745184
|
|||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="上海滩" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%8A%E6%B5%B7%E6%BB%A9.png",上海滩
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="上海滩" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%8A%E6%B5%B7%E6%BB%A9.png",上海滩
|
||||||
https://live.metshop.top/yy/1382745184
|
https://live.metshop.top/yy/1382745184
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="射雕英雄传" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B0%84%E9%9B%95%E8%8B%B1%E9%9B%84%E4%BC%A0.png",射雕英雄传
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="射雕英雄传" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B0%84%E9%9B%95%E8%8B%B1%E9%9B%84%E4%BC%A0.png",射雕英雄传
|
||||||
|
http://iptv.jxpan.vip:18888/aio/huya/23824164
|
||||||
|
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="射雕英雄传" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B0%84%E9%9B%95%E8%8B%B1%E9%9B%84%E4%BC%A0.png",射雕英雄传
|
||||||
https://live.metshop.top/yy/40959929
|
https://live.metshop.top/yy/40959929
|
||||||
#EXTINF:-1 group-title="🕘️更新时间" tvg-name="2025-08-01 18:37:09" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/2025-08-01+18%3A37%3A09.png",2025-08-01 18:37:09
|
#EXTINF:-1 group-title="🕘️更新时间" tvg-name="2025-08-04 18:37:04" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/2025-08-04+18%3A37%3A04.png",2025-08-04 18:37:04
|
||||||
http://gat.bkpcp.top/ymg.php?id=jtyy
|
http://gat.bkpcp.top/ymg.php?id=jtyy
|
||||||
@@ -1,295 +0,0 @@
|
|||||||
#EXTM3U x-tvg-url="https://py.nxog.eu.org/https://raw.githubusercontent.com/fanmingming/live/main/e.xml"
|
|
||||||
#EXTINF:-1 group-title="🐲欧歌分享" tvg-name="欧歌免费分享" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%AC%A7%E6%AD%8C%E5%85%8D%E8%B4%B9%E5%88%86%E4%BA%AB.png",欧歌免费分享
|
|
||||||
https://xn--vusr00g.v.nxog.top/m/tv/xjj.php?id=0
|
|
||||||
#EXTINF:-1 group-title="🐲欧歌分享" tvg-name="关注欧歌APP" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%85%B3%E6%B3%A8%E6%AC%A7%E6%AD%8CAPP.png",关注欧歌APP
|
|
||||||
https://xn--vusr00g.v.nxog.top/m/tv/xjj.php?id=0&1
|
|
||||||
#EXTINF:-1 group-title="🐲欧歌分享" tvg-name="接口软件永远免费" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%8E%A5%E5%8F%A3%E8%BD%AF%E4%BB%B6%E6%B0%B8%E8%BF%9C%E5%85%8D%E8%B4%B9.png",接口软件永远免费
|
|
||||||
https://xn--vusr00g.v.nxog.top/m/tv/xjj.php?id=0&2
|
|
||||||
#EXTINF:-1 group-title="🐲欧歌分享" tvg-name="长期维护切勿贩卖" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%95%BF%E6%9C%9F%E7%BB%B4%E6%8A%A4%E5%88%87%E5%8B%BF%E8%B4%A9%E5%8D%96.png",长期维护切勿贩卖
|
|
||||||
https://xn--vusr00g.v.nxog.top/m/tv/xjj.php?id=0&3
|
|
||||||
#EXTINF:-1 group-title="🐲欧歌分享" tvg-name="卡左右可换源" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%8D%A1%E5%B7%A6%E5%8F%B3%E5%8F%AF%E6%8D%A2%E6%BA%90.png",卡左右可换源
|
|
||||||
http://wb.xn--dkw.xn--6qq986b3xl:5244/d/%E5%A4%A9/og1.mp4
|
|
||||||
#EXTINF:-1 group-title="🐲欧歌分享" tvg-name="网络收集随时失效" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BD%91%E7%BB%9C%E6%94%B6%E9%9B%86%E9%9A%8F%E6%97%B6%E5%A4%B1%E6%95%88.png",网络收集随时失效
|
|
||||||
http://wb.xn--dkw.xn--6qq986b3xl:5244/d/%E5%A4%A9/og.mp4
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC家庭影院" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%AE%B6%E5%BA%AD%E5%BD%B1%E9%99%A2.png",CHC家庭影院
|
|
||||||
http://gat.bkpcp.top/ymg.php?id=jtyy
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC家庭影院" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%AE%B6%E5%BA%AD%E5%BD%B1%E9%99%A2.png",CHC家庭影院
|
|
||||||
http://eastscreen.tv/ooooo.php
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC家庭影院" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%AE%B6%E5%BA%AD%E5%BD%B1%E9%99%A2.png",CHC家庭影院
|
|
||||||
http://eastscreen.tv/ooooo.php?id=chcjt
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC家庭影院" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%AE%B6%E5%BA%AD%E5%BD%B1%E9%99%A2.png",CHC家庭影院
|
|
||||||
http://z.b.bkpcp.top/m.php?id=jtyy
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC动作电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1.png",CHC动作电影
|
|
||||||
http://z.b.bkpcp.top/m.php
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC动作电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1.png",CHC动作电影
|
|
||||||
http://eastscreen.tv/ooooo.php
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC动作电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1.png",CHC动作电影
|
|
||||||
http://eastscreen.tv/ooooo.php?id=chcdz
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC动作电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1.png",CHC动作电影
|
|
||||||
https://stream.freetv.fun/2f2e29b8759a2458730dc1f3686024472691952a50e787fe075944d0cb17f36e.ctv
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC动作电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1.png",CHC动作电影
|
|
||||||
http://z.b.bkpcp.top/m.php?id=dzdy
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="CHC动作电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1.png",CHC动作电影
|
|
||||||
http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226329/1.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘剧场" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E5%89%A7%E5%9C%BA.png",淘剧场
|
|
||||||
http://dsj.motem.top:8880/bptv/10000100000000050000000003887497.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘剧场" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E5%89%A7%E5%9C%BA.png",淘剧场
|
|
||||||
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226553/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EQaJ92NID2SpQlY6_VJVogg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNOuQYJeiYEeFWTkFfE86Vq-%2CEND
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘娱乐" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E5%A8%B1%E4%B9%90.png",淘娱乐
|
|
||||||
http://dsj.motem.top:8880/bptv/10000100000000050000000003887499.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘娱乐" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E5%A8%B1%E4%B9%90.png",淘娱乐
|
|
||||||
http://[2409:8087:1:20:20::2c]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226551/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ex0efg9fpenP8E8lWJUb5Lg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNg3bzRax0E9tLmO9xgXVx8%2CEND
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E7%94%B5%E5%BD%B1.png",淘电影
|
|
||||||
http://dsj.motem.top:8880/bptv/10000100000000050000000003887498.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E7%94%B5%E5%BD%B1.png",淘电影
|
|
||||||
http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226552/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EXOsrWMA-UCdUl1hQSR9EKw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNg3bzRax0E9tLmO9xgXVx8%2CEND
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="淘电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B7%98%E7%94%B5%E5%BD%B1.png",淘电影
|
|
||||||
http://yc.myds.me:35455/bptv/10000100000000050000000003887498.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="NewTV惊悚悬疑" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/NewTV%E6%83%8A%E6%82%9A%E6%82%AC%E7%96%91.png",NewTV惊悚悬疑
|
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225665/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="黑莓电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E7%94%B5%E5%BD%B1.png",黑莓电影
|
|
||||||
https://epg.pw/stream/ffcb6572863f0745a7369fbd9d901f1dfd0ab8fab8bad8bebb4e01c90b303c47.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="黑莓电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E7%94%B5%E5%BD%B1.png",黑莓电影
|
|
||||||
http://otttv.bj.chinamobile.com/PLTV/88888888/224/3221226939/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EkBVQL3MtyiM0GGQzuPjqAQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="黑莓电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E7%94%B5%E5%BD%B1.png",黑莓电影
|
|
||||||
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225743/1.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="黑莓电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E7%94%B5%E5%BD%B1.png",黑莓电影
|
|
||||||
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225743/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="黑莓电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E7%94%B5%E5%BD%B1.png",黑莓电影
|
|
||||||
http://[2409:8087:1:20:20::27]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226939/1.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="黑莓电影" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E7%94%B5%E5%BD%B1.png",黑莓电影
|
|
||||||
http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226939/1.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="靖天戏剧" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%9D%96%E5%A4%A9%E6%88%8F%E5%89%A7.png",靖天戏剧
|
|
||||||
http://serv00.bkpcp.top/litv3.php?id=4gtv-4gtv058
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="天映经典" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E6%98%A0%E7%BB%8F%E5%85%B8.png",天映经典
|
|
||||||
https://cdn9.163189.xyz/smt1.1.php
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="天映经典" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E6%98%A0%E7%BB%8F%E5%85%B8.png",天映经典
|
|
||||||
http://free.cnlive.club/channel/n7e49c99a.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎬电影频道" tvg-name="星空卫视" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%98%9F%E7%A9%BA%E5%8D%AB%E8%A7%86.png",星空卫视
|
|
||||||
http://wouu.net:9977/udp/239.93.0.156:2193
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
|
||||||
http://iptv.huuc.edu.cn/hls/cctv5hd.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226019/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
|
||||||
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225633/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
|
||||||
http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226395/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
|
||||||
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221226469/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
|
||||||
http://webmail.axxe.top:4022/rtp/239.3.1.173:8001
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
|
||||||
http://alvin.ergotron.net:8000/udp/239.77.0.170:5146
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
|
||||||
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221226019/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
|
||||||
http://wouu.net:9977/udp/239.93.1.36:8004
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5.png",CCTV-5
|
|
||||||
http://lu.wqwqwq.sbs/itv/1000000005000265005.m3u8?cdn=ystenlive
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225603/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225649/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225706/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226221/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
http://webmail.axxe.top:4022/rtp/239.3.1.130:8004
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225603/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
http://lu.wqwqwq.sbs/itv/1000000005000265016.m3u8?cdn=ystenlive
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
https://hls-gateway.vpstv.net/streams/476888.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
https://smart.pendy.dpdns.org/Smart.php
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="CCTV-5+" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-5%2B.png",CCTV-5+
|
|
||||||
http://[2409:8087:74f0:22::4]:6410/270000001111/1110000306/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
|
||||||
https://epg.pw/stream/7b470f9fc5c305db0c8622117b7b25ca00eb35ba3e93e865cf0ff9df5c736681.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
|
||||||
http://cdn2.163189.xyz/live/gdty/stream.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广东体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E4%B8%9C%E4%BD%93%E8%82%B2.png",广东体育
|
|
||||||
http://cdn2.132.us.kg/live/gdty/stream.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="纬来体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BA%AC%E6%9D%A5%E4%BD%93%E8%82%B2.png",纬来体育
|
|
||||||
https://smart.pendy.dpdns.org/Smart.php
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="劲爆体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%8A%B2%E7%88%86%E4%BD%93%E8%82%B2.png",劲爆体育
|
|
||||||
http://z.b.bkpcp.top/m.php?id=jbty
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="超级体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E8%B6%85%E7%BA%A7%E4%BD%93%E8%82%B2.png",超级体育
|
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225715/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="超级体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E8%B6%85%E7%BA%A7%E4%BD%93%E8%82%B2.png",超级体育
|
|
||||||
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225715/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="超级体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E8%B6%85%E7%BA%A7%E4%BD%93%E8%82%B2.png",超级体育
|
|
||||||
http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225715/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
|
||||||
https://epg.pw/stream/f7556eccd4ae06b0c2991fdc7a4f8388496559f728cc82459a8e50346040e226.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
|
||||||
https://epg.pw/stream/94ed0232b61ce8d89883160a4cdfbfc8f3225cae70ef8e17d93eec249a3c8ad6.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225674/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="精品体育" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%B2%BE%E5%93%81%E4%BD%93%E8%82%B2.png",精品体育
|
|
||||||
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225674/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="广州竞赛" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B9%BF%E5%B7%9E%E7%AB%9E%E8%B5%9B.png",广州竞赛
|
|
||||||
https://tencentplay.gztv.com/live/jingsai.m3u8?txSecret=a4d04c27d0d1d8b7efef2ed7ff1c3eae&txTime=191b60cc9ca
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="睛彩篮球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%9D%9B%E5%BD%A9%E7%AF%AE%E7%90%83.png",睛彩篮球
|
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226147/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="睛彩广场舞" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%9D%9B%E5%BD%A9%E5%B9%BF%E5%9C%BA%E8%88%9E.png",睛彩广场舞
|
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226472/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="风云足球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%A3%8E%E4%BA%91%E8%B6%B3%E7%90%83.png",风云足球
|
|
||||||
http://www.lizhinas.top:1009/rtp/239.252.219.96:5140
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="风云足球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%A3%8E%E4%BA%91%E8%B6%B3%E7%90%83.png",风云足球
|
|
||||||
https://epg.pw/stream/ac8062ec9484078061d3bef507c15a423ac57ae4144e3fcc4b0a198dd420f911.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="魅力足球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%AD%85%E5%8A%9B%E8%B6%B3%E7%90%83.png",魅力足球
|
|
||||||
http://z.b.bkpcp.top/m.php?id=mlzq
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="魅力足球" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%AD%85%E5%8A%9B%E8%B6%B3%E7%90%83.png",魅力足球
|
|
||||||
http://gat.bkpcp.top/ymg.php?id=mlzq
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="天元围棋" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E5%85%83%E5%9B%B4%E6%A3%8B.png",天元围棋
|
|
||||||
http://wouu.net:9977/udp/239.93.42.55:5140
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="快乐垂钓" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93.png",快乐垂钓
|
|
||||||
http://fjcm-2117.live.iptv.darwinchow.com/PLTV/88888888/224/3221226940/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="JJ斗地主" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/JJ%E6%96%97%E5%9C%B0%E4%B8%BB.png",JJ斗地主
|
|
||||||
https://lunbo.freetv.top/douyu/488743
|
|
||||||
#EXTINF:-1 group-title="🏀体育频道" tvg-name="JJ斗地主" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/JJ%E6%96%97%E5%9C%B0%E4%B8%BB.png",JJ斗地主
|
|
||||||
http://tc-tct.douyucdn2.cn/dyliveflv1a/488743rAHScWyyII_2000.m3u8?wsAuth=fd695c444eeee99cc6122ed396c805ba&token=cpn-androidmpro-0-488743-df8b1830ef2e6ce156759645768df95bf77749da61fcc901&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=play2
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
|
||||||
http://z.b.bkpcp.top/m.php?id=ymkt
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
|
||||||
http://otttv.bj.chinamobile.com/PLTV/88888888/224/3221227007/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EhHDWGhkwx_zJcJUYE9TAaA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
|
||||||
http://wouu.net:9977/udp/239.93.0.251:5140
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="优漫卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A.png",优漫卡通
|
|
||||||
http://ygbh.live/js.php?id=ymkt
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="金鹰卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%87%91%E9%B9%B0%E5%8D%A1%E9%80%9A.png",金鹰卡通
|
|
||||||
http://dsj.motem.top:8880/bptv/10000100000000050000000004796942.m3u8
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="金鹰卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%87%91%E9%B9%B0%E5%8D%A1%E9%80%9A.png",金鹰卡通
|
|
||||||
http://wouu.net:9977/udp/239.93.0.108:5140
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="金鹰卡通" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%87%91%E9%B9%B0%E5%8D%A1%E9%80%9A.png",金鹰卡通
|
|
||||||
http://[2409:8087:1a0b:df::4008]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225653/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="黑莓动画" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E5%8A%A8%E7%94%BB.png",黑莓动画
|
|
||||||
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221227303/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="黑莓动画" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E5%8A%A8%E7%94%BB.png",黑莓动画
|
|
||||||
http://otttv.bj.chinamobile.com/PLTV/88888888/224/3221226935/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EUc618y1E09GbQwwuOzEKaQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="黑莓动画" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E5%8A%A8%E7%94%BB.png",黑莓动画
|
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225662/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="黑莓动画" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E5%8A%A8%E7%94%BB.png",黑莓动画
|
|
||||||
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225662/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="黑莓动画" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E5%8A%A8%E7%94%BB.png",黑莓动画
|
|
||||||
http://[2409:8087:1a0b:df::4006]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225662/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="黑莓动画" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%BB%91%E8%8E%93%E5%8A%A8%E7%94%BB.png",黑莓动画
|
|
||||||
http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226935/1.m3u8
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="24H国漫热播" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/24H%E5%9B%BD%E6%BC%AB%E7%83%AD%E6%92%AD.png",24H国漫热播
|
|
||||||
https://www.goodiptv.club/yy/1353937086
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="浙江少儿" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B5%99%E6%B1%9F%E5%B0%91%E5%84%BF.png",浙江少儿
|
|
||||||
http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="浙江少儿" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B5%99%E6%B1%9F%E5%B0%91%E5%84%BF.png",浙江少儿
|
|
||||||
https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="浙江少儿" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B5%99%E6%B1%9F%E5%B0%91%E5%84%BF.png",浙江少儿
|
|
||||||
https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?#https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8#http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="浙江少儿" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B5%99%E6%B1%9F%E5%B0%91%E5%84%BF.png",浙江少儿
|
|
||||||
http://ali-vl.cztv.com/channels/lantian/channel008/360p.m3u8
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="火影忍者" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%81%AB%E5%BD%B1%E5%BF%8D%E8%80%85.png",火影忍者
|
|
||||||
https://hd.ijycnd.com/play/Yer3NWLa/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="中华小当家" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%AD%E5%8D%8E%E5%B0%8F%E5%BD%93%E5%AE%B6.png",中华小当家
|
|
||||||
https://live.iill.top/huya/11342413
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="中华小当家" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%AD%E5%8D%8E%E5%B0%8F%E5%BD%93%E5%AE%B6.png",中华小当家
|
|
||||||
https://live.metshop.top/huya/11342413
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="经典动漫" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BB%8F%E5%85%B8%E5%8A%A8%E6%BC%AB.png",经典动漫
|
|
||||||
https://www.goodiptv.club/yy/22777075
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="经典动漫" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%BB%8F%E5%85%B8%E5%8A%A8%E6%BC%AB.png",经典动漫
|
|
||||||
https://www.goodiptv.club/yy/24180320
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="蜡笔小新" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E8%9C%A1%E7%AC%94%E5%B0%8F%E6%96%B0.png",蜡笔小新
|
|
||||||
http://www.douzhicloud.site:35455/bilibili/30837590
|
|
||||||
#EXTINF:-1 group-title="🪁动画频道" tvg-name="蜡笔小新" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E8%9C%A1%E7%AC%94%E5%B0%8F%E6%96%B0.png",蜡笔小新
|
|
||||||
http://47.102.149.208:35455/bilibili/30837590
|
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225601/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
|
||||||
http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225785/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
|
||||||
http://alvin.ergotron.net:8000/udp/239.77.1.239:5146
|
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
|
||||||
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221226476/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
|
||||||
http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225601/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
|
||||||
http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226476/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
|
||||||
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225641/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
|
||||||
http://wouu.net:9977/udp/239.93.0.103:5140
|
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
|
||||||
http://lu.wqwqwq.sbs/itv/1000000005000265014.m3u8?cdn=ystenlive
|
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="CCTV-15" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/CCTV-15.png",CCTV-15
|
|
||||||
http://tvbox6.com/tv/bfgd.php?id=133
|
|
||||||
#EXTINF:-1 group-title="🎵音乐频道" tvg-name="音乐之声" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%9F%B3%E4%B9%90%E4%B9%8B%E5%A3%B0.png",音乐之声
|
|
||||||
https://radio.0472.org/?id=641
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="笑傲江湖" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%AC%91%E5%82%B2%E6%B1%9F%E6%B9%96.png",笑傲江湖
|
|
||||||
https://lunbo.freetv.top/yy/1352833750
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="笑傲江湖" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%AC%91%E5%82%B2%E6%B1%9F%E6%B9%96.png",笑傲江湖
|
|
||||||
http://aliyuncoccdnct-hb.inter.iqiyi.com/tslive/l1/c53_lb_66_600_t10/hFoXfOtz8MBwUY741trArb4J6PsPW0LK1liscXEOwoKxhjguVEokVYp_Zc6s0nWbul0tFCgdPtieWgQKfa2f7BmWrzSGgTeDt0ZjdiXL4nNHKmcfy_I7k6ZeKF8aUI7VBKIpO8Sozf4hCWiDnnOw5alAqeFKTAJNGd8d71tww4KtDk_AUWyUWIj7FtVx8kRU2SPgM8ArtgYxPOj2oHuPApSMiaszJCK5SBD6KBhiOQ3wFCf6_SoShTMDxiTp0CzXGNqk_xrKC8ESMLNQ7Kg/1dca8aaf1a2821177f37b7cafeae04b00/c53_lb_66_600_t10.m3u8?key=0d316ff9e8569395e30d65ef9835b4d15&dis_t=1669616005&random=1&z=live_alicdn_coc_cn_north_ct&pv=0.2$山东酒店源-cache:http://47.104.102.192/ZHGXTV/Public/json/live_interface.txt
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="笑傲江湖" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%AC%91%E5%82%B2%E6%B1%9F%E6%B9%96.png",笑傲江湖
|
|
||||||
http://lu.wqwqwq.sbs/yy/1354930909
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="笑傲江湖" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%AC%91%E5%82%B2%E6%B1%9F%E6%B9%96.png",笑傲江湖
|
|
||||||
https://www.goodiptv.club/yy/1354930909
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="笑傲江湖" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%AC%91%E5%82%B2%E6%B1%9F%E6%B9%96.png",笑傲江湖
|
|
||||||
https://www.goodiptv.club/yy/1352833750
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="笑傲江湖" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E7%AC%91%E5%82%B2%E6%B1%9F%E6%B9%96.png",笑傲江湖
|
|
||||||
https://live.metshop.top/yy/1354936128
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="天龙八部" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E9%BE%99%E5%85%AB%E9%83%A8.png",天龙八部
|
|
||||||
http://live.nctv.top/douyu.php?id=7655471
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="天龙八部" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E9%BE%99%E5%85%AB%E9%83%A8.png",天龙八部
|
|
||||||
http://www.clmy.cc:35455/yy/1355067965
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="天龙八部" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E9%BE%99%E5%85%AB%E9%83%A8.png",天龙八部
|
|
||||||
https://live.metshop.top/huya/23903123
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="天龙八部" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E9%BE%99%E5%85%AB%E9%83%A8.png",天龙八部
|
|
||||||
https://www.goodiptv.club/yy/1351814644
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="天龙八部" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E9%BE%99%E5%85%AB%E9%83%A8.png",天龙八部
|
|
||||||
https://www.goodiptv.club/yy/1382749944
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="天龙八部" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%A4%A9%E9%BE%99%E5%85%AB%E9%83%A8.png",天龙八部
|
|
||||||
https://live.metshop.top/yy/1351814644
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="鹿鼎记" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%B9%BF%E9%BC%8E%E8%AE%B0.png",鹿鼎记
|
|
||||||
http://live.nctv.top/douyu.php?id=12128227
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="鹿鼎记" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E9%B9%BF%E9%BC%8E%E8%AE%B0.png",鹿鼎记
|
|
||||||
https://live.metshop.top/yy/28265277
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="仙剑奇侠传" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BB%99%E5%89%91%E5%A5%87%E4%BE%A0%E4%BC%A0.png",仙剑奇侠传
|
|
||||||
http://47.102.149.208:35455/yy/1382749903
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="仙剑奇侠传" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%BB%99%E5%89%91%E5%A5%87%E4%BE%A0%E4%BC%A0.png",仙剑奇侠传
|
|
||||||
https://live.metshop.top/yy/1382749903
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="三国演义" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%89%E5%9B%BD%E6%BC%94%E4%B9%89.png",三国演义
|
|
||||||
https://www.goodiptv.club/yy/32788000
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="三国演义" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%89%E5%9B%BD%E6%BC%94%E4%B9%89.png",三国演义
|
|
||||||
https://live.metshop.top/yy/32788000
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="三国演义" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%89%E5%9B%BD%E6%BC%94%E4%B9%89.png",三国演义
|
|
||||||
https://live.metshop.top/yy/1354936241
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="水浒传" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B0%B4%E6%B5%92%E4%BC%A0.png",水浒传
|
|
||||||
http://www.clmy.cc:35455/yy/1353873252
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="新白娘子传奇" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%96%B0%E7%99%BD%E5%A8%98%E5%AD%90%E4%BC%A0%E5%A5%87.png",新白娘子传奇
|
|
||||||
http://lu.wqwqwq.sbs/yy/1354490667
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="新白娘子传奇" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%96%B0%E7%99%BD%E5%A8%98%E5%AD%90%E4%BC%A0%E5%A5%87.png",新白娘子传奇
|
|
||||||
http://www.clmy.cc:35455/yy/1354490667
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="新白娘子传奇" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%96%B0%E7%99%BD%E5%A8%98%E5%AD%90%E4%BC%A0%E5%A5%87.png",新白娘子传奇
|
|
||||||
https://www.goodiptv.club/yy/1354490667
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="新白娘子传奇" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%96%B0%E7%99%BD%E5%A8%98%E5%AD%90%E4%BC%A0%E5%A5%87.png",新白娘子传奇
|
|
||||||
https://live.metshop.top/yy/1354490667
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="济公游记" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E6%B5%8E%E5%85%AC%E6%B8%B8%E8%AE%B0.png",济公游记
|
|
||||||
https://www.goodiptv.club/yy/1355265814
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="封神榜" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B0%81%E7%A5%9E%E6%A6%9C.png",封神榜
|
|
||||||
https://lunbo.freetv.top/yy/1382797534
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="封神榜" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B0%81%E7%A5%9E%E6%A6%9C.png",封神榜
|
|
||||||
http://iptv.jxpan.vip:18888/aio/huya/29465849
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="封神榜" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B0%81%E7%A5%9E%E6%A6%9C.png",封神榜
|
|
||||||
http://www.clmy.cc:35455/yy/1353426319
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="封神榜" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B0%81%E7%A5%9E%E6%A6%9C.png",封神榜
|
|
||||||
https://www.goodiptv.club/yy/1382797534
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="封神榜" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B0%81%E7%A5%9E%E6%A6%9C.png",封神榜
|
|
||||||
https://live.metshop.top/yy/1353426319
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="上海滩" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%8A%E6%B5%B7%E6%BB%A9.png",上海滩
|
|
||||||
https://www.goodiptv.club/yy/1382745184
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="上海滩" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E4%B8%8A%E6%B5%B7%E6%BB%A9.png",上海滩
|
|
||||||
https://live.metshop.top/yy/1382745184
|
|
||||||
#EXTINF:-1 group-title="🏛经典剧场" tvg-name="射雕英雄传" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/%E5%B0%84%E9%9B%95%E8%8B%B1%E9%9B%84%E4%BC%A0.png",射雕英雄传
|
|
||||||
https://live.metshop.top/yy/40959929
|
|
||||||
#EXTINF:-1 group-title="🕘️更新时间" tvg-name="2025-08-01 18:37:09" tvg-logo="https://gitee.com/mytv-android/myTVlogo/raw/main/img/2025-08-01+18%3A37%3A09.png",2025-08-01 18:37:09
|
|
||||||
http://gat.bkpcp.top/ymg.php?id=jtyy
|
|
||||||
+102
-81
@@ -73,31 +73,116 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "魔方",
|
"key": "星河",
|
||||||
"name": "魔方|APP",
|
"name": "星河|APP",
|
||||||
|
"type": 3,
|
||||||
|
"quickSearch": 1,
|
||||||
|
"api": "csp_AppSy",
|
||||||
|
"ext": {
|
||||||
|
"url": "http://192.140.161.171:2563",
|
||||||
|
"key1": "aassddwwxxllsx1x",
|
||||||
|
"key2": "aassddwwxxllsx1x",
|
||||||
|
"key3": "aassddwwxxllsx1x"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "云云",
|
||||||
|
"name": "云云|APP",
|
||||||
|
"type": 3,
|
||||||
|
"quickSearch": 1,
|
||||||
|
"api": "csp_AppGet2",
|
||||||
|
"ext": {
|
||||||
|
"url": "",
|
||||||
|
"site": "./txt/1.txt",
|
||||||
|
"dataKey": "staraugust123456",
|
||||||
|
"dataIv": "staraugust123456",
|
||||||
|
"deviceId": "",
|
||||||
|
"version": "120"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "光影",
|
||||||
|
"name": "光影|APP",
|
||||||
"type": 3,
|
"type": 3,
|
||||||
"quickSearch": 1,
|
"quickSearch": 1,
|
||||||
"api": "csp_AppGet",
|
"api": "csp_AppGet",
|
||||||
"ext": {
|
"ext": {
|
||||||
"url": "",
|
"url": "https://www.guangyingmi.com",
|
||||||
"site": "./txt/mfys.txt",
|
"dataKey": "230fnsodfsdhfon2",
|
||||||
"dataKey": "1234567887654321",
|
"dataIv": "230fnsodfsdhfon2",
|
||||||
"dataIv": "1234567887654321",
|
|
||||||
"deviceId": "",
|
"deviceId": "",
|
||||||
"version": ""
|
"version": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "小野",
|
"key": "冬天",
|
||||||
"name": "小野|APP",
|
"name": "冬天|APP",
|
||||||
"type": 3,
|
"type": 3,
|
||||||
"quickSearch": 1,
|
"quickSearch": 1,
|
||||||
"api": "csp_AppGet",
|
"api": "csp_AppGet",
|
||||||
"ext": {
|
"ext": {
|
||||||
"url": "https://appcms.xy4k.com",
|
"url": "http://154.37.152.97:5211",
|
||||||
|
"dataKey": "685bf108bc47b67d",
|
||||||
|
"dataIv": "685bf108bc47b67d",
|
||||||
|
"deviceId": "685bf108bc47b67d",
|
||||||
|
"version": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "火猫",
|
||||||
|
"name": "火猫丨APP",
|
||||||
|
"type": 3,
|
||||||
|
"quickSearch": 1,
|
||||||
|
"api": "csp_AppGet",
|
||||||
|
"ext": {
|
||||||
|
"url": "",
|
||||||
|
"site": "./txt/03.txt",
|
||||||
|
"dataKey": "J6AIORKJ3PQOJKM9",
|
||||||
|
"dataIv": "J6AIORKJ3PQOJKM9",
|
||||||
|
"deviceId": "",
|
||||||
|
"version": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "若雪",
|
||||||
|
"name": "若雪丨APP",
|
||||||
|
"type": 3,
|
||||||
|
"quickSearch": 1,
|
||||||
|
"api": "csp_AppGet2",
|
||||||
|
"ext": {
|
||||||
|
"url": "https://appcms.rx4k.top",
|
||||||
"site": "",
|
"site": "",
|
||||||
"dataKey": "7SDWjknU34zqFbVr",
|
"dataKey": "ZX10ysTYZWtIJCTU",
|
||||||
"dataIv": "7SDWjknU34zqFbVr",
|
"dataIv": "ZX10ysTYZWtIJCTU",
|
||||||
|
"deviceId": "",
|
||||||
|
"version": "120"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "哔滴",
|
||||||
|
"name": "哔滴丨APP",
|
||||||
|
"type": 3,
|
||||||
|
"quickSearch": 1,
|
||||||
|
"api": "csp_AppGet2",
|
||||||
|
"ext": {
|
||||||
|
"url": "",
|
||||||
|
"site": "./json/ip.json",
|
||||||
|
"dataKey": "5ae8ee4bb95ea0ce",
|
||||||
|
"dataIv": "5ae8ee4bb95ea0ce",
|
||||||
|
"deviceId": "",
|
||||||
|
"version": "120"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "丫丫",
|
||||||
|
"name": "丫丫|APP",
|
||||||
|
"type": 3,
|
||||||
|
"quickSearch": 1,
|
||||||
|
"api": "csp_AppGet",
|
||||||
|
"ext": {
|
||||||
|
"url": "http://tv.yy-fun.cc",
|
||||||
|
"dataKey": "qkxnwkfjwpcnwycl",
|
||||||
|
"dataIv": "qkxnwkfjwpcnwycl",
|
||||||
"deviceId": "",
|
"deviceId": "",
|
||||||
"version": ""
|
"version": ""
|
||||||
}
|
}
|
||||||
@@ -160,8 +245,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "雄鹰",
|
"key": "蓝鹰",
|
||||||
"name": "雄鹰|APP",
|
"name": "蓝鹰|APP",
|
||||||
"type": 3,
|
"type": 3,
|
||||||
"quickSearch": 1,
|
"quickSearch": 1,
|
||||||
"api": "csp_AppGet2",
|
"api": "csp_AppGet2",
|
||||||
@@ -174,20 +259,6 @@
|
|||||||
"version": "120"
|
"version": "120"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"key": "榴莲",
|
|
||||||
"name": "榴莲|APP",
|
|
||||||
"type": 3,
|
|
||||||
"quickSearch": 1,
|
|
||||||
"api": "csp_AppGet2",
|
|
||||||
"ext": {
|
|
||||||
"url": "https://qjappcms.ll4k.xyz",
|
|
||||||
"dataKey": "1yGA85sJ5STtE7uj",
|
|
||||||
"dataIv": "1yGA85sJ5STtE7uj",
|
|
||||||
"deviceId": "",
|
|
||||||
"version": "50000"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"key": "仓鼠",
|
"key": "仓鼠",
|
||||||
"name": "仓鼠|APP",
|
"name": "仓鼠|APP",
|
||||||
@@ -195,7 +266,8 @@
|
|||||||
"quickSearch": 1,
|
"quickSearch": 1,
|
||||||
"api": "csp_AppGet2",
|
"api": "csp_AppGet2",
|
||||||
"ext": {
|
"ext": {
|
||||||
"url": "https://newappcms.cs4k.top",
|
"url": "",
|
||||||
|
"site": "./txt/csurl.txt",
|
||||||
"dataKey": "Z98KXaLtO2wC1Pte",
|
"dataKey": "Z98KXaLtO2wC1Pte",
|
||||||
"dataIv": "Z98KXaLtO2wC1Pte",
|
"dataIv": "Z98KXaLtO2wC1Pte",
|
||||||
"deviceId": "",
|
"deviceId": "",
|
||||||
@@ -260,20 +332,6 @@
|
|||||||
"version": ""
|
"version": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"key": "溜溜",
|
|
||||||
"name": "溜溜|APP",
|
|
||||||
"type": 3,
|
|
||||||
"quickSearch": 1,
|
|
||||||
"api": "csp_AppGet",
|
|
||||||
"ext": {
|
|
||||||
"url": "https://appcms.ll4k.xyz",
|
|
||||||
"dataKey": "NiDGaKiVnkO3QX1Q",
|
|
||||||
"dataIv": "NiDGaKiVnkO3QX1Q",
|
|
||||||
"deviceId": "2fbaf48ee97783260bc907e3ab0bd40c3",
|
|
||||||
"version": "200"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"key": "晴天",
|
"key": "晴天",
|
||||||
"name": "晴天|APP",
|
"name": "晴天|APP",
|
||||||
@@ -388,20 +446,6 @@
|
|||||||
"version": ""
|
"version": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"key": "诺映",
|
|
||||||
"name": "诺映|APP",
|
|
||||||
"type": 3,
|
|
||||||
"quickSearch": 1,
|
|
||||||
"api": "csp_AppGet",
|
|
||||||
"ext": {
|
|
||||||
"url": "https://www.noad.top",
|
|
||||||
"dataKey": "708FA298F0855840",
|
|
||||||
"dataIv": "708FA298F0855840",
|
|
||||||
"deviceId": "2129ec9e6e5703cb0aeeddd79554e38f8",
|
|
||||||
"version": "103"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"key": "移动",
|
"key": "移动",
|
||||||
"name": "移动|APP",
|
"name": "移动|APP",
|
||||||
@@ -758,16 +802,6 @@
|
|||||||
"type": 3,
|
"type": 3,
|
||||||
"api": "csp_MiSou"
|
"api": "csp_MiSou"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"key": "聚搜",
|
|
||||||
"name": "聚搜|搜索",
|
|
||||||
"type": 3,
|
|
||||||
"api": "csp_PanWebSearch",
|
|
||||||
"searchable": 1,
|
|
||||||
"quickSearch": 1,
|
|
||||||
"filterable": 1,
|
|
||||||
"changeable": 1
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"key": "人人分享站",
|
"key": "人人分享站",
|
||||||
"name": "人人|搜索",
|
"name": "人人|搜索",
|
||||||
@@ -891,7 +925,8 @@
|
|||||||
"key": "云播影视",
|
"key": "云播影视",
|
||||||
"name": "云播|影视",
|
"name": "云播|影视",
|
||||||
"type": 3,
|
"type": 3,
|
||||||
"api": "csp_Tvyb"
|
"api": "csp_Tvyb",
|
||||||
|
"ext": "http://www.viptv01.com"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "奇优影视",
|
"key": "奇优影视",
|
||||||
@@ -1206,20 +1241,6 @@
|
|||||||
"version": ""
|
"version": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"key": "丫丫",
|
|
||||||
"name": "丫丫|APP",
|
|
||||||
"type": 3,
|
|
||||||
"quickSearch": 1,
|
|
||||||
"api": "csp_AppGet",
|
|
||||||
"ext": {
|
|
||||||
"url": "http://tv.yy-fun.cc",
|
|
||||||
"dataKey": "qkxnwkfjwpcnwycl",
|
|
||||||
"dataIv": "qkxnwkfjwpcnwycl",
|
|
||||||
"deviceId": "",
|
|
||||||
"version": ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"key": "黑猫动漫",
|
"key": "黑猫动漫",
|
||||||
"name": "黑猫|动漫",
|
"name": "黑猫|动漫",
|
||||||
|
|||||||
Vendored
+180
-36
@@ -1,26 +1,49 @@
|
|||||||
import cheerio from "assets://js/lib/cheerio.min.js";
|
|
||||||
import "assets://js/lib/crypto-js.js";
|
|
||||||
import "./jsencrypt.js";
|
|
||||||
import "./node-rsa.js";
|
|
||||||
import "./pako.min.js";
|
|
||||||
import 模板 from "./模板.js";
|
|
||||||
import {
|
import {
|
||||||
gbkTool
|
cheerio,
|
||||||
} from "./gbk.js";
|
模板
|
||||||
import "./json5.js";
|
} from "./drpy-core-lite.min.js";
|
||||||
import "./jinja.js";
|
|
||||||
const _jinja2 = cheerio.jinja2;
|
|
||||||
cheerio.jinja2 = function(template, obj) {
|
|
||||||
try {
|
|
||||||
return jinja.render(template, obj)
|
|
||||||
} catch (e) {
|
|
||||||
console.log("新的jinja2库渲染失败,换回原始cheerio:" + e.message);
|
|
||||||
return _jinja2(template, obj)
|
|
||||||
}
|
|
||||||
};
|
|
||||||
let vercode = typeof pdfl === "function" ? "drpy2.1" : "drpy2";
|
let vercode = typeof pdfl === "function" ? "drpy2.1" : "drpy2";
|
||||||
const VERSION = vercode + " 3.9.51beta5 20241104";
|
const VERSION = vercode + " 3.9.52beta3 20250801";
|
||||||
const UpdateInfo = [{
|
const UpdateInfo = [{
|
||||||
|
date: "20250801",
|
||||||
|
title: "drpy依赖更新,使用drpy-core-lite.min.js",
|
||||||
|
version: "3.9.52beta3 20250801",
|
||||||
|
msg: `
|
||||||
|
drpy-core.min.js 更换为更小的drpy-core-lite.min.js
|
||||||
|
|
||||||
|
`
|
||||||
|
}, {
|
||||||
|
date: "20250729",
|
||||||
|
title: "drpy更新,所有依赖打包成一个js文件",
|
||||||
|
version: "3.9.52beta2 20250729",
|
||||||
|
msg: `
|
||||||
|
1. wasm支持
|
||||||
|
2. 引入 TextEncoder、TextDecoder对象
|
||||||
|
3. 引入 WXXH 加解密库
|
||||||
|
4. 所有依赖打包成一个js
|
||||||
|
5. 增加 buildQueryString
|
||||||
|
|
||||||
|
`
|
||||||
|
}, {
|
||||||
|
date: "20250728",
|
||||||
|
title: "drpy更新,增加tab_order线路模糊排序,优化解密算法支持文件头",
|
||||||
|
version: "3.9.52beta1 20250728",
|
||||||
|
msg: `
|
||||||
|
1. 增加tab_order线路模糊排序
|
||||||
|
2. 优化解密算法支持文件头
|
||||||
|
3. wasm支持
|
||||||
|
4. 增加 removeHeader 函数可用于清除js/py文件的头信息及所有头注释
|
||||||
|
5. 引入 TextEncoder、TextDecoder对象
|
||||||
|
6. 引入 WXXH 加解密库
|
||||||
|
`
|
||||||
|
}, {
|
||||||
|
date: "20241126",
|
||||||
|
title: "drpy更新,优化去广告算法",
|
||||||
|
version: "3.9.51beta6 20241126",
|
||||||
|
msg: `
|
||||||
|
1. 更新龙头大佬提供的去广告算法
|
||||||
|
`
|
||||||
|
}, {
|
||||||
date: "20241104",
|
date: "20241104",
|
||||||
title: "drpy更新,增加新特性",
|
title: "drpy更新,增加新特性",
|
||||||
version: "3.9.51beta5 20241104",
|
version: "3.9.51beta5 20241104",
|
||||||
@@ -701,8 +724,7 @@ function ungzip(b64Data) {
|
|||||||
function encodeStr(input, encoding) {
|
function encodeStr(input, encoding) {
|
||||||
encoding = encoding || "gbk";
|
encoding = encoding || "gbk";
|
||||||
if (encoding.startsWith("gb")) {
|
if (encoding.startsWith("gb")) {
|
||||||
const strTool = gbkTool();
|
input = gbkTool.encode(input)
|
||||||
input = strTool.encode(input)
|
|
||||||
}
|
}
|
||||||
return input
|
return input
|
||||||
}
|
}
|
||||||
@@ -710,8 +732,7 @@ function encodeStr(input, encoding) {
|
|||||||
function decodeStr(input, encoding) {
|
function decodeStr(input, encoding) {
|
||||||
encoding = encoding || "gbk";
|
encoding = encoding || "gbk";
|
||||||
if (encoding.startsWith("gb")) {
|
if (encoding.startsWith("gb")) {
|
||||||
const strTool = gbkTool();
|
input = gbkTool.decode(input)
|
||||||
input = strTool.decode(input)
|
|
||||||
}
|
}
|
||||||
return input
|
return input
|
||||||
}
|
}
|
||||||
@@ -866,30 +887,73 @@ function fixAdM3u8Ai(m3u8_url, headers) {
|
|||||||
}
|
}
|
||||||
let s = m3u8.trim().split("\n").filter(it => it.trim()).join("\n");
|
let s = m3u8.trim().split("\n").filter(it => it.trim()).join("\n");
|
||||||
let ss = s.split("\n");
|
let ss = s.split("\n");
|
||||||
|
if (m3u8_url.indexOf("ffzy") > 0) {
|
||||||
|
let j = 0,
|
||||||
|
k1 = 0,
|
||||||
|
m = 0,
|
||||||
|
n = 0,
|
||||||
|
t = 0;
|
||||||
|
let s2 = "";
|
||||||
|
for (let i = 0; i < ss.length; i++) {
|
||||||
|
let s = ss[i];
|
||||||
|
let s1 = "";
|
||||||
|
if (s.startsWith("#EXTINF")) {
|
||||||
|
s1 = s.slice(8);
|
||||||
|
n++;
|
||||||
|
if (n == 1) k1 = i;
|
||||||
|
if (s2.indexOf(s1) == -1) {
|
||||||
|
s2 = s2 + s1;
|
||||||
|
m++
|
||||||
|
}
|
||||||
|
t = t + parseFloat(s1);
|
||||||
|
i++;
|
||||||
|
s = ss[i]
|
||||||
|
}
|
||||||
|
if (s.startsWith("#EXT-X-DISCONTINUITY")) {
|
||||||
|
if (n == 5) {
|
||||||
|
log("n:" + n);
|
||||||
|
log("m:" + m);
|
||||||
|
for (let j = k1; j < k1 + n * 2; j++) {
|
||||||
|
log(ss[j])
|
||||||
|
}
|
||||||
|
log("广告位置:" + k1);
|
||||||
|
log("数据条数:" + n);
|
||||||
|
log("数据种类:" + m);
|
||||||
|
log("广告时间:" + t.toFixed(5));
|
||||||
|
ss.splice(k1, 2 * n + 1);
|
||||||
|
i = i - 2 * n + 1
|
||||||
|
}
|
||||||
|
t = 0;
|
||||||
|
m = 0;
|
||||||
|
n = 0;
|
||||||
|
s2 = ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
let firststr = "";
|
let firststr = "";
|
||||||
let maxl = 0;
|
let maxl = 0;
|
||||||
let kk = 0;
|
let kk = 0;
|
||||||
let kkk = 2;
|
let kkk1 = 1;
|
||||||
|
let kkk2 = 0;
|
||||||
let secondstr = "";
|
let secondstr = "";
|
||||||
for (let i = 0; i < ss.length; i++) {
|
for (let i = 0; i < ss.length; i++) {
|
||||||
let s = ss[i];
|
let s = ss[i];
|
||||||
if (!s.startsWith("#")) {
|
if (!s.startsWith("#")) {
|
||||||
if (kk == 0) firststr = s;
|
if (kk == 0) firststr = s;
|
||||||
if (kk == 1) maxl = b(firststr, s);
|
if (kk > 0) {
|
||||||
if (kk > 1) {
|
if (maxl > b(firststr, s) + 1) {
|
||||||
if (maxl > b(firststr, s)) {
|
|
||||||
if (secondstr.length < 5) secondstr = s;
|
if (secondstr.length < 5) secondstr = s;
|
||||||
kkk = kkk + 2
|
kkk2++
|
||||||
} else {
|
} else {
|
||||||
maxl = b(firststr, s);
|
maxl = b(firststr, s);
|
||||||
kkk++
|
kkk1++
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
kk++;
|
kk++;
|
||||||
if (kk >= 20) break
|
if (kk >= 30) break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (kkk > 30) firststr = secondstr;
|
if (kkk2 > kkk1) firststr = secondstr;
|
||||||
let firststrlen = firststr.length;
|
let firststrlen = firststr.length;
|
||||||
let ml = Math.round(ss.length / 2).toString().length;
|
let ml = Math.round(ss.length / 2).toString().length;
|
||||||
let maxc = 0;
|
let maxc = 0;
|
||||||
@@ -925,6 +989,7 @@ function fixAdM3u8Ai(m3u8_url, headers) {
|
|||||||
log(ad_urls);
|
log(ad_urls);
|
||||||
m3u8 = ss.join("\n");
|
m3u8 = ss.join("\n");
|
||||||
log("处理耗时:" + ((new Date).getTime() - ts).toString());
|
log("处理耗时:" + ((new Date).getTime() - ts).toString());
|
||||||
|
log(m3u8);
|
||||||
return m3u8
|
return m3u8
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1300,6 +1365,24 @@ function keysToLowerCase(obj) {
|
|||||||
}, {})
|
}, {})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function buildQueryString(params) {
|
||||||
|
const queryArray = [];
|
||||||
|
for (const key in params) {
|
||||||
|
if (params.hasOwnProperty(key)) {
|
||||||
|
let value = params[key];
|
||||||
|
if (value === undefined || value === null) {
|
||||||
|
value = ""
|
||||||
|
} else {
|
||||||
|
value = value.toString()
|
||||||
|
}
|
||||||
|
const encodedKey = encodeURIComponent(key);
|
||||||
|
const encodedValue = encodeURIComponent(value);
|
||||||
|
queryArray.push(encodedKey + "=" + encodedValue)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return queryArray.join("&")
|
||||||
|
}
|
||||||
|
|
||||||
function parseQueryString(query) {
|
function parseQueryString(query) {
|
||||||
const params = {};
|
const params = {};
|
||||||
query.split("&").forEach(function(part) {
|
query.split("&").forEach(function(part) {
|
||||||
@@ -2170,7 +2253,7 @@ function detailParse(detailObj) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (p === "*") {
|
if (p === "*") {
|
||||||
vod.vod_play_from = "云盘";
|
vod.vod_play_from = "兵哥视界";
|
||||||
vod.vod_remarks = detailUrl;
|
vod.vod_remarks = detailUrl;
|
||||||
vod.vod_actor = "没有二级,只有一级链接直接嗅探播放";
|
vod.vod_actor = "没有二级,只有一级链接直接嗅探播放";
|
||||||
vod.vod_content = MY_URL;
|
vod.vod_content = MY_URL;
|
||||||
@@ -2276,7 +2359,7 @@ function detailParse(detailObj) {
|
|||||||
}
|
}
|
||||||
console.log(JSON.stringify(playFrom))
|
console.log(JSON.stringify(playFrom))
|
||||||
} else {
|
} else {
|
||||||
playFrom = ["云盘"]
|
playFrom = ["兵哥视界"]
|
||||||
}
|
}
|
||||||
vod.vod_play_from = playFrom.join(vod_play_from);
|
vod.vod_play_from = playFrom.join(vod_play_from);
|
||||||
let vod_play_url = "$$$";
|
let vod_play_url = "$$$";
|
||||||
@@ -2391,7 +2474,17 @@ function vodDeal(vod) {
|
|||||||
if (rule.tab_order && rule.tab_order.length > 0) {
|
if (rule.tab_order && rule.tab_order.length > 0) {
|
||||||
let tab_order = rule.tab_order;
|
let tab_order = rule.tab_order;
|
||||||
tab_ordered_list = tab_removed_list.sort((a, b) => {
|
tab_ordered_list = tab_removed_list.sort((a, b) => {
|
||||||
return (tab_order.indexOf(a) === -1 ? 9999 : tab_order.indexOf(a)) - (tab_order.indexOf(b) === -1 ? 9999 : tab_order.indexOf(b))
|
const getOrderIndex = (tabName, orderRules) => {
|
||||||
|
for (let i = 0; i < orderRules.length; i++) {
|
||||||
|
if (tabName.includes(orderRules[i])) {
|
||||||
|
return i
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 9999
|
||||||
|
};
|
||||||
|
const indexA = getOrderIndex(a, tab_order);
|
||||||
|
const indexB = getOrderIndex(b, tab_order);
|
||||||
|
return indexA - indexB
|
||||||
});
|
});
|
||||||
tab_list = tab_ordered_list
|
tab_list = tab_ordered_list
|
||||||
}
|
}
|
||||||
@@ -2523,11 +2616,62 @@ function isVideoParse(isVideoObj) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function removeHeader(content, options = {}) {
|
||||||
|
const {
|
||||||
|
mode = "header-only", fileType
|
||||||
|
} = options;
|
||||||
|
const COMMENT_CONFIG = {
|
||||||
|
".js": {
|
||||||
|
start: "/*",
|
||||||
|
end: "*/",
|
||||||
|
regex: /^\s*\/\*([\s\S]*?)\*\/\s*/,
|
||||||
|
headerRegex: /@header\(([\s\S]*?)\)/,
|
||||||
|
topCommentsRegex: /^(\s*(\/\/[^\n]*\n|\/\*[\s\S]*?\*\/)\s*)+/
|
||||||
|
},
|
||||||
|
".py": {
|
||||||
|
start: '"""',
|
||||||
|
end: '"""',
|
||||||
|
regex: /^\s*"""([\s\S]*?)"""\s*/,
|
||||||
|
headerRegex: /@header\(([\s\S]*?)\)/,
|
||||||
|
topCommentsRegex: /^(\s*(#[^\n]*\n|'''[\s\S]*?'''|"""[\s\S]*?""")\s*)+/
|
||||||
|
}
|
||||||
|
};
|
||||||
|
if (!fileType) throw new Error("fileType option is required");
|
||||||
|
const ext = fileType.startsWith(".") ? fileType : `.${fileType}`;
|
||||||
|
const config = COMMENT_CONFIG[ext];
|
||||||
|
if (!config) throw new Error(`Unsupported file type: ${ext}`);
|
||||||
|
if (mode === "top-comments") {
|
||||||
|
const match = content.match(config.topCommentsRegex);
|
||||||
|
if (match) {
|
||||||
|
return content.substring(match[0].length).trim()
|
||||||
|
}
|
||||||
|
return content.trim()
|
||||||
|
}
|
||||||
|
const match = content.match(config.regex);
|
||||||
|
if (!match) return content.trim();
|
||||||
|
let [fullComment, innerContent] = match;
|
||||||
|
if (config.headerRegex.test(innerContent)) {
|
||||||
|
innerContent = innerContent.replace(config.headerRegex, "");
|
||||||
|
const cleanedInner = innerContent.split("\n").filter(line => line.trim().length > 0).join("\n");
|
||||||
|
if (!cleanedInner.trim()) {
|
||||||
|
return content.replace(fullComment, "").trim()
|
||||||
|
} else {
|
||||||
|
const newComment = `${config.start}${cleanedInner}${config.end}`;
|
||||||
|
return content.replace(fullComment, newComment).trim()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return content.trim()
|
||||||
|
}
|
||||||
|
|
||||||
function getOriginalJs(js_code) {
|
function getOriginalJs(js_code) {
|
||||||
let current_match = /var rule|[\u4E00-\u9FA5]+|function|let |var |const |\(|\)|"|'/;
|
let current_match = /var rule|function|let |var |const|class Rule|async|this\./;
|
||||||
if (current_match.test(js_code)) {
|
if (current_match.test(js_code)) {
|
||||||
return js_code
|
return js_code
|
||||||
}
|
}
|
||||||
|
js_code = removeHeader(js_code, {
|
||||||
|
mode: "top-comments",
|
||||||
|
fileType: ".js"
|
||||||
|
});
|
||||||
let rsa_private_key = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCqin/jUpqM6+fgYP/oMqj9zcdHMM0mEZXLeTyixIJWP53lzJV2N2E3OP6BBpUmq2O1a9aLnTIbADBaTulTNiOnVGoNG58umBnupnbmmF8iARbDp2mTzdMMeEgLdrfXS6Y3VvazKYALP8EhEQykQVarexR78vRq7ltY3quXx7cgI0ROfZz5Sw3UOLQJ+VoWmwIxu9AMEZLVzFDQN93hzuzs3tNyHK6xspBGB7zGbwCg+TKi0JeqPDrXxYUpAz1cQ/MO+Da0WgvkXnvrry8NQROHejdLVOAslgr6vYthH9bKbsGyNY3H+P12kcxo9RAcVveONnZbcMyxjtF5dWblaernAgMBAAECggEAGdEHlSEPFmAr5PKqKrtoi6tYDHXdyHKHC5tZy4YV+Pp+a6gxxAiUJejx1hRqBcWSPYeKne35BM9dgn5JofgjI5SKzVsuGL6bxl3ayAOu+xXRHWM9f0t8NHoM5fdd0zC3g88dX3fb01geY2QSVtcxSJpEOpNH3twgZe6naT2pgiq1S4okpkpldJPo5GYWGKMCHSLnKGyhwS76gF8bTPLoay9Jxk70uv6BDUMlA4ICENjmsYtd3oirWwLwYMEJbSFMlyJvB7hjOjR/4RpT4FPnlSsIpuRtkCYXD4jdhxGlvpXREw97UF2wwnEUnfgiZJ2FT/MWmvGGoaV/CfboLsLZuQKBgQDTNZdJrs8dbijynHZuuRwvXvwC03GDpEJO6c1tbZ1s9wjRyOZjBbQFRjDgFeWs9/T1aNBLUrgsQL9c9nzgUziXjr1Nmu52I0Mwxi13Km/q3mT+aQfdgNdu6ojsI5apQQHnN/9yMhF6sNHg63YOpH+b+1bGRCtr1XubuLlumKKscwKBgQDOtQ2lQjMtwsqJmyiyRLiUOChtvQ5XI7B2mhKCGi8kZ+WEAbNQcmThPesVzW+puER6D4Ar4hgsh9gCeuTaOzbRfZ+RLn3Aksu2WJEzfs6UrGvm6DU1INn0z/tPYRAwPX7sxoZZGxqML/z+/yQdf2DREoPdClcDa2Lmf1KpHdB+vQKBgBXFCVHz7a8n4pqXG/HvrIMJdEpKRwH9lUQS/zSPPtGzaLpOzchZFyQQBwuh1imM6Te+VPHeldMh3VeUpGxux39/m+160adlnRBS7O7CdgSsZZZ/dusS06HAFNraFDZf1/VgJTk9BeYygX+AZYu+0tReBKSs9BjKSVJUqPBIVUQXAoGBAJcZ7J6oVMcXxHxwqoAeEhtvLcaCU9BJK36XQ/5M67ceJ72mjJC6/plUbNukMAMNyyi62gO6I9exearecRpB/OGIhjNXm99Ar59dAM9228X8gGfryLFMkWcO/fNZzb6lxXmJ6b2LPY3KqpMwqRLTAU/zy+ax30eFoWdDHYa4X6e1AoGAfa8asVGOJ8GL9dlWufEeFkDEDKO9ww5GdnpN+wqLwePWqeJhWCHad7bge6SnlylJp5aZXl1+YaBTtOskC4Whq9TP2J+dNIgxsaF5EFZQJr8Xv+lY9lu0CruYOh9nTNF9x3nubxJgaSid/7yRPfAGnsJRiknB5bsrCvgsFQFjJVs=";
|
let rsa_private_key = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCqin/jUpqM6+fgYP/oMqj9zcdHMM0mEZXLeTyixIJWP53lzJV2N2E3OP6BBpUmq2O1a9aLnTIbADBaTulTNiOnVGoNG58umBnupnbmmF8iARbDp2mTzdMMeEgLdrfXS6Y3VvazKYALP8EhEQykQVarexR78vRq7ltY3quXx7cgI0ROfZz5Sw3UOLQJ+VoWmwIxu9AMEZLVzFDQN93hzuzs3tNyHK6xspBGB7zGbwCg+TKi0JeqPDrXxYUpAz1cQ/MO+Da0WgvkXnvrry8NQROHejdLVOAslgr6vYthH9bKbsGyNY3H+P12kcxo9RAcVveONnZbcMyxjtF5dWblaernAgMBAAECggEAGdEHlSEPFmAr5PKqKrtoi6tYDHXdyHKHC5tZy4YV+Pp+a6gxxAiUJejx1hRqBcWSPYeKne35BM9dgn5JofgjI5SKzVsuGL6bxl3ayAOu+xXRHWM9f0t8NHoM5fdd0zC3g88dX3fb01geY2QSVtcxSJpEOpNH3twgZe6naT2pgiq1S4okpkpldJPo5GYWGKMCHSLnKGyhwS76gF8bTPLoay9Jxk70uv6BDUMlA4ICENjmsYtd3oirWwLwYMEJbSFMlyJvB7hjOjR/4RpT4FPnlSsIpuRtkCYXD4jdhxGlvpXREw97UF2wwnEUnfgiZJ2FT/MWmvGGoaV/CfboLsLZuQKBgQDTNZdJrs8dbijynHZuuRwvXvwC03GDpEJO6c1tbZ1s9wjRyOZjBbQFRjDgFeWs9/T1aNBLUrgsQL9c9nzgUziXjr1Nmu52I0Mwxi13Km/q3mT+aQfdgNdu6ojsI5apQQHnN/9yMhF6sNHg63YOpH+b+1bGRCtr1XubuLlumKKscwKBgQDOtQ2lQjMtwsqJmyiyRLiUOChtvQ5XI7B2mhKCGi8kZ+WEAbNQcmThPesVzW+puER6D4Ar4hgsh9gCeuTaOzbRfZ+RLn3Aksu2WJEzfs6UrGvm6DU1INn0z/tPYRAwPX7sxoZZGxqML/z+/yQdf2DREoPdClcDa2Lmf1KpHdB+vQKBgBXFCVHz7a8n4pqXG/HvrIMJdEpKRwH9lUQS/zSPPtGzaLpOzchZFyQQBwuh1imM6Te+VPHeldMh3VeUpGxux39/m+160adlnRBS7O7CdgSsZZZ/dusS06HAFNraFDZf1/VgJTk9BeYygX+AZYu+0tReBKSs9BjKSVJUqPBIVUQXAoGBAJcZ7J6oVMcXxHxwqoAeEhtvLcaCU9BJK36XQ/5M67ceJ72mjJC6/plUbNukMAMNyyi62gO6I9exearecRpB/OGIhjNXm99Ar59dAM9228X8gGfryLFMkWcO/fNZzb6lxXmJ6b2LPY3KqpMwqRLTAU/zy+ax30eFoWdDHYa4X6e1AoGAfa8asVGOJ8GL9dlWufEeFkDEDKO9ww5GdnpN+wqLwePWqeJhWCHad7bge6SnlylJp5aZXl1+YaBTtOskC4Whq9TP2J+dNIgxsaF5EFZQJr8Xv+lY9lu0CruYOh9nTNF9x3nubxJgaSid/7yRPfAGnsJRiknB5bsrCvgsFQFjJVs=";
|
||||||
let decode_content = "";
|
let decode_content = "";
|
||||||
|
|
||||||
|
|||||||
Vendored
+121
-28
@@ -1,26 +1,42 @@
|
|||||||
import cheerio from "assets://js/lib/cheerio.min.js";
|
|
||||||
import "assets://js/lib/crypto-js.js";
|
|
||||||
import "./jsencrypt.js";
|
|
||||||
import "./node-rsa.js";
|
|
||||||
import "./pako.min.js";
|
|
||||||
import 模板 from "./模板.js";
|
|
||||||
import {
|
import {
|
||||||
gbkTool
|
cheerio,
|
||||||
} from "./gbk.js";
|
模板
|
||||||
import "./json5.js";
|
} from "./drpy-core-lite.min.js";
|
||||||
import "./jinja.js";
|
|
||||||
const _jinja2 = cheerio.jinja2;
|
|
||||||
cheerio.jinja2 = function(template, obj) {
|
|
||||||
try {
|
|
||||||
return jinja.render(template, obj)
|
|
||||||
} catch (e) {
|
|
||||||
console.log("新的jinja2库渲染失败,换回原始cheerio:" + e.message);
|
|
||||||
return _jinja2(template, obj)
|
|
||||||
}
|
|
||||||
};
|
|
||||||
let vercode = typeof pdfl === "function" ? "drpy2.1" : "drpy2";
|
let vercode = typeof pdfl === "function" ? "drpy2.1" : "drpy2";
|
||||||
const VERSION = vercode + " 3.9.51beta6 20241126";
|
const VERSION = vercode + " 3.9.52beta3 20250801";
|
||||||
const UpdateInfo = [{
|
const UpdateInfo = [{
|
||||||
|
date: "20250801",
|
||||||
|
title: "drpy依赖更新,使用drpy-core-lite.min.js",
|
||||||
|
version: "3.9.52beta3 20250801",
|
||||||
|
msg: `
|
||||||
|
drpy-core.min.js 更换为更小的drpy-core-lite.min.js
|
||||||
|
|
||||||
|
`
|
||||||
|
}, {
|
||||||
|
date: "20250729",
|
||||||
|
title: "drpy更新,所有依赖打包成一个js文件",
|
||||||
|
version: "3.9.52beta2 20250729",
|
||||||
|
msg: `
|
||||||
|
1. wasm支持
|
||||||
|
2. 引入 TextEncoder、TextDecoder对象
|
||||||
|
3. 引入 WXXH 加解密库
|
||||||
|
4. 所有依赖打包成一个js
|
||||||
|
5. 增加 buildQueryString
|
||||||
|
|
||||||
|
`
|
||||||
|
}, {
|
||||||
|
date: "20250728",
|
||||||
|
title: "drpy更新,增加tab_order线路模糊排序,优化解密算法支持文件头",
|
||||||
|
version: "3.9.52beta1 20250728",
|
||||||
|
msg: `
|
||||||
|
1. 增加tab_order线路模糊排序
|
||||||
|
2. 优化解密算法支持文件头
|
||||||
|
3. wasm支持
|
||||||
|
4. 增加 removeHeader 函数可用于清除js/py文件的头信息及所有头注释
|
||||||
|
5. 引入 TextEncoder、TextDecoder对象
|
||||||
|
6. 引入 WXXH 加解密库
|
||||||
|
`
|
||||||
|
}, {
|
||||||
date: "20241126",
|
date: "20241126",
|
||||||
title: "drpy更新,优化去广告算法",
|
title: "drpy更新,优化去广告算法",
|
||||||
version: "3.9.51beta6 20241126",
|
version: "3.9.51beta6 20241126",
|
||||||
@@ -708,8 +724,7 @@ function ungzip(b64Data) {
|
|||||||
function encodeStr(input, encoding) {
|
function encodeStr(input, encoding) {
|
||||||
encoding = encoding || "gbk";
|
encoding = encoding || "gbk";
|
||||||
if (encoding.startsWith("gb")) {
|
if (encoding.startsWith("gb")) {
|
||||||
const strTool = gbkTool();
|
input = gbkTool.encode(input)
|
||||||
input = strTool.encode(input)
|
|
||||||
}
|
}
|
||||||
return input
|
return input
|
||||||
}
|
}
|
||||||
@@ -717,8 +732,7 @@ function encodeStr(input, encoding) {
|
|||||||
function decodeStr(input, encoding) {
|
function decodeStr(input, encoding) {
|
||||||
encoding = encoding || "gbk";
|
encoding = encoding || "gbk";
|
||||||
if (encoding.startsWith("gb")) {
|
if (encoding.startsWith("gb")) {
|
||||||
const strTool = gbkTool();
|
input = gbkTool.decode(input)
|
||||||
input = strTool.decode(input)
|
|
||||||
}
|
}
|
||||||
return input
|
return input
|
||||||
}
|
}
|
||||||
@@ -1351,6 +1365,24 @@ function keysToLowerCase(obj) {
|
|||||||
}, {})
|
}, {})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function buildQueryString(params) {
|
||||||
|
const queryArray = [];
|
||||||
|
for (const key in params) {
|
||||||
|
if (params.hasOwnProperty(key)) {
|
||||||
|
let value = params[key];
|
||||||
|
if (value === undefined || value === null) {
|
||||||
|
value = ""
|
||||||
|
} else {
|
||||||
|
value = value.toString()
|
||||||
|
}
|
||||||
|
const encodedKey = encodeURIComponent(key);
|
||||||
|
const encodedValue = encodeURIComponent(value);
|
||||||
|
queryArray.push(encodedKey + "=" + encodedValue)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return queryArray.join("&")
|
||||||
|
}
|
||||||
|
|
||||||
function parseQueryString(query) {
|
function parseQueryString(query) {
|
||||||
const params = {};
|
const params = {};
|
||||||
query.split("&").forEach(function(part) {
|
query.split("&").forEach(function(part) {
|
||||||
@@ -2221,7 +2253,7 @@ function detailParse(detailObj) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (p === "*") {
|
if (p === "*") {
|
||||||
vod.vod_play_from = "在线播放";
|
vod.vod_play_from = "兵哥视界";
|
||||||
vod.vod_remarks = detailUrl;
|
vod.vod_remarks = detailUrl;
|
||||||
vod.vod_actor = "没有二级,只有一级链接直接嗅探播放";
|
vod.vod_actor = "没有二级,只有一级链接直接嗅探播放";
|
||||||
vod.vod_content = MY_URL;
|
vod.vod_content = MY_URL;
|
||||||
@@ -2327,7 +2359,7 @@ function detailParse(detailObj) {
|
|||||||
}
|
}
|
||||||
console.log(JSON.stringify(playFrom))
|
console.log(JSON.stringify(playFrom))
|
||||||
} else {
|
} else {
|
||||||
playFrom = ["在线播放"]
|
playFrom = ["兵哥视界"]
|
||||||
}
|
}
|
||||||
vod.vod_play_from = playFrom.join(vod_play_from);
|
vod.vod_play_from = playFrom.join(vod_play_from);
|
||||||
let vod_play_url = "$$$";
|
let vod_play_url = "$$$";
|
||||||
@@ -2442,7 +2474,17 @@ function vodDeal(vod) {
|
|||||||
if (rule.tab_order && rule.tab_order.length > 0) {
|
if (rule.tab_order && rule.tab_order.length > 0) {
|
||||||
let tab_order = rule.tab_order;
|
let tab_order = rule.tab_order;
|
||||||
tab_ordered_list = tab_removed_list.sort((a, b) => {
|
tab_ordered_list = tab_removed_list.sort((a, b) => {
|
||||||
return (tab_order.indexOf(a) === -1 ? 9999 : tab_order.indexOf(a)) - (tab_order.indexOf(b) === -1 ? 9999 : tab_order.indexOf(b))
|
const getOrderIndex = (tabName, orderRules) => {
|
||||||
|
for (let i = 0; i < orderRules.length; i++) {
|
||||||
|
if (tabName.includes(orderRules[i])) {
|
||||||
|
return i
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 9999
|
||||||
|
};
|
||||||
|
const indexA = getOrderIndex(a, tab_order);
|
||||||
|
const indexB = getOrderIndex(b, tab_order);
|
||||||
|
return indexA - indexB
|
||||||
});
|
});
|
||||||
tab_list = tab_ordered_list
|
tab_list = tab_ordered_list
|
||||||
}
|
}
|
||||||
@@ -2574,11 +2616,62 @@ function isVideoParse(isVideoObj) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function removeHeader(content, options = {}) {
|
||||||
|
const {
|
||||||
|
mode = "header-only", fileType
|
||||||
|
} = options;
|
||||||
|
const COMMENT_CONFIG = {
|
||||||
|
".js": {
|
||||||
|
start: "/*",
|
||||||
|
end: "*/",
|
||||||
|
regex: /^\s*\/\*([\s\S]*?)\*\/\s*/,
|
||||||
|
headerRegex: /@header\(([\s\S]*?)\)/,
|
||||||
|
topCommentsRegex: /^(\s*(\/\/[^\n]*\n|\/\*[\s\S]*?\*\/)\s*)+/
|
||||||
|
},
|
||||||
|
".py": {
|
||||||
|
start: '"""',
|
||||||
|
end: '"""',
|
||||||
|
regex: /^\s*"""([\s\S]*?)"""\s*/,
|
||||||
|
headerRegex: /@header\(([\s\S]*?)\)/,
|
||||||
|
topCommentsRegex: /^(\s*(#[^\n]*\n|'''[\s\S]*?'''|"""[\s\S]*?""")\s*)+/
|
||||||
|
}
|
||||||
|
};
|
||||||
|
if (!fileType) throw new Error("fileType option is required");
|
||||||
|
const ext = fileType.startsWith(".") ? fileType : `.${fileType}`;
|
||||||
|
const config = COMMENT_CONFIG[ext];
|
||||||
|
if (!config) throw new Error(`Unsupported file type: ${ext}`);
|
||||||
|
if (mode === "top-comments") {
|
||||||
|
const match = content.match(config.topCommentsRegex);
|
||||||
|
if (match) {
|
||||||
|
return content.substring(match[0].length).trim()
|
||||||
|
}
|
||||||
|
return content.trim()
|
||||||
|
}
|
||||||
|
const match = content.match(config.regex);
|
||||||
|
if (!match) return content.trim();
|
||||||
|
let [fullComment, innerContent] = match;
|
||||||
|
if (config.headerRegex.test(innerContent)) {
|
||||||
|
innerContent = innerContent.replace(config.headerRegex, "");
|
||||||
|
const cleanedInner = innerContent.split("\n").filter(line => line.trim().length > 0).join("\n");
|
||||||
|
if (!cleanedInner.trim()) {
|
||||||
|
return content.replace(fullComment, "").trim()
|
||||||
|
} else {
|
||||||
|
const newComment = `${config.start}${cleanedInner}${config.end}`;
|
||||||
|
return content.replace(fullComment, newComment).trim()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return content.trim()
|
||||||
|
}
|
||||||
|
|
||||||
function getOriginalJs(js_code) {
|
function getOriginalJs(js_code) {
|
||||||
let current_match = /var rule|[\u4E00-\u9FA5]+|function|let |var |const |\(|\)|"|'/;
|
let current_match = /var rule|function|let |var |const|class Rule|async|this\./;
|
||||||
if (current_match.test(js_code)) {
|
if (current_match.test(js_code)) {
|
||||||
return js_code
|
return js_code
|
||||||
}
|
}
|
||||||
|
js_code = removeHeader(js_code, {
|
||||||
|
mode: "top-comments",
|
||||||
|
fileType: ".js"
|
||||||
|
});
|
||||||
let rsa_private_key = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCqin/jUpqM6+fgYP/oMqj9zcdHMM0mEZXLeTyixIJWP53lzJV2N2E3OP6BBpUmq2O1a9aLnTIbADBaTulTNiOnVGoNG58umBnupnbmmF8iARbDp2mTzdMMeEgLdrfXS6Y3VvazKYALP8EhEQykQVarexR78vRq7ltY3quXx7cgI0ROfZz5Sw3UOLQJ+VoWmwIxu9AMEZLVzFDQN93hzuzs3tNyHK6xspBGB7zGbwCg+TKi0JeqPDrXxYUpAz1cQ/MO+Da0WgvkXnvrry8NQROHejdLVOAslgr6vYthH9bKbsGyNY3H+P12kcxo9RAcVveONnZbcMyxjtF5dWblaernAgMBAAECggEAGdEHlSEPFmAr5PKqKrtoi6tYDHXdyHKHC5tZy4YV+Pp+a6gxxAiUJejx1hRqBcWSPYeKne35BM9dgn5JofgjI5SKzVsuGL6bxl3ayAOu+xXRHWM9f0t8NHoM5fdd0zC3g88dX3fb01geY2QSVtcxSJpEOpNH3twgZe6naT2pgiq1S4okpkpldJPo5GYWGKMCHSLnKGyhwS76gF8bTPLoay9Jxk70uv6BDUMlA4ICENjmsYtd3oirWwLwYMEJbSFMlyJvB7hjOjR/4RpT4FPnlSsIpuRtkCYXD4jdhxGlvpXREw97UF2wwnEUnfgiZJ2FT/MWmvGGoaV/CfboLsLZuQKBgQDTNZdJrs8dbijynHZuuRwvXvwC03GDpEJO6c1tbZ1s9wjRyOZjBbQFRjDgFeWs9/T1aNBLUrgsQL9c9nzgUziXjr1Nmu52I0Mwxi13Km/q3mT+aQfdgNdu6ojsI5apQQHnN/9yMhF6sNHg63YOpH+b+1bGRCtr1XubuLlumKKscwKBgQDOtQ2lQjMtwsqJmyiyRLiUOChtvQ5XI7B2mhKCGi8kZ+WEAbNQcmThPesVzW+puER6D4Ar4hgsh9gCeuTaOzbRfZ+RLn3Aksu2WJEzfs6UrGvm6DU1INn0z/tPYRAwPX7sxoZZGxqML/z+/yQdf2DREoPdClcDa2Lmf1KpHdB+vQKBgBXFCVHz7a8n4pqXG/HvrIMJdEpKRwH9lUQS/zSPPtGzaLpOzchZFyQQBwuh1imM6Te+VPHeldMh3VeUpGxux39/m+160adlnRBS7O7CdgSsZZZ/dusS06HAFNraFDZf1/VgJTk9BeYygX+AZYu+0tReBKSs9BjKSVJUqPBIVUQXAoGBAJcZ7J6oVMcXxHxwqoAeEhtvLcaCU9BJK36XQ/5M67ceJ72mjJC6/plUbNukMAMNyyi62gO6I9exearecRpB/OGIhjNXm99Ar59dAM9228X8gGfryLFMkWcO/fNZzb6lxXmJ6b2LPY3KqpMwqRLTAU/zy+ax30eFoWdDHYa4X6e1AoGAfa8asVGOJ8GL9dlWufEeFkDEDKO9ww5GdnpN+wqLwePWqeJhWCHad7bge6SnlylJp5aZXl1+YaBTtOskC4Whq9TP2J+dNIgxsaF5EFZQJr8Xv+lY9lu0CruYOh9nTNF9x3nubxJgaSid/7yRPfAGnsJRiknB5bsrCvgsFQFjJVs=";
|
let rsa_private_key = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCqin/jUpqM6+fgYP/oMqj9zcdHMM0mEZXLeTyixIJWP53lzJV2N2E3OP6BBpUmq2O1a9aLnTIbADBaTulTNiOnVGoNG58umBnupnbmmF8iARbDp2mTzdMMeEgLdrfXS6Y3VvazKYALP8EhEQykQVarexR78vRq7ltY3quXx7cgI0ROfZz5Sw3UOLQJ+VoWmwIxu9AMEZLVzFDQN93hzuzs3tNyHK6xspBGB7zGbwCg+TKi0JeqPDrXxYUpAz1cQ/MO+Da0WgvkXnvrry8NQROHejdLVOAslgr6vYthH9bKbsGyNY3H+P12kcxo9RAcVveONnZbcMyxjtF5dWblaernAgMBAAECggEAGdEHlSEPFmAr5PKqKrtoi6tYDHXdyHKHC5tZy4YV+Pp+a6gxxAiUJejx1hRqBcWSPYeKne35BM9dgn5JofgjI5SKzVsuGL6bxl3ayAOu+xXRHWM9f0t8NHoM5fdd0zC3g88dX3fb01geY2QSVtcxSJpEOpNH3twgZe6naT2pgiq1S4okpkpldJPo5GYWGKMCHSLnKGyhwS76gF8bTPLoay9Jxk70uv6BDUMlA4ICENjmsYtd3oirWwLwYMEJbSFMlyJvB7hjOjR/4RpT4FPnlSsIpuRtkCYXD4jdhxGlvpXREw97UF2wwnEUnfgiZJ2FT/MWmvGGoaV/CfboLsLZuQKBgQDTNZdJrs8dbijynHZuuRwvXvwC03GDpEJO6c1tbZ1s9wjRyOZjBbQFRjDgFeWs9/T1aNBLUrgsQL9c9nzgUziXjr1Nmu52I0Mwxi13Km/q3mT+aQfdgNdu6ojsI5apQQHnN/9yMhF6sNHg63YOpH+b+1bGRCtr1XubuLlumKKscwKBgQDOtQ2lQjMtwsqJmyiyRLiUOChtvQ5XI7B2mhKCGi8kZ+WEAbNQcmThPesVzW+puER6D4Ar4hgsh9gCeuTaOzbRfZ+RLn3Aksu2WJEzfs6UrGvm6DU1INn0z/tPYRAwPX7sxoZZGxqML/z+/yQdf2DREoPdClcDa2Lmf1KpHdB+vQKBgBXFCVHz7a8n4pqXG/HvrIMJdEpKRwH9lUQS/zSPPtGzaLpOzchZFyQQBwuh1imM6Te+VPHeldMh3VeUpGxux39/m+160adlnRBS7O7CdgSsZZZ/dusS06HAFNraFDZf1/VgJTk9BeYygX+AZYu+0tReBKSs9BjKSVJUqPBIVUQXAoGBAJcZ7J6oVMcXxHxwqoAeEhtvLcaCU9BJK36XQ/5M67ceJ72mjJC6/plUbNukMAMNyyi62gO6I9exearecRpB/OGIhjNXm99Ar59dAM9228X8gGfryLFMkWcO/fNZzb6lxXmJ6b2LPY3KqpMwqRLTAU/zy+ax30eFoWdDHYa4X6e1AoGAfa8asVGOJ8GL9dlWufEeFkDEDKO9ww5GdnpN+wqLwePWqeJhWCHad7bge6SnlylJp5aZXl1+YaBTtOskC4Whq9TP2J+dNIgxsaF5EFZQJr8Xv+lY9lu0CruYOh9nTNF9x3nubxJgaSid/7yRPfAGnsJRiknB5bsrCvgsFQFjJVs=";
|
||||||
let decode_content = "";
|
let decode_content = "";
|
||||||
|
|
||||||
|
|||||||
-607
@@ -1,607 +0,0 @@
|
|||||||
/*!
|
|
||||||
* Jinja Templating for JavaScript v0.1.8
|
|
||||||
* https://github.com/sstur/jinja-js
|
|
||||||
*
|
|
||||||
* This is a slimmed-down Jinja2 implementation [http://jinja.pocoo.org/]
|
|
||||||
*
|
|
||||||
* In the interest of simplicity, it deviates from Jinja2 as follows:
|
|
||||||
* - Line statements, cycle, super, macro tags and block nesting are not implemented
|
|
||||||
* - auto escapes html by default (the filter is "html" not "e")
|
|
||||||
* - Only "html" and "safe" filters are built in
|
|
||||||
* - Filters are not valid in expressions; `foo|length > 1` is not valid
|
|
||||||
* - Expression Tests (`if num is odd`) not implemented (`is` translates to `==` and `isnot` to `!=`)
|
|
||||||
*
|
|
||||||
* Notes:
|
|
||||||
* - if property is not found, but method '_get' exists, it will be called with the property name (and cached)
|
|
||||||
* - `{% for n in obj %}` iterates the object's keys; get the value with `{% for n in obj %}{{ obj[n] }}{% endfor %}`
|
|
||||||
* - subscript notation `a[0]` takes literals or simple variables but not `a[item.key]`
|
|
||||||
* - `.2` is not a valid number literal; use `0.2`
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/*global require, exports, module, define */
|
|
||||||
|
|
||||||
(function(global, factory) {
|
|
||||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
|
||||||
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
|
||||||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.jinja = {}));
|
|
||||||
})(this, (function(jinja) {
|
|
||||||
"use strict";
|
|
||||||
var STRINGS = /'(\\.|[^'])*'|"(\\.|[^"'"])*"/g;
|
|
||||||
var IDENTS_AND_NUMS = /([$_a-z][$\w]*)|([+-]?\d+(\.\d+)?)/g;
|
|
||||||
var NUMBER = /^[+-]?\d+(\.\d+)?$/;
|
|
||||||
//non-primitive literals (array and object literals)
|
|
||||||
var NON_PRIMITIVES = /\[[@#~](,[@#~])*\]|\[\]|\{([@i]:[@#~])(,[@i]:[@#~])*\}|\{\}/g;
|
|
||||||
//bare identifiers such as variables and in object literals: {foo: 'value'}
|
|
||||||
var IDENTIFIERS = /[$_a-z][$\w]*/ig;
|
|
||||||
var VARIABLES = /i(\.i|\[[@#i]\])*/g;
|
|
||||||
var ACCESSOR = /(\.i|\[[@#i]\])/g;
|
|
||||||
var OPERATORS = /(===?|!==?|>=?|<=?|&&|\|\||[+\-\*\/%])/g;
|
|
||||||
//extended (english) operators
|
|
||||||
var EOPS = /(^|[^$\w])(and|or|not|is|isnot)([^$\w]|$)/g;
|
|
||||||
var LEADING_SPACE = /^\s+/;
|
|
||||||
var TRAILING_SPACE = /\s+$/;
|
|
||||||
|
|
||||||
var START_TOKEN = /\{\{\{|\{\{|\{%|\{#/;
|
|
||||||
var TAGS = {
|
|
||||||
'{{{': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}\}/,
|
|
||||||
'{{': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}/,
|
|
||||||
'{%': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?%\}/,
|
|
||||||
'{#': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?#\}/
|
|
||||||
};
|
|
||||||
|
|
||||||
var delimeters = {
|
|
||||||
'{%': 'directive',
|
|
||||||
'{{': 'output',
|
|
||||||
'{#': 'comment'
|
|
||||||
};
|
|
||||||
|
|
||||||
var operators = {
|
|
||||||
and: '&&',
|
|
||||||
or: '||',
|
|
||||||
not: '!',
|
|
||||||
is: '==',
|
|
||||||
isnot: '!='
|
|
||||||
};
|
|
||||||
|
|
||||||
var constants = {
|
|
||||||
'true': true,
|
|
||||||
'false': false,
|
|
||||||
'null': null
|
|
||||||
};
|
|
||||||
|
|
||||||
function Parser() {
|
|
||||||
this.nest = [];
|
|
||||||
this.compiled = [];
|
|
||||||
this.childBlocks = 0;
|
|
||||||
this.parentBlocks = 0;
|
|
||||||
this.isSilent = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
Parser.prototype.push = function(line) {
|
|
||||||
if (!this.isSilent) {
|
|
||||||
this.compiled.push(line);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.parse = function(src) {
|
|
||||||
this.tokenize(src);
|
|
||||||
return this.compiled;
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.tokenize = function(src) {
|
|
||||||
var lastEnd = 0,
|
|
||||||
parser = this,
|
|
||||||
trimLeading = false;
|
|
||||||
matchAll(src, START_TOKEN, function(open, index, src) {
|
|
||||||
//here we match the rest of the src against a regex for this tag
|
|
||||||
var match = src.slice(index + open.length).match(TAGS[open]);
|
|
||||||
match = (match ? match[0] : '');
|
|
||||||
//here we sub out strings so we don't get false matches
|
|
||||||
var simplified = match.replace(STRINGS, '@');
|
|
||||||
//if we don't have a close tag or there is a nested open tag
|
|
||||||
if (!match || ~simplified.indexOf(open)) {
|
|
||||||
return index + 1;
|
|
||||||
}
|
|
||||||
var inner = match.slice(0, 0 - open.length);
|
|
||||||
//check for white-space collapse syntax
|
|
||||||
if (inner.charAt(0) === '-') var wsCollapseLeft = true;
|
|
||||||
if (inner.slice(-1) === '-') var wsCollapseRight = true;
|
|
||||||
inner = inner.replace(/^-|-$/g, '').trim();
|
|
||||||
//if we're in raw mode and we are not looking at an "endraw" tag, move along
|
|
||||||
if (parser.rawMode && (open + inner) !== '{%endraw') {
|
|
||||||
return index + 1;
|
|
||||||
}
|
|
||||||
var text = src.slice(lastEnd, index);
|
|
||||||
lastEnd = index + open.length + match.length;
|
|
||||||
if (trimLeading) text = trimLeft(text);
|
|
||||||
if (wsCollapseLeft) text = trimRight(text);
|
|
||||||
if (wsCollapseRight) trimLeading = true;
|
|
||||||
if (open === '{{{') {
|
|
||||||
//liquid-style: make {{{x}}} => {{x|safe}}
|
|
||||||
open = '{{';
|
|
||||||
inner += '|safe';
|
|
||||||
}
|
|
||||||
parser.textHandler(text);
|
|
||||||
parser.tokenHandler(open, inner);
|
|
||||||
});
|
|
||||||
var text = src.slice(lastEnd);
|
|
||||||
if (trimLeading) text = trimLeft(text);
|
|
||||||
this.textHandler(text);
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.textHandler = function(text) {
|
|
||||||
this.push('write(' + JSON.stringify(text) + ');');
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.tokenHandler = function(open, inner) {
|
|
||||||
var type = delimeters[open];
|
|
||||||
if (type === 'directive') {
|
|
||||||
this.compileTag(inner);
|
|
||||||
} else if (type === 'output') {
|
|
||||||
var extracted = this.extractEnt(inner, STRINGS, '@');
|
|
||||||
//replace || operators with ~
|
|
||||||
extracted.src = extracted.src.replace(/\|\|/g, '~').split('|');
|
|
||||||
//put back || operators
|
|
||||||
extracted.src = extracted.src.map(function(part) {
|
|
||||||
return part.split('~').join('||');
|
|
||||||
});
|
|
||||||
var parts = this.injectEnt(extracted, '@');
|
|
||||||
if (parts.length > 1) {
|
|
||||||
var filters = parts.slice(1).map(this.parseFilter.bind(this));
|
|
||||||
this.push('filter(' + this.parseExpr(parts[0]) + ',' + filters.join(',') + ');');
|
|
||||||
} else {
|
|
||||||
this.push('filter(' + this.parseExpr(parts[0]) + ');');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.compileTag = function(str) {
|
|
||||||
var directive = str.split(' ')[0];
|
|
||||||
var handler = tagHandlers[directive];
|
|
||||||
if (!handler) {
|
|
||||||
throw new Error('Invalid tag: ' + str);
|
|
||||||
}
|
|
||||||
handler.call(this, str.slice(directive.length).trim());
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.parseFilter = function(src) {
|
|
||||||
src = src.trim();
|
|
||||||
var match = src.match(/[:(]/);
|
|
||||||
var i = match ? match.index : -1;
|
|
||||||
if (i < 0) return JSON.stringify([src]);
|
|
||||||
var name = src.slice(0, i);
|
|
||||||
var args = src.charAt(i) === ':' ? src.slice(i + 1) : src.slice(i + 1, -1);
|
|
||||||
args = this.parseExpr(args, {
|
|
||||||
terms: true
|
|
||||||
});
|
|
||||||
return '[' + JSON.stringify(name) + ',' + args + ']';
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.extractEnt = function(src, regex, placeholder) {
|
|
||||||
var subs = [],
|
|
||||||
isFunc = typeof placeholder == 'function';
|
|
||||||
src = src.replace(regex, function(str) {
|
|
||||||
var replacement = isFunc ? placeholder(str) : placeholder;
|
|
||||||
if (replacement) {
|
|
||||||
subs.push(str);
|
|
||||||
return replacement;
|
|
||||||
}
|
|
||||||
return str;
|
|
||||||
});
|
|
||||||
return {
|
|
||||||
src: src,
|
|
||||||
subs: subs
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.injectEnt = function(extracted, placeholder) {
|
|
||||||
var src = extracted.src,
|
|
||||||
subs = extracted.subs,
|
|
||||||
isArr = Array.isArray(src);
|
|
||||||
var arr = (isArr) ? src : [src];
|
|
||||||
var re = new RegExp('[' + placeholder + ']', 'g'),
|
|
||||||
i = 0;
|
|
||||||
arr.forEach(function(src, index) {
|
|
||||||
arr[index] = src.replace(re, function() {
|
|
||||||
return subs[i++];
|
|
||||||
});
|
|
||||||
});
|
|
||||||
return isArr ? arr : arr[0];
|
|
||||||
};
|
|
||||||
|
|
||||||
//replace complex literals without mistaking subscript notation with array literals
|
|
||||||
Parser.prototype.replaceComplex = function(s) {
|
|
||||||
var parsed = this.extractEnt(s, /i(\.i|\[[@#i]\])+/g, 'v');
|
|
||||||
parsed.src = parsed.src.replace(NON_PRIMITIVES, '~');
|
|
||||||
return this.injectEnt(parsed, 'v');
|
|
||||||
};
|
|
||||||
|
|
||||||
//parse expression containing literals (including objects/arrays) and variables (including dot and subscript notation)
|
|
||||||
//valid expressions: `a + 1 > b.c or c == null`, `a and b[1] != c`, `(a < b) or (c < d and e)`, 'a || [1]`
|
|
||||||
Parser.prototype.parseExpr = function(src, opts) {
|
|
||||||
opts = opts || {};
|
|
||||||
//extract string literals -> @
|
|
||||||
var parsed1 = this.extractEnt(src, STRINGS, '@');
|
|
||||||
//note: this will catch {not: 1} and a.is; could we replace temporarily and then check adjacent chars?
|
|
||||||
parsed1.src = parsed1.src.replace(EOPS, function(s, before, op, after) {
|
|
||||||
return (op in operators) ? before + operators[op] + after : s;
|
|
||||||
});
|
|
||||||
//sub out non-string literals (numbers/true/false/null) -> #
|
|
||||||
// the distinction is necessary because @ can be object identifiers, # cannot
|
|
||||||
var parsed2 = this.extractEnt(parsed1.src, IDENTS_AND_NUMS, function(s) {
|
|
||||||
return (s in constants || NUMBER.test(s)) ? '#' : null;
|
|
||||||
});
|
|
||||||
//sub out object/variable identifiers -> i
|
|
||||||
var parsed3 = this.extractEnt(parsed2.src, IDENTIFIERS, 'i');
|
|
||||||
//remove white-space
|
|
||||||
parsed3.src = parsed3.src.replace(/\s+/g, '');
|
|
||||||
|
|
||||||
//the rest of this is simply to boil the expression down and check validity
|
|
||||||
var simplified = parsed3.src;
|
|
||||||
//sub out complex literals (objects/arrays) -> ~
|
|
||||||
// the distinction is necessary because @ and # can be subscripts but ~ cannot
|
|
||||||
while (simplified !== (simplified = this.replaceComplex(simplified)));
|
|
||||||
//now @ represents strings, # represents other primitives and ~ represents non-primitives
|
|
||||||
//replace complex variables (those with dot/subscript accessors) -> v
|
|
||||||
while (simplified !== (simplified = simplified.replace(/i(\.i|\[[@#i]\])+/, 'v')));
|
|
||||||
//empty subscript or complex variables in subscript, are not permitted
|
|
||||||
simplified = simplified.replace(/[iv]\[v?\]/g, 'x');
|
|
||||||
//sub in "i" for @ and # and ~ and v (now "i" represents all literals, variables and identifiers)
|
|
||||||
simplified = simplified.replace(/[@#~v]/g, 'i');
|
|
||||||
//sub out operators
|
|
||||||
simplified = simplified.replace(OPERATORS, '%');
|
|
||||||
//allow 'not' unary operator
|
|
||||||
simplified = simplified.replace(/!+[i]/g, 'i');
|
|
||||||
var terms = opts.terms ? simplified.split(',') : [simplified];
|
|
||||||
terms.forEach(function(term) {
|
|
||||||
//simplify logical grouping
|
|
||||||
while (term !== (term = term.replace(/\(i(%i)*\)/g, 'i')));
|
|
||||||
if (!term.match(/^i(%i)*/)) {
|
|
||||||
throw new Error('Invalid expression: ' + src + " " + term);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
parsed3.src = parsed3.src.replace(VARIABLES, this.parseVar.bind(this));
|
|
||||||
parsed2.src = this.injectEnt(parsed3, 'i');
|
|
||||||
parsed1.src = this.injectEnt(parsed2, '#');
|
|
||||||
return this.injectEnt(parsed1, '@');
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.parseVar = function(src) {
|
|
||||||
var args = Array.prototype.slice.call(arguments);
|
|
||||||
var str = args.pop(),
|
|
||||||
index = args.pop();
|
|
||||||
//quote bare object identifiers (might be a reserved word like {while: 1})
|
|
||||||
if (src === 'i' && str.charAt(index + 1) === ':') {
|
|
||||||
return '"i"';
|
|
||||||
}
|
|
||||||
var parts = ['"i"'];
|
|
||||||
src.replace(ACCESSOR, function(part) {
|
|
||||||
if (part === '.i') {
|
|
||||||
parts.push('"i"');
|
|
||||||
} else if (part === '[i]') {
|
|
||||||
parts.push('get("i")');
|
|
||||||
} else {
|
|
||||||
parts.push(part.slice(1, -1));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return 'get(' + parts.join(',') + ')';
|
|
||||||
};
|
|
||||||
|
|
||||||
//escapes a name to be used as a javascript identifier
|
|
||||||
Parser.prototype.escName = function(str) {
|
|
||||||
return str.replace(/\W/g, function(s) {
|
|
||||||
return '$' + s.charCodeAt(0).toString(16);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.parseQuoted = function(str) {
|
|
||||||
if (str.charAt(0) === "'") {
|
|
||||||
str = str.slice(1, -1).replace(/\\.|"/, function(s) {
|
|
||||||
if (s === "\\'") return "'";
|
|
||||||
return s.charAt(0) === '\\' ? s : ('\\' + s);
|
|
||||||
});
|
|
||||||
str = '"' + str + '"';
|
|
||||||
}
|
|
||||||
//todo: try/catch or deal with invalid characters (linebreaks, control characters)
|
|
||||||
return JSON.parse(str);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
//the context 'this' inside tagHandlers is the parser instance
|
|
||||||
var tagHandlers = {
|
|
||||||
'if': function(expr) {
|
|
||||||
this.push('if (' + this.parseExpr(expr) + ') {');
|
|
||||||
this.nest.unshift('if');
|
|
||||||
},
|
|
||||||
'else': function() {
|
|
||||||
if (this.nest[0] === 'for') {
|
|
||||||
this.push('}, function() {');
|
|
||||||
} else {
|
|
||||||
this.push('} else {');
|
|
||||||
}
|
|
||||||
},
|
|
||||||
'elseif': function(expr) {
|
|
||||||
this.push('} else if (' + this.parseExpr(expr) + ') {');
|
|
||||||
},
|
|
||||||
'endif': function() {
|
|
||||||
this.nest.shift();
|
|
||||||
this.push('}');
|
|
||||||
},
|
|
||||||
'for': function(str) {
|
|
||||||
var i = str.indexOf(' in ');
|
|
||||||
var name = str.slice(0, i).trim();
|
|
||||||
var expr = str.slice(i + 4).trim();
|
|
||||||
this.push('each(' + this.parseExpr(expr) + ',' + JSON.stringify(name) + ',function() {');
|
|
||||||
this.nest.unshift('for');
|
|
||||||
},
|
|
||||||
'endfor': function() {
|
|
||||||
this.nest.shift();
|
|
||||||
this.push('});');
|
|
||||||
},
|
|
||||||
'raw': function() {
|
|
||||||
this.rawMode = true;
|
|
||||||
},
|
|
||||||
'endraw': function() {
|
|
||||||
this.rawMode = false;
|
|
||||||
},
|
|
||||||
'set': function(stmt) {
|
|
||||||
var i = stmt.indexOf('=');
|
|
||||||
var name = stmt.slice(0, i).trim();
|
|
||||||
var expr = stmt.slice(i + 1).trim();
|
|
||||||
this.push('set(' + JSON.stringify(name) + ',' + this.parseExpr(expr) + ');');
|
|
||||||
},
|
|
||||||
'block': function(name) {
|
|
||||||
if (this.isParent) {
|
|
||||||
++this.parentBlocks;
|
|
||||||
var blockName = 'block_' + (this.escName(name) || this.parentBlocks);
|
|
||||||
this.push('block(typeof ' + blockName + ' == "function" ? ' + blockName + ' : function() {');
|
|
||||||
} else if (this.hasParent) {
|
|
||||||
this.isSilent = false;
|
|
||||||
++this.childBlocks;
|
|
||||||
blockName = 'block_' + (this.escName(name) || this.childBlocks);
|
|
||||||
this.push('function ' + blockName + '() {');
|
|
||||||
}
|
|
||||||
this.nest.unshift('block');
|
|
||||||
},
|
|
||||||
'endblock': function() {
|
|
||||||
this.nest.shift();
|
|
||||||
if (this.isParent) {
|
|
||||||
this.push('});');
|
|
||||||
} else if (this.hasParent) {
|
|
||||||
this.push('}');
|
|
||||||
this.isSilent = true;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
'extends': function(name) {
|
|
||||||
name = this.parseQuoted(name);
|
|
||||||
var parentSrc = this.readTemplateFile(name);
|
|
||||||
this.isParent = true;
|
|
||||||
this.tokenize(parentSrc);
|
|
||||||
this.isParent = false;
|
|
||||||
this.hasParent = true;
|
|
||||||
//silence output until we enter a child block
|
|
||||||
this.isSilent = true;
|
|
||||||
},
|
|
||||||
'include': function(name) {
|
|
||||||
name = this.parseQuoted(name);
|
|
||||||
var incSrc = this.readTemplateFile(name);
|
|
||||||
this.isInclude = true;
|
|
||||||
this.tokenize(incSrc);
|
|
||||||
this.isInclude = false;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
//liquid style
|
|
||||||
tagHandlers.assign = tagHandlers.set;
|
|
||||||
//python/django style
|
|
||||||
tagHandlers.elif = tagHandlers.elseif;
|
|
||||||
|
|
||||||
var getRuntime = function runtime(data, opts) {
|
|
||||||
var defaults = {
|
|
||||||
autoEscape: 'toJson'
|
|
||||||
};
|
|
||||||
var _toString = Object.prototype.toString;
|
|
||||||
var _hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
||||||
var getKeys = Object.keys || function(obj) {
|
|
||||||
var keys = [];
|
|
||||||
for (var n in obj)
|
|
||||||
if (_hasOwnProperty.call(obj, n)) keys.push(n);
|
|
||||||
return keys;
|
|
||||||
};
|
|
||||||
var isArray = Array.isArray || function(obj) {
|
|
||||||
return _toString.call(obj) === '[object Array]';
|
|
||||||
};
|
|
||||||
var create = Object.create || function(obj) {
|
|
||||||
function F() {}
|
|
||||||
|
|
||||||
F.prototype = obj;
|
|
||||||
return new F();
|
|
||||||
};
|
|
||||||
var toString = function(val) {
|
|
||||||
if (val == null) return '';
|
|
||||||
return (typeof val.toString == 'function') ? val.toString() : _toString.call(val);
|
|
||||||
};
|
|
||||||
var extend = function(dest, src) {
|
|
||||||
var keys = getKeys(src);
|
|
||||||
for (var i = 0, len = keys.length; i < len; i++) {
|
|
||||||
var key = keys[i];
|
|
||||||
dest[key] = src[key];
|
|
||||||
}
|
|
||||||
return dest;
|
|
||||||
};
|
|
||||||
//get a value, lexically, starting in current context; a.b -> get("a","b")
|
|
||||||
var get = function() {
|
|
||||||
var val, n = arguments[0],
|
|
||||||
c = stack.length;
|
|
||||||
while (c--) {
|
|
||||||
val = stack[c][n];
|
|
||||||
if (typeof val != 'undefined') break;
|
|
||||||
}
|
|
||||||
for (var i = 1, len = arguments.length; i < len; i++) {
|
|
||||||
if (val == null) continue;
|
|
||||||
n = arguments[i];
|
|
||||||
val = (_hasOwnProperty.call(val, n)) ? val[n] : (typeof val._get == 'function' ? (val[n] = val._get(n)) : null);
|
|
||||||
}
|
|
||||||
return (val == null) ? '' : val;
|
|
||||||
};
|
|
||||||
var set = function(n, val) {
|
|
||||||
stack[stack.length - 1][n] = val;
|
|
||||||
};
|
|
||||||
var push = function(ctx) {
|
|
||||||
stack.push(ctx || {});
|
|
||||||
};
|
|
||||||
var pop = function() {
|
|
||||||
stack.pop();
|
|
||||||
};
|
|
||||||
var write = function(str) {
|
|
||||||
output.push(str);
|
|
||||||
};
|
|
||||||
var filter = function(val) {
|
|
||||||
for (var i = 1, len = arguments.length; i < len; i++) {
|
|
||||||
var arr = arguments[i],
|
|
||||||
name = arr[0],
|
|
||||||
filter = filters[name];
|
|
||||||
if (filter) {
|
|
||||||
arr[0] = val;
|
|
||||||
//now arr looks like [val, arg1, arg2]
|
|
||||||
val = filter.apply(data, arr);
|
|
||||||
} else {
|
|
||||||
throw new Error('Invalid filter: ' + name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (opts.autoEscape && name !== opts.autoEscape && name !== 'safe') {
|
|
||||||
//auto escape if not explicitly safe or already escaped
|
|
||||||
val = filters[opts.autoEscape].call(data, val);
|
|
||||||
}
|
|
||||||
output.push(val);
|
|
||||||
};
|
|
||||||
var each = function(obj, loopvar, fn1, fn2) {
|
|
||||||
if (obj == null) return;
|
|
||||||
var arr = isArray(obj) ? obj : getKeys(obj),
|
|
||||||
len = arr.length;
|
|
||||||
var ctx = {
|
|
||||||
loop: {
|
|
||||||
length: len,
|
|
||||||
first: arr[0],
|
|
||||||
last: arr[len - 1]
|
|
||||||
}
|
|
||||||
};
|
|
||||||
push(ctx);
|
|
||||||
for (var i = 0; i < len; i++) {
|
|
||||||
extend(ctx.loop, {
|
|
||||||
index: i + 1,
|
|
||||||
index0: i
|
|
||||||
});
|
|
||||||
fn1(ctx[loopvar] = arr[i]);
|
|
||||||
}
|
|
||||||
if (len === 0 && fn2) fn2();
|
|
||||||
pop();
|
|
||||||
};
|
|
||||||
var block = function(fn) {
|
|
||||||
push();
|
|
||||||
fn();
|
|
||||||
pop();
|
|
||||||
};
|
|
||||||
var render = function() {
|
|
||||||
return output.join('');
|
|
||||||
};
|
|
||||||
data = data || {};
|
|
||||||
opts = extend(defaults, opts || {});
|
|
||||||
var filters = extend({
|
|
||||||
html: function(val) {
|
|
||||||
return toString(val)
|
|
||||||
.split('&').join('&')
|
|
||||||
.split('<').join('<')
|
|
||||||
.split('>').join('>')
|
|
||||||
.split('"').join('"');
|
|
||||||
},
|
|
||||||
safe: function(val) {
|
|
||||||
return val;
|
|
||||||
},
|
|
||||||
toJson: function(val) {
|
|
||||||
if (typeof val === 'object') {
|
|
||||||
return JSON.stringify(val);
|
|
||||||
}
|
|
||||||
return toString(val);
|
|
||||||
}
|
|
||||||
}, opts.filters || {});
|
|
||||||
var stack = [create(data || {})],
|
|
||||||
output = [];
|
|
||||||
return {
|
|
||||||
get: get,
|
|
||||||
set: set,
|
|
||||||
push: push,
|
|
||||||
pop: pop,
|
|
||||||
write: write,
|
|
||||||
filter: filter,
|
|
||||||
each: each,
|
|
||||||
block: block,
|
|
||||||
render: render
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
var runtime;
|
|
||||||
|
|
||||||
jinja.compile = function(markup, opts) {
|
|
||||||
opts = opts || {};
|
|
||||||
var parser = new Parser();
|
|
||||||
parser.readTemplateFile = this.readTemplateFile;
|
|
||||||
var code = [];
|
|
||||||
code.push('function render($) {');
|
|
||||||
code.push('var get = $.get, set = $.set, push = $.push, pop = $.pop, write = $.write, filter = $.filter, each = $.each, block = $.block;');
|
|
||||||
code.push.apply(code, parser.parse(markup));
|
|
||||||
code.push('return $.render();');
|
|
||||||
code.push('}');
|
|
||||||
code = code.join('\n');
|
|
||||||
if (opts.runtime === false) {
|
|
||||||
var fn = new Function('data', 'options', 'return (' + code + ')(runtime(data, options))');
|
|
||||||
} else {
|
|
||||||
runtime = runtime || (runtime = getRuntime.toString());
|
|
||||||
fn = new Function('data', 'options', 'return (' + code + ')((' + runtime + ')(data, options))');
|
|
||||||
}
|
|
||||||
return {
|
|
||||||
render: fn
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
jinja.render = function(markup, data, opts) {
|
|
||||||
var tmpl = jinja.compile(markup);
|
|
||||||
return tmpl.render(data, opts);
|
|
||||||
};
|
|
||||||
|
|
||||||
jinja.templateFiles = [];
|
|
||||||
|
|
||||||
jinja.readTemplateFile = function(name) {
|
|
||||||
var templateFiles = this.templateFiles || [];
|
|
||||||
var templateFile = templateFiles[name];
|
|
||||||
if (templateFile == null) {
|
|
||||||
throw new Error('Template file not found: ' + name);
|
|
||||||
}
|
|
||||||
return templateFile;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Helpers
|
|
||||||
*/
|
|
||||||
|
|
||||||
function trimLeft(str) {
|
|
||||||
return str.replace(LEADING_SPACE, '');
|
|
||||||
}
|
|
||||||
|
|
||||||
function trimRight(str) {
|
|
||||||
return str.replace(TRAILING_SPACE, '');
|
|
||||||
}
|
|
||||||
|
|
||||||
function matchAll(str, reg, fn) {
|
|
||||||
//copy as global
|
|
||||||
reg = new RegExp(reg.source, 'g' + (reg.ignoreCase ? 'i' : '') + (reg.multiline ? 'm' : ''));
|
|
||||||
var match;
|
|
||||||
while ((match = reg.exec(str))) {
|
|
||||||
var result = fn(match[0], match.index, str);
|
|
||||||
if (typeof result == 'number') {
|
|
||||||
reg.lastIndex = result;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
@@ -1,360 +0,0 @@
|
|||||||
/*
|
|
||||||
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
|
||||||
* This devtool is neither made for production nor for readable output files.
|
|
||||||
* It uses "eval()" calls to create a separate source file in the browser devtools.
|
|
||||||
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
||||||
* or disable the default devtool with "devtool: false".
|
|
||||||
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
||||||
*/
|
|
||||||
(function webpackUniversalModuleDefinition(root, factory) {
|
|
||||||
if (typeof exports === 'object' && typeof module === 'object') {
|
|
||||||
// CommonJS
|
|
||||||
module.exports = exports = factory();
|
|
||||||
} else if (typeof define === 'function' && define.amd) {
|
|
||||||
// AMD
|
|
||||||
define([], factory);
|
|
||||||
} else {
|
|
||||||
// Global (browser)
|
|
||||||
globalThis.JSEncrypt = factory();
|
|
||||||
}
|
|
||||||
})(this, () => {
|
|
||||||
return /******/ (() => { // webpackBootstrap
|
|
||||||
/******/
|
|
||||||
var __webpack_modules__ = ({
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/JSEncrypt.js":
|
|
||||||
/*!**************************!*\
|
|
||||||
!*** ./lib/JSEncrypt.js ***!
|
|
||||||
\**************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncrypt\": () => (/* binding */ JSEncrypt)\n/* harmony export */ });\n/* harmony import */ var _lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/jsbn/base64 */ \"./lib/lib/jsbn/base64.js\");\n/* harmony import */ var _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./JSEncryptRSAKey */ \"./lib/JSEncryptRSAKey.js\");\n/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"./node_modules/process/browser.js\");\nvar _a;\n\n\nvar version = typeof process !== 'undefined'\n ? (_a = process.env) === null || _a === void 0 ? void 0 : \"3.3.2\"\n : undefined;\n/**\n *\n * @param {Object} [options = {}] - An object to customize JSEncrypt behaviour\n * possible parameters are:\n * - default_key_size {number} default: 1024 the key size in bit\n * - default_public_exponent {string} default: '010001' the hexadecimal representation of the public exponent\n * - log {boolean} default: false whether log warn/error or not\n * @constructor\n */\nvar JSEncrypt = /** @class */ (function () {\n function JSEncrypt(options) {\n if (options === void 0) { options = {}; }\n options = options || {};\n this.default_key_size = options.default_key_size\n ? parseInt(options.default_key_size, 10)\n : 1024;\n this.default_public_exponent = options.default_public_exponent || \"010001\"; // 65537 default openssl public exponent for rsa key type\n this.log = options.log || false;\n // The private and public key.\n this.key = null;\n }\n /**\n * Method to set the rsa key parameter (one method is enough to set both the public\n * and the private key, since the private key contains the public key paramenters)\n * Log a warning if logs are enabled\n * @param {Object|string} key the pem encoded string or an object (with or without header/footer)\n * @public\n */\n JSEncrypt.prototype.setKey = function (key) {\n if (this.log && this.key) {\n console.warn(\"A key was already set, overriding existing.\");\n }\n this.key = new _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__.JSEncryptRSAKey(key);\n };\n /**\n * Proxy method for setKey, for api compatibility\n * @see setKey\n * @public\n */\n JSEncrypt.prototype.setPrivateKey = function (privkey) {\n // Create the key.\n this.setKey(privkey);\n };\n /**\n * Proxy method for setKey, for api compatibility\n * @see setKey\n * @public\n */\n JSEncrypt.prototype.setPublicKey = function (pubkey) {\n // Sets the public key.\n this.setKey(pubkey);\n };\n /**\n * Proxy method for RSAKey object's decrypt, decrypt the string using the private\n * components of the rsa key object. Note that if the object was not set will be created\n * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\n * @param {string} str base64 encoded crypted string to decrypt\n * @return {string} the decrypted string\n * @public\n */\n JSEncrypt.prototype.decrypt = function (str) {\n // Return the decrypted string.\n try {\n return this.getKey().decrypt((0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.b64tohex)(str));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's encrypt, encrypt the string using the public\n * components of the rsa key object. Note that if the object was not set will be created\n * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\n * @param {string} str the string to encrypt\n * @return {string} the encrypted string encoded in base64\n * @public\n */\n JSEncrypt.prototype.encrypt = function (str) {\n // Return the encrypted string.\n try {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getKey().encrypt(str));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's sign.\n * @param {string} str the string to sign\n * @param {function} digestMethod hash method\n * @param {string} digestName the name of the hash algorithm\n * @return {string} the signature encoded in base64\n * @public\n */\n JSEncrypt.prototype.sign = function (str, digestMethod, digestName) {\n // return the RSA signature of 'str' in 'hex' format.\n try {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getKey().sign(str, digestMethod, digestName));\n }\n catch (ex) {\n return false;\n }\n };\n
Line truncated
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/JSEncryptRSAKey.js":
|
|
||||||
/*!********************************!*\
|
|
||||||
!*** ./lib/JSEncryptRSAKey.js ***!
|
|
||||||
\********************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncryptRSAKey\": () => (/* binding */ JSEncryptRSAKey)\n/* harmony export */ });\n/* harmony import */ var _lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/jsbn/base64 */ \"./lib/lib/jsbn/base64.js\");\n/* harmony import */ var _lib_asn1js_hex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/asn1js/hex */ \"./lib/lib/asn1js/hex.js\");\n/* harmony import */ var _lib_asn1js_base64__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/asn1js/base64 */ \"./lib/lib/asn1js/base64.js\");\n/* harmony import */ var _lib_asn1js_asn1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/asn1js/asn1 */ \"./lib/lib/asn1js/asn1.js\");\n/* harmony import */ var _lib_jsbn_rsa__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lib/jsbn/rsa */ \"./lib/lib/jsbn/rsa.js\");\n/* harmony import */ var _lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./lib/jsbn/jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./lib/jsrsasign/asn1-1.0 */ \"./lib/lib/jsrsasign/asn1-1.0.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n/**\n * Create a new JSEncryptRSAKey that extends Tom Wu's RSA key object.\n * This object is just a decorator for parsing the key parameter\n * @param {string|Object} key - The key in string format, or an object containing\n * the parameters needed to build a RSAKey object.\n * @constructor\n */\nvar JSEncryptRSAKey = /** @class */ (function (_super) {\n __extends(JSEncryptRSAKey, _super);\n function JSEncryptRSAKey(key) {\n var _this = _super.call(this) || this;\n // Call the super constructor.\n // RSAKey.call(this);\n // If a key key was provided.\n if (key) {\n // If this is a string...\n if (typeof key === \"string\") {\n _this.parseKey(key);\n }\n else if (JSEncryptRSAKey.hasPrivateKeyProperty(key) ||\n JSEncryptRSAKey.hasPublicKeyProperty(key)) {\n // Set the values for the key.\n _this.parsePropertiesFrom(key);\n }\n }\n return _this;\n }\n /**\n * Method to parse a pem encoded string containing both a public or private key.\n * The method will translate the pem encoded string in a der encoded string and\n * will parse private key and public key parameters. This method accepts public key\n * in the rsaencryption pkcs #1 format (oid: 1.2.840.113549.1.1.1).\n *\n * @todo Check how many rsa formats use the same format of pkcs #1.\n *\n * The format is defined as:\n * PublicKeyInfo ::= SEQUENCE {\n * algorithm AlgorithmIdentifier,\n * PublicKey BIT STRING\n * }\n * Where AlgorithmIdentifier is:\n * AlgorithmIdentifier ::= SEQUENCE {\n * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm\n * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1)\n * }\n * and PublicKey is a SEQUENCE encapsulated in a BIT STRING\n * RSAPublicKey ::= SEQUENCE {\n * modulus INTEGER, -- n\n * publicExponent INTEGER -- e\n * }\n * it's possible to examine the structure of the keys obtained from openssl using\n * an asn.1 dumper as the one used here to parse the components: http://lapo.it/asn1js/\n * @argument {string} pem the pem encoded string, can include the BEGIN/END header/footer\n * @private\n */\n JSEncryptRSAKey.prototype.parseKey = function (pem) {\n try {\n var modulus = 0;\n var public_exponent = 0;\n var reHex = /^\\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\\s*)+$/;\n var der = reHex.test(pem) ? _lib_asn1js_hex__WEBPACK_IMPORTED_MODULE_1__.Hex.decode(pem) : _lib_asn1js_base64__WEBPACK_IMPORTED_MODULE_2__.Base64.unarmor(pem);\n var asn1 = _lib_asn1js_asn1__WEBPACK_IMPORTED_MODULE_3__.ASN1.decode(der);\n // Fixes a bug with OpenSSL
Line truncated
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/index.js":
|
|
||||||
/*!**********************!*\
|
|
||||||
!*** ./lib/index.js ***!
|
|
||||||
\**********************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncrypt\": () => (/* reexport safe */ _JSEncrypt__WEBPACK_IMPORTED_MODULE_0__.JSEncrypt),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _JSEncrypt__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./JSEncrypt */ \"./lib/JSEncrypt.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_JSEncrypt__WEBPACK_IMPORTED_MODULE_0__.JSEncrypt);\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/index.js?");
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/asn1js/asn1.js":
|
|
||||||
/*!********************************!*\
|
|
||||||
!*** ./lib/lib/asn1js/asn1.js ***!
|
|
||||||
\********************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ASN1\": () => (/* binding */ ASN1),\n/* harmony export */ \"ASN1Tag\": () => (/* binding */ ASN1Tag),\n/* harmony export */ \"Stream\": () => (/* binding */ Stream)\n/* harmony export */ });\n/* harmony import */ var _int10__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./int10 */ \"./lib/lib/asn1js/int10.js\");\n// ASN.1 JavaScript decoder\n// Copyright (c) 2008-2014 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\n/*global oids */\n\nvar ellipsis = \"\\u2026\";\nvar reTimeS = /^(\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nvar reTimeL = /^(\\d\\d\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nfunction stringCut(str, len) {\n if (str.length > len) {\n str = str.substring(0, len) + ellipsis;\n }\n return str;\n}\nvar Stream = /** @class */ (function () {\n function Stream(enc, pos) {\n this.hexDigits = \"0123456789ABCDEF\";\n if (enc instanceof Stream) {\n this.enc = enc.enc;\n this.pos = enc.pos;\n }\n else {\n // enc should be an array or a binary string\n this.enc = enc;\n this.pos = pos;\n }\n }\n Stream.prototype.get = function (pos) {\n if (pos === undefined) {\n pos = this.pos++;\n }\n if (pos >= this.enc.length) {\n throw new Error(\"Requesting byte offset \".concat(pos, \" on a stream of length \").concat(this.enc.length));\n }\n return (\"string\" === typeof this.enc) ? this.enc.charCodeAt(pos) : this.enc[pos];\n };\n Stream.prototype.hexByte = function (b) {\n return this.hexDigits.charAt((b >> 4) & 0xF) + this.hexDigits.charAt(b & 0xF);\n };\n Stream.prototype.hexDump = function (start, end, raw) {\n var s = \"\";\n for (var i = start; i < end; ++i) {\n s += this.hexByte(this.get(i));\n if (raw !== true) {\n switch (i & 0xF) {\n case 0x7:\n s += \" \";\n break;\n case 0xF:\n s += \"\\n\";\n break;\n default:\n s += \" \";\n }\n }\n }\n return s;\n };\n Stream.prototype.isASCII = function (start, end) {\n for (var i = start; i < end; ++i) {\n var c = this.get(i);\n if (c < 32 || c > 176) {\n return false;\n }\n }\n return true;\n };\n Stream.prototype.parseStringISO = function (start, end) {\n var s = \"\";\n for (var i = start; i < end; ++i) {\n s += String.fromCharCode(this.get(i));\n }\n return s;\n };\n Stream.prototype.parseStringUTF = function (start, end) {\n var s = \"\";\n for (var i = start; i < end;) {\n var c = this.get(i++);\n if (c < 128) {\n s += String.fromCharCode(c);\n }\n else if ((c > 191) && (c < 224)) {\n s += String.fromCharCode(((c & 0x1F) << 6) | (this.get(i++) & 0x3F));\n }\n else {\n s += String.fromCharCode(((c & 0x0F) << 12) | ((this.get(i++) & 0x3F) << 6) | (this.get(i++) & 0x3F));\n }\n }\n return s;\n };\n Stream.prototype.parseStringBMP = function (start, end) {\n var str = \"\";\n var hi;\n var lo;\n for (var i = start; i < end;) {\n hi = this.get(i++);\n lo = this.get(i++);\n str += String.fromCharCode((hi << 8) | lo);\n }\n return str;\n };\n Stream.prototype.parseTime = function (start, end, shortYear) {\n var s = this.parseStringISO(start, end);\n var m = (shoLine truncated
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/asn1js/base64.js":
|
|
||||||
/*!**********************************!*\
|
|
||||||
!*** ./lib/lib/asn1js/base64.js ***!
|
|
||||||
\**********************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Base64\": () => (/* binding */ Base64)\n/* harmony export */ });\n// Base64 JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nvar Base64 = {\n decode: function (a) {\n var i;\n if (decoder === undefined) {\n var b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n var ignore = \"= \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n decoder = Object.create(null);\n for (i = 0; i < 64; ++i) {\n decoder[b64.charAt(i)] = i;\n }\n decoder['-'] = 62; //+\n decoder['_'] = 63; //-\n for (i = 0; i < ignore.length; ++i) {\n decoder[ignore.charAt(i)] = -1;\n }\n }\n var out = [];\n var bits = 0;\n var char_count = 0;\n for (i = 0; i < a.length; ++i) {\n var c = a.charAt(i);\n if (c == \"=\") {\n break;\n }\n c = decoder[c];\n if (c == -1) {\n continue;\n }\n if (c === undefined) {\n throw new Error(\"Illegal character at offset \" + i);\n }\n bits |= c;\n if (++char_count >= 4) {\n out[out.length] = (bits >> 16);\n out[out.length] = (bits >> 8) & 0xFF;\n out[out.length] = bits & 0xFF;\n bits = 0;\n char_count = 0;\n }\n else {\n bits <<= 6;\n }\n }\n switch (char_count) {\n case 1:\n throw new Error(\"Base64 encoding incomplete: at least 2 bits missing\");\n case 2:\n out[out.length] = (bits >> 10);\n break;\n case 3:\n out[out.length] = (bits >> 16);\n out[out.length] = (bits >> 8) & 0xFF;\n break;\n }\n return out;\n },\n re: /-----BEGIN [^-]+-----([A-Za-z0-9+\\/=\\s]+)-----END [^-]+-----|begin-base64[^\\n]+\\n([A-Za-z0-9+\\/=\\s]+)====/,\n unarmor: function (a) {\n var m = Base64.re.exec(a);\n if (m) {\n if (m[1]) {\n a = m[1];\n }\n else if (m[2]) {\n a = m[2];\n }\n else {\n throw new Error(\"RegExp out of sync\");\n }\n }\n return Base64.decode(a);\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/base64.js?");
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/asn1js/hex.js":
|
|
||||||
/*!*******************************!*\
|
|
||||||
!*** ./lib/lib/asn1js/hex.js ***!
|
|
||||||
\*******************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Hex\": () => (/* binding */ Hex)\n/* harmony export */ });\n// Hex JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nvar Hex = {\n decode: function (a) {\n var i;\n if (decoder === undefined) {\n var hex = \"0123456789ABCDEF\";\n var ignore = \" \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n decoder = {};\n for (i = 0; i < 16; ++i) {\n decoder[hex.charAt(i)] = i;\n }\n hex = hex.toLowerCase();\n for (i = 10; i < 16; ++i) {\n decoder[hex.charAt(i)] = i;\n }\n for (i = 0; i < ignore.length; ++i) {\n decoder[ignore.charAt(i)] = -1;\n }\n }\n var out = [];\n var bits = 0;\n var char_count = 0;\n for (i = 0; i < a.length; ++i) {\n var c = a.charAt(i);\n if (c == \"=\") {\n break;\n }\n c = decoder[c];\n if (c == -1) {\n continue;\n }\n if (c === undefined) {\n throw new Error(\"Illegal character at offset \" + i);\n }\n bits |= c;\n if (++char_count >= 2) {\n out[out.length] = bits;\n bits = 0;\n char_count = 0;\n }\n else {\n bits <<= 4;\n }\n }\n if (char_count) {\n throw new Error(\"Hex encoding incomplete: 4 bits missing\");\n }\n return out;\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/hex.js?");
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/asn1js/int10.js":
|
|
||||||
/*!*********************************!*\
|
|
||||||
!*** ./lib/lib/asn1js/int10.js ***!
|
|
||||||
\*********************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Int10\": () => (/* binding */ Int10)\n/* harmony export */ });\n// Big integer base-10 printing library\n// Copyright (c) 2014 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar max = 10000000000000; // biggest integer that can still fit 2^53 when multiplied by 256\nvar Int10 = /** @class */ (function () {\n function Int10(value) {\n this.buf = [+value || 0];\n }\n Int10.prototype.mulAdd = function (m, c) {\n // assert(m <= 256)\n var b = this.buf;\n var l = b.length;\n var i;\n var t;\n for (i = 0; i < l; ++i) {\n t = b[i] * m + c;\n if (t < max) {\n c = 0;\n }\n else {\n c = 0 | (t / max);\n t -= c * max;\n }\n b[i] = t;\n }\n if (c > 0) {\n b[i] = c;\n }\n };\n Int10.prototype.sub = function (c) {\n // assert(m <= 256)\n var b = this.buf;\n var l = b.length;\n var i;\n var t;\n for (i = 0; i < l; ++i) {\n t = b[i] - c;\n if (t < 0) {\n t += max;\n c = 1;\n }\n else {\n c = 0;\n }\n b[i] = t;\n }\n while (b[b.length - 1] === 0) {\n b.pop();\n }\n };\n Int10.prototype.toString = function (base) {\n if ((base || 10) != 10) {\n throw new Error(\"only base 10 is supported\");\n }\n var b = this.buf;\n var s = b[b.length - 1].toString();\n for (var i = b.length - 2; i >= 0; --i) {\n s += (max + b[i]).toString().substring(1);\n }\n return s;\n };\n Int10.prototype.valueOf = function () {\n var b = this.buf;\n var v = 0;\n for (var i = b.length - 1; i >= 0; --i) {\n v = v * max + b[i];\n }\n return v;\n };\n Int10.prototype.simplify = function () {\n var b = this.buf;\n return (b.length == 1) ? b[0] : this;\n };\n return Int10;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/int10.js?");
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/jsbn/base64.js":
|
|
||||||
/*!********************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/base64.js ***!
|
|
||||||
\********************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"b64toBA\": () => (/* binding */ b64toBA),\n/* harmony export */ \"b64tohex\": () => (/* binding */ b64tohex),\n/* harmony export */ \"hex2b64\": () => (/* binding */ hex2b64)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./lib/lib/jsbn/util.js\");\n\nvar b64map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar b64pad = \"=\";\nfunction hex2b64(h) {\n var i;\n var c;\n var ret = \"\";\n for (i = 0; i + 3 <= h.length; i += 3) {\n c = parseInt(h.substring(i, i + 3), 16);\n ret += b64map.charAt(c >> 6) + b64map.charAt(c & 63);\n }\n if (i + 1 == h.length) {\n c = parseInt(h.substring(i, i + 1), 16);\n ret += b64map.charAt(c << 2);\n }\n else if (i + 2 == h.length) {\n c = parseInt(h.substring(i, i + 2), 16);\n ret += b64map.charAt(c >> 2) + b64map.charAt((c & 3) << 4);\n }\n while ((ret.length & 3) > 0) {\n ret += b64pad;\n }\n return ret;\n}\n// convert a base64 string to hex\nfunction b64tohex(s) {\n var ret = \"\";\n var i;\n var k = 0; // b64 state, 0-3\n var slop = 0;\n for (i = 0; i < s.length; ++i) {\n if (s.charAt(i) == b64pad) {\n break;\n }\n var v = b64map.indexOf(s.charAt(i));\n if (v < 0) {\n continue;\n }\n if (k == 0) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v >> 2);\n slop = v & 3;\n k = 1;\n }\n else if (k == 1) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)((slop << 2) | (v >> 4));\n slop = v & 0xf;\n k = 2;\n }\n else if (k == 2) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(slop);\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v >> 2);\n slop = v & 3;\n k = 3;\n }\n else {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)((slop << 2) | (v >> 4));\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v & 0xf);\n k = 0;\n }\n }\n if (k == 1) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(slop << 2);\n }\n return ret;\n}\n// convert a base64 string to a byte/number array\nfunction b64toBA(s) {\n // piggyback on b64tohex for now, optimize later\n var h = b64tohex(s);\n var i;\n var a = [];\n for (i = 0; 2 * i < h.length; ++i) {\n a[i] = parseInt(h.substring(2 * i, 2 * i + 2), 16);\n }\n return a;\n}\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/base64.js?");
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/jsbn/jsbn.js":
|
|
||||||
/*!******************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/jsbn.js ***!
|
|
||||||
\******************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BigInteger\": () => (/* binding */ BigInteger),\n/* harmony export */ \"intAt\": () => (/* binding */ intAt),\n/* harmony export */ \"nbi\": () => (/* binding */ nbi),\n/* harmony export */ \"nbits\": () => (/* binding */ nbits),\n/* harmony export */ \"nbv\": () => (/* binding */ nbv),\n/* harmony export */ \"parseBigInt\": () => (/* binding */ parseBigInt)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./lib/lib/jsbn/util.js\");\n// Copyright (c) 2005 Tom Wu\n// All Rights Reserved.\n// See \"LICENSE\" for details.\n// Basic JavaScript BN library - subset useful for RSA encryption.\n\n// Bits per digit\nvar dbits;\n// JavaScript engine analysis\nvar canary = 0xdeadbeefcafe;\nvar j_lm = ((canary & 0xffffff) == 0xefcafe);\n//#region\nvar lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997];\nvar lplim = (1 << 26) / lowprimes[lowprimes.length - 1];\n//#endregion\n// (public) Constructor\nvar BigInteger = /** @class */ (function () {\n function BigInteger(a, b, c) {\n if (a != null) {\n if (\"number\" == typeof a) {\n this.fromNumber(a, b, c);\n }\n else if (b == null && \"string\" != typeof a) {\n this.fromString(a, 256);\n }\n else {\n this.fromString(a, b);\n }\n }\n }\n //#region PUBLIC\n // BigInteger.prototype.toString = bnToString;\n // (public) return string representation in given radix\n BigInteger.prototype.toString = function (b) {\n if (this.s < 0) {\n return \"-\" + this.negate().toString(b);\n }\n var k;\n if (b == 16) {\n k = 4;\n }\n else if (b == 8) {\n k = 3;\n }\n else if (b == 2) {\n k = 1;\n }\n else if (b == 32) {\n k = 5;\n }\n else if (b == 4) {\n k = 2;\n }\n else {\n return this.toRadix(b);\n }\n var km = (1 << k) - 1;\n var d;\n var m = false;\n var r = \"\";\n var i = this.t;\n var p = this.DB - (i * this.DB) % k;\n if (i-- > 0) {\n if (p < this.DB && (d = this[i] >> p) > 0) {\n m = true;\n r = (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(d);\n }\n while (i >= 0) {\n if (p < k) {\n d = (this[i] & ((1 << p) - 1)) << (k - p);\n d |= this[--i] >> (p += this.DB - k);\n }\n else {\n d = (this[i] >> (p -= k)) & km;\n if (p <= 0) {\n p += this.DB;\n --i;\n }\n }\n if (d > 0) {\n m = true;\n }\n if (m) {\n r += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(d);\n }\n }\n }\n return m ? r : \"0\";\n };\n // BigInteger.prototype.negate = bnNegate;\n // (public) -this\n BigInteger.prototype.negate = function () {\n var r = nbi();\n BigInteger.ZERO.subTo(this, r);\n return r;\n };\n // BigInteger.prototype.abs = bnAbs;\n // (public) |this|\n BigInteger.prototype.abs = function () {\n return (this.s < 0) ? this.negate() : this;\n };\n // BigInteger.prototype.compareTo = bnCompareTo;\n // (public) return + if this > a, - if this < a, 0 if equal\n BigInteger.prototype.compareTo = function (a) {\n var r = this.s - a.s;\n if (r != 0) {\n return r;\n }\n var i = this.t;\n r = i - a.t;\n if (r != 0) {\n return (this.s < 0) ? -r : r;\n }\n while (--i >= 0) {\n if ((r = this[i] - a[i]) != 0) {\n return r;\n }\n }\n return 0;\n };\n // BigInteger.protot
Line truncated
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/jsbn/prng4.js":
|
|
||||||
/*!*******************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/prng4.js ***!
|
|
||||||
\*******************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Arcfour\": () => (/* binding */ Arcfour),\n/* harmony export */ \"prng_newstate\": () => (/* binding */ prng_newstate),\n/* harmony export */ \"rng_psize\": () => (/* binding */ rng_psize)\n/* harmony export */ });\n// prng4.js - uses Arcfour as a PRNG\nvar Arcfour = /** @class */ (function () {\n function Arcfour() {\n this.i = 0;\n this.j = 0;\n this.S = [];\n }\n // Arcfour.prototype.init = ARC4init;\n // Initialize arcfour context from key, an array of ints, each from [0..255]\n Arcfour.prototype.init = function (key) {\n var i;\n var j;\n var t;\n for (i = 0; i < 256; ++i) {\n this.S[i] = i;\n }\n j = 0;\n for (i = 0; i < 256; ++i) {\n j = (j + this.S[i] + key[i % key.length]) & 255;\n t = this.S[i];\n this.S[i] = this.S[j];\n this.S[j] = t;\n }\n this.i = 0;\n this.j = 0;\n };\n // Arcfour.prototype.next = ARC4next;\n Arcfour.prototype.next = function () {\n var t;\n this.i = (this.i + 1) & 255;\n this.j = (this.j + this.S[this.i]) & 255;\n t = this.S[this.i];\n this.S[this.i] = this.S[this.j];\n this.S[this.j] = t;\n return this.S[(t + this.S[this.i]) & 255];\n };\n return Arcfour;\n}());\n\n// Plug in your RNG constructor here\nfunction prng_newstate() {\n return new Arcfour();\n}\n// Pool size must be a multiple of 4 and greater than 32.\n// An array of bytes the size of the pool will be passed to init()\nvar rng_psize = 256;\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/prng4.js?");
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/jsbn/rng.js":
|
|
||||||
/*!*****************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/rng.js ***!
|
|
||||||
\*****************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"SecureRandom\": () => (/* binding */ SecureRandom)\n/* harmony export */ });\n/* harmony import */ var _prng4__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./prng4 */ \"./lib/lib/jsbn/prng4.js\");\n// Random number generator - requires a PRNG backend, e.g. prng4.js\n\nvar rng_state;\nvar rng_pool = null;\nvar rng_pptr;\n// Initialize the pool with junk if needed.\nif (rng_pool == null) {\n rng_pool = [];\n rng_pptr = 0;\n var t = void 0;\n if (typeof window !== 'undefined' && window.crypto && window.crypto.getRandomValues) {\n // Extract entropy (2048 bits) from RNG if available\n var z = new Uint32Array(256);\n window.crypto.getRandomValues(z);\n for (t = 0; t < z.length; ++t) {\n rng_pool[rng_pptr++] = z[t] & 255;\n }\n }\n // Use mouse events for entropy, if we do not have enough entropy by the time\n // we need it, entropy will be generated by Math.random.\n var count = 0;\n var onMouseMoveListener_1 = function (ev) {\n count = count || 0;\n if (count >= 256 || rng_pptr >= _prng4__WEBPACK_IMPORTED_MODULE_0__.rng_psize) {\n if (window.removeEventListener) {\n window.removeEventListener(\"mousemove\", onMouseMoveListener_1, false);\n }\n else if (window.detachEvent) {\n window.detachEvent(\"onmousemove\", onMouseMoveListener_1);\n }\n return;\n }\n try {\n var mouseCoordinates = ev.x + ev.y;\n rng_pool[rng_pptr++] = mouseCoordinates & 255;\n count += 1;\n }\n catch (e) {\n // Sometimes Firefox will deny permission to access event properties for some reason. Ignore.\n }\n };\n if (typeof window !== 'undefined') {\n if (window.addEventListener) {\n window.addEventListener(\"mousemove\", onMouseMoveListener_1, false);\n }\n else if (window.attachEvent) {\n window.attachEvent(\"onmousemove\", onMouseMoveListener_1);\n }\n }\n}\nfunction rng_get_byte() {\n if (rng_state == null) {\n rng_state = (0,_prng4__WEBPACK_IMPORTED_MODULE_0__.prng_newstate)();\n // At this point, we may not have collected enough entropy. If not, fall back to Math.random\n while (rng_pptr < _prng4__WEBPACK_IMPORTED_MODULE_0__.rng_psize) {\n var random = Math.floor(65536 * Math.random());\n rng_pool[rng_pptr++] = random & 255;\n }\n rng_state.init(rng_pool);\n for (rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) {\n rng_pool[rng_pptr] = 0;\n }\n rng_pptr = 0;\n }\n // TODO: allow reseeding after first request\n return rng_state.next();\n}\nvar SecureRandom = /** @class */ (function () {\n function SecureRandom() {\n }\n SecureRandom.prototype.nextBytes = function (ba) {\n for (var i = 0; i < ba.length; ++i) {\n ba[i] = rng_get_byte();\n }\n };\n return SecureRandom;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/rng.js?");
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/jsbn/rsa.js":
|
|
||||||
/*!*****************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/rsa.js ***!
|
|
||||||
\*****************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"RSAKey\": () => (/* binding */ RSAKey)\n/* harmony export */ });\n/* harmony import */ var _jsbn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _rng__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./rng */ \"./lib/lib/jsbn/rng.js\");\n// Depends on jsbn.js and rng.js\n// Version 1.1: support utf-8 encoding in pkcs1pad2\n// convert a (hex) string to a bignum object\n\n\n// function linebrk(s,n) {\n// var ret = \"\";\n// var i = 0;\n// while(i + n < s.length) {\n// ret += s.substring(i,i+n) + \"\\n\";\n// i += n;\n// }\n// return ret + s.substring(i,s.length);\n// }\n// function byte2Hex(b) {\n// if(b < 0x10)\n// return \"0\" + b.toString(16);\n// else\n// return b.toString(16);\n// }\nfunction pkcs1pad1(s, n) {\n if (n < s.length + 22) {\n console.error(\"Message too long for RSA\");\n return null;\n }\n var len = n - s.length - 6;\n var filler = \"\";\n for (var f = 0; f < len; f += 2) {\n filler += \"ff\";\n }\n var m = \"0001\" + filler + \"00\" + s;\n return (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(m, 16);\n}\n// PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint\nfunction pkcs1pad2(s, n) {\n if (n < s.length + 11) { // TODO: fix for utf-8\n console.error(\"Message too long for RSA\");\n return null;\n }\n var ba = [];\n var i = s.length - 1;\n while (i >= 0 && n > 0) {\n var c = s.charCodeAt(i--);\n if (c < 128) { // encode using utf-8\n ba[--n] = c;\n }\n else if ((c > 127) && (c < 2048)) {\n ba[--n] = (c & 63) | 128;\n ba[--n] = (c >> 6) | 192;\n }\n else {\n ba[--n] = (c & 63) | 128;\n ba[--n] = ((c >> 6) & 63) | 128;\n ba[--n] = (c >> 12) | 224;\n }\n }\n ba[--n] = 0;\n var rng = new _rng__WEBPACK_IMPORTED_MODULE_1__.SecureRandom();\n var x = [];\n while (n > 2) { // random non-zero pad\n x[0] = 0;\n while (x[0] == 0) {\n rng.nextBytes(x);\n }\n ba[--n] = x[0];\n }\n ba[--n] = 2;\n ba[--n] = 0;\n return new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(ba);\n}\n// \"empty\" RSA key constructor\nvar RSAKey = /** @class */ (function () {\n function RSAKey() {\n this.n = null;\n this.e = 0;\n this.d = null;\n this.p = null;\n this.q = null;\n this.dmp1 = null;\n this.dmq1 = null;\n this.coeff = null;\n }\n //#region PROTECTED\n // protected\n // RSAKey.prototype.doPublic = RSADoPublic;\n // Perform raw public operation on \"x\": return x^e (mod n)\n RSAKey.prototype.doPublic = function (x) {\n return x.modPowInt(this.e, this.n);\n };\n // RSAKey.prototype.doPrivate = RSADoPrivate;\n // Perform raw private operation on \"x\": return x^d (mod n)\n RSAKey.prototype.doPrivate = function (x) {\n if (this.p == null || this.q == null) {\n return x.modPow(this.d, this.n);\n }\n // TODO: re-calculate any missing CRT params\n var xp = x.mod(this.p).modPow(this.dmp1, this.p);\n var xq = x.mod(this.q).modPow(this.dmq1, this.q);\n while (xp.compareTo(xq) < 0) {\n xp = xp.add(this.p);\n }\n return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq);\n };\n //#endregion PROTECTED\n //#region PUBLIC\n // RSAKey.prototype.setPublic = RSASetPublic;\n // Set the public key fields N and e from hex strings\n RSAKey.prototype.setPublic = function (N, E) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(N, 16);\n this.e = parseInt(E, 16);\n }\n else {\n console.error(\"Invalid RSA public key\");\n }\n };\n // RSAKey.prototype.encrypt = RSAEncrypt;\n // Return the PKCS#1 RSA encryption of \"text\" as an even-length hex string\n RSAKey.prototype.encrypt = function (text) {\n var maxLength = (this.n.bitLength() + 7) >> 3;\n var m = pkcs1pad2(text, maxLength);\n if (m == null) {\n return null;\n }\n var c = this.doPublic(m);\n if (c == null) {\n return null;\n }\n var h = c.toString(16);\n var length = h.length;\n // fix zero before result\n for (var i = 0; i < maxLength * 2 - length; i++) {\n h = \"0\" + h;\n }\n return h;\n };\n // RSAKey.prototype.setPrivate = RSASetPrivate;\n // Set the private key fields N, e, and d from hex strings\n RSAKey.prototype.setPrivate = function (N, E,
Line truncated
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/jsbn/util.js":
|
|
||||||
/*!******************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/util.js ***!
|
|
||||||
\******************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"cbit\": () => (/* binding */ cbit),\n/* harmony export */ \"int2char\": () => (/* binding */ int2char),\n/* harmony export */ \"lbit\": () => (/* binding */ lbit),\n/* harmony export */ \"op_and\": () => (/* binding */ op_and),\n/* harmony export */ \"op_andnot\": () => (/* binding */ op_andnot),\n/* harmony export */ \"op_or\": () => (/* binding */ op_or),\n/* harmony export */ \"op_xor\": () => (/* binding */ op_xor)\n/* harmony export */ });\nvar BI_RM = \"0123456789abcdefghijklmnopqrstuvwxyz\";\nfunction int2char(n) {\n return BI_RM.charAt(n);\n}\n//#region BIT_OPERATIONS\n// (public) this & a\nfunction op_and(x, y) {\n return x & y;\n}\n// (public) this | a\nfunction op_or(x, y) {\n return x | y;\n}\n// (public) this ^ a\nfunction op_xor(x, y) {\n return x ^ y;\n}\n// (public) this & ~a\nfunction op_andnot(x, y) {\n return x & ~y;\n}\n// return index of lowest 1-bit in x, x < 2^31\nfunction lbit(x) {\n if (x == 0) {\n return -1;\n }\n var r = 0;\n if ((x & 0xffff) == 0) {\n x >>= 16;\n r += 16;\n }\n if ((x & 0xff) == 0) {\n x >>= 8;\n r += 8;\n }\n if ((x & 0xf) == 0) {\n x >>= 4;\n r += 4;\n }\n if ((x & 3) == 0) {\n x >>= 2;\n r += 2;\n }\n if ((x & 1) == 0) {\n ++r;\n }\n return r;\n}\n// return number of 1 bits in x\nfunction cbit(x) {\n var r = 0;\n while (x != 0) {\n x &= x - 1;\n ++r;\n }\n return r;\n}\n//#endregion BIT_OPERATIONS\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/util.js?");
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/jsrsasign/asn1-1.0.js":
|
|
||||||
/*!***************************************!*\
|
|
||||||
!*** ./lib/lib/jsrsasign/asn1-1.0.js ***!
|
|
||||||
\***************************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KJUR\": () => (/* binding */ KJUR)\n/* harmony export */ });\n/* harmony import */ var _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../jsbn/jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _yahoo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./yahoo */ \"./lib/lib/jsrsasign/yahoo.js\");\n/* asn1-1.0.13.js (c) 2013-2017 Kenji Urushima | kjur.github.com/jsrsasign/license\n */\n/*\n * asn1.js - ASN.1 DER encoder classes\n *\n * Copyright (c) 2013-2017 Kenji Urushima (kenji.urushima@gmail.com)\n *\n * This software is licensed under the terms of the MIT License.\n * https://kjur.github.io/jsrsasign/license\n *\n * The above copyright and license notice shall be\n * included in all copies or substantial portions of the Software.\n */\n\n\n/**\n * @fileOverview\n * @name asn1-1.0.js\n * @author Kenji Urushima kenji.urushima@gmail.com\n * @version asn1 1.0.13 (2017-Jun-02)\n * @since jsrsasign 2.1\n * @license <a href=\"https://kjur.github.io/jsrsasign/license/\">MIT License</a>\n */\n/**\n * kjur's class library name space\n * <p>\n * This name space provides following name spaces:\n * <ul>\n * <li>{@link KJUR.asn1} - ASN.1 primitive hexadecimal encoder</li>\n * <li>{@link KJUR.asn1.x509} - ASN.1 structure for X.509 certificate and CRL</li>\n * <li>{@link KJUR.crypto} - Java Cryptographic Extension(JCE) style MessageDigest/Signature\n * class and utilities</li>\n * </ul>\n * </p>\n * NOTE: Please ignore method summary and document of this namespace. This caused by a bug of jsdoc2.\n * @name KJUR\n * @namespace kjur's class library name space\n */\nvar KJUR = {};\n/**\n * kjur's ASN.1 class library name space\n * <p>\n * This is ITU-T X.690 ASN.1 DER encoder class library and\n * class structure and methods is very similar to\n * org.bouncycastle.asn1 package of\n * well known BouncyCaslte Cryptography Library.\n * <h4>PROVIDING ASN.1 PRIMITIVES</h4>\n * Here are ASN.1 DER primitive classes.\n * <ul>\n * <li>0x01 {@link KJUR.asn1.DERBoolean}</li>\n * <li>0x02 {@link KJUR.asn1.DERInteger}</li>\n * <li>0x03 {@link KJUR.asn1.DERBitString}</li>\n * <li>0x04 {@link KJUR.asn1.DEROctetString}</li>\n * <li>0x05 {@link KJUR.asn1.DERNull}</li>\n * <li>0x06 {@link KJUR.asn1.DERObjectIdentifier}</li>\n * <li>0x0a {@link KJUR.asn1.DEREnumerated}</li>\n * <li>0x0c {@link KJUR.asn1.DERUTF8String}</li>\n * <li>0x12 {@link KJUR.asn1.DERNumericString}</li>\n * <li>0x13 {@link KJUR.asn1.DERPrintableString}</li>\n * <li>0x14 {@link KJUR.asn1.DERTeletexString}</li>\n * <li>0x16 {@link KJUR.asn1.DERIA5String}</li>\n * <li>0x17 {@link KJUR.asn1.DERUTCTime}</li>\n * <li>0x18 {@link KJUR.asn1.DERGeneralizedTime}</li>\n * <li>0x30 {@link KJUR.asn1.DERSequence}</li>\n * <li>0x31 {@link KJUR.asn1.DERSet}</li>\n * </ul>\n * <h4>OTHER ASN.1 CLASSES</h4>\n * <ul>\n * <li>{@link KJUR.asn1.ASN1Object}</li>\n * <li>{@link KJUR.asn1.DERAbstractString}</li>\n * <li>{@link KJUR.asn1.DERAbstractTime}</li>\n * <li>{@link KJUR.asn1.DERAbstractStructured}</li>\n * <li>{@link KJUR.asn1.DERTaggedObject}</li>\n * </ul>\n * <h4>SUB NAME SPACES</h4>\n * <ul>\n * <li>{@link KJUR.asn1.cades} - CAdES long term signature format</li>\n * <li>{@link KJUR.asn1.cms} - Cryptographic Message Syntax</li>\n * <li>{@link KJUR.asn1.csr} - Certificate Signing Request (CSR/PKCS#10)</li>\n * <li>{@link KJUR.asn1.tsp} - RFC 3161 Timestamping Protocol Format</li>\n * <li>{@link KJUR.asn1.x509} - RFC 5280 X.509 certificate and CRL</li>\n * </ul>\n * </p>\n * NOTE: Please ignore method summary and document of this namespace.\n * This caused by a bug of jsdoc2.\n * @name KJUR.asn1\n * @namespace\n */\nif (typeof KJUR.asn1 == \"undefined\" || !KJUR.asn1)\n KJUR.asn1 = {};\n/**\n * ASN1 utilities class\n * @name KJUR.asn1.ASN1Util\n * @class ASN1 utilities class\n * @since asn1 1.0.2\n */\nKJUR.asn1.ASN1Util = new function () {\n this.integerToByteHex = function (i) {\n var h = i.toString(16);\n if ((h.length % 2) == 1)\n h = '0' + h;\n return h;\n };\n this.bigIntToMinTwosComplementsHex = function (bigIntegerValue) {\n var h = bigIntegerValue.toString(16);\n if (h.substr(0, 1) != '-') {\n if (h.length % 2 == 1) {\n h = '0' + h;\n }\n else {\n if (!h.match(/^[0-7]/)) {\n h = '00' + h;\n }\n }\n }\n else {\n var hPos = h.substr(1);\n var xorLen = hPos.length;\n if (xorLen % 2 == 1) {\n xorLen += 1;\n }\n else {\n if (!h.match(/^[0-7]/)) {\n xorLen += 2;\n }\n }\n var hMask = '';\n for (var i = 0; i < xorLen; i++) {\n hMask += 'f';\n
Line truncated
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/jsrsasign/yahoo.js":
|
|
||||||
/*!************************************!*\
|
|
||||||
!*** ./lib/lib/jsrsasign/yahoo.js ***!
|
|
||||||
\************************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"YAHOO\": () => (/* binding */ YAHOO)\n/* harmony export */ });\n/*!\nCopyright (c) 2011, Yahoo! Inc. All rights reserved.\nCode licensed under the BSD License:\nhttp://developer.yahoo.com/yui/license.html\nversion: 2.9.0\n*/\nvar YAHOO = {};\nYAHOO.lang = {\n /**\n * Utility to set up the prototype, constructor and superclass properties to\n * support an inheritance strategy that can chain constructors and methods.\n * Static members will not be inherited.\n *\n * @method extend\n * @static\n * @param {Function} subc the object to modify\n * @param {Function} superc the object to inherit\n * @param {Object} overrides additional properties/methods to add to the\n * subclass prototype. These will override the\n * matching items obtained from the superclass\n * if present.\n */\n extend: function (subc, superc, overrides) {\n if (!superc || !subc) {\n throw new Error(\"YAHOO.lang.extend failed, please check that \" +\n \"all dependencies are included.\");\n }\n var F = function () { };\n F.prototype = superc.prototype;\n subc.prototype = new F();\n subc.prototype.constructor = subc;\n subc.superclass = superc.prototype;\n if (superc.prototype.constructor == Object.prototype.constructor) {\n superc.prototype.constructor = superc;\n }\n if (overrides) {\n var i;\n for (i in overrides) {\n subc.prototype[i] = overrides[i];\n }\n /*\n * IE will not enumerate native functions in a derived object even if the\n * function was overridden. This is a workaround for specific functions\n * we care about on the Object prototype.\n * @property _IEEnumFix\n * @param {Function} r the object to receive the augmentation\n * @param {Function} s the object that supplies the properties to augment\n * @static\n * @private\n */\n var _IEEnumFix = function () { }, ADD = [\"toString\", \"valueOf\"];\n try {\n if (/MSIE/.test(navigator.userAgent)) {\n _IEEnumFix = function (r, s) {\n for (i = 0; i < ADD.length; i = i + 1) {\n var fname = ADD[i], f = s[fname];\n if (typeof f === 'function' && f != Object.prototype[fname]) {\n r[fname] = f;\n }\n }\n };\n }\n }\n catch (ex) { }\n ;\n _IEEnumFix(subc.prototype, overrides);\n }\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsrsasign/yahoo.js?");
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./node_modules/process/browser.js":
|
|
||||||
/*!*****************************************!*\
|
|
||||||
!*** ./node_modules/process/browser.js ***!
|
|
||||||
\*****************************************/
|
|
||||||
/***/
|
|
||||||
((module) => {
|
|
||||||
|
|
||||||
eval("// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess
Line truncated
|
|
||||||
|
|
||||||
/***/
|
|
||||||
})
|
|
||||||
|
|
||||||
/******/
|
|
||||||
});
|
|
||||||
/************************************************************************/
|
|
||||||
/******/ // The module cache
|
|
||||||
/******/
|
|
||||||
var __webpack_module_cache__ = {};
|
|
||||||
/******/
|
|
||||||
/******/ // The require function
|
|
||||||
/******/
|
|
||||||
function __webpack_require__(moduleId) {
|
|
||||||
/******/ // Check if module is in cache
|
|
||||||
/******/
|
|
||||||
var cachedModule = __webpack_module_cache__[moduleId];
|
|
||||||
/******/
|
|
||||||
if (cachedModule !== undefined) {
|
|
||||||
/******/
|
|
||||||
return cachedModule.exports;
|
|
||||||
/******/
|
|
||||||
}
|
|
||||||
/******/ // Create a new module (and put it into the cache)
|
|
||||||
/******/
|
|
||||||
var module = __webpack_module_cache__[moduleId] = {
|
|
||||||
/******/ // no module.id needed
|
|
||||||
/******/ // no module.loaded needed
|
|
||||||
/******/
|
|
||||||
exports: {}
|
|
||||||
/******/
|
|
||||||
};
|
|
||||||
/******/
|
|
||||||
/******/ // Execute the module function
|
|
||||||
/******/
|
|
||||||
__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
||||||
/******/
|
|
||||||
/******/ // Return the exports of the module
|
|
||||||
/******/
|
|
||||||
return module.exports;
|
|
||||||
/******/
|
|
||||||
}
|
|
||||||
/******/
|
|
||||||
/************************************************************************/
|
|
||||||
/******/
|
|
||||||
/* webpack/runtime/define property getters */
|
|
||||||
/******/
|
|
||||||
(() => {
|
|
||||||
/******/ // define getter functions for harmony exports
|
|
||||||
/******/
|
|
||||||
__webpack_require__.d = (exports, definition) => {
|
|
||||||
/******/
|
|
||||||
for (var key in definition) {
|
|
||||||
/******/
|
|
||||||
if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
||||||
/******/
|
|
||||||
Object.defineProperty(exports, key, {
|
|
||||||
enumerable: true,
|
|
||||||
get: definition[key]
|
|
||||||
});
|
|
||||||
/******/
|
|
||||||
}
|
|
||||||
/******/
|
|
||||||
}
|
|
||||||
/******/
|
|
||||||
};
|
|
||||||
/******/
|
|
||||||
})();
|
|
||||||
/******/
|
|
||||||
/******/
|
|
||||||
/* webpack/runtime/hasOwnProperty shorthand */
|
|
||||||
/******/
|
|
||||||
(() => {
|
|
||||||
/******/
|
|
||||||
__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
||||||
/******/
|
|
||||||
})();
|
|
||||||
/******/
|
|
||||||
/******/
|
|
||||||
/* webpack/runtime/make namespace object */
|
|
||||||
/******/
|
|
||||||
(() => {
|
|
||||||
/******/ // define __esModule on exports
|
|
||||||
/******/
|
|
||||||
__webpack_require__.r = (exports) => {
|
|
||||||
/******/
|
|
||||||
if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
||||||
/******/
|
|
||||||
Object.defineProperty(exports, Symbol.toStringTag, {
|
|
||||||
value: 'Module'
|
|
||||||
});
|
|
||||||
/******/
|
|
||||||
}
|
|
||||||
/******/
|
|
||||||
Object.defineProperty(exports, '__esModule', {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
/******/
|
|
||||||
};
|
|
||||||
/******/
|
|
||||||
})();
|
|
||||||
/******/
|
|
||||||
/************************************************************************/
|
|
||||||
/******/
|
|
||||||
/******/ // startup
|
|
||||||
/******/ // Load entry module and return exports
|
|
||||||
/******/ // This entry module can't be inlined because the eval devtool is used.
|
|
||||||
/******/
|
|
||||||
var __webpack_exports__ = __webpack_require__("./lib/index.js");
|
|
||||||
/******/
|
|
||||||
__webpack_exports__ = __webpack_exports__["default"];
|
|
||||||
/******/
|
|
||||||
/******/
|
|
||||||
return __webpack_exports__;
|
|
||||||
/******/
|
|
||||||
})();
|
|
||||||
});
|
|
||||||
-1809
File diff suppressed because it is too large.
Load diff
-5858
File diff suppressed because it is too large.
Load diff
Vendored
-1439
File diff suppressed because it is too large.
Load diff
-429
@@ -1,429 +0,0 @@
|
|||||||
if (typeof Object.assign !== 'function') {
|
|
||||||
Object.assign = function() {
|
|
||||||
let target = arguments[0];
|
|
||||||
for (let i = 1; i < arguments.length; i++) {
|
|
||||||
let source = arguments[i];
|
|
||||||
for (let key in source) {
|
|
||||||
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
||||||
target[key] = source[key];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return target;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
// 通用免嗅探播放
|
|
||||||
let common_lazy = `js:
|
|
||||||
let html = request(input);
|
|
||||||
let hconf = html.match(/r player_.*?=(.*?)</)[1];
|
|
||||||
let json = JSON5.parse(hconf);
|
|
||||||
let url = json.url;
|
|
||||||
if (json.encrypt == '1') {
|
|
||||||
url = unescape(url);
|
|
||||||
} else if (json.encrypt == '2') {
|
|
||||||
url = unescape(base64Decode(url));
|
|
||||||
}
|
|
||||||
if (/\\.(m3u8|mp4|m4a|mp3)/.test(url)) {
|
|
||||||
input = {
|
|
||||||
parse: 0,
|
|
||||||
jx: 0,
|
|
||||||
url: url,
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
input = url && url.startsWith('http') && tellIsJx(url) ? {parse:0,jx:1,url:url}:input;
|
|
||||||
}`;
|
|
||||||
// 默认嗅探播放
|
|
||||||
|
|
||||||
let def_lazy = `js:
|
|
||||||
input = { parse: 1, url: input, js: '' };`;
|
|
||||||
// 采集站播放
|
|
||||||
|
|
||||||
let cj_lazy = `js:
|
|
||||||
if (/\\.(m3u8|mp4)/.test(input)) {
|
|
||||||
input = { parse: 0, url: input };
|
|
||||||
} else {
|
|
||||||
if (rule.parse_url.startsWith('json:')) {
|
|
||||||
let purl = rule.parse_url.replace('json:', '') + input;
|
|
||||||
let html = request(purl);
|
|
||||||
let json = JSON.parse(html);
|
|
||||||
if (json.url) {
|
|
||||||
input = { parse: 0, url: json.url };
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
input = rule.parse_url + input;
|
|
||||||
}
|
|
||||||
}`;
|
|
||||||
|
|
||||||
function getMubans() {
|
|
||||||
const mubanDict = { // 模板字典
|
|
||||||
mx: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
url: '/vodshow/fyclass--------fypage---/',
|
|
||||||
searchUrl: '/vodsearch/**----------fypage---/',
|
|
||||||
class_parse: '.top_nav li;a&&Text;a&&href;.*/(.*?)/',
|
|
||||||
searchable: 2,
|
|
||||||
quickSearch: 0,
|
|
||||||
filterable: 0,
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'MOBILE_UA',
|
|
||||||
},
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
double: true,
|
|
||||||
推荐: '.cbox_list;*;*;*;*;*',
|
|
||||||
一级: 'ul.vodlist li;a&&title;a&&data-original;.pic_text&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: 'h2&&Text;.content_detail:eq(1)&&li&&a:eq(2)&&Text',
|
|
||||||
img: '.vodlist_thumb&&data-original',
|
|
||||||
desc: '.content_detail:eq(1)&&li:eq(1)&&Text;.content_detail:eq(1)&&li&&a&&Text;.content_detail:eq(1)&&li&&a:eq(1)&&Text;.content_detail:eq(1)&&li:eq(2)&&Text;.content_detail:eq(1)&&li:eq(3)&&Text',
|
|
||||||
content: '.content_desc&&span&&Text',
|
|
||||||
tabs: '.play_source_tab&&a',
|
|
||||||
lists: '.content_playlist:eq(#id) li',
|
|
||||||
},
|
|
||||||
搜索: '*',
|
|
||||||
},
|
|
||||||
mxpro: {
|
|
||||||
title: '',
|
|
||||||
host: '', // homeUrl:'/',
|
|
||||||
url: '/vodshow/fyclass--------fypage---.html',
|
|
||||||
searchUrl: '/vodsearch/**----------fypage---.html',
|
|
||||||
searchable: 2, //是否启用全局搜索,
|
|
||||||
quickSearch: 0, //是否启用快速搜索,
|
|
||||||
filterable: 0, //是否启用分类筛选,
|
|
||||||
headers: { //网站的请求头,完整支持所有的,常带ua和cookies
|
|
||||||
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
|
|
||||||
},
|
|
||||||
class_parse: '.navbar-items li:gt(0):lt(10);a&&Text;a&&href;/(\\d+)',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
double: true, // 推荐内容是否双层定位
|
|
||||||
推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href',
|
|
||||||
一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: 'h1&&Text;.module-info-tag-link:eq(-1)&&Text',
|
|
||||||
img: '.lazyload&&data-original||data-src||src',
|
|
||||||
desc: '.module-info-item:eq(-2)&&Text;.module-info-tag-link&&Text;.module-info-tag-link:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(1)&&Text',
|
|
||||||
content: '.module-info-introduction&&Text',
|
|
||||||
tabs: '.module-tab-item',
|
|
||||||
lists: '.module-play-list:eq(#id) a',
|
|
||||||
tab_text: 'div--small&&Text',
|
|
||||||
},
|
|
||||||
搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text',
|
|
||||||
},
|
|
||||||
mxone5: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
url: '/show/fyclass--------fypage---.html',
|
|
||||||
searchUrl: '/search/**----------fypage---.html',
|
|
||||||
searchable: 2, //是否启用全局搜索,
|
|
||||||
quickSearch: 0, //是否启用快速搜索,
|
|
||||||
filterable: 0, //是否启用分类筛选,
|
|
||||||
class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?)\.html',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
double: true, // 推荐内容是否双层定位
|
|
||||||
推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
|
|
||||||
一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: 'h1&&Text;.tag-link&&Text',
|
|
||||||
img: '.module-item-pic&&img&&data-src',
|
|
||||||
desc: '.video-info-items:eq(3)&&Text;.tag-link:eq(2)&&Text;.tag-link:eq(1)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(0)&&Text',
|
|
||||||
content: '.vod_content&&Text',
|
|
||||||
tabs: '.module-tab-item',
|
|
||||||
lists: '.module-player-list:eq(#id)&&.scroll-content&&a',
|
|
||||||
tab_text: 'div--small&&Text',
|
|
||||||
},
|
|
||||||
搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href',
|
|
||||||
},
|
|
||||||
首图: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
url: '/vodshow/fyclass--------fypage---/',
|
|
||||||
searchUrl: '/vodsearch/**----------fypage---.html',
|
|
||||||
searchable: 2, //是否启用全局搜索,
|
|
||||||
quickSearch: 0, //是否启用快速搜索,
|
|
||||||
filterable: 0, //是否启用分类筛选,
|
|
||||||
headers: { //网站的请求头,完整支持所有的,常带ua和cookies
|
|
||||||
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
|
|
||||||
},
|
|
||||||
class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
double: true, // 推荐内容是否双层定位
|
|
||||||
推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
|
|
||||||
一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: '.myui-content__detail .title--span&&Text;.myui-content__detail p.data:eq(3)&&Text',
|
|
||||||
img: '.myui-content__thumb .lazyload&&data-original',
|
|
||||||
desc: '.myui-content__detail p.otherbox&&Text;.year&&Text;.myui-content__detail p.data:eq(4)&&Text;.myui-content__detail p.data:eq(2)&&Text;.myui-content__detail p.data:eq(0)&&Text',
|
|
||||||
content: '.content&&Text',
|
|
||||||
tabs: '.myui-panel__head&&li',
|
|
||||||
// tabs: '.nav-tabs&&li',
|
|
||||||
lists: '.myui-content__list:eq(#id) li',
|
|
||||||
},
|
|
||||||
搜索: '#searchList li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href;.detail&&Text',
|
|
||||||
},
|
|
||||||
首图2: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
url: '/list/fyclass-fypage.html',
|
|
||||||
searchUrl: '/vodsearch/**----------fypage---.html',
|
|
||||||
searchable: 2, //是否启用全局搜索,
|
|
||||||
quickSearch: 0, //是否启用快速搜索,
|
|
||||||
filterable: 0, //是否启用分类筛选,
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'UC_UA', // "Cookie": ""
|
|
||||||
},
|
|
||||||
class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
double: true, // 推荐内容是否双层定位
|
|
||||||
推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href',
|
|
||||||
一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: '.stui-content__detail .title&&Text;.stui-content__detail&&p:eq(-2)&&a&&Text',
|
|
||||||
title1: '.stui-content__detail .title&&Text;.stui-content__detail&&p&&Text',
|
|
||||||
img: '.stui-content__thumb .lazyload&&data-original',
|
|
||||||
desc: '.stui-content__detail p&&Text;.stui-content__detail&&p:eq(-2)&&a:eq(2)&&Text;.stui-content__detail&&p:eq(-2)&&a:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text;.stui-content__detail p:eq(1)&&Text',
|
|
||||||
desc1: '.stui-content__detail p:eq(4)&&Text;;;.stui-content__detail p:eq(1)&&Text',
|
|
||||||
content: '.detail&&Text',
|
|
||||||
tabs: '.stui-pannel__head h3',
|
|
||||||
tabs1: '.stui-vodlist__head h3',
|
|
||||||
lists: '.stui-content__playlist:eq(#id) li',
|
|
||||||
},
|
|
||||||
搜索: 'ul.stui-vodlist__media,ul.stui-vodlist,#searchList li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href;.detail&&Text',
|
|
||||||
},
|
|
||||||
默认: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
url: '',
|
|
||||||
searchUrl: '',
|
|
||||||
searchable: 2,
|
|
||||||
quickSearch: 0,
|
|
||||||
filterable: 0,
|
|
||||||
filter: '',
|
|
||||||
filter_url: '',
|
|
||||||
filter_def: {},
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'MOBILE_UA',
|
|
||||||
},
|
|
||||||
timeout: 5000,
|
|
||||||
class_parse: '#side-menu li;a&&Text;a&&href;/(.*?)\.html',
|
|
||||||
cate_exclude: '',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: def_lazy,
|
|
||||||
double: true,
|
|
||||||
推荐: '列表1;列表2;标题;图片;描述;链接;详情',
|
|
||||||
一级: '列表;标题;图片;描述;链接;详情',
|
|
||||||
二级: {
|
|
||||||
title: 'vod_name;vod_type',
|
|
||||||
img: '图片链接',
|
|
||||||
desc: '主要信息;年代;地区;演员;导演',
|
|
||||||
content: '简介',
|
|
||||||
tabs: '',
|
|
||||||
lists: 'xx:eq(#id)&&a',
|
|
||||||
tab_text: 'body&&Text',
|
|
||||||
list_text: 'body&&Text',
|
|
||||||
list_url: 'a&&href',
|
|
||||||
},
|
|
||||||
搜索: '列表;标题;图片;描述;链接;详情',
|
|
||||||
},
|
|
||||||
vfed: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
url: '/index.php/vod/show/id/fyclass/page/fypage.html',
|
|
||||||
searchUrl: '/index.php/vod/search/page/fypage/wd/**.html',
|
|
||||||
searchable: 2, //是否启用全局搜索,
|
|
||||||
quickSearch: 0, //是否启用快速搜索,
|
|
||||||
filterable: 0, //是否启用分类筛选,
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'UC_UA',
|
|
||||||
},
|
|
||||||
class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
double: true, // 推荐内容是否双层定位
|
|
||||||
推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
|
|
||||||
一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: 'h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text',
|
|
||||||
img: '.fed-list-info&&a&&data-original',
|
|
||||||
desc: '.fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text',
|
|
||||||
content: '.fed-part-esan&&Text',
|
|
||||||
tabs: '.fed-drop-boxs&&.fed-part-rows&&li',
|
|
||||||
lists: '.fed-play-item:eq(#id)&&ul:eq(1)&&li',
|
|
||||||
},
|
|
||||||
搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text',
|
|
||||||
},
|
|
||||||
海螺3: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
searchUrl: '/v_search/**----------fypage---.html',
|
|
||||||
url: '/vod_____show/fyclass--------fypage---.html',
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'MOBILE_UA',
|
|
||||||
},
|
|
||||||
timeout: 5000,
|
|
||||||
class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html',
|
|
||||||
cate_exclude: '明星|专题|最新|排行',
|
|
||||||
limit: 40,
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
double: true,
|
|
||||||
推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href',
|
|
||||||
一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: '.hl-dc-title&&Text;.hl-dc-content&&li:eq(6)&&Text',
|
|
||||||
img: '.hl-lazy&&data-original',
|
|
||||||
desc: '.hl-dc-content&&li:eq(10)&&Text;.hl-dc-content&&li:eq(4)&&Text;.hl-dc-content&&li:eq(5)&&Text;.hl-dc-content&&li:eq(2)&&Text;.hl-dc-content&&li:eq(3)&&Text',
|
|
||||||
content: '.hl-content-text&&Text',
|
|
||||||
tabs: '.hl-tabs&&a',
|
|
||||||
tab_text: 'a--span&&Text',
|
|
||||||
lists: '.hl-plays-list:eq(#id)&&li',
|
|
||||||
},
|
|
||||||
搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
|
|
||||||
searchable: 2, //是否启用全局搜索,
|
|
||||||
quickSearch: 0, //是否启用快速搜索,
|
|
||||||
filterable: 0, //是否启用分类筛选,
|
|
||||||
},
|
|
||||||
海螺2: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
searchUrl: '/index.php/vod/search/page/fypage/wd/**/',
|
|
||||||
url: '/index.php/vod/show/id/fyclass/page/fypage/',
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'MOBILE_UA',
|
|
||||||
},
|
|
||||||
timeout: 5000,
|
|
||||||
class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/',
|
|
||||||
limit: 40,
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
double: true,
|
|
||||||
推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href',
|
|
||||||
一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: 'h2&&Text;.deployment&&Text',
|
|
||||||
img: '.lazy&&data-original',
|
|
||||||
desc: '.deployment&&Text',
|
|
||||||
content: '.ec-show&&Text',
|
|
||||||
tabs: '#tag&&a',
|
|
||||||
lists: '.play_list_box:eq(#id)&&li',
|
|
||||||
},
|
|
||||||
搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href',
|
|
||||||
searchable: 2, //是否启用全局搜索,
|
|
||||||
quickSearch: 0, //是否启用快速搜索,
|
|
||||||
filterable: 0, //是否启用分类筛选,
|
|
||||||
},
|
|
||||||
短视: {
|
|
||||||
title: '',
|
|
||||||
host: '', // homeUrl:'/',
|
|
||||||
url: '/channel/fyclass-fypage.html',
|
|
||||||
searchUrl: '/search.html?wd=**',
|
|
||||||
searchable: 2, //是否启用全局搜索,
|
|
||||||
quickSearch: 0, //是否启用快速搜索,
|
|
||||||
filterable: 0, //是否启用分类筛选,
|
|
||||||
headers: { //网站的请求头,完整支持所有的,常带ua和cookies
|
|
||||||
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
|
|
||||||
},
|
|
||||||
class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html',
|
|
||||||
cate_exclude: '解析|动态',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
double: true, // 推荐内容是否双层定位
|
|
||||||
推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
|
|
||||||
一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: 'h1&&Text;.content-rt&&p:eq(0)&&Text',
|
|
||||||
img: '.img&&img&&data-src',
|
|
||||||
desc: '.content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text',
|
|
||||||
content: '.zkjj_a&&Text',
|
|
||||||
tabs: '.py-tabs&&option',
|
|
||||||
lists: '.player:eq(#id) li',
|
|
||||||
},
|
|
||||||
搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href',
|
|
||||||
},
|
|
||||||
短视2: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
class_name: '电影&电视剧&综艺&动漫',
|
|
||||||
class_url: '1&2&3&4',
|
|
||||||
searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50',
|
|
||||||
searchable: 2,
|
|
||||||
quickSearch: 0,
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'MOBILE_UA'
|
|
||||||
},
|
|
||||||
url: '/index.php/api/vod#type=fyclass&page=fypage',
|
|
||||||
filterable: 0, //是否启用分类筛选,
|
|
||||||
filter_url: '',
|
|
||||||
filter: {},
|
|
||||||
filter_def: {},
|
|
||||||
detailUrl: '/index.php/vod/detail/id/fyid.html',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
推荐: '.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href',
|
|
||||||
一级: 'js:let body=input.split("#")[1];let t=Math.round(new Date/1e3).toString();let key=md5("DS"+t+"DCC147D11943AF75");let url=input.split("#")[0];body=body+"&time="+t+"&key="+key;print(body);fetch_params.body=body;let html=post(url,fetch_params);let data=JSON.parse(html);VODS=data.list.map(function(it){it.vod_pic=urljoin2(input.split("/i")[0],it.vod_pic);return it});',
|
|
||||||
二级: {
|
|
||||||
title: '.slide-info-title&&Text;.slide-info:eq(2)--strong&&Text',
|
|
||||||
img: '.detail-pic&&data-original',
|
|
||||||
desc: '.slide-info-remarks&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(1)--strong&&Text;.info-parameter&&ul&&li:eq(3)&&Text',
|
|
||||||
content: '#height_limit&&Text',
|
|
||||||
tabs: '.anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a',
|
|
||||||
tab_text: 'a--span&&Text',
|
|
||||||
lists: '.anthology-list-box:eq(#id) li',
|
|
||||||
},
|
|
||||||
搜索: 'json:list;name;pic;;id',
|
|
||||||
},
|
|
||||||
采集1: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
homeTid: '13',
|
|
||||||
homeUrl: '/api.php/provide/vod/?ac=detail&t={{rule.homeTid}}',
|
|
||||||
detailUrl: '/api.php/provide/vod/?ac=detail&ids=fyid',
|
|
||||||
searchUrl: '/api.php/provide/vod/?wd=**&pg=fypage',
|
|
||||||
url: '/api.php/provide/vod/?ac=detail&pg=fypage&t=fyclass',
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'MOBILE_UA'
|
|
||||||
},
|
|
||||||
timeout: 5000, // class_name: '电影&电视剧&综艺&动漫',
|
|
||||||
// class_url: '1&2&3&4',
|
|
||||||
// class_parse:'js:let html=request(input);input=JSON.parse(html).class;',
|
|
||||||
class_parse: 'json:class;',
|
|
||||||
limit: 20,
|
|
||||||
multi: 1,
|
|
||||||
searchable: 2, //是否启用全局搜索,
|
|
||||||
quickSearch: 1, //是否启用快速搜索,
|
|
||||||
filterable: 0, //是否启用分类筛选,
|
|
||||||
play_parse: true,
|
|
||||||
parse_url: '',
|
|
||||||
lazy: cj_lazy,
|
|
||||||
推荐: '*',
|
|
||||||
一级: 'json:list;vod_name;vod_pic;vod_remarks;vod_id;vod_play_from',
|
|
||||||
二级: `js:
|
|
||||||
let html=request(input);
|
|
||||||
html=JSON.parse(html);
|
|
||||||
let data=html.list;
|
|
||||||
VOD=data[0];`,
|
|
||||||
搜索: '*',
|
|
||||||
},
|
|
||||||
};
|
|
||||||
return JSON.parse(JSON.stringify(mubanDict));
|
|
||||||
}
|
|
||||||
|
|
||||||
var mubanDict = getMubans();
|
|
||||||
var muban = getMubans();
|
|
||||||
export default {
|
|
||||||
muban,
|
|
||||||
getMubans
|
|
||||||
};
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
https://test.cms.bidiys.com/
|
||||||
Binary file not shown.
@@ -0,0 +1 @@
|
|||||||
|
http://156.238.236.120:14500
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
https://newappcms.cs4k.top/
|
||||||
@@ -1 +0,0 @@
|
|||||||
https://www.yswqwcj.top
|
|
||||||
+20
-20
@@ -133,8 +133,8 @@
|
|||||||
"type": 3,
|
"type": 3,
|
||||||
"api": "csp_AppGet",
|
"api": "csp_AppGet",
|
||||||
"ext": {
|
"ext": {
|
||||||
"url": "./txt/coffee.txt",
|
"url": "http://110.42.53.99:1080",
|
||||||
"dataKey": "qwertyuiopqwertm",
|
"dataKey": "staraugust123456",
|
||||||
"siteApi": "qiji",
|
"siteApi": "qiji",
|
||||||
"version": "301"
|
"version": "301"
|
||||||
}
|
}
|
||||||
@@ -145,10 +145,10 @@
|
|||||||
"type": 3,
|
"type": 3,
|
||||||
"api": "csp_AppGet",
|
"api": "csp_AppGet",
|
||||||
"ext": {
|
"ext": {
|
||||||
"url": "https://app.xifanys.com",
|
"url": "https://appcms.rx4k.top",
|
||||||
"dataKey": "HM6Ly9yeS4ya3dvL",
|
"dataKey": "ZX10ysTYZWtIJCTU",
|
||||||
"siteApi": "get",
|
"siteApi": "qiji",
|
||||||
"version": "119"
|
"version": "120"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -160,7 +160,7 @@
|
|||||||
"url": "./txt/xfdd.txt",
|
"url": "./txt/xfdd.txt",
|
||||||
"dataKey": "xasdasdqwertyuio",
|
"dataKey": "xasdasdqwertyuio",
|
||||||
"siteApi": "get",
|
"siteApi": "get",
|
||||||
"version": "304"
|
"version": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -169,10 +169,10 @@
|
|||||||
"type": 3,
|
"type": 3,
|
||||||
"api": "csp_AppGet",
|
"api": "csp_AppGet",
|
||||||
"ext": {
|
"ext": {
|
||||||
"url": "./txt/kan.txt",
|
"url": "http://111.180.190.158:1122",
|
||||||
"dataKey": "2268331221bobobo",
|
"dataKey": "AAdgrdghjfgswerA",
|
||||||
"siteApi": "get",
|
"siteApi": "qiji",
|
||||||
"version": "107"
|
"version": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -181,10 +181,10 @@
|
|||||||
"type": 3,
|
"type": 3,
|
||||||
"api": "csp_AppGet",
|
"api": "csp_AppGet",
|
||||||
"ext": {
|
"ext": {
|
||||||
"url": "./txt/89.txt",
|
"url": "http://122.228.193.2:9654",
|
||||||
"dataKey": "#getapp@TMD@2025",
|
"dataKey": "ca94b06ca3c7d80e",
|
||||||
"siteApi": "get",
|
"siteApi": "get",
|
||||||
"version": "102"
|
"version": "119"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -236,15 +236,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "小丑",
|
"key": "优优",
|
||||||
"name": "🤡┃小丑┃APP",
|
"name": "💯┃优优┃APP",
|
||||||
"type": 3,
|
"type": 3,
|
||||||
"api": "csp_AppGet",
|
"api": "csp_AppGet",
|
||||||
"ext": {
|
"ext": {
|
||||||
"url": "http://172.247.192.138:18520",
|
"url": "https://apiapplbys.lbys.app:5678",
|
||||||
"dataKey": "SuNlEkOLAoWJj1Oe",
|
"dataKey": "apiapplbyskey168",
|
||||||
"siteApi": "qiji",
|
"siteApi": "get",
|
||||||
"version": ""
|
"version": "107"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,360 +0,0 @@
|
|||||||
/*
|
|
||||||
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
|
||||||
* This devtool is neither made for production nor for readable output files.
|
|
||||||
* It uses "eval()" calls to create a separate source file in the browser devtools.
|
|
||||||
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
||||||
* or disable the default devtool with "devtool: false".
|
|
||||||
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
||||||
*/
|
|
||||||
(function webpackUniversalModuleDefinition(root, factory) {
|
|
||||||
if (typeof exports === 'object' && typeof module === 'object') {
|
|
||||||
// CommonJS
|
|
||||||
module.exports = exports = factory();
|
|
||||||
} else if (typeof define === 'function' && define.amd) {
|
|
||||||
// AMD
|
|
||||||
define([], factory);
|
|
||||||
} else {
|
|
||||||
// Global (browser)
|
|
||||||
globalThis.JSEncrypt = factory();
|
|
||||||
}
|
|
||||||
})(this, () => {
|
|
||||||
return /******/ (() => { // webpackBootstrap
|
|
||||||
/******/
|
|
||||||
var __webpack_modules__ = ({
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/JSEncrypt.js":
|
|
||||||
/*!**************************!*\
|
|
||||||
!*** ./lib/JSEncrypt.js ***!
|
|
||||||
\**************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncrypt\": () => (/* binding */ JSEncrypt)\n/* harmony export */ });\n/* harmony import */ var _lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/jsbn/base64 */ \"./lib/lib/jsbn/base64.js\");\n/* harmony import */ var _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./JSEncryptRSAKey */ \"./lib/JSEncryptRSAKey.js\");\n/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"./node_modules/process/browser.js\");\nvar _a;\n\n\nvar version = typeof process !== 'undefined'\n ? (_a = process.env) === null || _a === void 0 ? void 0 : \"3.3.2\"\n : undefined;\n/**\n *\n * @param {Object} [options = {}] - An object to customize JSEncrypt behaviour\n * possible parameters are:\n * - default_key_size {number} default: 1024 the key size in bit\n * - default_public_exponent {string} default: '010001' the hexadecimal representation of the public exponent\n * - log {boolean} default: false whether log warn/error or not\n * @constructor\n */\nvar JSEncrypt = /** @class */ (function () {\n function JSEncrypt(options) {\n if (options === void 0) { options = {}; }\n options = options || {};\n this.default_key_size = options.default_key_size\n ? parseInt(options.default_key_size, 10)\n : 1024;\n this.default_public_exponent = options.default_public_exponent || \"010001\"; // 65537 default openssl public exponent for rsa key type\n this.log = options.log || false;\n // The private and public key.\n this.key = null;\n }\n /**\n * Method to set the rsa key parameter (one method is enough to set both the public\n * and the private key, since the private key contains the public key paramenters)\n * Log a warning if logs are enabled\n * @param {Object|string} key the pem encoded string or an object (with or without header/footer)\n * @public\n */\n JSEncrypt.prototype.setKey = function (key) {\n if (this.log && this.key) {\n console.warn(\"A key was already set, overriding existing.\");\n }\n this.key = new _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__.JSEncryptRSAKey(key);\n };\n /**\n * Proxy method for setKey, for api compatibility\n * @see setKey\n * @public\n */\n JSEncrypt.prototype.setPrivateKey = function (privkey) {\n // Create the key.\n this.setKey(privkey);\n };\n /**\n * Proxy method for setKey, for api compatibility\n * @see setKey\n * @public\n */\n JSEncrypt.prototype.setPublicKey = function (pubkey) {\n // Sets the public key.\n this.setKey(pubkey);\n };\n /**\n * Proxy method for RSAKey object's decrypt, decrypt the string using the private\n * components of the rsa key object. Note that if the object was not set will be created\n * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\n * @param {string} str base64 encoded crypted string to decrypt\n * @return {string} the decrypted string\n * @public\n */\n JSEncrypt.prototype.decrypt = function (str) {\n // Return the decrypted string.\n try {\n return this.getKey().decrypt((0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.b64tohex)(str));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's encrypt, encrypt the string using the public\n * components of the rsa key object. Note that if the object was not set will be created\n * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\n * @param {string} str the string to encrypt\n * @return {string} the encrypted string encoded in base64\n * @public\n */\n JSEncrypt.prototype.encrypt = function (str) {\n // Return the encrypted string.\n try {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getKey().encrypt(str));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's sign.\n * @param {string} str the string to sign\n * @param {function} digestMethod hash method\n * @param {string} digestName the name of the hash algorithm\n * @return {string} the signature encoded in base64\n * @public\n */\n JSEncrypt.prototype.sign = function (str, digestMethod, digestName) {\n // return the RSA signature of 'str' in 'hex' format.\n try {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getKey().sign(str, digestMethod, digestName));\n }\n catch (ex) {\n return false;\n }\n };\n
Line truncated
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/JSEncryptRSAKey.js":
|
|
||||||
/*!********************************!*\
|
|
||||||
!*** ./lib/JSEncryptRSAKey.js ***!
|
|
||||||
\********************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncryptRSAKey\": () => (/* binding */ JSEncryptRSAKey)\n/* harmony export */ });\n/* harmony import */ var _lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/jsbn/base64 */ \"./lib/lib/jsbn/base64.js\");\n/* harmony import */ var _lib_asn1js_hex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/asn1js/hex */ \"./lib/lib/asn1js/hex.js\");\n/* harmony import */ var _lib_asn1js_base64__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/asn1js/base64 */ \"./lib/lib/asn1js/base64.js\");\n/* harmony import */ var _lib_asn1js_asn1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/asn1js/asn1 */ \"./lib/lib/asn1js/asn1.js\");\n/* harmony import */ var _lib_jsbn_rsa__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lib/jsbn/rsa */ \"./lib/lib/jsbn/rsa.js\");\n/* harmony import */ var _lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./lib/jsbn/jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./lib/jsrsasign/asn1-1.0 */ \"./lib/lib/jsrsasign/asn1-1.0.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n/**\n * Create a new JSEncryptRSAKey that extends Tom Wu's RSA key object.\n * This object is just a decorator for parsing the key parameter\n * @param {string|Object} key - The key in string format, or an object containing\n * the parameters needed to build a RSAKey object.\n * @constructor\n */\nvar JSEncryptRSAKey = /** @class */ (function (_super) {\n __extends(JSEncryptRSAKey, _super);\n function JSEncryptRSAKey(key) {\n var _this = _super.call(this) || this;\n // Call the super constructor.\n // RSAKey.call(this);\n // If a key key was provided.\n if (key) {\n // If this is a string...\n if (typeof key === \"string\") {\n _this.parseKey(key);\n }\n else if (JSEncryptRSAKey.hasPrivateKeyProperty(key) ||\n JSEncryptRSAKey.hasPublicKeyProperty(key)) {\n // Set the values for the key.\n _this.parsePropertiesFrom(key);\n }\n }\n return _this;\n }\n /**\n * Method to parse a pem encoded string containing both a public or private key.\n * The method will translate the pem encoded string in a der encoded string and\n * will parse private key and public key parameters. This method accepts public key\n * in the rsaencryption pkcs #1 format (oid: 1.2.840.113549.1.1.1).\n *\n * @todo Check how many rsa formats use the same format of pkcs #1.\n *\n * The format is defined as:\n * PublicKeyInfo ::= SEQUENCE {\n * algorithm AlgorithmIdentifier,\n * PublicKey BIT STRING\n * }\n * Where AlgorithmIdentifier is:\n * AlgorithmIdentifier ::= SEQUENCE {\n * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm\n * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1)\n * }\n * and PublicKey is a SEQUENCE encapsulated in a BIT STRING\n * RSAPublicKey ::= SEQUENCE {\n * modulus INTEGER, -- n\n * publicExponent INTEGER -- e\n * }\n * it's possible to examine the structure of the keys obtained from openssl using\n * an asn.1 dumper as the one used here to parse the components: http://lapo.it/asn1js/\n * @argument {string} pem the pem encoded string, can include the BEGIN/END header/footer\n * @private\n */\n JSEncryptRSAKey.prototype.parseKey = function (pem) {\n try {\n var modulus = 0;\n var public_exponent = 0;\n var reHex = /^\\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\\s*)+$/;\n var der = reHex.test(pem) ? _lib_asn1js_hex__WEBPACK_IMPORTED_MODULE_1__.Hex.decode(pem) : _lib_asn1js_base64__WEBPACK_IMPORTED_MODULE_2__.Base64.unarmor(pem);\n var asn1 = _lib_asn1js_asn1__WEBPACK_IMPORTED_MODULE_3__.ASN1.decode(der);\n // Fixes a bug with OpenSSL
Line truncated
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/index.js":
|
|
||||||
/*!**********************!*\
|
|
||||||
!*** ./lib/index.js ***!
|
|
||||||
\**********************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncrypt\": () => (/* reexport safe */ _JSEncrypt__WEBPACK_IMPORTED_MODULE_0__.JSEncrypt),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _JSEncrypt__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./JSEncrypt */ \"./lib/JSEncrypt.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_JSEncrypt__WEBPACK_IMPORTED_MODULE_0__.JSEncrypt);\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/index.js?");
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/asn1js/asn1.js":
|
|
||||||
/*!********************************!*\
|
|
||||||
!*** ./lib/lib/asn1js/asn1.js ***!
|
|
||||||
\********************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ASN1\": () => (/* binding */ ASN1),\n/* harmony export */ \"ASN1Tag\": () => (/* binding */ ASN1Tag),\n/* harmony export */ \"Stream\": () => (/* binding */ Stream)\n/* harmony export */ });\n/* harmony import */ var _int10__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./int10 */ \"./lib/lib/asn1js/int10.js\");\n// ASN.1 JavaScript decoder\n// Copyright (c) 2008-2014 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\n/*global oids */\n\nvar ellipsis = \"\\u2026\";\nvar reTimeS = /^(\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nvar reTimeL = /^(\\d\\d\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nfunction stringCut(str, len) {\n if (str.length > len) {\n str = str.substring(0, len) + ellipsis;\n }\n return str;\n}\nvar Stream = /** @class */ (function () {\n function Stream(enc, pos) {\n this.hexDigits = \"0123456789ABCDEF\";\n if (enc instanceof Stream) {\n this.enc = enc.enc;\n this.pos = enc.pos;\n }\n else {\n // enc should be an array or a binary string\n this.enc = enc;\n this.pos = pos;\n }\n }\n Stream.prototype.get = function (pos) {\n if (pos === undefined) {\n pos = this.pos++;\n }\n if (pos >= this.enc.length) {\n throw new Error(\"Requesting byte offset \".concat(pos, \" on a stream of length \").concat(this.enc.length));\n }\n return (\"string\" === typeof this.enc) ? this.enc.charCodeAt(pos) : this.enc[pos];\n };\n Stream.prototype.hexByte = function (b) {\n return this.hexDigits.charAt((b >> 4) & 0xF) + this.hexDigits.charAt(b & 0xF);\n };\n Stream.prototype.hexDump = function (start, end, raw) {\n var s = \"\";\n for (var i = start; i < end; ++i) {\n s += this.hexByte(this.get(i));\n if (raw !== true) {\n switch (i & 0xF) {\n case 0x7:\n s += \" \";\n break;\n case 0xF:\n s += \"\\n\";\n break;\n default:\n s += \" \";\n }\n }\n }\n return s;\n };\n Stream.prototype.isASCII = function (start, end) {\n for (var i = start; i < end; ++i) {\n var c = this.get(i);\n if (c < 32 || c > 176) {\n return false;\n }\n }\n return true;\n };\n Stream.prototype.parseStringISO = function (start, end) {\n var s = \"\";\n for (var i = start; i < end; ++i) {\n s += String.fromCharCode(this.get(i));\n }\n return s;\n };\n Stream.prototype.parseStringUTF = function (start, end) {\n var s = \"\";\n for (var i = start; i < end;) {\n var c = this.get(i++);\n if (c < 128) {\n s += String.fromCharCode(c);\n }\n else if ((c > 191) && (c < 224)) {\n s += String.fromCharCode(((c & 0x1F) << 6) | (this.get(i++) & 0x3F));\n }\n else {\n s += String.fromCharCode(((c & 0x0F) << 12) | ((this.get(i++) & 0x3F) << 6) | (this.get(i++) & 0x3F));\n }\n }\n return s;\n };\n Stream.prototype.parseStringBMP = function (start, end) {\n var str = \"\";\n var hi;\n var lo;\n for (var i = start; i < end;) {\n hi = this.get(i++);\n lo = this.get(i++);\n str += String.fromCharCode((hi << 8) | lo);\n }\n return str;\n };\n Stream.prototype.parseTime = function (start, end, shortYear) {\n var s = this.parseStringISO(start, end);\n var m = (shoLine truncated
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/asn1js/base64.js":
|
|
||||||
/*!**********************************!*\
|
|
||||||
!*** ./lib/lib/asn1js/base64.js ***!
|
|
||||||
\**********************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Base64\": () => (/* binding */ Base64)\n/* harmony export */ });\n// Base64 JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nvar Base64 = {\n decode: function (a) {\n var i;\n if (decoder === undefined) {\n var b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n var ignore = \"= \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n decoder = Object.create(null);\n for (i = 0; i < 64; ++i) {\n decoder[b64.charAt(i)] = i;\n }\n decoder['-'] = 62; //+\n decoder['_'] = 63; //-\n for (i = 0; i < ignore.length; ++i) {\n decoder[ignore.charAt(i)] = -1;\n }\n }\n var out = [];\n var bits = 0;\n var char_count = 0;\n for (i = 0; i < a.length; ++i) {\n var c = a.charAt(i);\n if (c == \"=\") {\n break;\n }\n c = decoder[c];\n if (c == -1) {\n continue;\n }\n if (c === undefined) {\n throw new Error(\"Illegal character at offset \" + i);\n }\n bits |= c;\n if (++char_count >= 4) {\n out[out.length] = (bits >> 16);\n out[out.length] = (bits >> 8) & 0xFF;\n out[out.length] = bits & 0xFF;\n bits = 0;\n char_count = 0;\n }\n else {\n bits <<= 6;\n }\n }\n switch (char_count) {\n case 1:\n throw new Error(\"Base64 encoding incomplete: at least 2 bits missing\");\n case 2:\n out[out.length] = (bits >> 10);\n break;\n case 3:\n out[out.length] = (bits >> 16);\n out[out.length] = (bits >> 8) & 0xFF;\n break;\n }\n return out;\n },\n re: /-----BEGIN [^-]+-----([A-Za-z0-9+\\/=\\s]+)-----END [^-]+-----|begin-base64[^\\n]+\\n([A-Za-z0-9+\\/=\\s]+)====/,\n unarmor: function (a) {\n var m = Base64.re.exec(a);\n if (m) {\n if (m[1]) {\n a = m[1];\n }\n else if (m[2]) {\n a = m[2];\n }\n else {\n throw new Error(\"RegExp out of sync\");\n }\n }\n return Base64.decode(a);\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/base64.js?");
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/asn1js/hex.js":
|
|
||||||
/*!*******************************!*\
|
|
||||||
!*** ./lib/lib/asn1js/hex.js ***!
|
|
||||||
\*******************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Hex\": () => (/* binding */ Hex)\n/* harmony export */ });\n// Hex JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nvar Hex = {\n decode: function (a) {\n var i;\n if (decoder === undefined) {\n var hex = \"0123456789ABCDEF\";\n var ignore = \" \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n decoder = {};\n for (i = 0; i < 16; ++i) {\n decoder[hex.charAt(i)] = i;\n }\n hex = hex.toLowerCase();\n for (i = 10; i < 16; ++i) {\n decoder[hex.charAt(i)] = i;\n }\n for (i = 0; i < ignore.length; ++i) {\n decoder[ignore.charAt(i)] = -1;\n }\n }\n var out = [];\n var bits = 0;\n var char_count = 0;\n for (i = 0; i < a.length; ++i) {\n var c = a.charAt(i);\n if (c == \"=\") {\n break;\n }\n c = decoder[c];\n if (c == -1) {\n continue;\n }\n if (c === undefined) {\n throw new Error(\"Illegal character at offset \" + i);\n }\n bits |= c;\n if (++char_count >= 2) {\n out[out.length] = bits;\n bits = 0;\n char_count = 0;\n }\n else {\n bits <<= 4;\n }\n }\n if (char_count) {\n throw new Error(\"Hex encoding incomplete: 4 bits missing\");\n }\n return out;\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/hex.js?");
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/asn1js/int10.js":
|
|
||||||
/*!*********************************!*\
|
|
||||||
!*** ./lib/lib/asn1js/int10.js ***!
|
|
||||||
\*********************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Int10\": () => (/* binding */ Int10)\n/* harmony export */ });\n// Big integer base-10 printing library\n// Copyright (c) 2014 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar max = 10000000000000; // biggest integer that can still fit 2^53 when multiplied by 256\nvar Int10 = /** @class */ (function () {\n function Int10(value) {\n this.buf = [+value || 0];\n }\n Int10.prototype.mulAdd = function (m, c) {\n // assert(m <= 256)\n var b = this.buf;\n var l = b.length;\n var i;\n var t;\n for (i = 0; i < l; ++i) {\n t = b[i] * m + c;\n if (t < max) {\n c = 0;\n }\n else {\n c = 0 | (t / max);\n t -= c * max;\n }\n b[i] = t;\n }\n if (c > 0) {\n b[i] = c;\n }\n };\n Int10.prototype.sub = function (c) {\n // assert(m <= 256)\n var b = this.buf;\n var l = b.length;\n var i;\n var t;\n for (i = 0; i < l; ++i) {\n t = b[i] - c;\n if (t < 0) {\n t += max;\n c = 1;\n }\n else {\n c = 0;\n }\n b[i] = t;\n }\n while (b[b.length - 1] === 0) {\n b.pop();\n }\n };\n Int10.prototype.toString = function (base) {\n if ((base || 10) != 10) {\n throw new Error(\"only base 10 is supported\");\n }\n var b = this.buf;\n var s = b[b.length - 1].toString();\n for (var i = b.length - 2; i >= 0; --i) {\n s += (max + b[i]).toString().substring(1);\n }\n return s;\n };\n Int10.prototype.valueOf = function () {\n var b = this.buf;\n var v = 0;\n for (var i = b.length - 1; i >= 0; --i) {\n v = v * max + b[i];\n }\n return v;\n };\n Int10.prototype.simplify = function () {\n var b = this.buf;\n return (b.length == 1) ? b[0] : this;\n };\n return Int10;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/int10.js?");
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/jsbn/base64.js":
|
|
||||||
/*!********************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/base64.js ***!
|
|
||||||
\********************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"b64toBA\": () => (/* binding */ b64toBA),\n/* harmony export */ \"b64tohex\": () => (/* binding */ b64tohex),\n/* harmony export */ \"hex2b64\": () => (/* binding */ hex2b64)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./lib/lib/jsbn/util.js\");\n\nvar b64map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar b64pad = \"=\";\nfunction hex2b64(h) {\n var i;\n var c;\n var ret = \"\";\n for (i = 0; i + 3 <= h.length; i += 3) {\n c = parseInt(h.substring(i, i + 3), 16);\n ret += b64map.charAt(c >> 6) + b64map.charAt(c & 63);\n }\n if (i + 1 == h.length) {\n c = parseInt(h.substring(i, i + 1), 16);\n ret += b64map.charAt(c << 2);\n }\n else if (i + 2 == h.length) {\n c = parseInt(h.substring(i, i + 2), 16);\n ret += b64map.charAt(c >> 2) + b64map.charAt((c & 3) << 4);\n }\n while ((ret.length & 3) > 0) {\n ret += b64pad;\n }\n return ret;\n}\n// convert a base64 string to hex\nfunction b64tohex(s) {\n var ret = \"\";\n var i;\n var k = 0; // b64 state, 0-3\n var slop = 0;\n for (i = 0; i < s.length; ++i) {\n if (s.charAt(i) == b64pad) {\n break;\n }\n var v = b64map.indexOf(s.charAt(i));\n if (v < 0) {\n continue;\n }\n if (k == 0) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v >> 2);\n slop = v & 3;\n k = 1;\n }\n else if (k == 1) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)((slop << 2) | (v >> 4));\n slop = v & 0xf;\n k = 2;\n }\n else if (k == 2) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(slop);\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v >> 2);\n slop = v & 3;\n k = 3;\n }\n else {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)((slop << 2) | (v >> 4));\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v & 0xf);\n k = 0;\n }\n }\n if (k == 1) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(slop << 2);\n }\n return ret;\n}\n// convert a base64 string to a byte/number array\nfunction b64toBA(s) {\n // piggyback on b64tohex for now, optimize later\n var h = b64tohex(s);\n var i;\n var a = [];\n for (i = 0; 2 * i < h.length; ++i) {\n a[i] = parseInt(h.substring(2 * i, 2 * i + 2), 16);\n }\n return a;\n}\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/base64.js?");
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/jsbn/jsbn.js":
|
|
||||||
/*!******************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/jsbn.js ***!
|
|
||||||
\******************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BigInteger\": () => (/* binding */ BigInteger),\n/* harmony export */ \"intAt\": () => (/* binding */ intAt),\n/* harmony export */ \"nbi\": () => (/* binding */ nbi),\n/* harmony export */ \"nbits\": () => (/* binding */ nbits),\n/* harmony export */ \"nbv\": () => (/* binding */ nbv),\n/* harmony export */ \"parseBigInt\": () => (/* binding */ parseBigInt)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./lib/lib/jsbn/util.js\");\n// Copyright (c) 2005 Tom Wu\n// All Rights Reserved.\n// See \"LICENSE\" for details.\n// Basic JavaScript BN library - subset useful for RSA encryption.\n\n// Bits per digit\nvar dbits;\n// JavaScript engine analysis\nvar canary = 0xdeadbeefcafe;\nvar j_lm = ((canary & 0xffffff) == 0xefcafe);\n//#region\nvar lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997];\nvar lplim = (1 << 26) / lowprimes[lowprimes.length - 1];\n//#endregion\n// (public) Constructor\nvar BigInteger = /** @class */ (function () {\n function BigInteger(a, b, c) {\n if (a != null) {\n if (\"number\" == typeof a) {\n this.fromNumber(a, b, c);\n }\n else if (b == null && \"string\" != typeof a) {\n this.fromString(a, 256);\n }\n else {\n this.fromString(a, b);\n }\n }\n }\n //#region PUBLIC\n // BigInteger.prototype.toString = bnToString;\n // (public) return string representation in given radix\n BigInteger.prototype.toString = function (b) {\n if (this.s < 0) {\n return \"-\" + this.negate().toString(b);\n }\n var k;\n if (b == 16) {\n k = 4;\n }\n else if (b == 8) {\n k = 3;\n }\n else if (b == 2) {\n k = 1;\n }\n else if (b == 32) {\n k = 5;\n }\n else if (b == 4) {\n k = 2;\n }\n else {\n return this.toRadix(b);\n }\n var km = (1 << k) - 1;\n var d;\n var m = false;\n var r = \"\";\n var i = this.t;\n var p = this.DB - (i * this.DB) % k;\n if (i-- > 0) {\n if (p < this.DB && (d = this[i] >> p) > 0) {\n m = true;\n r = (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(d);\n }\n while (i >= 0) {\n if (p < k) {\n d = (this[i] & ((1 << p) - 1)) << (k - p);\n d |= this[--i] >> (p += this.DB - k);\n }\n else {\n d = (this[i] >> (p -= k)) & km;\n if (p <= 0) {\n p += this.DB;\n --i;\n }\n }\n if (d > 0) {\n m = true;\n }\n if (m) {\n r += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(d);\n }\n }\n }\n return m ? r : \"0\";\n };\n // BigInteger.prototype.negate = bnNegate;\n // (public) -this\n BigInteger.prototype.negate = function () {\n var r = nbi();\n BigInteger.ZERO.subTo(this, r);\n return r;\n };\n // BigInteger.prototype.abs = bnAbs;\n // (public) |this|\n BigInteger.prototype.abs = function () {\n return (this.s < 0) ? this.negate() : this;\n };\n // BigInteger.prototype.compareTo = bnCompareTo;\n // (public) return + if this > a, - if this < a, 0 if equal\n BigInteger.prototype.compareTo = function (a) {\n var r = this.s - a.s;\n if (r != 0) {\n return r;\n }\n var i = this.t;\n r = i - a.t;\n if (r != 0) {\n return (this.s < 0) ? -r : r;\n }\n while (--i >= 0) {\n if ((r = this[i] - a[i]) != 0) {\n return r;\n }\n }\n return 0;\n };\n // BigInteger.protot
Line truncated
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/jsbn/prng4.js":
|
|
||||||
/*!*******************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/prng4.js ***!
|
|
||||||
\*******************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Arcfour\": () => (/* binding */ Arcfour),\n/* harmony export */ \"prng_newstate\": () => (/* binding */ prng_newstate),\n/* harmony export */ \"rng_psize\": () => (/* binding */ rng_psize)\n/* harmony export */ });\n// prng4.js - uses Arcfour as a PRNG\nvar Arcfour = /** @class */ (function () {\n function Arcfour() {\n this.i = 0;\n this.j = 0;\n this.S = [];\n }\n // Arcfour.prototype.init = ARC4init;\n // Initialize arcfour context from key, an array of ints, each from [0..255]\n Arcfour.prototype.init = function (key) {\n var i;\n var j;\n var t;\n for (i = 0; i < 256; ++i) {\n this.S[i] = i;\n }\n j = 0;\n for (i = 0; i < 256; ++i) {\n j = (j + this.S[i] + key[i % key.length]) & 255;\n t = this.S[i];\n this.S[i] = this.S[j];\n this.S[j] = t;\n }\n this.i = 0;\n this.j = 0;\n };\n // Arcfour.prototype.next = ARC4next;\n Arcfour.prototype.next = function () {\n var t;\n this.i = (this.i + 1) & 255;\n this.j = (this.j + this.S[this.i]) & 255;\n t = this.S[this.i];\n this.S[this.i] = this.S[this.j];\n this.S[this.j] = t;\n return this.S[(t + this.S[this.i]) & 255];\n };\n return Arcfour;\n}());\n\n// Plug in your RNG constructor here\nfunction prng_newstate() {\n return new Arcfour();\n}\n// Pool size must be a multiple of 4 and greater than 32.\n// An array of bytes the size of the pool will be passed to init()\nvar rng_psize = 256;\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/prng4.js?");
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/jsbn/rng.js":
|
|
||||||
/*!*****************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/rng.js ***!
|
|
||||||
\*****************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"SecureRandom\": () => (/* binding */ SecureRandom)\n/* harmony export */ });\n/* harmony import */ var _prng4__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./prng4 */ \"./lib/lib/jsbn/prng4.js\");\n// Random number generator - requires a PRNG backend, e.g. prng4.js\n\nvar rng_state;\nvar rng_pool = null;\nvar rng_pptr;\n// Initialize the pool with junk if needed.\nif (rng_pool == null) {\n rng_pool = [];\n rng_pptr = 0;\n var t = void 0;\n if (typeof window !== 'undefined' && window.crypto && window.crypto.getRandomValues) {\n // Extract entropy (2048 bits) from RNG if available\n var z = new Uint32Array(256);\n window.crypto.getRandomValues(z);\n for (t = 0; t < z.length; ++t) {\n rng_pool[rng_pptr++] = z[t] & 255;\n }\n }\n // Use mouse events for entropy, if we do not have enough entropy by the time\n // we need it, entropy will be generated by Math.random.\n var count = 0;\n var onMouseMoveListener_1 = function (ev) {\n count = count || 0;\n if (count >= 256 || rng_pptr >= _prng4__WEBPACK_IMPORTED_MODULE_0__.rng_psize) {\n if (window.removeEventListener) {\n window.removeEventListener(\"mousemove\", onMouseMoveListener_1, false);\n }\n else if (window.detachEvent) {\n window.detachEvent(\"onmousemove\", onMouseMoveListener_1);\n }\n return;\n }\n try {\n var mouseCoordinates = ev.x + ev.y;\n rng_pool[rng_pptr++] = mouseCoordinates & 255;\n count += 1;\n }\n catch (e) {\n // Sometimes Firefox will deny permission to access event properties for some reason. Ignore.\n }\n };\n if (typeof window !== 'undefined') {\n if (window.addEventListener) {\n window.addEventListener(\"mousemove\", onMouseMoveListener_1, false);\n }\n else if (window.attachEvent) {\n window.attachEvent(\"onmousemove\", onMouseMoveListener_1);\n }\n }\n}\nfunction rng_get_byte() {\n if (rng_state == null) {\n rng_state = (0,_prng4__WEBPACK_IMPORTED_MODULE_0__.prng_newstate)();\n // At this point, we may not have collected enough entropy. If not, fall back to Math.random\n while (rng_pptr < _prng4__WEBPACK_IMPORTED_MODULE_0__.rng_psize) {\n var random = Math.floor(65536 * Math.random());\n rng_pool[rng_pptr++] = random & 255;\n }\n rng_state.init(rng_pool);\n for (rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) {\n rng_pool[rng_pptr] = 0;\n }\n rng_pptr = 0;\n }\n // TODO: allow reseeding after first request\n return rng_state.next();\n}\nvar SecureRandom = /** @class */ (function () {\n function SecureRandom() {\n }\n SecureRandom.prototype.nextBytes = function (ba) {\n for (var i = 0; i < ba.length; ++i) {\n ba[i] = rng_get_byte();\n }\n };\n return SecureRandom;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/rng.js?");
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/jsbn/rsa.js":
|
|
||||||
/*!*****************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/rsa.js ***!
|
|
||||||
\*****************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"RSAKey\": () => (/* binding */ RSAKey)\n/* harmony export */ });\n/* harmony import */ var _jsbn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _rng__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./rng */ \"./lib/lib/jsbn/rng.js\");\n// Depends on jsbn.js and rng.js\n// Version 1.1: support utf-8 encoding in pkcs1pad2\n// convert a (hex) string to a bignum object\n\n\n// function linebrk(s,n) {\n// var ret = \"\";\n// var i = 0;\n// while(i + n < s.length) {\n// ret += s.substring(i,i+n) + \"\\n\";\n// i += n;\n// }\n// return ret + s.substring(i,s.length);\n// }\n// function byte2Hex(b) {\n// if(b < 0x10)\n// return \"0\" + b.toString(16);\n// else\n// return b.toString(16);\n// }\nfunction pkcs1pad1(s, n) {\n if (n < s.length + 22) {\n console.error(\"Message too long for RSA\");\n return null;\n }\n var len = n - s.length - 6;\n var filler = \"\";\n for (var f = 0; f < len; f += 2) {\n filler += \"ff\";\n }\n var m = \"0001\" + filler + \"00\" + s;\n return (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(m, 16);\n}\n// PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint\nfunction pkcs1pad2(s, n) {\n if (n < s.length + 11) { // TODO: fix for utf-8\n console.error(\"Message too long for RSA\");\n return null;\n }\n var ba = [];\n var i = s.length - 1;\n while (i >= 0 && n > 0) {\n var c = s.charCodeAt(i--);\n if (c < 128) { // encode using utf-8\n ba[--n] = c;\n }\n else if ((c > 127) && (c < 2048)) {\n ba[--n] = (c & 63) | 128;\n ba[--n] = (c >> 6) | 192;\n }\n else {\n ba[--n] = (c & 63) | 128;\n ba[--n] = ((c >> 6) & 63) | 128;\n ba[--n] = (c >> 12) | 224;\n }\n }\n ba[--n] = 0;\n var rng = new _rng__WEBPACK_IMPORTED_MODULE_1__.SecureRandom();\n var x = [];\n while (n > 2) { // random non-zero pad\n x[0] = 0;\n while (x[0] == 0) {\n rng.nextBytes(x);\n }\n ba[--n] = x[0];\n }\n ba[--n] = 2;\n ba[--n] = 0;\n return new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(ba);\n}\n// \"empty\" RSA key constructor\nvar RSAKey = /** @class */ (function () {\n function RSAKey() {\n this.n = null;\n this.e = 0;\n this.d = null;\n this.p = null;\n this.q = null;\n this.dmp1 = null;\n this.dmq1 = null;\n this.coeff = null;\n }\n //#region PROTECTED\n // protected\n // RSAKey.prototype.doPublic = RSADoPublic;\n // Perform raw public operation on \"x\": return x^e (mod n)\n RSAKey.prototype.doPublic = function (x) {\n return x.modPowInt(this.e, this.n);\n };\n // RSAKey.prototype.doPrivate = RSADoPrivate;\n // Perform raw private operation on \"x\": return x^d (mod n)\n RSAKey.prototype.doPrivate = function (x) {\n if (this.p == null || this.q == null) {\n return x.modPow(this.d, this.n);\n }\n // TODO: re-calculate any missing CRT params\n var xp = x.mod(this.p).modPow(this.dmp1, this.p);\n var xq = x.mod(this.q).modPow(this.dmq1, this.q);\n while (xp.compareTo(xq) < 0) {\n xp = xp.add(this.p);\n }\n return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq);\n };\n //#endregion PROTECTED\n //#region PUBLIC\n // RSAKey.prototype.setPublic = RSASetPublic;\n // Set the public key fields N and e from hex strings\n RSAKey.prototype.setPublic = function (N, E) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(N, 16);\n this.e = parseInt(E, 16);\n }\n else {\n console.error(\"Invalid RSA public key\");\n }\n };\n // RSAKey.prototype.encrypt = RSAEncrypt;\n // Return the PKCS#1 RSA encryption of \"text\" as an even-length hex string\n RSAKey.prototype.encrypt = function (text) {\n var maxLength = (this.n.bitLength() + 7) >> 3;\n var m = pkcs1pad2(text, maxLength);\n if (m == null) {\n return null;\n }\n var c = this.doPublic(m);\n if (c == null) {\n return null;\n }\n var h = c.toString(16);\n var length = h.length;\n // fix zero before result\n for (var i = 0; i < maxLength * 2 - length; i++) {\n h = \"0\" + h;\n }\n return h;\n };\n // RSAKey.prototype.setPrivate = RSASetPrivate;\n // Set the private key fields N, e, and d from hex strings\n RSAKey.prototype.setPrivate = function (N, E,
Line truncated
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/jsbn/util.js":
|
|
||||||
/*!******************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/util.js ***!
|
|
||||||
\******************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"cbit\": () => (/* binding */ cbit),\n/* harmony export */ \"int2char\": () => (/* binding */ int2char),\n/* harmony export */ \"lbit\": () => (/* binding */ lbit),\n/* harmony export */ \"op_and\": () => (/* binding */ op_and),\n/* harmony export */ \"op_andnot\": () => (/* binding */ op_andnot),\n/* harmony export */ \"op_or\": () => (/* binding */ op_or),\n/* harmony export */ \"op_xor\": () => (/* binding */ op_xor)\n/* harmony export */ });\nvar BI_RM = \"0123456789abcdefghijklmnopqrstuvwxyz\";\nfunction int2char(n) {\n return BI_RM.charAt(n);\n}\n//#region BIT_OPERATIONS\n// (public) this & a\nfunction op_and(x, y) {\n return x & y;\n}\n// (public) this | a\nfunction op_or(x, y) {\n return x | y;\n}\n// (public) this ^ a\nfunction op_xor(x, y) {\n return x ^ y;\n}\n// (public) this & ~a\nfunction op_andnot(x, y) {\n return x & ~y;\n}\n// return index of lowest 1-bit in x, x < 2^31\nfunction lbit(x) {\n if (x == 0) {\n return -1;\n }\n var r = 0;\n if ((x & 0xffff) == 0) {\n x >>= 16;\n r += 16;\n }\n if ((x & 0xff) == 0) {\n x >>= 8;\n r += 8;\n }\n if ((x & 0xf) == 0) {\n x >>= 4;\n r += 4;\n }\n if ((x & 3) == 0) {\n x >>= 2;\n r += 2;\n }\n if ((x & 1) == 0) {\n ++r;\n }\n return r;\n}\n// return number of 1 bits in x\nfunction cbit(x) {\n var r = 0;\n while (x != 0) {\n x &= x - 1;\n ++r;\n }\n return r;\n}\n//#endregion BIT_OPERATIONS\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/util.js?");
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/jsrsasign/asn1-1.0.js":
|
|
||||||
/*!***************************************!*\
|
|
||||||
!*** ./lib/lib/jsrsasign/asn1-1.0.js ***!
|
|
||||||
\***************************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KJUR\": () => (/* binding */ KJUR)\n/* harmony export */ });\n/* harmony import */ var _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../jsbn/jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _yahoo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./yahoo */ \"./lib/lib/jsrsasign/yahoo.js\");\n/* asn1-1.0.13.js (c) 2013-2017 Kenji Urushima | kjur.github.com/jsrsasign/license\n */\n/*\n * asn1.js - ASN.1 DER encoder classes\n *\n * Copyright (c) 2013-2017 Kenji Urushima (kenji.urushima@gmail.com)\n *\n * This software is licensed under the terms of the MIT License.\n * https://kjur.github.io/jsrsasign/license\n *\n * The above copyright and license notice shall be\n * included in all copies or substantial portions of the Software.\n */\n\n\n/**\n * @fileOverview\n * @name asn1-1.0.js\n * @author Kenji Urushima kenji.urushima@gmail.com\n * @version asn1 1.0.13 (2017-Jun-02)\n * @since jsrsasign 2.1\n * @license <a href=\"https://kjur.github.io/jsrsasign/license/\">MIT License</a>\n */\n/**\n * kjur's class library name space\n * <p>\n * This name space provides following name spaces:\n * <ul>\n * <li>{@link KJUR.asn1} - ASN.1 primitive hexadecimal encoder</li>\n * <li>{@link KJUR.asn1.x509} - ASN.1 structure for X.509 certificate and CRL</li>\n * <li>{@link KJUR.crypto} - Java Cryptographic Extension(JCE) style MessageDigest/Signature\n * class and utilities</li>\n * </ul>\n * </p>\n * NOTE: Please ignore method summary and document of this namespace. This caused by a bug of jsdoc2.\n * @name KJUR\n * @namespace kjur's class library name space\n */\nvar KJUR = {};\n/**\n * kjur's ASN.1 class library name space\n * <p>\n * This is ITU-T X.690 ASN.1 DER encoder class library and\n * class structure and methods is very similar to\n * org.bouncycastle.asn1 package of\n * well known BouncyCaslte Cryptography Library.\n * <h4>PROVIDING ASN.1 PRIMITIVES</h4>\n * Here are ASN.1 DER primitive classes.\n * <ul>\n * <li>0x01 {@link KJUR.asn1.DERBoolean}</li>\n * <li>0x02 {@link KJUR.asn1.DERInteger}</li>\n * <li>0x03 {@link KJUR.asn1.DERBitString}</li>\n * <li>0x04 {@link KJUR.asn1.DEROctetString}</li>\n * <li>0x05 {@link KJUR.asn1.DERNull}</li>\n * <li>0x06 {@link KJUR.asn1.DERObjectIdentifier}</li>\n * <li>0x0a {@link KJUR.asn1.DEREnumerated}</li>\n * <li>0x0c {@link KJUR.asn1.DERUTF8String}</li>\n * <li>0x12 {@link KJUR.asn1.DERNumericString}</li>\n * <li>0x13 {@link KJUR.asn1.DERPrintableString}</li>\n * <li>0x14 {@link KJUR.asn1.DERTeletexString}</li>\n * <li>0x16 {@link KJUR.asn1.DERIA5String}</li>\n * <li>0x17 {@link KJUR.asn1.DERUTCTime}</li>\n * <li>0x18 {@link KJUR.asn1.DERGeneralizedTime}</li>\n * <li>0x30 {@link KJUR.asn1.DERSequence}</li>\n * <li>0x31 {@link KJUR.asn1.DERSet}</li>\n * </ul>\n * <h4>OTHER ASN.1 CLASSES</h4>\n * <ul>\n * <li>{@link KJUR.asn1.ASN1Object}</li>\n * <li>{@link KJUR.asn1.DERAbstractString}</li>\n * <li>{@link KJUR.asn1.DERAbstractTime}</li>\n * <li>{@link KJUR.asn1.DERAbstractStructured}</li>\n * <li>{@link KJUR.asn1.DERTaggedObject}</li>\n * </ul>\n * <h4>SUB NAME SPACES</h4>\n * <ul>\n * <li>{@link KJUR.asn1.cades} - CAdES long term signature format</li>\n * <li>{@link KJUR.asn1.cms} - Cryptographic Message Syntax</li>\n * <li>{@link KJUR.asn1.csr} - Certificate Signing Request (CSR/PKCS#10)</li>\n * <li>{@link KJUR.asn1.tsp} - RFC 3161 Timestamping Protocol Format</li>\n * <li>{@link KJUR.asn1.x509} - RFC 5280 X.509 certificate and CRL</li>\n * </ul>\n * </p>\n * NOTE: Please ignore method summary and document of this namespace.\n * This caused by a bug of jsdoc2.\n * @name KJUR.asn1\n * @namespace\n */\nif (typeof KJUR.asn1 == \"undefined\" || !KJUR.asn1)\n KJUR.asn1 = {};\n/**\n * ASN1 utilities class\n * @name KJUR.asn1.ASN1Util\n * @class ASN1 utilities class\n * @since asn1 1.0.2\n */\nKJUR.asn1.ASN1Util = new function () {\n this.integerToByteHex = function (i) {\n var h = i.toString(16);\n if ((h.length % 2) == 1)\n h = '0' + h;\n return h;\n };\n this.bigIntToMinTwosComplementsHex = function (bigIntegerValue) {\n var h = bigIntegerValue.toString(16);\n if (h.substr(0, 1) != '-') {\n if (h.length % 2 == 1) {\n h = '0' + h;\n }\n else {\n if (!h.match(/^[0-7]/)) {\n h = '00' + h;\n }\n }\n }\n else {\n var hPos = h.substr(1);\n var xorLen = hPos.length;\n if (xorLen % 2 == 1) {\n xorLen += 1;\n }\n else {\n if (!h.match(/^[0-7]/)) {\n xorLen += 2;\n }\n }\n var hMask = '';\n for (var i = 0; i < xorLen; i++) {\n hMask += 'f';\n
Line truncated
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./lib/lib/jsrsasign/yahoo.js":
|
|
||||||
/*!************************************!*\
|
|
||||||
!*** ./lib/lib/jsrsasign/yahoo.js ***!
|
|
||||||
\************************************/
|
|
||||||
/***/
|
|
||||||
((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"YAHOO\": () => (/* binding */ YAHOO)\n/* harmony export */ });\n/*!\nCopyright (c) 2011, Yahoo! Inc. All rights reserved.\nCode licensed under the BSD License:\nhttp://developer.yahoo.com/yui/license.html\nversion: 2.9.0\n*/\nvar YAHOO = {};\nYAHOO.lang = {\n /**\n * Utility to set up the prototype, constructor and superclass properties to\n * support an inheritance strategy that can chain constructors and methods.\n * Static members will not be inherited.\n *\n * @method extend\n * @static\n * @param {Function} subc the object to modify\n * @param {Function} superc the object to inherit\n * @param {Object} overrides additional properties/methods to add to the\n * subclass prototype. These will override the\n * matching items obtained from the superclass\n * if present.\n */\n extend: function (subc, superc, overrides) {\n if (!superc || !subc) {\n throw new Error(\"YAHOO.lang.extend failed, please check that \" +\n \"all dependencies are included.\");\n }\n var F = function () { };\n F.prototype = superc.prototype;\n subc.prototype = new F();\n subc.prototype.constructor = subc;\n subc.superclass = superc.prototype;\n if (superc.prototype.constructor == Object.prototype.constructor) {\n superc.prototype.constructor = superc;\n }\n if (overrides) {\n var i;\n for (i in overrides) {\n subc.prototype[i] = overrides[i];\n }\n /*\n * IE will not enumerate native functions in a derived object even if the\n * function was overridden. This is a workaround for specific functions\n * we care about on the Object prototype.\n * @property _IEEnumFix\n * @param {Function} r the object to receive the augmentation\n * @param {Function} s the object that supplies the properties to augment\n * @static\n * @private\n */\n var _IEEnumFix = function () { }, ADD = [\"toString\", \"valueOf\"];\n try {\n if (/MSIE/.test(navigator.userAgent)) {\n _IEEnumFix = function (r, s) {\n for (i = 0; i < ADD.length; i = i + 1) {\n var fname = ADD[i], f = s[fname];\n if (typeof f === 'function' && f != Object.prototype[fname]) {\n r[fname] = f;\n }\n }\n };\n }\n }\n catch (ex) { }\n ;\n _IEEnumFix(subc.prototype, overrides);\n }\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsrsasign/yahoo.js?");
|
|
||||||
|
|
||||||
/***/
|
|
||||||
}),
|
|
||||||
|
|
||||||
/***/
|
|
||||||
"./node_modules/process/browser.js":
|
|
||||||
/*!*****************************************!*\
|
|
||||||
!*** ./node_modules/process/browser.js ***!
|
|
||||||
\*****************************************/
|
|
||||||
/***/
|
|
||||||
((module) => {
|
|
||||||
|
|
||||||
eval("// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess
Line truncated
|
|
||||||
|
|
||||||
/***/
|
|
||||||
})
|
|
||||||
|
|
||||||
/******/
|
|
||||||
});
|
|
||||||
/************************************************************************/
|
|
||||||
/******/ // The module cache
|
|
||||||
/******/
|
|
||||||
var __webpack_module_cache__ = {};
|
|
||||||
/******/
|
|
||||||
/******/ // The require function
|
|
||||||
/******/
|
|
||||||
function __webpack_require__(moduleId) {
|
|
||||||
/******/ // Check if module is in cache
|
|
||||||
/******/
|
|
||||||
var cachedModule = __webpack_module_cache__[moduleId];
|
|
||||||
/******/
|
|
||||||
if (cachedModule !== undefined) {
|
|
||||||
/******/
|
|
||||||
return cachedModule.exports;
|
|
||||||
/******/
|
|
||||||
}
|
|
||||||
/******/ // Create a new module (and put it into the cache)
|
|
||||||
/******/
|
|
||||||
var module = __webpack_module_cache__[moduleId] = {
|
|
||||||
/******/ // no module.id needed
|
|
||||||
/******/ // no module.loaded needed
|
|
||||||
/******/
|
|
||||||
exports: {}
|
|
||||||
/******/
|
|
||||||
};
|
|
||||||
/******/
|
|
||||||
/******/ // Execute the module function
|
|
||||||
/******/
|
|
||||||
__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
||||||
/******/
|
|
||||||
/******/ // Return the exports of the module
|
|
||||||
/******/
|
|
||||||
return module.exports;
|
|
||||||
/******/
|
|
||||||
}
|
|
||||||
/******/
|
|
||||||
/************************************************************************/
|
|
||||||
/******/
|
|
||||||
/* webpack/runtime/define property getters */
|
|
||||||
/******/
|
|
||||||
(() => {
|
|
||||||
/******/ // define getter functions for harmony exports
|
|
||||||
/******/
|
|
||||||
__webpack_require__.d = (exports, definition) => {
|
|
||||||
/******/
|
|
||||||
for (var key in definition) {
|
|
||||||
/******/
|
|
||||||
if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
||||||
/******/
|
|
||||||
Object.defineProperty(exports, key, {
|
|
||||||
enumerable: true,
|
|
||||||
get: definition[key]
|
|
||||||
});
|
|
||||||
/******/
|
|
||||||
}
|
|
||||||
/******/
|
|
||||||
}
|
|
||||||
/******/
|
|
||||||
};
|
|
||||||
/******/
|
|
||||||
})();
|
|
||||||
/******/
|
|
||||||
/******/
|
|
||||||
/* webpack/runtime/hasOwnProperty shorthand */
|
|
||||||
/******/
|
|
||||||
(() => {
|
|
||||||
/******/
|
|
||||||
__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
||||||
/******/
|
|
||||||
})();
|
|
||||||
/******/
|
|
||||||
/******/
|
|
||||||
/* webpack/runtime/make namespace object */
|
|
||||||
/******/
|
|
||||||
(() => {
|
|
||||||
/******/ // define __esModule on exports
|
|
||||||
/******/
|
|
||||||
__webpack_require__.r = (exports) => {
|
|
||||||
/******/
|
|
||||||
if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
||||||
/******/
|
|
||||||
Object.defineProperty(exports, Symbol.toStringTag, {
|
|
||||||
value: 'Module'
|
|
||||||
});
|
|
||||||
/******/
|
|
||||||
}
|
|
||||||
/******/
|
|
||||||
Object.defineProperty(exports, '__esModule', {
|
|
||||||
value: true
|
|
||||||
});
|
|
||||||
/******/
|
|
||||||
};
|
|
||||||
/******/
|
|
||||||
})();
|
|
||||||
/******/
|
|
||||||
/************************************************************************/
|
|
||||||
/******/
|
|
||||||
/******/ // startup
|
|
||||||
/******/ // Load entry module and return exports
|
|
||||||
/******/ // This entry module can't be inlined because the eval devtool is used.
|
|
||||||
/******/
|
|
||||||
var __webpack_exports__ = __webpack_require__("./lib/index.js");
|
|
||||||
/******/
|
|
||||||
__webpack_exports__ = __webpack_exports__["default"];
|
|
||||||
/******/
|
|
||||||
/******/
|
|
||||||
return __webpack_exports__;
|
|
||||||
/******/
|
|
||||||
})();
|
|
||||||
});
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
http://app.555618.xyz:1766
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
http://111.170.175.120:8596
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
http://getapp.hiapp.com.cn/
|
|
||||||
+217
-149
@@ -4,95 +4,127 @@ http://8.138.7.223/tv/dl/douyincdn.php?id=1$LR•IPV4『线路155』
|
|||||||
#EXTINF:-1 group-title="央视频道",CCTV1
|
#EXTINF:-1 group-title="央视频道",CCTV1
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=1$LR•IPV4『线路157』
|
http://8.138.7.223/tv/dl/careryun.php?id=1$LR•IPV4『线路157』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV1
|
#EXTINF:-1 group-title="央视频道",CCTV1
|
||||||
https://www.freetv.top/migu/608807420.m3u8?migutoken=80908303af21bc464e188f7e6e33e325e8ac7cc103c5c0c6353cc836f0908085ba7e93a6689a2d96daf2f163fd9d3732ba71e1288a2e8bb2bf6ed82066df1e6eafbedc4ce9a9f3aa896c0e4cd9$LR•IPV4『线路287』
|
http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010011/index.m3u8$LR•IPV6『线路13』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV1
|
|
||||||
https://www.freetv.top/migu/608807420.m3u8?migutoken=2a6c4fb9cc8f7f2e3b74e061cd6015c3fac382e2bed56fc0e7ec642cda0243f33539c8b831a81a788ef263a552c1fc2e83f85c3aca1c5ac20b670cab6b54dd26fb6cfd1adfd5a289207103e06b$LR•IPV4『线路288』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV1
|
|
||||||
http://www.freetv.top/migu/608807420.m3u8?migutoken=491f039071b1e5ca7ea22dab208a3373abd0aa38187ac74446778154f03126d09cf16f03bab30bbbe6b3654715b39584417cebbd010b1b65144b4d683dc814c330efffb70a09c7630ddbb49120$LR•IPV4『线路289』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV1
|
|
||||||
https://www.freetv.top/migu/608807420.m3u8?migutoken=701afbfc9d2f77d62a9cc2f9479ecde3db6cef36d454660b5d2f0ffb3a1017d0e04c2e19dcbb7c344d80cfb64e43e90dd66c458476898ee612d0e2e9261645fcfc0d32fb90cdf2021d89c4877a$LR•IPV4『线路290』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV1
|
|
||||||
https://www.freetv.top/migu/608807420.m3u8?migutoken=616bff0550349c6e67acff477cb46f9414058f2f80a6037f87e37174fab7a88ce43007f82993964b9222c5578037b6435c076ec1a3cd9712bffad24d5fb5293d9665b5fce5f6d1ec1012231552$LR•IPV4『线路291』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV1
|
|
||||||
https://www.freetv.top/migu/608807420.m3u8?migutoken=184a95f0cdaaf7c1f3c7b4cd06d432af7234562e68074726eac10898c158cf1eea49819ced71b5e3d2f3ea0023ff71f8062e39a0a92ffd236a2c1ef4a30ca7f3cb03548908d23e6c6d685437e2$LR•IPV4『线路292』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV2
|
#EXTINF:-1 group-title="央视频道",CCTV2
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=2$LR•IPV4『线路146』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=2$LR•IPV4『线路146』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV2
|
#EXTINF:-1 group-title="央视频道",CCTV2
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=2$LR•IPV4『线路148』
|
http://8.138.7.223/tv/dl/careryun.php?id=2$LR•IPV4『线路148』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV2
|
#EXTINF:-1 group-title="央视频道",CCTV2
|
||||||
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221225923/index.m3u8
|
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221225923/index.m3u8
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV2
|
||||||
|
http://39.164.160.249:9901/tsfile/live/0002_1.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV3
|
#EXTINF:-1 group-title="央视频道",CCTV3
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=3$LR•IPV4『线路134』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=3$LR•IPV4『线路134』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV3
|
#EXTINF:-1 group-title="央视频道",CCTV3
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=3$LR•IPV4『线路136』
|
http://8.138.7.223/tv/dl/careryun.php?id=3$LR•IPV4『线路136』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV3
|
#EXTINF:-1 group-title="央视频道",CCTV3
|
||||||
|
http://120.76.248.139/live/bfgd/4200000062.m3u8
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV3
|
||||||
|
https://migu.188766.xyz/?migutoken=3f5ecedb6a9d946fbb8762dea69f2d73&id=CCTV3&pp=1
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV3
|
||||||
http://58.17.48.228:808/hls/3/index.m3u8
|
http://58.17.48.228:808/hls/3/index.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV4
|
#EXTINF:-1 group-title="央视频道",CCTV4
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=4$LR•IPV4『线路145』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=4$LR•IPV4『线路145』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV4
|
#EXTINF:-1 group-title="央视频道",CCTV4
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=4$LR•IPV4『线路149』
|
http://8.138.7.223/tv/dl/careryun.php?id=4$LR•IPV4『线路149』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV4
|
#EXTINF:-1 group-title="央视频道",CCTV4
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=5$LR•IPV4『线路150』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV4
|
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=6$LR•IPV4『线路151』
|
http://8.138.7.223/tv/dl/careryun.php?id=6$LR•IPV4『线路151』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV4
|
||||||
|
http://8.138.7.223/tv/migu8.php?id=66e1470c453536359985b7b9b8222742
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV4
|
||||||
|
http://8.138.7.223/tv/migu8.php?id=45de6fabfc0d9dfd41de6ad5022d8fce
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV4
|
||||||
|
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221225802/index.m3u8
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV4
|
||||||
|
http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010017/1.m3u8?$LR•IPV6『线路10』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV5
|
#EXTINF:-1 group-title="央视频道",CCTV5
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=7$LR•IPV4『线路168』
|
http://8.138.7.223/tv/dl/careryun.php?id=7$LR•IPV4『线路168』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV5
|
#EXTINF:-1 group-title="央视频道",CCTV5
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=8$LR•IPV4『线路169』
|
http://8.138.7.223/tv/dl/careryun.php?id=8$LR•IPV4『线路169』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV5
|
#EXTINF:-1 group-title="央视频道",CCTV5
|
||||||
http://58.17.48.228:808/hls/5/index.m3u8
|
http://120.76.248.139/live/bfgd/4200000064.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV5
|
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=5$LR•IPV4『线路166』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV-5体育
|
|
||||||
http://221.2.148.205:8154/tsfile/live/0005_1.m3u8?key=txiptv&playlive=1&authid=0
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV5+
|
#EXTINF:-1 group-title="央视频道",CCTV5+
|
||||||
http://222.169.85.8:9901/tsfile/live/0116_1.m3u8
|
http://120.76.248.139/live/bfgd/4200000246.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV5+
|
|
||||||
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221225821/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV6
|
#EXTINF:-1 group-title="央视频道",CCTV6
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=6$LR•IPV4『线路132』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=6$LR•IPV4『线路132』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV6
|
#EXTINF:-1 group-title="央视频道",CCTV6
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=9$LR•IPV4『线路134』
|
http://8.138.7.223/tv/dl/careryun.php?id=9$LR•IPV4『线路134』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV6
|
#EXTINF:-1 group-title="央视频道",CCTV6
|
||||||
http://iptv.huuc.edu.cn/hls/cctv6hd.m3u8
|
http://iptv.huuc.edu.cn/hls/cctv6hd.m3u8
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV6
|
||||||
|
http://120.76.248.139/live/bfgd/4200000065.m3u8
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV6
|
||||||
|
https://migu.188766.xyz/?migutoken=6818dd0cb7452ab9cba884dc087f5f3e&id=CCTV6&pp=1
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV7
|
#EXTINF:-1 group-title="央视频道",CCTV7
|
||||||
http://live.junhao.mil.cn/rmt9502/3e6e7c5477314ec38f5e58e2a5c70024.m3u8?txSecret=57978fafb9c19880afa5c8687e8241d8&txTime=7A42BAFF
|
http://live.junhao.mil.cn/rmt9502/3e6e7c5477314ec38f5e58e2a5c70024.m3u8?txSecret=57978fafb9c19880afa5c8687e8241d8&txTime=7A42BAFF
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV7
|
#EXTINF:-1 group-title="央视频道",CCTV7
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=10$LR•IPV4『线路147』
|
http://8.138.7.223/tv/dl/careryun.php?id=10$LR•IPV4『线路147』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV7
|
||||||
|
http://8.138.7.223/tv/dl/douyincdn.php?id=7$LR•IPV4『线路145』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV7
|
||||||
|
https://www.freetv.top/migu/673168121.m3u8?migutoken=5efea15b5115b2be0e9c11527601ab541c646da6310420ce788fafd0cbc53baa18194290df19e900a089f43300a784605577054b709659403fb3de1eaa69137ce76e0233b0f007ee744300c50d$LR•IPV4『线路243』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV7
|
||||||
|
https://www.freetv.top/migu/673168121.m3u8?migutoken=97a46285e2ac80354b4cda7972c410ce7c4ea2d42ac569d87ec2072905e3f1274f652ad22225021e86a0449f109ca248ae7e401e49373b725d4190ff653b660e58abedd89065cf4c052ea97e81$LR•IPV4『线路244』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV7
|
||||||
|
https://www.freetv.top/migu/673168121.m3u8?migutoken=39f299ba0d4c0dd00c89550497da4b7b2de0752f52a9831160904f0fa48d0e4f14936c2d2e794d39ef3d9fec119c22460c845abc4c1f894d73f27e21754ec4a1aec51a4285c036e5a6febf8b71$LR•IPV4『线路281』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV7
|
||||||
|
https://www.freetv.top/migu/673168121.m3u8?migutoken=77f3d07c8c715fc3df72eeb3151a68e9169b4e17d5d0be3ff0eccb5d0a34a91fe58a22d4bdfa529c8c752579855b46458434107509993fa5f5abc00210d466c2a969d6bd3f9f0c6f6b0deca814$LR•IPV4『线路283』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV7
|
||||||
|
https://www.freetv.top/migu/673168121.m3u8?migutoken=a878b713604abd82c57cce75de174e0284d3f101e21d0c3e362670e4b5a5e75d9b42846e5e0adf92c1ad15c63d60934f3e68c25f787bc0665d12acde75a6db4761278e79b762292ed5b5a2fae3$LR•IPV4『线路284』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV7
|
||||||
|
https://www.freetv.top/migu/673168121.m3u8?migutoken=e78f83938702d1bbe1b942fbec9a4863f5e3233d946d4cb9d5650315c000e4b18fbeeecf6ea2debe700775517292edb56b8b5d596b464d112fbf4dc3fab926b0f9ec01cf52b7a4a97b4be82ad4$LR•IPV4『线路285』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV7
|
||||||
|
https://www.freetv.top/migu/673168121.m3u8?migutoken=44446ab398991313e6a822efdaec82f3b845a2e8f141c172aa857c477255724bbb28fc01d33f764c51106c446af1c57e8815b58822075b194f4cf55cde28fe55f54330d4586c92e75e8aa50a48$LR•IPV4『线路286』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV7
|
||||||
|
https://www.freetv.top/migu/673168121.m3u8?migutoken=3253222269368c440aa1d23dba86c186a7b73abdea3890faf72e3d720844f8f1d3adc2b18ed047dbb3eff1a6c5d9379fad37d1f8a380d0e7c69e9ad6eb41709cf92077125fc0bded4cfd47808b$LR•IPV4『线路287』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV7
|
||||||
|
https://www.freetv.top/migu/673168121.m3u8?migutoken=11284a6f3b3b2fa213fe083e46e96de1056fd7727d3d02e2cb4c2eb6c9994c51a6d20f333eba2d4739cee8fe8d82b5a8ed95fbfa87d5df4d792df3f436e23df7ce80f601e526e1e967f1479a14$LR•IPV4『线路289』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV7
|
||||||
|
https://www.freetv.top/migu/673168121.m3u8?migutoken=574d7f499abe28260750cc94be57fac402b5f84b72ecb907cf459ce8d58381c92f1a7208e1b83a752dcb0500c1839caea4e4747510bac25b9090fa959b172ce5389a900b4612dde9e9d594cf2e$LR•IPV4『线路292』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV8
|
#EXTINF:-1 group-title="央视频道",CCTV8
|
||||||
http://222.169.85.8:9901/tsfile/live/0008_1.m3u8
|
http://222.169.85.8:9901/tsfile/live/0008_1.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV8
|
#EXTINF:-1 group-title="央视频道",CCTV8
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=8$LR•IPV4『线路126』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=8$LR•IPV4『线路126』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV8
|
#EXTINF:-1 group-title="央视频道",CCTV8
|
||||||
http://58.17.48.228:808/hls/8/index.m3u8
|
http://8.138.7.223/tv/dl/careryun.php?id=11$LR•IPV4『线路128』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV8
|
||||||
|
http://120.76.248.139/live/bfgd/4200000066.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV9
|
#EXTINF:-1 group-title="央视频道",CCTV9
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=9$LR•IPV4『线路137』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=9$LR•IPV4『线路137』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV9
|
#EXTINF:-1 group-title="央视频道",CCTV9
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=12$LR•IPV4『线路139』
|
http://8.138.7.223/tv/dl/careryun.php?id=12$LR•IPV4『线路139』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV-9
|
#EXTINF:-1 group-title="央视频道",CCTV9
|
||||||
http://58.17.48.228:808/hls/9/index.m3u8
|
http://120.76.248.139/live/bfgd/4200000128.m3u8
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV9
|
||||||
|
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221225820/index.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV10
|
#EXTINF:-1 group-title="央视频道",CCTV10
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=10$LR•IPV4『线路141』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=10$LR•IPV4『线路141』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV10
|
#EXTINF:-1 group-title="央视频道",CCTV10
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=13$LR•IPV4『线路143』
|
http://8.138.7.223/tv/dl/careryun.php?id=13$LR•IPV4『线路143』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV10
|
#EXTINF:-1 group-title="央视频道",CCTV10
|
||||||
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221225814/index.m3u8
|
https://migu.188766.xyz/?migutoken=1946c055cf9078ecae024a4f4411a94a&id=CCTV10&pp=1
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV-10
|
|
||||||
http://58.17.48.228:808/hls/10/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV11
|
#EXTINF:-1 group-title="央视频道",CCTV11
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=11$LR•IPV4『线路130』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=11$LR•IPV4『线路130』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV11
|
#EXTINF:-1 group-title="央视频道",CCTV11
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=14$LR•IPV4『线路132』
|
http://8.138.7.223/tv/dl/careryun.php?id=14$LR•IPV4『线路132』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV11
|
||||||
|
http://fjcm-2117.live.iptv.darwinchow.com/PLTV/88888888/224/3221225815/index.m3u8
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV11
|
||||||
|
http://120.76.248.139/live/bfgd/4200000130.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV12
|
#EXTINF:-1 group-title="央视频道",CCTV12
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=12$LR•IPV4『线路149』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=12$LR•IPV4『线路149』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV12
|
||||||
|
http://8.138.7.223/tv/dl/careryun.php?id=15$LR•IPV4『线路151』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV12
|
||||||
|
https://migu.188766.xyz/?migutoken=081e492d91f322784e7a210a96fafc93&id=CCTV12&pp=1
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV12
|
||||||
|
http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010205/1.m3u8?$LR•IPV6『线路13』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV13
|
#EXTINF:-1 group-title="央视频道",CCTV13
|
||||||
https://event.pull.hebtv.com/jishi/cp1.m3u8
|
https://event.pull.hebtv.com/jishi/cp1.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV13
|
#EXTINF:-1 group-title="央视频道",CCTV13
|
||||||
http://ali-m-l.cztv.com/channels/lantian/channel21/1080p.m3u8
|
http://ali-m-l.cztv.com/channels/lantian/channel21/1080p.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV13
|
#EXTINF:-1 group-title="央视频道",CCTV13
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=13$LR•IPV4『线路138』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=13$LR•IPV4『线路138』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV13
|
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=16$LR•IPV4『线路140』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV14
|
#EXTINF:-1 group-title="央视频道",CCTV14
|
||||||
https://event.pull.hebtv.com/jishi/cp2.m3u8
|
https://event.pull.hebtv.com/jishi/cp2.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV14
|
#EXTINF:-1 group-title="央视频道",CCTV14
|
||||||
@@ -101,18 +133,26 @@ http://8.138.7.223/tv/dl/careryun.php?id=17$LR•IPV4『线路150』
|
|||||||
http://111.227.196.164:9901/tsfile/live/faacts/0014_1.m3u8
|
http://111.227.196.164:9901/tsfile/live/faacts/0014_1.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV14
|
#EXTINF:-1 group-title="央视频道",CCTV14
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=14$LR•IPV4『线路148』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=14$LR•IPV4『线路148』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV-14
|
#EXTINF:-1 group-title="央视频道",CCTV14
|
||||||
http://58.17.48.228:808/hls/14/index.m3u8
|
http://fjcm-2117.live.iptv.darwinchow.com/PLTV/88888888/224/3221225933/index.m3u8
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV14
|
||||||
|
https://migu.188766.xyz/?migutoken=a149675d955384ecf8447d4290b8ce50&id=CCTV14&pp=1
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV15
|
#EXTINF:-1 group-title="央视频道",CCTV15
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=15$LR•IPV4『线路135』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=15$LR•IPV4『线路135』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV15
|
#EXTINF:-1 group-title="央视频道",CCTV15
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=18$LR•IPV4『线路137』
|
http://fjcm-2117.live.iptv.darwinchow.com/PLTV/88888888/224/3221225818/index.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV-16
|
#EXTINF:-1 group-title="央视频道",CCTV16
|
||||||
|
http://fjcm-2117.live.iptv.darwinchow.com/PLTV/88888888/224/3221227162/index.m3u8
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV16
|
||||||
|
https://migu.188766.xyz/?migutoken=eda82b340e2efaedc007fddfaf1c7c28&id=CCTV16&pp=1
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV16
|
||||||
http://58.17.48.228:808/hls/25/index.m3u8
|
http://58.17.48.228:808/hls/25/index.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV17
|
#EXTINF:-1 group-title="央视频道",CCTV17
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=16$LR•IPV4『线路101』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=16$LR•IPV4『线路101』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV17
|
#EXTINF:-1 group-title="央视频道",CCTV17
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=19$LR•IPV4『线路103』
|
http://8.138.7.223/tv/dl/careryun.php?id=19$LR•IPV4『线路103』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV17
|
||||||
|
http://222.169.85.8:9901/tsfile/live/0007_1.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV20241
|
#EXTINF:-1 group-title="央视频道",CCTV20241
|
||||||
https://p2.bdstatic.com/rtmp.liveshow.lss-user.baidubce.com/live/stream_bduid_6488563992_8982723413/merged_1707497046297_88536_25144_41936.m3u8
|
https://p2.bdstatic.com/rtmp.liveshow.lss-user.baidubce.com/live/stream_bduid_6488563992_8982723413/merged_1707497046297_88536_25144_41936.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",安多卫视
|
#EXTINF:-1 group-title="卫视频道",安多卫视
|
||||||
@@ -122,34 +162,42 @@ https://liveout.xntv.tv/a65jur/90p2i1.m3u8?zqinghd
|
|||||||
#EXTINF:-1 group-title="卫视频道",安徽卫视
|
#EXTINF:-1 group-title="卫视频道",安徽卫视
|
||||||
http://222.169.85.8:9901/tsfile/live/0130_1.m3u8
|
http://222.169.85.8:9901/tsfile/live/0130_1.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",安徽卫视
|
#EXTINF:-1 group-title="卫视频道",安徽卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=26$LR•IPV4『线路91』
|
http://iptv.huuc.edu.cn/hls/ahhd.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",北京卫视
|
#EXTINF:-1 group-title="卫视频道",北京卫视
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=17$LR•IPV4『线路96』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=17$LR•IPV4『线路96』
|
||||||
#EXTINF:-1 group-title="卫视频道",北京卫视
|
#EXTINF:-1 group-title="卫视频道",北京卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=24$LR•IPV4『线路97』
|
http://8.138.7.223/tv/dl/careryun.php?id=24$LR•IPV4『线路97』
|
||||||
#EXTINF:-1 group-title="卫视频道",兵团卫视
|
#EXTINF:-1 group-title="卫视频道",北京卫视
|
||||||
http://liveout.btzx.com.cn/62ds9e/yil08g.m3u8
|
http://39.150.96.141:65535/tsfile/live/0122_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路157』
|
||||||
|
#EXTINF:-1 group-title="卫视频道",北京卫视
|
||||||
|
http://iptv.huuc.edu.cn/hls/btv1hd.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",兵团卫视
|
#EXTINF:-1 group-title="卫视频道",兵团卫视
|
||||||
http://8.138.7.223/tv/btws.m3u8
|
http://8.138.7.223/tv/btws.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",兵团卫视
|
#EXTINF:-1 group-title="卫视频道",兵团卫视
|
||||||
http://liveout.btzx.com.cn/62ds9e/yil08g.m3u8?mkey=txiptv
|
http://liveout.btzx.com.cn/62ds9e/yil08g.m3u8?mkey=txiptv
|
||||||
#EXTINF:-1 group-title="卫视频道",兵团卫视
|
#EXTINF:-1 group-title="卫视频道",兵团卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=47$LR•IPV4『线路17』
|
http://8.138.7.223/tv/dl/careryun.php?id=47$LR•IPV4『线路17』
|
||||||
#EXTINF:-1 group-title="卫视频道",重庆卫视
|
#EXTINF:-1 group-title="卫视频道",兵团卫视
|
||||||
http://222.169.85.8:9901/tsfile/live/0142_1.m3u8
|
http://liveout.btzx.com.cn/62ds9e/yil08g.m3u8
|
||||||
|
#EXTINF:-1 group-title="卫视频道",兵团卫视
|
||||||
|
https://liveout.btzx.com.cn/62ds9e/yil08g.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",重庆卫视
|
#EXTINF:-1 group-title="卫视频道",重庆卫视
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=28$LR•IPV4『线路89』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=28$LR•IPV4『线路89』
|
||||||
|
#EXTINF:-1 group-title="卫视频道",重庆卫视
|
||||||
|
http://8.138.7.223/tv/dl/careryun.php?id=37$LR•IPV4『线路90』
|
||||||
|
#EXTINF:-1 group-title="卫视频道",重庆卫视
|
||||||
|
http://iptv.huuc.edu.cn/hls/cqhd.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",大湾区卫视
|
#EXTINF:-1 group-title="卫视频道",大湾区卫视
|
||||||
http://222.128.55.152:9080/live/dwq.m3u8
|
http://222.128.55.152:9080/live/dwq.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",东方卫视
|
#EXTINF:-1 group-title="卫视频道",东方卫视
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=20$LR•IPV4『线路104』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=20$LR•IPV4『线路104』
|
||||||
#EXTINF:-1 group-title="卫视频道",东方卫视
|
#EXTINF:-1 group-title="卫视频道",东方卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=20$LR•IPV4『线路105』
|
http://8.138.7.223/tv/dl/careryun.php?id=20$LR•IPV4『线路105』
|
||||||
|
#EXTINF:-1 group-title="卫视频道",东方卫视
|
||||||
|
http://iptv.huuc.edu.cn/hls/dfhd.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",东南卫视
|
#EXTINF:-1 group-title="卫视频道",东南卫视
|
||||||
http://live.zohi.tv/video/s10001-fztv-3/index.m3u8
|
http://live.zohi.tv/video/s10001-fztv-3/index.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",东南卫视
|
#EXTINF:-1 group-title="卫视频道",东南卫视
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=22$LR•IPV4『线路87』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",东南卫视
|
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=33$LR•IPV4『线路88』
|
http://8.138.7.223/tv/dl/careryun.php?id=33$LR•IPV4『线路88』
|
||||||
#EXTINF:-1 group-title="卫视频道",甘肃卫视
|
#EXTINF:-1 group-title="卫视频道",甘肃卫视
|
||||||
http://39.150.96.141:65535/tsfile/live/0141_1.m3u8?key=txiptv&playlive=1&authid=0
|
http://39.150.96.141:65535/tsfile/live/0141_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||||
@@ -162,75 +210,87 @@ http://222.169.85.8:9901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0$
|
|||||||
#EXTINF:-1 group-title="卫视频道",广东卫视
|
#EXTINF:-1 group-title="卫视频道",广东卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=27$LR•IPV4『线路99』
|
http://8.138.7.223/tv/dl/careryun.php?id=27$LR•IPV4『线路99』
|
||||||
#EXTINF:-1 group-title="卫视频道",广东卫视
|
#EXTINF:-1 group-title="卫视频道",广东卫视
|
||||||
http://222.169.85.8:9901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0
|
http://183.215.134.239:19901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路116』
|
||||||
|
#EXTINF:-1 group-title="卫视频道",广东卫视
|
||||||
|
http://120.76.248.139/live/bfgd/4200000092.m3u8
|
||||||
|
#EXTINF:-1 group-title="卫视频道",广东卫视
|
||||||
|
https://migu.188766.xyz/?migutoken=9e1315f439f1b68bba11ab674c5bb5f5&id=%E5%B9%BF%E4%B8%9C%E5%8D%AB%E8%A7%86&pp=1
|
||||||
#EXTINF:-1 group-title="卫视频道",广西卫视
|
#EXTINF:-1 group-title="卫视频道",广西卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=40$LR•IPV4『线路67』
|
https://hlscdn.liangtv.cn/live/de0f97348eb84f62aa6b7d8cf0430770/dd505d87880c478f901f38560ca4d4e6.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",广西卫视
|
#EXTINF:-1 group-title="卫视频道",广西卫视
|
||||||
http://218.89.240.144:59901/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路118』
|
http://221.2.148.205:8154/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路32』
|
||||||
#EXTINF:-1 group-title="卫视频道",贵州卫视
|
#EXTINF:-1 group-title="卫视频道",贵州卫视
|
||||||
http://222.169.85.8:9901/tsfile/live/0120_1.m3u8
|
http://222.169.85.8:9901/tsfile/live/0120_1.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",贵州卫视
|
#EXTINF:-1 group-title="卫视频道",贵州卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=39$LR•IPV4『线路90』
|
http://8.138.7.223/tv/dl/careryun.php?id=39$LR•IPV4『线路90』
|
||||||
#EXTINF:-1 group-title="卫视频道",海南卫视
|
#EXTINF:-1 group-title="卫视频道",海南卫视
|
||||||
http://nn.7x9d.cn/地方台8563/海南.php?id=hnws
|
|
||||||
#EXTINF:-1 group-title="卫视频道",海南卫视
|
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=31$LR•IPV4『线路69』
|
http://8.138.7.223/tv/dl/careryun.php?id=31$LR•IPV4『线路69』
|
||||||
#EXTINF:-1 group-title="卫视频道",海南卫视
|
#EXTINF:-1 group-title="卫视频道",海南卫视
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=24$LR•IPV4『线路68』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=24$LR•IPV4『线路68』
|
||||||
#EXTINF:-1 group-title="卫视频道",海峡卫视
|
#EXTINF:-1 group-title="卫视频道",海南卫视
|
||||||
http://hlsbkmgsplive.miguvideo.com/migu/kailu/haixiaws/57/20230724/01.m3u8?msisdn=&Channel_ID=&ContentId=&HlsSubType=&HlsProfileId=&encrypt=
|
http://120.76.248.139/live/bfgd/4200000473.m3u8
|
||||||
|
#EXTINF:-1 group-title="卫视频道",海南卫视
|
||||||
|
http://nn.7x9d.cn/地方台8563/海南.php?id=hnws
|
||||||
|
#EXTINF:-1 group-title="卫视频道",河北卫视
|
||||||
|
http://8.138.7.223/tv/dl/careryun.php?id=34$LR•IPV4『线路86』
|
||||||
|
#EXTINF:-1 group-title="卫视频道",河北卫视
|
||||||
|
http://120.76.248.139/live/bfgd/4200000108.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",河南卫视
|
#EXTINF:-1 group-title="卫视频道",河南卫视
|
||||||
http://tvpull.dxhmt.cn:9081/tv/11425-1.m3u8
|
http://tvpull.dxhmt.cn:9081/tv/11425-1.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",河南卫视
|
#EXTINF:-1 group-title="卫视频道",河南卫视
|
||||||
http://1.94.31.214/php/hntv.php?id=hnws
|
http://1.94.31.214/php/hntv.php?id=hnws
|
||||||
#EXTINF:-1 group-title="卫视频道",河南卫视
|
#EXTINF:-1 group-title="卫视频道",河南卫视
|
||||||
http://42.225.117.174:11199/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0
|
|
||||||
#EXTINF:-1 group-title="卫视频道",河南卫视
|
|
||||||
http://222.169.85.8:9901/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0
|
http://222.169.85.8:9901/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||||
#EXTINF:-1 group-title="卫视频道",河南卫视
|
#EXTINF:-1 group-title="卫视频道",河南卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=38$LR•IPV4『线路77』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",河南卫视
|
|
||||||
http://222.169.85.8:9901/tsfile/live/0139_1.m3u8
|
http://222.169.85.8:9901/tsfile/live/0139_1.m3u8
|
||||||
|
#EXTINF:-1 group-title="卫视频道",河南卫视
|
||||||
|
http://218.89.240.144:59901/tsfile/live/0139_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路131』
|
||||||
#EXTINF:-1 group-title="卫视频道",黑龙江卫视
|
#EXTINF:-1 group-title="卫视频道",黑龙江卫视
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=29$LR•IPV4『线路90』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=29$LR•IPV4『线路90』
|
||||||
#EXTINF:-1 group-title="卫视频道",黑龙江卫视
|
#EXTINF:-1 group-title="卫视频道",黑龙江卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=32$LR•IPV4『线路91』
|
http://8.138.7.223/tv/dl/careryun.php?id=32$LR•IPV4『线路91』
|
||||||
#EXTINF:-1 group-title="卫视频道",黑龙江卫视
|
#EXTINF:-1 group-title="卫视频道",黑龙江卫视
|
||||||
|
http://iptv.huuc.edu.cn/hls/hljhd.m3u8
|
||||||
|
#EXTINF:-1 group-title="卫视频道",黑龙江卫视
|
||||||
http://39.150.96.141:65535/tsfile/live/0143_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路81』
|
http://39.150.96.141:65535/tsfile/live/0143_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路81』
|
||||||
#EXTINF:-1 group-title="卫视频道",湖北卫视
|
#EXTINF:-1 group-title="卫视频道",湖北卫视
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=25$LR•IPV4『线路93』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=25$LR•IPV4『线路93』
|
||||||
#EXTINF:-1 group-title="卫视频道",湖北卫视
|
#EXTINF:-1 group-title="卫视频道",湖北卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=28$LR•IPV4『线路94』
|
http://8.138.7.223/tv/dl/careryun.php?id=28$LR•IPV4『线路94』
|
||||||
#EXTINF:-1 group-title="卫视频道",湖北卫视
|
|
||||||
http://39.150.96.141:65535/tsfile/live/0132_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路190』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",湖南卫视
|
|
||||||
http://183.215.134.239:19901/tsfile/live/0128_1.m3u8?key=txiptv&playlive=1&authid=0
|
|
||||||
#EXTINF:-1 group-title="卫视频道",湖南卫视
|
#EXTINF:-1 group-title="卫视频道",湖南卫视
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=18$LR•IPV4『线路93』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=18$LR•IPV4『线路93』
|
||||||
#EXTINF:-1 group-title="卫视频道",湖南卫视
|
#EXTINF:-1 group-title="卫视频道",湖南卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=21$LR•IPV4『线路94』
|
http://iptv.huuc.edu.cn/hls/hunanhd.m3u8
|
||||||
|
#EXTINF:-1 group-title="卫视频道",湖南卫视
|
||||||
|
https://migu.188766.xyz/?migutoken=ec26188e91410ebeb44f54597d4eb02f&id=%E6%B9%96%E5%8D%97%E5%8D%AB%E8%A7%86&pp=1
|
||||||
|
#EXTINF:-1 group-title="卫视频道",吉林卫视
|
||||||
|
http://120.76.248.139/live/bfgd/4200000097.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",吉林卫视
|
#EXTINF:-1 group-title="卫视频道",吉林卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=41$LR•IPV4『线路79』
|
http://8.138.7.223/tv/dl/careryun.php?id=41$LR•IPV4『线路79』
|
||||||
#EXTINF:-1 group-title="卫视频道",吉林卫视
|
|
||||||
http://61.138.128.226:19901/tsfile/live/1022_1.m3u8?key=txiptv&playlive=1&authid=0
|
|
||||||
#EXTINF:-1 group-title="卫视频道",江苏卫视
|
#EXTINF:-1 group-title="卫视频道",江苏卫视
|
||||||
http://42.225.117.174:11199/tsfile/live/0127_1.m3u8?key=txiptv&playlive=1&authid=0
|
http://42.225.117.174:11199/tsfile/live/0127_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||||
#EXTINF:-1 group-title="卫视频道",江苏卫视
|
#EXTINF:-1 group-title="卫视频道",江苏卫视
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=21$LR•IPV4『线路103』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",江苏卫视
|
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=23$LR•IPV4『线路104』
|
http://8.138.7.223/tv/dl/careryun.php?id=23$LR•IPV4『线路104』
|
||||||
#EXTINF:-1 group-title="卫视频道",江西卫视
|
#EXTINF:-1 group-title="卫视频道",江苏卫视
|
||||||
http://183.215.134.239:19901/tsfile/live/0138_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路106』
|
http://iptv.huuc.edu.cn/hls/jshd.m3u8
|
||||||
|
#EXTINF:-1 group-title="卫视频道",江苏卫视
|
||||||
|
http://120.76.248.139/live/bfgd/4200000085.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",江西卫视
|
#EXTINF:-1 group-title="卫视频道",江西卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=30$LR•IPV4『线路90』
|
http://8.138.7.223/tv/dl/careryun.php?id=30$LR•IPV4『线路90』
|
||||||
#EXTINF:-1 group-title="卫视频道",江西卫视
|
#EXTINF:-1 group-title="卫视频道",江西卫视
|
||||||
http://222.169.85.8:9901/tsfile/live/0138_1.m3u8
|
http://iptv.huuc.edu.cn/hls/jxhd.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",江西卫视
|
#EXTINF:-1 group-title="卫视频道",江西卫视
|
||||||
http://58.17.48.228:808/hls/17/index.m3u8
|
https://migu.188766.xyz/?migutoken=ec5db662362dfc44c29d19ebabd3b6f7&id=%E6%B1%9F%E8%A5%BF%E5%8D%AB%E8%A7%86&pp=1
|
||||||
|
#EXTINF:-1 group-title="卫视频道",康巴卫视
|
||||||
|
http://218.89.240.144:59901/tsfile/live/1010_1.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",莲花卫视
|
#EXTINF:-1 group-title="卫视频道",莲花卫视
|
||||||
https://fenghuang.tv12.xyz/187.m3u8
|
https://fenghuang.tv12.xyz/187.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",辽宁卫视
|
#EXTINF:-1 group-title="卫视频道",辽宁卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=36$LR•IPV4『线路84』
|
http://8.138.7.223/tv/dl/careryun.php?id=36$LR•IPV4『线路84』
|
||||||
|
#EXTINF:-1 group-title="卫视频道",辽宁卫视
|
||||||
|
http://iptv.huuc.edu.cn/hls/lnhd.m3u8
|
||||||
|
#EXTINF:-1 group-title="卫视频道",辽宁卫视
|
||||||
|
http://120.76.248.139/live/bfgd/4200000058.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",内蒙古卫视
|
#EXTINF:-1 group-title="卫视频道",内蒙古卫视
|
||||||
https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8
|
https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",内蒙古卫视
|
#EXTINF:-1 group-title="卫视频道",内蒙古卫视
|
||||||
@@ -241,46 +301,60 @@ http://39.150.96.141:65535/tsfile/live/0140_1.m3u8?key=txiptv&playlive=1&authid=
|
|||||||
http://8.138.7.223/tv/dl/careryun.php?id=44$LR•IPV4『线路55』
|
http://8.138.7.223/tv/dl/careryun.php?id=44$LR•IPV4『线路55』
|
||||||
#EXTINF:-1 group-title="卫视频道",青海卫视
|
#EXTINF:-1 group-title="卫视频道",青海卫视
|
||||||
http://39.150.96.141:65535/tsfile/live/0140_1.m3u8?key=txiptv&playlive=1&authid=0
|
http://39.150.96.141:65535/tsfile/live/0140_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||||
|
#EXTINF:-1 group-title="卫视频道",青海卫视
|
||||||
|
http://120.76.248.139/live/bfgd/4200000111.m3u8
|
||||||
|
#EXTINF:-1 group-title="卫视频道",三沙卫视
|
||||||
|
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221227172/index.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",山东卫视
|
#EXTINF:-1 group-title="卫视频道",山东卫视
|
||||||
http://222.169.85.8:9901/tsfile/live/0131_1.m3u8
|
http://222.169.85.8:9901/tsfile/live/0131_1.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",山东卫视
|
#EXTINF:-1 group-title="卫视频道",山东卫视
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=26$LR•IPV4『线路94』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",山东卫视
|
|
||||||
http://39.150.96.141:65535/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路86』
|
http://39.150.96.141:65535/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路86』
|
||||||
#EXTINF:-1 group-title="卫视频道",山东卫视
|
#EXTINF:-1 group-title="卫视频道",山东卫视
|
||||||
http://live.dxhmt.cn:9081/tv/11521-1.m3u8
|
http://live.dxhmt.cn:9081/tv/11521-1.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",山东卫视
|
#EXTINF:-1 group-title="卫视频道",山东卫视
|
||||||
http://61.138.128.226:19901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0
|
http://8.138.7.223/tv/dl/careryun.php?id=29$LR•IPV4『线路95』
|
||||||
|
#EXTINF:-1 group-title="卫视频道",山东卫视
|
||||||
|
http://iptv.huuc.edu.cn/hls/sdhd.m3u8
|
||||||
|
#EXTINF:-1 group-title="卫视频道",山东卫视
|
||||||
|
http://120.76.248.139/live/bfgd/4200000099.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",山西卫视
|
#EXTINF:-1 group-title="卫视频道",山西卫视
|
||||||
http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel7/playlist.m3u8
|
http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel7/playlist.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",山西卫视
|
|
||||||
http://42.225.117.174:11199/tsfile/live/0118_1.m3u8?key=txiptv&playlive=1&authid=0
|
|
||||||
#EXTINF:-1 group-title="卫视频道",陕西卫视
|
#EXTINF:-1 group-title="卫视频道",陕西卫视
|
||||||
http://hlsbkmgsplive.miguvideo.com/migu/kailu/shan3xiws/57/20220809/index.m3u8?msisdn=&mtv_session=&HlsSubType=1&HlsProfileId=1&nphaid=0&encrypt=
|
https://migu.188766.xyz/?migutoken=10c796b9a6319d64719c78ea4d04cffa&id=%E9%99%95%E8%A5%BF%E5%8D%AB%E8%A7%86&pp=1
|
||||||
#EXTINF:-1 group-title="卫视频道",深圳卫视
|
#EXTINF:-1 group-title="卫视频道",深圳卫视
|
||||||
http://39.150.96.141:65535/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路151』
|
http://39.150.96.141:65535/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路151』
|
||||||
#EXTINF:-1 group-title="卫视频道",深圳卫视
|
#EXTINF:-1 group-title="卫视频道",深圳卫视
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=23$LR•IPV4『线路72』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=23$LR•IPV4『线路72』
|
||||||
#EXTINF:-1 group-title="卫视频道",深圳卫视
|
#EXTINF:-1 group-title="卫视频道",深圳卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=25$LR•IPV4『线路73』
|
http://iptv.huuc.edu.cn/hls/szhd.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",深圳卫视
|
#EXTINF:-1 group-title="卫视频道",深圳卫视
|
||||||
http://222.169.85.8:9901/tsfile/live/0126_1.m3u8
|
http://120.76.248.139/live/bfgd/4200000100.m3u8
|
||||||
|
#EXTINF:-1 group-title="卫视频道",深圳卫视
|
||||||
|
http://yncbn.ks-cdn.gitv.tv/gitv_live/G_SHENZHEN-HQ/G_SHENZHEN-HQ.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",四川卫视
|
#EXTINF:-1 group-title="卫视频道",四川卫视
|
||||||
http://39.150.96.141:65535/tsfile/live/0123_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路65』
|
http://39.150.96.141:65535/tsfile/live/0123_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路65』
|
||||||
#EXTINF:-1 group-title="卫视频道",四川卫视
|
#EXTINF:-1 group-title="卫视频道",四川卫视
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=27$LR•IPV4『线路77』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=27$LR•IPV4『线路77』
|
||||||
#EXTINF:-1 group-title="卫视频道",四川卫视
|
#EXTINF:-1 group-title="卫视频道",四川卫视
|
||||||
|
http://iptv.huuc.edu.cn/hls/schd.m3u8
|
||||||
|
#EXTINF:-1 group-title="卫视频道",四川卫视
|
||||||
|
http://39.150.96.141:65535/tsfile/live/0123_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||||
|
#EXTINF:-1 group-title="卫视频道",四川卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=35$LR•IPV4『线路78』
|
http://8.138.7.223/tv/dl/careryun.php?id=35$LR•IPV4『线路78』
|
||||||
#EXTINF:-1 group-title="卫视频道",四川卫视
|
#EXTINF:-1 group-title="卫视频道",四川卫视
|
||||||
http://222.169.85.8:9901/tsfile/live/0123_1.m3u8?key=txiptv&playlive=1&authid=0
|
http://222.169.85.8:9901/tsfile/live/0123_1.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",天津卫视
|
#EXTINF:-1 group-title="卫视频道",天津卫视
|
||||||
http://222.169.85.8:9901/tsfile/live/0135_1.m3u8
|
http://222.169.85.8:9901/tsfile/live/0135_1.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",天津卫视
|
#EXTINF:-1 group-title="卫视频道",天津卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=43$LR•IPV4『线路93』
|
http://8.138.7.223/tv/dl/careryun.php?id=43$LR•IPV4『线路93』
|
||||||
#EXTINF:-1 group-title="卫视频道",新疆卫视
|
#EXTINF:-1 group-title="卫视频道",新疆卫视
|
||||||
http://42.225.117.174:11199/tsfile/live/0110_1.m3u8?key=txiptv&playlive=1&authid=0
|
http://42.225.117.174:11199/tsfile/live/0110_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||||
|
#EXTINF:-1 group-title="卫视频道",新疆卫视
|
||||||
|
http://8.138.7.223/tv/dl/careryun.php?id=46$LR•IPV4『线路45』
|
||||||
#EXTINF:-1 group-title="卫视频道",延边卫视
|
#EXTINF:-1 group-title="卫视频道",延边卫视
|
||||||
http://l.cztvcloud.com/channels/lantian/SXxinchang2/720p.m3u8
|
http://l.cztvcloud.com/channels/lantian/SXxinchang2/720p.m3u8
|
||||||
|
#EXTINF:-1 group-title="卫视频道",云南卫视
|
||||||
|
http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010119/index.m3u8$LR•IPV6『线路18』
|
||||||
#EXTINF:-1 group-title="卫视频道",浙江卫视
|
#EXTINF:-1 group-title="卫视频道",浙江卫视
|
||||||
http://ali-m-l.cztv.com:80/channels/lantian/channel001/1080p.m3u8
|
http://ali-m-l.cztv.com:80/channels/lantian/channel001/1080p.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",浙江卫视
|
#EXTINF:-1 group-title="卫视频道",浙江卫视
|
||||||
@@ -304,9 +378,9 @@ http://8.138.7.223/tv/zjws.m3u8
|
|||||||
#EXTINF:-1 group-title="卫视频道",浙江卫视
|
#EXTINF:-1 group-title="卫视频道",浙江卫视
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=19$LR•IPV4『线路99』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=19$LR•IPV4『线路99』
|
||||||
#EXTINF:-1 group-title="卫视频道",浙江卫视
|
#EXTINF:-1 group-title="卫视频道",浙江卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=22$LR•IPV4『线路100』
|
http://iptv.huuc.edu.cn/hls/zjhd.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",浙江卫视
|
#EXTINF:-1 group-title="卫视频道",浙江卫视
|
||||||
http://58.17.48.228:808/hls/32/index.m3u8
|
http://8.138.7.223/tv/dl/careryun.php?id=22$LR•IPV4『线路100』
|
||||||
#EXTINF:-1 group-title="未分组",《爱难求情难断…》
|
#EXTINF:-1 group-title="未分组",《爱难求情难断…》
|
||||||
https://vdse.bdstatic.com//0c8ed110c5522e9bd31752ecb999b1ab.mp4
|
https://vdse.bdstatic.com//0c8ed110c5522e9bd31752ecb999b1ab.mp4
|
||||||
#EXTINF:-1 group-title="未分组",《爱情这杯酒谁喝都得醉》《女人泪男人的罪》《伤了的心还爱谁》
|
#EXTINF:-1 group-title="未分组",《爱情这杯酒谁喝都得醉》《女人泪男人的罪》《伤了的心还爱谁》
|
||||||
@@ -347,16 +421,12 @@ http://124.88.144.73:1935/live/jiaoyu/playlist.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%
|
|||||||
http://124.88.144.73:1935/live/jiaoyu/playlist.m3u8
|
http://124.88.144.73:1935/live/jiaoyu/playlist.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",兵团八师石河子经济生活
|
#EXTINF:-1 group-title="未分组",兵团八师石河子经济生活
|
||||||
http://124.88.144.73:1935/live/dywt/playlist.m3u8?zxinjd
|
http://124.88.144.73:1935/live/dywt/playlist.m3u8?zxinjd
|
||||||
#EXTINF:-1 group-title="未分组",亳州农村
|
#EXTINF:-1 group-title="未分组",纯享4K
|
||||||
http://zbbf2.ahbztv.com/live/418.m3u8
|
http://fjcm-2117.live.iptv.darwinchow.com/PLTV/88888888/224/3221226825/index.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",测试视频 7.1.4 12声道
|
|
||||||
https://mos-vod-drcn.dbankcdn.cn/P_VT/video_injection/3282D63676C3EAC291CFD5D891CB5D3A8C52A5B9AA8EBEF72D0BEF0A34EAEFC0134D9B0/v3/M2040549141360156160/chunjianghuayueyevivid.mp4
|
|
||||||
#EXTINF:-1 group-title="未分组",乘着火车看中国
|
|
||||||
http://hls.cntv.myhwcdn.cn/asp/hls/4000/0303000a/3/default/2b0f397ed9d948eb9fac38d73cde241b/4000.m3u8
|
|
||||||
#EXTINF:-1 group-title="未分组",创世纪
|
|
||||||
http://iptv.jxpan.vip:18888/aio/huya/29465852
|
|
||||||
#EXTINF:-1 group-title="未分组",戳心民谣《草原情哥哥》《一壶老酒》动人旋律听醉人
|
#EXTINF:-1 group-title="未分组",戳心民谣《草原情哥哥》《一壶老酒》动人旋律听醉人
|
||||||
https://vd4.bdstatic.com/mda-ndd3dfth86fye3tv/1080p/cae_h264_delogo/1649903743828562113/mda-ndd3dfth86fye3tv.mp4
|
https://vd4.bdstatic.com/mda-ndd3dfth86fye3tv/1080p/cae_h264_delogo/1649903743828562113/mda-ndd3dfth86fye3tv.mp4
|
||||||
|
#EXTINF:-1 group-title="未分组",哒啵赛事
|
||||||
|
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221227331/index.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",大丰公共频道
|
#EXTINF:-1 group-title="未分组",大丰公共频道
|
||||||
http://dafeng-tv-hls.cm.jstv.com/dafeng-tv/dafenget.m3u8?zjiangsd
|
http://dafeng-tv-hls.cm.jstv.com/dafeng-tv/dafenget.m3u8?zjiangsd
|
||||||
#EXTINF:-1 group-title="未分组",大研花巷景观台
|
#EXTINF:-1 group-title="未分组",大研花巷景观台
|
||||||
@@ -369,24 +439,10 @@ https://vdse.bdstatic.com//4fcca19a19aa4974230c5ee70ab5fa55.mp4
|
|||||||
http://tvpull.dxhmt.cn:9081/tv/10185-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
http://tvpull.dxhmt.cn:9081/tv/10185-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
||||||
#EXTINF:-1 group-title="未分组",点歌的人-海来阿木
|
#EXTINF:-1 group-title="未分组",点歌的人-海来阿木
|
||||||
https://vd3.bdstatic.com/mda-maqxxg1hrznsdf1a/v1-cae/1080p/mda-maqxxg1hrznsdf1a.mp4
|
https://vd3.bdstatic.com/mda-maqxxg1hrznsdf1a/v1-cae/1080p/mda-maqxxg1hrznsdf1a.mp4
|
||||||
#EXTINF:-1 group-title="未分组",电影_功夫片
|
#EXTINF:-1 group-title="未分组",电影_贺岁片
|
||||||
http://www.douzhicloud.site:35455/huya/11352941
|
http://www.douzhicloud.site:35455/huya/11601986
|
||||||
#EXTINF:-1 group-title="未分组",电影_经典港片
|
#EXTINF:-1 group-title="未分组",电影_宇宙
|
||||||
http://www.douzhicloud.site:35455/huya/11352965
|
https://www.goodiptv.club/huya/11342428
|
||||||
#EXTINF:-1 group-title="未分组",电影_沈腾
|
|
||||||
http://www.douzhicloud.site:35455/huya/11601968
|
|
||||||
#EXTINF:-1 group-title="未分组",电影_星爷
|
|
||||||
https://www.goodiptv.club/huya/11342412
|
|
||||||
#EXTINF:-1 group-title="未分组",电影_星爷
|
|
||||||
http://www.douzhicloud.site:35455/huya/11342412
|
|
||||||
#EXTINF:-1 group-title="未分组",电影_玄幻
|
|
||||||
http://www.douzhicloud.site:35455/huya/11342414
|
|
||||||
#EXTINF:-1 group-title="未分组",电影_英叔
|
|
||||||
https://www.goodiptv.club/huya/11342421
|
|
||||||
#EXTINF:-1 group-title="未分组",电影_英叔
|
|
||||||
http://www.douzhicloud.site:35455/huya/11342421
|
|
||||||
#EXTINF:-1 group-title="未分组",电影_战争
|
|
||||||
https://www.goodiptv.club/huya/21059592
|
|
||||||
#EXTINF:-1 group-title="未分组",东台综合频道
|
#EXTINF:-1 group-title="未分组",东台综合频道
|
||||||
http://dongtai-tv-hls.cm.jstv.com/dongtai-tv/dongtaizonghe.m3u8?zjiangsd
|
http://dongtai-tv-hls.cm.jstv.com/dongtai-tv/dongtaizonghe.m3u8?zjiangsd
|
||||||
#EXTINF:-1 group-title="未分组",斗鱼电2y
|
#EXTINF:-1 group-title="未分组",斗鱼电2y
|
||||||
@@ -397,14 +453,20 @@ http://tc-tct.douyucdn2.cn/dyliveflv1a/20415rnWbjg6Ex1K_2000.flv?wsAuth=2ccc7b4b
|
|||||||
http://tc-tct.douyucdn2.cn/dyliveflv1/85894rmovieChow_2000.flv?wsAuth=7d054e041804e80af8aa7e975e2d8573&token=cpn-androidmpro-0-85894-a3575d938a4aa309c687f5fb85a1009fc65cfbeeb2672310&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=pla
|
http://tc-tct.douyucdn2.cn/dyliveflv1/85894rmovieChow_2000.flv?wsAuth=7d054e041804e80af8aa7e975e2d8573&token=cpn-androidmpro-0-85894-a3575d938a4aa309c687f5fb85a1009fc65cfbeeb2672310&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=pla
|
||||||
#EXTINF:-1 group-title="未分组",斗鱼电影4y
|
#EXTINF:-1 group-title="未分组",斗鱼电影4y
|
||||||
http://tc-tct.douyucdn2.cn/dyliveflv1a/20415rnWbjg6Ex1K_2000.flv?wsAuth=99705a1921ddd49fb7079a02f02bedc4&token=cpn-androidmpro-0-20415-b6774b3b3249db17d8beee6676fdf877fe8b1576307ef8e6&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=p
|
http://tc-tct.douyucdn2.cn/dyliveflv1a/20415rnWbjg6Ex1K_2000.flv?wsAuth=99705a1921ddd49fb7079a02f02bedc4&token=cpn-androidmpro-0-20415-b6774b3b3249db17d8beee6676fdf877fe8b1576307ef8e6&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=p
|
||||||
|
#EXTINF:-1 group-title="未分组",斗鱼豆瓣高分
|
||||||
|
http://www.douzhicloud.site:35455/douyu/74374
|
||||||
|
#EXTINF:-1 group-title="未分组",斗鱼高分电影
|
||||||
|
http://www.douzhicloud.site:35455/douyu/431460
|
||||||
|
#EXTINF:-1 group-title="未分组",斗鱼国产电影
|
||||||
|
http://www.douzhicloud.site:35455/douyu/122402
|
||||||
#EXTINF:-1 group-title="未分组",斗鱼音乐MV频道
|
#EXTINF:-1 group-title="未分组",斗鱼音乐MV频道
|
||||||
http://zzy789.xyz/douyu1.php?id=3870925
|
http://zzy789.xyz/douyu1.php?id=3870925
|
||||||
|
#EXTINF:-1 group-title="未分组",斗鱼MAX电影
|
||||||
|
http://www.douzhicloud.site:35455/douyu/4332
|
||||||
#EXTINF:-1 group-title="未分组",番薯台
|
#EXTINF:-1 group-title="未分组",番薯台
|
||||||
http://61.216.67.119:1935/TWHG/E1/chunklist_w705811302.m3u8
|
http://61.216.67.119:1935/TWHG/E1/chunklist_w705811302.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",番禺综合
|
#EXTINF:-1 group-title="未分组",番禺综合
|
||||||
http://video.epaper.pybtv.cn:8080/live/rtmp_live_demo.flv
|
http://video.epaper.pybtv.cn:8080/live/rtmp_live_demo.flv
|
||||||
#EXTINF:-1 group-title="未分组",梵净山
|
|
||||||
http://hls.cntv.myhwcdn.cn/asp/hls/4000/0303000a/3/default/b9571df1181c4422a83901e827519fe6/4000.m3u8
|
|
||||||
#EXTINF:-1 group-title="未分组",方城一套
|
#EXTINF:-1 group-title="未分组",方城一套
|
||||||
http://tvpull.dxhmt.cn:9081/tv/11322-1.m3u8
|
http://tvpull.dxhmt.cn:9081/tv/11322-1.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",方城一套
|
#EXTINF:-1 group-title="未分组",方城一套
|
||||||
@@ -417,10 +479,10 @@ https://vdse.bdstatic.com//6d39df48360bdb12f73800397c4a6c02.mp4
|
|||||||
http://8.138.7.223/tv/gdmzyd.php?id=1$LR•IPV4『线路20』
|
http://8.138.7.223/tv/gdmzyd.php?id=1$LR•IPV4『线路20』
|
||||||
#EXTINF:-1 group-title="未分组",汾西综合
|
#EXTINF:-1 group-title="未分组",汾西综合
|
||||||
https://qmmqvzoz.live.sxmty.com/live/hls/f24f8a390c084386a564074c9260100c/be3fdf07606145739ab2c4b80fe0136a.m3u8?zshanxd
|
https://qmmqvzoz.live.sxmty.com/live/hls/f24f8a390c084386a564074c9260100c/be3fdf07606145739ab2c4b80fe0136a.m3u8?zshanxd
|
||||||
#EXTINF:-1 group-title="未分组",封神榜
|
|
||||||
http://iptv.jxpan.vip:18888/aio/huya/29465849
|
|
||||||
#EXTINF:-1 group-title="未分组",冯提莫 红尘事⁴ᴷ
|
#EXTINF:-1 group-title="未分组",冯提莫 红尘事⁴ᴷ
|
||||||
https://us-xpc11.xpccdn.com/59fbfe8e-c4f3-41c3-9b7a-c6d2eec1fa49.mp4
|
https://us-xpc11.xpccdn.com/59fbfe8e-c4f3-41c3-9b7a-c6d2eec1fa49.mp4
|
||||||
|
#EXTINF:-1 group-title="未分组",冯小刚
|
||||||
|
http://www.douzhicloud.site:35455/huya/11352906
|
||||||
#EXTINF:-1 group-title="未分组",扶沟综合
|
#EXTINF:-1 group-title="未分组",扶沟综合
|
||||||
http://tvpull.dxhmt.cn:9081/tv/11621-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
http://tvpull.dxhmt.cn:9081/tv/11621-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
||||||
#EXTINF:-1 group-title="未分组",福州生活
|
#EXTINF:-1 group-title="未分组",福州生活
|
||||||
@@ -431,8 +493,6 @@ https://vd4.bdstatic.com:443/mda-mcbs0hpjpkpwethe/1080p/h264_cae/162049248954808
|
|||||||
https://vd2.bdstatic.com/mda-ndc5crm9gba2yph5/1080p/cae_h264_delogo/1649823066739772202/mda-ndc5crm9gba2yph5.mp4
|
https://vd2.bdstatic.com/mda-ndc5crm9gba2yph5/1080p/cae_h264_delogo/1649823066739772202/mda-ndc5crm9gba2yph5.mp4
|
||||||
#EXTINF:-1 group-title="未分组",古风MV花月成双⁴ᴷ
|
#EXTINF:-1 group-title="未分组",古风MV花月成双⁴ᴷ
|
||||||
https://us-xpc5.xpccdn.com/55247432-578f-48cf-a93e-392699e4699a.mp4
|
https://us-xpc5.xpccdn.com/55247432-578f-48cf-a93e-392699e4699a.mp4
|
||||||
#EXTINF:-1 group-title="未分组",古天乐
|
|
||||||
http://www.douzhicloud.site:35455/huya/11602041
|
|
||||||
#EXTINF:-1 group-title="未分组",固始综合
|
#EXTINF:-1 group-title="未分组",固始综合
|
||||||
http://tvpull.dxhmt.cn:9081/tv/11525-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
http://tvpull.dxhmt.cn:9081/tv/11525-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
||||||
#EXTINF:-1 group-title="未分组",光山综合
|
#EXTINF:-1 group-title="未分组",光山综合
|
||||||
@@ -463,6 +523,10 @@ rtmp://rtmp.tv.stream3.hndt.com/tv/647f9277018410008cf925e200000000?wsSecret=9a2
|
|||||||
rtmp://rtmp.tv.stream3.hndt.com/tv/647f9277018410008cf925e200000000?wsSecret=9a23316ee66e918684e097f&wsSecret=f40d9e69b822b57108906d90009b571d&wsTime=1753808414
|
rtmp://rtmp.tv.stream3.hndt.com/tv/647f9277018410008cf925e200000000?wsSecret=9a23316ee66e918684e097f&wsSecret=f40d9e69b822b57108906d90009b571d&wsTime=1753808414
|
||||||
#EXTINF:-1 group-title="未分组",国学频道
|
#EXTINF:-1 group-title="未分组",国学频道
|
||||||
rtmp://rtmp.tv.stream3.hndt.com/tv/647f9277018410008cf925e200000000?wsSecret=9a23316ee66e918684e097f&wsSecret=5a677bcfa1f03fbc45f79668c938bbb8&wsTime=1753894818
|
rtmp://rtmp.tv.stream3.hndt.com/tv/647f9277018410008cf925e200000000?wsSecret=9a23316ee66e918684e097f&wsSecret=5a677bcfa1f03fbc45f79668c938bbb8&wsTime=1753894818
|
||||||
|
#EXTINF:-1 group-title="未分组",国学频道
|
||||||
|
rtmp://rtmp.tv.stream3.hndt.com/tv/647f9277018410008cf925e200000000?wsSecret=9a23316ee66e918684e097f&wsSecret=a6bcfeceee4c70be71221beda86c4221&wsTime=1753981218
|
||||||
|
#EXTINF:-1 group-title="未分组",国学频道
|
||||||
|
rtmp://rtmp.tv.stream3.hndt.com/tv/647f9277018410008cf925e200000000?wsSecret=9a23316ee66e918684e097f&wsSecret=2b579d931679bf715e9be4f13a07e006&wsTime=1754067616
|
||||||
#EXTINF:-1 group-title="未分组",哈密一套
|
#EXTINF:-1 group-title="未分组",哈密一套
|
||||||
https://tvpull.hmgbtv.com/hmtv/channel9cd66b3d5d258b2b.flv
|
https://tvpull.hmgbtv.com/hmtv/channel9cd66b3d5d258b2b.flv
|
||||||
#EXTINF:-1 group-title="未分组",海鸥飞-龙梅子
|
#EXTINF:-1 group-title="未分组",海鸥飞-龙梅子
|
||||||
@@ -471,14 +535,18 @@ https://vd2.bdstatic.com/mda-kgrx6ftzptj5x4i9/v1-cae/1080p/mda-kgrx6ftzptj5x4i9.
|
|||||||
https://jwcdnqx.hebyun.com.cn/live/hdgg/1500k/tzwj_video.m3u8
|
https://jwcdnqx.hebyun.com.cn/live/hdgg/1500k/tzwj_video.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",邯郸科技教育
|
#EXTINF:-1 group-title="未分组",邯郸科技教育
|
||||||
https://jwcdnqx.hebyun.com.cn/live/hdkj/1500k/tzwj_video.m3u8
|
https://jwcdnqx.hebyun.com.cn/live/hdkj/1500k/tzwj_video.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",航拍中国第一季
|
#EXTINF:-1 group-title="未分组",航拍中国第二季
|
||||||
http://hls.cntv.myhwcdn.cn/asp/hls/4000/0303000a/3/default/8edf3fb6a69148ea9a7dc0b5a9d99fdb/4000.m3u8
|
http://newcntv.qcloudcdn.com/asp/hls/4000/0303000a/3/default/2bdfdad540b342f592f9817cb7f3b79a/4000.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",和你一起的每一刻都是甜的⁴ᴷ
|
#EXTINF:-1 group-title="未分组",和你一起的每一刻都是甜的⁴ᴷ
|
||||||
https://us-xpc5.xpccdn.com/71161a1c-4a92-4139-b1ed-f88c60ca1fcb.mp4
|
https://us-xpc5.xpccdn.com/71161a1c-4a92-4139-b1ed-f88c60ca1fcb.mp4
|
||||||
#EXTINF:-1 group-title="未分组",菏泽 | 曹县综合
|
#EXTINF:-1 group-title="未分组",菏泽 | 曹县综合
|
||||||
http://jsylivealone302.iqilu.com/live/caoxian_tv01/index.m3u8
|
http://jsylivealone302.iqilu.com/live/caoxian_tv01/index.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",恒山悬空寺全景
|
#EXTINF:-1 group-title="未分组",恒山悬空寺全景
|
||||||
https://gcalic.v.myalicdn.com/gc/hsxksqj_1/index.m3u8
|
https://gcalic.v.myalicdn.com/gc/hsxksqj_1/index.m3u8
|
||||||
|
#EXTINF:-1 group-title="未分组",怀仁综合
|
||||||
|
https://1yp7hc5p.live.sxmty.com/live/hls/bff8529922344209985b6e49baa9555a/efa2543628fc4a7ea93d3d6c975f77dc-1.m3u8
|
||||||
|
#EXTINF:-1 group-title="未分组",怀仁综合
|
||||||
|
http://1yp7hc5p.live.sxmty.com/live/hls/bff8529922344209985b6e49baa9555a/efa2543628fc4a7ea93d3d6c975f77dc.m3u8?zshanxd
|
||||||
#EXTINF:-1 group-title="未分组",黄果树六角亭瀑布
|
#EXTINF:-1 group-title="未分组",黄果树六角亭瀑布
|
||||||
https://gcalic.v.myalicdn.com/gc/hgsspzxdpb_1/index.m3u8
|
https://gcalic.v.myalicdn.com/gc/hgsspzxdpb_1/index.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",黄花城水长城03
|
#EXTINF:-1 group-title="未分组",黄花城水长城03
|
||||||
@@ -495,12 +563,12 @@ https://gcalic.v.myalicdn.com/gc/hswlf_1/index.m3u8?contentid=2820180516001
|
|||||||
http://tvpull.dxhmt.cn:9081/tv/11526-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
http://tvpull.dxhmt.cn:9081/tv/11526-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
||||||
#EXTINF:-1 group-title="未分组",吉木萨尔综合
|
#EXTINF:-1 group-title="未分组",吉木萨尔综合
|
||||||
http://218.31.201.189:9000/api/material/local/mnt/shiping1/prog_index.m3u8?zxinjd
|
http://218.31.201.189:9000/api/material/local/mnt/shiping1/prog_index.m3u8?zxinjd
|
||||||
|
#EXTINF:-1 group-title="未分组",纪实科教
|
||||||
|
http://120.76.248.139/live/bfgd/4200000113.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",济源电视一套
|
#EXTINF:-1 group-title="未分组",济源电视一套
|
||||||
http://tvpull.dxhmt.cn:9081/tv/19001-1.m3u8
|
http://tvpull.dxhmt.cn:9081/tv/19001-1.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",济源电视一套
|
#EXTINF:-1 group-title="未分组",济源电视一套
|
||||||
http://tvpull.dxhmt.cn:9081/tv/19001-1.m3u8?zhend
|
http://tvpull.dxhmt.cn:9081/tv/19001-1.m3u8?zhend
|
||||||
#EXTINF:-1 group-title="未分组",济源电视一套
|
|
||||||
http://live.dxhmt.cn:9081/tv/19001-1.m3u8
|
|
||||||
#EXTINF:-1 group-title="未分组",嘉兴公共
|
#EXTINF:-1 group-title="未分组",嘉兴公共
|
||||||
http://play-sh13.quklive.com/live/1675149601192103.m3u8?auth_key=2028730429-9ab7f7f0267946e880ec46ce3d57ec9e-0-eb04d7f7e549054293604b04150cefa1
|
http://play-sh13.quklive.com/live/1675149601192103.m3u8?auth_key=2028730429-9ab7f7f0267946e880ec46ce3d57ec9e-0-eb04d7f7e549054293604b04150cefa1
|
||||||
#EXTINF:-1 group-title="未分组",郏县综合
|
#EXTINF:-1 group-title="未分组",郏县综合
|
||||||
@@ -509,6 +577,8 @@ http://tvpull.dxhmt.cn:9081/tv/10425-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1
|
|||||||
http://zhpull.dxhmt.cn/jiaozuo/29b65b69130c4ef1a3283cc7b913da05/playlist.m3u8?zhend
|
http://zhpull.dxhmt.cn/jiaozuo/29b65b69130c4ef1a3283cc7b913da05/playlist.m3u8?zhend
|
||||||
#EXTINF:-1 group-title="未分组",焦作综合频道
|
#EXTINF:-1 group-title="未分组",焦作综合频道
|
||||||
http://zhpull.dxhmt.cn/jiaozuo/b75a92c9503e47cf9e89f7ff247b65f2/playlist.m3u8?zhend
|
http://zhpull.dxhmt.cn/jiaozuo/b75a92c9503e47cf9e89f7ff247b65f2/playlist.m3u8?zhend
|
||||||
|
#EXTINF:-1 group-title="未分组",接口更新
|
||||||
|
http://8.138.7.223/tv/ptbtv.php?id=27
|
||||||
#EXTINF:-1 group-title="未分组",今夜为你醉
|
#EXTINF:-1 group-title="未分组",今夜为你醉
|
||||||
https://vdse.bdstatic.com//b68123a666cce39e7413da912e3675a3.mp4
|
https://vdse.bdstatic.com//b68123a666cce39e7413da912e3675a3.mp4
|
||||||
#EXTINF:-1 group-title="未分组",劲爆老歌《怎么可以如此冷血》《三生石下》嗓音诱人好听
|
#EXTINF:-1 group-title="未分组",劲爆老歌《怎么可以如此冷血》《三生石下》嗓音诱人好听
|
||||||
@@ -517,30 +587,36 @@ https://vd3.bdstatic.com/mda-ndf2u3wszraxbrb1/1080p/cae_h264_delogo/165008065417
|
|||||||
http://jzlive.jztvnews.com:90/live/jzgg.m3u8?zshanxd
|
http://jzlive.jztvnews.com:90/live/jzgg.m3u8?zshanxd
|
||||||
#EXTINF:-1 group-title="未分组",经典歌曲《许你一世情缘》《为你一生去守候》
|
#EXTINF:-1 group-title="未分组",经典歌曲《许你一世情缘》《为你一生去守候》
|
||||||
https://vd2.bdstatic.com/mda-ndafz4xaqsmvrcse/1080p/cae_h264_delogo/1649676821854920299/mda-ndafz4xaqsmvrcse.mp4
|
https://vd2.bdstatic.com/mda-ndafz4xaqsmvrcse/1080p/cae_h264_delogo/1649676821854920299/mda-ndafz4xaqsmvrcse.mp4
|
||||||
|
#EXTINF:-1 group-title="未分组",经典剧集✔原
|
||||||
|
http://zzy789.xyz/douyu1.php?id=6863367
|
||||||
#EXTINF:-1 group-title="未分组",经典小品
|
#EXTINF:-1 group-title="未分组",经典小品
|
||||||
http://zzy789.xyz/douyu1.php?id=9067836
|
http://zzy789.xyz/douyu1.php?id=9067836
|
||||||
#EXTINF:-1 group-title="未分组",经济生活
|
#EXTINF:-1 group-title="未分组",经济生活
|
||||||
http://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8
|
http://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",经济生活
|
#EXTINF:-1 group-title="未分组",经济生活
|
||||||
https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8
|
https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8
|
||||||
|
#EXTINF:-1 group-title="未分组",睛彩竞技
|
||||||
|
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221227047/index.m3u8
|
||||||
|
#EXTINF:-1 group-title="未分组",睛彩篮球
|
||||||
|
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221227158/index.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",精选韩宝仪经典歌曲10首FHD
|
#EXTINF:-1 group-title="未分组",精选韩宝仪经典歌曲10首FHD
|
||||||
https://vdse.bdstatic.com//42d5ac65a9070eeab2513bf6bc65ea4d.mp4
|
https://vdse.bdstatic.com//42d5ac65a9070eeab2513bf6bc65ea4d.mp4
|
||||||
#EXTINF:-1 group-title="未分组",井研综合
|
#EXTINF:-1 group-title="未分组",井研综合
|
||||||
http://tvfile.jyrmt.cn/nmip-media/channellive/channel104452/playlist.m3u8
|
http://tvfile.jyrmt.cn/nmip-media/channellive/channel104452/playlist.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",剧集_庆余年
|
|
||||||
https://www.goodiptv.club/huya/11352960
|
|
||||||
#EXTINF:-1 group-title="未分组",可克达拉综合
|
#EXTINF:-1 group-title="未分组",可克达拉综合
|
||||||
http://file.loulannews.cn/nmip-media/channellive/channel103824/playlist.m3u8
|
http://file.loulannews.cn/nmip-media/channellive/channel103824/playlist.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",快乐垂钓
|
#EXTINF:-1 group-title="未分组",快乐垂钓
|
||||||
http://fjcm-2117.live.iptv.darwinchow.com/PLTV/88888888/224/3221226940/index.m3u8
|
http://fjcm-2117.live.iptv.darwinchow.com/PLTV/88888888/224/3221226940/index.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",狂飙30
|
#EXTINF:-1 group-title="未分组",狂飙30
|
||||||
https://p26-sign.douyinpic.com/obj/tos-cn-v-0000c2367/d56a84c47e784df79acbcd72b99930cf?filename=1.mp4&x-expires=1990620000&x-signature=kiCGy9kGgybCIVahSdiVwWBsSus%3D
|
https://p26-sign.douyinpic.com/obj/tos-cn-v-0000c2367/d56a84c47e784df79acbcd72b99930cf?filename=1.mp4&x-expires=1990620000&x-signature=kiCGy9kGgybCIVahSdiVwWBsSus%3D
|
||||||
#EXTINF:-1 group-title="未分组",狂飙32
|
|
||||||
https://p3-sign.douyinpic.com/obj//tos-cn-v-0000c2367/0670403d3ac24d5ba5d9f749a960b9f3?filename=1.mp4&x-expires=1990350000&x-signature=EywChdeQlTbae1ZBs4s%2FWuT2Q7Q%3D
|
|
||||||
#EXTINF:-1 group-title="未分组",狂飙33
|
#EXTINF:-1 group-title="未分组",狂飙33
|
||||||
https://p26-sign.douyinpic.com/obj//tos-cn-v-0000c2367/e78ed75c7aa14cbd867980911e6823b4?filename=1.mp4&x-expires=1990350000&x-signature=u49156MCkEpQw74nc0W%2BxM1AWzg%3D
|
https://p26-sign.douyinpic.com/obj//tos-cn-v-0000c2367/e78ed75c7aa14cbd867980911e6823b4?filename=1.mp4&x-expires=1990350000&x-signature=u49156MCkEpQw74nc0W%2BxM1AWzg%3D
|
||||||
#EXTINF:-1 group-title="未分组",狂飙36
|
#EXTINF:-1 group-title="未分组",狂飙36
|
||||||
https://p26-sign.douyinpic.com/obj/tos-cn-v-0000c2367/1c03129b2d624023b73ea05806923742?filename=1.mp4&x-expires=1990620000&x-signature=7TBUReFxuLYRdTWrUXcOr32AxUk%3D
|
https://p26-sign.douyinpic.com/obj/tos-cn-v-0000c2367/1c03129b2d624023b73ea05806923742?filename=1.mp4&x-expires=1990620000&x-signature=7TBUReFxuLYRdTWrUXcOr32AxUk%3D
|
||||||
|
#EXTINF:-1 group-title="未分组",奎屯哈萨克语
|
||||||
|
http://218.84.12.186:8002/hls/main/playlist.m3u8?zxinjd
|
||||||
|
#EXTINF:-1 group-title="未分组",奎屯哈萨克语
|
||||||
|
http://218.84.12.186:8002/hls/main/playlist.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",奎屯汉语综合
|
#EXTINF:-1 group-title="未分组",奎屯汉语综合
|
||||||
http://218.84.12.186:8001/hls/main/playlist.m3u8?zxinjd
|
http://218.84.12.186:8001/hls/main/playlist.m3u8?zxinjd
|
||||||
#EXTINF:-1 group-title="未分组",来宾综合
|
#EXTINF:-1 group-title="未分组",来宾综合
|
||||||
@@ -587,18 +663,12 @@ http://218.84.127.245:1026/hls/main1/playlist.m3u8
|
|||||||
https://vdse.bdstatic.com//21736d388636d7648510b2a36fc7cbfd.mp4
|
https://vdse.bdstatic.com//21736d388636d7648510b2a36fc7cbfd.mp4
|
||||||
#EXTINF:-1 group-title="未分组",美酒加咖啡 龙飘飘FHD
|
#EXTINF:-1 group-title="未分组",美酒加咖啡 龙飘飘FHD
|
||||||
https://vdse.bdstatic.com//816c73543ede254586a625cacc67ea0f.mp4
|
https://vdse.bdstatic.com//816c73543ede254586a625cacc67ea0f.mp4
|
||||||
#EXTINF:-1 group-title="未分组",美丽中国说
|
|
||||||
http://hls.cntv.myhwcdn.cn/asp/hls/4000/0303000a/3/default/8cdd688b04e4495ba1635e218419d6f9/4000.m3u8
|
|
||||||
#EXTINF:-1 group-title="未分组",美丽中国自然
|
|
||||||
http://hls.cntv.myhwcdn.cn/asp/hls/4000/0303000a/3/default/51d937a0201f4c78a5878b4b37089f3b/4000.m3u8
|
|
||||||
#EXTINF:-1 group-title="未分组",民生休闲
|
#EXTINF:-1 group-title="未分组",民生休闲
|
||||||
http://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8
|
http://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",民生休闲
|
#EXTINF:-1 group-title="未分组",民生休闲
|
||||||
https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8
|
https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",名山综合
|
#EXTINF:-1 group-title="未分组",名山综合
|
||||||
https://m3u8channel-bx.yunxya.com/nmip-media/channellive/channel104666/playlist.m3u8
|
https://m3u8channel-bx.yunxya.com/nmip-media/channellive/channel104666/playlist.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",沐川综合
|
|
||||||
rtmp://tv.mcrm.org.cn:1935/channellive/tv01
|
|
||||||
#EXTINF:-1 group-title="未分组",南国都市
|
#EXTINF:-1 group-title="未分组",南国都市
|
||||||
https://tencentplay.gztv.com/live/nanguodushi.m3u8?txSecret=550af55c0ea34ce492748481415b6dfa&txTime=1903e7b17de
|
https://tencentplay.gztv.com/live/nanguodushi.m3u8?txSecret=550af55c0ea34ce492748481415b6dfa&txTime=1903e7b17de
|
||||||
#EXTINF:-1 group-title="未分组",南国都市
|
#EXTINF:-1 group-title="未分组",南国都市
|
||||||
@@ -655,8 +725,6 @@ http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed
|
|||||||
http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8
|
http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",申请退费
|
#EXTINF:-1 group-title="未分组",申请退费
|
||||||
https://gitee.com/kdsb/lm/raw/master/ad.mp4
|
https://gitee.com/kdsb/lm/raw/master/ad.mp4
|
||||||
#EXTINF:-1 group-title="未分组",沈腾电影
|
|
||||||
http://iptv.jxpan.vip:18888/aio/huya/11601968
|
|
||||||
#EXTINF:-1 group-title="未分组",舒适歌曲3首《舞女》《泛水荷塘》《叹这一生》就是听不够
|
#EXTINF:-1 group-title="未分组",舒适歌曲3首《舞女》《泛水荷塘》《叹这一生》就是听不够
|
||||||
https://vd2.bdstatic.com/mda-ndb4qj7zj31uw8kq/1080p/cae_h264_delogo/1649810230042185158/mda-ndb4qj7zj31uw8kq.mp4
|
https://vd2.bdstatic.com/mda-ndb4qj7zj31uw8kq/1080p/cae_h264_delogo/1649810230042185158/mda-ndb4qj7zj31uw8kq.mp4
|
||||||
#EXTINF:-1 group-title="未分组",沭阳综合频道
|
#EXTINF:-1 group-title="未分组",沭阳综合频道
|
||||||
@@ -723,6 +791,8 @@ http://tvpull.dxhmt.cn:9081/tv/10825-1.m3u8?zhend
|
|||||||
http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel8/playlist.m3u8?zyund
|
http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel8/playlist.m3u8?zyund
|
||||||
#EXTINF:-1 group-title="未分组",文山州公共
|
#EXTINF:-1 group-title="未分组",文山州公共
|
||||||
http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel8/playlist.m3u8
|
http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel8/playlist.m3u8
|
||||||
|
#EXTINF:-1 group-title="未分组",文山综合台
|
||||||
|
http://tvdrs.wsrtv.com.cn:8100/channellive/ch1.flv
|
||||||
#EXTINF:-1 group-title="未分组",乌镇全景
|
#EXTINF:-1 group-title="未分组",乌镇全景
|
||||||
https://gcalic.v.myalicdn.com/gc/zjwzblt_1/index.m3u8
|
https://gcalic.v.myalicdn.com/gc/zjwzblt_1/index.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",五彩池
|
#EXTINF:-1 group-title="未分组",五彩池
|
||||||
@@ -733,8 +803,6 @@ http://tvpull.dxhmt.cn:9081/tv/11622-1.m3u8
|
|||||||
http://tvpull.dxhmt.cn:9081/tv/11622-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
http://tvpull.dxhmt.cn:9081/tv/11622-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
||||||
#EXTINF:-1 group-title="未分组",西宁生活服务
|
#EXTINF:-1 group-title="未分组",西宁生活服务
|
||||||
https://liveout.xntv.tv/a65jur/90p2i1.m3u8
|
https://liveout.xntv.tv/a65jur/90p2i1.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",淅川电视
|
|
||||||
http://live.dxhmt.cn:9081/tv/11326-1.m3u8
|
|
||||||
#EXTINF:-1 group-title="未分组",心跳光谱⁴ᴷ
|
#EXTINF:-1 group-title="未分组",心跳光谱⁴ᴷ
|
||||||
https://us-xpc5.xpccdn.com/9d1ef1b1-4507-4295-a232-a473ee79f0a2.mp4
|
https://us-xpc5.xpccdn.com/9d1ef1b1-4507-4295-a232-a473ee79f0a2.mp4
|
||||||
#EXTINF:-1 group-title="未分组",新蔡综合
|
#EXTINF:-1 group-title="未分组",新蔡综合
|
||||||
@@ -767,8 +835,6 @@ http://tvpull.dxhmt.cn:9081/tv/10182-1.m3u8
|
|||||||
http://tvpull.dxhmt.cn:9081/tv/10182-1.m3u8?zhend
|
http://tvpull.dxhmt.cn:9081/tv/10182-1.m3u8?zhend
|
||||||
#EXTINF:-1 group-title="未分组",荥阳综合
|
#EXTINF:-1 group-title="未分组",荥阳综合
|
||||||
http://tvpull.dxhmt.cn:9081/tv/10182-1.m3u8?wsSecret=df15530a0abec41b14bca00fc96270d1&wsTime=1654956569
|
http://tvpull.dxhmt.cn:9081/tv/10182-1.m3u8?wsSecret=df15530a0abec41b14bca00fc96270d1&wsTime=1654956569
|
||||||
#EXTINF:-1 group-title="未分组",荥阳综合
|
|
||||||
http://live.dxhmt.cn:9081/tv/10182-1.m3u8
|
|
||||||
#EXTINF:-1 group-title="未分组",兴隆综合
|
#EXTINF:-1 group-title="未分组",兴隆综合
|
||||||
https://jwcdnqx.hebyun.com.cn/live/xlzh/1500k/tzwj_video.m3u8
|
https://jwcdnqx.hebyun.com.cn/live/xlzh/1500k/tzwj_video.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",悬空寺全景
|
#EXTINF:-1 group-title="未分组",悬空寺全景
|
||||||
@@ -785,8 +851,6 @@ http://tvpull.dxhmt.cn:9081/tv/11024-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1
|
|||||||
http://tvpull.dxhmt.cn:9081/tv/10422-1.m3u8#
|
http://tvpull.dxhmt.cn:9081/tv/10422-1.m3u8#
|
||||||
#EXTINF:-1 group-title="未分组",叶县
|
#EXTINF:-1 group-title="未分组",叶县
|
||||||
http://tvpull.dxhmt.cn:9081/tv/10422-1.m3u8
|
http://tvpull.dxhmt.cn:9081/tv/10422-1.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",叶县
|
|
||||||
http://live.dxhmt.cn:9081/tv/10422-1.m3u8
|
|
||||||
#EXTINF:-1 group-title="未分组",伊犁哈萨克
|
#EXTINF:-1 group-title="未分组",伊犁哈萨克
|
||||||
http://110.153.180.106:55555/out_3/index.m3u8
|
http://110.153.180.106:55555/out_3/index.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",伊犁哈萨克
|
#EXTINF:-1 group-title="未分组",伊犁哈萨克
|
||||||
@@ -800,8 +864,6 @@ http://110.153.180.106:55555/out_4/index.m3u8?zxinjd
|
|||||||
#EXTINF:-1 group-title="未分组",伊犁经济法制
|
#EXTINF:-1 group-title="未分组",伊犁经济法制
|
||||||
http://110.153.180.106:55555/out_4/index.m3u8
|
http://110.153.180.106:55555/out_4/index.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",伊犁维吾尔
|
#EXTINF:-1 group-title="未分组",伊犁维吾尔
|
||||||
http://110.153.180.106:55555/out_2/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="未分组",伊犁维吾尔
|
|
||||||
http://110.153.180.106:55555/out_2/index.m3u8?zxinjd
|
http://110.153.180.106:55555/out_2/index.m3u8?zxinjd
|
||||||
#EXTINF:-1 group-title="未分组",黟县宏村南湖
|
#EXTINF:-1 group-title="未分组",黟县宏村南湖
|
||||||
https://gcalic.v.myalicdn.com/gc/yxhcnh_1/index.m3u8?contentid=2820180516001
|
https://gcalic.v.myalicdn.com/gc/yxhcnh_1/index.m3u8?contentid=2820180516001
|
||||||
@@ -813,8 +875,6 @@ http://tvpull.dxhmt.cn:9081/tv/10327-1.m3u8?wsSecret=df15530a0abec41b14bca00fc96
|
|||||||
https://zb-live.ynurl.com/yimen/3b75a2f9-7941-46b7-992d-a9796fbca5fe.m3u8
|
https://zb-live.ynurl.com/yimen/3b75a2f9-7941-46b7-992d-a9796fbca5fe.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",音乐520
|
#EXTINF:-1 group-title="未分组",音乐520
|
||||||
https://vdse.bdstatic.com//7b2f1b020851df0037ed7b5013a8887d.mp4
|
https://vdse.bdstatic.com//7b2f1b020851df0037ed7b5013a8887d.mp4
|
||||||
#EXTINF:-1 group-title="未分组",永城综合
|
|
||||||
http://live.dxhmt.cn:9081/tv/11481-1.m3u8
|
|
||||||
#EXTINF:-1 group-title="未分组",余杭未来E
|
#EXTINF:-1 group-title="未分组",余杭未来E
|
||||||
http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8
|
http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",余杭未来E频道
|
#EXTINF:-1 group-title="未分组",余杭未来E频道
|
||||||
@@ -853,18 +913,14 @@ http://live.zzyxxw.com:85/live/xwzh.m3u8?fujian
|
|||||||
http://live.zzyxxw.com:85/live/xwzh.m3u8?fujian,
|
http://live.zzyxxw.com:85/live/xwzh.m3u8?fujian,
|
||||||
#EXTINF:-1 group-title="未分组",云霄综合
|
#EXTINF:-1 group-title="未分组",云霄综合
|
||||||
http://live.zzyxxw.com:85/live/xwzh.m3u8
|
http://live.zzyxxw.com:85/live/xwzh.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",云霄综合
|
|
||||||
https://live.zzyxxw.com:2443/live/xwzh.m3u8
|
|
||||||
#EXTINF:-1 group-title="未分组",张也《望星空/为了谁/人间第一情/红梅赞/高天上流云》
|
#EXTINF:-1 group-title="未分组",张也《望星空/为了谁/人间第一情/红梅赞/高天上流云》
|
||||||
https://vdse.bdstatic.com//038c6250208e42b9427a885e0370e1a2.mp4
|
https://vdse.bdstatic.com//038c6250208e42b9427a885e0370e1a2.mp4
|
||||||
#EXTINF:-1 group-title="未分组",长宁综合
|
#EXTINF:-1 group-title="未分组",长宁综合
|
||||||
http://cnpull.sccnfb.com/live/123456.m3u8?zsicd
|
http://cnpull.sccnfb.com/live/123456.m3u8?zsicd
|
||||||
#EXTINF:-1 group-title="未分组",长影频道
|
#EXTINF:-1 group-title="未分组",长宁综合
|
||||||
http://tpc.x3322.net:9901/tsfile/live/1010_1.m3u8
|
http://cnpull.sccnfb.com:80/live/123456.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",长子综合
|
#EXTINF:-1 group-title="未分组",长子综合
|
||||||
https://83awgyp5.live.sxmty.com/live/hls/6f6f4b36f9bd42628b718b595ba507ed/724b7e8907a8414d873eb2a2f69bfa18.m3u8?zshanxd
|
https://83awgyp5.live.sxmty.com/live/hls/6f6f4b36f9bd42628b718b595ba507ed/724b7e8907a8414d873eb2a2f69bfa18.m3u8?zshanxd
|
||||||
#EXTINF:-1 group-title="未分组",镇江二套社会民生
|
|
||||||
http://zjtv-wshls.homecdn.com/live/2aa16.m3u8
|
|
||||||
#EXTINF:-1 group-title="未分组",之江记录
|
#EXTINF:-1 group-title="未分组",之江记录
|
||||||
http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8
|
http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",之江纪录
|
#EXTINF:-1 group-title="未分组",之江纪录
|
||||||
@@ -937,8 +993,6 @@ https://vd4.bdstatic.com/mda-mbim69siwwsgwp7d/v1-cae/1080p/mda-mbim69siwwsgwp7d.
|
|||||||
https://bj.bcebos.com/v1/baidu-little-video/vod-gechgi84v43uhfhp/mda-kmbyf4x2aeqt8cds.mp4
|
https://bj.bcebos.com/v1/baidu-little-video/vod-gechgi84v43uhfhp/mda-kmbyf4x2aeqt8cds.mp4
|
||||||
#EXTINF:-1 group-title="新闻频道",安顺新闻
|
#EXTINF:-1 group-title="新闻频道",安顺新闻
|
||||||
https://ls.qingting.fm/live/5022203/64k.m3u8
|
https://ls.qingting.fm/live/5022203/64k.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",安顺新闻
|
|
||||||
http://hplayer1.juyun.tv/camera/154379194.m3u8
|
|
||||||
#EXTINF:-1 group-title="新闻频道",滨海新闻综合
|
#EXTINF:-1 group-title="新闻频道",滨海新闻综合
|
||||||
http://traffic.jbh.tjbh.com/live/bhtv10/playlist.m3u8
|
http://traffic.jbh.tjbh.com/live/bhtv10/playlist.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",兵团八师石河子新闻综合
|
#EXTINF:-1 group-title="新闻频道",兵团八师石河子新闻综合
|
||||||
@@ -973,6 +1027,8 @@ http://www.guzhenm.com:7001/hls/hd-live.m3u8
|
|||||||
https://ls.qingting.fm/live/5043/64k.m3u8
|
https://ls.qingting.fm/live/5043/64k.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",滑县新闻
|
#EXTINF:-1 group-title="新闻频道",滑县新闻
|
||||||
http://tvpull.dxhmt.cn:9081/tv/10526-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
http://tvpull.dxhmt.cn:9081/tv/10526-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
||||||
|
#EXTINF:-1 group-title="新闻频道",滑县新闻
|
||||||
|
http://live.dxhmt.cn:9081/tv/10526-1.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",夹江新闻综合
|
#EXTINF:-1 group-title="新闻频道",夹江新闻综合
|
||||||
http://tvfile.jjrm.org.cn/nmip-media/channellive/channel106282/playlist.m3u8
|
http://tvfile.jjrm.org.cn/nmip-media/channellive/channel106282/playlist.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",夹江新闻综合
|
#EXTINF:-1 group-title="新闻频道",夹江新闻综合
|
||||||
@@ -1009,6 +1065,8 @@ http://tvfile.lzgbdst.com/nmip-media/channellive/channel106876/playlist.m3u8?zsi
|
|||||||
https://m3u8-channel.lytv.tv/nmip-media/channellive/channel111841/playlist.m3u8
|
https://m3u8-channel.lytv.tv/nmip-media/channellive/channel111841/playlist.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",灵宝新闻综合
|
#EXTINF:-1 group-title="新闻频道",灵宝新闻综合
|
||||||
http://tvpull.dxhmt.cn:9081/tv/11282-1.m3u8?zhend
|
http://tvpull.dxhmt.cn:9081/tv/11282-1.m3u8?zhend
|
||||||
|
#EXTINF:-1 group-title="新闻频道",灵宝新闻综合
|
||||||
|
http://live.dxhmt.cn:9081/tv/11282-1.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",龙泉新闻综合
|
#EXTINF:-1 group-title="新闻频道",龙泉新闻综合
|
||||||
http://l.cztvcloud.com/channels/lantian/SXlongquan1/720p.m3u8
|
http://l.cztvcloud.com/channels/lantian/SXlongquan1/720p.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",龙泉新闻综合
|
#EXTINF:-1 group-title="新闻频道",龙泉新闻综合
|
||||||
@@ -1067,6 +1125,8 @@ http://channel.wcrmt.cn:80/nmip-media/channellive/channel105268/playlist.m3u8
|
|||||||
http://live.spccmc.com:90/live/spxwzh.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
http://live.spccmc.com:90/live/spxwzh.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
||||||
#EXTINF:-1 group-title="新闻频道",文山州新闻综合
|
#EXTINF:-1 group-title="新闻频道",文山州新闻综合
|
||||||
http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel7/playlist.m3u8?zyund
|
http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel7/playlist.m3u8?zyund
|
||||||
|
#EXTINF:-1 group-title="新闻频道",文山州新闻综合
|
||||||
|
http://tvdrs.wsrtv.com.cn:8100/channellive/ch1.flv?zyund
|
||||||
#EXTINF:-1 group-title="新闻频道",武汉一台新闻综合
|
#EXTINF:-1 group-title="新闻频道",武汉一台新闻综合
|
||||||
https://ls.qingting.fm/live/20198/64k.m3u8
|
https://ls.qingting.fm/live/20198/64k.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",西宁新闻综合
|
#EXTINF:-1 group-title="新闻频道",西宁新闻综合
|
||||||
@@ -1127,8 +1187,8 @@ http://play-sh13.quklive.com/live/1699001836208185.m3u8?auth_key=2027429324-c77b
|
|||||||
http://l.cztvcloud.com/channels/lantian/SXzhuji3/720p.m3u8?zzhed
|
http://l.cztvcloud.com/channels/lantian/SXzhuji3/720p.m3u8?zzhed
|
||||||
#EXTINF:-1 group-title="新闻频道",诸暨新闻综合
|
#EXTINF:-1 group-title="新闻频道",诸暨新闻综合
|
||||||
https://l.cztvcloud.com/channels/lantian/SXzhuji3/720p.m3u8
|
https://l.cztvcloud.com/channels/lantian/SXzhuji3/720p.m3u8
|
||||||
#EXTINF:-1 group-title="影视频道",电影_喜乐影院
|
#EXTINF:-1 group-title="影视频道",斗鱼魔幻影院
|
||||||
https://www.goodiptv.club/huya/21059580
|
http://www.douzhicloud.site:35455/douyu/1274132
|
||||||
#EXTINF:-1 group-title="影视频道",嘉兴文化影视
|
#EXTINF:-1 group-title="影视频道",嘉兴文化影视
|
||||||
http://play-sh13.quklive.com/live/1675149625220101.m3u8?auth_key=2028730374-3a60eb8e324f416aa3b26dda7679d920-0-22dc7efa8452d0b0665c15eeed83609d
|
http://play-sh13.quklive.com/live/1675149625220101.m3u8?auth_key=2028730374-3a60eb8e324f416aa3b26dda7679d920-0-22dc7efa8452d0b0665c15eeed83609d
|
||||||
#EXTINF:-1 group-title="影视频道",教科影视
|
#EXTINF:-1 group-title="影视频道",教科影视
|
||||||
@@ -1141,10 +1201,12 @@ http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed
|
|||||||
http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8
|
http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8
|
||||||
#EXTINF:-1 group-title="影视频道",神乐欧美影院
|
#EXTINF:-1 group-title="影视频道",神乐欧美影院
|
||||||
http://tc-tct.douyucdn2.cn/dyliveflv1a/20415rnWbjg6Ex1K_2000.flv?wsAuth=3b64dd17d293b133c58bda21e3147e5b&token=cpn-androidmpro-0-20415-b6774b3b3249db1768f0ac048c5ed218ac54e1f82b04b2bf&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=play2
|
http://tc-tct.douyucdn2.cn/dyliveflv1a/20415rnWbjg6Ex1K_2000.flv?wsAuth=3b64dd17d293b133c58bda21e3147e5b&token=cpn-androidmpro-0-20415-b6774b3b3249db1768f0ac048c5ed218ac54e1f82b04b2bf&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=play2
|
||||||
|
#EXTINF:-1 group-title="影视频道",泰州三套影视娱乐
|
||||||
|
http://stream1.mytaizhou.net/ysyl/playlist.m3u8?_upt=16dfe82d1725409426
|
||||||
#EXTINF:-1 group-title="影视频道",新昌休闲影视
|
#EXTINF:-1 group-title="影视频道",新昌休闲影视
|
||||||
http://l.cztvcloud.com/channels/lantian/SXxinchang2/720p.m3u8
|
http://l.cztvcloud.com/channels/lantian/SXxinchang2/720p.m3u8
|
||||||
#EXTINF:-1 group-title="影视频道",CHC影迷电影
|
#EXTINF:-1 group-title="影视频道",CHC动作电影
|
||||||
http://113.195.172.192:808/hls/112/index.m3u8
|
https://migu.188766.xyz/?migutoken=5f7ddbc144aaa6a046ced38913096c20&id=CHC%E5%8A%A8%E4%BD%9C%E7%94%B5%E5%BD%B1&pp=1
|
||||||
#EXTINF:-1 group-title="省级频道",安徽导视
|
#EXTINF:-1 group-title="省级频道",安徽导视
|
||||||
http://dspdhls.appcoo.com:8888/live/dspd/index.m3u8
|
http://dspdhls.appcoo.com:8888/live/dspd/index.m3u8
|
||||||
#EXTINF:-1 group-title="省级频道",福建漳州醉美沙滩翡翠湾
|
#EXTINF:-1 group-title="省级频道",福建漳州醉美沙滩翡翠湾
|
||||||
@@ -1161,18 +1223,22 @@ http://p2.vzan.com/527645544/149039617847513156/live.m3u8
|
|||||||
https://gcalic.v.myalicdn.com/gc/zjjsrsm_1/index.m3u8
|
https://gcalic.v.myalicdn.com/gc/zjjsrsm_1/index.m3u8
|
||||||
#EXTINF:-1 group-title="省级频道",江苏徐州云龙湖风景区云龙山观景台西
|
#EXTINF:-1 group-title="省级频道",江苏徐州云龙湖风景区云龙山观景台西
|
||||||
https://gcalic.v.myalicdn.com/gc/ylh04_1/index.m3u8
|
https://gcalic.v.myalicdn.com/gc/ylh04_1/index.m3u8
|
||||||
#EXTINF:-1 group-title="省级频道",辽宁北方
|
|
||||||
http://120.76.248.139/live/bfgd/4200000071.m3u8
|
|
||||||
#EXTINF:-1 group-title="省级频道",辽宁都市
|
#EXTINF:-1 group-title="省级频道",辽宁都市
|
||||||
https://ls.qingting.fm/live/1099/64k.m3u8
|
https://ls.qingting.fm/live/1099/64k.m3u8
|
||||||
|
#EXTINF:-1 group-title="省级频道",辽宁都市
|
||||||
|
http://120.76.248.139/live/bfgd/4200000610.m3u8
|
||||||
#EXTINF:-1 group-title="省级频道",辽宁公共
|
#EXTINF:-1 group-title="省级频道",辽宁公共
|
||||||
http://120.76.248.139/live/bfgd/4200000077.m3u8
|
http://120.76.248.139/live/bfgd/4200000077.m3u8
|
||||||
|
#EXTINF:-1 group-title="省级频道",辽宁公共
|
||||||
|
http://120.76.248.139/live/bfgd/4200000481.m3u8
|
||||||
#EXTINF:-1 group-title="省级频道",辽宁教育青少
|
#EXTINF:-1 group-title="省级频道",辽宁教育青少
|
||||||
http://120.76.248.139/live/bfgd/4200000075.m3u8
|
http://120.76.248.139/live/bfgd/4200000075.m3u8
|
||||||
#EXTINF:-1 group-title="省级频道",辽宁经济
|
#EXTINF:-1 group-title="省级频道",辽宁经济
|
||||||
http://120.76.248.139/live/bfgd/4200000076.m3u8
|
http://120.76.248.139/live/bfgd/4200000076.m3u8
|
||||||
#EXTINF:-1 group-title="省级频道",辽宁生活
|
#EXTINF:-1 group-title="省级频道",辽宁生活
|
||||||
http://120.76.248.139/live/bfgd/4200000073.m3u8
|
http://120.76.248.139/live/bfgd/4200000073.m3u8
|
||||||
|
#EXTINF:-1 group-title="省级频道",辽宁影视剧
|
||||||
|
http://120.76.248.139/live/bfgd/4200000070.m3u8
|
||||||
#EXTINF:-1 group-title="省级频道",四川峨眉山普贤菩萨铜像
|
#EXTINF:-1 group-title="省级频道",四川峨眉山普贤菩萨铜像
|
||||||
https://gcalic.v.myalicdn.com/gc/emspxps_1/index.m3u8
|
https://gcalic.v.myalicdn.com/gc/emspxps_1/index.m3u8
|
||||||
#EXTINF:-1 group-title="省级频道",四川科教
|
#EXTINF:-1 group-title="省级频道",四川科教
|
||||||
@@ -1265,7 +1331,9 @@ https://p2.bdstatic.com/rtmp.liveshow.lss-user.baidubce.com/live/stream_bduid_64
|
|||||||
http://8.138.7.223/tv/gdmzyd.php?id=4$LR•IPV4『线路30』
|
http://8.138.7.223/tv/gdmzyd.php?id=4$LR•IPV4『线路30』
|
||||||
#EXTINF:-1 group-title="少儿频道",福州少儿
|
#EXTINF:-1 group-title="少儿频道",福州少儿
|
||||||
http://live.zohi.tv/video/s10001-fztv-4/index.m3u8
|
http://live.zohi.tv/video/s10001-fztv-4/index.m3u8
|
||||||
|
#EXTINF:-1 group-title="少儿频道",嘉佳卡通
|
||||||
|
http://fjcm-2118.live.iptv.darwinchow.com/PLTV/88888888/224/3221227498/index.m3u8
|
||||||
#EXTINF:-1 group-title="北京地区",北京新闻
|
#EXTINF:-1 group-title="北京地区",北京新闻
|
||||||
https://ls.qingting.fm/live/339/64k.m3u8
|
https://ls.qingting.fm/live/339/64k.m3u8
|
||||||
#EXTINF:-1 group-title="明星频道",林正英电影
|
#EXTINF:-1 group-title="北京地区",北京新闻
|
||||||
http://iptv.jxpan.vip:18888/aio/huya/11342421
|
http://iptv.huuc.edu.cn/hls/btv9hd.m3u8
|
||||||
+99
-101
@@ -1,216 +1,206 @@
|
|||||||
# IPv4 Streams
|
# IPv4 Streams
|
||||||
AMC电影,http://61.221.215.25:8800/hls/43/index.m3u8
|
AMC电影,http://61.221.215.25:8800/hls/43/index.m3u8
|
||||||
CCTV1,http://8.138.7.223/【公众号:榴芒电视】/cctv1.m3u8
|
CCTV1,http://112.123.206.32:808/hls/1/index.m3u8
|
||||||
CCTV10,http://39.164.160.249:9901/tsfile/live/0010_1.m3u8
|
|
||||||
CCTV10,http://36.105.100.208:35455/gaoma/cctv10.m3u8
|
CCTV10,http://36.105.100.208:35455/gaoma/cctv10.m3u8
|
||||||
CCTV10,http://58.17.48.228:808/hls/10/index.m3u8
|
CCTV10,http://58.17.48.228:808/hls/10/index.m3u8
|
||||||
CCTV11,http://58.57.40.22:9901/tsfile/live/1011_1.m3u8
|
CCTV10,http://120.76.248.139/live/bfgd/4200000129.m3u8
|
||||||
|
CCTV11,http://39.164.160.249:9901/tsfile/live/0011_1.m3u8
|
||||||
CCTV11,http://36.105.100.208:35455/gaoma/cctv11.m3u8
|
CCTV11,http://36.105.100.208:35455/gaoma/cctv11.m3u8
|
||||||
CCTV11,http://183.11.239.36:808/hls/29/index.m3u8
|
CCTV11,http://60.29.124.66:6080/hls/22/index.m3u8
|
||||||
CCTV11,http://120.76.248.139/live/bfgd/4200000130.m3u8
|
CCTV11,http://120.76.248.139/live/bfgd/4200000130.m3u8
|
||||||
CCTV12,http://39.164.160.249:9901/tsfile/live/0012_1.m3u8
|
CCTV12,http://39.164.160.249:9901/tsfile/live/0012_1.m3u8
|
||||||
CCTV12,http://58.57.40.22:9901/tsfile/live/1012_1.m3u8
|
|
||||||
CCTV12,http://36.105.100.208:35455/gaoma/cctv12.m3u8
|
CCTV12,http://36.105.100.208:35455/gaoma/cctv12.m3u8
|
||||||
|
CCTV14,http://36.105.100.208:35455/gaoma/cctv14.m3u8
|
||||||
CCTV14,http://1.24.190.98:10080/hls/14/index.m3u8
|
CCTV14,http://1.24.190.98:10080/hls/14/index.m3u8
|
||||||
CCTV14,http://58.19.43.46:9901/tsfile/live/1033_1.m3u8
|
|
||||||
CCTV15,http://39.164.160.249:9901/tsfile/live/0015_1.m3u8
|
CCTV15,http://39.164.160.249:9901/tsfile/live/0015_1.m3u8
|
||||||
CCTV15,http://58.57.40.22:9901/tsfile/live/1015_1.m3u8
|
CCTV15,http://60.29.124.66:6080/hls/26/index.m3u8
|
||||||
CCTV15,http://58.221.214.82:9901/tsfile/live/0015_1.m3u8
|
CCTV15,http://222.169.85.8:9901/tsfile/live/0015_1.m3u8
|
||||||
CCTV15,http://116.9.204.242:9901/tsfile/live/0015_1.m3u8
|
CCTV15,http://113.57.111.4:1111/tsfile/live/0015_1.m3u8
|
||||||
CCTV16,http://36.105.100.208:35455/gaoma/cctv16.m3u8
|
CCTV16,http://36.105.100.208:35455/gaoma/cctv16.m3u8
|
||||||
CCTV16,http://58.17.48.228:808/hls/25/index.m3u8
|
CCTV16,http://58.17.48.228:808/hls/25/index.m3u8
|
||||||
CCTV164K25PHLG源,http://113.62.253.22/live.aishang.ctlcdn.com/00000110240389_1/playlist.m3u8?CONTENTID=00000110240389_1&AUTHINFO=FABqh274XDn8fkurD5614t%2B1RvYajgx%2Ba3PxUJe1SMO4OjrtFitM6ZQbSJEFffaD35hOAhZdTXOrK0W8QvBRom%2BXaXZYzB%2FQfYjeYzGgKhP%2Fdo%2BXpr4quVxlkA%2BubKvbU1XwJFRgrbX%2BnTs60JauQUrav8kLj%2FPH8LxkDFpzvkq75UfeY%2FVNDZygRZLw4j%2BXtwhj%2FIuXf1hJAU0X%2BheT7g%3D%3D&USERTOKEN=eHKuwve%2F35NVIR5qsO5XsuB0O2BhR0KR
|
CCTV164K25PHLG源,http://113.62.253.22/live.aishang.ctlcdn.com/00000110240389_1/playlist.m3u8?CONTENTID=00000110240389_1&AUTHINFO=FABqh274XDn8fkurD5614t%2B1RvYajgx%2Ba3PxUJe1SMO4OjrtFitM6ZQbSJEFffaD35hOAhZdTXOrK0W8QvBRom%2BXaXZYzB%2FQfYjeYzGgKhP%2Fdo%2BXpr4quVxlkA%2BubKvbU1XwJFRgrbX%2BnTs60JauQUrav8kLj%2FPH8LxkDFpzvkq75UfeY%2FVNDZygRZLw4j%2BXtwhj%2FIuXf1hJAU0X%2BheT7g%3D%3D&USERTOKEN=eHKuwve%2F35NVIR5qsO5XsuB0O2BhR0KR
|
||||||
CCTV17,http://58.57.40.22:9901/tsfile/live/0019_1.m3u8
|
|
||||||
CCTV17,http://120.238.94.10:9901/tsfile/live/1048_1.m3u8
|
CCTV17,http://120.238.94.10:9901/tsfile/live/1048_1.m3u8
|
||||||
|
CCTV17,http://183.11.239.36:808/hls/35/index.m3u8
|
||||||
CCTV17,http://120.76.248.139/live/bfgd/4200000204.m3u8
|
CCTV17,http://120.76.248.139/live/bfgd/4200000204.m3u8
|
||||||
CCTV17,http://58.19.43.46:9901/tsfile/live/1047_1.m3u8
|
CCTV17,http://222.169.85.8:9901/tsfile/live/0007_1.m3u8
|
||||||
CCTV2,http://58.57.40.22:9901/tsfile/live/1001_1.m3u8
|
CCTV2,http://39.164.160.249:9901/tsfile/live/0002_1.m3u8
|
||||||
CCTV2,http://36.105.100.208:35455/gaoma/cctv2.m3u8
|
CCTV2,http://36.105.100.208:35455/gaoma/cctv2.m3u8
|
||||||
CCTV2,http://60.29.124.66:6080/hls/13/index.m3u8
|
|
||||||
CCTV3,http://120.76.248.139/live/bfgd/4200000062.m3u8
|
CCTV3,http://120.76.248.139/live/bfgd/4200000062.m3u8
|
||||||
CCTV3,http://36.105.100.208:35455/gaoma/cctv3.m3u8
|
CCTV3,http://36.105.100.208:35455/gaoma/cctv3.m3u8
|
||||||
CCTV3,http://58.17.48.228:808/hls/3/index.m3u8
|
CCTV3,http://58.17.48.228:808/hls/3/index.m3u8
|
||||||
CCTV3,http://183.11.239.36:808/hls/91/index.m3u8
|
CCTV4,http://112.46.85.60:8009/hls/4/index.m3u8
|
||||||
CCTV4,http://58.57.40.22:9901/tsfile/live/1003_1.m3u8
|
|
||||||
CCTV4,http://36.105.100.208:35455/gaoma/cctv4k.m3u8
|
|
||||||
CCTV5,http://58.57.40.22:9901/tsfile/live/1004_1.m3u8
|
|
||||||
CCTV5,http://120.76.248.139/live/bfgd/4200000064.m3u8
|
CCTV5,http://120.76.248.139/live/bfgd/4200000064.m3u8
|
||||||
|
CCTV5,http://58.17.48.228:808/hls/5/index.m3u8
|
||||||
CCTV5,http://60.29.124.66:6080/hls/16/index.m3u8
|
CCTV5,http://60.29.124.66:6080/hls/16/index.m3u8
|
||||||
CCTV5,http://112.46.85.60:8009/hls/503/index.m3u8
|
CCTV5+,http://36.105.100.208:35455/gaoma/cctv5p.m3u8
|
||||||
CCTV5+,http://120.76.248.139/live/bfgd/4200000246.m3u8
|
CCTV5+,http://120.76.248.139/live/bfgd/4200000246.m3u8
|
||||||
CCTV5+,http://182.150.23.74:808/hls/16/index.m3u8
|
CCTV5+,http://222.169.85.8:9901/tsfile/live/0116_1.m3u8
|
||||||
CCTV6,http://120.76.248.139/live/bfgd/4200000065.m3u8
|
CCTV6,http://120.76.248.139/live/bfgd/4200000065.m3u8
|
||||||
|
CCTV6,http://36.105.100.208:35455/gaoma/cctv6.m3u8
|
||||||
|
CCTV6,http://58.17.48.228:808/hls/6/index.m3u8
|
||||||
CCTV6,http://60.29.124.66:6080/hls/17/index.m3u8
|
CCTV6,http://60.29.124.66:6080/hls/17/index.m3u8
|
||||||
CCTV6,http://183.11.239.36:808/hls/94/index.m3u8
|
|
||||||
CCTV7,http://8.138.7.223/tv/cctv7.m3u8
|
CCTV7,http://8.138.7.223/tv/cctv7.m3u8
|
||||||
CCTV7,http://8.138.7.223/【公众号:榴芒电视】/cctv7.m3u8
|
CCTV7,http://8.138.7.223/【公众号:榴芒电视】/cctv7.m3u8
|
||||||
CCTV7,http://120.76.248.139/live/bfgd/4200000127.m3u8
|
|
||||||
CCTV8,http://120.76.248.139/live/bfgd/4200000066.m3u8
|
CCTV8,http://120.76.248.139/live/bfgd/4200000066.m3u8
|
||||||
CCTV8,http://58.19.43.46:9901/tsfile/live/1027_1.m3u8
|
CCTV8,http://58.17.48.228:808/hls/8/index.m3u8
|
||||||
CCTV8,http://120.238.94.10:9901/tsfile/live/1026_1.m3u8
|
|
||||||
CCTV8,http://36.105.100.208:35455/gaoma/cctv8k_36m.m3u8
|
|
||||||
CCTV9,http://39.164.160.249:9901/tsfile/live/0009_1.m3u8
|
CCTV9,http://39.164.160.249:9901/tsfile/live/0009_1.m3u8
|
||||||
CCTV9,http://36.105.100.208:35455/gaoma/cctv9.m3u8
|
CCTV9,http://36.105.100.208:35455/gaoma/cctv9.m3u8
|
||||||
CCTV9,http://183.11.239.36:808/hls/27/index.m3u8
|
CCTV9,http://58.17.48.228:808/hls/9/index.m3u8
|
||||||
CCTV9,http://120.76.248.139/live/bfgd/4200000128.m3u8
|
|
||||||
CHC动作电影,http://113.195.172.192:808/hls/114/index.m3u8
|
CHC动作电影,http://113.195.172.192:808/hls/114/index.m3u8
|
||||||
CHC家庭影院,http://113.195.172.192:808/hls/113/index.m3u8
|
CHC家庭影院,http://113.195.172.192:808/hls/113/index.m3u8
|
||||||
CHC家庭影院,http://61.162.52.6:8088/newlive/live/hls/60/live.m3u8
|
CHC家庭影院,http://61.162.52.6:8088/newlive/live/hls/60/live.m3u8
|
||||||
CHC影迷电影,http://113.195.172.192:808/hls/112/index.m3u8
|
CHC影迷电影,http://113.195.172.192:808/hls/112/index.m3u8
|
||||||
万荣综合,http://60.222.246.220:19433/hls1.m3u8
|
万荣综合,http://60.222.246.220:19433/hls1.m3u8
|
||||||
三沙卫视,http://36.105.100.208:35455/itv/5000000011000288016.m3u8?cdn=bestzb
|
三沙卫视,http://36.105.100.208:35455/itv/5000000011000288016.m3u8?cdn=bestzb
|
||||||
东南卫视,http://113.57.111.4:1111/tsfile/live/1027_1.m3u8
|
东南卫视,http://36.32.174.67:60080/newlive/live/hls/33/live.m3u8
|
||||||
东南卫视,http://61.136.172.236:9901/tsfile/live/0137_1.m3u8
|
东南卫视,http://58.19.43.46:9901/tsfile/live/1046_1.m3u8
|
||||||
东南卫视,http://123.129.70.178:9901/tsfile/live/0137_1.m3u8
|
|
||||||
东方卫视,http://39.164.160.249:9901/tsfile/live/0107_1.m3u8
|
东方卫视,http://39.164.160.249:9901/tsfile/live/0107_1.m3u8
|
||||||
东方卫视,http://36.32.174.67:60080/newlive/live/hls/24/live.m3u8
|
东方卫视,http://36.32.174.67:60080/newlive/live/hls/24/live.m3u8
|
||||||
东方卫视,http://112.46.85.60:8009/hls/31/index.m3u8
|
东方卫视,http://124.116.183.146:9901/tsfile/live/0107_1.m3u8
|
||||||
中华特产,http://120.76.248.139/live/bfgd/4200000158.m3u8
|
中华特产,http://120.76.248.139/live/bfgd/4200000158.m3u8
|
||||||
乐家购物,http://112.46.105.20:8009/hls/23/index.m3u8
|
乐家购物,http://112.46.105.20:8009/hls/23/index.m3u8
|
||||||
乐至综合,http://175.155.106.72:89/live1/live1.m3u8?zsicd
|
乐至综合,http://175.155.106.72:89/live1/live1.m3u8?zsicd
|
||||||
云南卫视,http://39.164.160.249:9901/tsfile/live/0119_1.m3u8
|
云南卫视,http://39.164.160.249:9901/tsfile/live/0119_1.m3u8
|
||||||
云南卫视,http://58.57.40.22:9901/tsfile/live/1047_1.m3u8
|
|
||||||
云南卫视,http://120.238.94.10:9901/tsfile/live/1069_1.m3u8
|
云南卫视,http://120.238.94.10:9901/tsfile/live/1069_1.m3u8
|
||||||
云南卫视,http://36.32.174.67:60080/newlive/live/hls/45/live.m3u8
|
|
||||||
云南卫视,http://111.61.236.247:9081/hls/32/index.m3u8
|
云南卫视,http://111.61.236.247:9081/hls/32/index.m3u8
|
||||||
|
云南卫视,http://222.169.85.8:9901/tsfile/live/0119_1.m3u8
|
||||||
伊犁哈萨克,http://110.153.180.106:55555/out_3/index.m3u8
|
伊犁哈萨克,http://110.153.180.106:55555/out_3/index.m3u8
|
||||||
伊犁汉语综合,http://110.153.180.106:55555/out_1/index.m3u8
|
伊犁汉语综合,http://110.153.180.106:55555/out_1/index.m3u8
|
||||||
伊犁汉语综合,http://110.153.180.106:55555/out_1/index.m3u8?zxinjd
|
|
||||||
伊犁经济法制,http://110.153.180.106:55555/out_4/index.m3u8
|
伊犁经济法制,http://110.153.180.106:55555/out_4/index.m3u8
|
||||||
伊犁维吾尔,http://110.153.180.106:55555/out_2/index.m3u8
|
伊犁维吾尔,http://110.153.180.106:55555/out_2/index.m3u8
|
||||||
优优宝贝,http://120.76.248.139/live/bfgd/4200000153.m3u8
|
优优宝贝,http://120.76.248.139/live/bfgd/4200000153.m3u8
|
||||||
优漫卡通,http://58.221.214.82:9901/tsfile/live/0008_2.m3u8
|
优漫卡通,http://58.221.214.82:9901/tsfile/live/0008_2.m3u8
|
||||||
优漫卡通,http://36.105.100.208:35455/itv/1000000002000010063.m3u8?cdn=ystenlive
|
优漫卡通,http://36.105.100.208:35455/itv/1000000002000010063.m3u8?cdn=ystenlive
|
||||||
兵团八师石河子教育,http://124.88.144.73:1935/live/jiaoyu/playlist.m3u8
|
兵团八师石河子教育,http://124.88.144.73:1935/live/jiaoyu/playlist.m3u8
|
||||||
兵团八师石河子教育,http://124.88.144.73:1935/live/jiaoyu/playlist.m3u8?zxinjd
|
|
||||||
兵团八师石河子教育,http://124.88.144.73:1935/live/jiaoyu/playlist.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
兵团八师石河子教育,http://124.88.144.73:1935/live/jiaoyu/playlist.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
||||||
|
兵团八师石河子教育,http://124.88.144.73:1935/live/jiaoyu/playlist.m3u8?zxinjd
|
||||||
兵团八师石河子新闻综合,http://124.88.144.73:1935/live/xwzh/playlist.m3u8?zxinjd
|
兵团八师石河子新闻综合,http://124.88.144.73:1935/live/xwzh/playlist.m3u8?zxinjd
|
||||||
兵团八师石河子经济生活,http://124.88.144.73:1935/live/dywt/playlist.m3u8?zxinjd
|
兵团八师石河子经济生活,http://124.88.144.73:1935/live/dywt/playlist.m3u8?zxinjd
|
||||||
兵团卫视,http://183.11.239.36:808/hls/7/index.m3u8
|
|
||||||
兵团卫视,http://120.76.248.139/live/bfgd/4200000124.m3u8
|
兵团卫视,http://120.76.248.139/live/bfgd/4200000124.m3u8
|
||||||
|
兵团卫视,http://218.89.240.144:59901/tsfile/live/0115_1.m3u8
|
||||||
兵团卫视,http://218.13.170.98:9901/tsfile/live/0115_1.m3u8
|
兵团卫视,http://218.13.170.98:9901/tsfile/live/0115_1.m3u8
|
||||||
兵团卫视,http://8.138.7.223/tv/btws.m3u8
|
|
||||||
内蒙古卫视,http://120.76.248.139/live/bfgd/4200000110.m3u8
|
内蒙古卫视,http://120.76.248.139/live/bfgd/4200000110.m3u8
|
||||||
内蒙古卫视,http://222.134.245.16:9901/tsfile/live/0109_1.m3u8
|
内蒙古卫视,http://111.61.236.247:9081/hls/48/index.m3u8
|
||||||
|
内蒙古卫视,http://183.11.239.36:808/hls/60/index.m3u8
|
||||||
内蒙古卫视,http://182.150.23.74:808/hls/37/index.m3u8
|
内蒙古卫视,http://182.150.23.74:808/hls/37/index.m3u8
|
||||||
农林卫视,http://120.76.248.139/live/bfgd/4200000122.m3u8
|
农林卫视,http://120.76.248.139/live/bfgd/4200000122.m3u8
|
||||||
农林卫视,http://8.138.7.223/【公众号:榴芒电视】/农林卫视.m3u8
|
农林卫视,http://8.138.7.223/【公众号:榴芒电视】/农林卫视.m3u8
|
||||||
农林卫视,http://112.46.85.60:8009/hls/27/index.m3u8
|
农林卫视,http://112.46.85.60:8009/hls/27/index.m3u8
|
||||||
|
农林卫视,http://124.116.183.146:9901/tsfile/live/1004_1.m3u8
|
||||||
农林卫视,http://112.46.105.20:8009/hls/27/index.m3u8
|
农林卫视,http://112.46.105.20:8009/hls/27/index.m3u8
|
||||||
动漫秀场,http://36.105.100.208:35455/itv/5000000011000031113.m3u8?cdn=bestzb
|
动漫秀场,http://36.105.100.208:35455/itv/5000000011000031113.m3u8?cdn=bestzb
|
||||||
北京卫视,http://39.164.160.249:9901/tsfile/live/0122_1.m3u8
|
北京卫视,http://124.116.183.146:9901/tsfile/live/0122_1.m3u8
|
||||||
北京卫视,http://58.57.40.22:9901/tsfile/live/1032_1.m3u8
|
北京卫视,http://222.134.245.16:9901/tsfile/live/0122_1.m3u8
|
||||||
卡酷少儿,http://58.57.40.22:9901/tsfile/live/1060_1.m3u8
|
|
||||||
卡酷少儿,http://218.13.170.98:9901/tsfile/live/1021_1.m3u8
|
卡酷少儿,http://218.13.170.98:9901/tsfile/live/1021_1.m3u8
|
||||||
卡酷少儿,http://60.29.124.66:6080/hls/58/index.m3u8
|
卡酷少儿,http://60.29.124.66:6080/hls/58/index.m3u8
|
||||||
|
厦门卫视,http://125.42.148.80:9901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||||
双流综合,http://171.221.250.130:18888/27e684978eb642eeb90ab815f6cc51bf/c41893de5e8645b3b43aef1640859b0d.m3u8?zsicd
|
双流综合,http://171.221.250.130:18888/27e684978eb642eeb90ab815f6cc51bf/c41893de5e8645b3b43aef1640859b0d.m3u8?zsicd
|
||||||
吉林卫视,http://58.57.40.22:9901/tsfile/live/1050_1.m3u8
|
吉林卫视,http://58.19.43.46:9901/tsfile/live/1007_1.m3u8
|
||||||
吉林卫视,http://111.61.236.247:9081/hls/45/index.m3u8
|
|
||||||
吉林卫视,http://182.150.23.74:808/hls/35/index.m3u8
|
吉林卫视,http://182.150.23.74:808/hls/35/index.m3u8
|
||||||
哈哈炫动,http://58.57.40.22:9901/tsfile/live/1061_1.m3u8
|
吉林卫视,http://111.14.181.15:9901/tsfile/live/0116_1.m3u8
|
||||||
哈哈炫动,http://120.238.94.10:9901/tsfile/live/1037_1.m3u8
|
|
||||||
哈哈炫动,http://60.29.124.66:6080/hls/62/index.m3u8
|
哈哈炫动,http://60.29.124.66:6080/hls/62/index.m3u8
|
||||||
哈哈炫动,http://36.105.100.208:35455/itv/5000000011000031123.m3u8?cdn=bestzb
|
哈哈炫动,http://36.105.100.208:35455/itv/5000000011000031123.m3u8?cdn=bestzb
|
||||||
哈尔滨影视,http://111.43.126.240:9003/hls/5/index.m3u8
|
哈尔滨影视,http://111.43.126.240:9003/hls/5/index.m3u8
|
||||||
哈尔滨生活,http://111.43.126.240:9003/hls/3/index.m3u8
|
哈尔滨生活,http://111.43.126.240:9003/hls/3/index.m3u8
|
||||||
四川卫视,http://218.89.240.144:59901/tsfile/live/0123_1.m3u8
|
四川卫视,http://124.116.183.146:9901/tsfile/live/0123_1.m3u8
|
||||||
四川卫视,http://113.25.252.226:9901/tsfile/live/0123_1.m3u8
|
四川卫视,http://58.19.43.46:9901/tsfile/live/1043_1.m3u8
|
||||||
|
四川卫视,http://120.76.248.139/live/bfgd/4200000103.m3u8
|
||||||
|
四川卫视,http://222.169.85.8:9901/tsfile/live/0123_1.m3u8
|
||||||
四川科教,http://182.150.115.21:8030/pcgacg/pcgacg_0.m3u8
|
四川科教,http://182.150.115.21:8030/pcgacg/pcgacg_0.m3u8
|
||||||
四海钓鱼,http://120.76.248.139/live/bfgd/4200000229.m3u8
|
四海钓鱼,http://120.76.248.139/live/bfgd/4200000229.m3u8
|
||||||
大湾区卫视,http://222.128.55.152:9080/live/dwq.m3u8
|
大湾区卫视,http://222.128.55.152:9080/live/dwq.m3u8
|
||||||
大湾区卫视,http://183.11.239.36:808/hls/132/index.m3u8
|
大湾区卫视,http://183.11.239.36:808/hls/132/index.m3u8
|
||||||
大湾区卫视,http://36.105.100.208:35455/itv/1000000002000011619.m3u8?cdn=ystenlive
|
大湾区卫视,http://36.105.100.208:35455/itv/1000000002000011619.m3u8?cdn=ystenlive
|
||||||
天津卫视,http://1.24.190.98:10080/hls/69/index.m3u8
|
天津卫视,http://124.116.183.146:9901/tsfile/live/0135_1.m3u8
|
||||||
天龙八部,http://47.102.149.208:35455/yy/1351814644
|
天津卫视,http://218.89.240.144:59901/tsfile/live/0135_1.m3u8
|
||||||
|
天津卫视,http://222.169.85.8:9901/tsfile/live/0135_1.m3u8
|
||||||
|
天津卫视,http://61.136.172.236:9901/tsfile/live/0135_1.m3u8
|
||||||
奎屯哈萨克语,http://218.84.12.186:8002/hls/main/playlist.m3u8
|
奎屯哈萨克语,http://218.84.12.186:8002/hls/main/playlist.m3u8
|
||||||
奎屯哈萨克语,http://218.84.12.186:8002/hls/main/playlist.m3u8?zxinjd
|
|
||||||
宁夏卫视,http://120.238.94.10:9901/tsfile/live/1076_1.m3u8
|
|
||||||
宁夏卫视,http://36.32.174.67:60080/newlive/live/hls/49/live.m3u8
|
宁夏卫视,http://36.32.174.67:60080/newlive/live/hls/49/live.m3u8
|
||||||
宁夏卫视,http://58.19.43.46:9901/tsfile/live/1003_1.m3u8
|
宁夏卫视,http://58.19.43.46:9901/tsfile/live/1003_1.m3u8
|
||||||
宁夏卫视,http://111.61.236.247:9081/hls/51/index.m3u8
|
宁夏卫视,http://111.61.236.247:9081/hls/51/index.m3u8
|
||||||
安多卫视,http://36.105.100.208:35455/itv/1000000005000266001.m3u8?cdn=ystenlive
|
安徽卫视,http://120.76.248.139/live/bfgd/4200000096.m3u8
|
||||||
安徽卫视,http://61.156.228.12:8154/tsfile/live/0130_1.m3u8
|
安徽卫视,http://221.2.148.205:8154/tsfile/live/0130_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||||
安徽卫视,http://111.61.236.247:9081/hls/27/index.m3u8
|
|
||||||
少儿动画,http://218.15.183.23:9901/tsfile/live/23045_1.m3u8
|
少儿动画,http://218.15.183.23:9901/tsfile/live/23045_1.m3u8
|
||||||
山东卫视,http://111.14.181.15:9901/tsfile/live/0131_1.m3u8?key=tvbox6_com&playlive=1&authid=0
|
山东卫视,http://39.164.160.249:9901/tsfile/live/0131_1.m3u8
|
||||||
山东文旅,http://58.57.40.22:9901/tsfile/live/1023_1.m3u8
|
|
||||||
山西卫视,http://42.225.117.174:11199/tsfile/live/0118_1.m3u8?key=txiptv&playlive=1&authid=0
|
|
||||||
广东体育,http://120.238.94.10:9901/tsfile/live/1012_1.m3u8
|
广东体育,http://120.238.94.10:9901/tsfile/live/1012_1.m3u8
|
||||||
广东体育,http://183.11.239.36:808/hls/2/index.m3u8
|
广东体育,http://183.11.239.36:808/hls/2/index.m3u8
|
||||||
|
广东体育,http://218.13.170.98:9901/tsfile/live/0019_1.m3u8
|
||||||
|
广东卫视,http://39.164.160.249:9901/tsfile/live/0125_1.m3u8
|
||||||
广东卫视,http://120.238.94.10:9901/tsfile/live/1008_1.m3u8
|
广东卫视,http://120.238.94.10:9901/tsfile/live/1008_1.m3u8
|
||||||
广东卫视,http://183.11.239.36:808/hls/80/index.m3u8
|
广东卫视,http://124.116.183.146:9901/tsfile/live/0125_1.m3u8
|
||||||
广东卫视,http://120.76.248.139/live/bfgd/4200000092.m3u8
|
|
||||||
广东民生,http://183.11.239.36:808/hls/18/index.m3u8
|
广东民生,http://183.11.239.36:808/hls/18/index.m3u8
|
||||||
广东珠江,http://120.238.94.10:9901/tsfile/live/1009_1.m3u8
|
广东珠江,http://120.238.94.10:9901/tsfile/live/1009_1.m3u8
|
||||||
广东珠江,http://183.11.239.36:808/hls/83/index.m3u8
|
广东珠江,http://183.11.239.36:808/hls/83/index.m3u8
|
||||||
广州竞赛,http://8.138.7.223/tv/gzjs.m3u8
|
广州竞赛,http://8.138.7.223/tv/gzjs.m3u8
|
||||||
广西卫视,http://120.76.248.139/live/bfgd/4200000116.m3u8
|
广西卫视,http://58.19.43.46:9901/tsfile/live/1004_1.m3u8
|
||||||
广西卫视,http://222.169.85.8:9901/tsfile/live/0113_1.m3u8
|
广西卫视,http://111.61.236.247:9081/hls/44/index.m3u8
|
||||||
|
康巴卫视,http://218.89.240.144:59901/tsfile/live/1010_1.m3u8
|
||||||
康巴卫视,http://111.202.12.159:8080/kYGHWzA/1000/live.m3u8
|
康巴卫视,http://111.202.12.159:8080/kYGHWzA/1000/live.m3u8
|
||||||
康巴卫视,http://111.202.12.159:8080/3zvkK28/1000/live.m3u8
|
康巴卫视,http://111.202.12.159:8080/3zvkK28/1000/live.m3u8
|
||||||
康巴卫视,http://36.105.100.208:35455/itv/1000000005000266002.m3u8?cdn=ystenlive
|
康巴卫视,http://36.105.100.208:35455/itv/1000000005000266002.m3u8?cdn=ystenlive
|
||||||
延边卫视,http://120.76.248.139/live/bfgd/4200000117.m3u8
|
延边卫视,http://120.76.248.139/live/bfgd/4200000117.m3u8
|
||||||
新疆卫视,http://58.57.40.22:9901/tsfile/live/1055_1.m3u8
|
新疆卫视,http://39.164.160.249:9901/tsfile/live/0110_1.m3u8
|
||||||
|
新疆卫视,http://183.11.239.36:808/hls/65/index.m3u8
|
||||||
新疆卫视,http://222.169.85.8:9901/tsfile/live/0110_1.m3u8
|
新疆卫视,http://222.169.85.8:9901/tsfile/live/0110_1.m3u8
|
||||||
新疆卫视,http://110.7.131.40:9901/tsfile/live/0110_1.m3u8?key=txiptv&playlive=1&authid=0
|
新疆卫视,http://113.25.252.226:9901/tsfile/live/0110_1.m3u8
|
||||||
新疆卫视,http://42.225.117.174:11199/tsfile/live/0110_1.m3u8?key=txiptv&playlive=1&authid=0
|
|
||||||
新视觉,http://120.76.248.139/live/bfgd/4200000249.m3u8
|
新视觉,http://120.76.248.139/live/bfgd/4200000249.m3u8
|
||||||
朝阳新闻综合,http://120.76.248.139/live/bfgd/4200000282.m3u8
|
朝阳新闻综合,http://120.76.248.139/live/bfgd/4200000282.m3u8
|
||||||
末日电影合集,http://47.102.149.208:35455/yy/1354889019
|
|
||||||
江苏卫视,http://39.164.160.249:9901/tsfile/live/0127_1.m3u8
|
江苏卫视,http://39.164.160.249:9901/tsfile/live/0127_1.m3u8
|
||||||
江苏卫视,http://58.57.40.22:9901/tsfile/live/1031_1.m3u8
|
|
||||||
江苏卫视,http://183.11.239.36:808/hls/38/index.m3u8
|
江苏卫视,http://183.11.239.36:808/hls/38/index.m3u8
|
||||||
江苏卫视,http://120.76.248.139/live/bfgd/4200000085.m3u8
|
江苏卫视,http://120.76.248.139/live/bfgd/4200000085.m3u8
|
||||||
江西卫视,http://39.164.160.249:9901/tsfile/live/0138_1.m3u8
|
江西卫视,http://58.17.48.228:808/hls/17/index.m3u8
|
||||||
江西卫视,http://36.32.174.67:60080/newlive/live/hls/22/live.m3u8
|
江西卫视,http://183.11.239.36:808/hls/44/index.m3u8
|
||||||
江西卫视,http://222.169.85.8:9901/tsfile/live/0138_1.m3u8
|
江西卫视,http://120.76.248.139/live/bfgd/4200000098.m3u8
|
||||||
河北卫视,http://120.76.248.139/live/bfgd/4200000108.m3u8
|
河北卫视,http://39.164.160.249:9901/tsfile/live/0117_1.m3u8
|
||||||
河北卫视,http://1.24.190.98:10080/hls/78/index.m3u8
|
河北卫视,http://36.32.174.67:60080/newlive/live/hls/36/live.m3u8
|
||||||
河南卫视,http://58.57.40.22:9901/tsfile/live/1048_1.m3u8
|
河北卫视,http://111.61.236.247:9081/hls/17/index.m3u8
|
||||||
|
河北卫视,http://183.11.239.36:808/hls/54/index.m3u8
|
||||||
|
河南卫视,http://39.164.160.249:9901/tsfile/live/0139_1.m3u8
|
||||||
河南卫视,http://120.238.94.10:9901/tsfile/live/1068_1.m3u8
|
河南卫视,http://120.238.94.10:9901/tsfile/live/1068_1.m3u8
|
||||||
河南卫视,http://58.19.43.46:9901/tsfile/live/1006_1.m3u8
|
河南卫视,http://58.19.43.46:9901/tsfile/live/1006_1.m3u8
|
||||||
津南一套,http://61.147.106.103/play.jinnantv.top/live/JNTV1.m3u8?ztianjd&wsSession=4e59297ef5846f4a7cf02eb3-172672213891355&wsIPSercert=6d426cba8b106cdec9147b1e2a9ace7c&wsiphost=local&wsBindIP=1
|
|
||||||
津南一套,http://61.147.106.103/play.jinnantv.top/live/JNTV1.m3u8?ztianjd&wsSession=4e59297ef5846f4a7cf02eb3-172672213891355&wsIPSercert=6d426cba8b106cdec9147b1e2a9ace7c&wsiphost=local&wsBindIP=1
|
津南一套,http://61.147.106.103/play.jinnantv.top/live/JNTV1.m3u8?ztianjd&wsSession=4e59297ef5846f4a7cf02eb3-172672213891355&wsIPSercert=6d426cba8b106cdec9147b1e2a9ace7c&wsiphost=local&wsBindIP=1
|
||||||
津南一套,http://61.147.106.103/play.jinnantv.top/live/JNTV1.m3u8?ztianjd&amp;wsSession=4e59297ef5846f4a7cf02eb3-172672213891355&amp;wsIPSercert=6d426cba8b106cdec9147b1e2a9ace7c&amp;wsiphost=local&amp;wsBindIP=1
|
津南一套,http://61.147.106.103/play.jinnantv.top/live/JNTV1.m3u8?ztianjd&wsSession=4e59297ef5846f4a7cf02eb3-172672213891355&wsIPSercert=6d426cba8b106cdec9147b1e2a9ace7c&wsiphost=local&wsBindIP=1
|
||||||
浙江卫视,http://58.17.48.228:808/hls/32/index.m3u8
|
浙江卫视,http://58.17.48.228:808/hls/32/index.m3u8
|
||||||
海南卫视,http://58.57.40.22:9901/tsfile/live/1000_1.m3u8
|
|
||||||
海南卫视,http://120.76.248.139/live/bfgd/4200000473.m3u8
|
海南卫视,http://120.76.248.139/live/bfgd/4200000473.m3u8
|
||||||
海南卫视,http://113.57.111.4:1111/tsfile/live/1031_1.m3u8
|
海南卫视,http://218.89.240.144:59901/tsfile/live/1000_1.m3u8
|
||||||
|
海南卫视,http://221.2.148.205:8154/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||||
|
海南卫视,http://183.223.157.33:9901/tsfile/live/1008_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||||
海峡卫视,http://38.64.72.148:80/hls/modn/list/4009/chunklist0.m3u8
|
海峡卫视,http://38.64.72.148:80/hls/modn/list/4009/chunklist0.m3u8
|
||||||
海峡卫视,http://38.64.72.148:80/hls/modn/list/4009/playlist.m3u8
|
海峡卫视,http://38.64.72.148:80/hls/modn/list/4009/playlist.m3u8
|
||||||
涡阳新闻综合,http://220.180.124.18:888/live/ch0.m3u8
|
涡阳新闻综合,http://220.180.124.18:888/live/ch0.m3u8
|
||||||
深圳卫视,http://58.57.40.22:9901/tsfile/live/1036_1.m3u8
|
深圳卫视,http://38.64.72.148:80/hls/modn/list/4007/playlist.m3u8
|
||||||
深圳卫视,http://183.11.239.36:808/hls/45/index.m3u8
|
深圳卫视,http://124.116.183.146:9901/tsfile/live/0126_1.m3u8
|
||||||
深圳卫视,http://120.76.248.139/live/bfgd/4200000100.m3u8
|
深圳卫视,http://120.76.248.139/live/bfgd/4200000100.m3u8
|
||||||
湖北卫视,http://59.39.89.130:60901/tsfile/live/0125_12.m3u8?key=txiptv&playlive=1&authid=0
|
深圳卫视,http://222.169.85.8:9901/tsfile/live/0126_1.m3u8
|
||||||
|
湖北卫视,http://120.238.94.10:9901/tsfile/live/1055_1.m3u8
|
||||||
|
湖北卫视,http://113.57.111.4:1111/tsfile/live/1015_1.m3u8
|
||||||
|
湖北卫视,http://222.169.85.8:9901/tsfile/live/0132_1.m3u8
|
||||||
|
湖北卫视,http://61.156.228.12:8154/tsfile/live/0132_1.m3u8
|
||||||
|
湖南卫视,http://39.164.160.249:9901/tsfile/live/0128_1.m3u8
|
||||||
湖南卫视,http://58.17.48.228:808/hls/31/index.m3u8
|
湖南卫视,http://58.17.48.228:808/hls/31/index.m3u8
|
||||||
湖南卫视,http://61.136.172.236:9901/tsfile/live/0128_1.m3u8
|
|
||||||
湖南卫视,http://58.221.214.82:9901/tsfile/live/0128_1.m3u8
|
|
||||||
灌篮高手,http://47.102.149.208:35455/yy/1382735626
|
|
||||||
玛纳斯综合,http://218.84.127.245:1026/hls/main1/playlist.m3u8
|
玛纳斯综合,http://218.84.127.245:1026/hls/main1/playlist.m3u8
|
||||||
环球旅游,http://120.76.248.139/live/bfgd/4200000147.m3u8
|
环球旅游,http://120.76.248.139/live/bfgd/4200000147.m3u8
|
||||||
甘肃卫视,http://120.76.248.139/live/bfgd/4200000119.m3u8
|
甘肃卫视,http://39.150.96.141:65535/tsfile/live/0141_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||||
生态环境,http://120.76.248.139/live/bfgd/4200000149.m3u8
|
生态环境,http://120.76.248.139/live/bfgd/4200000149.m3u8
|
||||||
纪实科教,http://120.76.248.139/live/bfgd/4200000113.m3u8
|
纪实科教,http://120.76.248.139/live/bfgd/4200000113.m3u8
|
||||||
纪实科教8K,http://111.31.106.140/downflv.brtvcloud.com/8klive/8kliveok.m3u8
|
纪实科教8K,http://111.31.106.140/downflv.brtvcloud.com/8klive/8kliveok.m3u8
|
||||||
蜡笔小新,http://47.102.149.208:35455/bilibili/30837590
|
|
||||||
西安新闻,http://112.46.105.20:8009/hls/28/index.m3u8
|
西安新闻,http://112.46.105.20:8009/hls/28/index.m3u8
|
||||||
西安都市,http://112.46.105.20:8009/hls/29/index.m3u8
|
西安都市,http://112.46.105.20:8009/hls/29/index.m3u8
|
||||||
西藏卫视,http://120.238.94.10:9901/tsfile/live/1077_1.m3u8
|
西藏卫视,http://36.32.174.67:60080/newlive/live/hls/48/live.m3u8
|
||||||
西藏卫视,http://111.61.236.247:9081/hls/52/index.m3u8
|
西藏卫视,http://120.76.248.139/live/bfgd/4200000121.m3u8
|
||||||
西藏卫视,http://183.11.239.36:808/hls/64/index.m3u8
|
|
||||||
西藏卫视,http://113.25.252.226:9901/tsfile/live/1003_1.m3u8
|
西藏卫视,http://113.25.252.226:9901/tsfile/live/1003_1.m3u8
|
||||||
谈判专家,http://47.102.149.208:35455/yy/1382735560
|
|
||||||
贵州卫视,http://222.169.85.8:9901/tsfile/live/0120_1.m3u8
|
贵州卫视,http://222.169.85.8:9901/tsfile/live/0120_1.m3u8
|
||||||
贵州卫视,http://36.105.100.208:35455/itv/5000000004000025843.m3u8?cdn=bestzb
|
贵州卫视,http://113.57.111.4:1111/tsfile/live/1029_1.m3u8
|
||||||
贵州卫视,http://61.136.172.236:9901/tsfile/live/0120_1.m3u8?key=txiptv&playlive=1&authid=0
|
贵州卫视,http://111.61.236.247:9081/hls/37/index.m3u8
|
||||||
|
贵州卫视,http://61.136.172.236:9901/tsfile/live/0120_1.m3u8
|
||||||
车迷频道,http://120.76.248.139/live/bfgd/4200000146.m3u8
|
车迷频道,http://120.76.248.139/live/bfgd/4200000146.m3u8
|
||||||
辽宁公共,http://120.76.248.139/live/bfgd/4200000077.m3u8
|
辽宁公共,http://120.76.248.139/live/bfgd/4200000077.m3u8
|
||||||
辽宁公共,http://120.76.248.139/live/bfgd/4200000481.m3u8
|
辽宁公共,http://120.76.248.139/live/bfgd/4200000481.m3u8
|
||||||
辽宁北方,http://120.76.248.139/live/bfgd/4200000071.m3u8
|
辽宁北方,http://120.76.248.139/live/bfgd/4200000071.m3u8
|
||||||
|
辽宁卫视,http://39.164.160.249:9901/tsfile/live/0121_1.m3u8
|
||||||
辽宁卫视,http://58.19.43.46:9901/tsfile/live/1041_1.m3u8
|
辽宁卫视,http://58.19.43.46:9901/tsfile/live/1041_1.m3u8
|
||||||
辽宁卫视,http://183.11.239.36:808/hls/47/index.m3u8
|
辽宁卫视,http://183.11.239.36:808/hls/47/index.m3u8
|
||||||
辽宁卫视,http://120.76.248.139/live/bfgd/4200000058.m3u8
|
|
||||||
辽宁影视剧,http://120.76.248.139/live/bfgd/4200000070.m3u8
|
辽宁影视剧,http://120.76.248.139/live/bfgd/4200000070.m3u8
|
||||||
辽宁教育青少,http://120.76.248.139/live/bfgd/4200000075.m3u8
|
辽宁教育青少,http://120.76.248.139/live/bfgd/4200000075.m3u8
|
||||||
辽宁生活,http://120.76.248.139/live/bfgd/4200000073.m3u8
|
辽宁生活,http://120.76.248.139/live/bfgd/4200000073.m3u8
|
||||||
@@ -220,10 +210,12 @@ CHC影迷电影,http://113.195.172.192:808/hls/112/index.m3u8
|
|||||||
辽宁都市,http://120.76.248.139/live/bfgd/4200000610.m3u8
|
辽宁都市,http://120.76.248.139/live/bfgd/4200000610.m3u8
|
||||||
都市剧场,http://112.46.105.20:8009/hls/72/index.m3u8
|
都市剧场,http://112.46.105.20:8009/hls/72/index.m3u8
|
||||||
鄂托克旗电视台,http://110.19.181.138:10080/hls/F509Rh7GR/F509Rh7GR_live.m3u8?zneimd
|
鄂托克旗电视台,http://110.19.181.138:10080/hls/F509Rh7GR/F509Rh7GR_live.m3u8?zneimd
|
||||||
重庆卫视,http://113.25.252.226:9901/tsfile/live/0142_1.m3u8
|
重庆卫视,http://58.19.43.46:9901/tsfile/live/1042_1.m3u8
|
||||||
|
重庆卫视,http://120.76.248.139/live/bfgd/4200000107.m3u8
|
||||||
|
重庆卫视,http://61.156.228.12:8154/tsfile/live/0142_1.m3u8
|
||||||
|
重庆卫视,http://111.61.236.247:9081/hls/41/index.m3u8
|
||||||
金鹰卡通,http://58.19.43.46:9901/tsfile/live/1000_1.m3u8
|
金鹰卡通,http://58.19.43.46:9901/tsfile/live/1000_1.m3u8
|
||||||
金鹰卡通,http://116.128.242.83:9901/tsfile/live/1002_1.m3u8
|
金鹰卡通,http://116.128.242.83:9901/tsfile/live/1002_1.m3u8
|
||||||
金鹰卡通,http://58.57.40.22:9901/tsfile/live/1059_1.m3u8
|
|
||||||
金鹰卡通,http://218.89.240.144:59901/tsfile/live/1002_1.m3u8
|
金鹰卡通,http://218.89.240.144:59901/tsfile/live/1002_1.m3u8
|
||||||
陕西体育休闲,http://112.46.105.20:8009/hls/24/index.m3u8
|
陕西体育休闲,http://112.46.105.20:8009/hls/24/index.m3u8
|
||||||
陕西新闻咨询,http://112.46.105.20:8009/hls/18/index.m3u8
|
陕西新闻咨询,http://112.46.105.20:8009/hls/18/index.m3u8
|
||||||
@@ -231,21 +223,19 @@ CHC影迷电影,http://113.195.172.192:808/hls/112/index.m3u8
|
|||||||
陕西西部电影,http://112.46.105.20:8009/hls/62/index.m3u8
|
陕西西部电影,http://112.46.105.20:8009/hls/62/index.m3u8
|
||||||
陕西都市青春,http://112.46.105.20:8009/hls/19/index.m3u8
|
陕西都市青春,http://112.46.105.20:8009/hls/19/index.m3u8
|
||||||
陕西银龄,http://112.46.105.20:8009/hls/20/index.m3u8
|
陕西银龄,http://112.46.105.20:8009/hls/20/index.m3u8
|
||||||
青海卫视,http://58.57.40.22:9901/tsfile/live/1057_1.m3u8
|
|
||||||
青海卫视,http://120.238.94.10:9901/tsfile/live/1073_1.m3u8
|
|
||||||
青海卫视,http://58.19.43.46:9901/tsfile/live/1014_1.m3u8
|
青海卫视,http://58.19.43.46:9901/tsfile/live/1014_1.m3u8
|
||||||
青海卫视,http://120.76.248.139/live/bfgd/4200000111.m3u8
|
青海卫视,http://120.76.248.139/live/bfgd/4200000111.m3u8
|
||||||
靖洋卡通,http://104.244.79.187:4994/proxy?url=http%3A//104.244.79.187%3A5050/litv/4gtv-4gtv057
|
青海卫视,http://123.130.84.106:8154/tsfile/live/0140_1.m3u8
|
||||||
鹿鼎记,http://47.102.149.208:35455/yy/28265277
|
青海卫视,http://58.221.214.82:9901/tsfile/live/0018_1.m3u8
|
||||||
|
青海卫视,http://111.61.236.247:9081/hls/49/index.m3u8
|
||||||
黎城综合,http://111.53.96.67:8081/live/1/index.m3u8
|
黎城综合,http://111.53.96.67:8081/live/1/index.m3u8
|
||||||
黑莓动画,http://36.105.100.208:35455/itv/1000000004000021734.m3u8?cdn=ystenlive
|
黑莓动画,http://36.105.100.208:35455/itv/1000000004000021734.m3u8?cdn=ystenlive
|
||||||
黑莓电影,http://36.105.100.208:35455/itv/1000000004000019624.m3u8?cdn=ystenlive
|
黑莓电影,http://36.105.100.208:35455/itv/1000000004000019624.m3u8?cdn=ystenlive
|
||||||
黑龙江卫视,http://39.164.160.249:9901/tsfile/live/0143_1.m3u8
|
黑龙江卫视,http://39.164.160.249:9901/tsfile/live/0143_1.m3u8
|
||||||
黑龙江卫视,http://58.57.40.22:9901/tsfile/live/1040_1.m3u8
|
黑龙江卫视,http://58.19.43.46:9901/tsfile/live/1008_1.m3u8
|
||||||
|
|
||||||
# IPv6 Streams
|
# IPv6 Streams
|
||||||
CCTV-1 综合,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226559/index.m3u8
|
CCTV-1 综合,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226559/index.m3u8
|
||||||
CCTV-10 科教,http://[2409:8087:1a01:df::4077]:80/PLTV/88888888/224/3221225677/index.m3u8
|
|
||||||
CCTV-11 戏曲,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226565/index.m3u8
|
CCTV-11 戏曲,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226565/index.m3u8
|
||||||
CCTV-12 社会与法,http://[2409:8087:1a01:df::4077]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225731/index.m3u8
|
CCTV-12 社会与法,http://[2409:8087:1a01:df::4077]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225731/index.m3u8
|
||||||
CCTV-13 新闻,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226537/index.m3u8
|
CCTV-13 新闻,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226537/index.m3u8
|
||||||
@@ -260,25 +250,31 @@ CCTV-6 电影,http://[2409:8087:1a01:df::4077]:80/ottrrs.hl.chinamobile.com/PLTV
|
|||||||
CCTV-7 国防军事,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225733/index.m3u8
|
CCTV-7 国防军事,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225733/index.m3u8
|
||||||
CCTV-8 电视剧,http://[2409:8087:1a01:df::4077]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226008/index.m3u8
|
CCTV-8 电视剧,http://[2409:8087:1a01:df::4077]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226008/index.m3u8
|
||||||
CCTV-9 纪录,http://[2409:8087:1a01:df::4077]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225734/index.m3u8
|
CCTV-9 纪录,http://[2409:8087:1a01:df::4077]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225734/index.m3u8
|
||||||
|
CCTV1,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226895/1.m3u8?
|
||||||
CCTV10,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226449/1.m3u8
|
CCTV10,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226449/1.m3u8
|
||||||
|
CCTV10,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226937/1.m3u8?
|
||||||
CCTV11,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226334/1.m3u8
|
CCTV11,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226334/1.m3u8
|
||||||
CCTV11,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226448/1.m3u8
|
CCTV11,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226448/1.m3u8
|
||||||
|
CCTV11,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226334/1.m3u8?
|
||||||
CCTV12,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226228/1.m3u8
|
CCTV12,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226228/1.m3u8
|
||||||
|
CCTV12,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226942/1.m3u8?
|
||||||
|
CCTV13,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226316/1.m3u8?
|
||||||
CCTV14,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226229/1.m3u8
|
CCTV14,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226229/1.m3u8
|
||||||
CCTV14,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226445/1.m3u8
|
CCTV14,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226445/1.m3u8
|
||||||
|
CCTV14,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226947/1.m3u8?
|
||||||
CCTV15,http://[2409:8087:1a01:df::4033]:80/TVOD/88888888/224/3221226127/main.m3u8
|
CCTV15,http://[2409:8087:1a01:df::4033]:80/TVOD/88888888/224/3221226127/main.m3u8
|
||||||
CCTV15,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226333/1.m3u8
|
CCTV15,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226333/1.m3u8
|
||||||
CCTV15,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226444/1.m3u8
|
CCTV15,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226444/1.m3u8
|
||||||
CCTV16,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226887/1.m3u8
|
CCTV16,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226887/1.m3u8
|
||||||
CCTV16,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226888/1.m3u8
|
CCTV16,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226888/1.m3u8
|
||||||
|
CCTV16,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227002/1.m3u8?
|
||||||
CCTV17,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226318/1.m3u8
|
CCTV17,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226318/1.m3u8
|
||||||
CCTV17,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226442/1.m3u8
|
CCTV17,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226442/1.m3u8
|
||||||
CCTV17,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226318/1.m3u8?
|
CCTV17,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226318/1.m3u8?
|
||||||
CCTV2,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226230/1.m3u8
|
CCTV2,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226230/1.m3u8
|
||||||
CCTV2,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226371/1.m3u8
|
CCTV2,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226371/1.m3u8
|
||||||
CCTV3,http://[2409:8087:1a01:df::4041]:80/TVOD/88888888/224/3221225799/main.m3u8
|
CCTV2,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226893/1.m3u8?
|
||||||
CCTV3,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226456/1.m3u8
|
CCTV3,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226456/1.m3u8
|
||||||
CCTV3,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226471/1.m3u8
|
|
||||||
CCTV3,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226471/1.m3u8?
|
CCTV3,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226471/1.m3u8?
|
||||||
CCTV4,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226335/1.m3u8?
|
CCTV4,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226335/1.m3u8?
|
||||||
CCTV5,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226469/1.m3u8?
|
CCTV5,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226469/1.m3u8?
|
||||||
@@ -288,8 +284,10 @@ CCTV7,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/22
|
|||||||
CCTV7,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226946/1.m3u8?
|
CCTV7,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226946/1.m3u8?
|
||||||
CCTV8,http://[2409:8087:1a01:df::4051]:80/TVOD/88888888/224/3221225795/main.m3u8
|
CCTV8,http://[2409:8087:1a01:df::4051]:80/TVOD/88888888/224/3221225795/main.m3u8
|
||||||
CCTV8,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226451/1.m3u8
|
CCTV8,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226451/1.m3u8
|
||||||
|
CCTV8,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226485/1.m3u8?
|
||||||
CCTV9,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226236/1.m3u8
|
CCTV9,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226236/1.m3u8
|
||||||
CCTV9,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226450/1.m3u8
|
CCTV9,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226450/1.m3u8
|
||||||
|
CCTV9,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226944/1.m3u8?
|
||||||
CETV1,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226494/1.m3u8
|
CETV1,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226494/1.m3u8
|
||||||
CHC动作电影,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226329/1.m3u8
|
CHC动作电影,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226329/1.m3u8
|
||||||
三沙卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226544/1.m3u8
|
三沙卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226544/1.m3u8
|
||||||
@@ -336,6 +334,7 @@ CHC动作电影,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/8
|
|||||||
江西卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226344/index.m3u8
|
江西卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226344/index.m3u8
|
||||||
江西卫视,http://[2409:8087:1a01:df::4027]:80/TVOD/88888888/224/3221225935/main.m3u8
|
江西卫视,http://[2409:8087:1a01:df::4027]:80/TVOD/88888888/224/3221225935/main.m3u8
|
||||||
河北卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226406/index.m3u8
|
河北卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226406/index.m3u8
|
||||||
|
河北卫视,http://[2409:8087:1a01:df::4035]:80/TVOD/88888888/224/3221225961/main.m3u8
|
||||||
河南卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226480/index.m3u8
|
河南卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226480/index.m3u8
|
||||||
浙江卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226339/index.m3u8
|
浙江卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226339/index.m3u8
|
||||||
海南卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226465/index.m3u8
|
海南卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226465/index.m3u8
|
||||||
@@ -348,7 +347,6 @@ CHC动作电影,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/8
|
|||||||
湖南卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226509/1.m3u8
|
湖南卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226509/1.m3u8
|
||||||
甘肃卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226545/1.m3u8
|
甘肃卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226545/1.m3u8
|
||||||
甘肃卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226913/1.m3u8
|
甘肃卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226913/1.m3u8
|
||||||
睛彩篮球,http://[2409:8087:1a01:df::4055]:80/TVOD/88888888/224/3221225901/main.m3u8
|
|
||||||
精品体育,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226328/1.m3u8
|
精品体育,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226328/1.m3u8
|
||||||
精品萌宠,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226505/index.m3u8
|
精品萌宠,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226505/index.m3u8
|
||||||
纪实人文,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225738/index.m3u8
|
纪实人文,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225738/index.m3u8
|
||||||
|
|||||||
Reference in new issue
Block a user