Compare commits
	
		
			No commits in common. "main" and "main" have entirely different histories.
		
	
	
		
	
		
							
								
								
									
										1
									
								
								drpy_libs/cheerio.min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								drpy_libs/cheerio.min.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										3579
									
								
								drpy_libs/drpy2.js
									
									
									
									
									
								
							
							
						
						
									
										3579
									
								
								drpy_libs/drpy2.js
									
									
									
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										73
									
								
								drpy_libs/drpy2.min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										73
									
								
								drpy_libs/drpy2.min.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							@ -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;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}));
 | 
					 | 
				
			||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1737
									
								
								drpy_libs/json5.js
									
									
									
									
									
								
							
							
						
						
									
										1737
									
								
								drpy_libs/json5.js
									
									
									
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										2
									
								
								drpy_libs/pako.min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								drpy_libs/pako.min.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										412
									
								
								drpy_libs/模板.js
									
									
									
									
									
								
							
							
						
						
									
										412
									
								
								drpy_libs/模板.js
									
									
									
									
									
								
							@ -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};
 | 
					 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								jar/fix24108.jar
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								jar/fix24108.jar
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								jar/qi.jar
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								jar/qi.jar
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								jar/qj.jar
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								jar/qj.jar
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										422
									
								
								tv.txt
									
									
									
									
									
								
							
							
						
						
									
										422
									
								
								tv.txt
									
									
									
									
									
								
							@ -1,42 +1,24 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
📡央视卫视📡,#genre#
 | 
					📡央视卫视📡,#genre#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CCTV1,http://[2409:8087:5e08:24::2]:6610/000000001000/1000000001000018602/index.m3u8?channel-id=ystenlive&Contentid=1000000001000018602&livemode=1&stbId=3
 | 
					CCTV1,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000501/index.m3u8?
 | 
				
			||||||
CCTV2,http://[2409:8087:5e08:24::2]:6610/000000001000/5000000011000031101/index.m3u8?channel-id=bestzb&Contentid=5000000011000031101&livemode=1&stbId=3
 | 
					CCTV2,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000502/index.m3u8?
 | 
				
			||||||
CCTV3,http://[2409:8087:5e08:24::17]:6610/000000001000/5000000004000008883/index.m3u8?channel-id=bestzb&Contentid=5000000004000008883&livemode=1&stbId=3
 | 
					CCTV3,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000003/index.m3u8?
 | 
				
			||||||
CCTV4,http://[2409:8087:5e08:24::2]:6610/000000001000/5000000011000031102/index.m3u8?channel-id=bestzb&Contentid=5000000011000031102&livemode=1&stbId=3
 | 
					CCTV4,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000503/index.m3u8?
 | 
				
			||||||
CCTV5,http://[2409:8087:5e08:24::17]:6610/000000001000/5000000004000008885/index.m3u8?channel-id=bestzb&Contentid=5000000004000008885&livemode=1&stbId=3
 | 
					CCTV5,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000005/index.m3u8?
 | 
				
			||||||
CCTV5+,http://[2409:8087:5e08:24::17]:6610/000000001000/5000000011000031127/index.m3u8?channel-id=bestzb&Contentid=5000000011000031127&livemode=1&stbId=3
 | 
					CCTV5+,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000507/index.m3u8?
 | 
				
			||||||
CCTV6,http://[2409:8087:5e08:24::17]:6610/000000001000/5000000004000008886/index.m3u8?channel-id=bestzb&Contentid=5000000004000008886&livemode=1&stbId=3
 | 
					CCTV6,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000006/index.m3u8?
 | 
				
			||||||
CCTV7,http://[2409:8087:5e08:24::2]:6610/000000001000/5000000011000031104/index.m3u8?channel-id=bestzb&Contentid=5000000011000031104&livemode=1&stbId=3
 | 
					CCTV7,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000504/index.m3u8?
 | 
				
			||||||
CCTV8,http://[2409:8087:5e08:24::17]:6610/000000001000/5000000004000008888/index.m3u8?channel-id=bestzb&Contentid=5000000004000008888&livemode=1&stbId=3
 | 
					CCTV8,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000008/index.m3u8?
 | 
				
			||||||
CCTV9,http://[2409:8087:5e08:24::17]:6610/000000001000/6000000001000032162/index.m3u8?channel-id=wasusyt&Contentid=6000000001000032162&livemode=1&stbId=3
 | 
					CCTV9,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000505/index.m3u8?
 | 
				
			||||||
CCTV10,http://[2409:8087:5e08:24::2]:6610/000000001000/5000000004000012827/index.m3u8?channel-id=bestzb&Contentid=5000000004000012827&livemode=1&stbId=3
 | 
					CCTV10,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000506/index.m3u8?
 | 
				
			||||||
CCTV11,http://[2409:8087:5e08:24::2]:6610/000000001000/5000000011000031106/index.m3u8?channel-id=bestzb&Contentid=5000000011000031106&livemode=1&stbId=3
 | 
					CCTV11,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000508/index.m3u8?
 | 
				
			||||||
CCTV12,http://[2409:8087:5e08:24::2]:6610/000000001000/5000000011000031107/index.m3u8?channel-id=bestzb&Contentid=5000000011000031107&livemode=1&stbId=3
 | 
					CCTV12,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000509/index.m3u8?
 | 
				
			||||||
CCTV13,http://[2409:8087:5e08:24::2]:6610/000000001000/5000000011000031108/index.m3u8?channel-id=bestzb&Contentid=5000000011000031108&livemode=1&stbId=3
 | 
					CCTV13,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000510/index.m3u8?
 | 
				
			||||||
CCTV14,http://[2409:8087:5e08:24::2]:6610/000000001000/5000000004000006673/index.m3u8?channel-id=bestzb&Contentid=5000000004000006673&livemode=1&stbId=3
 | 
					CCTV14,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000511/index.m3u8?
 | 
				
			||||||
CCTV15,http://[2409:8087:5e08:24::2]:6610/000000001000/5000000011000031109/index.m3u8?channel-id=bestzb&Contentid=5000000011000031109&livemode=1&stbId=3
 | 
					CCTV15,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000512/index.m3u8?
 | 
				
			||||||
CCTV16,http://[2409:8087:5e08:24::17]:6610/000000001000/5000000008000023253/index.m3u8?channel-id=bestzb&Contentid=5000000008000023253&livemode=1&stbId=3
 | 
					CCTV16,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000016/index.m3u8?
 | 
				
			||||||
CCTV17,http://[2409:8087:5e08:24::2]:6610/000000001000/1000000005000056836/index.m3u8?channel-id=ystenlive&Contentid=1000000005000056836&livemode=1&stbId=3
 | 
					CCTV17,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000513/index.m3u8?
 | 
				
			||||||
 | 
					 | 
				
			||||||
CCTV1,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226016/index.m3u8
 | 
					 | 
				
			||||||
CCTV2,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225588/index.m3u8
 | 
					 | 
				
			||||||
CCTV3,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226021/index.m3u8
 | 
					 | 
				
			||||||
CCTV4,http://[2409:8087:1a0a:df::4031]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226428/index.m3u8
 | 
					 | 
				
			||||||
CCTV5,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226019/index.m3u8
 | 
					 | 
				
			||||||
CCTV5+,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225603/index.m3u8
 | 
					 | 
				
			||||||
CCTV6,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226010/index.m3u8
 | 
					 | 
				
			||||||
CCTV7,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225733/index.m3u8
 | 
					 | 
				
			||||||
CCTV8,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226008/index.m3u8
 | 
					 | 
				
			||||||
CCTV9,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225734/index.m3u8
 | 
					 | 
				
			||||||
CCTV10,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225730/index.m3u8
 | 
					 | 
				
			||||||
CCTV11,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225597/index.m3u8
 | 
					 | 
				
			||||||
CCTV12,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225731/index.m3u8
 | 
					 | 
				
			||||||
CCTV13,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226011/index.m3u8
 | 
					 | 
				
			||||||
CCTV14,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225732/index.m3u8
 | 
					 | 
				
			||||||
CCTV15,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225601/index.m3u8
 | 
					 | 
				
			||||||
CCTV16,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226100/index.m3u8
 | 
					 | 
				
			||||||
CCTV17,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225765/index.m3u8
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
CCTV1,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010011/1.m3u8
 | 
					CCTV1,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010011/1.m3u8
 | 
				
			||||||
CCTV2,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010211/1.m3u8
 | 
					CCTV2,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010211/1.m3u8
 | 
				
			||||||
@ -57,167 +39,128 @@ CCTV15,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010094/1.m3u
 | 
				
			|||||||
CCTV16,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010142/1.m3u8
 | 
					CCTV16,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010142/1.m3u8
 | 
				
			||||||
CCTV17,http://[2409:8087:5e00:24::1e]:6060/000000001000/1000000005000056836/1.m3u8
 | 
					CCTV17,http://[2409:8087:5e00:24::1e]:6060/000000001000/1000000005000056836/1.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CCTV1,http://[2409:8087:74d9:21::6]:80/270000001128/9900000001/index.m3u8
 | 
				
			||||||
 | 
					CCTV2,http://[2409:8087:74d9:21::6]:80/270000001128/9900000502/index.m3u8
 | 
				
			||||||
 | 
					CCTV3,http://[2409:8087:74d9:21::6]:80/270000001128/9900000003/index.m3u8
 | 
				
			||||||
 | 
					CCTV4,http://[2409:8087:74d9:21::6]:80/270000001128/9900000503/index.m3u8
 | 
				
			||||||
 | 
					CCTV5,http://[2409:8087:74d9:21::6]:80/270000001128/9900000005/index.m3u8
 | 
				
			||||||
 | 
					CCTV5+,http://[2409:8087:74d9:21::6]:80/270000001128/9900000507/index.m3u8
 | 
				
			||||||
 | 
					CCTV6,http://[2409:8087:74d9:21::6]:80/270000001128/9900000006/index.m3u8
 | 
				
			||||||
 | 
					CCTV7,http://[2409:8087:74d9:21::6]:80/270000001128/9900000504/index.m3u8
 | 
				
			||||||
 | 
					CCTV8,http://[2409:8087:74d9:21::6]:80/270000001128/9900000008/index.m3u8
 | 
				
			||||||
 | 
					CCTV9,http://[2409:8087:74d9:21::6]:80/270000001128/9900000505/index.m3u8
 | 
				
			||||||
 | 
					CCTV10,http://[2409:8087:74d9:21::6]:80/270000001128/9900000506/index.m3u8
 | 
				
			||||||
 | 
					CCTV11,http://[2409:8087:74d9:21::6]:80/270000001128/9900000508/index.m3u8
 | 
				
			||||||
 | 
					CCTV12,http://[2409:8087:74d9:21::6]:80/270000001128/9900000509/index.m3u8
 | 
				
			||||||
 | 
					CCTV13,http://[2409:8087:74d9:21::6]:80/270000001128/9900000510/index.m3u8
 | 
				
			||||||
 | 
					CCTV14,http://[2409:8087:74d9:21::6]:80/270000001128/9900000511/index.m3u8
 | 
				
			||||||
 | 
					CCTV15,http://[2409:8087:74d9:21::6]:80/270000001128/9900000512/index.m3u8
 | 
				
			||||||
 | 
					CCTV16,http://[2409:8087:74d9:21::6]:80/270000001128/9900000016/index.m3u8
 | 
				
			||||||
 | 
					CCTV17,http://[2409:8087:74d9:21::6]:80/270000001128/9900000513/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CCTV1,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226016/index.m3u8
 | 
					湖南卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000523/index.m3u8?
 | 
				
			||||||
CCTV2,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225588/index.m3u8
 | 
					 | 
				
			||||||
CCTV3,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226021/index.m3u8
 | 
					 | 
				
			||||||
CCTV4,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226428/index.m3u8
 | 
					 | 
				
			||||||
CCTV5,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226019/index.m3u8
 | 
					 | 
				
			||||||
CCTV5+,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225603/index.m3u8
 | 
					 | 
				
			||||||
CCTV6,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226010/index.m3u8
 | 
					 | 
				
			||||||
CCTV7,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225733/index.m3u8
 | 
					 | 
				
			||||||
CCTV8,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226008/index.m3u8
 | 
					 | 
				
			||||||
CCTV9,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225734/index.m3u8
 | 
					 | 
				
			||||||
CCTV10,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225730/index.m3u8
 | 
					 | 
				
			||||||
CCTV11,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225597/index.m3u8
 | 
					 | 
				
			||||||
CCTV12,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225731/index.m3u8
 | 
					 | 
				
			||||||
CCTV13,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226011/index.m3u8
 | 
					 | 
				
			||||||
CCTV14,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225732/index.m3u8
 | 
					 | 
				
			||||||
CCTV15,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225601/index.m3u8
 | 
					 | 
				
			||||||
CCTV16,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226100/index.m3u8
 | 
					 | 
				
			||||||
CCTV17,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225765/index.m3u8
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
凤凰香港,https://ali.hlspull.yximgs.com/live/diyp_fh3.flv
 | 
					 | 
				
			||||||
凤凰中文,https://ali.hlspull.yximgs.com/live/diyp_fh2.flv
 | 
					 | 
				
			||||||
凤凰资讯,https://ali.hlspull.yximgs.com/live/diyp_fh1.flv
 | 
					 | 
				
			||||||
北京卫视,http://[2409:8087:5e08:24::2]:6610/000000001000/5000000004000031556/index.m3u8?channel-id=bestzb&Contentid=5000000004000031556&livemode=1&stbId=3
 | 
					 | 
				
			||||||
湖南卫视,http://[2409:8087:5e08:24::17]:6610/000000001000/6000000001000018044/index.m3u8?channel-id=wasusyt&Contentid=6000000001000018044&livemode=1&stbId=3
 | 
					 | 
				
			||||||
东方卫视,http://[2409:8087:5e08:24::17]:6610/000000001000/1000000005000265018/index.m3u8?channel-id=ystenlive&Contentid=1000000005000265018&livemode=1&stbId=3
 | 
					 | 
				
			||||||
四川卫视,http://[2409:8087:5e08:24::2]:6610/000000001000/1000000002000016825/index.m3u8?channel-id=ystenlive&Contentid=1000000002000016825&livemode=1&stbId=3
 | 
					 | 
				
			||||||
天津卫视,http://[2409:8087:5e08:24::2]:6610/000000001000/5000000004000006827/index.m3u8?channel-id=bestzb&Contentid=5000000004000006827&livemode=1&stbId=3
 | 
					 | 
				
			||||||
安徽卫视,http://[2409:8087:5e08:24::2]:6610/000000001000/5000000004000023002/index.m3u8?channel-id=bestzb&Contentid=5000000004000023002&livemode=1&stbId=3
 | 
					 | 
				
			||||||
山东卫视,http://[2409:8087:5e08:24::17]:6610/000000001000/6000000001000004134/index.m3u8?channel-id=wasusyt&Contentid=6000000001000004134&livemode=1&stbId=3
 | 
					 | 
				
			||||||
深圳卫视,http://[2409:8087:5e08:24::17]:6610/000000001000/6000000001000002116/index.m3u8?channel-id=wasusyt&Contentid=6000000001000002116&livemode=1&stbId=3
 | 
					 | 
				
			||||||
广东卫视,http://[2409:8087:5e08:24::17]:6610/000000001000/6000000001000031076/index.m3u8?channel-id=wasusyt&Contentid=6000000001000031076&livemode=1&stbId=3
 | 
					 | 
				
			||||||
广西卫视,http://[2409:8087:5e08:24::2]:6610/000000001000/5000000011000031118/index.m3u8?channel-id=bestzb&Contentid=5000000011000031118&livemode=1&stbId=3
 | 
					 | 
				
			||||||
江苏卫视,http://[2409:8087:5e08:24::17]:6610/000000001000/6000000001000014861/index.m3u8?channel-id=wasusyt&Contentid=6000000001000014861&livemode=1&stbId=3
 | 
					 | 
				
			||||||
江西卫视,http://[2409:8087:5e08:24::2]:6610/000000001000/5000000004000011210/index.m3u8?channel-id=bestzb&Contentid=5000000004000011210&livemode=1&stbId=3
 | 
					 | 
				
			||||||
河北卫视,http://[2409:8087:5e08:24::2]:6610/000000001000/5000000006000040016/index.m3u8?channel-id=bestzb&Contentid=5000000006000040016&livemode=1&stbId=3
 | 
					 | 
				
			||||||
河南卫视,http://[2409:8087:5e08:24::17]:6610/000000001000/1000000002000027731/index.m3u8?channel-id=ystenlive&Contentid=1000000002000027731&livemode=1&stbId=3
 | 
					 | 
				
			||||||
浙江卫视,http://[2409:8087:5e08:24::17]:6610/000000001000/6000000001000032070/index.m3u8?channel-id=wasusyt&Contentid=6000000001000032070&livemode=1&stbId=3
 | 
					 | 
				
			||||||
海南卫视,http://[2409:8087:5e08:24::2]:6610/000000001000/5000000004000006211/index.m3u8?channel-id=bestzb&Contentid=5000000004000006211&livemode=1&stbId=3
 | 
					 | 
				
			||||||
湖北卫视,http://[2409:8087:5e08:24::17]:6610/000000001000/6000000001000015436/index.m3u8?channel-id=wasusyt&Contentid=6000000001000015436&livemode=1&stbId=3
 | 
					 | 
				
			||||||
山西卫视,http://[2409:8087:5e08:24::2]:6610/000000001000/1000000002000021220/index.m3u8?livemode=1&stbId=3&channel-id=ystenlive&Contentid=1000000002000021220
 | 
					 | 
				
			||||||
东南卫视,http://[2409:8087:5e08:24::2]:6610/000000001000/1000000002000009263/index.m3u8?livemode=1&stbId=3&channel-id=ystenlive&Contentid=1000000002000009263
 | 
					 | 
				
			||||||
贵州卫视,http://[2409:8087:5e08:24::2]:6610/000000001000/1000000002000003169/index.m3u8?livemode=1&stbId=10&channel-id=ystenlive&Contentid=1000000002000003169
 | 
					 | 
				
			||||||
辽宁卫视,http://[2409:8087:5e08:24::2]:6610/000000001000/5000000004000011671/index.m3u8?channel-id=bestzb&Contentid=5000000004000011671&livemode=1&stbId=3
 | 
					 | 
				
			||||||
重庆卫视,http://[2409:8087:5e08:24::2]:6610/000000001000/5000000004000025797/index.m3u8?channel-id=bestzb&Contentid=5000000004000025797&livemode=1&stbId=3
 | 
					 | 
				
			||||||
黑龙江卫视,http://[2409:8087:5e08:24::17]:6610/000000001000/6000000001000016510/index.m3u8?channel-id=wasusyt&Contentid=6000000001000016510&livemode=1&stbId=3
 | 
					 | 
				
			||||||
内蒙古卫视,https://livestream-bt.nmtv.cn/nmtv/2314general.m3u8?txSecret=35f2dd39972cede5222c6bd2c0efe24b&txTime=77395680
 | 
					 | 
				
			||||||
吉林卫视,http://[2409:8087:5e08:24::17]:6610/000000001000/1000000002000027730/index.m3u8?channel-id=ystenlive&Contentid=1000000002000027730&livemode=1&stbId=3
 | 
					 | 
				
			||||||
甘肃卫视,http://[2409:8087:5e08:24::2]:6610/000000001000/5000000011000031121/index.m3u8?channel-id=bestzb&Contentid=5000000011000031121&livemode=1&stbId=3
 | 
					 | 
				
			||||||
云南卫视,http://[2409:8087:5e08:24::2]:6610/000000001000/5000000011000031120/index.m3u8?channel-id=bestzb&Contentid=5000000011000031120&livemode=1&stbId=3
 | 
					 | 
				
			||||||
青海卫视,http://[2409:8087:5e08:24::2]:6610/000000001000/1000000002000013359/index.m3u8?channel-id=ystenlive&Contentid=1000000002000013359&livemode=1&stbId=3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
湖南卫视,http://[2409:8087:1a0a:df::4031]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226307/index.m3u8
 | 
					 | 
				
			||||||
浙江卫视,http://[2409:8087:1a0a:df::4031]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226339/index.m3u8
 | 
					 | 
				
			||||||
广东卫视,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226248/index.m3u8
 | 
					 | 
				
			||||||
深圳卫视,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226313/index.m3u8
 | 
					 | 
				
			||||||
江苏卫视,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226310/index.m3u8
 | 
					 | 
				
			||||||
东方卫视,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226345/index.m3u8
 | 
					 | 
				
			||||||
北京卫视,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226450/index.m3u8
 | 
					 | 
				
			||||||
山东卫视,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226456/index.m3u8
 | 
					 | 
				
			||||||
安徽卫视,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226391/index.m3u8
 | 
					 | 
				
			||||||
重庆卫视,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226409/index.m3u8
 | 
					 | 
				
			||||||
天津卫视,http://[2409:8087:1a0a:df::4031]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226459/index.m3u8
 | 
					 | 
				
			||||||
湖北卫视,http://[2409:8087:1a0a:df::4031]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226477/index.m3u8
 | 
					 | 
				
			||||||
黑龙江卫视,http://[2409:8087:1a0a:df::4031]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226327/index.m3u8
 | 
					 | 
				
			||||||
四川卫视,http://[2409:8087:1a0a:df::4031]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226338/index.m3u8
 | 
					 | 
				
			||||||
东南卫视,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226341/index.m3u8
 | 
					 | 
				
			||||||
海南卫视,http://[2409:8087:1a0a:df::4031]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226465/index.m3u8
 | 
					 | 
				
			||||||
河北卫视,http://[2409:8087:1a0a:df::4031]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226406/index.m3u8
 | 
					 | 
				
			||||||
贵州卫视,http://[2409:8087:1a0a:df::404b]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226474/index.m3u8
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
湖南卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010058/1.m3u8
 | 
					湖南卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010058/1.m3u8
 | 
				
			||||||
 | 
					湖南卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000523/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					四川卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000025/index.m3u8?
 | 
				
			||||||
四川卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010115/1.m3u8
 | 
					四川卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010115/1.m3u8
 | 
				
			||||||
 | 
					四川卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000025/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					重庆卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000517/index.m3u8?
 | 
				
			||||||
重庆卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010053/1.m3u8
 | 
					重庆卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010053/1.m3u8
 | 
				
			||||||
 | 
					重庆卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000517/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					浙江卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000531/index.m3u8?
 | 
				
			||||||
浙江卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010070/1.m3u8
 | 
					浙江卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010070/1.m3u8
 | 
				
			||||||
 | 
					浙江卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000531/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					江苏卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000524/index.m3u8?
 | 
				
			||||||
江苏卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010059/1.m3u8
 | 
					江苏卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010059/1.m3u8
 | 
				
			||||||
 | 
					江苏卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000524/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					东方卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000518/index.m3u8?
 | 
				
			||||||
东方卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010054/1.m3u8
 | 
					东方卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010054/1.m3u8
 | 
				
			||||||
 | 
					东方卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000518/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					广东卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000520/index.m3u8?
 | 
				
			||||||
广东卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010055/1.m3u8
 | 
					广东卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010055/1.m3u8
 | 
				
			||||||
 | 
					广东卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000520/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					广西卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000034/index.m3u8?
 | 
				
			||||||
广西卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010099/1.m3u8
 | 
					广西卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010099/1.m3u8
 | 
				
			||||||
 | 
					广西卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000034/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					深圳卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000529/index.m3u8?
 | 
				
			||||||
深圳卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010068/1.m3u8
 | 
					深圳卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010068/1.m3u8
 | 
				
			||||||
 | 
					深圳卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000529/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					北京卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000516/index.m3u8?
 | 
				
			||||||
北京卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010143/1.m3u8
 | 
					北京卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010143/1.m3u8
 | 
				
			||||||
 | 
					北京卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000516/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					东南卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000519/index.m3u8?
 | 
				
			||||||
东南卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010096/1.m3u8
 | 
					东南卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010096/1.m3u8
 | 
				
			||||||
 | 
					东南卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000519/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					天津卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000530/index.m3u8?
 | 
				
			||||||
天津卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010069/1.m3u8
 | 
					天津卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010069/1.m3u8
 | 
				
			||||||
 | 
					天津卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000530/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					安徽卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000514/index.m3u8?
 | 
				
			||||||
安徽卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010041/1.m3u8
 | 
					安徽卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010041/1.m3u8
 | 
				
			||||||
 | 
					安徽卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000514/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					山东卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000527/index.m3u8?
 | 
				
			||||||
山东卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010066/1.m3u8
 | 
					山东卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010066/1.m3u8
 | 
				
			||||||
 | 
					山东卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000527/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					江西卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000525/index.m3u8?
 | 
				
			||||||
江西卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010060/1.m3u8
 | 
					江西卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010060/1.m3u8
 | 
				
			||||||
 | 
					江西卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000525/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					河北卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000057/index.m3u8?
 | 
				
			||||||
河北卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010101/1.m3u8
 | 
					河北卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010101/1.m3u8
 | 
				
			||||||
 | 
					河北卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000057/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					湖北卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000522/index.m3u8?
 | 
				
			||||||
湖北卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010057/1.m3u8
 | 
					湖北卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010057/1.m3u8
 | 
				
			||||||
 | 
					湖北卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000522/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					贵州卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000036/index.m3u8?
 | 
				
			||||||
贵州卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010100/1.m3u8
 | 
					贵州卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010100/1.m3u8
 | 
				
			||||||
 | 
					贵州卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000036/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					辽宁卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000526/index.m3u8?
 | 
				
			||||||
辽宁卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010061/1.m3u8
 | 
					辽宁卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010061/1.m3u8
 | 
				
			||||||
 | 
					辽宁卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000526/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					吉林卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000030/index.m3u8?
 | 
				
			||||||
吉林卫视,http://[2409:8087:5e00:24::1e]:6060/000000001000/5000000011000031117/1.m3u8
 | 
					吉林卫视,http://[2409:8087:5e00:24::1e]:6060/000000001000/5000000011000031117/1.m3u8
 | 
				
			||||||
 | 
					吉林卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000030/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					黑龙江卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000521/index.m3u8?
 | 
				
			||||||
黑龙江卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010056/1.m3u8
 | 
					黑龙江卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010056/1.m3u8
 | 
				
			||||||
 | 
					黑龙江卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000521/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					云南卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000035/index.m3u8?
 | 
				
			||||||
云南卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010119/1.m3u8
 | 
					云南卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010119/1.m3u8
 | 
				
			||||||
 | 
					云南卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000035/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					甘肃卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000023/index.m3u8?
 | 
				
			||||||
甘肃卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010098/1.m3u8
 | 
					甘肃卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010098/1.m3u8
 | 
				
			||||||
 | 
					甘肃卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000023/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					青海卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000042/index.m3u8?
 | 
				
			||||||
青海卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010111/1.m3u8
 | 
					青海卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010111/1.m3u8
 | 
				
			||||||
河南卫视,http://[2409:8087:5e08:24::11]:6610/000000001000/1000000002000027731/index.m3u8?channel-id=ystenlive&Contentid=1000000002000027731&livemode=1&stbId=YanG-1989
 | 
					青海卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000042/index.m3u8
 | 
				
			||||||
海南卫视,http://[2409:8087:5e08:24::11]:6610/000000001000/1000000002000023773/index.m3u8?channel-id=ystenlive&Contentid=1000000002000023773&livemode=1&stbId=YanG-1989
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					河南卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000027/index.m3u8?
 | 
				
			||||||
 | 
					河南卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000027/index.m3u8
 | 
				
			||||||
 | 
					河南卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000027/index.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
浙江卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226339/index.m3u8
 | 
					海南卫视,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000037/index.m3u8?
 | 
				
			||||||
湖南卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225610/index.m3u8
 | 
					湖南卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000523/index.m3u8
 | 
				
			||||||
湖南卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226307/index.m3u8
 | 
					海南卫视,http://[2409:8087:74d9:21::6]:80/270000001128/9900000037/index.m3u8
 | 
				
			||||||
广东卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226248/index.m3u8
 | 
					 | 
				
			||||||
深圳卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226313/index.m3u8
 | 
					 | 
				
			||||||
江苏卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226310/index.m3u8
 | 
					 | 
				
			||||||
东方卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226345/index.m3u8
 | 
					 | 
				
			||||||
北京卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226450/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/3221225729/index.m3u8
 | 
					 | 
				
			||||||
山东卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226456/index.m3u8
 | 
					 | 
				
			||||||
山东教育卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225655/index.m3u8
 | 
					 | 
				
			||||||
安徽卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226391/index.m3u8
 | 
					 | 
				
			||||||
重庆卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226409/index.m3u8
 | 
					 | 
				
			||||||
天津卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226459/index.m3u8
 | 
					 | 
				
			||||||
湖北卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226477/index.m3u8
 | 
					 | 
				
			||||||
黑龙江卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226327/index.m3u8
 | 
					 | 
				
			||||||
辽宁卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226546/index.m3u8
 | 
					 | 
				
			||||||
四川卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226338/index.m3u8
 | 
					 | 
				
			||||||
东南卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226341/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/3221226549/index.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/3221226480/index.m3u8
 | 
					 | 
				
			||||||
云南卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226444/index.m3u8
 | 
					 | 
				
			||||||
贵州卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226474/index.m3u8
 | 
					 | 
				
			||||||
吉林卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226397/index.m3u8
 | 
					 | 
				
			||||||
甘肃卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225633/index.m3u8
 | 
					 | 
				
			||||||
青海卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225628/index.m3u8
 | 
					 | 
				
			||||||
内蒙古卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225634/index.m3u8
 | 
					 | 
				
			||||||
黑莓电影,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225743/index.m3u8
 | 
					 | 
				
			||||||
黑莓动画,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225662/index.m3u8
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
📡咪咕V4📡,#genre#
 | 
					 | 
				
			||||||
CCTV1,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=cctv1
 | 
					 | 
				
			||||||
CCTV2,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=cctv2
 | 
					 | 
				
			||||||
CCTV3,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=cctv3
 | 
					 | 
				
			||||||
CCTV4,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=cctv4
 | 
					 | 
				
			||||||
CCTV4美洲,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=cctv4a
 | 
					 | 
				
			||||||
CCTV4欧洲,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=cctv4o
 | 
					 | 
				
			||||||
CCTV5,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=cctv5
 | 
					 | 
				
			||||||
CCTV5+,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=cctv5p
 | 
					 | 
				
			||||||
CCTV6,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=cctv6
 | 
					 | 
				
			||||||
CCTV7,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=cctv7
 | 
					 | 
				
			||||||
CCTV8,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=cctv8
 | 
					 | 
				
			||||||
CCTV9,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=cctv9
 | 
					 | 
				
			||||||
CCTV10,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=cctv10
 | 
					 | 
				
			||||||
CCTV11,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=cctv11
 | 
					 | 
				
			||||||
CCTV12,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=cctv12
 | 
					 | 
				
			||||||
CCTV13,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=cctv13
 | 
					 | 
				
			||||||
CCTV14,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=cctv14
 | 
					 | 
				
			||||||
CCTV15,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=cctv15
 | 
					 | 
				
			||||||
CCTV17,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=cctv17
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
陕西卫视,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=sxws
 | 
					 | 
				
			||||||
河南卫视,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=hnws
 | 
					 | 
				
			||||||
江西卫视,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=jxws
 | 
					 | 
				
			||||||
江苏卫视,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=jsws
 | 
					 | 
				
			||||||
大湾区卫视,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=dwqws
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
📡港台频道📡,#genre#
 | 
					📡港台频道📡,#genre#
 | 
				
			||||||
凤凰中文,http://aktv.top/AKTV/live/aktv/null-3/AKTV.m3u8
 | 
					凤凰中文,http://aktv.top/AKTV/live/aktv/null-3/AKTV.m3u8
 | 
				
			||||||
@ -230,57 +173,112 @@ CCTV17,http://150.158.112.123/公众号~玉玉软件库/mg.php?id=cctv17
 | 
				
			|||||||
中天新闻台,http://aktv.top/AKTV/live/aktv/null-8/AKTV.m3u8
 | 
					中天新闻台,http://aktv.top/AKTV/live/aktv/null-8/AKTV.m3u8
 | 
				
			||||||
中天亚洲台,http://aktv.top/AKTV/live/aktv/null-12/AKTV.m3u8
 | 
					中天亚洲台,http://aktv.top/AKTV/live/aktv/null-12/AKTV.m3u8
 | 
				
			||||||
环宇新闻台,http://aktv.top/AKTV/live/aktv/null-9/AKTV.m3u8
 | 
					环宇新闻台,http://aktv.top/AKTV/live/aktv/null-9/AKTV.m3u8
 | 
				
			||||||
龙华日韩台,http://aktv.top/AKTV/live/aktv/null-22/AKTV.m3u8
 | 
					龍華日韓台,http://aktv.top/AKTV/live/aktv/null-22/AKTV.m3u8
 | 
				
			||||||
龙华经典台,http://aktv.top/AKTV/live/aktv/null-7/AKTV.m3u8
 | 
					龍華經典台,http://aktv.top/AKTV/live/aktv/null-7/AKTV.m3u8
 | 
				
			||||||
龙华电影台,http://aktv.top/AKTV/live/aktv/null-23/AKTV.m3u8
 | 
					 | 
				
			||||||
TVB翡翠台,http://aktv.top/AKTV/live/aktv/null/AKTV.m3u8
 | 
					TVB翡翠台,http://aktv.top/AKTV/live/aktv/null/AKTV.m3u8
 | 
				
			||||||
TVB星河台,http://aktv.top/AKTV/live/aktv2/tvb/AKTV.m3u8
 | 
					TVB星河台,http://aktv.top/AKTV/live/aktv2/tvb/AKTV.m3u8
 | 
				
			||||||
TVB明珠台,http://aktv.top/AKTV/live/aktv/null-2/AKTV.m3u8
 | 
					TVB明珠台,http://aktv.top/AKTV/live/aktv/null-2/AKTV.m3u8
 | 
				
			||||||
TVB娱乐新闻台,http://aktv.top/AKTV/live/aktv/hk/AKTV.m3u8
 | 
					TVB娱乐新闻台,http://aktv.top/AKTV/live/aktv/hk/AKTV.m3u8
 | 
				
			||||||
TVB明珠剧集台,http://aktv.top/AKTV/live/aktv/null-19/AKTV.m3u8
 | 
					TVB明珠剧集台,http://aktv.top/AKTV/live/aktv/null-19/AKTV.m3u8
 | 
				
			||||||
无线新闻台(北美),http://aktv.top/AKTV/live/aktv2/null-1/AKTV.m3u8
 | 
					 | 
				
			||||||
明珠台,http://aktv.top/AKTV/live/aktv/null-2/AKTV.m3u8
 | 
					 | 
				
			||||||
美亚电影台(HK),http://aktv.top/AKTV/live/aktv/hk-1/AKTV.m3u8
 | 
					 | 
				
			||||||
娱乐新闻台(HK),http://aktv.top/AKTV/live/aktv/hk/AKTV.m3u8
 | 
					 | 
				
			||||||
翡翠剧集台(北美),http://aktv.top/AKTV/live/aktv/null-18/AKTV.m3u8
 | 
					 | 
				
			||||||
翡翠台,http://aktv.top/AKTV/live/aktv/null/AKTV.m3u8
 | 
					 | 
				
			||||||
翡翠综合台(北美),http://aktv.top/AKTV/live/aktv/null-17/AKTV.m3u8
 | 
					 | 
				
			||||||
黄金翡翠台,http://aktv.top/AKTV/live/aktv/null-21/AKTV.m3u8
 | 
					 | 
				
			||||||
智慧赛马,http://aktv.top/AKTV/live/aktv/28ai/AKTV.m3u
 | 
					 | 
				
			||||||
亚洲新闻台,http://aktv.top/AKTV/live/aktv3/null-3/AKTV.m3u8
 | 
					 | 
				
			||||||
东方卫视国际频道,http://aktv.top/AKTV/live/aktv3/null/AKTV.m3u8
 | 
					 | 
				
			||||||
无线卫星新闻台,http://aktv.top/AKTV/live/aktv3/null-2/AKTV.m3u8
 | 
					 | 
				
			||||||
神州新闻台,http://aktv.top/AKTV/live/aktv3/null-1/AKTV.m3u8
 | 
					 | 
				
			||||||
寰宇新闻台,http://aktv.top/AKTV/live/aktv/null-9/AKTV.m3u8
 | 
					 | 
				
			||||||
靖天电影台,http://aktv.top/AKTV/live/aktv/null-6/AKTV.m3u8
 | 
					 | 
				
			||||||
日本全天新闻,http://aktv.top/AKTV/live/aktv/null-13/AKTV.m3u8
 | 
					 | 
				
			||||||
TVBJ1,http://aktv.top/AKTV/live/aktv/null-17/AKTV.m3u8
 | 
					TVBJ1,http://aktv.top/AKTV/live/aktv/null-17/AKTV.m3u8
 | 
				
			||||||
TVBPlus,http://aktv.top/AKTV/live/aktv/tvbplus/AKTV.m3u8
 | 
					TVBPlus,http://aktv.top/AKTV/live/aktv/tvbplus/AKTV.m3u8
 | 
				
			||||||
TVBS,http://aktv.top/AKTV/live/aktv/tvbs/AKTV.m3u8
 | 
					TVBS,http://aktv.top/AKTV/live/aktv/tvbs/AKTV.m3u8
 | 
				
			||||||
Hoy 78,http://aktv.top/AKTV/live/aktv/hoy78/AKTV.m3u8
 | 
					TVBS-新闻台,http://aktv.top/AKTV/live/aktv/tvbs-1/AKTV.m3u8
 | 
				
			||||||
viutv 99,http://aktv.top/AKTV/live/aktv2/viutv99/AKTV.m3u8
 | 
					 | 
				
			||||||
viutv6 96,http://aktv.top/AKTV/live/aktv2/viutv696/AKTV.m3u8
 | 
					 | 
				
			||||||
myTV SUPER 18台,http://aktv.top/AKTV/live/aktv/mytvsuper18/AKTV.m3u8
 | 
					 | 
				
			||||||
PopC,http://aktv.top/AKTV/live/aktv/popc/AKTV.m3u8
 | 
					 | 
				
			||||||
ROCK,http://aktv.top/AKTV/live/aktv/rockaction/AKTV.m3u8
 | 
					 | 
				
			||||||
tvN,http://aktv.top/AKTV/live/aktv/tvn/AKTV.m3u8
 | 
					 | 
				
			||||||
Channel 5 HD,http://aktv.top/AKTV/live/aktv/channel5hd/AKTV.m3u8
 | 
					 | 
				
			||||||
Channel 8 HD,http://aktv.top/AKTV/live/aktv/channel8hd/AKTV.m3u8
 | 
					 | 
				
			||||||
Channel U HD,http://aktv.top/AKTV/live/aktv/channeluhd/AKTV.m3u8
 | 
					 | 
				
			||||||
Animax-HK,http://aktv.top/AKTV/live/aktv3/animaxhk/AKTV.m3u8
 | 
					 | 
				
			||||||
C+台,http://aktv.top/AKTV/live/aktv3/c/AKTV.m3u8
 | 
					 | 
				
			||||||
DW,http://aktv.top/AKTV/live/aktv3/dw/AKTV.m3u8
 | 
					 | 
				
			||||||
France 24,http://aktv.top/AKTV/live/aktv3/france24/AKTV.m3u8
 | 
					 | 
				
			||||||
KIX,http://aktv.top/AKTV/live/aktv3/kix/AKTV.m3u8
 | 
					 | 
				
			||||||
Love Nature HD,http://aktv.top/AKTV/live/aktv3/lovenaturehd/AKTV.m3u8
 | 
					 | 
				
			||||||
NHK World-Japan,http://aktv.top/AKTV/live/aktv3/nhkworldjapan/AKTV.m3u8
 | 
					 | 
				
			||||||
Nick Jr,http://aktv.top/AKTV/live/aktv3/nickjr/AKTV.m3u8
 | 
					 | 
				
			||||||
Nickelodeon,http://aktv.top/AKTV/live/aktv3/nickelodeon/AKTV.m3u8
 | 
					 | 
				
			||||||
Thrill,http://aktv.top/AKTV/live/aktv3/thrill/AKTV.m3u8
 | 
					 | 
				
			||||||
ZooMoo,http://aktv.top/AKTV/live/aktv3/zoomoo/AKTV.m3u8
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					📡数字频道📡,#genre#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					超级综艺,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000019/index.m3u8?
 | 
				
			||||||
 | 
					超级体育,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000020/index.m3u8?
 | 
				
			||||||
 | 
					黑莓电影,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000095/index.m3u8?
 | 
				
			||||||
 | 
					黑莓动画,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000096/index.m3u8?
 | 
				
			||||||
 | 
					潮妈辣婆,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000099/index.m3u8?
 | 
				
			||||||
 | 
					精品大剧,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000100/index.m3u8?
 | 
				
			||||||
 | 
					精品体育,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000102/index.m3u8?
 | 
				
			||||||
 | 
					精品萌宠,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000122/index.m3u8?
 | 
				
			||||||
 | 
					中国功夫,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000101/index.m3u8?
 | 
				
			||||||
 | 
					爱情喜剧,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000104/index.m3u8?
 | 
				
			||||||
 | 
					古装剧场,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000105/index.m3u8?
 | 
				
			||||||
 | 
					欢乐剧场,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000091/index.m3u8?
 | 
				
			||||||
 | 
					军旅剧场,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000107/index.m3u8?
 | 
				
			||||||
 | 
					家庭剧场,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000108/index.m3u8?
 | 
				
			||||||
 | 
					东北热剧,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000092/index.m3u8?
 | 
				
			||||||
 | 
					军事评论,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000110/index.m3u8?
 | 
				
			||||||
 | 
					农业致富,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000111/index.m3u8?
 | 
				
			||||||
 | 
					金牌综艺,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000112/index.m3u8?
 | 
				
			||||||
 | 
					惊悚悬疑,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000113/index.m3u8?
 | 
				
			||||||
 | 
					纪实科教,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000515/index.m3u8?
 | 
				
			||||||
 | 
					纪实人文,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000528/index.m3u8?
 | 
				
			||||||
 | 
					动作电影,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000106/index.m3u8?
 | 
				
			||||||
 | 
					超级电影,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000021/index.m3u8?
 | 
				
			||||||
 | 
					超级电视剧,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000022/index.m3u8?
 | 
				
			||||||
 | 
					晴彩篮球,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000118/index.m3u8?
 | 
				
			||||||
 | 
					晴彩竞技,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000119/index.m3u8?
 | 
				
			||||||
 | 
					晴彩青少,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000120/index.m3u8?
 | 
				
			||||||
 | 
					炫舞未来,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000098/index.m3u8?
 | 
				
			||||||
 | 
					哒啵电竞,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000121/index.m3u8?
 | 
				
			||||||
 | 
					哒啵赛事,http://[2409:8087:74f0:22::4]:6410/270000001128/9900000097/index.m3u8?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					哒啵赛事,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010120/1.m3u8
 | 
				
			||||||
 | 
					黑莓动画,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010002/1.m3u8
 | 
				
			||||||
 | 
					黑莓电影,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010073/1.m3u8
 | 
				
			||||||
 | 
					超级电影,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010064/1.m3u8
 | 
				
			||||||
 | 
					超级电视剧,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010065/1.m3u8
 | 
				
			||||||
 | 
					超级综艺,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010062/1.m3u8
 | 
				
			||||||
 | 
					金牌综艺,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010086/1.m3u8
 | 
				
			||||||
 | 
					东北热剧,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010021/1.m3u8
 | 
				
			||||||
 | 
					古装剧场,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010004/1.m3u8
 | 
				
			||||||
 | 
					欢乐剧场,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010025/1.m3u8
 | 
				
			||||||
 | 
					怡伴健康,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010082/1.m3u8
 | 
				
			||||||
 | 
					潮妈辣婆,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010005/1.m3u8
 | 
				
			||||||
 | 
					军旅剧场,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010079/1.m3u8
 | 
				
			||||||
 | 
					军事评论,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010080/1.m3u8
 | 
				
			||||||
 | 
					中国功夫,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010087/1.m3u8
 | 
				
			||||||
 | 
					农业致富,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010085/1.m3u8
 | 
				
			||||||
 | 
					动作电影,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010003/1.m3u8
 | 
				
			||||||
 | 
					家庭剧场,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010074/1.m3u8
 | 
				
			||||||
 | 
					惊悚悬疑,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010077/1.m3u8
 | 
				
			||||||
 | 
					精品萌宠,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010146/1.m3u8
 | 
				
			||||||
 | 
					精品体育,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010078/1.m3u8
 | 
				
			||||||
 | 
					精品大剧,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010072/1.m3u8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					📡电影频道📡,#genre#
 | 
				
			||||||
 | 
					成龙,http://zby.xjqxz.top/cldy/live.m3u8
 | 
				
			||||||
 | 
					周星驰,http://zby.xjqxz.top/live12/live.m3u8
 | 
				
			||||||
 | 
					李连杰,http://zby.xjqxz.top/lljdy/live.m3u8
 | 
				
			||||||
 | 
					刘德华,http://maomao.kandiantv.cn/douyu1.php?id=2516864
 | 
				
			||||||
 | 
					黑莓电影,http://[2409:8087:1a0b:df::4014]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225743/index.m3u8
 | 
				
			||||||
 | 
					漫威影院,http://zzy789.xyz/douyu1.php?id=6140589
 | 
				
			||||||
 | 
					邵氏影院,http://zzy789.xyz/douyu1.php?id=4246519
 | 
				
			||||||
 | 
					刀刀影院,http://zzy789.xyz/douyu1.php?id=747764
 | 
				
			||||||
 | 
					冰冰影厅,http://maomao.kandiantv.cn/douyu1.php?id=74374
 | 
				
			||||||
 | 
					贝贝影视,http://zzy789.xyz/douyu1.php?id=431460
 | 
				
			||||||
 | 
					贝爷壹厅,http://maomao.kandiantv.cn/douyu1.php?id=252802
 | 
				
			||||||
 | 
					贝爷贰厅,http://zzy789.xyz/douyu1.php?id=4332
 | 
				
			||||||
 | 
					可乐影视,http://maomao.kandiantv.cn/douyu1.php?id=20415
 | 
				
			||||||
 | 
					电影1,http://zzy789.xyz/douyu1.php?id=7537296
 | 
				
			||||||
 | 
					电影2,http://zzy789.xyz/douyu1.php?id=96577
 | 
				
			||||||
 | 
					电影3,http://zzy789.xyz/douyu1.php?id=9292492
 | 
				
			||||||
 | 
					电影4,http://zzy789.xyz/douyu1.php?id=6566671
 | 
				
			||||||
 | 
					电影5,http://zzy789.xyz/douyu1.php?id=36337
 | 
				
			||||||
 | 
					电影6,http://zzy789.xyz/douyu1.php?id=3928
 | 
				
			||||||
 | 
					电影7,http://zzy789.xyz/douyu1.php?id=434971
 | 
				
			||||||
 | 
					电影8,http://zzy789.xyz/douyu1.php?id=1226741
 | 
				
			||||||
 | 
					电影9,http://zzy789.xyz/douyu1.php?id=2436390
 | 
				
			||||||
📡游戏频道📡,#genre#
 | 
					📡游戏频道📡,#genre#
 | 
				
			||||||
绝地求生,http://tc-tct.douyucdn2.cn/dyliveflv1/100rPCLP_2000.flv?wsAuth=57c9e2f98378658f92fd61fc2a7c50f0&token=cpn-androidmpro-0-100-7280476511a877c27e63dccc58624acea75be41362f58e9c&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=play1
 | 
					绝地求生,http://tc-tct.douyucdn2.cn/dyliveflv1/100rPCLP_2000.flv?wsAuth=57c9e2f98378658f92fd61fc2a7c50f0&token=cpn-androidmpro-0-100-7280476511a877c27e63dccc58624acea75be41362f58e9c&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=play1
 | 
				
			||||||
和平精英,http://tc-tct.douyucdn2.cn/dyliveflv1/999rx47n2pp8pKD_2000.flv?wsAuth=6c429f39afed615e842e02ad1a9b1c6e&token=cpn-androidmpro-0-999-d32d75306aab2a7980ad37445844bcccf012d2bb110b5c33&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=play1
 | 
					穿越火线,http://tc-tct.douyucdn2.cn/dyliveflv1/605964rzzgGEOZHr.flv?wsAuth=43ef2d796067cbec9c238c73235a1005&token=cpn-androidmpro-0-605964-b9be22700076c085e82232beb0fbe7838e28994acafb3964&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=play1
 | 
				
			||||||
英雄联盟,http://tc-tct.douyucdn2.cn/dyliveflv1a/288016rlols5_2000.flv?wsAuth=2195aecdcc2af09636f7a9bda35cb7a7&token=cpn-androidmpro-0-288016-e9416291174176ee25f8bd3a2a584d653bdaf9d5d79b1e87&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=play2
 | 
					英雄联盟,http://tc-tct.douyucdn2.cn/dyliveflv1a/288016rlols5_2000.flv?wsAuth=2195aecdcc2af09636f7a9bda35cb7a7&token=cpn-androidmpro-0-288016-e9416291174176ee25f8bd3a2a584d653bdaf9d5d79b1e87&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=play2
 | 
				
			||||||
王者荣耀,http://tc-tct.douyucdn2.cn/dyliveflv1a/1863767rkpl2_2000p.flv?wsAuth=e06e8fc59b6e23439332b7caf1b2687d&token=cpn-androidmpro-0-1863767-7b520f6fe0a2b18d8fe12b672922635bfc8c2d455179f350&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=play2
 | 
					王者荣耀,http://tc-tct.douyucdn2.cn/dyliveflv1a/1863767rkpl2_2000p.flv?wsAuth=e06e8fc59b6e23439332b7caf1b2687d&token=cpn-androidmpro-0-1863767-7b520f6fe0a2b18d8fe12b672922635bfc8c2d455179f350&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=play2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					软件接口,#genre#
 | 
				
			||||||
 | 
					刚哥带你看电视,http://
 | 
				
			||||||
 | 
					永久免费,#genre#
 | 
				
			||||||
 | 
					刚哥带你看电视,http:/
 | 
				
			||||||
 | 
					长期维护,#genre#
 | 
				
			||||||
 | 
					刚哥带你看电视,http://
 | 
				
			||||||
 | 
					切勿贩卖,#genre#
 | 
				
			||||||
 | 
					刚哥带你看电视,http://
 | 
				
			||||||
 | 
					版权所有,#genre#
 | 
				
			||||||
 | 
					刚哥带你看电视,http://
 | 
				
			||||||
 | 
					盗版必究,#genre#
 | 
				
			||||||
 | 
					刚哥带你看电视,http://
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user