mirror of
https://github.com/ls125781003/tvboxtg.git
synced 2026-11-02 01:33:44 +00:00
20250602
This commit is contained in:
1 parent
762655c342
commit
152f9b14fc
108 files changed
+14572
-246025
No files matched your search
+1
-21
@@ -4,7 +4,7 @@
|
|||||||
"sites": [
|
"sites": [
|
||||||
{
|
{
|
||||||
"key": "Tg|豆瓣",
|
"key": "Tg|豆瓣",
|
||||||
"name": "🥟祝大家端午节快乐",
|
"name": "🅿Tg豆瓣┃本接口免费-🈲贩卖",
|
||||||
"type": 3,
|
"type": 3,
|
||||||
"api": "csp_TgYunDouBanPan",
|
"api": "csp_TgYunDouBanPan",
|
||||||
"searchable": 1,
|
"searchable": 1,
|
||||||
@@ -194,16 +194,6 @@
|
|||||||
"线路标题": ">&&</a>"
|
"线路标题": ">&&</a>"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"key": "影视大全",
|
|
||||||
"name": "🎞影视大全",
|
|
||||||
"type": 3,
|
|
||||||
"api": "csp_XBPQ",
|
|
||||||
"ext": {
|
|
||||||
"分类url": "https://www.iysdq.cc/vodshow/{cateId}-{area}-------{catePg}---.html",
|
|
||||||
"分类": "电影$1#电视剧$2#综艺$3#动漫$4#短剧$5"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"key": "百思派",
|
"key": "百思派",
|
||||||
"name": "💯百思派",
|
"name": "💯百思派",
|
||||||
@@ -756,16 +746,6 @@
|
|||||||
"quickSearch": 0,
|
"quickSearch": 0,
|
||||||
"changeable": 0
|
"changeable": 0
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"key": "JRKAN直播",
|
|
||||||
"name": "🏀JRKAN直播",
|
|
||||||
"type": 3,
|
|
||||||
"api": "./api/drpy2.min.js",
|
|
||||||
"searchable": 0,
|
|
||||||
"quickSearch": 0,
|
|
||||||
"filterable": 0,
|
|
||||||
"ext": "./js/JRKAN直播.js"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"key": "有声小说吧",
|
"key": "有声小说吧",
|
||||||
"name": "📚有声小说吧",
|
"name": "📚有声小说吧",
|
||||||
|
|||||||
@@ -1,33 +0,0 @@
|
|||||||
var rule = {
|
|
||||||
title:'JRKAN直播',
|
|
||||||
host:'http://www.jrs80.com/?lan=1',
|
|
||||||
// JRKAN备用域名:www.jrkankan.com / www.jrkan365.com / jrsyyds.com / www.jryyds.com / jrskan.com / jrsbxj.com /Jrkan备用域名1: www.jrkan2022.com 备用域名2: www.jrs23.com 备用域名2: www.jrskk.com 最新网址发布:www.qiumi1314.co
|
|
||||||
|
|
||||||
url:'/fyclass',
|
|
||||||
searchUrl:'/x/search/?q=**',
|
|
||||||
searchable:1,
|
|
||||||
quickSearch:1,
|
|
||||||
class_name:'全部',
|
|
||||||
class_url:'/',
|
|
||||||
//class_url:'?live',
|
|
||||||
headers:{
|
|
||||||
'User-Agent':'MOBILE_UA'
|
|
||||||
},
|
|
||||||
timeout:5000,
|
|
||||||
play_parse:true,
|
|
||||||
lazy:"",
|
|
||||||
limit:6,
|
|
||||||
double:false,
|
|
||||||
推荐:'*',
|
|
||||||
// 一级:'.loc_match:eq(2) ul;li:gt(1):lt(4)&&Text;img&&src;li:lt(2)&&Text;a:eq(1)&&href',//play.sportsteam333.com
|
|
||||||
一级:"js:var items=[];pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;var html=request(input);var tabs=pdfa(html,'body&&.d-touch');tabs.forEach(function(it){var pz=pdfh(it,'.name:eq(1)&&Text');var ps=pdfh(it,'.name:eq(0)&&Text');var pk=pdfh(it,'.name:eq(2)&&Text');var img=pd(it,'img&&src');var url=pd(it,'a.me&&href');var timer=pdfh(it,'.lab_time&&Text');var parts = timer.split(' ');var dateParts = parts[0].split('-');var timeParts = parts[1].split(':');var year = new Date().getFullYear();var date = new Date(year, dateParts[0] - 1, dateParts[1], timeParts[0], timeParts[1]);var now = new Date();var hundredMinutesAgo = new Date(now.getTime() - 100 * 60 * 1000);if (date > hundredMinutesAgo) {timer = timer.split(' ')[1];items.push({desc:timer+ ' '+'🏆'+ps,title:pz+' 🆚 '+pk,pic_url:img,url:url})}});setResult(items);",
|
|
||||||
二级:{
|
|
||||||
"title":".sub_list li:lt(2)&&Text;.sub_list li:eq(0)&&Text",
|
|
||||||
"img":"img&&src",
|
|
||||||
"desc":";;;.lab_team_home&&Text;.lab_team_away&&Text",
|
|
||||||
"content":".sub_list ul&&Text",
|
|
||||||
"tabs":"js:TABS=['实时直播']",
|
|
||||||
"lists":"js:LISTS=[];pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;let html=request(input);let data=pdfa(html,'.sub_playlist&&a');TABS.forEach(function(tab){let d=data.map(function(it){let name=pdfh(it,'strong&&Text');let url=pd(it,'a&&data-play');return name+'$'+url});LISTS.push(d)});",
|
|
||||||
},
|
|
||||||
搜索:'js:let d=[];setResult(d);',
|
|
||||||
}
|
|
||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"panOrder": "quark|p123|uc|ali|ty|yd|115###原畫|普畫",
|
"panOrder": "quark|uc|ali|ty|yd|115|p123###原畫|普畫",
|
||||||
"aliToken": "",
|
"aliToken": "",
|
||||||
"quarkCookie": "",
|
"quarkCookie": "",
|
||||||
"ucCookie": "",
|
"ucCookie": "",
|
||||||
|
|||||||
Binary file not shown.
@@ -0,0 +1 @@
|
|||||||
|
22f901bd0ec53b5058e8024c36ac0416
|
||||||
Binary file not shown.
@@ -0,0 +1 @@
|
|||||||
|
2459424661efe87bbc68df17a199225d
|
||||||
Binary file not shown.
@@ -0,0 +1 @@
|
|||||||
|
dea1b9a158bbef072858a1e71b17ab04
|
||||||
-1895
File diff suppressed because it is too large.
Load diff
Vendored
-1
@@ -1 +0,0 @@
|
|||||||
var e,t=function(){return t=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},t.apply(this,arguments)},n={xml:!1,decodeEntities:!0},r={_useHtmlParser2:!0,xmlMode:!0};function i(e){return(null==e?void 0:e.xml)?"boolean"==typeof e.xml?r:t(t({},r),e.xml):null!=e?e:void 0}!function(e){e.Root="root",e.Text="text",e.Directive="directive",e.Comment="comment",e.Script="script",e.Style="style",e.Tag="tag",e.CDATA="cdata",e.Doctype="doctype"}(e||(e={}));const s=e.Root,a=e.Text,o=e.Directive,c=e.Comment,l=e.Script,h=e.Style,u=e.Tag,p=e.CDATA,f=e.Doctype;class d{constructor(){this.parent=null,this.prev=null,this.next=null,this.startIndex=null,this.endIndex=null}get parentNode(){return this.parent}set parentNode(e){this.parent=e}get previousSibling(){return this.prev}set previousSibling(e){this.prev=e}get nextSibling(){return this.next}set nextSibling(e){this.next=e}cloneNode(e=!1){return v(this,e)}}class E extends d{constructor(e){super(),this.data=e}get nodeValue(){return this.data}set nodeValue(e){this.data=e}}class m extends E{constructor(){super(...arguments),this.type=e.Text}get nodeType(){return 3}}class T extends E{constructor(){super(...arguments),this.type=e.Comment}get nodeType(){return 8}}class _ extends E{constructor(t,n){super(n),this.name=t,this.type=e.Directive}get nodeType(){return 1}}class A extends d{constructor(e){super(),this.children=e}get firstChild(){var e;return null!==(e=this.children[0])&&void 0!==e?e:null}get lastChild(){return this.children.length>0?this.children[this.children.length-1]:null}get childNodes(){return this.children}set childNodes(e){this.children=e}}class g extends A{constructor(){super(...arguments),this.type=e.CDATA}get nodeType(){return 4}}class N extends A{constructor(){super(...arguments),this.type=e.Root}get nodeType(){return 9}}class C extends A{constructor(t,n,r=[],i=("script"===t?e.Script:"style"===t?e.Style:e.Tag)){super(r),this.name=t,this.attribs=n,this.type=i}get nodeType(){return 1}get tagName(){return this.name}set tagName(e){this.name=e}get attributes(){return Object.keys(this.attribs).map((e=>{var t,n;return{name:e,value:this.attribs[e],namespace:null===(t=this["x-attribsNamespace"])||void 0===t?void 0:t[e],prefix:null===(n=this["x-attribsPrefix"])||void 0===n?void 0:n[e]}}))}}function I(t){return(n=t).type===e.Tag||n.type===e.Script||n.type===e.Style;var n}function S(t){return t.type===e.CDATA}function b(t){return t.type===e.Text}function O(t){return t.type===e.Comment}function y(t){return t.type===e.Directive}function L(t){return t.type===e.Root}function k(e){return Object.prototype.hasOwnProperty.call(e,"children")}function v(e,t=!1){let n;if(b(e))n=new m(e.data);else if(O(e))n=new T(e.data);else if(I(e)){const r=t?D(e.children):[],i=new C(e.name,{...e.attribs},r);r.forEach((e=>e.parent=i)),null!=e.namespace&&(i.namespace=e.namespace),e["x-attribsNamespace"]&&(i["x-attribsNamespace"]={...e["x-attribsNamespace"]}),e["x-attribsPrefix"]&&(i["x-attribsPrefix"]={...e["x-attribsPrefix"]}),n=i}else if(S(e)){const r=t?D(e.children):[],i=new g(r);r.forEach((e=>e.parent=i)),n=i}else if(L(e)){const r=t?D(e.children):[],i=new N(r);r.forEach((e=>e.parent=i)),e["x-mode"]&&(i["x-mode"]=e["x-mode"]),n=i}else{if(!y(e))throw new Error(`Not implemented yet: ${e.type}`);{const t=new _(e.name,e.data);null!=e["x-name"]&&(t["x-name"]=e["x-name"],t["x-publicId"]=e["x-publicId"],t["x-systemId"]=e["x-systemId"]),n=t}}return n.startIndex=e.startIndex,n.endIndex=e.endIndex,null!=e.sourceCodeLocation&&(n.sourceCodeLocation=e.sourceCodeLocation),n}function D(e){const t=e.map((e=>v(e,!0)));for(let e=1;e<t.length;e++)t[e].prev=t[e-1],t[e-1].next=t[e];return t}const R={withStartIndices:!1,withEndIndices:!1,xmlMode:!1};class M{constructor(e,t,n){this.dom=[],this.root=new N(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null,"function"==typeof t&&(n=t,t=R),"object"==typeof e&&(t=e,e=void 0),this.callback=null!=e?e:null,this.options=null!=t?t:R,this.elementCB=null!=n?n:null}onparserinit(e){this.parser=e}onreset(){this.dom=[],this.root=new N(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null}onend(){this.done||(this.done=!0,this.parser=null,this.handleCallback(null))}onerror(e){this.handleCallback(e)}onclosetag(){this.lastNode=null;const e=this.tagStack.pop();this.options.withEndIndices&&(e.endIndex=this.parser.endIndex),this.elementCB&&this.elementCB(e)}onopentag(t,n){const r=this.options.xmlMode?e.Tag:void 0,i=new C(t,n,void 0,r);this.addNode(i),this.tagStack.push(i)}ontext(t){const{lastNode:n}=this;if(n&&n.type===e.Text)n.data+=t,this.options.withEndIndices&&(n.endIndex=this.parser.endIndex);else{const e=new m(t);this.addNode(e),this.lastNode=e}}oncomment(t){if(this.lastNode&&this.lastNode.type===e.Comment)return void(this.lastNode.data+=t);const n=new T(t);this.addNode(n),this.lastNode=n}oncommentend(){this.lastNodLine truncated
|
|
||||||
-6191
File diff suppressed because it is too large.
Load diff
Vendored
-76
@@ -1,76 +0,0 @@
|
|||||||
import cheerio from"cheerio.min.js";import"crypto-js.js";import"jsencrypt.js";import"node-rsa.js";import"pako.min.js";import 模板 from"模板.js";import{gbkTool}from"gbk.js";import"json5.js";import"jinja.js";const _jinja2=cheerio.jinja2;cheerio.jinja2=function(template,obj){try{return jinja.render(template,obj)}catch(e){console.log("新的jinja2库渲染失败,换回原始cheerio:"+e.message);return _jinja2(template,obj)}};let vercode=typeof pdfl==="function"?"drpy2.1":"drpy2";const VERSION=vercode+" 3.9.51beta5 20241104";const UpdateInfo=[{date:"20241104",title:"drpy更新,增加新特性",version:"3.9.51beta5 20241104",msg:`
|
|
||||||
1. rule增加 搜索验证标识 属性,可以不定义,默认为 '系统安全验证|请输入验证码'
|
|
||||||
2. rule增加 searchNoPage 属性,可以不定义,如果定义 1 将关闭该源的搜索翻页功能,超过1页直接返回空
|
|
||||||
`}];function getUpdateInfo(){return UpdateInfo.map(_o=>{_o.msg=_o.msg.trim().split("\n").map(_it=>_it.trim()).join("\n");return _o})}function init_test(){console.log("init_test_start");console.log("当前版本号:"+VERSION);console.log("本地代理地址:"+getProxyUrl());console.log(RKEY);console.log(JSON.stringify(rule));console.log("init_test_end")}function ocr_demo_test(){let img_base64=`iVBORw0KGgoAAAANSUhEUgAAAIAAAAAoBAMAAADEX+97AAAAG1BMVEXz+/4thQTa7N6QwIFFkyNeokKozqDB3b93sWHFR+MEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABN0lEQVRIie2TQU+DQBCFt9vScvQpxR4xrcSjJCZ67JDGXsX+AdR4B3vpsSYm/m2HXaRLmuySepR3Gdidb/btDAjRq5dT96eCMlfBuzi1QLZUoZy2yz5sOvI+9iomaPEZ6nWnEtxqIyiM1RcAy44GNDhBXUjot/VVNweV1ah68FqWRyjKIOqAcyYF6rGcmpYnHzGt3fycNoMw0d3/THFu7hFSJ/8OXO6iTM8/KSg09obAzIHLO250LgQ0txOZSfgrV4Exdw98uGycJ0ErAeExZGhOmFHV9zHO6qVSj0MpLq7xZON56o++MjlsEgfVhbQWWME+xQX7J4V6zfi9A1Ly9rP1BvEXp+BbVJ/M77n+wfOIDVp51pZ4iBxvmj9AGrtvry6emwfKnVkW+ZRKd5ZNMvob36vXP9YPDmQki8QiCFAAAAAASUVORK5CYII=`;OcrApi.api=OCR_API;let code=OcrApi.classification(img_base64);log("测试验证码图片的ocr识别结果为:"+code)}function rsa_demo_test(){let t1=(new Date).getTime();let pkcs1_public=`
|
|
||||||
-----BEGIN RSA PUBLIC KEY-----
|
|
||||||
MEgCQQCrI0pQ/ERRpJ3Ou190XJedFq846nDYP52rOtXyDxlFK5D3p6JJu2RwsKwy
|
|
||||||
lsQ9xY0xYPpRZUZKMEeR7e9gmRNLAgMBAAE=
|
|
||||||
-----END RSA PUBLIC KEY-----
|
|
||||||
`.trim();let pkcs1_public_pem=`
|
|
||||||
MEgCQQCrI0pQ/ERRpJ3Ou190XJedFq846nDYP52rOtXyDxlFK5D3p6JJu2RwsKwy
|
|
||||||
lsQ9xY0xYPpRZUZKMEeR7e9gmRNLAgMBAAE=
|
|
||||||
`.trim();let pkcs8_public=`
|
|
||||||
-----BEGIN PUBLIC KEY-----
|
|
||||||
MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/
|
|
||||||
nas61fIPGUUrkPenokm7ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQ==
|
|
||||||
-----END PUBLIC KEY-----`.trim();let pkcs8_public_pem=`
|
|
||||||
MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/
|
|
||||||
nas61fIPGUUrkPenokm7ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQ==
|
|
||||||
`.trim();let pkcs1_private=`
|
|
||||||
-----BEGIN RSA PRIVATE KEY-----
|
|
||||||
MIIBOAIBAAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/nas61fIPGUUrkPenokm7
|
|
||||||
ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQI/b6OV1z65UokQaMvSeRXt
|
|
||||||
0Yv6wiYtduQI9qpq5nzy/ytaqsbBfClNTi/HifKPKxlRouWFkc518EQI8LBxoarJ
|
|
||||||
AiEA4DaONMplV8PQNa3TKn2F+SDEvLOCjdL0kHKdN90Ti28CIQDDZnTBaHgZwZbA
|
|
||||||
hS7Bbf5yvwjWMhO6Y7l04/Qm7R+35QIgPuQuqXIoUSD080mp1N5WyRW++atksIF+
|
|
||||||
5lGv9e6GP/MCICnj8y/rl6Pd7tXDN6zcSeqLrfdNsREKhB3dKOCXgW9JAiAFYtFS
|
|
||||||
EJNBXVRTK42SNsZ2hJ/9xLwOwnH2epT8Q43s3Q==
|
|
||||||
-----END RSA PRIVATE KEY-----
|
|
||||||
`.trim();let pkcs8_private=`
|
|
||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIIBUgIBADANBgkqhkiG9w0BAQEFAASCATwwggE4AgEAAkEAqyNKUPxEUaSdzrtf
|
|
||||||
dFyXnRavOOpw2D+dqzrV8g8ZRSuQ96eiSbtkcLCsMpbEPcWNMWD6UWVGSjBHke3v
|
|
||||||
YJkTSwIDAQABAj9vo5XXPrlSiRBoy9J5Fe3Ri/rCJi125Aj2qmrmfPL/K1qqxsF8
|
|
||||||
KU1OL8eJ8o8rGVGi5YWRznXwRAjwsHGhqskCIQDgNo40ymVXw9A1rdMqfYX5IMS8
|
|
||||||
s4KN0vSQcp033ROLbwIhAMNmdMFoeBnBlsCFLsFt/nK/CNYyE7pjuXTj9CbtH7fl
|
|
||||||
AiA+5C6pcihRIPTzSanU3lbJFb75q2SwgX7mUa/17oY/8wIgKePzL+uXo93u1cM3
|
|
||||||
rNxJ6out902xEQqEHd0o4JeBb0kCIAVi0VIQk0FdVFMrjZI2xnaEn/3EvA7CcfZ6
|
|
||||||
lPxDjezd
|
|
||||||
-----END PRIVATE KEY-----
|
|
||||||
`.trim();let data=`
|
|
||||||
NodeRsa
|
|
||||||
这是node-rsa 现在修改集成在drpy里使用`.trim();let encryptedWithPublic=NODERSA.encryptRSAWithPublicKey(data,pkcs1_public,{outputEncoding:"base64",options:{environment:"browser",encryptionScheme:"pkcs1_oaep"}});console.log("公钥加密");console.log(encryptedWithPublic);let decryptedWithPrivate=NODERSA.decryptRSAWithPrivateKey(encryptedWithPublic,pkcs1_private,{options:{environment:"browser",encryptionScheme:"pkcs1_oaep"}});console.log("私钥解密");console.log(decryptedWithPrivate);let pkcs1_sha256_sign=NODERSA.sign("1",pkcs1_private,{outputEncoding:"base64",options:{environment:"browser",encryptionScheme:"pkcs1",signingScheme:"pkcs1-sha256"}});console.log("pkcs1_sha256_sign");console.log(pkcs1_sha256_sign);let pkcs1_sha256_sign_verify=NODERSA.verify("1","Oulx2QrgeipKYBtqEDqFb2s/+ndk2cGQxO4CkhU7iBM1vyNmmvqubpsmeoUuN3waGrYZLknSEdwBkfv0tUMpFQ==",pkcs1_private,{options:{environment:"browser",encryptionScheme:"pkcs1",signingScheme:"pkcs1-sha256"}});console.log("pkcs1_sha256_sign_verify");console.log(pkcs1_sha256_sign_verify);let pkcs1_oaep_sha256=NODERSA.encryptRSAWithPublicKey(data,`-----BEGIN RSA PUBLIC KEY-----
|
|
||||||
MIIBCgKCAQEA5KOq1gRNyllLNWKQy8sGpZE3Q1ULLSmzZw+eaAhj9lvqn7IsT1du
|
|
||||||
SYn08FfoOA2qMwtz+1O2l1mgzNoSVCyVpVabnTG+C9XKeZXAnJHd8aYA7l7Sxhdm
|
|
||||||
kte+iymYZ0ZBPzijo8938iugtVvqi9UgDmnY3u/NlQDqiL5BGqSxSTd/Sgmy3zD8
|
|
||||||
PYzEa3wD9vehQ5fZZ45vKIq8GNVh2Z8+IGO85FF1OsN7+b2yGJa/FmDDNn0+HP+m
|
|
||||||
PfI+kYBqEVpo0Ztbc3UdxgFwGC8O1n8AQyriwHnSOtIiuBH62J/7qyC/3LEAApRb
|
|
||||||
Dd9YszqzmODjQUddZKHmvc638VW+azc0EwIDAQAB
|
|
||||||
-----END RSA PUBLIC KEY-----
|
|
||||||
`,{outputEncoding:"base64",options:{environment:"browser",encryptionScheme:{scheme:"pkcs1_oaep",hash:"sha256"}}});console.log("pkcs1_oaep_sha256");console.log(pkcs1_oaep_sha256);decryptedWithPrivate=NODERSA.decryptRSAWithPrivateKey("kSZesAAyYh2hdsQnYMdGqb6gKAzTauBKouvBzWcc4+F8RvGd0nwO6mVkUMVilPgUuNxjEauHayHiY8gI3Py45UI3+km0rSGyHrS6dHiHgCkMejXHieglYzAB0IxX3Jkm4z/66bdB/D+GFy0oct5fGCMI1UHPjEAYOsazJDa8lBFNbjiWFeb/qiZtIx3vGM7KYPAZzyRf/zPbbQ8zy9xOmRuOl5nnIxgo0Okp3KO/RIPO4GZOSBA8f2lx1UtNwwrXAMpcNavtoqHVcjJ/9lcotXYQFrn5b299pSIRf2gVm8ZJ31SK6Z8cc14nKtvgnmsgClDzIXJ1o1RcDK+knVAySg==",`-----BEGIN RSA PRIVATE KEY-----
|
|
||||||
MIIEpAIBAAKCAQEA5KOq1gRNyllLNWKQy8sGpZE3Q1ULLSmzZw+eaAhj9lvqn7Is
|
|
||||||
T1duSYn08FfoOA2qMwtz+1O2l1mgzNoSVCyVpVabnTG+C9XKeZXAnJHd8aYA7l7S
|
|
||||||
xhdmkte+iymYZ0ZBPzijo8938iugtVvqi9UgDmnY3u/NlQDqiL5BGqSxSTd/Sgmy
|
|
||||||
3zD8PYzEa3wD9vehQ5fZZ45vKIq8GNVh2Z8+IGO85FF1OsN7+b2yGJa/FmDDNn0+
|
|
||||||
HP+mPfI+kYBqEVpo0Ztbc3UdxgFwGC8O1n8AQyriwHnSOtIiuBH62J/7qyC/3LEA
|
|
||||||
ApRbDd9YszqzmODjQUddZKHmvc638VW+azc0EwIDAQABAoIBADZ/QGgUzInvsLp/
|
|
||||||
zO2WbfYm39o/uhNAvk9RbLt1TIZbMFhyOpeKynHi3Swwd9xsfWX/U9zS/lGi/m31
|
|
||||||
iKrhmaW4OA1G3vqpMcK7TBbFufYwUEaA+ZJX344euH8pIfdzyneMQ4z3Far2dS7l
|
|
||||||
QsmjuilVV2kEFadveXewiYoVOWCu00w6bN8wy2SIHlQn+kIL6HQhWz12iKKflIKu
|
|
||||||
eGRdzLHsKmBt6WbY1Wuhx7HU0fAKdlBDPxCHNlI+kybUYE9o5C2vJiaVM5wqJBgZ
|
|
||||||
8Dz8kt1QbLJ910JoLXkLVQ8uC8NJKQwFtqQjTGPnEq0+wbgz6Ij599rKZkwW/xq9
|
|
||||||
l6KoUiECgYEA6Ah42tVdkNW047f03xVYXFH96RgorHRS36mR8Y+ONUq1fwKidovC
|
|
||||||
WjwVujt4OPf3l1W6iyn/F6cu/bsmvPrSc3HTN0B1V31QK4OjgetxQ2PSbTldH02J
|
|
||||||
NPzkt+v+cPxXpx/P5mgt7Weefw5txU547KubGrHUV5rBKFtIx9pj16MCgYEA/EF0
|
|
||||||
o19+D24DZAPwlDS5VbEd7FStnwY4oQ5PqbuNOSbSJLMWU0AqzXcRokp8UTyCZ0X3
|
|
||||||
ATkS1REq97kShCuR+npTR6a6DlY7sdpPI1SMLNajgB2tkx0EOzX+PfNIbHUd4jpJ
|
|
||||||
I0ZMAHv/OOtkzQHDaeTWBTrzsWm6/nTiykfduNECgYEA46AMD4HpPECqKAs66e5i
|
|
||||||
tI6q7JSKskObWVdcmQEfnSAhVOwcvPb2Ptda6UuV8S0xcwDi88rLOUUFUFzc79+P
|
|
||||||
vTkY38cYVi/VChsluDpk7ptqv0PbGu5Rf+3n4pZdEjI7OvR2W64wAAn67uIUxc7p
|
|
||||||
yiO/ET0K9rYWb6S9jXGtKMkCgYEA2kPAqoO7zZoBMQ7/oR0lp/HC1HRIbiqx4RlC
|
|
||||||
8Lgpb+QZPEwA6zPAVVvLVENi4d+bbcRp/xLlKpraNNJcJSSWAMbLPFoU7sbKjA87
|
|
||||||
HnTPfRSTEA2d3Ibk3F7Rh8TzS3Ti0JZiJjVzGZAwu41iAMifzwaD8K6boUy80eNN
|
|
||||||
QH2CaaECgYBUsLYvC/MiYg3w+LGOONuQongoVUXjGqnw2bjVa9RK7lwRdXPUqJ51
|
|
||||||
MpVO98IkoLvGSI/0sGNP3GKNhC+eMGjJAVwFyEuOn+JsmMv9Y9uStIVi5tIHIhKw
|
|
||||||
m7mp8il0kaftHdSxTbspG3tZ2fjIiFIZkLEOmRpd7ogWumgOajzUdA==
|
|
||||||
-----END RSA PRIVATE KEY-----`,{options:{environment:"browser",encryptionScheme:"pkcs1_oaep"}});console.log("decryptedWithPrivate");console.log(decryptedWithPrivate);(()=>{let key=new NODERSA.NodeRSA({b:1024});key.setOptions({encryptionScheme:"pkcs1"});let text=`你好drpy node-ras`;let encrypted=key.encrypt(text,"base64");console.log("encrypted: ",encrypted);const decrypted=key.decrypt(encrypted,"utf8");console.log("decrypted: ",decrypted)})();let t2=(new Date).getTime();console.log("rsa_demo_test 测试耗时:"+(t2-t1)+"毫秒")}function pre(){if(typeof rule.预处理==="string"&&rule.预处理&&rule.预处理.trim()){let code=rule.预处理.trim();console.log("执行预处理代码:"+code);if(code.startsWith("js:")){code=code.replace("js:","")}try{eval(code)}catch(e){console.log(`预处理执行失败:${e.message}`)}}}let rule={};const MOBILE_UA="Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.91 Mobile Safari/537.36";const PC_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36";const UA="Mozilla/5.0";const UC_UA="Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36";const IOS_UA="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";const RULE_CK="cookie";const CATE_EXCLUDE="首页|留言|APP|下载|资讯|新闻|动态";const TAB_EXCLUDE="猜你|喜欢|下载|剧情|榜|评论";const OCR_RETRY=3;const OCR_API="https://api.nn.ci/ocr/b64/text";if(typeof MY_URL==="undefined"){var MY_URL}var HOST;var RKEY;var fetch;var print;var log;var rule_fetch_params;var fetch_params;var oheaders;var _pdfh;var _pdfa;var _pd;const DOM_CHECK_ATTR=/(url|src|href|-original|-src|-play|-url|style)$/;const SPECIAL_URL=/^(ftp|magnet|thunder|ws):/;const NOADD_INDEX=/:eq|:lt|:gt|:first|:last|^body$|^#/;const URLJOIN_ATTR=/(url|src|href|-original|-src|-play|-url|style)$|^(data-|url-|src-)/;const SELECT_REGEX=/:eq|:lt|:gt|#/g;const SELECT_REGEX_A=/:eq|:lt|:gt/g;const $js={toString(func){let strfun=func.toString();return strfun.replace(/^\(\)(\s+)?=>(\s+)?\{/,"js:").replace(/\}$/,"")}};function window_b64(){let b64map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";let base64DecodeChars=new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);function btoa(str){var out,i,len;var c1,c2,c3;len=str.length;i=0;out="";while(i<len){c1=str.charCodeAt(i++)&255;if(i==len){out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4);out+="==";break}c2=str.charCodeAt(i++);if(i==len){out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2);out+="=";break}c3=str.charCodeAt(i++);out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2|(c3&192)>>6);out+=b64map.charAt(c3&63)}return out}function atob(str){var c1,c2,c3,c4;var i,len,out;len=str.length;i=0;out="";while(i<len){do{c1=base64DecodeChars[str.charCodeAt(i++)&255]}while(i<len&&c1==-1);if(c1==-1)break;do{c2=base64DecodeChars[str.charCodeAt(i++)&255]}while(i<len&&c2==-1);if(c2==-1)break;out+=String.fromCharCode(c1<<2|(c2&48)>>4);do{c3=str.charCodeAt(i++)&255;if(c3==61)return out;c3=base64DecodeChars[c3]}while(i<len&&c3==-1);if(c3==-1)break;out+=String.fromCharCode((c2&15)<<4|(c3&60)>>2);do{c4=str.charCodeAt(i++)&255;if(c4==61)return out;c4=base64DecodeChars[c4]}while(i<len&&c4==-1);if(c4==-1)break;out+=String.fromCharCode((c3&3)<<6|c4)}return out}return{atob:atob,btoa:btoa}}if(typeof atob!=="function"||typeof btoa!=="function"){var{atob,btoa}=window_b64()}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}}if(!String.prototype.includes){String.prototype.includes=function(search,start){if(typeof start!=="number"){start=0}if(start+search.length>this.length){return false}else{return this.indexOf(search,start)!==-1}}}if(!Array.prototype.includes){Object.defineProperty(Array.prototype,"includes",{value:function(searchElement,fromIndex){if(this==null){throw new TypeError('"this" is null or not defined')}var o=Object(this);var len=o.length>>>0;if(len===0){return false}var n=fromIndex|0;var k=Math.max(n>=0?n:len-Math.abs(n),0);while(k<len){if(o[k]===searchElement){return true}k++}return false},enumerable:false})}if(typeof String.prototype.startsWit
Line truncated
|
|
||||||
@@ -1,68 +0,0 @@
|
|||||||
/***
|
|
||||||
* gbk编码解码函数
|
|
||||||
* strTool = gbkTool() strTool.encode(key)
|
|
||||||
* @returns {{encode: (function(*): *), decode: (function(*): *)}}
|
|
||||||
*/
|
|
||||||
export function gbkTool(){
|
|
||||||
var data=function(zipData){
|
|
||||||
var re=zipData
|
|
||||||
.replace(/#(\d+)\$/g,function(a,b){
|
|
||||||
return Array(+b+3).join('#');
|
|
||||||
})
|
|
||||||
.replace(/#/g,'####')
|
|
||||||
.replace(/(\w\w):([\w#]+)(?:,|$)/g,function(a,hd,dt){
|
|
||||||
return dt.replace(/../g,function(a){
|
|
||||||
if(a!='##'){
|
|
||||||
return hd+a;
|
|
||||||
}else{
|
|
||||||
return a;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
return re;
|
|
||||||
}('4e:020405060f12171f20212326292e2f313335373c40414244464a5155575a5b6263646567686a6b6c6d6e6f727475767778797a7b7c7d7f808182838485878a#909697999c9d9ea3aaafb0b1b4b6b7b8b9bcbdbec8cccfd0d2dadbdce0e2e6e7e9edeeeff1f4f8f9fafcfe,4f:00020304050607080b0c12131415161c1d212328292c2d2e31333537393b3e3f40414244454748494a4b4c525456616266686a6b6d6e7172757778797a7d8081828586878a8c8e909293959698999a9c9e9fa1a2a4abadb0b1b2b3b4b6b7b8b9babbbcbdbec0c1c2c6c7c8c9cbcccdd2d3d4d5d6d9dbe0e2e4e5e7ebecf0f2f4f5f6f7f9fbfcfdff,50:000102030405060708090a#0b0e1011131516171b1d1e20222324272b2f303132333435363738393b3d3f404142444546494a4b4d5051525354565758595b5d5e5f6061626364666768696a6b6d6e6f70717273747578797a7c7d818283848687898a8b8c8e8f909192939495969798999a9b9c9d9e9fa0a1a2a4a6aaabadaeafb0b1b3b4b5b6b7b8b9bcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdced0d1d2d3d4d5d7d8d9dbdcdddedfe0e1e2e3e4e5e8e9eaebeff0f1f2f4f6f7f8f9fafcfdfeff,51:00010203040508#090a0c0d0e0f1011131415161718191a1b1c1d1e1f2022232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e42474a4c4e4f5052535758595b5d5e5f606163646667696a6f727a7e7f838486878a8b8e8f90919394989a9d9e9fa1a3a6a7a8a9aaadaeb4b8b9babebfc1c2c3c5c8cacdced0d2d3d4d5d6d7d8d9dadcdedfe2e3e5e6e7e8e9eaeceef1f2f4f7fe,52:0405090b0c0f101314151c1e1f2122232526272a2c2f313234353c3e4445464748494b4e4f5253555758#595a5b5d5f6062636466686b6c6d6e7071737475767778797a7b7c7e808384858687898a8b8c8d8e8f91929495969798999a9ca4a5a6a7aeafb0b4b5b6b7b8b9babbbcbdc0c1c2c4c5c6c8cacccdcecfd1d3d4d5d7d9dadbdcdddee0e1e2e3e5e6e7e8e9eaebecedeeeff1f2f3f4f5f6f7f8fbfcfd,53:0102030407090a0b0c0e11121314181b1c1e1f2224252728292b2c2d2f3031323334353637383c3d404244464b4c4d505458595b5d65686a6c6d7276797b7c7d7e80818387888a8e8f#90919293949697999b9c9ea0a1a4a7aaabacadafb0b1b2b3b4b5b7b8b9babcbdbec0c3c4c5c6c7cecfd0d2d3d5dadcdddee1e2e7f4fafeff,54:000205070b1418191a1c2224252a303336373a3d3f4142444547494c4d4e4f515a5d5e5f6061636567696a6b6c6d6e6f7074797a7e7f8183858788898a8d919397989c9e9fa0a1a2a5aeb0b2b5b6b7b9babcbec3c5cacbd6d8dbe0e1e2e3e4ebeceff0f1f4f5f6f7f8f9fbfe,55:0002030405080a0b0c0d0e121315161718191a1c1d1e1f212526#28292b2d3234353638393a3b3d40424547484b4c4d4e4f515253545758595a5b5d5e5f60626368696b6f7071727374797a7d7f85868c8d8e9092939596979a9b9ea0a1a2a3a4a5a6a8a9aaabacadaeafb0b2b4b6b8babcbfc0c1c2c3c6c7c8cacbcecfd0d5d7d8d9dadbdee0e2e7e9edeef0f1f4f6f8f9fafbfcff,56:0203040506070a0b0d1011121314151617191a1c1d202122252628292a2b2e2f30333537383a3c3d3e404142434445464748494a4b4f5051525355565a5b5d5e5f6061#636566676d6e6f70727374757778797a7d7e7f80818283848788898a8b8c8d9091929495969798999a9b9c9d9e9fa0a1a2a4a5a6a7a8a9aaabacadaeb0b1b2b3b4b5b6b8b9babbbdbebfc0c1c2c3c4c5c6c7c8c9cbcccdcecfd0d1d2d3d5d6d8d9dce3e5e6e7e8e9eaeceeeff2f3f6f7f8fbfc,57:00010205070b0c0d0e0f101112131415161718191a1b1d1e202122242526272b313234353637383c3d3f414344454648494b52535455565859626365676c6e707172747578797a7d7e7f80#818788898a8d8e8f90919495969798999a9c9d9e9fa5a8aaacafb0b1b3b5b6b7b9babbbcbdbebfc0c1c4c5c6c7c8c9cacccdd0d1d3d6d7dbdcdee1e2e3e5e6e7e8e9eaebeceef0f1f2f3f5f6f7fbfcfeff,58:0103040508090a0c0e0f101213141617181a1b1c1d1f222325262728292b2c2d2e2f31323334363738393a3b3c3d3e3f4041424345464748494a4b4e4f505253555657595a5b5c5d5f6061626364666768696a6d6e6f707172737475767778797a7b7c7d7f82848687888a8b8c#8d8e8f909194959697989b9c9da0a1a2a3a4a5a6a7aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbdbebfc0c2c3c4c6c7c8c9cacbcccdcecfd0d2d3d4d6d7d8d9dadbdcdddedfe0e1e2e3e5e6e7e8e9eaedeff1f2f4f5f7f8fafbfcfdfeff,59:000103050608090a0b0c0e1011121317181b1d1e2021222326282c30323335363b3d3e3f404345464a4c4d505253595b5c5d5e5f616364666768696a6b6c6d6e6f70717275777a7b7c7e7f8085898b8c8e8f90919495989a9b9c9d9fa0a1a2a6#a7acadb0b1b3b4b5b6b7b8babcbdbfc0c1c2c3c4c5c7c8c9cccdcecfd5d6d9dbdedfe0e1e2e4e6e7e9eaebedeeeff0f1f2f3f4f5f6f7f8fafcfdfe,5a:00020a0b0d0e0f101214151617191a1b1d1e2122242627282a2b2c2d2e2f3033353738393a3b3d3e3f414243444547484b4c4d4e4f5051525354565758595b5c5d5e5f60616364656668696b6c6d6e6f7071727378797b7c7d7e808182838485868788898a8b8c8d8e8f9091939495969798999c9d9e9fa0a1a2a3a4a5a6a7a8a9abac#adaeafb0b1b4b6b7b9babbbcbdbfc0c3c4c5c6c7c8cacbcdcecfd0d1d3d5d7d9dadbdddedfe2e4e5e7e8eaecedeeeff0f2f3f4f5f6f7f8f9fafbfcfdfeff,5b:0001020304050607080a0b0c0d0e0f10111213141518191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303133353638393a3b3c3d3e3f4142434445464748494a4b4c4d4e4f52565e606167686b6d6e6f7274767778797b7c7e7f82868a8d8e90919294969fa7a8a9acadaeafb1b2b7babbbcc0c1c3c8c9cacbcdcecf#d1d4d5d6d7d8d9dadbdce0e2e3e6e7e9eaebecedeff1f2f3f4f5f6f7fdfe,5c:0002030507080b0c0d0e10121317191b1e1f2021232628292a2b2d2e2f303233353637434446474c4d5253545657585a5b5c5d5f62646768696a6b6c6d70727374757677787b7c7d7e808384858687898a8b8e8f9293959d9e9fa0a1a4a5a6a7a8aaaeafb0b2b4b6b9babbbcbec0c2c3c5c6c7c8c9cacccdcecfd0d1d3d4d5d6d7d8dadbdcdddedfe0e2e3e7e9ebeceeeff1f2f3f4f5f6f7f8f9fafcfdfeff,5d:00#01040508090a0b0c0d0f10111213151718191a1c1d1f2021222325282a2b2c2f3031323335363738393a3b3c3f4041424344454648494d4e4f5051525354555657595a5c5e5f6061626364656667686a6d6e7071727375767778797a7b7c7d7e7f8081838485868788898a8b8c8d8e8f90Line truncated
|
|
||||||
U2Ghash={},
|
|
||||||
G2Uhash={};
|
|
||||||
!function(data){
|
|
||||||
var k=0;
|
|
||||||
data=data.match(/..../g);
|
|
||||||
for(var i=0x81;i<=0xfe;i++){
|
|
||||||
for(var j=0x40;j<=0xFE;j++){
|
|
||||||
U2Ghash[data[k++]]=('%'+i.toString(16)+'%'+j.toString(16))
|
|
||||||
.toUpperCase();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for(var key in U2Ghash){
|
|
||||||
G2Uhash[U2Ghash[key]]=key;
|
|
||||||
}
|
|
||||||
}(data);
|
|
||||||
function isAscii(unicode) {
|
|
||||||
return ((unicode == 0x20AC) || (unicode <= 0x007F && unicode >= 0x0000));
|
|
||||||
}
|
|
||||||
return{
|
|
||||||
encode:function(str){
|
|
||||||
return str.replace(/./g,function(a){
|
|
||||||
var code=a.charCodeAt(0);
|
|
||||||
if(isAscii(code)){
|
|
||||||
return encodeURIComponent(a);
|
|
||||||
}else{
|
|
||||||
var key=code.toString(16);
|
|
||||||
if(key.length!=4)key=('000'+key).match(/....$/)[0];
|
|
||||||
return U2Ghash[key]||a;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
decode:function(str){
|
|
||||||
return str.replace(/%[0-9A-F]{2}%[0-9A-F]{2}/g,function(a){
|
|
||||||
if(a in G2Uhash){
|
|
||||||
return String.fromCharCode('0x'+G2Uhash[a]);
|
|
||||||
}else{
|
|
||||||
return a;
|
|
||||||
}
|
|
||||||
}).replace(/%[\w]{2}/g,function(a){
|
|
||||||
return decodeURIComponent(a);
|
|
||||||
|
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
-577
@@ -1,577 +0,0 @@
|
|||||||
/*!
|
|
||||||
* Jinja Templating for JavaScript v0.1.8
|
|
||||||
* https://github.com/sstur/jinja-js
|
|
||||||
*
|
|
||||||
* This is a slimmed-down Jinja2 implementation [http://jinja.pocoo.org/]
|
|
||||||
*
|
|
||||||
* In the interest of simplicity, it deviates from Jinja2 as follows:
|
|
||||||
* - Line statements, cycle, super, macro tags and block nesting are not implemented
|
|
||||||
* - auto escapes html by default (the filter is "html" not "e")
|
|
||||||
* - Only "html" and "safe" filters are built in
|
|
||||||
* - Filters are not valid in expressions; `foo|length > 1` is not valid
|
|
||||||
* - Expression Tests (`if num is odd`) not implemented (`is` translates to `==` and `isnot` to `!=`)
|
|
||||||
*
|
|
||||||
* Notes:
|
|
||||||
* - if property is not found, but method '_get' exists, it will be called with the property name (and cached)
|
|
||||||
* - `{% for n in obj %}` iterates the object's keys; get the value with `{% for n in obj %}{{ obj[n] }}{% endfor %}`
|
|
||||||
* - subscript notation `a[0]` takes literals or simple variables but not `a[item.key]`
|
|
||||||
* - `.2` is not a valid number literal; use `0.2`
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/*global require, exports, module, define */
|
|
||||||
|
|
||||||
(function (global, factory) {
|
|
||||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
|
||||||
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
|
||||||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.jinja = {}));
|
|
||||||
})(this, (function (jinja) {
|
|
||||||
"use strict";
|
|
||||||
var STRINGS = /'(\\.|[^'])*'|"(\\.|[^"'"])*"/g;
|
|
||||||
var IDENTS_AND_NUMS = /([$_a-z][$\w]*)|([+-]?\d+(\.\d+)?)/g;
|
|
||||||
var NUMBER = /^[+-]?\d+(\.\d+)?$/;
|
|
||||||
//non-primitive literals (array and object literals)
|
|
||||||
var NON_PRIMITIVES = /\[[@#~](,[@#~])*\]|\[\]|\{([@i]:[@#~])(,[@i]:[@#~])*\}|\{\}/g;
|
|
||||||
//bare identifiers such as variables and in object literals: {foo: 'value'}
|
|
||||||
var IDENTIFIERS = /[$_a-z][$\w]*/ig;
|
|
||||||
var VARIABLES = /i(\.i|\[[@#i]\])*/g;
|
|
||||||
var ACCESSOR = /(\.i|\[[@#i]\])/g;
|
|
||||||
var OPERATORS = /(===?|!==?|>=?|<=?|&&|\|\||[+\-\*\/%])/g;
|
|
||||||
//extended (english) operators
|
|
||||||
var EOPS = /(^|[^$\w])(and|or|not|is|isnot)([^$\w]|$)/g;
|
|
||||||
var LEADING_SPACE = /^\s+/;
|
|
||||||
var TRAILING_SPACE = /\s+$/;
|
|
||||||
|
|
||||||
var START_TOKEN = /\{\{\{|\{\{|\{%|\{#/;
|
|
||||||
var TAGS = {
|
|
||||||
'{{{': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}\}/,
|
|
||||||
'{{': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}/,
|
|
||||||
'{%': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?%\}/,
|
|
||||||
'{#': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?#\}/
|
|
||||||
};
|
|
||||||
|
|
||||||
var delimeters = {
|
|
||||||
'{%': 'directive',
|
|
||||||
'{{': 'output',
|
|
||||||
'{#': 'comment'
|
|
||||||
};
|
|
||||||
|
|
||||||
var operators = {
|
|
||||||
and: '&&',
|
|
||||||
or: '||',
|
|
||||||
not: '!',
|
|
||||||
is: '==',
|
|
||||||
isnot: '!='
|
|
||||||
};
|
|
||||||
|
|
||||||
var constants = {
|
|
||||||
'true': true,
|
|
||||||
'false': false,
|
|
||||||
'null': null
|
|
||||||
};
|
|
||||||
|
|
||||||
function Parser() {
|
|
||||||
this.nest = [];
|
|
||||||
this.compiled = [];
|
|
||||||
this.childBlocks = 0;
|
|
||||||
this.parentBlocks = 0;
|
|
||||||
this.isSilent = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
Parser.prototype.push = function (line) {
|
|
||||||
if (!this.isSilent) {
|
|
||||||
this.compiled.push(line);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.parse = function (src) {
|
|
||||||
this.tokenize(src);
|
|
||||||
return this.compiled;
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.tokenize = function (src) {
|
|
||||||
var lastEnd = 0, parser = this, trimLeading = false;
|
|
||||||
matchAll(src, START_TOKEN, function (open, index, src) {
|
|
||||||
//here we match the rest of the src against a regex for this tag
|
|
||||||
var match = src.slice(index + open.length).match(TAGS[open]);
|
|
||||||
match = (match ? match[0] : '');
|
|
||||||
//here we sub out strings so we don't get false matches
|
|
||||||
var simplified = match.replace(STRINGS, '@');
|
|
||||||
//if we don't have a close tag or there is a nested open tag
|
|
||||||
if (!match || ~simplified.indexOf(open)) {
|
|
||||||
return index + 1;
|
|
||||||
}
|
|
||||||
var inner = match.slice(0, 0 - open.length);
|
|
||||||
//check for white-space collapse syntax
|
|
||||||
if (inner.charAt(0) === '-') var wsCollapseLeft = true;
|
|
||||||
if (inner.slice(-1) === '-') var wsCollapseRight = true;
|
|
||||||
inner = inner.replace(/^-|-$/g, '').trim();
|
|
||||||
//if we're in raw mode and we are not looking at an "endraw" tag, move along
|
|
||||||
if (parser.rawMode && (open + inner) !== '{%endraw') {
|
|
||||||
return index + 1;
|
|
||||||
}
|
|
||||||
var text = src.slice(lastEnd, index);
|
|
||||||
lastEnd = index + open.length + match.length;
|
|
||||||
if (trimLeading) text = trimLeft(text);
|
|
||||||
if (wsCollapseLeft) text = trimRight(text);
|
|
||||||
if (wsCollapseRight) trimLeading = true;
|
|
||||||
if (open === '{{{') {
|
|
||||||
//liquid-style: make {{{x}}} => {{x|safe}}
|
|
||||||
open = '{{';
|
|
||||||
inner += '|safe';
|
|
||||||
}
|
|
||||||
parser.textHandler(text);
|
|
||||||
parser.tokenHandler(open, inner);
|
|
||||||
});
|
|
||||||
var text = src.slice(lastEnd);
|
|
||||||
if (trimLeading) text = trimLeft(text);
|
|
||||||
this.textHandler(text);
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.textHandler = function (text) {
|
|
||||||
this.push('write(' + JSON.stringify(text) + ');');
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.tokenHandler = function (open, inner) {
|
|
||||||
var type = delimeters[open];
|
|
||||||
if (type === 'directive') {
|
|
||||||
this.compileTag(inner);
|
|
||||||
} else if (type === 'output') {
|
|
||||||
var extracted = this.extractEnt(inner, STRINGS, '@');
|
|
||||||
//replace || operators with ~
|
|
||||||
extracted.src = extracted.src.replace(/\|\|/g, '~').split('|');
|
|
||||||
//put back || operators
|
|
||||||
extracted.src = extracted.src.map(function (part) {
|
|
||||||
return part.split('~').join('||');
|
|
||||||
});
|
|
||||||
var parts = this.injectEnt(extracted, '@');
|
|
||||||
if (parts.length > 1) {
|
|
||||||
var filters = parts.slice(1).map(this.parseFilter.bind(this));
|
|
||||||
this.push('filter(' + this.parseExpr(parts[0]) + ',' + filters.join(',') + ');');
|
|
||||||
} else {
|
|
||||||
this.push('filter(' + this.parseExpr(parts[0]) + ');');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.compileTag = function (str) {
|
|
||||||
var directive = str.split(' ')[0];
|
|
||||||
var handler = tagHandlers[directive];
|
|
||||||
if (!handler) {
|
|
||||||
throw new Error('Invalid tag: ' + str);
|
|
||||||
}
|
|
||||||
handler.call(this, str.slice(directive.length).trim());
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.parseFilter = function (src) {
|
|
||||||
src = src.trim();
|
|
||||||
var match = src.match(/[:(]/);
|
|
||||||
var i = match ? match.index : -1;
|
|
||||||
if (i < 0) return JSON.stringify([src]);
|
|
||||||
var name = src.slice(0, i);
|
|
||||||
var args = src.charAt(i) === ':' ? src.slice(i + 1) : src.slice(i + 1, -1);
|
|
||||||
args = this.parseExpr(args, {terms: true});
|
|
||||||
return '[' + JSON.stringify(name) + ',' + args + ']';
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.extractEnt = function (src, regex, placeholder) {
|
|
||||||
var subs = [], isFunc = typeof placeholder == 'function';
|
|
||||||
src = src.replace(regex, function (str) {
|
|
||||||
var replacement = isFunc ? placeholder(str) : placeholder;
|
|
||||||
if (replacement) {
|
|
||||||
subs.push(str);
|
|
||||||
return replacement;
|
|
||||||
}
|
|
||||||
return str;
|
|
||||||
});
|
|
||||||
return {src: src, subs: subs};
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.injectEnt = function (extracted, placeholder) {
|
|
||||||
var src = extracted.src, subs = extracted.subs, isArr = Array.isArray(src);
|
|
||||||
var arr = (isArr) ? src : [src];
|
|
||||||
var re = new RegExp('[' + placeholder + ']', 'g'), i = 0;
|
|
||||||
arr.forEach(function (src, index) {
|
|
||||||
arr[index] = src.replace(re, function () {
|
|
||||||
return subs[i++];
|
|
||||||
});
|
|
||||||
});
|
|
||||||
return isArr ? arr : arr[0];
|
|
||||||
};
|
|
||||||
|
|
||||||
//replace complex literals without mistaking subscript notation with array literals
|
|
||||||
Parser.prototype.replaceComplex = function (s) {
|
|
||||||
var parsed = this.extractEnt(s, /i(\.i|\[[@#i]\])+/g, 'v');
|
|
||||||
parsed.src = parsed.src.replace(NON_PRIMITIVES, '~');
|
|
||||||
return this.injectEnt(parsed, 'v');
|
|
||||||
};
|
|
||||||
|
|
||||||
//parse expression containing literals (including objects/arrays) and variables (including dot and subscript notation)
|
|
||||||
//valid expressions: `a + 1 > b.c or c == null`, `a and b[1] != c`, `(a < b) or (c < d and e)`, 'a || [1]`
|
|
||||||
Parser.prototype.parseExpr = function (src, opts) {
|
|
||||||
opts = opts || {};
|
|
||||||
//extract string literals -> @
|
|
||||||
var parsed1 = this.extractEnt(src, STRINGS, '@');
|
|
||||||
//note: this will catch {not: 1} and a.is; could we replace temporarily and then check adjacent chars?
|
|
||||||
parsed1.src = parsed1.src.replace(EOPS, function (s, before, op, after) {
|
|
||||||
return (op in operators) ? before + operators[op] + after : s;
|
|
||||||
});
|
|
||||||
//sub out non-string literals (numbers/true/false/null) -> #
|
|
||||||
// the distinction is necessary because @ can be object identifiers, # cannot
|
|
||||||
var parsed2 = this.extractEnt(parsed1.src, IDENTS_AND_NUMS, function (s) {
|
|
||||||
return (s in constants || NUMBER.test(s)) ? '#' : null;
|
|
||||||
});
|
|
||||||
//sub out object/variable identifiers -> i
|
|
||||||
var parsed3 = this.extractEnt(parsed2.src, IDENTIFIERS, 'i');
|
|
||||||
//remove white-space
|
|
||||||
parsed3.src = parsed3.src.replace(/\s+/g, '');
|
|
||||||
|
|
||||||
//the rest of this is simply to boil the expression down and check validity
|
|
||||||
var simplified = parsed3.src;
|
|
||||||
//sub out complex literals (objects/arrays) -> ~
|
|
||||||
// the distinction is necessary because @ and # can be subscripts but ~ cannot
|
|
||||||
while (simplified !== (simplified = this.replaceComplex(simplified))) ;
|
|
||||||
//now @ represents strings, # represents other primitives and ~ represents non-primitives
|
|
||||||
//replace complex variables (those with dot/subscript accessors) -> v
|
|
||||||
while (simplified !== (simplified = simplified.replace(/i(\.i|\[[@#i]\])+/, 'v'))) ;
|
|
||||||
//empty subscript or complex variables in subscript, are not permitted
|
|
||||||
simplified = simplified.replace(/[iv]\[v?\]/g, 'x');
|
|
||||||
//sub in "i" for @ and # and ~ and v (now "i" represents all literals, variables and identifiers)
|
|
||||||
simplified = simplified.replace(/[@#~v]/g, 'i');
|
|
||||||
//sub out operators
|
|
||||||
simplified = simplified.replace(OPERATORS, '%');
|
|
||||||
//allow 'not' unary operator
|
|
||||||
simplified = simplified.replace(/!+[i]/g, 'i');
|
|
||||||
var terms = opts.terms ? simplified.split(',') : [simplified];
|
|
||||||
terms.forEach(function (term) {
|
|
||||||
//simplify logical grouping
|
|
||||||
while (term !== (term = term.replace(/\(i(%i)*\)/g, 'i'))) ;
|
|
||||||
if (!term.match(/^i(%i)*/)) {
|
|
||||||
throw new Error('Invalid expression: ' + src + " " + term);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
parsed3.src = parsed3.src.replace(VARIABLES, this.parseVar.bind(this));
|
|
||||||
parsed2.src = this.injectEnt(parsed3, 'i');
|
|
||||||
parsed1.src = this.injectEnt(parsed2, '#');
|
|
||||||
return this.injectEnt(parsed1, '@');
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.parseVar = function (src) {
|
|
||||||
var args = Array.prototype.slice.call(arguments);
|
|
||||||
var str = args.pop(), index = args.pop();
|
|
||||||
//quote bare object identifiers (might be a reserved word like {while: 1})
|
|
||||||
if (src === 'i' && str.charAt(index + 1) === ':') {
|
|
||||||
return '"i"';
|
|
||||||
}
|
|
||||||
var parts = ['"i"'];
|
|
||||||
src.replace(ACCESSOR, function (part) {
|
|
||||||
if (part === '.i') {
|
|
||||||
parts.push('"i"');
|
|
||||||
} else if (part === '[i]') {
|
|
||||||
parts.push('get("i")');
|
|
||||||
} else {
|
|
||||||
parts.push(part.slice(1, -1));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return 'get(' + parts.join(',') + ')';
|
|
||||||
};
|
|
||||||
|
|
||||||
//escapes a name to be used as a javascript identifier
|
|
||||||
Parser.prototype.escName = function (str) {
|
|
||||||
return str.replace(/\W/g, function (s) {
|
|
||||||
return '$' + s.charCodeAt(0).toString(16);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
Parser.prototype.parseQuoted = function (str) {
|
|
||||||
if (str.charAt(0) === "'") {
|
|
||||||
str = str.slice(1, -1).replace(/\\.|"/, function (s) {
|
|
||||||
if (s === "\\'") return "'";
|
|
||||||
return s.charAt(0) === '\\' ? s : ('\\' + s);
|
|
||||||
});
|
|
||||||
str = '"' + str + '"';
|
|
||||||
}
|
|
||||||
//todo: try/catch or deal with invalid characters (linebreaks, control characters)
|
|
||||||
return JSON.parse(str);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
//the context 'this' inside tagHandlers is the parser instance
|
|
||||||
var tagHandlers = {
|
|
||||||
'if': function (expr) {
|
|
||||||
this.push('if (' + this.parseExpr(expr) + ') {');
|
|
||||||
this.nest.unshift('if');
|
|
||||||
},
|
|
||||||
'else': function () {
|
|
||||||
if (this.nest[0] === 'for') {
|
|
||||||
this.push('}, function() {');
|
|
||||||
} else {
|
|
||||||
this.push('} else {');
|
|
||||||
}
|
|
||||||
},
|
|
||||||
'elseif': function (expr) {
|
|
||||||
this.push('} else if (' + this.parseExpr(expr) + ') {');
|
|
||||||
},
|
|
||||||
'endif': function () {
|
|
||||||
this.nest.shift();
|
|
||||||
this.push('}');
|
|
||||||
},
|
|
||||||
'for': function (str) {
|
|
||||||
var i = str.indexOf(' in ');
|
|
||||||
var name = str.slice(0, i).trim();
|
|
||||||
var expr = str.slice(i + 4).trim();
|
|
||||||
this.push('each(' + this.parseExpr(expr) + ',' + JSON.stringify(name) + ',function() {');
|
|
||||||
this.nest.unshift('for');
|
|
||||||
},
|
|
||||||
'endfor': function () {
|
|
||||||
this.nest.shift();
|
|
||||||
this.push('});');
|
|
||||||
},
|
|
||||||
'raw': function () {
|
|
||||||
this.rawMode = true;
|
|
||||||
},
|
|
||||||
'endraw': function () {
|
|
||||||
this.rawMode = false;
|
|
||||||
},
|
|
||||||
'set': function (stmt) {
|
|
||||||
var i = stmt.indexOf('=');
|
|
||||||
var name = stmt.slice(0, i).trim();
|
|
||||||
var expr = stmt.slice(i + 1).trim();
|
|
||||||
this.push('set(' + JSON.stringify(name) + ',' + this.parseExpr(expr) + ');');
|
|
||||||
},
|
|
||||||
'block': function (name) {
|
|
||||||
if (this.isParent) {
|
|
||||||
++this.parentBlocks;
|
|
||||||
var blockName = 'block_' + (this.escName(name) || this.parentBlocks);
|
|
||||||
this.push('block(typeof ' + blockName + ' == "function" ? ' + blockName + ' : function() {');
|
|
||||||
} else if (this.hasParent) {
|
|
||||||
this.isSilent = false;
|
|
||||||
++this.childBlocks;
|
|
||||||
blockName = 'block_' + (this.escName(name) || this.childBlocks);
|
|
||||||
this.push('function ' + blockName + '() {');
|
|
||||||
}
|
|
||||||
this.nest.unshift('block');
|
|
||||||
},
|
|
||||||
'endblock': function () {
|
|
||||||
this.nest.shift();
|
|
||||||
if (this.isParent) {
|
|
||||||
this.push('});');
|
|
||||||
} else if (this.hasParent) {
|
|
||||||
this.push('}');
|
|
||||||
this.isSilent = true;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
'extends': function (name) {
|
|
||||||
name = this.parseQuoted(name);
|
|
||||||
var parentSrc = this.readTemplateFile(name);
|
|
||||||
this.isParent = true;
|
|
||||||
this.tokenize(parentSrc);
|
|
||||||
this.isParent = false;
|
|
||||||
this.hasParent = true;
|
|
||||||
//silence output until we enter a child block
|
|
||||||
this.isSilent = true;
|
|
||||||
},
|
|
||||||
'include': function (name) {
|
|
||||||
name = this.parseQuoted(name);
|
|
||||||
var incSrc = this.readTemplateFile(name);
|
|
||||||
this.isInclude = true;
|
|
||||||
this.tokenize(incSrc);
|
|
||||||
this.isInclude = false;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
//liquid style
|
|
||||||
tagHandlers.assign = tagHandlers.set;
|
|
||||||
//python/django style
|
|
||||||
tagHandlers.elif = tagHandlers.elseif;
|
|
||||||
|
|
||||||
var getRuntime = function runtime(data, opts) {
|
|
||||||
var defaults = {autoEscape: 'toJson'};
|
|
||||||
var _toString = Object.prototype.toString;
|
|
||||||
var _hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
||||||
var getKeys = Object.keys || function (obj) {
|
|
||||||
var keys = [];
|
|
||||||
for (var n in obj) if (_hasOwnProperty.call(obj, n)) keys.push(n);
|
|
||||||
return keys;
|
|
||||||
};
|
|
||||||
var isArray = Array.isArray || function (obj) {
|
|
||||||
return _toString.call(obj) === '[object Array]';
|
|
||||||
};
|
|
||||||
var create = Object.create || function (obj) {
|
|
||||||
function F() {
|
|
||||||
}
|
|
||||||
|
|
||||||
F.prototype = obj;
|
|
||||||
return new F();
|
|
||||||
};
|
|
||||||
var toString = function (val) {
|
|
||||||
if (val == null) return '';
|
|
||||||
return (typeof val.toString == 'function') ? val.toString() : _toString.call(val);
|
|
||||||
};
|
|
||||||
var extend = function (dest, src) {
|
|
||||||
var keys = getKeys(src);
|
|
||||||
for (var i = 0, len = keys.length; i < len; i++) {
|
|
||||||
var key = keys[i];
|
|
||||||
dest[key] = src[key];
|
|
||||||
}
|
|
||||||
return dest;
|
|
||||||
};
|
|
||||||
//get a value, lexically, starting in current context; a.b -> get("a","b")
|
|
||||||
var get = function () {
|
|
||||||
var val, n = arguments[0], c = stack.length;
|
|
||||||
while (c--) {
|
|
||||||
val = stack[c][n];
|
|
||||||
if (typeof val != 'undefined') break;
|
|
||||||
}
|
|
||||||
for (var i = 1, len = arguments.length; i < len; i++) {
|
|
||||||
if (val == null) continue;
|
|
||||||
n = arguments[i];
|
|
||||||
val = (_hasOwnProperty.call(val, n)) ? val[n] : (typeof val._get == 'function' ? (val[n] = val._get(n)) : null);
|
|
||||||
}
|
|
||||||
return (val == null) ? '' : val;
|
|
||||||
};
|
|
||||||
var set = function (n, val) {
|
|
||||||
stack[stack.length - 1][n] = val;
|
|
||||||
};
|
|
||||||
var push = function (ctx) {
|
|
||||||
stack.push(ctx || {});
|
|
||||||
};
|
|
||||||
var pop = function () {
|
|
||||||
stack.pop();
|
|
||||||
};
|
|
||||||
var write = function (str) {
|
|
||||||
output.push(str);
|
|
||||||
};
|
|
||||||
var filter = function (val) {
|
|
||||||
for (var i = 1, len = arguments.length; i < len; i++) {
|
|
||||||
var arr = arguments[i], name = arr[0], filter = filters[name];
|
|
||||||
if (filter) {
|
|
||||||
arr[0] = val;
|
|
||||||
//now arr looks like [val, arg1, arg2]
|
|
||||||
val = filter.apply(data, arr);
|
|
||||||
} else {
|
|
||||||
throw new Error('Invalid filter: ' + name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (opts.autoEscape && name !== opts.autoEscape && name !== 'safe') {
|
|
||||||
//auto escape if not explicitly safe or already escaped
|
|
||||||
val = filters[opts.autoEscape].call(data, val);
|
|
||||||
}
|
|
||||||
output.push(val);
|
|
||||||
};
|
|
||||||
var each = function (obj, loopvar, fn1, fn2) {
|
|
||||||
if (obj == null) return;
|
|
||||||
var arr = isArray(obj) ? obj : getKeys(obj), len = arr.length;
|
|
||||||
var ctx = {loop: {length: len, first: arr[0], last: arr[len - 1]}};
|
|
||||||
push(ctx);
|
|
||||||
for (var i = 0; i < len; i++) {
|
|
||||||
extend(ctx.loop, {index: i + 1, index0: i});
|
|
||||||
fn1(ctx[loopvar] = arr[i]);
|
|
||||||
}
|
|
||||||
if (len === 0 && fn2) fn2();
|
|
||||||
pop();
|
|
||||||
};
|
|
||||||
var block = function (fn) {
|
|
||||||
push();
|
|
||||||
fn();
|
|
||||||
pop();
|
|
||||||
};
|
|
||||||
var render = function () {
|
|
||||||
return output.join('');
|
|
||||||
};
|
|
||||||
data = data || {};
|
|
||||||
opts = extend(defaults, opts || {});
|
|
||||||
var filters = extend({
|
|
||||||
html: function (val) {
|
|
||||||
return toString(val)
|
|
||||||
.split('&').join('&')
|
|
||||||
.split('<').join('<')
|
|
||||||
.split('>').join('>')
|
|
||||||
.split('"').join('"');
|
|
||||||
},
|
|
||||||
safe: function (val) {
|
|
||||||
return val;
|
|
||||||
},
|
|
||||||
toJson: function (val) {
|
|
||||||
if (typeof val === 'object') {
|
|
||||||
return JSON.stringify(val);
|
|
||||||
}
|
|
||||||
return toString(val);
|
|
||||||
}
|
|
||||||
}, opts.filters || {});
|
|
||||||
var stack = [create(data || {})], output = [];
|
|
||||||
return {
|
|
||||||
get: get,
|
|
||||||
set: set,
|
|
||||||
push: push,
|
|
||||||
pop: pop,
|
|
||||||
write: write,
|
|
||||||
filter: filter,
|
|
||||||
each: each,
|
|
||||||
block: block,
|
|
||||||
render: render
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
var runtime;
|
|
||||||
|
|
||||||
jinja.compile = function (markup, opts) {
|
|
||||||
opts = opts || {};
|
|
||||||
var parser = new Parser();
|
|
||||||
parser.readTemplateFile = this.readTemplateFile;
|
|
||||||
var code = [];
|
|
||||||
code.push('function render($) {');
|
|
||||||
code.push('var get = $.get, set = $.set, push = $.push, pop = $.pop, write = $.write, filter = $.filter, each = $.each, block = $.block;');
|
|
||||||
code.push.apply(code, parser.parse(markup));
|
|
||||||
code.push('return $.render();');
|
|
||||||
code.push('}');
|
|
||||||
code = code.join('\n');
|
|
||||||
if (opts.runtime === false) {
|
|
||||||
var fn = new Function('data', 'options', 'return (' + code + ')(runtime(data, options))');
|
|
||||||
} else {
|
|
||||||
runtime = runtime || (runtime = getRuntime.toString());
|
|
||||||
fn = new Function('data', 'options', 'return (' + code + ')((' + runtime + ')(data, options))');
|
|
||||||
}
|
|
||||||
return {render: fn};
|
|
||||||
};
|
|
||||||
|
|
||||||
jinja.render = function (markup, data, opts) {
|
|
||||||
var tmpl = jinja.compile(markup);
|
|
||||||
return tmpl.render(data, opts);
|
|
||||||
};
|
|
||||||
|
|
||||||
jinja.templateFiles = [];
|
|
||||||
|
|
||||||
jinja.readTemplateFile = function (name) {
|
|
||||||
var templateFiles = this.templateFiles || [];
|
|
||||||
var templateFile = templateFiles[name];
|
|
||||||
if (templateFile == null) {
|
|
||||||
throw new Error('Template file not found: ' + name);
|
|
||||||
}
|
|
||||||
return templateFile;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Helpers
|
|
||||||
*/
|
|
||||||
|
|
||||||
function trimLeft(str) {
|
|
||||||
return str.replace(LEADING_SPACE, '');
|
|
||||||
}
|
|
||||||
|
|
||||||
function trimRight(str) {
|
|
||||||
return str.replace(TRAILING_SPACE, '');
|
|
||||||
}
|
|
||||||
|
|
||||||
function matchAll(str, reg, fn) {
|
|
||||||
//copy as global
|
|
||||||
reg = new RegExp(reg.source, 'g' + (reg.ignoreCase ? 'i' : '') + (reg.multiline ? 'm' : ''));
|
|
||||||
var match;
|
|
||||||
while ((match = reg.exec(str))) {
|
|
||||||
var result = fn(match[0], match.index, str);
|
|
||||||
if (typeof result == 'number') {
|
|
||||||
reg.lastIndex = result;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
@@ -1,265 +0,0 @@
|
|||||||
/*
|
|
||||||
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
|
||||||
* This devtool is neither made for production nor for readable output files.
|
|
||||||
* It uses "eval()" calls to create a separate source file in the browser devtools.
|
|
||||||
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
||||||
* or disable the default devtool with "devtool: false".
|
|
||||||
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
||||||
*/
|
|
||||||
(function webpackUniversalModuleDefinition(root, factory) {
|
|
||||||
if (typeof exports === 'object' && typeof module === 'object') {
|
|
||||||
// CommonJS
|
|
||||||
module.exports = exports = factory();
|
|
||||||
} else if (typeof define === 'function' && define.amd) {
|
|
||||||
// AMD
|
|
||||||
define([], factory);
|
|
||||||
} else {
|
|
||||||
// Global (browser)
|
|
||||||
globalThis.JSEncrypt = factory();
|
|
||||||
}
|
|
||||||
})(this, () => {
|
|
||||||
return /******/ (() => { // webpackBootstrap
|
|
||||||
/******/ var __webpack_modules__ = ({
|
|
||||||
|
|
||||||
/***/ "./lib/JSEncrypt.js":
|
|
||||||
/*!**************************!*\
|
|
||||||
!*** ./lib/JSEncrypt.js ***!
|
|
||||||
\**************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncrypt\": () => (/* binding */ JSEncrypt)\n/* harmony export */ });\n/* harmony import */ var _lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/jsbn/base64 */ \"./lib/lib/jsbn/base64.js\");\n/* harmony import */ var _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./JSEncryptRSAKey */ \"./lib/JSEncryptRSAKey.js\");\n/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"./node_modules/process/browser.js\");\nvar _a;\n\n\nvar version = typeof process !== 'undefined'\n ? (_a = process.env) === null || _a === void 0 ? void 0 : \"3.3.2\"\n : undefined;\n/**\n *\n * @param {Object} [options = {}] - An object to customize JSEncrypt behaviour\n * possible parameters are:\n * - default_key_size {number} default: 1024 the key size in bit\n * - default_public_exponent {string} default: '010001' the hexadecimal representation of the public exponent\n * - log {boolean} default: false whether log warn/error or not\n * @constructor\n */\nvar JSEncrypt = /** @class */ (function () {\n function JSEncrypt(options) {\n if (options === void 0) { options = {}; }\n options = options || {};\n this.default_key_size = options.default_key_size\n ? parseInt(options.default_key_size, 10)\n : 1024;\n this.default_public_exponent = options.default_public_exponent || \"010001\"; // 65537 default openssl public exponent for rsa key type\n this.log = options.log || false;\n // The private and public key.\n this.key = null;\n }\n /**\n * Method to set the rsa key parameter (one method is enough to set both the public\n * and the private key, since the private key contains the public key paramenters)\n * Log a warning if logs are enabled\n * @param {Object|string} key the pem encoded string or an object (with or without header/footer)\n * @public\n */\n JSEncrypt.prototype.setKey = function (key) {\n if (this.log && this.key) {\n console.warn(\"A key was already set, overriding existing.\");\n }\n this.key = new _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__.JSEncryptRSAKey(key);\n };\n /**\n * Proxy method for setKey, for api compatibility\n * @see setKey\n * @public\n */\n JSEncrypt.prototype.setPrivateKey = function (privkey) {\n // Create the key.\n this.setKey(privkey);\n };\n /**\n * Proxy method for setKey, for api compatibility\n * @see setKey\n * @public\n */\n JSEncrypt.prototype.setPublicKey = function (pubkey) {\n // Sets the public key.\n this.setKey(pubkey);\n };\n /**\n * Proxy method for RSAKey object's decrypt, decrypt the string using the private\n * components of the rsa key object. Note that if the object was not set will be created\n * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\n * @param {string} str base64 encoded crypted string to decrypt\n * @return {string} the decrypted string\n * @public\n */\n JSEncrypt.prototype.decrypt = function (str) {\n // Return the decrypted string.\n try {\n return this.getKey().decrypt((0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.b64tohex)(str));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's encrypt, encrypt the string using the public\n * components of the rsa key object. Note that if the object was not set will be created\n * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\n * @param {string} str the string to encrypt\n * @return {string} the encrypted string encoded in base64\n * @public\n */\n JSEncrypt.prototype.encrypt = function (str) {\n // Return the encrypted string.\n try {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getKey().encrypt(str));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's sign.\n * @param {string} str the string to sign\n * @param {function} digestMethod hash method\n * @param {string} digestName the name of the hash algorithm\n * @return {string} the signature encoded in base64\n * @public\n */\n JSEncrypt.prototype.sign = function (str, digestMethod, digestName) {\n // return the RSA signature of 'str' in 'hex' format.\n try {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getKey().sign(str, digestMethod, digestName));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy
Line truncated
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/JSEncryptRSAKey.js":
|
|
||||||
/*!********************************!*\
|
|
||||||
!*** ./lib/JSEncryptRSAKey.js ***!
|
|
||||||
\********************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncryptRSAKey\": () => (/* binding */ JSEncryptRSAKey)\n/* harmony export */ });\n/* harmony import */ var _lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/jsbn/base64 */ \"./lib/lib/jsbn/base64.js\");\n/* harmony import */ var _lib_asn1js_hex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/asn1js/hex */ \"./lib/lib/asn1js/hex.js\");\n/* harmony import */ var _lib_asn1js_base64__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/asn1js/base64 */ \"./lib/lib/asn1js/base64.js\");\n/* harmony import */ var _lib_asn1js_asn1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/asn1js/asn1 */ \"./lib/lib/asn1js/asn1.js\");\n/* harmony import */ var _lib_jsbn_rsa__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lib/jsbn/rsa */ \"./lib/lib/jsbn/rsa.js\");\n/* harmony import */ var _lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./lib/jsbn/jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./lib/jsrsasign/asn1-1.0 */ \"./lib/lib/jsrsasign/asn1-1.0.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n/**\n * Create a new JSEncryptRSAKey that extends Tom Wu's RSA key object.\n * This object is just a decorator for parsing the key parameter\n * @param {string|Object} key - The key in string format, or an object containing\n * the parameters needed to build a RSAKey object.\n * @constructor\n */\nvar JSEncryptRSAKey = /** @class */ (function (_super) {\n __extends(JSEncryptRSAKey, _super);\n function JSEncryptRSAKey(key) {\n var _this = _super.call(this) || this;\n // Call the super constructor.\n // RSAKey.call(this);\n // If a key key was provided.\n if (key) {\n // If this is a string...\n if (typeof key === \"string\") {\n _this.parseKey(key);\n }\n else if (JSEncryptRSAKey.hasPrivateKeyProperty(key) ||\n JSEncryptRSAKey.hasPublicKeyProperty(key)) {\n // Set the values for the key.\n _this.parsePropertiesFrom(key);\n }\n }\n return _this;\n }\n /**\n * Method to parse a pem encoded string containing both a public or private key.\n * The method will translate the pem encoded string in a der encoded string and\n * will parse private key and public key parameters. This method accepts public key\n * in the rsaencryption pkcs #1 format (oid: 1.2.840.113549.1.1.1).\n *\n * @todo Check how many rsa formats use the same format of pkcs #1.\n *\n * The format is defined as:\n * PublicKeyInfo ::= SEQUENCE {\n * algorithm AlgorithmIdentifier,\n * PublicKey BIT STRING\n * }\n * Where AlgorithmIdentifier is:\n * AlgorithmIdentifier ::= SEQUENCE {\n * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm\n * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1)\n * }\n * and PublicKey is a SEQUENCE encapsulated in a BIT STRING\n * RSAPublicKey ::= SEQUENCE {\n * modulus INTEGER, -- n\n * publicExponent INTEGER -- e\n * }\n * it's possible to examine the structure of the keys obtained from openssl using\n * an asn.1 dumper as the one used here to parse the components: http://lapo.it/asn1js/\n * @argument {string} pem the pem encoded string, can include the BEGIN/END header/footer\n * @private\n */\n JSEncryptRSAKey.prototype.parseKey = function (pem) {\n try {\n var modulus = 0;\n var public_exponent = 0;\n var reHex = /^\\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\\s*)+$/;\n var der = reHex.test(pem) ? _lib_asn1js_hex__WEBPACK_IMPORTED_MODULE_1__.Hex.decode(pem) : _lib_asn1js_base64__WEBPACK_IMPORTED_MODULE_2__.Base64.unarmor(pem);\n var asn1 = _lib_asn1js_asn1__WEBPACK_IMPORTED_MODULE_3__.ASN1.decode(der);\n // Fixes a bug with OpenSSL 1.0+ private keys\n
Line truncated
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/index.js":
|
|
||||||
/*!**********************!*\
|
|
||||||
!*** ./lib/index.js ***!
|
|
||||||
\**********************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncrypt\": () => (/* reexport safe */ _JSEncrypt__WEBPACK_IMPORTED_MODULE_0__.JSEncrypt),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _JSEncrypt__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./JSEncrypt */ \"./lib/JSEncrypt.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_JSEncrypt__WEBPACK_IMPORTED_MODULE_0__.JSEncrypt);\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/index.js?");
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/asn1js/asn1.js":
|
|
||||||
/*!********************************!*\
|
|
||||||
!*** ./lib/lib/asn1js/asn1.js ***!
|
|
||||||
\********************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ASN1\": () => (/* binding */ ASN1),\n/* harmony export */ \"ASN1Tag\": () => (/* binding */ ASN1Tag),\n/* harmony export */ \"Stream\": () => (/* binding */ Stream)\n/* harmony export */ });\n/* harmony import */ var _int10__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./int10 */ \"./lib/lib/asn1js/int10.js\");\n// ASN.1 JavaScript decoder\n// Copyright (c) 2008-2014 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\n/*global oids */\n\nvar ellipsis = \"\\u2026\";\nvar reTimeS = /^(\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nvar reTimeL = /^(\\d\\d\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nfunction stringCut(str, len) {\n if (str.length > len) {\n str = str.substring(0, len) + ellipsis;\n }\n return str;\n}\nvar Stream = /** @class */ (function () {\n function Stream(enc, pos) {\n this.hexDigits = \"0123456789ABCDEF\";\n if (enc instanceof Stream) {\n this.enc = enc.enc;\n this.pos = enc.pos;\n }\n else {\n // enc should be an array or a binary string\n this.enc = enc;\n this.pos = pos;\n }\n }\n Stream.prototype.get = function (pos) {\n if (pos === undefined) {\n pos = this.pos++;\n }\n if (pos >= this.enc.length) {\n throw new Error(\"Requesting byte offset \".concat(pos, \" on a stream of length \").concat(this.enc.length));\n }\n return (\"string\" === typeof this.enc) ? this.enc.charCodeAt(pos) : this.enc[pos];\n };\n Stream.prototype.hexByte = function (b) {\n return this.hexDigits.charAt((b >> 4) & 0xF) + this.hexDigits.charAt(b & 0xF);\n };\n Stream.prototype.hexDump = function (start, end, raw) {\n var s = \"\";\n for (var i = start; i < end; ++i) {\n s += this.hexByte(this.get(i));\n if (raw !== true) {\n switch (i & 0xF) {\n case 0x7:\n s += \" \";\n break;\n case 0xF:\n s += \"\\n\";\n break;\n default:\n s += \" \";\n }\n }\n }\n return s;\n };\n Stream.prototype.isASCII = function (start, end) {\n for (var i = start; i < end; ++i) {\n var c = this.get(i);\n if (c < 32 || c > 176) {\n return false;\n }\n }\n return true;\n };\n Stream.prototype.parseStringISO = function (start, end) {\n var s = \"\";\n for (var i = start; i < end; ++i) {\n s += String.fromCharCode(this.get(i));\n }\n return s;\n };\n Stream.prototype.parseStringUTF = function (start, end) {\n var s = \"\";\n for (var i = start; i < end;) {\n var c = this.get(i++);\n if (c < 128) {\n s += String.fromCharCode(c);\n }\n else if ((c > 191) && (c < 224)) {\n s += String.fromCharCode(((c & 0x1F) << 6) | (this.get(i++) & 0x3F));\n }\n else {\n s += String.fromCharCode(((c & 0x0F) << 12) | ((this.get(i++) & 0x3F) << 6) | (this.get(i++) & 0x3F));\n }\n }\n return s;\n };\n Stream.prototype.parseStringBMP = function (start, end) {\n var str = \"\";\n var hi;\n var lo;\n for (var i = start; i < end;) {\n hi = this.get(i++);\n lo = this.get(i++);\n str += String.fromCharCode((hi << 8) | lo);\n }\n return str;\n };\n Stream.prototype.parseTime = function (start, end, shortYear) {\n var s = this.parseStringISO(start, end);\n var m = (shortYear ? reTimeS : rLine truncated
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/asn1js/base64.js":
|
|
||||||
/*!**********************************!*\
|
|
||||||
!*** ./lib/lib/asn1js/base64.js ***!
|
|
||||||
\**********************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Base64\": () => (/* binding */ Base64)\n/* harmony export */ });\n// Base64 JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nvar Base64 = {\n decode: function (a) {\n var i;\n if (decoder === undefined) {\n var b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n var ignore = \"= \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n decoder = Object.create(null);\n for (i = 0; i < 64; ++i) {\n decoder[b64.charAt(i)] = i;\n }\n decoder['-'] = 62; //+\n decoder['_'] = 63; //-\n for (i = 0; i < ignore.length; ++i) {\n decoder[ignore.charAt(i)] = -1;\n }\n }\n var out = [];\n var bits = 0;\n var char_count = 0;\n for (i = 0; i < a.length; ++i) {\n var c = a.charAt(i);\n if (c == \"=\") {\n break;\n }\n c = decoder[c];\n if (c == -1) {\n continue;\n }\n if (c === undefined) {\n throw new Error(\"Illegal character at offset \" + i);\n }\n bits |= c;\n if (++char_count >= 4) {\n out[out.length] = (bits >> 16);\n out[out.length] = (bits >> 8) & 0xFF;\n out[out.length] = bits & 0xFF;\n bits = 0;\n char_count = 0;\n }\n else {\n bits <<= 6;\n }\n }\n switch (char_count) {\n case 1:\n throw new Error(\"Base64 encoding incomplete: at least 2 bits missing\");\n case 2:\n out[out.length] = (bits >> 10);\n break;\n case 3:\n out[out.length] = (bits >> 16);\n out[out.length] = (bits >> 8) & 0xFF;\n break;\n }\n return out;\n },\n re: /-----BEGIN [^-]+-----([A-Za-z0-9+\\/=\\s]+)-----END [^-]+-----|begin-base64[^\\n]+\\n([A-Za-z0-9+\\/=\\s]+)====/,\n unarmor: function (a) {\n var m = Base64.re.exec(a);\n if (m) {\n if (m[1]) {\n a = m[1];\n }\n else if (m[2]) {\n a = m[2];\n }\n else {\n throw new Error(\"RegExp out of sync\");\n }\n }\n return Base64.decode(a);\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/base64.js?");
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/asn1js/hex.js":
|
|
||||||
/*!*******************************!*\
|
|
||||||
!*** ./lib/lib/asn1js/hex.js ***!
|
|
||||||
\*******************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Hex\": () => (/* binding */ Hex)\n/* harmony export */ });\n// Hex JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nvar Hex = {\n decode: function (a) {\n var i;\n if (decoder === undefined) {\n var hex = \"0123456789ABCDEF\";\n var ignore = \" \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n decoder = {};\n for (i = 0; i < 16; ++i) {\n decoder[hex.charAt(i)] = i;\n }\n hex = hex.toLowerCase();\n for (i = 10; i < 16; ++i) {\n decoder[hex.charAt(i)] = i;\n }\n for (i = 0; i < ignore.length; ++i) {\n decoder[ignore.charAt(i)] = -1;\n }\n }\n var out = [];\n var bits = 0;\n var char_count = 0;\n for (i = 0; i < a.length; ++i) {\n var c = a.charAt(i);\n if (c == \"=\") {\n break;\n }\n c = decoder[c];\n if (c == -1) {\n continue;\n }\n if (c === undefined) {\n throw new Error(\"Illegal character at offset \" + i);\n }\n bits |= c;\n if (++char_count >= 2) {\n out[out.length] = bits;\n bits = 0;\n char_count = 0;\n }\n else {\n bits <<= 4;\n }\n }\n if (char_count) {\n throw new Error(\"Hex encoding incomplete: 4 bits missing\");\n }\n return out;\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/hex.js?");
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/asn1js/int10.js":
|
|
||||||
/*!*********************************!*\
|
|
||||||
!*** ./lib/lib/asn1js/int10.js ***!
|
|
||||||
\*********************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Int10\": () => (/* binding */ Int10)\n/* harmony export */ });\n// Big integer base-10 printing library\n// Copyright (c) 2014 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar max = 10000000000000; // biggest integer that can still fit 2^53 when multiplied by 256\nvar Int10 = /** @class */ (function () {\n function Int10(value) {\n this.buf = [+value || 0];\n }\n Int10.prototype.mulAdd = function (m, c) {\n // assert(m <= 256)\n var b = this.buf;\n var l = b.length;\n var i;\n var t;\n for (i = 0; i < l; ++i) {\n t = b[i] * m + c;\n if (t < max) {\n c = 0;\n }\n else {\n c = 0 | (t / max);\n t -= c * max;\n }\n b[i] = t;\n }\n if (c > 0) {\n b[i] = c;\n }\n };\n Int10.prototype.sub = function (c) {\n // assert(m <= 256)\n var b = this.buf;\n var l = b.length;\n var i;\n var t;\n for (i = 0; i < l; ++i) {\n t = b[i] - c;\n if (t < 0) {\n t += max;\n c = 1;\n }\n else {\n c = 0;\n }\n b[i] = t;\n }\n while (b[b.length - 1] === 0) {\n b.pop();\n }\n };\n Int10.prototype.toString = function (base) {\n if ((base || 10) != 10) {\n throw new Error(\"only base 10 is supported\");\n }\n var b = this.buf;\n var s = b[b.length - 1].toString();\n for (var i = b.length - 2; i >= 0; --i) {\n s += (max + b[i]).toString().substring(1);\n }\n return s;\n };\n Int10.prototype.valueOf = function () {\n var b = this.buf;\n var v = 0;\n for (var i = b.length - 1; i >= 0; --i) {\n v = v * max + b[i];\n }\n return v;\n };\n Int10.prototype.simplify = function () {\n var b = this.buf;\n return (b.length == 1) ? b[0] : this;\n };\n return Int10;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/int10.js?");
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/jsbn/base64.js":
|
|
||||||
/*!********************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/base64.js ***!
|
|
||||||
\********************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"b64toBA\": () => (/* binding */ b64toBA),\n/* harmony export */ \"b64tohex\": () => (/* binding */ b64tohex),\n/* harmony export */ \"hex2b64\": () => (/* binding */ hex2b64)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./lib/lib/jsbn/util.js\");\n\nvar b64map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar b64pad = \"=\";\nfunction hex2b64(h) {\n var i;\n var c;\n var ret = \"\";\n for (i = 0; i + 3 <= h.length; i += 3) {\n c = parseInt(h.substring(i, i + 3), 16);\n ret += b64map.charAt(c >> 6) + b64map.charAt(c & 63);\n }\n if (i + 1 == h.length) {\n c = parseInt(h.substring(i, i + 1), 16);\n ret += b64map.charAt(c << 2);\n }\n else if (i + 2 == h.length) {\n c = parseInt(h.substring(i, i + 2), 16);\n ret += b64map.charAt(c >> 2) + b64map.charAt((c & 3) << 4);\n }\n while ((ret.length & 3) > 0) {\n ret += b64pad;\n }\n return ret;\n}\n// convert a base64 string to hex\nfunction b64tohex(s) {\n var ret = \"\";\n var i;\n var k = 0; // b64 state, 0-3\n var slop = 0;\n for (i = 0; i < s.length; ++i) {\n if (s.charAt(i) == b64pad) {\n break;\n }\n var v = b64map.indexOf(s.charAt(i));\n if (v < 0) {\n continue;\n }\n if (k == 0) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v >> 2);\n slop = v & 3;\n k = 1;\n }\n else if (k == 1) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)((slop << 2) | (v >> 4));\n slop = v & 0xf;\n k = 2;\n }\n else if (k == 2) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(slop);\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v >> 2);\n slop = v & 3;\n k = 3;\n }\n else {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)((slop << 2) | (v >> 4));\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v & 0xf);\n k = 0;\n }\n }\n if (k == 1) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(slop << 2);\n }\n return ret;\n}\n// convert a base64 string to a byte/number array\nfunction b64toBA(s) {\n // piggyback on b64tohex for now, optimize later\n var h = b64tohex(s);\n var i;\n var a = [];\n for (i = 0; 2 * i < h.length; ++i) {\n a[i] = parseInt(h.substring(2 * i, 2 * i + 2), 16);\n }\n return a;\n}\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/base64.js?");
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/jsbn/jsbn.js":
|
|
||||||
/*!******************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/jsbn.js ***!
|
|
||||||
\******************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BigInteger\": () => (/* binding */ BigInteger),\n/* harmony export */ \"intAt\": () => (/* binding */ intAt),\n/* harmony export */ \"nbi\": () => (/* binding */ nbi),\n/* harmony export */ \"nbits\": () => (/* binding */ nbits),\n/* harmony export */ \"nbv\": () => (/* binding */ nbv),\n/* harmony export */ \"parseBigInt\": () => (/* binding */ parseBigInt)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./lib/lib/jsbn/util.js\");\n// Copyright (c) 2005 Tom Wu\n// All Rights Reserved.\n// See \"LICENSE\" for details.\n// Basic JavaScript BN library - subset useful for RSA encryption.\n\n// Bits per digit\nvar dbits;\n// JavaScript engine analysis\nvar canary = 0xdeadbeefcafe;\nvar j_lm = ((canary & 0xffffff) == 0xefcafe);\n//#region\nvar lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997];\nvar lplim = (1 << 26) / lowprimes[lowprimes.length - 1];\n//#endregion\n// (public) Constructor\nvar BigInteger = /** @class */ (function () {\n function BigInteger(a, b, c) {\n if (a != null) {\n if (\"number\" == typeof a) {\n this.fromNumber(a, b, c);\n }\n else if (b == null && \"string\" != typeof a) {\n this.fromString(a, 256);\n }\n else {\n this.fromString(a, b);\n }\n }\n }\n //#region PUBLIC\n // BigInteger.prototype.toString = bnToString;\n // (public) return string representation in given radix\n BigInteger.prototype.toString = function (b) {\n if (this.s < 0) {\n return \"-\" + this.negate().toString(b);\n }\n var k;\n if (b == 16) {\n k = 4;\n }\n else if (b == 8) {\n k = 3;\n }\n else if (b == 2) {\n k = 1;\n }\n else if (b == 32) {\n k = 5;\n }\n else if (b == 4) {\n k = 2;\n }\n else {\n return this.toRadix(b);\n }\n var km = (1 << k) - 1;\n var d;\n var m = false;\n var r = \"\";\n var i = this.t;\n var p = this.DB - (i * this.DB) % k;\n if (i-- > 0) {\n if (p < this.DB && (d = this[i] >> p) > 0) {\n m = true;\n r = (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(d);\n }\n while (i >= 0) {\n if (p < k) {\n d = (this[i] & ((1 << p) - 1)) << (k - p);\n d |= this[--i] >> (p += this.DB - k);\n }\n else {\n d = (this[i] >> (p -= k)) & km;\n if (p <= 0) {\n p += this.DB;\n --i;\n }\n }\n if (d > 0) {\n m = true;\n }\n if (m) {\n r += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(d);\n }\n }\n }\n return m ? r : \"0\";\n };\n // BigInteger.prototype.negate = bnNegate;\n // (public) -this\n BigInteger.prototype.negate = function () {\n var r = nbi();\n BigInteger.ZERO.subTo(this, r);\n return r;\n };\n // BigInteger.prototype.abs = bnAbs;\n // (public) |this|\n BigInteger.prototype.abs = function () {\n return (this.s < 0) ? this.negate() : this;\n };\n // BigInteger.prototype.compareTo = bnCompareTo;\n // (public) return + if this > a, - if this < a, 0 if equal\n BigInteger.prototype.compareTo = function (a) {\n var r = this.s - a.s;\n if (r != 0) {\n return r;\n }\n var i = this.t;\n r = i - a.t;\n if (r != 0) {\n return (this.s < 0) ? -r : r;\n }\n while (--i >= 0) {\n if ((r = this[i] - a[i]) != 0) {\n return r;\n }\n }\n return 0;\n };\n // BigInteger.prototype.bitLength = bnBi
Line truncated
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/jsbn/prng4.js":
|
|
||||||
/*!*******************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/prng4.js ***!
|
|
||||||
\*******************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Arcfour\": () => (/* binding */ Arcfour),\n/* harmony export */ \"prng_newstate\": () => (/* binding */ prng_newstate),\n/* harmony export */ \"rng_psize\": () => (/* binding */ rng_psize)\n/* harmony export */ });\n// prng4.js - uses Arcfour as a PRNG\nvar Arcfour = /** @class */ (function () {\n function Arcfour() {\n this.i = 0;\n this.j = 0;\n this.S = [];\n }\n // Arcfour.prototype.init = ARC4init;\n // Initialize arcfour context from key, an array of ints, each from [0..255]\n Arcfour.prototype.init = function (key) {\n var i;\n var j;\n var t;\n for (i = 0; i < 256; ++i) {\n this.S[i] = i;\n }\n j = 0;\n for (i = 0; i < 256; ++i) {\n j = (j + this.S[i] + key[i % key.length]) & 255;\n t = this.S[i];\n this.S[i] = this.S[j];\n this.S[j] = t;\n }\n this.i = 0;\n this.j = 0;\n };\n // Arcfour.prototype.next = ARC4next;\n Arcfour.prototype.next = function () {\n var t;\n this.i = (this.i + 1) & 255;\n this.j = (this.j + this.S[this.i]) & 255;\n t = this.S[this.i];\n this.S[this.i] = this.S[this.j];\n this.S[this.j] = t;\n return this.S[(t + this.S[this.i]) & 255];\n };\n return Arcfour;\n}());\n\n// Plug in your RNG constructor here\nfunction prng_newstate() {\n return new Arcfour();\n}\n// Pool size must be a multiple of 4 and greater than 32.\n// An array of bytes the size of the pool will be passed to init()\nvar rng_psize = 256;\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/prng4.js?");
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/jsbn/rng.js":
|
|
||||||
/*!*****************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/rng.js ***!
|
|
||||||
\*****************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"SecureRandom\": () => (/* binding */ SecureRandom)\n/* harmony export */ });\n/* harmony import */ var _prng4__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./prng4 */ \"./lib/lib/jsbn/prng4.js\");\n// Random number generator - requires a PRNG backend, e.g. prng4.js\n\nvar rng_state;\nvar rng_pool = null;\nvar rng_pptr;\n// Initialize the pool with junk if needed.\nif (rng_pool == null) {\n rng_pool = [];\n rng_pptr = 0;\n var t = void 0;\n if (typeof window !== 'undefined' && window.crypto && window.crypto.getRandomValues) {\n // Extract entropy (2048 bits) from RNG if available\n var z = new Uint32Array(256);\n window.crypto.getRandomValues(z);\n for (t = 0; t < z.length; ++t) {\n rng_pool[rng_pptr++] = z[t] & 255;\n }\n }\n // Use mouse events for entropy, if we do not have enough entropy by the time\n // we need it, entropy will be generated by Math.random.\n var count = 0;\n var onMouseMoveListener_1 = function (ev) {\n count = count || 0;\n if (count >= 256 || rng_pptr >= _prng4__WEBPACK_IMPORTED_MODULE_0__.rng_psize) {\n if (window.removeEventListener) {\n window.removeEventListener(\"mousemove\", onMouseMoveListener_1, false);\n }\n else if (window.detachEvent) {\n window.detachEvent(\"onmousemove\", onMouseMoveListener_1);\n }\n return;\n }\n try {\n var mouseCoordinates = ev.x + ev.y;\n rng_pool[rng_pptr++] = mouseCoordinates & 255;\n count += 1;\n }\n catch (e) {\n // Sometimes Firefox will deny permission to access event properties for some reason. Ignore.\n }\n };\n if (typeof window !== 'undefined') {\n if (window.addEventListener) {\n window.addEventListener(\"mousemove\", onMouseMoveListener_1, false);\n }\n else if (window.attachEvent) {\n window.attachEvent(\"onmousemove\", onMouseMoveListener_1);\n }\n }\n}\nfunction rng_get_byte() {\n if (rng_state == null) {\n rng_state = (0,_prng4__WEBPACK_IMPORTED_MODULE_0__.prng_newstate)();\n // At this point, we may not have collected enough entropy. If not, fall back to Math.random\n while (rng_pptr < _prng4__WEBPACK_IMPORTED_MODULE_0__.rng_psize) {\n var random = Math.floor(65536 * Math.random());\n rng_pool[rng_pptr++] = random & 255;\n }\n rng_state.init(rng_pool);\n for (rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) {\n rng_pool[rng_pptr] = 0;\n }\n rng_pptr = 0;\n }\n // TODO: allow reseeding after first request\n return rng_state.next();\n}\nvar SecureRandom = /** @class */ (function () {\n function SecureRandom() {\n }\n SecureRandom.prototype.nextBytes = function (ba) {\n for (var i = 0; i < ba.length; ++i) {\n ba[i] = rng_get_byte();\n }\n };\n return SecureRandom;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/rng.js?");
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/jsbn/rsa.js":
|
|
||||||
/*!*****************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/rsa.js ***!
|
|
||||||
\*****************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"RSAKey\": () => (/* binding */ RSAKey)\n/* harmony export */ });\n/* harmony import */ var _jsbn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _rng__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./rng */ \"./lib/lib/jsbn/rng.js\");\n// Depends on jsbn.js and rng.js\n// Version 1.1: support utf-8 encoding in pkcs1pad2\n// convert a (hex) string to a bignum object\n\n\n// function linebrk(s,n) {\n// var ret = \"\";\n// var i = 0;\n// while(i + n < s.length) {\n// ret += s.substring(i,i+n) + \"\\n\";\n// i += n;\n// }\n// return ret + s.substring(i,s.length);\n// }\n// function byte2Hex(b) {\n// if(b < 0x10)\n// return \"0\" + b.toString(16);\n// else\n// return b.toString(16);\n// }\nfunction pkcs1pad1(s, n) {\n if (n < s.length + 22) {\n console.error(\"Message too long for RSA\");\n return null;\n }\n var len = n - s.length - 6;\n var filler = \"\";\n for (var f = 0; f < len; f += 2) {\n filler += \"ff\";\n }\n var m = \"0001\" + filler + \"00\" + s;\n return (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(m, 16);\n}\n// PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint\nfunction pkcs1pad2(s, n) {\n if (n < s.length + 11) { // TODO: fix for utf-8\n console.error(\"Message too long for RSA\");\n return null;\n }\n var ba = [];\n var i = s.length - 1;\n while (i >= 0 && n > 0) {\n var c = s.charCodeAt(i--);\n if (c < 128) { // encode using utf-8\n ba[--n] = c;\n }\n else if ((c > 127) && (c < 2048)) {\n ba[--n] = (c & 63) | 128;\n ba[--n] = (c >> 6) | 192;\n }\n else {\n ba[--n] = (c & 63) | 128;\n ba[--n] = ((c >> 6) & 63) | 128;\n ba[--n] = (c >> 12) | 224;\n }\n }\n ba[--n] = 0;\n var rng = new _rng__WEBPACK_IMPORTED_MODULE_1__.SecureRandom();\n var x = [];\n while (n > 2) { // random non-zero pad\n x[0] = 0;\n while (x[0] == 0) {\n rng.nextBytes(x);\n }\n ba[--n] = x[0];\n }\n ba[--n] = 2;\n ba[--n] = 0;\n return new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(ba);\n}\n// \"empty\" RSA key constructor\nvar RSAKey = /** @class */ (function () {\n function RSAKey() {\n this.n = null;\n this.e = 0;\n this.d = null;\n this.p = null;\n this.q = null;\n this.dmp1 = null;\n this.dmq1 = null;\n this.coeff = null;\n }\n //#region PROTECTED\n // protected\n // RSAKey.prototype.doPublic = RSADoPublic;\n // Perform raw public operation on \"x\": return x^e (mod n)\n RSAKey.prototype.doPublic = function (x) {\n return x.modPowInt(this.e, this.n);\n };\n // RSAKey.prototype.doPrivate = RSADoPrivate;\n // Perform raw private operation on \"x\": return x^d (mod n)\n RSAKey.prototype.doPrivate = function (x) {\n if (this.p == null || this.q == null) {\n return x.modPow(this.d, this.n);\n }\n // TODO: re-calculate any missing CRT params\n var xp = x.mod(this.p).modPow(this.dmp1, this.p);\n var xq = x.mod(this.q).modPow(this.dmq1, this.q);\n while (xp.compareTo(xq) < 0) {\n xp = xp.add(this.p);\n }\n return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq);\n };\n //#endregion PROTECTED\n //#region PUBLIC\n // RSAKey.prototype.setPublic = RSASetPublic;\n // Set the public key fields N and e from hex strings\n RSAKey.prototype.setPublic = function (N, E) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(N, 16);\n this.e = parseInt(E, 16);\n }\n else {\n console.error(\"Invalid RSA public key\");\n }\n };\n // RSAKey.prototype.encrypt = RSAEncrypt;\n // Return the PKCS#1 RSA encryption of \"text\" as an even-length hex string\n RSAKey.prototype.encrypt = function (text) {\n var maxLength = (this.n.bitLength() + 7) >> 3;\n var m = pkcs1pad2(text, maxLength);\n if (m == null) {\n return null;\n }\n var c = this.doPublic(m);\n if (c == null) {\n return null;\n }\n var h = c.toString(16);\n var length = h.length;\n // fix zero before result\n for (var i = 0; i < maxLength * 2 - length; i++) {\n h = \"0\" + h;\n }\n return h;\n };\n // RSAKey.prototype.setPrivate = RSASetPrivate;\n // Set the private key fields N, e, and d from hex strings\n RSAKey.prototype.setPrivate = function (N, E, D) {\n if (N
Line truncated
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/jsbn/util.js":
|
|
||||||
/*!******************************!*\
|
|
||||||
!*** ./lib/lib/jsbn/util.js ***!
|
|
||||||
\******************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"cbit\": () => (/* binding */ cbit),\n/* harmony export */ \"int2char\": () => (/* binding */ int2char),\n/* harmony export */ \"lbit\": () => (/* binding */ lbit),\n/* harmony export */ \"op_and\": () => (/* binding */ op_and),\n/* harmony export */ \"op_andnot\": () => (/* binding */ op_andnot),\n/* harmony export */ \"op_or\": () => (/* binding */ op_or),\n/* harmony export */ \"op_xor\": () => (/* binding */ op_xor)\n/* harmony export */ });\nvar BI_RM = \"0123456789abcdefghijklmnopqrstuvwxyz\";\nfunction int2char(n) {\n return BI_RM.charAt(n);\n}\n//#region BIT_OPERATIONS\n// (public) this & a\nfunction op_and(x, y) {\n return x & y;\n}\n// (public) this | a\nfunction op_or(x, y) {\n return x | y;\n}\n// (public) this ^ a\nfunction op_xor(x, y) {\n return x ^ y;\n}\n// (public) this & ~a\nfunction op_andnot(x, y) {\n return x & ~y;\n}\n// return index of lowest 1-bit in x, x < 2^31\nfunction lbit(x) {\n if (x == 0) {\n return -1;\n }\n var r = 0;\n if ((x & 0xffff) == 0) {\n x >>= 16;\n r += 16;\n }\n if ((x & 0xff) == 0) {\n x >>= 8;\n r += 8;\n }\n if ((x & 0xf) == 0) {\n x >>= 4;\n r += 4;\n }\n if ((x & 3) == 0) {\n x >>= 2;\n r += 2;\n }\n if ((x & 1) == 0) {\n ++r;\n }\n return r;\n}\n// return number of 1 bits in x\nfunction cbit(x) {\n var r = 0;\n while (x != 0) {\n x &= x - 1;\n ++r;\n }\n return r;\n}\n//#endregion BIT_OPERATIONS\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/util.js?");
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/jsrsasign/asn1-1.0.js":
|
|
||||||
/*!***************************************!*\
|
|
||||||
!*** ./lib/lib/jsrsasign/asn1-1.0.js ***!
|
|
||||||
\***************************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KJUR\": () => (/* binding */ KJUR)\n/* harmony export */ });\n/* harmony import */ var _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../jsbn/jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _yahoo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./yahoo */ \"./lib/lib/jsrsasign/yahoo.js\");\n/* asn1-1.0.13.js (c) 2013-2017 Kenji Urushima | kjur.github.com/jsrsasign/license\n */\n/*\n * asn1.js - ASN.1 DER encoder classes\n *\n * Copyright (c) 2013-2017 Kenji Urushima (kenji.urushima@gmail.com)\n *\n * This software is licensed under the terms of the MIT License.\n * https://kjur.github.io/jsrsasign/license\n *\n * The above copyright and license notice shall be\n * included in all copies or substantial portions of the Software.\n */\n\n\n/**\n * @fileOverview\n * @name asn1-1.0.js\n * @author Kenji Urushima kenji.urushima@gmail.com\n * @version asn1 1.0.13 (2017-Jun-02)\n * @since jsrsasign 2.1\n * @license <a href=\"https://kjur.github.io/jsrsasign/license/\">MIT License</a>\n */\n/**\n * kjur's class library name space\n * <p>\n * This name space provides following name spaces:\n * <ul>\n * <li>{@link KJUR.asn1} - ASN.1 primitive hexadecimal encoder</li>\n * <li>{@link KJUR.asn1.x509} - ASN.1 structure for X.509 certificate and CRL</li>\n * <li>{@link KJUR.crypto} - Java Cryptographic Extension(JCE) style MessageDigest/Signature\n * class and utilities</li>\n * </ul>\n * </p>\n * NOTE: Please ignore method summary and document of this namespace. This caused by a bug of jsdoc2.\n * @name KJUR\n * @namespace kjur's class library name space\n */\nvar KJUR = {};\n/**\n * kjur's ASN.1 class library name space\n * <p>\n * This is ITU-T X.690 ASN.1 DER encoder class library and\n * class structure and methods is very similar to\n * org.bouncycastle.asn1 package of\n * well known BouncyCaslte Cryptography Library.\n * <h4>PROVIDING ASN.1 PRIMITIVES</h4>\n * Here are ASN.1 DER primitive classes.\n * <ul>\n * <li>0x01 {@link KJUR.asn1.DERBoolean}</li>\n * <li>0x02 {@link KJUR.asn1.DERInteger}</li>\n * <li>0x03 {@link KJUR.asn1.DERBitString}</li>\n * <li>0x04 {@link KJUR.asn1.DEROctetString}</li>\n * <li>0x05 {@link KJUR.asn1.DERNull}</li>\n * <li>0x06 {@link KJUR.asn1.DERObjectIdentifier}</li>\n * <li>0x0a {@link KJUR.asn1.DEREnumerated}</li>\n * <li>0x0c {@link KJUR.asn1.DERUTF8String}</li>\n * <li>0x12 {@link KJUR.asn1.DERNumericString}</li>\n * <li>0x13 {@link KJUR.asn1.DERPrintableString}</li>\n * <li>0x14 {@link KJUR.asn1.DERTeletexString}</li>\n * <li>0x16 {@link KJUR.asn1.DERIA5String}</li>\n * <li>0x17 {@link KJUR.asn1.DERUTCTime}</li>\n * <li>0x18 {@link KJUR.asn1.DERGeneralizedTime}</li>\n * <li>0x30 {@link KJUR.asn1.DERSequence}</li>\n * <li>0x31 {@link KJUR.asn1.DERSet}</li>\n * </ul>\n * <h4>OTHER ASN.1 CLASSES</h4>\n * <ul>\n * <li>{@link KJUR.asn1.ASN1Object}</li>\n * <li>{@link KJUR.asn1.DERAbstractString}</li>\n * <li>{@link KJUR.asn1.DERAbstractTime}</li>\n * <li>{@link KJUR.asn1.DERAbstractStructured}</li>\n * <li>{@link KJUR.asn1.DERTaggedObject}</li>\n * </ul>\n * <h4>SUB NAME SPACES</h4>\n * <ul>\n * <li>{@link KJUR.asn1.cades} - CAdES long term signature format</li>\n * <li>{@link KJUR.asn1.cms} - Cryptographic Message Syntax</li>\n * <li>{@link KJUR.asn1.csr} - Certificate Signing Request (CSR/PKCS#10)</li>\n * <li>{@link KJUR.asn1.tsp} - RFC 3161 Timestamping Protocol Format</li>\n * <li>{@link KJUR.asn1.x509} - RFC 5280 X.509 certificate and CRL</li>\n * </ul>\n * </p>\n * NOTE: Please ignore method summary and document of this namespace.\n * This caused by a bug of jsdoc2.\n * @name KJUR.asn1\n * @namespace\n */\nif (typeof KJUR.asn1 == \"undefined\" || !KJUR.asn1)\n KJUR.asn1 = {};\n/**\n * ASN1 utilities class\n * @name KJUR.asn1.ASN1Util\n * @class ASN1 utilities class\n * @since asn1 1.0.2\n */\nKJUR.asn1.ASN1Util = new function () {\n this.integerToByteHex = function (i) {\n var h = i.toString(16);\n if ((h.length % 2) == 1)\n h = '0' + h;\n return h;\n };\n this.bigIntToMinTwosComplementsHex = function (bigIntegerValue) {\n var h = bigIntegerValue.toString(16);\n if (h.substr(0, 1) != '-') {\n if (h.length % 2 == 1) {\n h = '0' + h;\n }\n else {\n if (!h.match(/^[0-7]/)) {\n h = '00' + h;\n }\n }\n }\n else {\n var hPos = h.substr(1);\n var xorLen = hPos.length;\n if (xorLen % 2 == 1) {\n xorLen += 1;\n }\n else {\n if (!h.match(/^[0-7]/)) {\n xorLen += 2;\n }\n }\n var hMask = '';\n for (var i = 0; i < xorLen; i++) {\n hMask += 'f';\n }\n
Line truncated
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./lib/lib/jsrsasign/yahoo.js":
|
|
||||||
/*!************************************!*\
|
|
||||||
!*** ./lib/lib/jsrsasign/yahoo.js ***!
|
|
||||||
\************************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"YAHOO\": () => (/* binding */ YAHOO)\n/* harmony export */ });\n/*!\nCopyright (c) 2011, Yahoo! Inc. All rights reserved.\nCode licensed under the BSD License:\nhttp://developer.yahoo.com/yui/license.html\nversion: 2.9.0\n*/\nvar YAHOO = {};\nYAHOO.lang = {\n /**\n * Utility to set up the prototype, constructor and superclass properties to\n * support an inheritance strategy that can chain constructors and methods.\n * Static members will not be inherited.\n *\n * @method extend\n * @static\n * @param {Function} subc the object to modify\n * @param {Function} superc the object to inherit\n * @param {Object} overrides additional properties/methods to add to the\n * subclass prototype. These will override the\n * matching items obtained from the superclass\n * if present.\n */\n extend: function (subc, superc, overrides) {\n if (!superc || !subc) {\n throw new Error(\"YAHOO.lang.extend failed, please check that \" +\n \"all dependencies are included.\");\n }\n var F = function () { };\n F.prototype = superc.prototype;\n subc.prototype = new F();\n subc.prototype.constructor = subc;\n subc.superclass = superc.prototype;\n if (superc.prototype.constructor == Object.prototype.constructor) {\n superc.prototype.constructor = superc;\n }\n if (overrides) {\n var i;\n for (i in overrides) {\n subc.prototype[i] = overrides[i];\n }\n /*\n * IE will not enumerate native functions in a derived object even if the\n * function was overridden. This is a workaround for specific functions\n * we care about on the Object prototype.\n * @property _IEEnumFix\n * @param {Function} r the object to receive the augmentation\n * @param {Function} s the object that supplies the properties to augment\n * @static\n * @private\n */\n var _IEEnumFix = function () { }, ADD = [\"toString\", \"valueOf\"];\n try {\n if (/MSIE/.test(navigator.userAgent)) {\n _IEEnumFix = function (r, s) {\n for (i = 0; i < ADD.length; i = i + 1) {\n var fname = ADD[i], f = s[fname];\n if (typeof f === 'function' && f != Object.prototype[fname]) {\n r[fname] = f;\n }\n }\n };\n }\n }\n catch (ex) { }\n ;\n _IEEnumFix(subc.prototype, overrides);\n }\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsrsasign/yahoo.js?");
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./node_modules/process/browser.js":
|
|
||||||
/*!*****************************************!*\
|
|
||||||
!*** ./node_modules/process/browser.js ***!
|
|
||||||
\*****************************************/
|
|
||||||
/***/ ((module) => {
|
|
||||||
|
|
||||||
eval("// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nf
Line truncated
|
|
||||||
|
|
||||||
/***/ })
|
|
||||||
|
|
||||||
/******/ });
|
|
||||||
/************************************************************************/
|
|
||||||
/******/ // The module cache
|
|
||||||
/******/ var __webpack_module_cache__ = {};
|
|
||||||
/******/
|
|
||||||
/******/ // The require function
|
|
||||||
/******/ function __webpack_require__(moduleId) {
|
|
||||||
/******/ // Check if module is in cache
|
|
||||||
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
|
||||||
/******/ if (cachedModule !== undefined) {
|
|
||||||
/******/ return cachedModule.exports;
|
|
||||||
/******/ }
|
|
||||||
/******/ // Create a new module (and put it into the cache)
|
|
||||||
/******/ var module = __webpack_module_cache__[moduleId] = {
|
|
||||||
/******/ // no module.id needed
|
|
||||||
/******/ // no module.loaded needed
|
|
||||||
/******/ exports: {}
|
|
||||||
/******/ };
|
|
||||||
/******/
|
|
||||||
/******/ // Execute the module function
|
|
||||||
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
||||||
/******/
|
|
||||||
/******/ // Return the exports of the module
|
|
||||||
/******/ return module.exports;
|
|
||||||
/******/ }
|
|
||||||
/******/
|
|
||||||
/************************************************************************/
|
|
||||||
/******/ /* webpack/runtime/define property getters */
|
|
||||||
/******/ (() => {
|
|
||||||
/******/ // define getter functions for harmony exports
|
|
||||||
/******/ __webpack_require__.d = (exports, definition) => {
|
|
||||||
/******/ for(var key in definition) {
|
|
||||||
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
||||||
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
||||||
/******/ }
|
|
||||||
/******/ }
|
|
||||||
/******/ };
|
|
||||||
/******/ })();
|
|
||||||
/******/
|
|
||||||
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
||||||
/******/ (() => {
|
|
||||||
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
||||||
/******/ })();
|
|
||||||
/******/
|
|
||||||
/******/ /* webpack/runtime/make namespace object */
|
|
||||||
/******/ (() => {
|
|
||||||
/******/ // define __esModule on exports
|
|
||||||
/******/ __webpack_require__.r = (exports) => {
|
|
||||||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
||||||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
||||||
/******/ }
|
|
||||||
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
||||||
/******/ };
|
|
||||||
/******/ })();
|
|
||||||
/******/
|
|
||||||
/************************************************************************/
|
|
||||||
/******/
|
|
||||||
/******/ // startup
|
|
||||||
/******/ // Load entry module and return exports
|
|
||||||
/******/ // This entry module can't be inlined because the eval devtool is used.
|
|
||||||
/******/ var __webpack_exports__ = __webpack_require__("./lib/index.js");
|
|
||||||
/******/ __webpack_exports__ = __webpack_exports__["default"];
|
|
||||||
/******/
|
|
||||||
/******/ return __webpack_exports__;
|
|
||||||
/******/ })()
|
|
||||||
;
|
|
||||||
});
|
|
||||||
-1737
File diff suppressed because it is too large.
Load diff
@@ -1,2 +0,0 @@
|
|||||||
/*! For license information please see node-rsa.bundle.js.LICENSE.txt */
|
|
||||||
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.NODERSA=e():t.NODERSA=e()}(globalThis,(()=>(()=>{var t={6395:t=>{t.exports={newInvalidAsn1Error:function(t){var e=new Error;return e.name="InvalidAsn1Error",e.message=t||"",e}}},5670:(t,e,r)=>{var n=r(6395),i=r(6299),o=r(3319),s=r(1431);for(var a in t.exports={Reader:o,Writer:s},i)i.hasOwnProperty(a)&&(t.exports[a]=i[a]);for(var f in n)n.hasOwnProperty(f)&&(t.exports[f]=n[f])},3319:(t,e,r)=>{var n=r(4529),i=r(4774).Buffer,o=r(6299),s=r(6395).newInvalidAsn1Error;function a(t){if(!t||!i.isBuffer(t))throw new TypeError("data must be a node Buffer");this._buf=t,this._size=t.length,this._len=0,this._offset=0}Object.defineProperty(a.prototype,"length",{enumerable:!0,get:function(){return this._len}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){return this._offset}}),Object.defineProperty(a.prototype,"remain",{get:function(){return this._size-this._offset}}),Object.defineProperty(a.prototype,"buffer",{get:function(){return this._buf.slice(this._offset)}}),a.prototype.readByte=function(t){if(this._size-this._offset<1)return null;var e=255&this._buf[this._offset];return t||(this._offset+=1),e},a.prototype.peek=function(){return this.readByte(!0)},a.prototype.readLength=function(t){if(void 0===t&&(t=this._offset),t>=this._size)return null;var e=255&this._buf[t++];if(null===e)return null;if(128&~e)this._len=e;else{if(0==(e&=127))throw s("Indefinite length not supported");if(e>4)throw s("encoding too long");if(this._size-t<e)return null;this._len=0;for(var r=0;r<e;r++)this._len=(this._len<<8)+(255&this._buf[t++])}return t},a.prototype.readSequence=function(t){var e=this.peek();if(null===e)return null;if(void 0!==t&&t!==e)throw s("Expected 0x"+t.toString(16)+": got 0x"+e.toString(16));var r=this.readLength(this._offset+1);return null===r?null:(this._offset=r,e)},a.prototype.readInt=function(){return this._readTag(o.Integer)},a.prototype.readBoolean=function(){return 0!==this._readTag(o.Boolean)},a.prototype.readEnumeration=function(){return this._readTag(o.Enumeration)},a.prototype.readString=function(t,e){t||(t=o.OctetString);var r=this.peek();if(null===r)return null;if(r!==t)throw s("Expected 0x"+t.toString(16)+": got 0x"+r.toString(16));var n=this.readLength(this._offset+1);if(null===n)return null;if(this.length>this._size-n)return null;if(this._offset=n,0===this.length)return e?i.alloc(0):"";var a=this._buf.slice(this._offset,this._offset+this.length);return this._offset+=this.length,e?a:a.toString("utf8")},a.prototype.readOID=function(t){t||(t=o.OID);var e=this.readString(t,!0);if(null===e)return null;for(var r=[],n=0,i=0;i<e.length;i++){var s=255&e[i];n<<=7,n+=127&s,128&s||(r.push(n),n=0)}return n=r.shift(),r.unshift(n%40),r.unshift(n/40|0),r.join(".")},a.prototype._readTag=function(t){n.ok(void 0!==t);var e=this.peek();if(null===e)return null;if(e!==t)throw s("Expected 0x"+t.toString(16)+": got 0x"+e.toString(16));var r=this.readLength(this._offset+1);if(null===r)return null;if(this.length>4)throw s("Integer too long: "+this.length);if(this.length>this._size-r)return null;this._offset=r;for(var i=this._buf[this._offset],o=0,a=0;a<this.length;a++)o<<=8,o|=255&this._buf[this._offset++];return 128&~i||4===a||(o-=1<<8*a),0|o},t.exports=a},6299:t=>{t.exports={EOC:0,Boolean:1,Integer:2,BitString:3,OctetString:4,Null:5,OID:6,ObjectDescriptor:7,External:8,Real:9,Enumeration:10,PDV:11,Utf8String:12,RelativeOID:13,Sequence:16,Set:17,NumericString:18,PrintableString:19,T61String:20,VideotexString:21,IA5String:22,UTCTime:23,GeneralizedTime:24,GraphicString:25,VisibleString:26,GeneralString:28,UniversalString:29,CharacterString:30,BMPString:31,Constructor:32,Context:128}},1431:(t,e,r)=>{var n=r(4529),i=r(4774).Buffer,o=r(6299),s=r(6395).newInvalidAsn1Error,a={size:1024,growthFactor:8};function f(t){var e,r;e=a,r=t||{},n.ok(e),n.equal(typeof e,"object"),n.ok(r),n.equal(typeof r,"object"),Object.getOwnPropertyNames(e).forEach((function(t){if(!r[t]){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n)}})),t=r,this._buf=i.alloc(t.size||1024),this._size=this._buf.length,this._offset=0,this._options=t,this._seq=[]}Object.defineProperty(f.prototype,"buffer",{get:function(){if(this._seq.length)throw s(this._seq.length+" unended sequence(s)");return this._buf.slice(0,this._offset)}}),f.prototype.writeByte=function(t){if("number"!=typeof t)throw new TypeError("argument must be a Number");this._ensure(1),this._buf[this._offset++]=t},f.prototype.writeInt=function(t,e){if("number"!=typeof t)throw new TypeError("argument must be a Number");"number"!=typeof e&&(e=o.Integer);for(var r=4;(!(4286578688&t)||-8388608==(4286578688&t))&&r>1;)r--,t<<=8;if(r>4)throw s("BER ints cannot be > 0xffffffff");for(this._ensure(2+r),this._buf[this._offset++]=e,this._buf[this._offset++]=r;r-- >0;)this._buf[this._offset++]=(4278190080&t)>>>24,t<<=Line truncated
|
|
||||||
Vendored
-2
@@ -1,2 +0,0 @@
|
|||||||
/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */
|
|
||||||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).pako={})}(this,(function(t){"use strict";function e(t){let e=t.length;for(;--e>=0;)t[e]=0}const a=256,i=286,n=30,s=15,r=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),o=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),l=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),h=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new Array(576);e(d);const _=new Array(60);e(_);const f=new Array(512);e(f);const c=new Array(256);e(c);const u=new Array(29);e(u);const w=new Array(n);function m(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}let b,g,p;function k(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}e(w);const v=t=>t<256?f[t]:f[256+(t>>>7)],y=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},x=(t,e,a)=>{t.bi_valid>16-a?(t.bi_buf|=e<<t.bi_valid&65535,y(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=a-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=a)},z=(t,e,a)=>{x(t,a[2*e],a[2*e+1])},A=(t,e)=>{let a=0;do{a|=1&t,t>>>=1,a<<=1}while(--e>0);return a>>>1},E=(t,e,a)=>{const i=new Array(16);let n,r,o=0;for(n=1;n<=s;n++)o=o+a[n-1]<<1,i[n]=o;for(r=0;r<=e;r++){let e=t[2*r+1];0!==e&&(t[2*r]=A(i[e]++,e))}},R=t=>{let e;for(e=0;e<i;e++)t.dyn_ltree[2*e]=0;for(e=0;e<n;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.sym_next=t.matches=0},Z=t=>{t.bi_valid>8?y(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},U=(t,e,a,i)=>{const n=2*e,s=2*a;return t[n]<t[s]||t[n]===t[s]&&i[e]<=i[a]},S=(t,e,a)=>{const i=t.heap[a];let n=a<<1;for(;n<=t.heap_len&&(n<t.heap_len&&U(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!U(e,i,t.heap[n],t.depth));)t.heap[a]=t.heap[n],a=n,n<<=1;t.heap[a]=i},D=(t,e,i)=>{let n,s,l,h,d=0;if(0!==t.sym_next)do{n=255&t.pending_buf[t.sym_buf+d++],n+=(255&t.pending_buf[t.sym_buf+d++])<<8,s=t.pending_buf[t.sym_buf+d++],0===n?z(t,s,e):(l=c[s],z(t,l+a+1,e),h=r[l],0!==h&&(s-=u[l],x(t,s,h)),n--,l=v(n),z(t,l,i),h=o[l],0!==h&&(n-=w[l],x(t,n,h)))}while(d<t.sym_next);z(t,256,e)},T=(t,e)=>{const a=e.dyn_tree,i=e.stat_desc.static_tree,n=e.stat_desc.has_stree,r=e.stat_desc.elems;let o,l,h,d=-1;for(t.heap_len=0,t.heap_max=573,o=0;o<r;o++)0!==a[2*o]?(t.heap[++t.heap_len]=d=o,t.depth[o]=0):a[2*o+1]=0;for(;t.heap_len<2;)h=t.heap[++t.heap_len]=d<2?++d:0,a[2*h]=1,t.depth[h]=0,t.opt_len--,n&&(t.static_len-=i[2*h+1]);for(e.max_code=d,o=t.heap_len>>1;o>=1;o--)S(t,a,o);h=r;do{o=t.heap[1],t.heap[1]=t.heap[t.heap_len--],S(t,a,1),l=t.heap[1],t.heap[--t.heap_max]=o,t.heap[--t.heap_max]=l,a[2*h]=a[2*o]+a[2*l],t.depth[h]=(t.depth[o]>=t.depth[l]?t.depth[o]:t.depth[l])+1,a[2*o+1]=a[2*l+1]=h,t.heap[1]=h++,S(t,a,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const a=e.dyn_tree,i=e.max_code,n=e.stat_desc.static_tree,r=e.stat_desc.has_stree,o=e.stat_desc.extra_bits,l=e.stat_desc.extra_base,h=e.stat_desc.max_length;let d,_,f,c,u,w,m=0;for(c=0;c<=s;c++)t.bl_count[c]=0;for(a[2*t.heap[t.heap_max]+1]=0,d=t.heap_max+1;d<573;d++)_=t.heap[d],c=a[2*a[2*_+1]+1]+1,c>h&&(c=h,m++),a[2*_+1]=c,_>i||(t.bl_count[c]++,u=0,_>=l&&(u=o[_-l]),w=a[2*_],t.opt_len+=w*(c+u),r&&(t.static_len+=w*(n[2*_+1]+u)));if(0!==m){do{for(c=h-1;0===t.bl_count[c];)c--;t.bl_count[c]--,t.bl_count[c+1]+=2,t.bl_count[h]--,m-=2}while(m>0);for(c=h;0!==c;c--)for(_=t.bl_count[c];0!==_;)f=t.heap[--d],f>i||(a[2*f+1]!==c&&(t.opt_len+=(c-a[2*f+1])*a[2*f],a[2*f+1]=c),_--)}})(t,e),E(a,d,t.bl_count)},O=(t,e,a)=>{let i,n,s=-1,r=e[1],o=0,l=7,h=4;for(0===r&&(l=138,h=3),e[2*(a+1)+1]=65535,i=0;i<=a;i++)n=r,r=e[2*(i+1)+1],++o<l&&n===r||(o<h?t.bl_tree[2*n]+=o:0!==n?(n!==s&&t.bl_tree[2*n]++,t.bl_tree[32]++):o<=10?t.bl_tree[34]++:t.bl_tree[36]++,o=0,s=n,0===r?(l=138,h=3):n===r?(l=6,h=3):(l=7,h=4))},I=(t,e,a)=>{let i,n,s=-1,r=e[1],o=0,l=7,h=4;for(0===r&&(l=138,h=3),i=0;i<=a;i++)if(n=r,r=e[2*(i+1)+1],!(++o<l&&n===r)){if(o<h)do{z(t,n,t.bl_tree)}while(0!=--o);else 0!==n?(n!==s&&(z(t,n,t.bl_tree),o--),z(t,16,t.bl_tree),x(t,o-3,2)):o<=10?(z(t,17,t.bl_tree),x(t,o-3,3)):(z(t,18,t.bl_tree),x(t,o-11,7));o=0,s=n,0===r?(l=138,h=3):n===r?(l=6,h=3):(l=7,h=4)}};let F=!1;const L=(t,e,a,i)=>{x(t,0+(i?1:0),3),Z(t),y(t,a),y(t,~a),a&&t.pending_buf.set(t.window.subarray(e,e+a),t.pending),t.pending+=a};var N=(t,e,i,n)=>{let s,r,o=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,i=4093624447;for(e=0;e<=31;e++,i>>>=1)if(1&i&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<a;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),T(t,t.l_desc),T(t,t.d_desc),o=(t=>{let e;for(O(t,t.dyn_ltree,t.l_desc.max_code),O(t,t.dyn_dtree,t.d_desc.max_code),T(t,t.bl_desc),e=18;e>=3&&0===t.blLine truncated
|
|
||||||
-146
@@ -1,146 +0,0 @@
|
|||||||
# -*- coding: utf-8 -*-
|
|
||||||
# by @嗷呜
|
|
||||||
import sys
|
|
||||||
sys.path.append('..')
|
|
||||||
from base.spider import Spider
|
|
||||||
import requests
|
|
||||||
|
|
||||||
|
|
||||||
class Spider(Spider):
|
|
||||||
|
|
||||||
def init(self, extend=""):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def getName(self):
|
|
||||||
return "hitv"
|
|
||||||
|
|
||||||
def isVideoFormat(self, url):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def manualVideoCheck(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def destroy(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def homeContent(self, filter):
|
|
||||||
result = {}
|
|
||||||
cateManual = {
|
|
||||||
# "直播": "live",
|
|
||||||
'排行榜': 'rank',
|
|
||||||
"电影": "1",
|
|
||||||
"剧集": "2",
|
|
||||||
"综艺": "3",
|
|
||||||
"动画": "4",
|
|
||||||
"短片": "5"
|
|
||||||
}
|
|
||||||
classes = []
|
|
||||||
for k in cateManual:
|
|
||||||
classes.append({
|
|
||||||
'type_name': k,
|
|
||||||
'type_id': cateManual[k]
|
|
||||||
})
|
|
||||||
result['class'] = classes
|
|
||||||
return result
|
|
||||||
|
|
||||||
host = "https://wys.upfuhn.com"
|
|
||||||
headers = {
|
|
||||||
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
|
|
||||||
"Chrome/80.0.3987.149 Safari/537.36"
|
|
||||||
}
|
|
||||||
|
|
||||||
def list(self, list):
|
|
||||||
videos = []
|
|
||||||
for it in list:
|
|
||||||
videos.append({
|
|
||||||
"vod_id": it['video_site_id'],
|
|
||||||
"vod_name": it['video_name'],
|
|
||||||
"vod_pic": it['video_horizontal_url'] or it['video_vertical_url'],
|
|
||||||
"vod_remarks": it['newest_series_num'],
|
|
||||||
"vod_year": it['years'],
|
|
||||||
})
|
|
||||||
return videos
|
|
||||||
|
|
||||||
def homeVideoContent(self):
|
|
||||||
url = f'{self.host}/v1/ys_video_sites/hot?t=1'
|
|
||||||
data = requests.get(url, headers=self.headers).json()
|
|
||||||
videos = self.list(data['data']['data'])
|
|
||||||
result = {'list': videos}
|
|
||||||
return result
|
|
||||||
|
|
||||||
def categoryContent(self, tid, pg, filter, extend):
|
|
||||||
path = f'/v1/ys_video_sites?t={tid}&s_t=0&a&y&o=0&ps=21&pn={pg}'
|
|
||||||
rank = False
|
|
||||||
if tid == 'rank':
|
|
||||||
if pg == 1:
|
|
||||||
path = f'/v1/ys_video_sites/ranking'
|
|
||||||
rank = True
|
|
||||||
else:
|
|
||||||
path = ''
|
|
||||||
# elif tid == 'live' and pg == 1:
|
|
||||||
# path = f'/v1/ys_live_tvs'
|
|
||||||
videos = []
|
|
||||||
result = {}
|
|
||||||
try:
|
|
||||||
data = requests.get(self.host + path, headers=self.headers).json()
|
|
||||||
if rank:
|
|
||||||
for video in data['data']:
|
|
||||||
videos.extend(data['data'][video])
|
|
||||||
else:
|
|
||||||
videos = data['data']['data']
|
|
||||||
result = {}
|
|
||||||
result['list'] = self.list(videos)
|
|
||||||
result['page'] = pg
|
|
||||||
result['pagecount'] = 9999
|
|
||||||
result['limit'] = 90
|
|
||||||
result['total'] = 999999
|
|
||||||
except:
|
|
||||||
result['list'] = []
|
|
||||||
return result
|
|
||||||
|
|
||||||
def detailContent(self, ids):
|
|
||||||
tid = ids[0]
|
|
||||||
url = f'{self.host}/v1/ys_video_series/by_vid/{tid}'
|
|
||||||
data = requests.get(url, headers=self.headers).json()
|
|
||||||
data1 = data['data']['ys_video_site']
|
|
||||||
urls = []
|
|
||||||
for it in data['data']['data']:
|
|
||||||
urls.append(it['series_num'] + '$' + it['video_url'])
|
|
||||||
vod = {
|
|
||||||
'vod_name': data1['video_name'],
|
|
||||||
'type_name': data1['tag'],
|
|
||||||
'vod_year': data1['years'],
|
|
||||||
'vod_area': data1['area'],
|
|
||||||
'vod_director': data1['main_actor'],
|
|
||||||
'vod_content': data1['video_desc'],
|
|
||||||
'vod_play_from': '嗨皮在线',
|
|
||||||
'vod_play_url': '#'.join(urls),
|
|
||||||
}
|
|
||||||
result = {
|
|
||||||
'list': [
|
|
||||||
vod
|
|
||||||
]
|
|
||||||
}
|
|
||||||
return result
|
|
||||||
|
|
||||||
def searchContent(self, key, quick, pg=1):
|
|
||||||
url = f'{self.host}/v1/ys_video_sites/search?s={key}&o=0&ps=200&pn={pg}'
|
|
||||||
data = requests.get(url, headers=self.headers).json()
|
|
||||||
videos = data['data']['video_sites']
|
|
||||||
if data['data']['first_video_series'] is not None:
|
|
||||||
videos = [data['data']['first_video_series']] + videos
|
|
||||||
result = {}
|
|
||||||
result['list'] = self.list(videos)
|
|
||||||
result['page'] = pg
|
|
||||||
return result
|
|
||||||
|
|
||||||
def playerContent(self, flag, id, vipFlags):
|
|
||||||
result = {
|
|
||||||
'url': id,
|
|
||||||
'parse': 0,
|
|
||||||
'header': self.headers
|
|
||||||
}
|
|
||||||
return result
|
|
||||||
|
|
||||||
def localProxy(self, param):
|
|
||||||
pass
|
|
||||||
-225
@@ -1,225 +0,0 @@
|
|||||||
# -*- coding: utf-8 -*-
|
|
||||||
# by @嗷呜
|
|
||||||
import json
|
|
||||||
import sys
|
|
||||||
import threading
|
|
||||||
import uuid
|
|
||||||
import requests
|
|
||||||
sys.path.append('..')
|
|
||||||
from base.spider import Spider
|
|
||||||
import time
|
|
||||||
from Crypto.Hash import MD5, SHA1
|
|
||||||
|
|
||||||
class Spider(Spider):
|
|
||||||
'''
|
|
||||||
配置示例:
|
|
||||||
{
|
|
||||||
"key": "xxxx",
|
|
||||||
"name": "xxxx",
|
|
||||||
"type": 3,
|
|
||||||
"api": ".所在路径/金牌.py",
|
|
||||||
"searchable": 1,
|
|
||||||
"quickSearch": 1,
|
|
||||||
"filterable": 1,
|
|
||||||
"changeable": 1,
|
|
||||||
"ext": {
|
|
||||||
"site": "https://www.jiabaide.cn,域名2,域名3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
'''
|
|
||||||
def init(self, extend=""):
|
|
||||||
if extend:
|
|
||||||
hosts=json.loads(extend)['site']
|
|
||||||
self.host = self.host_late(hosts)
|
|
||||||
pass
|
|
||||||
|
|
||||||
def getName(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def isVideoFormat(self, url):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def manualVideoCheck(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def destroy(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def homeContent(self, filter):
|
|
||||||
cdata = self.fetch(f"{self.host}/api/mw-movie/anonymous/get/filer/type", headers=self.getheaders()).json()
|
|
||||||
fdata = self.fetch(f"{self.host}/api/mw-movie/anonymous/v1/get/filer/list", headers=self.getheaders()).json()
|
|
||||||
result = {}
|
|
||||||
classes = []
|
|
||||||
filters={}
|
|
||||||
for k in cdata['data']:
|
|
||||||
classes.append({
|
|
||||||
'type_name': k['typeName'],
|
|
||||||
'type_id': str(k['typeId']),
|
|
||||||
})
|
|
||||||
sort_values = [{"n": "最近更新", "v": "2"},{"n": "人气高低", "v": "3"}, {"n": "评分高低", "v": "4"}]
|
|
||||||
for tid, d in fdata['data'].items():
|
|
||||||
current_sort_values = sort_values.copy()
|
|
||||||
if tid == '1':
|
|
||||||
del current_sort_values[0]
|
|
||||||
filters[tid] = [
|
|
||||||
{"key": "type", "name": "类型",
|
|
||||||
"value": [{"n": i["itemText"], "v": i["itemValue"]} for i in d["typeList"]]},
|
|
||||||
|
|
||||||
*([] if not d["plotList"] else [{"key": "v_class", "name": "剧情",
|
|
||||||
"value": [{"n": i["itemText"], "v": i["itemText"]}
|
|
||||||
for i in d["plotList"]]}]),
|
|
||||||
|
|
||||||
{"key": "area", "name": "地区",
|
|
||||||
"value": [{"n": i["itemText"], "v": i["itemText"]} for i in d["districtList"]]},
|
|
||||||
|
|
||||||
{"key": "year", "name": "年份",
|
|
||||||
"value": [{"n": i["itemText"], "v": i["itemText"]} for i in d["yearList"]]},
|
|
||||||
|
|
||||||
{"key": "lang", "name": "语言",
|
|
||||||
"value": [{"n": i["itemText"], "v": i["itemText"]} for i in d["languageList"]]},
|
|
||||||
|
|
||||||
{"key": "sort", "name": "排序", "value": current_sort_values}
|
|
||||||
]
|
|
||||||
result['class'] = classes
|
|
||||||
result['filters'] = filters
|
|
||||||
return result
|
|
||||||
|
|
||||||
def homeVideoContent(self):
|
|
||||||
data1 = self.fetch(f"{self.host}/api/mw-movie/anonymous/v1/home/all/list", headers=self.getheaders()).json()
|
|
||||||
data2=self.fetch(f"{self.host}/api/mw-movie/anonymous/home/hotSearch",headers=self.getheaders()).json()
|
|
||||||
data=[]
|
|
||||||
for i in data1['data'].values():
|
|
||||||
data.extend(i['list'])
|
|
||||||
data.extend(data2['data'])
|
|
||||||
vods=self.getvod(data)
|
|
||||||
return {'list':vods}
|
|
||||||
|
|
||||||
def categoryContent(self, tid, pg, filter, extend):
|
|
||||||
|
|
||||||
params = {
|
|
||||||
"area": extend.get('area', ''),
|
|
||||||
"filterStatus": "1",
|
|
||||||
"lang": extend.get('lang', ''),
|
|
||||||
"pageNum": pg,
|
|
||||||
"pageSize": "30",
|
|
||||||
"sort": extend.get('sort', '1'),
|
|
||||||
"sortBy": "1",
|
|
||||||
"type": extend.get('type', ''),
|
|
||||||
"type1": tid,
|
|
||||||
"v_class": extend.get('v_class', ''),
|
|
||||||
"year": extend.get('year', '')
|
|
||||||
}
|
|
||||||
data = self.fetch(f"{self.host}/api/mw-movie/anonymous/video/list?{self.js(params)}", headers=self.getheaders(params)).json()
|
|
||||||
result = {}
|
|
||||||
result['list'] = self.getvod(data['data']['list'])
|
|
||||||
result['page'] = pg
|
|
||||||
result['pagecount'] = 9999
|
|
||||||
result['limit'] = 90
|
|
||||||
result['total'] = 999999
|
|
||||||
return result
|
|
||||||
|
|
||||||
def detailContent(self, ids):
|
|
||||||
data=self.fetch(f"{self.host}/api/mw-movie/anonymous/video/detail?id={ids[0]}",headers=self.getheaders({'id':ids[0]})).json()
|
|
||||||
vod=self.getvod([data['data']])[0]
|
|
||||||
vod['vod_play_from']='文才'
|
|
||||||
vod['vod_play_url'] = '#'.join(
|
|
||||||
f"{i['name'] if len(vod['episodelist']) > 1 else vod['vod_name']}${ids[0]}@@{i['nid']}" for i in
|
|
||||||
vod['episodelist'])
|
|
||||||
vod.pop('episodelist', None)
|
|
||||||
return {'list':[vod]}
|
|
||||||
|
|
||||||
def searchContent(self, key, quick, pg="1"):
|
|
||||||
params = {
|
|
||||||
"keyword": key,
|
|
||||||
"pageNum": pg,
|
|
||||||
"pageSize": "8",
|
|
||||||
"sourceCode": "1"
|
|
||||||
}
|
|
||||||
data=self.fetch(f"{self.host}/api/mw-movie/anonymous/video/searchByWord?{self.js(params)}",headers=self.getheaders(params)).json()
|
|
||||||
vods=self.getvod(data['data']['result']['list'])
|
|
||||||
return {'list':vods,'page':pg}
|
|
||||||
|
|
||||||
def playerContent(self, flag, id, vipFlags):
|
|
||||||
self.header = {
|
|
||||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.6478.61 Chrome/126.0.6478.61 Not/A)Brand/8 Safari/537.36',
|
|
||||||
'sec-ch-ua-platform': '"Windows"',
|
|
||||||
'DNT': '1',
|
|
||||||
'sec-ch-ua': '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"',
|
|
||||||
'sec-ch-ua-mobile': '?0',
|
|
||||||
'Origin': self.host,
|
|
||||||
'Referer': f'{self.host}/'
|
|
||||||
}
|
|
||||||
ids=id.split('@@')
|
|
||||||
pdata = self.fetch(f"{self.host}/api/mw-movie/anonymous/v2/video/episode/url?clientType=1&id={ids[0]}&nid={ids[1]}",headers=self.getheaders({'clientType':'1','id': ids[0], 'nid': ids[1]})).json()
|
|
||||||
vlist=[]
|
|
||||||
for i in pdata['data']['list']:vlist.extend([i['resolutionName'],i['url']])
|
|
||||||
return {'parse':0,'url':vlist,'header':self.header}
|
|
||||||
|
|
||||||
def localProxy(self, param):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def host_late(self, url_list):
|
|
||||||
if isinstance(url_list, str):
|
|
||||||
urls = [u.strip() for u in url_list.split(',')]
|
|
||||||
else:
|
|
||||||
urls = url_list
|
|
||||||
if len(urls) <= 1:
|
|
||||||
return urls[0] if urls else ''
|
|
||||||
|
|
||||||
results = {}
|
|
||||||
threads = []
|
|
||||||
|
|
||||||
def test_host(url):
|
|
||||||
try:
|
|
||||||
start_time = time.time()
|
|
||||||
response = requests.head(url, timeout=1.0, allow_redirects=False)
|
|
||||||
delay = (time.time() - start_time) * 1000
|
|
||||||
results[url] = delay
|
|
||||||
except Exception as e:
|
|
||||||
results[url] = float('inf')
|
|
||||||
for url in urls:
|
|
||||||
t = threading.Thread(target=test_host, args=(url,))
|
|
||||||
threads.append(t)
|
|
||||||
t.start()
|
|
||||||
for t in threads:
|
|
||||||
t.join()
|
|
||||||
return min(results.items(), key=lambda x: x[1])[0]
|
|
||||||
|
|
||||||
def md5(self, sign_key):
|
|
||||||
md5_hash = MD5.new()
|
|
||||||
md5_hash.update(sign_key.encode('utf-8'))
|
|
||||||
md5_result = md5_hash.hexdigest()
|
|
||||||
return md5_result
|
|
||||||
|
|
||||||
def js(self, param):
|
|
||||||
return '&'.join(f"{k}={v}" for k, v in param.items())
|
|
||||||
|
|
||||||
def getheaders(self, param=None):
|
|
||||||
if param is None:param = {}
|
|
||||||
t=str(int(time.time()*1000))
|
|
||||||
param['key']='cb808529bae6b6be45ecfab29a4889bc'
|
|
||||||
param['t']=t
|
|
||||||
sha1_hash = SHA1.new()
|
|
||||||
sha1_hash.update(self.md5(self.js(param)).encode('utf-8'))
|
|
||||||
sign = sha1_hash.hexdigest()
|
|
||||||
deviceid = str(uuid.uuid4())
|
|
||||||
headers = {
|
|
||||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.6478.61 Chrome/126.0.6478.61 Not/A)Brand/8 Safari/537.36',
|
|
||||||
'Accept': 'application/json, text/plain, */*',
|
|
||||||
'sign': sign,
|
|
||||||
't': t,
|
|
||||||
'deviceid':deviceid
|
|
||||||
}
|
|
||||||
return headers
|
|
||||||
|
|
||||||
def convert_field_name(self, field):
|
|
||||||
field = field.lower()
|
|
||||||
if field.startswith('vod') and len(field) > 3:
|
|
||||||
field = field.replace('vod', 'vod_')
|
|
||||||
if field.startswith('type') and len(field) > 4:
|
|
||||||
field = field.replace('type', 'type_')
|
|
||||||
return field
|
|
||||||
|
|
||||||
def getvod(self, array):
|
|
||||||
return [{self.convert_field_name(k): v for k, v in item.items()} for item in array]
|
|
||||||
|
|
||||||
-412
@@ -1,412 +0,0 @@
|
|||||||
if (typeof Object.assign !== 'function') {
|
|
||||||
Object.assign = function () {
|
|
||||||
let target = arguments[0];
|
|
||||||
for (let i = 1; i < arguments.length; i++) {
|
|
||||||
let source = arguments[i];
|
|
||||||
for (let key in source) {
|
|
||||||
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
||||||
target[key] = source[key];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return target;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
// 通用免嗅探播放
|
|
||||||
let common_lazy = `js:
|
|
||||||
let html = request(input);
|
|
||||||
let hconf = html.match(/r player_.*?=(.*?)</)[1];
|
|
||||||
let json = JSON5.parse(hconf);
|
|
||||||
let url = json.url;
|
|
||||||
if (json.encrypt == '1') {
|
|
||||||
url = unescape(url);
|
|
||||||
} else if (json.encrypt == '2') {
|
|
||||||
url = unescape(base64Decode(url));
|
|
||||||
}
|
|
||||||
if (/\\.(m3u8|mp4|m4a|mp3)/.test(url)) {
|
|
||||||
input = {
|
|
||||||
parse: 0,
|
|
||||||
jx: 0,
|
|
||||||
url: url,
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
input;
|
|
||||||
}`;
|
|
||||||
// 默认嗅探播放
|
|
||||||
|
|
||||||
let def_lazy = `js:
|
|
||||||
input = { parse: 1, url: input, js: '' };`;
|
|
||||||
// 采集站播放
|
|
||||||
|
|
||||||
let cj_lazy = `js:
|
|
||||||
if (/\\.(m3u8|mp4)/.test(input)) {
|
|
||||||
input = { parse: 0, url: input };
|
|
||||||
} else {
|
|
||||||
if (rule.parse_url.startsWith('json:')) {
|
|
||||||
let purl = rule.parse_url.replace('json:', '') + input;
|
|
||||||
let html = request(purl);
|
|
||||||
let json = JSON.parse(html);
|
|
||||||
if (json.url) {
|
|
||||||
input = { parse: 0, url: json.url };
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
input = rule.parse_url + input;
|
|
||||||
}
|
|
||||||
}`;
|
|
||||||
|
|
||||||
function getMubans() {
|
|
||||||
const mubanDict = { // 模板字典
|
|
||||||
mx: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
url: '/vodshow/fyclass--------fypage---/',
|
|
||||||
searchUrl: '/vodsearch/**----------fypage---/',
|
|
||||||
class_parse: '.top_nav li;a&&Text;a&&href;.*/(.*?)/',
|
|
||||||
searchable: 2,
|
|
||||||
quickSearch: 0,
|
|
||||||
filterable: 0,
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'MOBILE_UA',
|
|
||||||
},
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
double: true,
|
|
||||||
推荐: '.cbox_list;*;*;*;*;*',
|
|
||||||
一级: 'ul.vodlist li;a&&title;a&&data-original;.pic_text&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: 'h2&&Text;.content_detail:eq(1)&&li&&a:eq(2)&&Text',
|
|
||||||
img: '.vodlist_thumb&&data-original',
|
|
||||||
desc: '.content_detail:eq(1)&&li:eq(1)&&Text;.content_detail:eq(1)&&li&&a&&Text;.content_detail:eq(1)&&li&&a:eq(1)&&Text;.content_detail:eq(1)&&li:eq(2)&&Text;.content_detail:eq(1)&&li:eq(3)&&Text',
|
|
||||||
content: '.content_desc&&span&&Text',
|
|
||||||
tabs: '.play_source_tab&&a',
|
|
||||||
lists: '.content_playlist:eq(#id) li',
|
|
||||||
},
|
|
||||||
搜索: '*',
|
|
||||||
},
|
|
||||||
mxpro: {
|
|
||||||
title: '',
|
|
||||||
host: '', // homeUrl:'/',
|
|
||||||
url: '/vodshow/fyclass--------fypage---.html',
|
|
||||||
searchUrl: '/vodsearch/**----------fypage---.html',
|
|
||||||
searchable: 2,//是否启用全局搜索,
|
|
||||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||||
filterable: 0,//是否启用分类筛选,
|
|
||||||
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
|
|
||||||
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
|
|
||||||
},
|
|
||||||
class_parse: '.navbar-items li:gt(0):lt(10);a&&Text;a&&href;/(\\d+)',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
double: true, // 推荐内容是否双层定位
|
|
||||||
推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href',
|
|
||||||
一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: 'h1&&Text;.module-info-tag-link:eq(-1)&&Text',
|
|
||||||
img: '.lazyload&&data-original||data-src||src',
|
|
||||||
desc: '.module-info-item:eq(-2)&&Text;.module-info-tag-link&&Text;.module-info-tag-link:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(1)&&Text',
|
|
||||||
content: '.module-info-introduction&&Text',
|
|
||||||
tabs: '.module-tab-item',
|
|
||||||
lists: '.module-play-list:eq(#id) a',
|
|
||||||
tab_text: 'div--small&&Text',
|
|
||||||
},
|
|
||||||
搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text',
|
|
||||||
}, mxone5: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
url: '/show/fyclass--------fypage---.html',
|
|
||||||
searchUrl: '/search/**----------fypage---.html',
|
|
||||||
searchable: 2,//是否启用全局搜索,
|
|
||||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||||
filterable: 0,//是否启用分类筛选,
|
|
||||||
class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?)\.html',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
double: true, // 推荐内容是否双层定位
|
|
||||||
推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
|
|
||||||
一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: 'h1&&Text;.tag-link&&Text',
|
|
||||||
img: '.module-item-pic&&img&&data-src',
|
|
||||||
desc: '.video-info-items:eq(3)&&Text;.tag-link:eq(2)&&Text;.tag-link:eq(1)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(0)&&Text',
|
|
||||||
content: '.vod_content&&Text',
|
|
||||||
tabs: '.module-tab-item',
|
|
||||||
lists: '.module-player-list:eq(#id)&&.scroll-content&&a',
|
|
||||||
tab_text: 'div--small&&Text',
|
|
||||||
},
|
|
||||||
搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href',
|
|
||||||
}, 首图: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
url: '/vodshow/fyclass--------fypage---/',
|
|
||||||
searchUrl: '/vodsearch/**----------fypage---.html',
|
|
||||||
searchable: 2,//是否启用全局搜索,
|
|
||||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||||
filterable: 0,//是否启用分类筛选,
|
|
||||||
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
|
|
||||||
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
|
|
||||||
},
|
|
||||||
class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
double: true, // 推荐内容是否双层定位
|
|
||||||
推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
|
|
||||||
一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: '.myui-content__detail .title--span&&Text;.myui-content__detail p.data:eq(3)&&Text',
|
|
||||||
img: '.myui-content__thumb .lazyload&&data-original',
|
|
||||||
desc: '.myui-content__detail p.otherbox&&Text;.year&&Text;.myui-content__detail p.data:eq(4)&&Text;.myui-content__detail p.data:eq(2)&&Text;.myui-content__detail p.data:eq(0)&&Text',
|
|
||||||
content: '.content&&Text',
|
|
||||||
tabs: '.myui-panel__head&&li',
|
|
||||||
// tabs: '.nav-tabs&&li',
|
|
||||||
lists: '.myui-content__list:eq(#id) li',
|
|
||||||
},
|
|
||||||
搜索: '#searchList li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href;.detail&&Text',
|
|
||||||
}, 首图2: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
url: '/list/fyclass-fypage.html',
|
|
||||||
searchUrl: '/vodsearch/**----------fypage---.html',
|
|
||||||
searchable: 2,//是否启用全局搜索,
|
|
||||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||||
filterable: 0,//是否启用分类筛选,
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'UC_UA', // "Cookie": ""
|
|
||||||
},
|
|
||||||
class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
double: true, // 推荐内容是否双层定位
|
|
||||||
推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href',
|
|
||||||
一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: '.stui-content__detail .title&&Text;.stui-content__detail&&p:eq(-2)&&a&&Text',
|
|
||||||
title1: '.stui-content__detail .title&&Text;.stui-content__detail&&p&&Text',
|
|
||||||
img: '.stui-content__thumb .lazyload&&data-original',
|
|
||||||
desc: '.stui-content__detail p&&Text;.stui-content__detail&&p:eq(-2)&&a:eq(2)&&Text;.stui-content__detail&&p:eq(-2)&&a:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text;.stui-content__detail p:eq(1)&&Text',
|
|
||||||
desc1: '.stui-content__detail p:eq(4)&&Text;;;.stui-content__detail p:eq(1)&&Text',
|
|
||||||
content: '.detail&&Text',
|
|
||||||
tabs: '.stui-pannel__head h3',
|
|
||||||
tabs1: '.stui-vodlist__head h3',
|
|
||||||
lists: '.stui-content__playlist:eq(#id) li',
|
|
||||||
},
|
|
||||||
搜索: 'ul.stui-vodlist__media,ul.stui-vodlist,#searchList li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href;.detail&&Text',
|
|
||||||
}, 默认: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
url: '',
|
|
||||||
searchUrl: '',
|
|
||||||
searchable: 2,
|
|
||||||
quickSearch: 0,
|
|
||||||
filterable: 0,
|
|
||||||
filter: '',
|
|
||||||
filter_url: '',
|
|
||||||
filter_def: {},
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'MOBILE_UA',
|
|
||||||
},
|
|
||||||
timeout: 5000,
|
|
||||||
class_parse: '#side-menu li;a&&Text;a&&href;/(.*?)\.html',
|
|
||||||
cate_exclude: '',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: def_lazy,
|
|
||||||
double: true,
|
|
||||||
推荐: '列表1;列表2;标题;图片;描述;链接;详情',
|
|
||||||
一级: '列表;标题;图片;描述;链接;详情',
|
|
||||||
二级: {
|
|
||||||
title: 'vod_name;vod_type',
|
|
||||||
img: '图片链接',
|
|
||||||
desc: '主要信息;年代;地区;演员;导演',
|
|
||||||
content: '简介',
|
|
||||||
tabs: '',
|
|
||||||
lists: 'xx:eq(#id)&&a',
|
|
||||||
tab_text: 'body&&Text',
|
|
||||||
list_text: 'body&&Text',
|
|
||||||
list_url: 'a&&href',
|
|
||||||
},
|
|
||||||
搜索: '列表;标题;图片;描述;链接;详情',
|
|
||||||
}, vfed: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
url: '/index.php/vod/show/id/fyclass/page/fypage.html',
|
|
||||||
searchUrl: '/index.php/vod/search/page/fypage/wd/**.html',
|
|
||||||
searchable: 2,//是否启用全局搜索,
|
|
||||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||||
filterable: 0,//是否启用分类筛选,
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'UC_UA',
|
|
||||||
},
|
|
||||||
class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
double: true, // 推荐内容是否双层定位
|
|
||||||
推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
|
|
||||||
一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: 'h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text',
|
|
||||||
img: '.fed-list-info&&a&&data-original',
|
|
||||||
desc: '.fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text',
|
|
||||||
content: '.fed-part-esan&&Text',
|
|
||||||
tabs: '.fed-drop-boxs&&.fed-part-rows&&li',
|
|
||||||
lists: '.fed-play-item:eq(#id)&&ul:eq(1)&&li',
|
|
||||||
},
|
|
||||||
搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text',
|
|
||||||
}, 海螺3: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
searchUrl: '/v_search/**----------fypage---.html',
|
|
||||||
url: '/vod_____show/fyclass--------fypage---.html',
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'MOBILE_UA',
|
|
||||||
},
|
|
||||||
timeout: 5000,
|
|
||||||
class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html',
|
|
||||||
cate_exclude: '明星|专题|最新|排行',
|
|
||||||
limit: 40,
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
double: true,
|
|
||||||
推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href',
|
|
||||||
一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: '.hl-dc-title&&Text;.hl-dc-content&&li:eq(6)&&Text',
|
|
||||||
img: '.hl-lazy&&data-original',
|
|
||||||
desc: '.hl-dc-content&&li:eq(10)&&Text;.hl-dc-content&&li:eq(4)&&Text;.hl-dc-content&&li:eq(5)&&Text;.hl-dc-content&&li:eq(2)&&Text;.hl-dc-content&&li:eq(3)&&Text',
|
|
||||||
content: '.hl-content-text&&Text',
|
|
||||||
tabs: '.hl-tabs&&a',
|
|
||||||
tab_text: 'a--span&&Text',
|
|
||||||
lists: '.hl-plays-list:eq(#id)&&li',
|
|
||||||
},
|
|
||||||
搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
|
|
||||||
searchable: 2,//是否启用全局搜索,
|
|
||||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||||
filterable: 0,//是否启用分类筛选,
|
|
||||||
}, 海螺2: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
searchUrl: '/index.php/vod/search/page/fypage/wd/**/',
|
|
||||||
url: '/index.php/vod/show/id/fyclass/page/fypage/',
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'MOBILE_UA',
|
|
||||||
},
|
|
||||||
timeout: 5000,
|
|
||||||
class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/',
|
|
||||||
limit: 40,
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
double: true,
|
|
||||||
推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href',
|
|
||||||
一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: 'h2&&Text;.deployment&&Text',
|
|
||||||
img: '.lazy&&data-original',
|
|
||||||
desc: '.deployment&&Text',
|
|
||||||
content: '.ec-show&&Text',
|
|
||||||
tabs: '#tag&&a',
|
|
||||||
lists: '.play_list_box:eq(#id)&&li',
|
|
||||||
},
|
|
||||||
搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href',
|
|
||||||
searchable: 2,//是否启用全局搜索,
|
|
||||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||||
filterable: 0,//是否启用分类筛选,
|
|
||||||
}, 短视: {
|
|
||||||
title: '',
|
|
||||||
host: '', // homeUrl:'/',
|
|
||||||
url: '/channel/fyclass-fypage.html',
|
|
||||||
searchUrl: '/search.html?wd=**',
|
|
||||||
searchable: 2,//是否启用全局搜索,
|
|
||||||
quickSearch: 0,//是否启用快速搜索,
|
|
||||||
filterable: 0,//是否启用分类筛选,
|
|
||||||
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
|
|
||||||
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
|
|
||||||
},
|
|
||||||
class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html',
|
|
||||||
cate_exclude: '解析|动态',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
double: true, // 推荐内容是否双层定位
|
|
||||||
推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
|
|
||||||
一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: 'h1&&Text;.content-rt&&p:eq(0)&&Text',
|
|
||||||
img: '.img&&img&&data-src',
|
|
||||||
desc: '.content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text',
|
|
||||||
content: '.zkjj_a&&Text',
|
|
||||||
tabs: '.py-tabs&&option',
|
|
||||||
lists: '.player:eq(#id) li',
|
|
||||||
},
|
|
||||||
搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href',
|
|
||||||
}, 短视2: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
class_name: '电影&电视剧&综艺&动漫',
|
|
||||||
class_url: '1&2&3&4',
|
|
||||||
searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50',
|
|
||||||
searchable: 2,
|
|
||||||
quickSearch: 0,
|
|
||||||
headers: {'User-Agent': 'MOBILE_UA'},
|
|
||||||
url: '/index.php/api/vod#type=fyclass&page=fypage',
|
|
||||||
filterable: 0,//是否启用分类筛选,
|
|
||||||
filter_url: '',
|
|
||||||
filter: {},
|
|
||||||
filter_def: {},
|
|
||||||
detailUrl: '/index.php/vod/detail/id/fyid.html',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: common_lazy,
|
|
||||||
limit: 6,
|
|
||||||
推荐: '.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href',
|
|
||||||
一级: 'js:let body=input.split("#")[1];let t=Math.round(new Date/1e3).toString();let key=md5("DS"+t+"DCC147D11943AF75");let url=input.split("#")[0];body=body+"&time="+t+"&key="+key;print(body);fetch_params.body=body;let html=post(url,fetch_params);let data=JSON.parse(html);VODS=data.list.map(function(it){it.vod_pic=urljoin2(input.split("/i")[0],it.vod_pic);return it});',
|
|
||||||
二级: {
|
|
||||||
title: '.slide-info-title&&Text;.slide-info:eq(2)--strong&&Text',
|
|
||||||
img: '.detail-pic&&data-original',
|
|
||||||
desc: '.slide-info-remarks&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(1)--strong&&Text;.info-parameter&&ul&&li:eq(3)&&Text',
|
|
||||||
content: '#height_limit&&Text',
|
|
||||||
tabs: '.anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a',
|
|
||||||
tab_text: 'a--span&&Text',
|
|
||||||
lists: '.anthology-list-box:eq(#id) li',
|
|
||||||
},
|
|
||||||
搜索: 'json:list;name;pic;;id',
|
|
||||||
}, 采集1: {
|
|
||||||
title: '',
|
|
||||||
host: '',
|
|
||||||
homeTid: '13',
|
|
||||||
homeUrl: '/api.php/provide/vod/?ac=detail&t={{rule.homeTid}}',
|
|
||||||
detailUrl: '/api.php/provide/vod/?ac=detail&ids=fyid',
|
|
||||||
searchUrl: '/api.php/provide/vod/?wd=**&pg=fypage',
|
|
||||||
url: '/api.php/provide/vod/?ac=detail&pg=fypage&t=fyclass',
|
|
||||||
headers: {'User-Agent': 'MOBILE_UA'},
|
|
||||||
timeout: 5000, // class_name: '电影&电视剧&综艺&动漫',
|
|
||||||
// class_url: '1&2&3&4',
|
|
||||||
// class_parse:'js:let html=request(input);input=JSON.parse(html).class;',
|
|
||||||
class_parse: 'json:class;',
|
|
||||||
limit: 20,
|
|
||||||
multi: 1,
|
|
||||||
searchable: 2,//是否启用全局搜索,
|
|
||||||
quickSearch: 1,//是否启用快速搜索,
|
|
||||||
filterable: 0,//是否启用分类筛选,
|
|
||||||
play_parse: true,
|
|
||||||
parse_url: '',
|
|
||||||
lazy: cj_lazy,
|
|
||||||
推荐: '*',
|
|
||||||
一级: 'json:list;vod_name;vod_pic;vod_remarks;vod_id;vod_play_from',
|
|
||||||
二级: `js:
|
|
||||||
let html=request(input);
|
|
||||||
html=JSON.parse(html);
|
|
||||||
let data=html.list;
|
|
||||||
VOD=data[0];`,
|
|
||||||
搜索: '*',
|
|
||||||
},
|
|
||||||
};
|
|
||||||
return JSON.parse(JSON.stringify(mubanDict));
|
|
||||||
}
|
|
||||||
|
|
||||||
var mubanDict = getMubans();
|
|
||||||
var muban = getMubans();
|
|
||||||
export default {muban, getMubans};
|
|
||||||
-279
@@ -1,279 +0,0 @@
|
|||||||
# coding=utf-8
|
|
||||||
# !/usr/bin/python
|
|
||||||
# by嗷呜(finally)
|
|
||||||
import sys
|
|
||||||
import os
|
|
||||||
sys.path.append("..")
|
|
||||||
import re
|
|
||||||
import hashlib
|
|
||||||
import hmac
|
|
||||||
import random
|
|
||||||
import string
|
|
||||||
from Crypto.Util.Padding import unpad
|
|
||||||
from concurrent.futures import ThreadPoolExecutor
|
|
||||||
from Crypto.PublicKey import RSA
|
|
||||||
from Crypto.Cipher import PKCS1_v1_5, AES
|
|
||||||
from base64 import b64encode, b64decode
|
|
||||||
import json
|
|
||||||
import time
|
|
||||||
from base.spider import Spider
|
|
||||||
|
|
||||||
class Spider(Spider):
|
|
||||||
|
|
||||||
def getName(self):
|
|
||||||
return "电影猎手"
|
|
||||||
|
|
||||||
def init(self, extend=""):
|
|
||||||
self.device = self.device_id()
|
|
||||||
self.host = self.gethost()
|
|
||||||
pass
|
|
||||||
|
|
||||||
def isVideoFormat(self, url):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def manualVideoCheck(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def action(self, action):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def destroy(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
t = str(int(time.time()))
|
|
||||||
|
|
||||||
def homeContent(self, filter):
|
|
||||||
result = {}
|
|
||||||
filters = {}
|
|
||||||
classes = []
|
|
||||||
bba = self.url()
|
|
||||||
data = self.fetch(f"{self.host}/api/v1/app/config?pack={bba[0]}&signature={bba[1]}", headers=self.header()).text
|
|
||||||
data1 = self.aes(data)
|
|
||||||
dy = {"class":"类型","area":"地区","lang":"语言","year":"年份","letter":"字母","by":"排序","sort":"排序"}
|
|
||||||
data1['data']['movie_screen']['sort'].pop(0)
|
|
||||||
for item in data1['data']['movie_screen']['sort']:
|
|
||||||
item['n'] = item.pop('name')
|
|
||||||
item['v'] = item.pop('value')
|
|
||||||
for item in data1['data']['movie_screen']['filter']:
|
|
||||||
has_non_empty_field = False
|
|
||||||
classes.append({"type_name": item["name"], "type_id": str(item["id"])})
|
|
||||||
for key in dy:
|
|
||||||
if key in item and item[key]:
|
|
||||||
has_non_empty_field = True
|
|
||||||
break
|
|
||||||
if has_non_empty_field:
|
|
||||||
filters[str(item["id"])] = []
|
|
||||||
filters[str(item["id"])].append(
|
|
||||||
{"key": 'sort', "name": '排序', "value": data1['data']['movie_screen']['sort']})
|
|
||||||
for dkey in item:
|
|
||||||
if dkey in dy and item[dkey]:
|
|
||||||
item[dkey].pop(0)
|
|
||||||
value_array = [
|
|
||||||
{"n": value.strip(), "v": value.strip()}
|
|
||||||
for value in item[dkey]
|
|
||||||
if value.strip() != ""
|
|
||||||
]
|
|
||||||
filters[str(item["id"])].append(
|
|
||||||
{"key": dkey, "name": dy[dkey], "value": value_array}
|
|
||||||
)
|
|
||||||
result["class"] = classes
|
|
||||||
result["filters"] = filters
|
|
||||||
return result
|
|
||||||
|
|
||||||
def homeVideoContent(self):
|
|
||||||
bba = self.url()
|
|
||||||
url = f'{self.host}/api/v1/movie/index_recommend?pack={bba[0]}&signature={bba[1]}'
|
|
||||||
data = self.fetch(url, headers=self.header()).json()
|
|
||||||
videos = []
|
|
||||||
for item in data['data']:
|
|
||||||
if len(item['list']) > 0:
|
|
||||||
for it in item['list']:
|
|
||||||
try:
|
|
||||||
videos.append(self.voides(it))
|
|
||||||
except Exception as e:
|
|
||||||
continue
|
|
||||||
result = {"list": videos}
|
|
||||||
return result
|
|
||||||
|
|
||||||
def categoryContent(self, tid, pg, filter, extend):
|
|
||||||
body = {"type_id": tid, "sort": extend.get("sort", "by_default"), "class": extend.get("class", "类型"),
|
|
||||||
"area": extend.get("area", "地区"), "year": extend.get("year", "年份"), "page": str(pg),
|
|
||||||
"pageSize": "21"}
|
|
||||||
result = {}
|
|
||||||
list = []
|
|
||||||
bba = self.url(body)
|
|
||||||
url = f"{self.host}/api/v1/movie/screen/list?pack={bba[0]}&signature={bba[1]}"
|
|
||||||
data = self.fetch(url, headers=self.header()).json()['data']['list']
|
|
||||||
for item in data:
|
|
||||||
list.append(self.voides(item))
|
|
||||||
result["list"] = list
|
|
||||||
result["page"] = pg
|
|
||||||
result["pagecount"] = 9999
|
|
||||||
result["limit"] = 90
|
|
||||||
result["total"] = 999999
|
|
||||||
return result
|
|
||||||
|
|
||||||
def detailContent(self, ids):
|
|
||||||
body = {"id": ids[0]}
|
|
||||||
bba = self.url(body)
|
|
||||||
url = f'{self.host}/api/v1/movie/detail?pack={bba[0]}&signature={bba[1]}'
|
|
||||||
data = self.fetch(url, headers=self.header()).json()['data']
|
|
||||||
video = {'vod_name': data.get('name'),'type_name': data.get('type_name'),'vod_year': data.get('year'),'vod_area': data.get('area'),'vod_remarks': data.get('dynami'),'vod_content': data.get('content')}
|
|
||||||
play = []
|
|
||||||
names = []
|
|
||||||
tasks = []
|
|
||||||
for itt in data["play_from"]:
|
|
||||||
name = itt["name"]
|
|
||||||
a = []
|
|
||||||
if len(itt["list"]) > 0:
|
|
||||||
names.append(name)
|
|
||||||
play.append(self.playeach(itt['list']))
|
|
||||||
else:
|
|
||||||
tasks.append({"movie_id": ids[0], "from_code": itt["code"]})
|
|
||||||
names.append(name)
|
|
||||||
if tasks:
|
|
||||||
with ThreadPoolExecutor(max_workers=len(tasks)) as executor:
|
|
||||||
results = executor.map(self.playlist, tasks)
|
|
||||||
for result in results:
|
|
||||||
if result:
|
|
||||||
play.append(result)
|
|
||||||
else:
|
|
||||||
play.append("")
|
|
||||||
video["vod_play_from"] = "$$$".join(names)
|
|
||||||
video["vod_play_url"] = "$$$".join(play)
|
|
||||||
result = {"list": [video]}
|
|
||||||
return result
|
|
||||||
|
|
||||||
def searchContent(self, key, quick, pg=1):
|
|
||||||
body = {"keyword": key, "sort": "", "type_id": "0", "page": str(pg), "pageSize": "10",
|
|
||||||
"res_type": "by_movie_name"}
|
|
||||||
bba = self.url(body)
|
|
||||||
url = f"{self.host}/api/v1/movie/search?pack={bba[0]}&signature={bba[1]}"
|
|
||||||
data = self.fetch(url, headers=self.header()).json()['data'].get('list')
|
|
||||||
videos = []
|
|
||||||
for it in data:
|
|
||||||
try:
|
|
||||||
videos.append(self.voides(it))
|
|
||||||
except Exception as e:
|
|
||||||
continue
|
|
||||||
result = {"list": videos, "page": pg}
|
|
||||||
return result
|
|
||||||
|
|
||||||
def playerContent(self, flag, id, vipFlags):
|
|
||||||
url = id
|
|
||||||
if "m3u8" not in url and "mp4" not in url:
|
|
||||||
try:
|
|
||||||
add = id.split('|||')
|
|
||||||
data = {"from_code": add[0], "play_url": add[1], "episode_id": add[2], "type": "play"}
|
|
||||||
bba = self.url(data)
|
|
||||||
data2 = self.fetch(f"{self.host}/api/v1/movie_addr/parse_url?pack={bba[0]}&signature={bba[1]}",
|
|
||||||
headers=self.header()).json()['data']
|
|
||||||
url = data2.get('play_url') or data2.get('download_url')
|
|
||||||
try:
|
|
||||||
url1 = self.fetch(url, headers=self.header(), allow_redirects=False).headers['Location']
|
|
||||||
if url1 and "http" in url1:
|
|
||||||
url = url1
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
except Exception as e:
|
|
||||||
pass
|
|
||||||
if '.jpg' in url or '.jpeg' in url or '.png' in url:
|
|
||||||
url = self.getProxyUrl() + "&url=" + b64encode(url.encode('utf-8')).decode('utf-8') + "&type=m3u8"
|
|
||||||
result = {}
|
|
||||||
result["parse"] = 0
|
|
||||||
result["url"] = url
|
|
||||||
result["header"] = {'user-agent': 'okhttp/4.9.2'}
|
|
||||||
return result
|
|
||||||
|
|
||||||
def localProxy(self, param):
|
|
||||||
url = b64decode(param["url"]).decode('utf-8')
|
|
||||||
durl = url[:url.rfind('/')]
|
|
||||||
data = self.fetch(url, headers=self.header()).content.decode("utf-8")
|
|
||||||
lines = data.strip().split('\n')
|
|
||||||
for index, string in enumerate(lines):
|
|
||||||
# if 'URI="' in string and 'http' not in string:
|
|
||||||
# lines[index] = index
|
|
||||||
# 暂时预留,貌似用不到
|
|
||||||
if '#EXT' not in string and 'http' not in string:
|
|
||||||
lines[index] = durl + ('' if string.startswith('/') else '/') + string
|
|
||||||
data = '\n'.join(lines)
|
|
||||||
return [200, "application/vnd.apple.mpegur", data]
|
|
||||||
|
|
||||||
def device_id(self):
|
|
||||||
characters = string.ascii_lowercase + string.digits
|
|
||||||
random_string = ''.join(random.choices(characters, k=32))
|
|
||||||
return random_string
|
|
||||||
|
|
||||||
def gethost(self):
|
|
||||||
headers = {
|
|
||||||
'User-Agent': 'okhttp/4.9.2',
|
|
||||||
'Connection': 'Keep-Alive',
|
|
||||||
}
|
|
||||||
response = self.fetch('https://app-site.ecoliving168.com/domain_v5.json', headers=headers).json()
|
|
||||||
url = response['api_service'].replace('/api/', '')
|
|
||||||
return url
|
|
||||||
|
|
||||||
def header(self):
|
|
||||||
headers = {
|
|
||||||
'User-Agent': 'Android',
|
|
||||||
'Accept': 'application/prs.55App.v2+json',
|
|
||||||
'timestamp': self.t,
|
|
||||||
'x-client-setting': '{"pure-mode":1}',
|
|
||||||
'x-client-uuid': '{"device_id":' + self.device + '}, "type":1,"brand":"Redmi", "model":"M2012K10C", "system_version":30, "sdk_version":"3.1.0.7"}',
|
|
||||||
'x-client-version': '3096 '
|
|
||||||
}
|
|
||||||
return headers
|
|
||||||
|
|
||||||
def url(self, id=None):
|
|
||||||
if not id:
|
|
||||||
id = {}
|
|
||||||
id["timestamp"] = self.t
|
|
||||||
public_key = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA02F/kPg5A2NX4qZ5JSns+bjhVMCC6JbTiTKpbgNgiXU+Kkorg6Dj76gS68gB8llhbUKCXjIdygnHPrxVHWfzmzisq9P9awmXBkCk74Skglx2LKHa/mNz9ivg6YzQ5pQFUEWS0DfomGBXVtqvBlOXMCRxp69oWaMsnfjnBV+0J7vHbXzUIkqBLdXSNfM9Ag5qdRDrJC3CqB65EJ3ARWVzZTTcXSdMW9i3qzEZPawPNPe5yPYbMZIoXLcrqvEZnRK1oak67/ihf7iwPJqdc+68ZYEmmdqwunOvRdjq89fQMVelmqcRD9RYe08v+xDxG9Co9z7hcXGTsUquMxkh29uNawIDAQAB'
|
|
||||||
encrypted_text = json.dumps(id)
|
|
||||||
public_key = RSA.import_key(b64decode(public_key))
|
|
||||||
cipher = PKCS1_v1_5.new(public_key)
|
|
||||||
encrypted_message = cipher.encrypt(encrypted_text.encode('utf-8'))
|
|
||||||
encrypted_message_base64 = b64encode(encrypted_message).decode('utf-8')
|
|
||||||
result = encrypted_message_base64.replace('+', '-').replace('/', '_').replace('=', '')
|
|
||||||
key = '635a580fcb5dc6e60caa39c31a7bde48'
|
|
||||||
sign = hmac.new(key.encode(), result.encode(), hashlib.md5).hexdigest()
|
|
||||||
return result, sign
|
|
||||||
|
|
||||||
def playlist(self, body):
|
|
||||||
try:
|
|
||||||
bba = self.url(body)
|
|
||||||
url = f'{self.host}/api/v1/movie_addr/list?pack={bba[0]}&signature={bba[1]}'
|
|
||||||
data = self.fetch(url, headers=self.header()).json()['data']
|
|
||||||
return self.playeach(data)
|
|
||||||
except Exception:
|
|
||||||
return []
|
|
||||||
|
|
||||||
def playeach(self,data):
|
|
||||||
play_urls = []
|
|
||||||
for it in data:
|
|
||||||
if re.search(r"mp4|m3u8", it["play_url"]):
|
|
||||||
play_urls.append(f"{it['episode_name']}${it['play_url']}")
|
|
||||||
else:
|
|
||||||
play_urls.append(
|
|
||||||
f"{it['episode_name']}${it['from_code']}|||{it['play_url']}|||{it['episode_id']}"
|
|
||||||
)
|
|
||||||
return '#'.join(play_urls)
|
|
||||||
|
|
||||||
def voides(self, item):
|
|
||||||
if item['name'] or item['title']:
|
|
||||||
voide = {
|
|
||||||
"vod_id": item.get('id') or item.get('click'),
|
|
||||||
'vod_name': item.get('name') or item.get('title'),
|
|
||||||
'vod_pic': item.get('cover') or item.get('image'),
|
|
||||||
'vod_year': item.get('year') or item.get('label'),
|
|
||||||
'vod_remarks': item.get('dynamic') or item.get('sub_title')
|
|
||||||
}
|
|
||||||
return voide
|
|
||||||
|
|
||||||
def aes(self, text):
|
|
||||||
text = text.replace('-', '+').replace('_', '/') + '=='
|
|
||||||
key = b"e6d5de5fcc51f53d"
|
|
||||||
iv = b"2f13eef7dfc6c613"
|
|
||||||
cipher = AES.new(key, AES.MODE_CBC, iv)
|
|
||||||
pt = unpad(cipher.decrypt(b64decode(text)), AES.block_size).decode("utf-8")
|
|
||||||
return json.loads(pt)
|
|
||||||
-225
@@ -1,225 +0,0 @@
|
|||||||
# -*- coding: utf-8 -*-
|
|
||||||
# by @嗷呜
|
|
||||||
import json
|
|
||||||
import sys
|
|
||||||
import threading
|
|
||||||
import uuid
|
|
||||||
import requests
|
|
||||||
sys.path.append('..')
|
|
||||||
from base.spider import Spider
|
|
||||||
import time
|
|
||||||
from Crypto.Hash import MD5, SHA1
|
|
||||||
|
|
||||||
class Spider(Spider):
|
|
||||||
'''
|
|
||||||
配置示例:
|
|
||||||
{
|
|
||||||
"key": "xxxx",
|
|
||||||
"name": "xxxx",
|
|
||||||
"type": 3,
|
|
||||||
"api": ".所在路径/金牌.py",
|
|
||||||
"searchable": 1,
|
|
||||||
"quickSearch": 1,
|
|
||||||
"filterable": 1,
|
|
||||||
"changeable": 1,
|
|
||||||
"ext": {
|
|
||||||
"site": "https://www.jiabaide.cn,域名2,域名3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
'''
|
|
||||||
def init(self, extend=""):
|
|
||||||
if extend:
|
|
||||||
hosts=json.loads(extend)['site']
|
|
||||||
self.host = self.host_late(hosts)
|
|
||||||
pass
|
|
||||||
|
|
||||||
def getName(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def isVideoFormat(self, url):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def manualVideoCheck(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def destroy(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def homeContent(self, filter):
|
|
||||||
cdata = self.fetch(f"{self.host}/api/mw-movie/anonymous/get/filer/type", headers=self.getheaders()).json()
|
|
||||||
fdata = self.fetch(f"{self.host}/api/mw-movie/anonymous/v1/get/filer/list", headers=self.getheaders()).json()
|
|
||||||
result = {}
|
|
||||||
classes = []
|
|
||||||
filters={}
|
|
||||||
for k in cdata['data']:
|
|
||||||
classes.append({
|
|
||||||
'type_name': k['typeName'],
|
|
||||||
'type_id': str(k['typeId']),
|
|
||||||
})
|
|
||||||
sort_values = [{"n": "最近更新", "v": "2"},{"n": "人气高低", "v": "3"}, {"n": "评分高低", "v": "4"}]
|
|
||||||
for tid, d in fdata['data'].items():
|
|
||||||
current_sort_values = sort_values.copy()
|
|
||||||
if tid == '1':
|
|
||||||
del current_sort_values[0]
|
|
||||||
filters[tid] = [
|
|
||||||
{"key": "type", "name": "类型",
|
|
||||||
"value": [{"n": i["itemText"], "v": i["itemValue"]} for i in d["typeList"]]},
|
|
||||||
|
|
||||||
*([] if not d["plotList"] else [{"key": "v_class", "name": "剧情",
|
|
||||||
"value": [{"n": i["itemText"], "v": i["itemText"]}
|
|
||||||
for i in d["plotList"]]}]),
|
|
||||||
|
|
||||||
{"key": "area", "name": "地区",
|
|
||||||
"value": [{"n": i["itemText"], "v": i["itemText"]} for i in d["districtList"]]},
|
|
||||||
|
|
||||||
{"key": "year", "name": "年份",
|
|
||||||
"value": [{"n": i["itemText"], "v": i["itemText"]} for i in d["yearList"]]},
|
|
||||||
|
|
||||||
{"key": "lang", "name": "语言",
|
|
||||||
"value": [{"n": i["itemText"], "v": i["itemText"]} for i in d["languageList"]]},
|
|
||||||
|
|
||||||
{"key": "sort", "name": "排序", "value": current_sort_values}
|
|
||||||
]
|
|
||||||
result['class'] = classes
|
|
||||||
result['filters'] = filters
|
|
||||||
return result
|
|
||||||
|
|
||||||
def homeVideoContent(self):
|
|
||||||
data1 = self.fetch(f"{self.host}/api/mw-movie/anonymous/v1/home/all/list", headers=self.getheaders()).json()
|
|
||||||
data2=self.fetch(f"{self.host}/api/mw-movie/anonymous/home/hotSearch",headers=self.getheaders()).json()
|
|
||||||
data=[]
|
|
||||||
for i in data1['data'].values():
|
|
||||||
data.extend(i['list'])
|
|
||||||
data.extend(data2['data'])
|
|
||||||
vods=self.getvod(data)
|
|
||||||
return {'list':vods}
|
|
||||||
|
|
||||||
def categoryContent(self, tid, pg, filter, extend):
|
|
||||||
|
|
||||||
params = {
|
|
||||||
"area": extend.get('area', ''),
|
|
||||||
"filterStatus": "1",
|
|
||||||
"lang": extend.get('lang', ''),
|
|
||||||
"pageNum": pg,
|
|
||||||
"pageSize": "30",
|
|
||||||
"sort": extend.get('sort', '1'),
|
|
||||||
"sortBy": "1",
|
|
||||||
"type": extend.get('type', ''),
|
|
||||||
"type1": tid,
|
|
||||||
"v_class": extend.get('v_class', ''),
|
|
||||||
"year": extend.get('year', '')
|
|
||||||
}
|
|
||||||
data = self.fetch(f"{self.host}/api/mw-movie/anonymous/video/list?{self.js(params)}", headers=self.getheaders(params)).json()
|
|
||||||
result = {}
|
|
||||||
result['list'] = self.getvod(data['data']['list'])
|
|
||||||
result['page'] = pg
|
|
||||||
result['pagecount'] = 9999
|
|
||||||
result['limit'] = 90
|
|
||||||
result['total'] = 999999
|
|
||||||
return result
|
|
||||||
|
|
||||||
def detailContent(self, ids):
|
|
||||||
data=self.fetch(f"{self.host}/api/mw-movie/anonymous/video/detail?id={ids[0]}",headers=self.getheaders({'id':ids[0]})).json()
|
|
||||||
vod=self.getvod([data['data']])[0]
|
|
||||||
vod['vod_play_from']='金牌'
|
|
||||||
vod['vod_play_url'] = '#'.join(
|
|
||||||
f"{i['name'] if len(vod['episodelist']) > 1 else vod['vod_name']}${ids[0]}@@{i['nid']}" for i in
|
|
||||||
vod['episodelist'])
|
|
||||||
vod.pop('episodelist', None)
|
|
||||||
return {'list':[vod]}
|
|
||||||
|
|
||||||
def searchContent(self, key, quick, pg="1"):
|
|
||||||
params = {
|
|
||||||
"keyword": key,
|
|
||||||
"pageNum": pg,
|
|
||||||
"pageSize": "8",
|
|
||||||
"sourceCode": "1"
|
|
||||||
}
|
|
||||||
data=self.fetch(f"{self.host}/api/mw-movie/anonymous/video/searchByWord?{self.js(params)}",headers=self.getheaders(params)).json()
|
|
||||||
vods=self.getvod(data['data']['result']['list'])
|
|
||||||
return {'list':vods,'page':pg}
|
|
||||||
|
|
||||||
def playerContent(self, flag, id, vipFlags):
|
|
||||||
self.header = {
|
|
||||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.6478.61 Chrome/126.0.6478.61 Not/A)Brand/8 Safari/537.36',
|
|
||||||
'sec-ch-ua-platform': '"Windows"',
|
|
||||||
'DNT': '1',
|
|
||||||
'sec-ch-ua': '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"',
|
|
||||||
'sec-ch-ua-mobile': '?0',
|
|
||||||
'Origin': self.host,
|
|
||||||
'Referer': f'{self.host}/'
|
|
||||||
}
|
|
||||||
ids=id.split('@@')
|
|
||||||
pdata = self.fetch(f"{self.host}/api/mw-movie/anonymous/v2/video/episode/url?clientType=1&id={ids[0]}&nid={ids[1]}",headers=self.getheaders({'clientType':'1','id': ids[0], 'nid': ids[1]})).json()
|
|
||||||
vlist=[]
|
|
||||||
for i in pdata['data']['list']:vlist.extend([i['resolutionName'],i['url']])
|
|
||||||
return {'parse':0,'url':vlist,'header':self.header}
|
|
||||||
|
|
||||||
def localProxy(self, param):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def host_late(self, url_list):
|
|
||||||
if isinstance(url_list, str):
|
|
||||||
urls = [u.strip() for u in url_list.split(',')]
|
|
||||||
else:
|
|
||||||
urls = url_list
|
|
||||||
if len(urls) <= 1:
|
|
||||||
return urls[0] if urls else ''
|
|
||||||
|
|
||||||
results = {}
|
|
||||||
threads = []
|
|
||||||
|
|
||||||
def test_host(url):
|
|
||||||
try:
|
|
||||||
start_time = time.time()
|
|
||||||
response = requests.head(url, timeout=1.0, allow_redirects=False)
|
|
||||||
delay = (time.time() - start_time) * 1000
|
|
||||||
results[url] = delay
|
|
||||||
except Exception as e:
|
|
||||||
results[url] = float('inf')
|
|
||||||
for url in urls:
|
|
||||||
t = threading.Thread(target=test_host, args=(url,))
|
|
||||||
threads.append(t)
|
|
||||||
t.start()
|
|
||||||
for t in threads:
|
|
||||||
t.join()
|
|
||||||
return min(results.items(), key=lambda x: x[1])[0]
|
|
||||||
|
|
||||||
def md5(self, sign_key):
|
|
||||||
md5_hash = MD5.new()
|
|
||||||
md5_hash.update(sign_key.encode('utf-8'))
|
|
||||||
md5_result = md5_hash.hexdigest()
|
|
||||||
return md5_result
|
|
||||||
|
|
||||||
def js(self, param):
|
|
||||||
return '&'.join(f"{k}={v}" for k, v in param.items())
|
|
||||||
|
|
||||||
def getheaders(self, param=None):
|
|
||||||
if param is None:param = {}
|
|
||||||
t=str(int(time.time()*1000))
|
|
||||||
param['key']='cb808529bae6b6be45ecfab29a4889bc'
|
|
||||||
param['t']=t
|
|
||||||
sha1_hash = SHA1.new()
|
|
||||||
sha1_hash.update(self.md5(self.js(param)).encode('utf-8'))
|
|
||||||
sign = sha1_hash.hexdigest()
|
|
||||||
deviceid = str(uuid.uuid4())
|
|
||||||
headers = {
|
|
||||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.6478.61 Chrome/126.0.6478.61 Not/A)Brand/8 Safari/537.36',
|
|
||||||
'Accept': 'application/json, text/plain, */*',
|
|
||||||
'sign': sign,
|
|
||||||
't': t,
|
|
||||||
'deviceid':deviceid
|
|
||||||
}
|
|
||||||
return headers
|
|
||||||
|
|
||||||
def convert_field_name(self, field):
|
|
||||||
field = field.lower()
|
|
||||||
if field.startswith('vod') and len(field) > 3:
|
|
||||||
field = field.replace('vod', 'vod_')
|
|
||||||
if field.startswith('type') and len(field) > 4:
|
|
||||||
field = field.replace('type', 'type_')
|
|
||||||
return field
|
|
||||||
|
|
||||||
def getvod(self, array):
|
|
||||||
return [{self.convert_field_name(k): v for k, v in item.items()} for item in array]
|
|
||||||
|
|
||||||
Binary file not shown.
@@ -1,22 +0,0 @@
|
|||||||
var rule = {
|
|
||||||
title:'310直播',
|
|
||||||
host:'http://www.310.tv',
|
|
||||||
url:'/?s=0&t=1&a=fyclass&g=fypage',
|
|
||||||
searchUrl:'',
|
|
||||||
searchable:0,
|
|
||||||
quickSearch:0,
|
|
||||||
class_name:'热门&足球&篮球',
|
|
||||||
class_url:'0&1&2',
|
|
||||||
headers:{
|
|
||||||
'User-Agent':'MOBILE_UA'
|
|
||||||
},
|
|
||||||
timeout:5000,
|
|
||||||
play_parse:false,
|
|
||||||
lazy:'',
|
|
||||||
limit:6,
|
|
||||||
double:false,
|
|
||||||
推荐:'*',
|
|
||||||
一级:'.list_content a;.jiabifeng&&p:lt(5)&&Text;.feleimg img&&src;a&&t-nzf-o;a&&href',
|
|
||||||
二级:'*',
|
|
||||||
搜索:'',
|
|
||||||
}
|
|
||||||
@@ -1,73 +0,0 @@
|
|||||||
globalThis.getVideos = function(link, key) {
|
|
||||||
let html = request(link);
|
|
||||||
let json = JSON.parse(html);
|
|
||||||
let data = json.data;
|
|
||||||
data = data[key];
|
|
||||||
let videos = data.map((n) => {
|
|
||||||
let id = n.url;
|
|
||||||
let name = n.league_name_zh + ' ' + n.home_team_zh + ' VS ' + n.away_team_zh;
|
|
||||||
let pic = n.cover;
|
|
||||||
let remarks = n.nickname;
|
|
||||||
return {
|
|
||||||
vod_id: id,
|
|
||||||
vod_name: name,
|
|
||||||
vod_pic: pic,
|
|
||||||
vod_remarks: remarks,
|
|
||||||
};
|
|
||||||
});
|
|
||||||
return videos
|
|
||||||
}
|
|
||||||
var rule = {
|
|
||||||
类型: '影视', //影视|听书|漫画|小说
|
|
||||||
title: '360吧[球]',
|
|
||||||
host: 'https://m.360ba.co/',
|
|
||||||
homeUrl: '/api/web/h5_index',
|
|
||||||
url: '/api/web/live_lists/fyclass',
|
|
||||||
searchUrl: '/api/web/search?keyword=**',
|
|
||||||
searchable: 2,
|
|
||||||
quickSearch: 0,
|
|
||||||
filterable: 0,
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'MOBILE_UA',
|
|
||||||
},
|
|
||||||
timeout: 5000,
|
|
||||||
class_name: '全部&足球&篮球&综合',
|
|
||||||
class_url: '1&2&3&99',
|
|
||||||
play_parse: true,
|
|
||||||
pagecount: {
|
|
||||||
"1": 1,
|
|
||||||
"2": 1,
|
|
||||||
"3": 1,
|
|
||||||
"99": 1,
|
|
||||||
},
|
|
||||||
lazy: $js.toString(() => {
|
|
||||||
input = {
|
|
||||||
parse: 0,
|
|
||||||
url: input,
|
|
||||||
header: rule.headers
|
|
||||||
};
|
|
||||||
}),
|
|
||||||
预处理: $js.toString(() => {
|
|
||||||
Object.assign(rule.headers, {
|
|
||||||
'Referer': rule.host,
|
|
||||||
'Origin': rule.host,
|
|
||||||
});
|
|
||||||
}),
|
|
||||||
推荐: $js.toString(() => {
|
|
||||||
VODS = getVideos(input, 'hot_matches');
|
|
||||||
|
|
||||||
}),
|
|
||||||
一级: $js.toString(() => {
|
|
||||||
VODS = [];
|
|
||||||
if (MY_PAGE <= 1) {
|
|
||||||
VODS = getVideos(input, 'data');
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
二级: '*',
|
|
||||||
搜索: $js.toString(() => {
|
|
||||||
VODS = [];
|
|
||||||
if (MY_PAGE <= 1) {
|
|
||||||
VODS = getVideos(input, 'ball');
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
}
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
var rule = {
|
|
||||||
title: '56动漫',
|
|
||||||
host: 'https://www.56dm.cc/',
|
|
||||||
url: 'https://www.56dm.cc/type/fyclass-fypage.html',
|
|
||||||
searchUrl: 'https://www.56dm.cc/search/**----------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;/(\\d+).html',
|
|
||||||
class_parse: '.snui-header-menu-nav li:gt(0):lt(6);a&&Text;a&&href;.*/(.*?).html',
|
|
||||||
play_parse: true,
|
|
||||||
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);
|
|
||||||
input = {parse:0,url:JSON.parse(html).url}
|
|
||||||
}else{
|
|
||||||
input= rule.parse_url+input;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
`,
|
|
||||||
limit: 6,
|
|
||||||
推荐: '.cCBf_FAAEfbc;li;a&&title;.lazyload&&data-original;.dAD_BBCI&&Text;a&&href',
|
|
||||||
double: true, // 推荐内容是否双层定位
|
|
||||||
一级: '.cCBf_FAAEfbc li;a&&title;a&&data-original;.dAD_BBCI&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
"title": "h1&&Text",
|
|
||||||
"img": ".stui-content__thumb .lazyload&&data-original",
|
|
||||||
"desc": ".cCBf_DABCcac__hcIdeE p:eq(0)&&Text;.cCBf_DABCcac__hcIdeE p:eq(1)&&Text;.cCBf_DABCcac__hcIdeE p:eq(2)&&Text;.cCBf_DABCcac__hcIdeE p:eq(3)&&Text;.cCBf_DABCcac__hcIdeE p:eq(4)&&Text",
|
|
||||||
"content": ".detail&&Text",
|
|
||||||
"tabs": ".channel-tab li",
|
|
||||||
"lists": ".play-list-content:eq(#id) li"
|
|
||||||
},
|
|
||||||
搜索: '.cCBf_FAAEfbc__dbD;a&&title;.lazyload&&data-original;.dAD_BBCI&&Text;a&&href;.cCBf_FAAEfbc__hcIdeE&&p:eq(0) p&&Text',
|
|
||||||
}
|
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
var rule = {
|
|
||||||
title:'88看球',
|
|
||||||
// host:'http://www.88kanqiu.cc',
|
|
||||||
host:'http://www.88kanqiu.bar/',
|
|
||||||
url: "/match/fyclass/live",
|
|
||||||
searchUrl: "",
|
|
||||||
searchable: 0,
|
|
||||||
quickSearch: 0,
|
|
||||||
class_parse: ".nav-pills li;a&&Text;a&&href;/match/(\\d+)/live",
|
|
||||||
headers: {
|
|
||||||
"User-Agent": "PC_UA",
|
|
||||||
},
|
|
||||||
timeout: 5000,
|
|
||||||
play_parse: true,
|
|
||||||
pagecount:{"1":1,"2":1,"4":1,"22":1,"8":1,"9":1,"10":1,"14":1,"15":1,"12":1,"13":1,"16":1,"28":1,"7":1,"11":1,"33":1,"27":1,"23":1,"26":1,"3":1,"21":1,"18":1},
|
|
||||||
lazy: `js:
|
|
||||||
if(/embed=/.test(input)) {
|
|
||||||
let url = input.match(/embed=(.*?)&/)[1];
|
|
||||||
url = base64Decode(url);
|
|
||||||
input = {
|
|
||||||
jx:0,
|
|
||||||
url: url.split('#')[0],
|
|
||||||
parse: 0
|
|
||||||
}
|
|
||||||
} else if (/\?url=/.test(input)){
|
|
||||||
input = {
|
|
||||||
jx:0,
|
|
||||||
url: input.split('?url=')[1].split('#')[0],
|
|
||||||
parse: 0
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
input
|
|
||||||
}
|
|
||||||
`,
|
|
||||||
limit: 6,
|
|
||||||
double: false,
|
|
||||||
推荐: "*",
|
|
||||||
一级: ".list-group .group-game-item;.d-none&&Text;img&&src;.btn&&Text;a&&href",
|
|
||||||
二级: {
|
|
||||||
title: ".game-info-container&&Text;.customer-navbar-nav li&&Text",
|
|
||||||
img: "img&&src",
|
|
||||||
desc: ";;;div.team-name:eq(0)&&Text;div.team-name:eq(1)&&Text",
|
|
||||||
content: "div.game-time&&Text",
|
|
||||||
tabs: "js:TABS=['实时直播']",
|
|
||||||
lists: `js:
|
|
||||||
LISTS = [];
|
|
||||||
let html = request(input.replace('play', 'play-url'));
|
|
||||||
let pdata = JSON.parse(html).data;
|
|
||||||
pdata = pdata.slice(6);
|
|
||||||
pdata = pdata.slice(0, -2);
|
|
||||||
pdata = base64Decode(pdata);
|
|
||||||
// log(pdata);
|
|
||||||
let jo = JSON.parse(pdata).links;
|
|
||||||
let d = jo.map(function (it) {
|
|
||||||
return it.name + '$' + urlencode(it.url)
|
|
||||||
});
|
|
||||||
LISTS.push(d)
|
|
||||||
`,
|
|
||||||
},
|
|
||||||
搜索: "",
|
|
||||||
};
|
|
||||||
-1013
File diff suppressed because it is too large.
Load diff
@@ -1 +0,0 @@
|
|||||||
h36A5I5KdeB29zb3iwNWV7a3MYE6Y18u3cJH5bnVEiBMInol+AWLyYRhMoXt+lukLeLVi8mH5chh7t4ykBIC7KRrCMLAwX45J1m+HiBtRpCc+A64kIiK90qY2fULIDUayXzXika0VljZiavK+YpOQtF96tvv1NRXMFtlhJA8DCCbfL35FiHAnO315mMWSBUrrLt55iq+k+/SjGidokQVAh/ihnSgXxNgvpfkCSM3MYoXyn80jfGT48aglPsEK7IvB3d00HaUQQKitmA7Ipu55fP+PaXZOxfXehJDLXehfxv2kzcvEiuJyY/D2TpJZ8A31x7uQbbzu+lOXcwzI/MIf2o8D4WKPY1r1lMx+ilkqRwKDhNh+hLbb4imECqepXUI2f4q7p4SozQgJ/1hRAy03sHMUkNSSJkLmYTPIKUAn8Hk9iG22M5q1isxm4ElQ+j/69zHXq+01dPBPma9mQzC9uG4pYekCyg0D5JnpdKPxRruINJaHrJ4cghZCJRS53MUB4oMIN1ASgMIhgGsaKW15vPASusfOj/JotAqWL+9zzjCbFxzy7Lnw1EbBpq4PLDcRdZ7rX7qII2/9ceSiZ4fk4UnVFSUdwkBQ5+Tsl9JKeAIx6bF0g56jH4FSk/KHwAKcqoJxZO50BAGWl1xfUkHiIqChPtwwZJD4EAjPCCtHcQ0v7Eq+VCRuJs7yWN5Q+m18+DzagbOTh0gXWPk3XsiJhsx4CXfhk8QqMjKGXQpgj287q2blkTbtidwf44lqOHNMWowpdOfCYmL+BBa0tKpjmxNK9G78ZmJc8QR6SDCX050qzVRSxvIP6MeMYVLomXZ8cCZzl+7+D7sBMyK0mkwWD+rIhI1RH/knDsVQz1jJfYErDOxkeH99OfZ3dE1AyHL+t1U62GEza3DCXHBRaGdBntaodn0jTqhaIGW95bXjf4PKOdNgDb/heHFqm8A30AfoGBoz/C+aLrNbNkYhIXVG/jRAZEwuedhXAvk/wxKWJF+51/U65t3AHlqxvIOsX6O5hLziOFqLWslOjh91/GkcIi/B0Dq/V820Q0V54hXCuADODKp7PxP0KfJn9r2N73jAzWXnS+0GJmqv2RVu1WhrzBbmDNJt4ffbiiEJubeJ9OlwSMTyAIJ2paf9r5iaJPPhnow77DvX5ka9176YCXTc3Klgeli+VsZ8Amvl1HjTD4M+X68vEEdb8Or3U5T4vSlZfzTj6p/JPbb1/URYod77ZsgANHP4SzCylxUETwen/XoylhuUl53R+NNQu7tfYvkL192ymxP0n9vU5KKtcwn1IYGNJG1hmA3h/EF93LHFTFOtja61iU4ZQEU0m99SvDGAZFSeObI/gwzFCuO3Zxnscv8oKpcQ/goavqsD48rtHfR//mhfGEK4FcBiuLPGKRhK7SfhtBaZW8mOLaRTr+R9TmhNzlHpoU7xG94nSEV9PFRj+S5+KXanPzfB/mz+KNQCqs7rYKZ8aMTXqHLcdaoB8Iukk87PTqm5FfyFP0OzoOy70nTnPKwzD11bYREBlVvy1/8B34JE7wLM9OkwObG3IbGhMSAVaYd15Ul6+YE+C6IPOVkhjRhTih21TvXg6J6T+4H1RBBRByEKm23Ax3ufk0hqdS5wNd+r1Y3CoK2tNrKAeqQt3DxoQlnj1q8KDRt7rQLBqP0844exVwojXmj3B6YqbISiA3tZsUzCZE/oRJYbFYg2EL0XW2PuW/7baoFggZYkRO2qMQg2JxM2jHBoE6kci1o6U4CsaqdJctTLwtkX8K/KtQirgXVo2s02CgxnpVJYNd9uAp5619VzRvBQPQlEyL4KqfEPLgefa/N5OPyny5njk251m78DuRv3vfQH6vgSwKn9rtlNw/xpwWfuOIH0Ec+it8L+UjoqQmP8y3JVJyOpugmlcjTRvJScvhxUm99oOsncGjmU9zGjqJIYltrLox6ZePJoNRvzfIVJNQr2m9+VWAxJsweZ1g0xqYz1BE+fkuwD65dUqBMMGvJIg8NeAqTK65YlPUIFdc5WmOhZD196n/6pDZXXW7oKvt/A/5E8l5r0mHLpj8kJ/bM6hIpMZDVn6Ftrj6sw/X6j20wy4peW651L5vSQE6TDXjpGlOxAK49ES5dq1K/yGj1My3VMLESsB+nEYlFTsQmywxDh9I0moWSLt2J02PJ54vO4KYaCf83QCAD2GfpD9J0am63h4DcbpQpgqQJEonMX8nT4Fq+sJxXHRgy+sINJLwf/RjDj09AAV5rnFdpEDp+EeEcoqhLmuuipEhdZiekkEsYi9PKbCW5tb+UUGY6msZfEb7zVk3LEH5QJg1HrEdk1KFu3k0E1u/axO9pd2mjde1ayW41PWqh8Z0XBTWX29vxgEOMrH5UrCYJrXuku30HyInbfuySDaX+Eh5Eh9ROUYTydNpk8vos1ZAImwe5jtv9HziMn0PH1cQVfE9UbzjYM+B0LAVuSMMtCOtteWIteViA6mWu9MZ9yNsh8j1H03BIUgyP3u14kKVFjTcEceMh0t2AyNwmcfXn3gRPZh2ZMFvznwdV97AyInsHQLgc9zR5OY5O9XFX6ZE7e6MnQTT/VeFNmau+7onJApcupYHTbwNKH0uNzQFZebioD7c6xDuQ+YGsgB0IELP1vFy39Z/0lkwIq+jY8FGODXpQLpbbgX7CrhgAQ4IgOzHarkL6hi84tYCwuk3ET3NlZoItujjxEi5AtjzJfvQ5iOcM1gJHRJBLeeDbc2tlEo2GNBG/N8/EgLPARaPLxyPwH+SmJetqztUmCsU12h1LA6oQNV7Izkn1YB0+Gq+jCCc2DSrm+MdZiP0zVueiPqtx9BD6dIqW15oyCJh4iG4KnhdBgQCLfbuigHgWtDL24ZvZYEk5GX9J32uQhAvjoNypYGKxh9/SaFWqbjRGkNYd5dnzpZH3o1bsfYKSRgobfDqHu60iuFkcSNhcbI/FSEkKb9lDFrN1izpSuuQFOhvzsZ2/VuBBMVoEsf2TJXxiuVSMAf0E0A5pe3SpOUkNcPqjOrPXzeBp87DflBYlL8ZP0pH4Xs9UtPpyn9YsYSigUr7VgGV+Jc5jglZYUm54R2yVKYxvIdgRe/NheVpcwwk2Mt5DgM9JIwBmKe059g6prqJl2ubpA6P0tjCuWuwivOtyJpmGtEqvy59Sc9WHfIbBb/Cm+ascYQvCo48k5qhYSu1P+FDTmde5UnIo69M1TL3nMBoq2/KrlUjvPk7SA5RHvzkQjI0aPPFDT/CsSiUPPykm6JSptunOOOKt9cI1u541eaAV3hVeRIyDGClqpdmsMDv1IgosGrP8uKlzKDcVTkvSyfmp8EM7p0+SpMIF64dsd2Rc0MAbFTV0refyRTwSj7Mlr92Z4GbOEXK2tOGRkF/n8zOA9fqLW2BX2WTzURlMxOQtzaxOEV72A5eryUxHE6zigQ9hEWrFHs+KpeQ6UC/3Wy6B57awXYbPfgqxnTl090iswVfAyMgLyMgbK+LvOVkc9VpXeQQLz32u55t9puVYdMiQUxAV7pCQK6B/PZn0XUhs73vriy/ZxpTIBCC1d2l8BZtRewcXmhTzStytYjLCPuVgzVzSSNivT1VaFUfKdu8YDEHQeuE+sD4r5Groq59NwVT1KwPtMTzm4ABQi2vuVZ6QRaF9HIZBjH5qe7HIq57dRCCye4Ezn/lRo4uAtnuXw1QSxEuAioBEmfNbkLlAPvYfcfTxb9vPCUN2vI1UXtNRVhDiUnG7GkKftzukCwLHhli8i4F2ThPDTF+4XwQ1jx66QEgOX1FNVqffT02Bw9m77KGbIM8ezd2V6JP604hUpQh1Rtv9vBDg9xgv02hIe2czuqqHEhOZ0FwkQPidoIeBfqF3JcXlOYIO4oLRtHynNxsV139LKT/N+9pSX1XADAnpN0GFglxcii6fAR6txaxDJSgEQHVTfLRFJ7FdImIfkz8k/JZMRzo5p9XTNc4d8DANVvKP5tDSMxBISgcqML3DHfJS7NOvk6q0AqqTpNk7BIx0A8EUkaP23hlXx1jE7RjGn6azUW326sni2Zb8gsVzoqV7imnfCjGBf03aqHlVGeBdVVCXbATWJmUA69ZJN+JLvgNnXxR06rD/RuJhsYXrYBeeyNbG3XKdOwslxbeQ0NuwyzlB0HtlzDe5aI/q+y7cNTmF3ISH5v5jgpJYdjlEYrscdh1IjTmJ+l/4qKwzxIYg/qZFAjDKX0z8zJWiGCbBfKCbFAL8gWylVIeEJOBx+AC0/vHZ6x/Z1/sYYNltg4v+PqJoZ+6rN2mp+qBBQLY4cGGZjzw2EVBcOvrtUZAFza96L6dWCbGpZQpIKMAAIlsZj6t3DE/CFAA3OXscUVmpeKM0p5QbrxwBRdPkG73j1EvxtdlwhbJ09Z2nHd+c1tG4kXOkRIrC/YonvTYrXaUWlaM+ajm00B/GWdA9b+lWedp/dv9s5a8SILAZczqA66OQ3Vz8isq0GslMMsVQ8CVdv01SLdGNk2KmzTMwDE2SB3m7wzfApP2zLDHBAE9LP9NSfSCw7POtm6x43fw8S1t4J0kNEzGevsFFuCyxRg26uF7yk/I+iaU2f1vv8MXL0KSUeH09ZdH3PpGIJGQvapIJoUIGy1beAVH8nrKasFUEjKCGFRuKldGAWYYMiqmSjAzRDgR1xyAKdHiMYges5TFcNA0tWTEZSQQ7LcfHq0nNtY0ApWb6jrbiHR0+V7tloA/zhaxvOENb+bnsQXfHsdvxPQxbDijLFdadayQcMbEaEnYjnQ+JYZlImbZ5kiXMl0Ri18Fk3f4dK1pM4Ye1xBqg40arhYQWFmxulGTxFb+08jdE8wf/g4M3QZ0yfjzAhUyxLfhdhLnEyuTEYL0XvnDvaDKOSzjl4aDEcOMN+vhcbOcJv9Jsxsyokf1b8QcQKY2BziTEE+Dnw98zZYfpjMiKeriLoV7fnvsFOxGqoHXW72zkosCkpWuz2KrMJi6GrQf2yRi2IGkYJ6VHxaOtaghkJwEI1Ab4/v7Line truncated
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
H4sIAAAAAAAAA+062Y7j2HXv8xWEMFBVtaq4iBRFVUFpaN93iVqmZ3q4XIoUV3GX2gUECBDAiTMxggTwg5EAeRkDeYkBB3DGdr7GPTOf4UtSVaUq1RR67Imfho0ukeeefbn3HEo+ZyO2pwGkiLz7CEFcxdXANXL2/rd/9+2//R+lnl1CoGw6LoTJrms51xgWcJbro465Nj1UMPUYxbM1iIEZnKVgviICE7PBa0HjHKdIpCW7KCmaC+y0DbZFTXHcNDCgpF1R2iULBzE6mMV8IklQEJGl0Gw2ixIEjeawaFnkXC6+QTeOacRUDuBsQX5MR1AoQWbRXA7NkhivYTqPQcVQS7YwyzYj/TDfFLHXnFCMlY1VCsTiq1fpRBPAicB2rmOXIMjZzAH2VWkNlT6DUnrmXtE0DsuhOHI+VwzRDBykP0UIHMVvEAigqRskpKkLpGRZGpgDvqO4WI7MoySNnHea0173EtEUFSANIKjmBVKRbWgSNJdG8egfMuEkzlYOJGdQh9sHSzk+ClA2Amw9RVAnMfQaISJI4s0E5QjwNgmPtIsjktaAUcziacfdaaD47p2kod/8+nfv//0fb2/Te9M4gN7/8r/f/+wrCNpBAQfQ//7mj7/7AwQBXQAHtK9/8cXXv/gPCDNt6LID7It/ef/VP0OY43K2C4NscWuQeDZW4K3B6VGSffOv//P+D79Ow49vv/z79z/9Mv3N737/7U+/Sr//h199/fv/OsI/qK9oetoFGrA0bpd2fUc2g7QAJZiHVEiMhZhNymmV7q5MVpgTPW4ynjZJrGfNNnt/ndv0VxKw+cGiPLEbxHbKhh2ysddmWxgXB1+3rFJjOQ5EFodJvlnXR3y5ux+KPXLXbXLLfKu0MbT2zurM8P40s2GMLmbsB8aUXDD8cB9SXJdi/HxBkAaLXAHUfUKTCgQllQcZnzbyeTKnz4ekruwDyzasQqNrhyLIcCtJ4kGQ6Yp+rk9P+0uOpAuZrrVoOTM5myewCiByJT7sAX4YjCwa1BpVOluayB25YzfNPp2drrO9SaU+b5czXcEIOmy71h0sNovyXMcpELTkMJx0GK+8GFS4stoYdJqeLjbk3XTUW7Mzie6tZoySG+zqeM7k1nzPqHXbE6ZWHrbnJW0trgPDH7ntplNpCWCW0cMaW13ra7bCuj1vInAK1AXKIMZSn2nVYxltbJozsEbXDeX2rM32PJN11/Rw0dJHS8LMEQUrkHOL1pSbj/P7QJKaC7efWzOZfEcIXL65JUtBBqczA2/oeHlLIdf0YKpUZ8PhctsQKaZkzdTRtlCReUBPyixXqeo6Jee7oldZlmstEOyEjqWMxo7bzupAGCwrc2g3dPN6151MuipvN+dBe6SOLAarl5euIwWDnskyVianidmtyHlkyJfoPM5MbIecGxneyBlMc9ltVbgR1tM3+wo7Jjlz3+htGfgJqjXWDvGtkNt0jBK+JTVmVB8PghGYrSy/26tac0PvWdMBMQHLijXM18sQU2VctVdvYC4YMFymHvr5xcZv+LLAZ4g8nR1Iq1meLpRxhinZdb/rVcJ2vUdaDF5XaWzQl6XA6GeoiafIAxWbB+ONBfjJLLPVOsHE3+RWoq4PJsROrBn2gpA5n8/idJXLhmKX3/Ht6cLFCds3KJMGKzGj5GmsLksiufOtPd4u7/eNqSNPt05jOSHLpZas0dq+YLqbLGnOBw0gM8tlCH08Yjy+OgCO7zpmdpNpQP93vEoEIK06nVuOJoxW2Q3IcY8bNgfLIT+YDpezKt9rBzljuquqen21H5YKZIvSRxobVvebhWo5C7VhtGptEYyEAM8RuUre9lqcsO1tbaVpNIzOSNH91oIVw+rUWKhtd7vrEvkMI02GpNTdOA7bZxfslsxR5amy3vX8vj1pYeMpL5SU2mLW3a2bO1ges2orXPSp1USWQaNm14bbLNUOrF1FzUX5DZzZ1B6zzb42m480fjfOV3dqoOQK9jYkdWqczdh4TWrvuc0q1+gu8fasM5hAD48wRdDwqenyooI5uVaeVVvziY4HG6y8x1Vl1VmUPFGtqu0BDGabXfo1ymY6/CLywbxdrzuUQtiDutodGtmyVhXyi7KZZZeTSRXPiU4I5NWsNZiM5zgZdEOjBzxqk2tZwZ7t8/v60OjWspkFoFh1lq2NenKnTLD7vTlgy82WtM1VjOU+KAytXq+PL6c2k5vLrG0oIV3DiGBbW3QlpUNahSWXaVAsH1IVpVCgVWFlGXLQULEFbeya7G4O06ixC3pdctCs143hYj9UGvnKEsob8nZG3UqV7BzWWlMwVg3ebwV7Z7JeVdhA1bMVPyOPlK460PezzFBdLVqjSmvia8u8TXfpQK11u5Op2TZ8p96BuS8vhP6QI7eaPCHcdm3B0iHenJfKMDxGTTZos88OGKdFEiNcH2eY+XZBFerZ0pLhRpTlWLndbuYt5qov61g5I5VG6mq/mC4FMT8sMb5IcbPqvDdojtRKC4hTf1qhmVZtpUS66tq+P6yvy+MlP6tyHiDCqt7Z6JtKk1l6zT7jdif03tcqVd/Qcxa7zATr0O6X6Cqezwp+KbPT22pjuIWFMlkOZtNCbVI3ezK9N4iKl59WHb+01AJ51eEruhx6rU5WkOE+zFbyJF23gsJarOQ1yhR3Vq814FaO1hDXZdxRYGr2h/MVAWq4UpO61GbKL+v8vqQG6xzAXI0KNmAw02s+PAfapMrNJ7Wu3A4KYRjKOYxqyl7TX3ZpdtzbDLc8XRdZpQ1zjRxhHr6XCUvsV6f75hKvS3pLmVW91TxLjYPQmJGNYaOfm4RTQgENhy1QG5lnF0KL4jxzPy7TIzHUyjkGK2NdfTxt52cMPIiLxfiUxjDY/OgK7Cjp5FE0vbhhkTjNAREoOt/fWpztQKBrezFM4/a7a+TjjYO65sS1FWN9fn6BFP/m0KJpwEVE2MN+8ulN/Cx5huAqpoEIMuyxWNhNRU3RuX+4uTiQIYgiIefYG1QnPeZjDHWB4x4h/eQnSLRmUSdLDwwQxAauZxvI3drNYeEWAdCeRMBn+s71X+IR6Q+7HGjBdzaxfNRbR3yiPvY1RC6e3TyiV8EO0lfsneWa7Qnaq+buZSEZJLXl9oETElmSQlMXD168eMTDUdbGUyaPKCGnewO+i4nnQRaRNQ+4kQJpfQdVLEYs4OfNU/+1J4M+Gkf9HI4JXuQqz7tE3h1140gqVGBrbFxFaqauE21vkduLCxSKe8bvsqtrL8buPk+inAP2uWJYnnuMALNRlGRoz8ax0Oj25mgJskQiEXD5TuWEwVOkJLQR+XmEf4mk0HjwiDvZtCLZsCFOpx1bSD0ixTDBNBxTA6hmrs9T6ePrbXKlMpD3BcQ9IotMh1BUMQTNE4FzfgbNvCazBOafXTw2LglY7OHDBHh8pR4GH+jt1P/f4JN/bvBJXT5VpyQIwIpVcUHoxtG95KAoReCiIGJhBMmET6G6drMt4mjhUtHhIIJxviIdbgPAW3dQy1hfvsJexajMIwZRmgHxCoRw+jLW4MYv8mSMlj9V0QHClSBfedyVbvKKBiJlX+OneGLiUuJ0xbPWNgzHlWJAXp4Nrg6p5XwHfiRRAi4U6ihuLM+AQ9xLeLopJnjQE2vOfRHXgxkQ2/CiZJhksTmiKXh6lC0nuFwcuisNOtCD7o6Q9/JVpX+5lw/BAUbi+lNay1ZMW3F3EZFXxC8R5RRnDOA8l6iaerR2++gpVjcqjkcbS3xziejAlU0xmh9rpeoZ3FZOCoXj7sr4fot6jhUkvUTOeHhgw6IWbMVy0+kmTM2zxxw/qLyTjSlzpsDL9/0ivM4yD2a8u5Mcf8Kd8JGEaO9JGEC9OQ7VuYgOS0BvnFdF+D91/slnqU8zF6kb7OIT4tObEwaK/4jY5gzxQ0j/fOsU/+LRfoYkKtwfSsAQ0JkrMYfTAqKfKv3kMHxCkmLr5ele9DbWuFCfl2WQesLi/lwo1SZvq0CI+JwHpi0+3T4TaXDndqC4COHmmWUxYXCsEOSLHsDnEfVlpPHlCfPI9Gv4/2m+I0hUxNcP/KJHtFKunCJanCjCM/oIF0LQoSo4+Se4txdPlT8czQdFH877E78+oXxcdKcH/LFXkxR4dITHLB6O8cdn2d1rSB/dbk+Ps+SkjSgcuIG752dxo3SanffVnDr0W0EQoIGu75zDX8GI3hli8JQD4etYa6clFkkmz6Th2aCIRQLHcSIdH+MzKCN1yl8Qjvg7vmKhO28vm54KNgr0pXXNMM/JIMgjCdSLEqBxBJTxTOsEbctEy4lfb5AnBRVlZaDA7c5zq6bOKUbiNAK1o7drAoAta+LnN9gb2HkqovcGheX8BsPgxnb2TL1Jiu24BF2RoRZRJRzzRh2Pd5LEgZs3QT9DboMIEWIkCfYCh2fJX672Y92eIY43l0cdaXT9uAPE15+9A9w8twUc+/JJyC9Oa/+7KvsuR++3gk2Ihrqk+dHXEVgyGl0+fF8RFZ6sOSjsiq4piiSjmnsd9XTFgrIBeEFRNzQpS+loOClQPJ4HOJ8VcMBkKSqdbB/PVl72+cq7L7rnHBCRHRv60endAfMwkNxPLc9NlQbcqLI/xFgZM/pxrvzgufKznSzqP4jnI0Y/Ov7DHd+Ysj+E29c/vkb5MK9/f9fyPPc9XJuqTZtXqScm/mA+PuH+Ic5+VqW/ltc/evj74PDHLzGPXzHF90dvbuJvSqO58PB8eIuK3z0n6lzHX/mjB92ORDrAHQPH09xzMXIPHGPh36+/+NW3//Tz7/HyNX7mXO758zFRP/F+hIVKpl3j4GSpuEB/YAptg89ohOEcoRwjJJKUSPTnf+lX/x+/U2B3E/364Tb9+UN4RdTyHPn8uBOJXayIx23W4VcTdxyOlxR9HS9YinAMhpOMEMM5wX6A379xuOvD7j6fjcsff/u333z15feMS5JQcQweev3ke/o3YgZ2958nDx+/O+8t3w5LjRpyhRAXyCski99+fvEhAU4aoDi0dqy
Line truncated
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
var rule = {
|
|
||||||
title:'JRKAN直播',
|
|
||||||
host:'http://www.jrs80.com/?lan=1',
|
|
||||||
// JRKAN备用域名:www.jrkankan.com / www.jrkan365.com / jrsyyds.com / www.jryyds.com / jrskan.com / jrsbxj.com /Jrkan备用域名1: www.jrkan2022.com 备用域名2: www.jrs23.com 备用域名2: www.jrskk.com 最新网址发布:www.qiumi1314.co
|
|
||||||
|
|
||||||
url:'/fyclass',
|
|
||||||
searchUrl:'/x/search/?q=**',
|
|
||||||
searchable:1,
|
|
||||||
quickSearch:1,
|
|
||||||
class_name:'全部',
|
|
||||||
class_url:'/',
|
|
||||||
//class_url:'?live',
|
|
||||||
headers:{
|
|
||||||
'User-Agent':'MOBILE_UA'
|
|
||||||
},
|
|
||||||
timeout:5000,
|
|
||||||
play_parse:true,
|
|
||||||
lazy:"",
|
|
||||||
limit:6,
|
|
||||||
double:false,
|
|
||||||
推荐:'*',
|
|
||||||
// 一级:'.loc_match:eq(2) ul;li:gt(1):lt(4)&&Text;img&&src;li:lt(2)&&Text;a:eq(1)&&href',//play.sportsteam333.com
|
|
||||||
一级:"js:var items=[];pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;var html=request(input);var tabs=pdfa(html,'body&&.d-touch');tabs.forEach(function(it){var pz=pdfh(it,'.name:eq(1)&&Text');var ps=pdfh(it,'.name:eq(0)&&Text');var pk=pdfh(it,'.name:eq(2)&&Text');var img=pd(it,'img&&src');var url=pd(it,'a.me&&href');var timer=pdfh(it,'.lab_time&&Text');var parts = timer.split(' ');var dateParts = parts[0].split('-');var timeParts = parts[1].split(':');var year = new Date().getFullYear();var date = new Date(year, dateParts[0] - 1, dateParts[1], timeParts[0], timeParts[1]);var now = new Date();var hundredMinutesAgo = new Date(now.getTime() - 100 * 60 * 1000);if (date > hundredMinutesAgo) {timer = timer.split(' ')[1];items.push({desc:timer+ ' '+'🏆'+ps,title:pz+' 🆚 '+pk,pic_url:img,url:url})}});setResult(items);",
|
|
||||||
二级:{
|
|
||||||
"title":".sub_list li:lt(2)&&Text;.sub_list li:eq(0)&&Text",
|
|
||||||
"img":"img&&src",
|
|
||||||
"desc":";;;.lab_team_home&&Text;.lab_team_away&&Text",
|
|
||||||
"content":".sub_list ul&&Text",
|
|
||||||
"tabs":"js:TABS=['实时直播']",
|
|
||||||
"lists":"js:LISTS=[];pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;let html=request(input);let data=pdfa(html,'.sub_playlist&&a');TABS.forEach(function(tab){let d=data.map(function(it){let name=pdfh(it,'strong&&Text');let url=pd(it,'a&&data-play');return name+'$'+url});LISTS.push(d)});",
|
|
||||||
},
|
|
||||||
搜索:'js:let d=[];setResult(d);',
|
|
||||||
}
|
|
||||||
-2299
File diff suppressed because it is too large.
Load diff
@@ -1,26 +0,0 @@
|
|||||||
var rule = {
|
|
||||||
title: '兔小贝',
|
|
||||||
host: 'https://www.tuxiaobei.com',
|
|
||||||
homeUrl: '',
|
|
||||||
url: '/list/mip-data?typeId=fyclass&page=fypage&callback=',
|
|
||||||
detailUrl: '/play/fyid',
|
|
||||||
searchUrl: '/search/index?key=**',
|
|
||||||
searchable: 2,
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'MOBILE_UA'
|
|
||||||
},
|
|
||||||
timeout: 5000,
|
|
||||||
class_url: '2&3&4&25',
|
|
||||||
class_name: '儿歌&故事&国学&启蒙',
|
|
||||||
//class_name:'#page-viewport&&ul&&li;.text&&Text;a&&href;/(.*)',
|
|
||||||
cate_exclude: '应用',
|
|
||||||
推荐: '.pic-list.list-box;.items;.text&&Text;mip-img&&src;.all&&Text;a&&href',
|
|
||||||
double: true,
|
|
||||||
limit: 5,
|
|
||||||
play_parse: true,
|
|
||||||
lazy: 'js:fetch_params.headers["user-agent"] = IOS_UA;let html=fetch(input,fetch_params);let src = jsp.pdfh(html,"body&&#videoWrap&&video-src");input=src;',
|
|
||||||
// 一级:'json:data.items;name;image;collect_num;category_id+video_id',
|
|
||||||
一级: 'json:data.items;name;image;duration_string;video_id',
|
|
||||||
二级: '*',
|
|
||||||
搜索: '.list-con&&.items;.text&&Text;mip-img&&src;.time&&Text;a&&href',
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
Object.assign(muban.mxpro.二级, {
|
|
||||||
tab_text: 'div--small&&Text',
|
|
||||||
});
|
|
||||||
var rule = {
|
|
||||||
模板: 'mxpro',
|
|
||||||
title: '剧圈圈',
|
|
||||||
host: 'https://www.jqqzx.cc/',
|
|
||||||
url: '/vodshow/id/fyclass/page/fypage.html',
|
|
||||||
searchUrl: '/vodsearch**/page/fypage.html',
|
|
||||||
class_parse: '.navbar-items li:gt(2):lt(8);a&&Text;a&&href;.*/(.*?)\.html',
|
|
||||||
cate_exclude: '今日更新|热榜',
|
|
||||||
}
|
|
||||||
-1216
File diff suppressed because it is too large.
Load diff
-211
@@ -1,211 +0,0 @@
|
|||||||
var rule = {
|
|
||||||
title:'央视频',
|
|
||||||
host:'https://api.cntv.cn',
|
|
||||||
homeUrl: '/lanmu/columnSearch?&fl=&fc=&cid=&p=1&n=500&serviceId=tvcctv&t=json',
|
|
||||||
url:'/list/getVideoAlbumList?fyfilter&area=&letter=&n=24&serviceId=tvcctv&t=json',
|
|
||||||
searchUrl:'',
|
|
||||||
searchable:0,
|
|
||||||
quickSearch:0,
|
|
||||||
class_name: '栏目大全&特别节目&纪录片&电视剧&动画片',
|
|
||||||
class_url: '栏目大全&特别节目&纪录片&电视剧&动画片',
|
|
||||||
filterable: 1,
|
|
||||||
filter_url: 'channel={{fl.channel}}&sc={{fl.sc}}&year={{fl.year}}',
|
|
||||||
filter: {
|
|
||||||
"纪录片":[
|
|
||||||
{"key":"channel","name":"频道","value":[{"n":"全部","v":""},{"n":"CCTV-1综合","v":"CCTV-1综合,CCTV-1高清,CCTV-1综合高清"},{"n":"CCTV-2财经","v":"CCTV-2财经,CCTV-2高清,CCTV-2财经高清"},{"n":"CCTV-3综艺","v":"CCTV-3综艺,CCTV-3高清,CCTV-3综艺高清"},{"n":"CCTV-4中文国际","v":"CCTV-4中文国际,CCTV-4高清,CCTV-4中文国际(亚)高清"},{"n":"CCTV-5体育","v":"CCTV-5体育,CCTV-5高清,CCTV-5体育高清"},{"n":"CCTV-6电影","v":"CCTV-6电影,CCTV-6高清,CCTV-6电影高清"},{"n":"CCTV-7国防军事","v":"CCTV-7国防军事,CCTV-7高清,CCTV-7国防军事高清"},{"n":"CCTV-8电视剧","v":"CCTV-8电视剧,CCTV-8高清,CCTV-8电视剧高清"},{"n":"CCTV-9纪录","v":"CCTV-9纪录,CCTV-9高清,CCTV-9纪录高清"},{"n":"CCTV-10科教","v":"CCTV-10科教,CCTV-10高清,CCTV-10科教高清"},{"n":"CCTV-11戏曲","v":"CCTV-11戏曲,CCTV-11高清,CCTV-11戏曲高清"},{"n":"CCTV-12社会与法","v":"CCTV-12社会与法,CCTV-12高清,CCTV-12社会与法高清"},{"n":"CCTV-13新闻","v":"CCTV-13新闻,CCTV-13高清,CCTV-13新闻高清"},{"n":"CCTV-14少儿","v":"CCTV-14少儿,CCTV-14高清,CCTV-14少儿高清"},{"n":"CCTV-15音乐","v":"CCTV-15音乐,CCTV-15高清,CCTV-15音乐高清"},{"n":"CCTV-17农业农村","v":"CCTV-17农业农村,高清,高清"}]},
|
|
||||||
{"key":"sc","name":"类型","value":[{"n":"全部","v":""},{"n":"人文历史","v":"人文历史"},{"n":"人物","v":"人物"},{"n":"军事","v":"军事"},{"n":"探索","v":"探索"},{"n":"社会","v":"社会"},{"n":"时政","v":"时政"},{"n":"经济","v":"经济"},{"n":"科技","v":"科技"}]},
|
|
||||||
{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2024","v":"2024"},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"}]},
|
|
||||||
],
|
|
||||||
"特别节目":[
|
|
||||||
{"key":"channel","name":"频道","value":[{"n":"全部","v":""},{"n":"CCTV-1综合","v":"CCTV-1综合,CCTV-1高清,CCTV-1综合高清"},{"n":"CCTV-2财经","v":"CCTV-2财经,CCTV-2高清,CCTV-2财经高清"},{"n":"CCTV-3综艺","v":"CCTV-3综艺,CCTV-3高清,CCTV-3综艺高清"},{"n":"CCTV-4中文国际","v":"CCTV-4中文国际,CCTV-4高清,CCTV-4中文国际(亚)高清"},{"n":"CCTV-5体育","v":"CCTV-5体育,CCTV-5高清,CCTV-5体育高清"},{"n":"CCTV-6电影","v":"CCTV-6电影,CCTV-6高清,CCTV-6电影高清"},{"n":"CCTV-7国防军事","v":"CCTV-7国防军事,CCTV-7高清,CCTV-7国防军事高清"},{"n":"CCTV-8电视剧","v":"CCTV-8电视剧,CCTV-8高清,CCTV-8电视剧高清"},{"n":"CCTV-9纪录","v":"CCTV-9纪录,CCTV-9高清,CCTV-9纪录高清"},{"n":"CCTV-10科教","v":"CCTV-10科教,CCTV-10高清,CCTV-10科教高清"},{"n":"CCTV-11戏曲","v":"CCTV-11戏曲,CCTV-11高清,CCTV-11戏曲高清"},{"n":"CCTV-12社会与法","v":"CCTV-12社会与法,CCTV-12高清,CCTV-12社会与法高清"},{"n":"CCTV-13新闻","v":"CCTV-13新闻,CCTV-13高清,CCTV-13新闻高清"},{"n":"CCTV-14少儿","v":"CCTV-14少儿,CCTV-14高清,CCTV-14少儿高清"},{"n":"CCTV-15音乐","v":"CCTV-15音乐,CCTV-15高清,CCTV-15音乐高清"},{"n":"CCTV-17农业农村","v":"CCTV-17农业农村,高清,高清"}]},
|
|
||||||
{"key":"sc","name":"类型","value":[{"n":"全部","v":""},{"n":"新闻","v":"新闻"},{"n":"经济","v":"经济"},{"n":"综艺","v":"综艺"},{"n":"体育","v":"体育"},{"n":"军事","v":"军事"},{"n":"影视","v":"影视"},{"n":"科教","v":"科教"},{"n":"戏曲","v":"戏曲"},{"n":"青少","v":"青少"},{"n":"音乐","v":"音乐"},{"n":"社会","v":"社会"},{"n":"公益","v":"公益"},{"n":"其他","v":"其他"}]},
|
|
||||||
],
|
|
||||||
"电视剧":[
|
|
||||||
{"key":"sc","name":"类型","value":[{"n":"全部","v":""},{"n":"谍战","v":"谍战"},{"n":"悬疑","v":"悬疑"},{"n":"刑侦","v":"刑侦"},{"n":"历史","v":"历史"},{"n":"古装","v":"古装"},{"n":"武侠","v":"武侠"},{"n":"军旅","v":"军旅"},{"n":"战争","v":"战争"},{"n":"喜剧","v":"喜剧"},{"n":"青春","v":"青春"},{"n":"言情","v":"言情"},{"n":"偶像","v":"偶像"},{"n":"家庭","v":"家庭"},{"n":"年代","v":"年代"},{"n":"革命","v":"革命"},{"n":"农村","v":"农村"},{"n":"都市","v":"都市"},{"n":"其他","v":"其他"}]},
|
|
||||||
{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2024","v":"2024"},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"},{"n":"1999","v":"1999"},{"n":"1998","v":"1998"},{"n":"1997","v":"1997"}]},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
headers:{
|
|
||||||
'User-Agent':'PC_UA'
|
|
||||||
},
|
|
||||||
timeout:10000,
|
|
||||||
play_parse:true,
|
|
||||||
|
|
||||||
lazy: $js.toString(() => {
|
|
||||||
let id = input.split("|")[0];
|
|
||||||
let k4 = input.split("|")[1];
|
|
||||||
let fc = input.split("|")[2];
|
|
||||||
if (k4 === '7' && fc!== '体育'){
|
|
||||||
input = 'https://hls.cntv.myhwcdn.cn/asp/hls/850/0303000a/3/default/' + id + '/850.m3u8';
|
|
||||||
} else {
|
|
||||||
input = 'https://hls.cntv.myhwcdn.cn/asp/hls/850/0303000a/3/default/' + id + '/850.m3u8';
|
|
||||||
|
|
||||||
}
|
|
||||||
//https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid='+input
|
|
||||||
}),
|
|
||||||
//海阔
|
|
||||||
/*
|
|
||||||
lazy: $js.toString(() => {
|
|
||||||
input=JSON.parse(request('https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid='+input)).hls_url;
|
|
||||||
id = input.split('/')[9];
|
|
||||||
input = 'https://hls.cntv.myalicdn.com//asp/hls/2000/0303000a/3/default/' + id + '/2000.m3u8';
|
|
||||||
}),
|
|
||||||
*/
|
|
||||||
//影视
|
|
||||||
//lazy: $js.toString(() => {
|
|
||||||
//input=JSON.parse(request('https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid='+input)).hls_url.replaceAll('main','2000')
|
|
||||||
//.replaceAll('cntv.lxdns','cntv.myalicdn').replaceAll('n.cn','n.com').replaceAll('myhwcdn','myalicdn').replaceAll('kcdnvip','myalicdn').replaceAll('newcntv.qcloudcdn','cntv.myalicdn')
|
|
||||||
//;
|
|
||||||
//}),
|
|
||||||
|
|
||||||
limit:6,
|
|
||||||
double:false,
|
|
||||||
|
|
||||||
推荐: $js.toString(() => {
|
|
||||||
var d = [];
|
|
||||||
var list = JSON.parse(request(input)).response.docs;
|
|
||||||
|
|
||||||
list.forEach(it => {
|
|
||||||
// 一级标题
|
|
||||||
let title1 = it.column_name;
|
|
||||||
// 一级描述
|
|
||||||
let desc1 = it.channel_name;
|
|
||||||
// 一级图片URL
|
|
||||||
let picUrl1 = it.column_logo;
|
|
||||||
// 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 更新至)
|
|
||||||
let url1 = it.lastVIDE.videoSharedCode + '|' + '' + '|' + it.column_firstclass + '|' + it.column_name + '|' + '' + '|' + it.column_playdate + '|' + it.channel_name + '|' + it.column_brief + '|' + it.column_logo + '|' + '' + '|' + it.lastVIDE.videoTitle;
|
|
||||||
|
|
||||||
d.push({
|
|
||||||
desc : desc1,
|
|
||||||
title : title1,
|
|
||||||
pic_url : picUrl1,
|
|
||||||
url : url1
|
|
||||||
})
|
|
||||||
})
|
|
||||||
setResult(d);
|
|
||||||
}),
|
|
||||||
|
|
||||||
|
|
||||||
一级: $js.toString(() => {
|
|
||||||
var d = [];
|
|
||||||
if(MY_CATE==='栏目大全') {
|
|
||||||
var list = JSON.parse(request(HOST+'/lanmu/columnSearch?&fl=&fc=&cid=&p='+MY_PAGE+'&n=500&serviceId=tvcctv&t=json')).response.docs;
|
|
||||||
list.forEach(it => {
|
|
||||||
// 一级标题
|
|
||||||
let title1 = it.column_name;
|
|
||||||
// 一级描述
|
|
||||||
let desc1 = it.channel_name;
|
|
||||||
// 一级图片URL
|
|
||||||
let picUrl1 = it.column_logo;
|
|
||||||
// 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 更新至)
|
|
||||||
let url1 = it.lastVIDE.videoSharedCode + '|' + '' + '|' + it.column_firstclass + '|' + it.column_name + '|' + '' + '|' + it.column_playdate + '|' + it.channel_name + '|' + it.column_brief + '|' + it.column_logo + '|' + '' + '|' + it.lastVIDE.videoTitle;
|
|
||||||
d.push({
|
|
||||||
desc : desc1,
|
|
||||||
title : title1,
|
|
||||||
pic_url : picUrl1,
|
|
||||||
url : url1
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
var channelMap = {
|
|
||||||
"特别节目": "CHAL1460955953877151",
|
|
||||||
"纪录片": "CHAL1460955924871139",
|
|
||||||
"电视剧": "CHAL1460955853485115",
|
|
||||||
"动画片": "CHAL1460955899450127",
|
|
||||||
};
|
|
||||||
var list = JSON.parse(request(input+'&channelid='+channelMap[MY_CATE]+'&fc='+MY_CATE+'&p='+MY_PAGE)).data.list;
|
|
||||||
list.forEach(it => {
|
|
||||||
// 一级标题
|
|
||||||
let title1 = it.title;
|
|
||||||
// 一级描述
|
|
||||||
let desc1 = it.sc + ((typeof it.year==='undefined' || it.year==='')?'':('•'+it.year)) + ((typeof it.count==='undefined' || it.count==='')?'':('•共' + it.count + '集'));
|
|
||||||
// 一级图片URL
|
|
||||||
let picUrl1 = it.image;
|
|
||||||
// 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 集数)
|
|
||||||
let url1 = it.id + '|' + it.area + '|' + it.sc + '|' + it.title + '|' + it.actors + '|' + it.year + '|' + it.channel + '|' + it.brief + '|' + it.image + '|' + it.count + '|' + '' + '|' + MY_CATE;
|
|
||||||
d.push({
|
|
||||||
desc : desc1,
|
|
||||||
title : title1,
|
|
||||||
pic_url : picUrl1,
|
|
||||||
url : url1
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
setResult(d);
|
|
||||||
}),
|
|
||||||
|
|
||||||
二级: $js.toString(() => {
|
|
||||||
let info = input.split("|");
|
|
||||||
|
|
||||||
VOD = {
|
|
||||||
vod_id: info[0],
|
|
||||||
vod_name: info[3],
|
|
||||||
vod_pic: info[8],
|
|
||||||
type_name: info[2]==='undefined'?'':info[2],
|
|
||||||
vod_year: info[5]==='undefined'?'':info[5],
|
|
||||||
vod_area: info[1]==='undefined'?'':info[1],
|
|
||||||
vod_remarks: info[9]===''?('更新至'+info[10]):('共'+info[9]+'集'),
|
|
||||||
vod_director: info[6]==='undefined'?'':info[6],
|
|
||||||
vod_actor: info[4]==='undefined'?'':info[4],
|
|
||||||
vod_content: info[7]==='undefined'?'':info[7],
|
|
||||||
};
|
|
||||||
var modeMap = {
|
|
||||||
"特别节目": "0",
|
|
||||||
"纪录片": "0",
|
|
||||||
"电视剧": "0",
|
|
||||||
"动画片": "1",
|
|
||||||
};
|
|
||||||
var ctid = info[0].replace('https://api.cntv.cn/lanmu/','');
|
|
||||||
var link = 'https://api.cntv.cn/NewVideo/getVideoListByAlbumIdNew?id='+ctid+'&serviceId=tvcctv&p=1&n=100&mode='+modeMap[info[11]]+'&pub=1';
|
|
||||||
var html = JSON.parse(request(link));
|
|
||||||
var playUrls;
|
|
||||||
if(html.errcode==='1001'){
|
|
||||||
var guid = info[0].replace('https://api.cntv.cn/lanmu/','');
|
|
||||||
var link1 = 'https://api.cntv.cn/video/videoinfoByGuid?guid='+guid+'&serviceId=tvcctv';
|
|
||||||
ctid = JSON.parse(request(link1)).ctid.replace('https://api.cntv.cn/lanmu/','');
|
|
||||||
var link2 = 'https://api.cntv.cn/NewVideo/getVideoListByColumn?id='+ctid+'&d=&p=1&n=100&sort=desc&mode=0&serviceId=tvcctv&t=json';
|
|
||||||
playUrls = JSON.parse(request(link2)).data.list;
|
|
||||||
|
|
||||||
} else {
|
|
||||||
playUrls = html.data.list;
|
|
||||||
// 获取更多数据,暂不需要
|
|
||||||
var flag = '';
|
|
||||||
if(playUrls===''){
|
|
||||||
flag = 'true';
|
|
||||||
}
|
|
||||||
var page = 1;
|
|
||||||
while(flag===''){
|
|
||||||
page = page+1;
|
|
||||||
var burl = 'https://api.cntv.cn/NewVideo/getVideoListByAlbumIdNew?id='+ctid+'&serviceId=tvcctv&p='+page+'&n=100&mode='+modeMap[info[11]]+'&pub=1';
|
|
||||||
var list = JSON.parse(request(burl)).data.list;
|
|
||||||
if (list.length!==0){
|
|
||||||
list.forEach(it => {
|
|
||||||
playUrls.push(it);
|
|
||||||
})
|
|
||||||
continue;
|
|
||||||
}else{
|
|
||||||
flag='true';
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let playFrom = [];
|
|
||||||
let playList = [];
|
|
||||||
playFrom.append('央视频');
|
|
||||||
playUrls.forEach(it => {
|
|
||||||
playList.append(playUrls.map(function(it) {
|
|
||||||
return it.title + "$" + it.guid
|
|
||||||
}).join("#"))
|
|
||||||
});
|
|
||||||
|
|
||||||
// 最后封装所有线路
|
|
||||||
let vod_play_from = playFrom.join('$$$');
|
|
||||||
let vod_play_url = playList.join('$$$');
|
|
||||||
VOD['vod_play_from'] = vod_play_from;
|
|
||||||
VOD['vod_play_url'] = vod_play_url;
|
|
||||||
}),
|
|
||||||
|
|
||||||
搜索:'',
|
|
||||||
}
|
|
||||||
@@ -1,97 +0,0 @@
|
|||||||
var rule = {
|
|
||||||
title:'央视频',
|
|
||||||
host:'https://api.cntv.cn',
|
|
||||||
homeUrl: '/lanmu/columnSearch?&fl=&fc=&cid=&p=1&n=500&serviceId=tvcctv&t=json',
|
|
||||||
// url:'/list/getVideoAlbumList?fyfilter&area=&letter=&n=24&serviceId=tvcctv&t=json',
|
|
||||||
url: '/NewVideo/getVideoListByColumn?id=fyclass&n=10&sort=desc&p=fypage&mode=0&serviceId=tvcctv',
|
|
||||||
searchUrl:'',
|
|
||||||
searchable:0,
|
|
||||||
quickSearch:0,
|
|
||||||
|
|
||||||
class_name: '周末动画片&快乐体验&小小智慧树&智力快车&音乐快递&英雄出少年&快乐大巴&动漫世界&新闻袋袋裤&大风车&七巧板&大手牵小手&智慧树&动感特区&动画大放映&看我 72 变&快乐童行&风车剧场',
|
|
||||||
class_url:'TOPC1451559836238828&TOPC1451559479171411&TOPC1451559205464876&TOPC1451559756374759&TOPC1451559666055645&TOPC1451559695702690&TOPC1451559161446811&TOPC1451559448233349&TOPC1451559603261584&TOPC1451558929123462&TOPC1451559569040502&TOPC1451558967135492&TOPC1451447359806385&TOPC1451559378830189&TOPC1451559025546574&TOPC1451559131256781&TOPC1628144739712839&TOPC1573528152700717',
|
|
||||||
|
|
||||||
filterable: 1,
|
|
||||||
headers:{
|
|
||||||
'User-Agent':'PC_UA'
|
|
||||||
},
|
|
||||||
timeout:10000,
|
|
||||||
play_parse:true,
|
|
||||||
|
|
||||||
limit:6,
|
|
||||||
double:false,
|
|
||||||
/*
|
|
||||||
推荐: $js.toString(() => {
|
|
||||||
var d = [];
|
|
||||||
var list = JSON.parse(request(input)).response.docs;
|
|
||||||
|
|
||||||
list.forEach(it => {
|
|
||||||
// 一级标题
|
|
||||||
let title1 = it.column_name;
|
|
||||||
// 一级描述
|
|
||||||
let desc1 = it.channel_name;
|
|
||||||
// 一级图片URL
|
|
||||||
let picUrl1 = it.column_logo;
|
|
||||||
// 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 更新至)
|
|
||||||
let url1 = it.lastVIDE.videoSharedCode + '|' + '' + '|' + it.column_firstclass + '|' + it.column_name + '|' + '' + '|' + it.column_playdate + '|' + it.channel_name + '|' + it.column_brief + '|' + it.column_logo + '|' + '' + '|' + it.lastVIDE.videoTitle;
|
|
||||||
|
|
||||||
d.push({
|
|
||||||
desc : desc1,
|
|
||||||
title : title1,
|
|
||||||
pic_url : picUrl1,
|
|
||||||
url : url1
|
|
||||||
})
|
|
||||||
})
|
|
||||||
setResult(d);
|
|
||||||
}),
|
|
||||||
*/
|
|
||||||
|
|
||||||
一级: $js.toString(() => {
|
|
||||||
|
|
||||||
var d = [];
|
|
||||||
|
|
||||||
var list = JSON.parse(request(input)).data.list;
|
|
||||||
list.forEach(it => {
|
|
||||||
//一级id
|
|
||||||
let guid1 = it.guid;
|
|
||||||
// 一级标题
|
|
||||||
let title1 = it.title
|
|
||||||
// 一级描述
|
|
||||||
let desc1 = it.time;
|
|
||||||
// 一级图片URL
|
|
||||||
let picUrl1 = it.image;
|
|
||||||
// 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 集数)
|
|
||||||
let url1 =it.guid + '|' + it.id + '|' + it.time + '|' + it.title + '|' + it.length + '|' + it.image + '|' + it.focus_date + '|' + it.brief + '|' + it.url + '|' + '' + '|' + MY_CATE;
|
|
||||||
d.push({
|
|
||||||
desc : desc1,
|
|
||||||
title : title1,
|
|
||||||
pic_url : picUrl1,
|
|
||||||
guid : guid1,
|
|
||||||
url : url1
|
|
||||||
})
|
|
||||||
})
|
|
||||||
setResult(d);
|
|
||||||
}),
|
|
||||||
|
|
||||||
二级 : $js.toString(() => {
|
|
||||||
let info = input.split("|");
|
|
||||||
let guid = info[0].replaceAll('https://api.cntv.cn/lanmu/', '');
|
|
||||||
VOD = {
|
|
||||||
vod_id: info[1],
|
|
||||||
vod_name: info[3],
|
|
||||||
vod_pic: info[5],
|
|
||||||
type_name: info[2],
|
|
||||||
vod_year: info[2],
|
|
||||||
vod_area: info[1],
|
|
||||||
vod_remarks: 'ƪ(˘⌣˘)ʃ天微',
|
|
||||||
vod_director: 'ƪ(˘⌣˘)ʃ天微',
|
|
||||||
vod_actor: 'ƪ(˘⌣˘)ʃ天微',
|
|
||||||
vod_content: info[7],
|
|
||||||
vod_play_from: '央视频',
|
|
||||||
//https://hls.cntv.myalicdn.com//asp/hls/2000/0303000a/3/default/https://api.cntv.cn/lanmu/1a01871d6d5f4d4bbe82b9c62650f100/2000.m3u8
|
|
||||||
vod_play_url: '立即播放$https://hls.cntv.myhwcdn.cn/asp/hls/850/0303000a/3/default/' + guid + '/850.m3u8'
|
|
||||||
};
|
|
||||||
|
|
||||||
}),
|
|
||||||
搜索:'',
|
|
||||||
}
|
|
||||||
@@ -1,94 +0,0 @@
|
|||||||
var rule = {
|
|
||||||
title:'央视频',
|
|
||||||
host:'https://api.cntv.cn',
|
|
||||||
homeUrl: '/lanmu/columnSearch?&fl=&fc=&cid=&p=1&n=500&serviceId=tvcctv&t=json',
|
|
||||||
// url:'/list/getVideoAlbumList?fyfilter&area=&letter=&n=24&serviceId=tvcctv&t=json',
|
|
||||||
url: '/NewVideo/getVideoListByColumn?id=fyclass&n=10&sort=desc&p=fypage&mode=0&serviceId=tvcctv',
|
|
||||||
searchUrl:'',
|
|
||||||
searchable:0,
|
|
||||||
quickSearch:0,
|
|
||||||
class_name: '焦点访谈&每周质量报告&午夜新闻&新闻调查&新闻周刊&面对面&法治在线&新闻30分&新闻1+1&军情时间到&国际时讯&新闻直播间&朝闻天下&世界周刊&高端访谈&环球视线&共同关注&24小时&东方时空',
|
|
||||||
class_url:'TOPC1451558976694518&TOPC1451558650605123&TOPC1451558779639282&TOPC1451558819463311&TOPC1451559180488841&TOPC1451559038345600&TOPC1451558590627940&TOPC1451559097947700&TOPC1451559066181661&TOPC1462504102545692&TOPC1451558887804404&TOPC1451559129520755&TOPC1451558496100826&TOPC1451558687534149&TOPC1665739007799851&TOPC1451558926200436&TOPC1451558858788377&TOPC1451558428005729&TOPC1451558532019883',
|
|
||||||
filterable: 1,
|
|
||||||
headers:{
|
|
||||||
'User-Agent':'PC_UA'
|
|
||||||
},
|
|
||||||
timeout:10000,
|
|
||||||
play_parse:true,
|
|
||||||
|
|
||||||
limit:6,
|
|
||||||
double:false,
|
|
||||||
/*
|
|
||||||
推荐: $js.toString(() => {
|
|
||||||
var d = [];
|
|
||||||
var list = JSON.parse(request(input)).response.docs;
|
|
||||||
|
|
||||||
list.forEach(it => {
|
|
||||||
// 一级标题
|
|
||||||
let title1 = it.column_name;
|
|
||||||
// 一级描述
|
|
||||||
let desc1 = it.channel_name;
|
|
||||||
// 一级图片URL
|
|
||||||
let picUrl1 = it.column_logo;
|
|
||||||
// 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 更新至)
|
|
||||||
let url1 = it.lastVIDE.videoSharedCode + '|' + '' + '|' + it.column_firstclass + '|' + it.column_name + '|' + '' + '|' + it.column_playdate + '|' + it.channel_name + '|' + it.column_brief + '|' + it.column_logo + '|' + '' + '|' + it.lastVIDE.videoTitle;
|
|
||||||
|
|
||||||
d.push({
|
|
||||||
desc : desc1,
|
|
||||||
title : title1,
|
|
||||||
pic_url : picUrl1,
|
|
||||||
url : url1
|
|
||||||
})
|
|
||||||
})
|
|
||||||
setResult(d);
|
|
||||||
}),
|
|
||||||
*/
|
|
||||||
|
|
||||||
一级: $js.toString(() => {
|
|
||||||
|
|
||||||
var d = [];
|
|
||||||
|
|
||||||
var list = JSON.parse(request(input)).data.list;
|
|
||||||
list.forEach(it => {
|
|
||||||
//一级id
|
|
||||||
let guid1 = it.guid;
|
|
||||||
// 一级标题
|
|
||||||
let title1 = it.title
|
|
||||||
// 一级描述
|
|
||||||
let desc1 = it.time;
|
|
||||||
// 一级图片URL
|
|
||||||
let picUrl1 = it.image;
|
|
||||||
// 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 集数)
|
|
||||||
let url1 =it.guid + '|' + it.id + '|' + it.time + '|' + it.title + '|' + it.length + '|' + it.image + '|' + it.focus_date + '|' + it.brief + '|' + it.url + '|' + '' + '|' + MY_CATE;
|
|
||||||
d.push({
|
|
||||||
desc : desc1,
|
|
||||||
title : title1,
|
|
||||||
pic_url : picUrl1,
|
|
||||||
guid : guid1,
|
|
||||||
url : url1
|
|
||||||
})
|
|
||||||
})
|
|
||||||
setResult(d);
|
|
||||||
}),
|
|
||||||
|
|
||||||
二级 : $js.toString(() => {
|
|
||||||
let info = input.split("|");
|
|
||||||
let guid = info[0].replaceAll('https://api.cntv.cn/lanmu/', '');
|
|
||||||
VOD = {
|
|
||||||
vod_id: info[1],
|
|
||||||
vod_name: info[3],
|
|
||||||
vod_pic: info[5],
|
|
||||||
type_name: info[2],
|
|
||||||
vod_year: info[2],
|
|
||||||
vod_area: info[1],
|
|
||||||
vod_remarks: 'ƪ(˘⌣˘)ʃ天微',
|
|
||||||
vod_director: 'ƪ(˘⌣˘)ʃ天微',
|
|
||||||
vod_actor: 'ƪ(˘⌣˘)ʃ天微',
|
|
||||||
vod_content: info[7],
|
|
||||||
vod_play_from: '央视频',
|
|
||||||
vod_play_url: '立即播放$https://hls.cntv.myhwcdn.cn/asp/hls/850/0303000a/3/default/' + guid + '/850.m3u8'
|
|
||||||
};
|
|
||||||
|
|
||||||
}),
|
|
||||||
搜索:'',
|
|
||||||
}
|
|
||||||
@@ -1,97 +0,0 @@
|
|||||||
var rule = {
|
|
||||||
title:'央视频',
|
|
||||||
host:'https://api.cntv.cn',
|
|
||||||
homeUrl: '/lanmu/columnSearch?&fl=&fc=&cid=&p=1&n=500&serviceId=tvcctv&t=json',
|
|
||||||
// url:'/list/getVideoAlbumList?fyfilter&area=&letter=&n=24&serviceId=tvcctv&t=json',
|
|
||||||
url: '/NewVideo/getVideoListByColumn?id=fyclass&n=10&sort=desc&p=fypage&mode=0&serviceId=tvcctv',
|
|
||||||
searchUrl:'',
|
|
||||||
searchable:0,
|
|
||||||
quickSearch:0,
|
|
||||||
|
|
||||||
class_name: '动画大放映&第一动画乐园&健康之路&走进科学&探索·发现&动物世界&人与自然&自然传奇&地理·中国&远方的家&跟着书本去旅行&百家讲坛&空中剧院&体坛快讯&新闻联播&焦点访谈&今日说法&等着我&新闻直播间&海峡两岸&天网&今日关注&高端访谈&开讲啦&故事里的中国&对话&面对面&是真的吗&星光大道&精彩音乐汇&音乐厅&民歌·中国&中国电影报道&星推荐&方圆剧阵&正大综艺&第一时间&开门大吉&开讲啦&共同关注&军事报道&新闻调查&新闻 30 分&新闻 1+1&今日亚洲&新闻直播间&24 小时&中国新闻&午夜新闻&朝闻天下&晚间新闻&新闻周刊&经济半小时&经济大讲堂&正点财经&生活圈&生活提示&东方时空&经济信息联播&今日环球&一线',
|
|
||||||
class_url:'TOPC1451559025546574&TOPC1451378857272262&TOPC1451557646802924&TOPC1451558190239536&TOPC1451557893544236&TOPC1451378967257534&TOPC1451525103989666&TOPC1451558150787467&TOPC1451557421544786&TOPC1451541349400938&TOPC1575253587571324&TOPC1451557052519584&TOPC1451558856402351&TOPC1451550970356385&TOPC1451528971114112&TOPC1451558976694518&TOPC1451464665008914&TOPC1451378757637200&TOPC1451559129520755&TOPC1451540328102649&TOPC1451530382483536&TOPC1451540389082713&TOPC1665739007799851&TOPC1451464884159276&TOPC1451464884159276&TOPC1514182710380601&TOPC1451559038345600&TOPC1451534366388377&TOPC1451467630488780&TOPC1451541414450906&TOPC1451534421925242&TOPC1451541994820527&TOPC1451354597100320&TOPC1451469943519994&TOPC1571217727564820&TOPC1650782829200997&TOPC1451530259915198&TOPC1451465894294259&TOPC1451464884159276&TOPC1451558858788377&TOPC1451527941788652&TOPC1451558819463311&TOPC1451559097947700&TOPC1451559066181661&TOPC1451540448405749&TOPC1451559129520755&TOPC1451558428005729&TOPC1451539894330405&TOPC1451558779639282&TOPC1451558496100826&TOPC1451528792881669&TOPC1451559180488841&TOPC1601362002656197&TOPC1451533652476962&TOPC1453100395512779&TOPC1451546588784893&TOPC1451526037568184&TOPC1451558532019883&TOPC1451533782742171&TOPC1571034705435323&TOPC1451543462858283',
|
|
||||||
|
|
||||||
|
|
||||||
filterable: 1,
|
|
||||||
headers:{
|
|
||||||
'User-Agent':'PC_UA'
|
|
||||||
},
|
|
||||||
timeout:10000,
|
|
||||||
play_parse:true,
|
|
||||||
|
|
||||||
limit:6,
|
|
||||||
double:false,
|
|
||||||
/*
|
|
||||||
推荐: $js.toString(() => {
|
|
||||||
var d = [];
|
|
||||||
var list = JSON.parse(request(input)).response.docs;
|
|
||||||
|
|
||||||
list.forEach(it => {
|
|
||||||
// 一级标题
|
|
||||||
let title1 = it.column_name;
|
|
||||||
// 一级描述
|
|
||||||
let desc1 = it.channel_name;
|
|
||||||
// 一级图片URL
|
|
||||||
let picUrl1 = it.column_logo;
|
|
||||||
// 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 更新至)
|
|
||||||
let url1 = it.lastVIDE.videoSharedCode + '|' + '' + '|' + it.column_firstclass + '|' + it.column_name + '|' + '' + '|' + it.column_playdate + '|' + it.channel_name + '|' + it.column_brief + '|' + it.column_logo + '|' + '' + '|' + it.lastVIDE.videoTitle;
|
|
||||||
|
|
||||||
d.push({
|
|
||||||
desc : desc1,
|
|
||||||
title : title1,
|
|
||||||
pic_url : picUrl1,
|
|
||||||
url : url1
|
|
||||||
})
|
|
||||||
})
|
|
||||||
setResult(d);
|
|
||||||
}),
|
|
||||||
*/
|
|
||||||
|
|
||||||
一级: $js.toString(() => {
|
|
||||||
|
|
||||||
var d = [];
|
|
||||||
|
|
||||||
var list = JSON.parse(request(input)).data.list;
|
|
||||||
list.forEach(it => {
|
|
||||||
//一级id
|
|
||||||
let guid1 = it.guid;
|
|
||||||
// 一级标题
|
|
||||||
let title1 = it.title
|
|
||||||
// 一级描述
|
|
||||||
let desc1 = it.time;
|
|
||||||
// 一级图片URL
|
|
||||||
let picUrl1 = it.image;
|
|
||||||
// 一级URL(id 地区 类型 标题 演员 年份 频道 简介 图片 集数)
|
|
||||||
let url1 =it.guid + '|' + it.id + '|' + it.time + '|' + it.title + '|' + it.length + '|' + it.image + '|' + it.focus_date + '|' + it.brief + '|' + it.url + '|' + '' + '|' + MY_CATE;
|
|
||||||
d.push({
|
|
||||||
desc : desc1,
|
|
||||||
title : title1,
|
|
||||||
pic_url : picUrl1,
|
|
||||||
guid : guid1,
|
|
||||||
url : url1
|
|
||||||
})
|
|
||||||
})
|
|
||||||
setResult(d);
|
|
||||||
}),
|
|
||||||
|
|
||||||
二级 : $js.toString(() => {
|
|
||||||
let info = input.split("|");
|
|
||||||
let guid = info[0].replaceAll('https://api.cntv.cn/lanmu/', '');
|
|
||||||
VOD = {
|
|
||||||
vod_id: info[1],
|
|
||||||
vod_name: info[3],
|
|
||||||
vod_pic: info[5],
|
|
||||||
type_name: info[2],
|
|
||||||
vod_year: info[2],
|
|
||||||
vod_area: info[1],
|
|
||||||
vod_remarks: 'ƪ(˘⌣˘)ʃ天微',
|
|
||||||
vod_director: 'ƪ(˘⌣˘)ʃ天微',
|
|
||||||
vod_actor: 'ƪ(˘⌣˘)ʃ天微',
|
|
||||||
vod_content: info[7],
|
|
||||||
vod_play_from: '央视频',
|
|
||||||
vod_play_url: '立即播放$https://hls.cntv.myhwcdn.cn/asp/hls/850/0303000a/3/default/' + guid + '/850.m3u8'
|
|
||||||
};
|
|
||||||
|
|
||||||
}),
|
|
||||||
搜索:'',
|
|
||||||
}
|
|
||||||
-1164
File diff suppressed because it is too large.
Load diff
-2843
File diff suppressed because it is too large.
Load diff
@@ -1,36 +0,0 @@
|
|||||||
var rule = {
|
|
||||||
title:'武享吧',
|
|
||||||
host:'https://www.hula8.net',
|
|
||||||
url: '/fyclass/page/fypage',
|
|
||||||
searchUrl: '/page/fypage/?s=**',
|
|
||||||
searchable:2,
|
|
||||||
quickSearch:0,
|
|
||||||
headers:{
|
|
||||||
'User-Agent': 'PC_UA',
|
|
||||||
'Referer': 'https://www.hula8.net/',
|
|
||||||
'Cookie':'esc_search_captcha=1;result=12'
|
|
||||||
},
|
|
||||||
timeout:5000,//网站的全局请求超时,默认是3000毫秒
|
|
||||||
class_parse: '#menu-xinjian&&li;a&&Text;a&&href;net/(.*)',
|
|
||||||
play_parse:true,
|
|
||||||
cate_exclude:'首 页|赛事预告|美国格斗赛|亚洲格斗赛|其他格斗赛|日本搏击赛|裸拳赛',
|
|
||||||
limit:6,
|
|
||||||
推荐: 'div.apc-grid-item;*;*;.views&&Text;a&&href',
|
|
||||||
一级: '.site-main&&article;img&&alt;img&&data-original;.grid-inf-l&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
"title": "h1&&Text;.module-info-tag&&Text",
|
|
||||||
"img": ".aligncenter&&data-original",
|
|
||||||
"desc": ";;;.views:eq(0)&&Text;",
|
|
||||||
"content": "h1&&Text",
|
|
||||||
"tabs": "js:TABS=['道长在线']",
|
|
||||||
"lists": `js:
|
|
||||||
var html = JSON.parse(request(input).match(/var bevideo_vids_.*?=({[\\s\\S]*?});/)[1]);
|
|
||||||
let list = [];
|
|
||||||
list = html.m3u8dplayer.map(function(item) {
|
|
||||||
return item.pre + "$" + item.video
|
|
||||||
});
|
|
||||||
LISTS = [list];
|
|
||||||
`
|
|
||||||
},
|
|
||||||
搜索: '*;*;*;.entry-meta&&Text;*',
|
|
||||||
}
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
var rule = {
|
|
||||||
title: '爱上你听书网',
|
|
||||||
host: 'https://www.230ts.net',
|
|
||||||
url: '/sort/fyclass/fypage.html',
|
|
||||||
searchUrl: '/search.html?searchtype=name&searchword=**&page=fypage',
|
|
||||||
searchable: 2,
|
|
||||||
quickSearch: 0,
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'PC_UA'
|
|
||||||
},
|
|
||||||
timeout: 5000,
|
|
||||||
class_parse: '.nav-ol&&li:gt(0):lt(6);a&&Text;a&&href;.*/(\\w+).html',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: 'js:input=input.replace("www","wap")',
|
|
||||||
limit: 6,
|
|
||||||
推荐: '#myTab_Content1&&li;.tab-book-title&&Text;*;.tab-book-author&&Text;*',
|
|
||||||
一级: 'ul.list-works&&li;.list-book-dt--span&&Text;.lazy&&data-original;.book-author:eq(2)&&a&&Text;a&&href',
|
|
||||||
二级: {
|
|
||||||
title: '.book-cover&&alt;.book-info&&dd--span:eq(1)&&Text',
|
|
||||||
img: '.book-cover&&src',
|
|
||||||
desc: '.book-info&&dd:eq(4)&&Text;;;.book-info&&dd--span:eq(3)&&Text;.book-info&&dd--span:eq(2)&&Text',
|
|
||||||
content: '.book-des&&Text',
|
|
||||||
tabs: '.playlist-top&&h2',
|
|
||||||
lists: '#playlist:eq(#id)&&li',
|
|
||||||
},
|
|
||||||
搜索: '*',
|
|
||||||
}
|
|
||||||
-1392
File diff suppressed because it is too large.
Load diff
-842
@@ -1,842 +0,0 @@
|
|||||||
var rule = {
|
|
||||||
title: '腾云驾雾[官]',
|
|
||||||
host: 'https://v.%71%71.com',
|
|
||||||
// homeUrl: '/x/bu/pagesheet/list?_all=1&append=1&channel=choice&listpage=1&offset=0&pagesize=21&iarea=-1&sort=18',
|
|
||||||
homeUrl: '/x/bu/pagesheet/list?_all=1&append=1&channel=cartoon&listpage=1&offset=0&pagesize=21&iarea=-1&sort=18',
|
|
||||||
detailUrl: 'https://node.video.%71%71.com/x/api/float_vinfo2?cid=fyid',
|
|
||||||
searchUrl: '/x/search/?q=**&stag=fypage',
|
|
||||||
searchUrl: 'https://pbaccess.video.%71%71.com/trpc.videosearch.smartboxServer.HttpRountRecall/Smartbox?query=**&appID=3172&appKey=lGhFIPeD3HsO9xEp&pageNum=(fypage-1)&pageSize=10',
|
|
||||||
searchable: 2,
|
|
||||||
filterable: 1,
|
|
||||||
multi: 1,
|
|
||||||
// url:'/channel/fyclass?listpage=fypage&channel=fyclass&sort=18&_all=1',
|
|
||||||
url: '/x/bu/pagesheet/list?_all=1&append=1&channel=fyclass&listpage=1&offset=((fypage-1)*21)&pagesize=21&iarea=-1',
|
|
||||||
// filter_url: 'sort={{fl.sort or 18}}&year={{fl.year}}&pay={{fl.pay}}',
|
|
||||||
// filter_url: 'sort={{fl.sort or 75}}&year={{fl.year}}&pay={{fl.pay}}',
|
|
||||||
filter_url: 'sort={{fl.sort or 75}}&iyear={{fl.iyear}}&year={{fl.year}}&itype={{fl.type}}&ifeature={{fl.feature}}&iarea={{fl.area}}&itrailer={{fl.itrailer}}&gender={{fl.sex}}',
|
|
||||||
// filter: 'H4sIAAAAAAAAA+2UzUrDQBCA32XOEZLUJrGvIj0saaDBNisxBkIJCG3Fi4oepIg3EQoieqiH+vM23Zq+hRuaZLZ4ce9z2/lmd2d2+NgR+H0e+gF0DkdwFGTQgRMeJ2BAxIaSwvrqVnxcyzhlg9PttqjED2c/45cSy8DyIDcavr57q/lBw8XTd/E6qbnT8M3zTFyc72RtC/Jumd+2c8wy7KZ4nxSL5Z9uxHS+Gc+r83sWVp1eVttl4Dluk1h93YubWZVwduplAYuxoFguVp+P/y5om/Z+/YxyqfAW8pbKbeS2yi3kO/ebyE2Fy1nXXBm7DDzknspd5K7KHeSOytvI2+XAugYkKWlD2mhrM+RpSB8OmaNvTsriMEgycofc0XbHZ3HCeUTukDv67vTDQY/MIXO0zelxn5M4JI6mOPkvgswSEpgPAAA=',
|
|
||||||
filter: {
|
|
||||||
"choice": [{
|
|
||||||
"key": "sort",
|
|
||||||
"name": "排序",
|
|
||||||
"value": [{
|
|
||||||
"n": "最热",
|
|
||||||
"v": "75"
|
|
||||||
}, {
|
|
||||||
"n": "最新",
|
|
||||||
"v": "83"
|
|
||||||
}, {
|
|
||||||
"n": "好评",
|
|
||||||
"v": "81"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "iyear",
|
|
||||||
"name": "年代",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "-1"
|
|
||||||
}, {
|
|
||||||
"n": "2025",
|
|
||||||
"v": "2025"
|
|
||||||
}, {
|
|
||||||
"n": "2024",
|
|
||||||
"v": "2024"
|
|
||||||
}, {
|
|
||||||
"n": "2023",
|
|
||||||
"v": "2023"
|
|
||||||
}, {
|
|
||||||
"n": "2022",
|
|
||||||
"v": "2022"
|
|
||||||
}, {
|
|
||||||
"n": "2021",
|
|
||||||
"v": "2021"
|
|
||||||
}, {
|
|
||||||
"n": "2020",
|
|
||||||
"v": "2020"
|
|
||||||
}, {
|
|
||||||
"n": "2019",
|
|
||||||
"v": "2019"
|
|
||||||
}, {
|
|
||||||
"n": "2018",
|
|
||||||
"v": "2018"
|
|
||||||
}, {
|
|
||||||
"n": "2017",
|
|
||||||
"v": "2017"
|
|
||||||
}, {
|
|
||||||
"n": "2016",
|
|
||||||
"v": "2016"
|
|
||||||
}, {
|
|
||||||
"n": "2015",
|
|
||||||
"v": "2015"
|
|
||||||
}]
|
|
||||||
}],
|
|
||||||
"tv": [{
|
|
||||||
"key": "sort",
|
|
||||||
"name": "排序",
|
|
||||||
"value": [{
|
|
||||||
"n": "最热",
|
|
||||||
"v": "75"
|
|
||||||
}, {
|
|
||||||
"n": "最新",
|
|
||||||
"v": "79"
|
|
||||||
}, {
|
|
||||||
"n": "好评",
|
|
||||||
"v": "16"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "feature",
|
|
||||||
"name": "类型",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "-1"
|
|
||||||
}, {
|
|
||||||
"n": "爱情",
|
|
||||||
"v": "1"
|
|
||||||
}, {
|
|
||||||
"n": "古装",
|
|
||||||
"v": "2"
|
|
||||||
}, {
|
|
||||||
"n": "悬疑",
|
|
||||||
"v": "3"
|
|
||||||
}, {
|
|
||||||
"n": "都市",
|
|
||||||
"v": "4"
|
|
||||||
}, {
|
|
||||||
"n": "家庭",
|
|
||||||
"v": "5"
|
|
||||||
}, {
|
|
||||||
"n": "喜剧",
|
|
||||||
"v": "6"
|
|
||||||
}, {
|
|
||||||
"n": "传奇",
|
|
||||||
"v": "7"
|
|
||||||
}, {
|
|
||||||
"n": "武侠",
|
|
||||||
"v": "8"
|
|
||||||
}, {
|
|
||||||
"n": "军旅",
|
|
||||||
"v": "9"
|
|
||||||
}, {
|
|
||||||
"n": "权谋",
|
|
||||||
"v": "10"
|
|
||||||
}, {
|
|
||||||
"n": "革命",
|
|
||||||
"v": "11"
|
|
||||||
}, {
|
|
||||||
"n": "现实",
|
|
||||||
"v": "13"
|
|
||||||
}, {
|
|
||||||
"n": "青春",
|
|
||||||
"v": "14"
|
|
||||||
}, {
|
|
||||||
"n": "猎奇",
|
|
||||||
"v": "15"
|
|
||||||
}, {
|
|
||||||
"n": "科幻",
|
|
||||||
"v": "16"
|
|
||||||
}, {
|
|
||||||
"n": "竞技",
|
|
||||||
"v": "17"
|
|
||||||
}, {
|
|
||||||
"n": "玄幻",
|
|
||||||
"v": "18"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "iyear",
|
|
||||||
"name": "年代",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "-1"
|
|
||||||
}, {
|
|
||||||
"n": "2025",
|
|
||||||
"v": "2025"
|
|
||||||
}, {
|
|
||||||
"n": "2024",
|
|
||||||
"v": "2024"
|
|
||||||
}, {
|
|
||||||
"n": "2023",
|
|
||||||
"v": "2023"
|
|
||||||
}, {
|
|
||||||
"n": "2022",
|
|
||||||
"v": "2022"
|
|
||||||
}, {
|
|
||||||
"n": "2021",
|
|
||||||
"v": "2021"
|
|
||||||
}, {
|
|
||||||
"n": "2020",
|
|
||||||
"v": "2020"
|
|
||||||
}, {
|
|
||||||
"n": "2019",
|
|
||||||
"v": "2019"
|
|
||||||
}, {
|
|
||||||
"n": "2018",
|
|
||||||
"v": "2018"
|
|
||||||
}, {
|
|
||||||
"n": "2017",
|
|
||||||
"v": "2017"
|
|
||||||
}, {
|
|
||||||
"n": "2016",
|
|
||||||
"v": "2016"
|
|
||||||
}, {
|
|
||||||
"n": "2015",
|
|
||||||
"v": "2015"
|
|
||||||
}]
|
|
||||||
}],
|
|
||||||
"movie": [{
|
|
||||||
"key": "sort",
|
|
||||||
"name": "排序",
|
|
||||||
"value": [{
|
|
||||||
"n": "最热",
|
|
||||||
"v": "75"
|
|
||||||
}, {
|
|
||||||
"n": "最新",
|
|
||||||
"v": "83"
|
|
||||||
}, {
|
|
||||||
"n": "好评",
|
|
||||||
"v": "81"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "type",
|
|
||||||
"name": "类型",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "-1"
|
|
||||||
}, {
|
|
||||||
"n": "犯罪",
|
|
||||||
"v": "4"
|
|
||||||
}, {
|
|
||||||
"n": "励志",
|
|
||||||
"v": "2"
|
|
||||||
}, {
|
|
||||||
"n": "喜剧",
|
|
||||||
"v": "100004"
|
|
||||||
}, {
|
|
||||||
"n": "热血",
|
|
||||||
"v": "100061"
|
|
||||||
}, {
|
|
||||||
"n": "悬疑",
|
|
||||||
"v": "100009"
|
|
||||||
}, {
|
|
||||||
"n": "爱情",
|
|
||||||
"v": "100005"
|
|
||||||
}, {
|
|
||||||
"n": "科幻",
|
|
||||||
"v": "100012"
|
|
||||||
}, {
|
|
||||||
"n": "恐怖",
|
|
||||||
"v": "100010"
|
|
||||||
}, {
|
|
||||||
"n": "动画",
|
|
||||||
"v": "100015"
|
|
||||||
}, {
|
|
||||||
"n": "战争",
|
|
||||||
"v": "100006"
|
|
||||||
}, {
|
|
||||||
"n": "家庭",
|
|
||||||
"v": "100017"
|
|
||||||
}, {
|
|
||||||
"n": "剧情",
|
|
||||||
"v": "100022"
|
|
||||||
}, {
|
|
||||||
"n": "奇幻",
|
|
||||||
"v": "100016"
|
|
||||||
}, {
|
|
||||||
"n": "武侠",
|
|
||||||
"v": "100011"
|
|
||||||
}, {
|
|
||||||
"n": "历史",
|
|
||||||
"v": "100021"
|
|
||||||
}, {
|
|
||||||
"n": "老片",
|
|
||||||
"v": "100013"
|
|
||||||
}, {
|
|
||||||
"n": "西部",
|
|
||||||
"v": "3"
|
|
||||||
}, {
|
|
||||||
"n": "记录片",
|
|
||||||
"v": "100020"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "year",
|
|
||||||
"name": "年代",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "-1"
|
|
||||||
}, {
|
|
||||||
"n": "2025",
|
|
||||||
"v": "2025"
|
|
||||||
}, {
|
|
||||||
"n": "2024",
|
|
||||||
"v": "2024"
|
|
||||||
}, {
|
|
||||||
"n": "2023",
|
|
||||||
"v": "2023"
|
|
||||||
}, {
|
|
||||||
"n": "2022",
|
|
||||||
"v": "2022"
|
|
||||||
}, {
|
|
||||||
"n": "2021",
|
|
||||||
"v": "2021"
|
|
||||||
}, {
|
|
||||||
"n": "2020",
|
|
||||||
"v": "2020"
|
|
||||||
}, {
|
|
||||||
"n": "2019",
|
|
||||||
"v": "2019"
|
|
||||||
}, {
|
|
||||||
"n": "2018",
|
|
||||||
"v": "2018"
|
|
||||||
}, {
|
|
||||||
"n": "2017",
|
|
||||||
"v": "2017"
|
|
||||||
}, {
|
|
||||||
"n": "2016",
|
|
||||||
"v": "2016"
|
|
||||||
}, {
|
|
||||||
"n": "2015",
|
|
||||||
"v": "2015"
|
|
||||||
}]
|
|
||||||
}],
|
|
||||||
"variety": [{
|
|
||||||
"key": "sort",
|
|
||||||
"name": "排序",
|
|
||||||
"value": [{
|
|
||||||
"n": "最热",
|
|
||||||
"v": "75"
|
|
||||||
}, {
|
|
||||||
"n": "最新",
|
|
||||||
"v": "23"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "iyear",
|
|
||||||
"name": "年代",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "-1"
|
|
||||||
}, {
|
|
||||||
"n": "2025",
|
|
||||||
"v": "2025"
|
|
||||||
}, {
|
|
||||||
"n": "2024",
|
|
||||||
"v": "2024"
|
|
||||||
}, {
|
|
||||||
"n": "2023",
|
|
||||||
"v": "2023"
|
|
||||||
}, {
|
|
||||||
"n": "2022",
|
|
||||||
"v": "2022"
|
|
||||||
}, {
|
|
||||||
"n": "2021",
|
|
||||||
"v": "2021"
|
|
||||||
}, {
|
|
||||||
"n": "2020",
|
|
||||||
"v": "2020"
|
|
||||||
}, {
|
|
||||||
"n": "2019",
|
|
||||||
"v": "2019"
|
|
||||||
}, {
|
|
||||||
"n": "2018",
|
|
||||||
"v": "2018"
|
|
||||||
}, {
|
|
||||||
"n": "2017",
|
|
||||||
"v": "2017"
|
|
||||||
}, {
|
|
||||||
"n": "2016",
|
|
||||||
"v": "2016"
|
|
||||||
}, {
|
|
||||||
"n": "2015",
|
|
||||||
"v": "2015"
|
|
||||||
}]
|
|
||||||
}],
|
|
||||||
"cartoon": [{
|
|
||||||
"key": "sort",
|
|
||||||
"name": "排序",
|
|
||||||
"value": [{
|
|
||||||
"n": "最热",
|
|
||||||
"v": "75"
|
|
||||||
}, {
|
|
||||||
"n": "最新",
|
|
||||||
"v": "83"
|
|
||||||
}, {
|
|
||||||
"n": "好评",
|
|
||||||
"v": "81"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "area",
|
|
||||||
"name": "地区",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "-1"
|
|
||||||
}, {
|
|
||||||
"n": "内地",
|
|
||||||
"v": "1"
|
|
||||||
}, {
|
|
||||||
"n": "日本",
|
|
||||||
"v": "2"
|
|
||||||
}, {
|
|
||||||
"n": "欧美",
|
|
||||||
"v": "3"
|
|
||||||
}, {
|
|
||||||
"n": "其他",
|
|
||||||
"v": "4"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "type",
|
|
||||||
"name": "类型",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "-1"
|
|
||||||
}, {
|
|
||||||
"n": "玄幻",
|
|
||||||
"v": "9"
|
|
||||||
}, {
|
|
||||||
"n": "科幻",
|
|
||||||
"v": "4"
|
|
||||||
}, {
|
|
||||||
"n": "武侠",
|
|
||||||
"v": "13"
|
|
||||||
}, {
|
|
||||||
"n": "冒险",
|
|
||||||
"v": "3"
|
|
||||||
}, {
|
|
||||||
"n": "战斗",
|
|
||||||
"v": "5"
|
|
||||||
}, {
|
|
||||||
"n": "搞笑",
|
|
||||||
"v": "1"
|
|
||||||
}, {
|
|
||||||
"n": "恋爱",
|
|
||||||
"v": "7"
|
|
||||||
}, {
|
|
||||||
"n": "魔幻",
|
|
||||||
"v": "6"
|
|
||||||
}, {
|
|
||||||
"n": "竞技",
|
|
||||||
"v": "20"
|
|
||||||
}, {
|
|
||||||
"n": "悬疑",
|
|
||||||
"v": "17"
|
|
||||||
}, {
|
|
||||||
"n": "日常",
|
|
||||||
"v": "15"
|
|
||||||
}, {
|
|
||||||
"n": "校园",
|
|
||||||
"v": "16"
|
|
||||||
}, {
|
|
||||||
"n": "真人",
|
|
||||||
"v": "18"
|
|
||||||
}, {
|
|
||||||
"n": "推理",
|
|
||||||
"v": "14"
|
|
||||||
}, {
|
|
||||||
"n": "历史",
|
|
||||||
"v": "19"
|
|
||||||
}, {
|
|
||||||
"n": "经典",
|
|
||||||
"v": "3"
|
|
||||||
}, {
|
|
||||||
"n": "其他",
|
|
||||||
"v": "12"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "iyear",
|
|
||||||
"name": "年代",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "-1"
|
|
||||||
}, {
|
|
||||||
"n": "2025",
|
|
||||||
"v": "2025"
|
|
||||||
}, {
|
|
||||||
"n": "2024",
|
|
||||||
"v": "2024"
|
|
||||||
}, {
|
|
||||||
"n": "2023",
|
|
||||||
"v": "2023"
|
|
||||||
}, {
|
|
||||||
"n": "2022",
|
|
||||||
"v": "2022"
|
|
||||||
}, {
|
|
||||||
"n": "2021",
|
|
||||||
"v": "2021"
|
|
||||||
}, {
|
|
||||||
"n": "2020",
|
|
||||||
"v": "2020"
|
|
||||||
}, {
|
|
||||||
"n": "2019",
|
|
||||||
"v": "2019"
|
|
||||||
}, {
|
|
||||||
"n": "2018",
|
|
||||||
"v": "2018"
|
|
||||||
}, {
|
|
||||||
"n": "2017",
|
|
||||||
"v": "2017"
|
|
||||||
}, {
|
|
||||||
"n": "2016",
|
|
||||||
"v": "2016"
|
|
||||||
}, {
|
|
||||||
"n": "2015",
|
|
||||||
"v": "2015"
|
|
||||||
}]
|
|
||||||
}],
|
|
||||||
"child": [{
|
|
||||||
"key": "sort",
|
|
||||||
"name": "排序",
|
|
||||||
"value": [{
|
|
||||||
"n": "最热",
|
|
||||||
"v": "75"
|
|
||||||
}, {
|
|
||||||
"n": "最新",
|
|
||||||
"v": "76"
|
|
||||||
}, {
|
|
||||||
"n": "好评",
|
|
||||||
"v": "20"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "sex",
|
|
||||||
"name": "性别",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "-1"
|
|
||||||
}, {
|
|
||||||
"n": "女孩",
|
|
||||||
"v": "1"
|
|
||||||
}, {
|
|
||||||
"n": "男孩",
|
|
||||||
"v": "2"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "area",
|
|
||||||
"name": "地区",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "-1"
|
|
||||||
}, {
|
|
||||||
"n": "内地",
|
|
||||||
"v": "3"
|
|
||||||
}, {
|
|
||||||
"n": "日本",
|
|
||||||
"v": "2"
|
|
||||||
}, {
|
|
||||||
"n": "其他",
|
|
||||||
"v": "1"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "iyear",
|
|
||||||
"name": "年龄段",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "-1"
|
|
||||||
}, {
|
|
||||||
"n": "0-3岁",
|
|
||||||
"v": "1"
|
|
||||||
}, {
|
|
||||||
"n": "4-6岁",
|
|
||||||
"v": "2"
|
|
||||||
}, {
|
|
||||||
"n": "7-9岁",
|
|
||||||
"v": "3"
|
|
||||||
}, {
|
|
||||||
"n": "10岁以上",
|
|
||||||
"v": "4"
|
|
||||||
}, {
|
|
||||||
"n": "全年龄段",
|
|
||||||
"v": "7"
|
|
||||||
}]
|
|
||||||
}],
|
|
||||||
"doco": [{
|
|
||||||
"key": "sort",
|
|
||||||
"name": "排序",
|
|
||||||
"value": [{
|
|
||||||
"n": "最热",
|
|
||||||
"v": "75"
|
|
||||||
}, {
|
|
||||||
"n": "最新",
|
|
||||||
"v": "74"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "itrailer",
|
|
||||||
"name": "出品方",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "-1"
|
|
||||||
}, {
|
|
||||||
"n": "BBC",
|
|
||||||
"v": "1"
|
|
||||||
}, {
|
|
||||||
"n": "国家地理",
|
|
||||||
"v": "4"
|
|
||||||
}, {
|
|
||||||
"n": "HBO",
|
|
||||||
"v": "3175"
|
|
||||||
}, {
|
|
||||||
"n": "NHK",
|
|
||||||
"v": "2"
|
|
||||||
}, {
|
|
||||||
"n": "历史频道",
|
|
||||||
"v": "7"
|
|
||||||
}, {
|
|
||||||
"n": "ITV",
|
|
||||||
"v": "3530"
|
|
||||||
}, {
|
|
||||||
"n": "探索频道",
|
|
||||||
"v": "3174"
|
|
||||||
}, {
|
|
||||||
"n": "ZDF",
|
|
||||||
"v": "3176"
|
|
||||||
}, {
|
|
||||||
"n": "腾讯自制",
|
|
||||||
"v": "15"
|
|
||||||
}, {
|
|
||||||
"n": "合作机构",
|
|
||||||
"v": "6"
|
|
||||||
}, {
|
|
||||||
"n": "其他",
|
|
||||||
"v": "5"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "type",
|
|
||||||
"name": "类型",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "-1"
|
|
||||||
}, {
|
|
||||||
"n": "自然",
|
|
||||||
"v": "4"
|
|
||||||
}, {
|
|
||||||
"n": "美食",
|
|
||||||
"v": "10"
|
|
||||||
}, {
|
|
||||||
"n": "社会",
|
|
||||||
"v": "3"
|
|
||||||
}, {
|
|
||||||
"n": "人文",
|
|
||||||
"v": "6"
|
|
||||||
}, {
|
|
||||||
"n": "历史",
|
|
||||||
"v": "1"
|
|
||||||
}, {
|
|
||||||
"n": "军事",
|
|
||||||
"v": "2"
|
|
||||||
}, {
|
|
||||||
"n": "科技",
|
|
||||||
"v": "8"
|
|
||||||
}, {
|
|
||||||
"n": "财经",
|
|
||||||
"v": "14"
|
|
||||||
}, {
|
|
||||||
"n": "探险",
|
|
||||||
"v": "15"
|
|
||||||
}, {
|
|
||||||
"n": "罪案",
|
|
||||||
"v": "7"
|
|
||||||
}, {
|
|
||||||
"n": "竞技",
|
|
||||||
"v": "12"
|
|
||||||
}, {
|
|
||||||
"n": "旅游",
|
|
||||||
"v": "11"
|
|
||||||
}]
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'PC_UA'
|
|
||||||
},
|
|
||||||
timeout: 5000,
|
|
||||||
// class_parse:'.site_channel a;a&&Text;a&&href;channel/(.*)',
|
|
||||||
cate_exclude: '会员|游戏|全部',
|
|
||||||
// class_name: '精选&电视剧&电影&综艺&动漫&少儿&纪录片',
|
|
||||||
// class_url: 'choice&tv&movie&variety&cartoon&child&doco',
|
|
||||||
class_name: '精选&电影&电视剧&综艺&动漫&少儿&纪录片',
|
|
||||||
class_url: 'choice&movie&tv&variety&cartoon&child&doco',
|
|
||||||
limit: 20,
|
|
||||||
// play_parse:true,
|
|
||||||
// 手动调用解析请求json的url,此lazy不方便
|
|
||||||
play_parse: true,
|
|
||||||
lazy: $js.toString(() => {
|
|
||||||
try {
|
|
||||||
let api = "" + input.split("?")[0];
|
|
||||||
console.log(api);
|
|
||||||
let response = fetch(api, {
|
|
||||||
method: 'get',
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'okhttp/3.14.9',
|
|
||||||
'Content-Type': 'application/x-www-form-urlencoded'
|
|
||||||
}
|
|
||||||
});
|
|
||||||
let bata = JSON.parse(response);
|
|
||||||
if (bata.url.includes("qq")) {
|
|
||||||
input = {
|
|
||||||
parse: 0,
|
|
||||||
url: bata.url,
|
|
||||||
jx: 0,
|
|
||||||
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
input = {
|
|
||||||
parse: 0,
|
|
||||||
url: input.split("?")[0],
|
|
||||||
jx: 1,
|
|
||||||
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
|
|
||||||
};
|
|
||||||
}
|
|
||||||
} catch {
|
|
||||||
input = {
|
|
||||||
parse: 0,
|
|
||||||
url: input.split("?")[0],
|
|
||||||
jx: 1,
|
|
||||||
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
推荐: '.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
|
|
||||||
一级: '.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
|
|
||||||
二级: $js.toString(() => {
|
|
||||||
VOD = {};
|
|
||||||
let d = [];
|
|
||||||
let video_list = [];
|
|
||||||
let video_lists = [];
|
|
||||||
let list = [];
|
|
||||||
let QZOutputJson;
|
|
||||||
let html = fetch(input, fetch_params);
|
|
||||||
let sourceId = /get_playsource/.test(input) ? input.match(/id=(\d*?)&/)[1] : input.split("cid=")[1];
|
|
||||||
let cid = sourceId;
|
|
||||||
let detailUrl = "https://v.%71%71.com/detail/m/" + cid + ".html";
|
|
||||||
log("详情页:" + detailUrl);
|
|
||||||
pdfh = jsp.pdfh;
|
|
||||||
pd = jsp.pd;
|
|
||||||
try {
|
|
||||||
let json = JSON.parse(html);
|
|
||||||
VOD = {
|
|
||||||
vod_url: input,
|
|
||||||
vod_name: json.c.title,
|
|
||||||
type_name: json.typ.join(","),
|
|
||||||
vod_actor: json.nam.join(","),
|
|
||||||
vod_year: json.c.year,
|
|
||||||
vod_content: json.c.description,
|
|
||||||
vod_remarks: json.rec,
|
|
||||||
vod_pic: urljoin2(input, json.c.pic)
|
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
log("解析片名海报等基础信息发生错误:" + e.message)
|
|
||||||
}
|
|
||||||
if (/get_playsource/.test(input)) {
|
|
||||||
eval(html);
|
|
||||||
let indexList = QZOutputJson.PlaylistItem.indexList;
|
|
||||||
indexList.forEach(function(it) {
|
|
||||||
let dataUrl = "https://s.video.qq.com/get_playsource?id=" + sourceId + "&plat=2&type=4&data_type=3&range=" + it + "&video_type=10&plname=qq&otype=json";
|
|
||||||
eval(fetch(dataUrl, fetch_params));
|
|
||||||
let vdata = QZOutputJson.PlaylistItem.videoPlayList;
|
|
||||||
vdata.forEach(function(item) {
|
|
||||||
d.push({
|
|
||||||
title: item.title,
|
|
||||||
pic_url: item.pic,
|
|
||||||
desc: item.episode_number + "\t\t\t播放量:" + item.thirdLine,
|
|
||||||
url: item.playUrl
|
|
||||||
})
|
|
||||||
});
|
|
||||||
video_lists = video_lists.concat(vdata)
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
let json = JSON.parse(html);
|
|
||||||
video_lists = json.c.video_ids;
|
|
||||||
let url = "https://v.qq.com/x/cover/" + sourceId + ".html";
|
|
||||||
if (video_lists.length === 1) {
|
|
||||||
let vid = video_lists[0];
|
|
||||||
url = "https://v.qq.com/x/cover/" + cid + "/" + vid + ".html";
|
|
||||||
d.push({
|
|
||||||
title: "在线播放",
|
|
||||||
url: url
|
|
||||||
})
|
|
||||||
} else if (video_lists.length > 1) {
|
|
||||||
for (let i = 0; i < video_lists.length; i += 30) {
|
|
||||||
video_list.push(video_lists.slice(i, i + 30))
|
|
||||||
}
|
|
||||||
video_list.forEach(function(it, idex) {
|
|
||||||
let o_url = "https://union.video.qq.com/fcgi-bin/data?otype=json&tid=1804&appid=20001238&appkey=6c03bbe9658448a4&union_platform=1&idlist=" + it.join(",");
|
|
||||||
let o_html = fetch(o_url, fetch_params);
|
|
||||||
eval(o_html);
|
|
||||||
QZOutputJson.results.forEach(function(it1) {
|
|
||||||
it1 = it1.fields;
|
|
||||||
let url = "https://v.qq.com/x/cover/" + cid + "/" + it1.vid + ".html";
|
|
||||||
d.push({
|
|
||||||
title: it1.title,
|
|
||||||
pic_url: it1.pic160x90.replace("/160", ""),
|
|
||||||
desc: it1.video_checkup_time,
|
|
||||||
url: url,
|
|
||||||
type: it1.category_map && it1.category_map.length > 1 ? it1.category_map[1] : ""
|
|
||||||
})
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
let yg = d.filter(function(it) {
|
|
||||||
return it.type && it.type !== "正片"
|
|
||||||
});
|
|
||||||
let zp = d.filter(function(it) {
|
|
||||||
return !(it.type && it.type !== "正片")
|
|
||||||
});
|
|
||||||
VOD.vod_play_from = yg.length < 1 ? "qq" : "qq$$$qq 预告及花絮";
|
|
||||||
VOD.vod_play_url = yg.length < 1 ? d.map(function(it) {
|
|
||||||
return it.title + "$" + it.url
|
|
||||||
}).join("#") : [zp, yg].map(function(it) {
|
|
||||||
return it.map(function(its) {
|
|
||||||
return its.title + "$" + its.url
|
|
||||||
}).join("#")
|
|
||||||
}).join("$$$");
|
|
||||||
}),
|
|
||||||
搜索: $js.toString(() => {
|
|
||||||
let d = [];
|
|
||||||
pdfa = jsp.pdfa;
|
|
||||||
pdfh = jsp.pdfh;
|
|
||||||
pd = jsp.pd;
|
|
||||||
let html = request(input);
|
|
||||||
let baseList = pdfa(html, "body&&.result_item_v");
|
|
||||||
log(baseList.length);
|
|
||||||
baseList.forEach(function(it) {
|
|
||||||
let longText = pdfh(it, ".result_title&&a&&Text");
|
|
||||||
let shortText = pdfh(it, ".type&&Text");
|
|
||||||
let fromTag = pdfh(it, ".result_source&&Text");
|
|
||||||
let score = pdfh(it, ".figure_info&&Text");
|
|
||||||
let content = pdfh(it, ".desc_text&&Text");
|
|
||||||
// let url = pdfh(it, ".result_title&&a&&href");
|
|
||||||
let url = pdfh(it, "div&&r-data");
|
|
||||||
// log(longText);
|
|
||||||
// log(shortText);
|
|
||||||
// log('url:'+url);
|
|
||||||
let img = pd(it, ".figure_pic&&src");
|
|
||||||
url = "https://node.video.qq.com/x/api/float_vinfo2?cid=" + url.match(/.*\/(.*?)\.html/)[1];
|
|
||||||
log(shortText + "|" + url);
|
|
||||||
if (fromTag.match(/腾讯/)) {
|
|
||||||
d.push({
|
|
||||||
title: longText.split(shortText)[0],
|
|
||||||
img: img,
|
|
||||||
url: url,
|
|
||||||
content: content,
|
|
||||||
desc: shortText + " " + score
|
|
||||||
})
|
|
||||||
}
|
|
||||||
});
|
|
||||||
setResult(d);
|
|
||||||
}),
|
|
||||||
搜索: $js.toString(() => {
|
|
||||||
let d = [];
|
|
||||||
let html = request(input);
|
|
||||||
let json = JSON.parse(html);
|
|
||||||
if (json.data.smartboxItemList.length > 0) {
|
|
||||||
let cid = json.data.smartboxItemList[0].basicDoc.id;
|
|
||||||
let url = 'https://node.video.qq.com/x/api/float_vinfo2?cid=' + cid;
|
|
||||||
let html1 = request(url);
|
|
||||||
let data = JSON.parse(html1);
|
|
||||||
|
|
||||||
d.push({
|
|
||||||
title: data.c.title,
|
|
||||||
img: data.c.pic,
|
|
||||||
url: url,
|
|
||||||
content: data.c.description,
|
|
||||||
desc: data.rec
|
|
||||||
});
|
|
||||||
}
|
|
||||||
setResult(d);
|
|
||||||
})
|
|
||||||
}
|
|
||||||
-843
@@ -1,843 +0,0 @@
|
|||||||
var rule = {
|
|
||||||
title: '百忙无果[官]',
|
|
||||||
host: 'https://pianku.api.%6d%67%74%76.com',
|
|
||||||
homeUrl: '',
|
|
||||||
// searchUrl: 'https://mobileso.bz.%6d%67%74%76.com/pc/search/v1?q=**&pn=fypage&pc=10',
|
|
||||||
// 新版接口搜索变成v2并且加了验证,蛋疼
|
|
||||||
// searchUrl: 'https://mobileso.bz.mgtv.com/pc/search/v2?allowedRC=1&src=mgtv&did=cf03b959-6945-4cb6-bcb3-88762459354d×tamp=2024-06-21T15%3A52%3A55Z&signVersion=1&signNonce=8dae67a1fafc4bda984ec8deb47666ad&q=**&pn=fypage&pc=10&corr=1&_support=10000000&signature=4e27fddcd2a1a66d6c1764ed6b74bab7',
|
|
||||||
// 用手机的吧,搞不定这个
|
|
||||||
searchUrl: 'https://mobileso.bz.%6d%67%74%76.com/msite/search/v2?q=**&pn=fypage&pc=10',
|
|
||||||
detailUrl: 'https://pcweb.api.mgtv.com/episode/list?page=1&size=50&video_id=fyid',
|
|
||||||
searchable: 2,
|
|
||||||
quickSearch: 0,
|
|
||||||
filterable: 1,
|
|
||||||
multi: 1,
|
|
||||||
// 分类链接fypage参数支持1个()表达式
|
|
||||||
// https://www.mgtv.com/lib/3?lastp=list_index&kind=a1&year=all&chargeInfo=a1&sort=c2
|
|
||||||
url: '/rider/list/pcweb/v3?platform=pcweb&channelId=fyclass&pn=fypage&pc=80&hudong=1&_support=10000000&kind=a1&area=a1',
|
|
||||||
filter_url: 'year={{fl.year or "all"}}&sort={{fl.sort or "all"}}&chargeInfo={{fl.chargeInfo or "all"}}',
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'PC_UA'
|
|
||||||
},
|
|
||||||
timeout: 5000,
|
|
||||||
class_name: '电视剧&电影&综艺&动漫&纪录片&教育&少儿',
|
|
||||||
class_url: '2&3&1&50&51&115&10',
|
|
||||||
filter: {
|
|
||||||
"1": [{
|
|
||||||
"key": "chargeInfo",
|
|
||||||
"name": "付费类型",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "all"
|
|
||||||
}, {
|
|
||||||
"n": "免费",
|
|
||||||
"v": "b1"
|
|
||||||
}, {
|
|
||||||
"n": "vip",
|
|
||||||
"v": "b2"
|
|
||||||
}, {
|
|
||||||
"n": "VIP用券",
|
|
||||||
"v": "b3"
|
|
||||||
}, {
|
|
||||||
"n": "付费点播",
|
|
||||||
"v": "b4"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "sort",
|
|
||||||
"name": "排序",
|
|
||||||
"value": [{
|
|
||||||
"n": "最新",
|
|
||||||
"v": "c1"
|
|
||||||
}, {
|
|
||||||
"n": "最热",
|
|
||||||
"v": "c2"
|
|
||||||
}, {
|
|
||||||
"n": "知乎高分",
|
|
||||||
"v": "c4"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "year",
|
|
||||||
"name": "年代",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "all"
|
|
||||||
}, {
|
|
||||||
"n": "2025",
|
|
||||||
"v": "2025"
|
|
||||||
}, {
|
|
||||||
"n": "2024",
|
|
||||||
"v": "2024"
|
|
||||||
}, {
|
|
||||||
"n": "2023",
|
|
||||||
"v": "2023"
|
|
||||||
}, {
|
|
||||||
"n": "2022",
|
|
||||||
"v": "2022"
|
|
||||||
}, {
|
|
||||||
"n": "2021",
|
|
||||||
"v": "2021"
|
|
||||||
}, {
|
|
||||||
"n": "2020",
|
|
||||||
"v": "2020"
|
|
||||||
}, {
|
|
||||||
"n": "2019",
|
|
||||||
"v": "2019"
|
|
||||||
}, {
|
|
||||||
"n": "2018",
|
|
||||||
"v": "2018"
|
|
||||||
}, {
|
|
||||||
"n": "2017",
|
|
||||||
"v": "2017"
|
|
||||||
}, {
|
|
||||||
"n": "2016",
|
|
||||||
"v": "2016"
|
|
||||||
}, {
|
|
||||||
"n": "2015",
|
|
||||||
"v": "2015"
|
|
||||||
}, {
|
|
||||||
"n": "2014",
|
|
||||||
"v": "2014"
|
|
||||||
}, {
|
|
||||||
"n": "2013",
|
|
||||||
"v": "2013"
|
|
||||||
}, {
|
|
||||||
"n": "2012",
|
|
||||||
"v": "2012"
|
|
||||||
}, {
|
|
||||||
"n": "2011",
|
|
||||||
"v": "2011"
|
|
||||||
}, {
|
|
||||||
"n": "2010",
|
|
||||||
"v": "2010"
|
|
||||||
}, {
|
|
||||||
"n": "2009",
|
|
||||||
"v": "2009"
|
|
||||||
}, {
|
|
||||||
"n": "2008",
|
|
||||||
"v": "2008"
|
|
||||||
}, {
|
|
||||||
"n": "2007",
|
|
||||||
"v": "2007"
|
|
||||||
}, {
|
|
||||||
"n": "2006",
|
|
||||||
"v": "2006"
|
|
||||||
}, {
|
|
||||||
"n": "2005",
|
|
||||||
"v": "2005"
|
|
||||||
}, {
|
|
||||||
"n": "2004",
|
|
||||||
"v": "2004"
|
|
||||||
}]
|
|
||||||
}],
|
|
||||||
"2": [{
|
|
||||||
"key": "chargeInfo",
|
|
||||||
"name": "付费类型",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "all"
|
|
||||||
}, {
|
|
||||||
"n": "免费",
|
|
||||||
"v": "b1"
|
|
||||||
}, {
|
|
||||||
"n": "vip",
|
|
||||||
"v": "b2"
|
|
||||||
}, {
|
|
||||||
"n": "VIP用券",
|
|
||||||
"v": "b3"
|
|
||||||
}, {
|
|
||||||
"n": "付费点播",
|
|
||||||
"v": "b4"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "sort",
|
|
||||||
"name": "排序",
|
|
||||||
"value": [{
|
|
||||||
"n": "最新",
|
|
||||||
"v": "c1"
|
|
||||||
}, {
|
|
||||||
"n": "最热",
|
|
||||||
"v": "c2"
|
|
||||||
}, {
|
|
||||||
"n": "知乎高分",
|
|
||||||
"v": "c4"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "year",
|
|
||||||
"name": "年代",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "all"
|
|
||||||
}, {
|
|
||||||
"n": "2025",
|
|
||||||
"v": "2025"
|
|
||||||
}, {
|
|
||||||
"n": "2024",
|
|
||||||
"v": "2024"
|
|
||||||
}, {
|
|
||||||
"n": "2023",
|
|
||||||
"v": "2023"
|
|
||||||
}, {
|
|
||||||
"n": "2022",
|
|
||||||
"v": "2022"
|
|
||||||
}, {
|
|
||||||
"n": "2021",
|
|
||||||
"v": "2021"
|
|
||||||
}, {
|
|
||||||
"n": "2020",
|
|
||||||
"v": "2020"
|
|
||||||
}, {
|
|
||||||
"n": "2019",
|
|
||||||
"v": "2019"
|
|
||||||
}, {
|
|
||||||
"n": "2018",
|
|
||||||
"v": "2018"
|
|
||||||
}, {
|
|
||||||
"n": "2017",
|
|
||||||
"v": "2017"
|
|
||||||
}, {
|
|
||||||
"n": "2016",
|
|
||||||
"v": "2016"
|
|
||||||
}, {
|
|
||||||
"n": "2015",
|
|
||||||
"v": "2015"
|
|
||||||
}, {
|
|
||||||
"n": "2014",
|
|
||||||
"v": "2014"
|
|
||||||
}, {
|
|
||||||
"n": "2013",
|
|
||||||
"v": "2013"
|
|
||||||
}, {
|
|
||||||
"n": "2012",
|
|
||||||
"v": "2012"
|
|
||||||
}, {
|
|
||||||
"n": "2011",
|
|
||||||
"v": "2011"
|
|
||||||
}, {
|
|
||||||
"n": "2010",
|
|
||||||
"v": "2010"
|
|
||||||
}, {
|
|
||||||
"n": "2009",
|
|
||||||
"v": "2009"
|
|
||||||
}, {
|
|
||||||
"n": "2008",
|
|
||||||
"v": "2008"
|
|
||||||
}, {
|
|
||||||
"n": "2007",
|
|
||||||
"v": "2007"
|
|
||||||
}, {
|
|
||||||
"n": "2006",
|
|
||||||
"v": "2006"
|
|
||||||
}, {
|
|
||||||
"n": "2005",
|
|
||||||
"v": "2005"
|
|
||||||
}, {
|
|
||||||
"n": "2004",
|
|
||||||
"v": "2004"
|
|
||||||
}]
|
|
||||||
}],
|
|
||||||
"3": [{
|
|
||||||
"key": "chargeInfo",
|
|
||||||
"name": "付费类型",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "all"
|
|
||||||
}, {
|
|
||||||
"n": "免费",
|
|
||||||
"v": "b1"
|
|
||||||
}, {
|
|
||||||
"n": "vip",
|
|
||||||
"v": "b2"
|
|
||||||
}, {
|
|
||||||
"n": "VIP用券",
|
|
||||||
"v": "b3"
|
|
||||||
}, {
|
|
||||||
"n": "付费点播",
|
|
||||||
"v": "b4"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "sort",
|
|
||||||
"name": "排序",
|
|
||||||
"value": [{
|
|
||||||
"n": "最新",
|
|
||||||
"v": "c1"
|
|
||||||
}, {
|
|
||||||
"n": "最热",
|
|
||||||
"v": "c2"
|
|
||||||
}, {
|
|
||||||
"n": "知乎高分",
|
|
||||||
"v": "c4"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "year",
|
|
||||||
"name": "年代",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "all"
|
|
||||||
}, {
|
|
||||||
"n": "2025",
|
|
||||||
"v": "2025"
|
|
||||||
}, {
|
|
||||||
"n": "2024",
|
|
||||||
"v": "2024"
|
|
||||||
}, {
|
|
||||||
"n": "2023",
|
|
||||||
"v": "2023"
|
|
||||||
}, {
|
|
||||||
"n": "2022",
|
|
||||||
"v": "2022"
|
|
||||||
}, {
|
|
||||||
"n": "2021",
|
|
||||||
"v": "2021"
|
|
||||||
}, {
|
|
||||||
"n": "2020",
|
|
||||||
"v": "2020"
|
|
||||||
}, {
|
|
||||||
"n": "2019",
|
|
||||||
"v": "2019"
|
|
||||||
}, {
|
|
||||||
"n": "2018",
|
|
||||||
"v": "2018"
|
|
||||||
}, {
|
|
||||||
"n": "2017",
|
|
||||||
"v": "2017"
|
|
||||||
}, {
|
|
||||||
"n": "2016",
|
|
||||||
"v": "2016"
|
|
||||||
}, {
|
|
||||||
"n": "2015",
|
|
||||||
"v": "2015"
|
|
||||||
}, {
|
|
||||||
"n": "2014",
|
|
||||||
"v": "2014"
|
|
||||||
}, {
|
|
||||||
"n": "2013",
|
|
||||||
"v": "2013"
|
|
||||||
}, {
|
|
||||||
"n": "2012",
|
|
||||||
"v": "2012"
|
|
||||||
}, {
|
|
||||||
"n": "2011",
|
|
||||||
"v": "2011"
|
|
||||||
}, {
|
|
||||||
"n": "2010",
|
|
||||||
"v": "2010"
|
|
||||||
}, {
|
|
||||||
"n": "2009",
|
|
||||||
"v": "2009"
|
|
||||||
}, {
|
|
||||||
"n": "2008",
|
|
||||||
"v": "2008"
|
|
||||||
}, {
|
|
||||||
"n": "2007",
|
|
||||||
"v": "2007"
|
|
||||||
}, {
|
|
||||||
"n": "2006",
|
|
||||||
"v": "2006"
|
|
||||||
}, {
|
|
||||||
"n": "2005",
|
|
||||||
"v": "2005"
|
|
||||||
}, {
|
|
||||||
"n": "2004",
|
|
||||||
"v": "2004"
|
|
||||||
}]
|
|
||||||
}],
|
|
||||||
"50": [{
|
|
||||||
"key": "chargeInfo",
|
|
||||||
"name": "付费类型",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "all"
|
|
||||||
}, {
|
|
||||||
"n": "免费",
|
|
||||||
"v": "b1"
|
|
||||||
}, {
|
|
||||||
"n": "vip",
|
|
||||||
"v": "b2"
|
|
||||||
}, {
|
|
||||||
"n": "VIP用券",
|
|
||||||
"v": "b3"
|
|
||||||
}, {
|
|
||||||
"n": "付费点播",
|
|
||||||
"v": "b4"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "sort",
|
|
||||||
"name": "排序",
|
|
||||||
"value": [{
|
|
||||||
"n": "最新",
|
|
||||||
"v": "c1"
|
|
||||||
}, {
|
|
||||||
"n": "最热",
|
|
||||||
"v": "c2"
|
|
||||||
}, {
|
|
||||||
"n": "知乎高分",
|
|
||||||
"v": "c4"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "year",
|
|
||||||
"name": "年代",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "all"
|
|
||||||
}, {
|
|
||||||
"n": "2025",
|
|
||||||
"v": "2025"
|
|
||||||
}, {
|
|
||||||
"n": "2024",
|
|
||||||
"v": "2024"
|
|
||||||
}, {
|
|
||||||
"n": "2023",
|
|
||||||
"v": "2023"
|
|
||||||
}, {
|
|
||||||
"n": "2022",
|
|
||||||
"v": "2022"
|
|
||||||
}, {
|
|
||||||
"n": "2021",
|
|
||||||
"v": "2021"
|
|
||||||
}, {
|
|
||||||
"n": "2020",
|
|
||||||
"v": "2020"
|
|
||||||
}, {
|
|
||||||
"n": "2019",
|
|
||||||
"v": "2019"
|
|
||||||
}, {
|
|
||||||
"n": "2018",
|
|
||||||
"v": "2018"
|
|
||||||
}, {
|
|
||||||
"n": "2017",
|
|
||||||
"v": "2017"
|
|
||||||
}, {
|
|
||||||
"n": "2016",
|
|
||||||
"v": "2016"
|
|
||||||
}, {
|
|
||||||
"n": "2015",
|
|
||||||
"v": "2015"
|
|
||||||
}, {
|
|
||||||
"n": "2014",
|
|
||||||
"v": "2014"
|
|
||||||
}, {
|
|
||||||
"n": "2013",
|
|
||||||
"v": "2013"
|
|
||||||
}, {
|
|
||||||
"n": "2012",
|
|
||||||
"v": "2012"
|
|
||||||
}, {
|
|
||||||
"n": "2011",
|
|
||||||
"v": "2011"
|
|
||||||
}, {
|
|
||||||
"n": "2010",
|
|
||||||
"v": "2010"
|
|
||||||
}, {
|
|
||||||
"n": "2009",
|
|
||||||
"v": "2009"
|
|
||||||
}, {
|
|
||||||
"n": "2008",
|
|
||||||
"v": "2008"
|
|
||||||
}, {
|
|
||||||
"n": "2007",
|
|
||||||
"v": "2007"
|
|
||||||
}, {
|
|
||||||
"n": "2006",
|
|
||||||
"v": "2006"
|
|
||||||
}, {
|
|
||||||
"n": "2005",
|
|
||||||
"v": "2005"
|
|
||||||
}, {
|
|
||||||
"n": "2004",
|
|
||||||
"v": "2004"
|
|
||||||
}]
|
|
||||||
}],
|
|
||||||
"51": [{
|
|
||||||
"key": "chargeInfo",
|
|
||||||
"name": "付费类型",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "all"
|
|
||||||
}, {
|
|
||||||
"n": "免费",
|
|
||||||
"v": "b1"
|
|
||||||
}, {
|
|
||||||
"n": "vip",
|
|
||||||
"v": "b2"
|
|
||||||
}, {
|
|
||||||
"n": "VIP用券",
|
|
||||||
"v": "b3"
|
|
||||||
}, {
|
|
||||||
"n": "付费点播",
|
|
||||||
"v": "b4"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "sort",
|
|
||||||
"name": "排序",
|
|
||||||
"value": [{
|
|
||||||
"n": "最新",
|
|
||||||
"v": "c1"
|
|
||||||
}, {
|
|
||||||
"n": "最热",
|
|
||||||
"v": "c2"
|
|
||||||
}, {
|
|
||||||
"n": "知乎高分",
|
|
||||||
"v": "c4"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "year",
|
|
||||||
"name": "年代",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "all"
|
|
||||||
}, {
|
|
||||||
"n": "2025",
|
|
||||||
"v": "2025"
|
|
||||||
}, {
|
|
||||||
"n": "2024",
|
|
||||||
"v": "2024"
|
|
||||||
}, {
|
|
||||||
"n": "2023",
|
|
||||||
"v": "2023"
|
|
||||||
}, {
|
|
||||||
"n": "2022",
|
|
||||||
"v": "2022"
|
|
||||||
}, {
|
|
||||||
"n": "2021",
|
|
||||||
"v": "2021"
|
|
||||||
}, {
|
|
||||||
"n": "2020",
|
|
||||||
"v": "2020"
|
|
||||||
}, {
|
|
||||||
"n": "2019",
|
|
||||||
"v": "2019"
|
|
||||||
}, {
|
|
||||||
"n": "2018",
|
|
||||||
"v": "2018"
|
|
||||||
}, {
|
|
||||||
"n": "2017",
|
|
||||||
"v": "2017"
|
|
||||||
}, {
|
|
||||||
"n": "2016",
|
|
||||||
"v": "2016"
|
|
||||||
}, {
|
|
||||||
"n": "2015",
|
|
||||||
"v": "2015"
|
|
||||||
}, {
|
|
||||||
"n": "2014",
|
|
||||||
"v": "2014"
|
|
||||||
}, {
|
|
||||||
"n": "2013",
|
|
||||||
"v": "2013"
|
|
||||||
}, {
|
|
||||||
"n": "2012",
|
|
||||||
"v": "2012"
|
|
||||||
}, {
|
|
||||||
"n": "2011",
|
|
||||||
"v": "2011"
|
|
||||||
}, {
|
|
||||||
"n": "2010",
|
|
||||||
"v": "2010"
|
|
||||||
}, {
|
|
||||||
"n": "2009",
|
|
||||||
"v": "2009"
|
|
||||||
}, {
|
|
||||||
"n": "2008",
|
|
||||||
"v": "2008"
|
|
||||||
}, {
|
|
||||||
"n": "2007",
|
|
||||||
"v": "2007"
|
|
||||||
}, {
|
|
||||||
"n": "2006",
|
|
||||||
"v": "2006"
|
|
||||||
}, {
|
|
||||||
"n": "2005",
|
|
||||||
"v": "2005"
|
|
||||||
}, {
|
|
||||||
"n": "2004",
|
|
||||||
"v": "2004"
|
|
||||||
}]
|
|
||||||
}],
|
|
||||||
"115": [{
|
|
||||||
"key": "chargeInfo",
|
|
||||||
"name": "付费类型",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "all"
|
|
||||||
}, {
|
|
||||||
"n": "免费",
|
|
||||||
"v": "b1"
|
|
||||||
}, {
|
|
||||||
"n": "vip",
|
|
||||||
"v": "b2"
|
|
||||||
}, {
|
|
||||||
"n": "VIP用券",
|
|
||||||
"v": "b3"
|
|
||||||
}, {
|
|
||||||
"n": "付费点播",
|
|
||||||
"v": "b4"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "sort",
|
|
||||||
"name": "排序",
|
|
||||||
"value": [{
|
|
||||||
"n": "最新",
|
|
||||||
"v": "c1"
|
|
||||||
}, {
|
|
||||||
"n": "最热",
|
|
||||||
"v": "c2"
|
|
||||||
}, {
|
|
||||||
"n": "知乎高分",
|
|
||||||
"v": "c4"
|
|
||||||
}]
|
|
||||||
}, {
|
|
||||||
"key": "year",
|
|
||||||
"name": "年代",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "all"
|
|
||||||
}, {
|
|
||||||
"n": "2025",
|
|
||||||
"v": "2025"
|
|
||||||
}, {
|
|
||||||
"n": "2024",
|
|
||||||
"v": "2024"
|
|
||||||
}, {
|
|
||||||
"n": "2023",
|
|
||||||
"v": "2023"
|
|
||||||
}, {
|
|
||||||
"n": "2022",
|
|
||||||
"v": "2022"
|
|
||||||
}, {
|
|
||||||
"n": "2021",
|
|
||||||
"v": "2021"
|
|
||||||
}, {
|
|
||||||
"n": "2020",
|
|
||||||
"v": "2020"
|
|
||||||
}, {
|
|
||||||
"n": "2019",
|
|
||||||
"v": "2019"
|
|
||||||
}, {
|
|
||||||
"n": "2018",
|
|
||||||
"v": "2018"
|
|
||||||
}, {
|
|
||||||
"n": "2017",
|
|
||||||
"v": "2017"
|
|
||||||
}, {
|
|
||||||
"n": "2016",
|
|
||||||
"v": "2016"
|
|
||||||
}, {
|
|
||||||
"n": "2015",
|
|
||||||
"v": "2015"
|
|
||||||
}, {
|
|
||||||
"n": "2014",
|
|
||||||
"v": "2014"
|
|
||||||
}, {
|
|
||||||
"n": "2013",
|
|
||||||
"v": "2013"
|
|
||||||
}, {
|
|
||||||
"n": "2012",
|
|
||||||
"v": "2012"
|
|
||||||
}, {
|
|
||||||
"n": "2011",
|
|
||||||
"v": "2011"
|
|
||||||
}, {
|
|
||||||
"n": "2010",
|
|
||||||
"v": "2010"
|
|
||||||
}, {
|
|
||||||
"n": "2009",
|
|
||||||
"v": "2009"
|
|
||||||
}, {
|
|
||||||
"n": "2008",
|
|
||||||
"v": "2008"
|
|
||||||
}, {
|
|
||||||
"n": "2007",
|
|
||||||
"v": "2007"
|
|
||||||
}, {
|
|
||||||
"n": "2006",
|
|
||||||
"v": "2006"
|
|
||||||
}, {
|
|
||||||
"n": "2005",
|
|
||||||
"v": "2005"
|
|
||||||
}, {
|
|
||||||
"n": "2004",
|
|
||||||
"v": "2004"
|
|
||||||
}]
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
limit: 20,
|
|
||||||
play_parse: true,
|
|
||||||
lazy: $js.toString(() => {
|
|
||||||
try {
|
|
||||||
let api = "" + input.split("?")[0];
|
|
||||||
console.log(api);
|
|
||||||
let response = fetch(api, {
|
|
||||||
method: 'get',
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'okhttp/3.14.9',
|
|
||||||
'Content-Type': 'application/x-www-form-urlencoded'
|
|
||||||
}
|
|
||||||
});
|
|
||||||
let bata = JSON.parse(response);
|
|
||||||
if (bata.url.includes("mgtv")) {
|
|
||||||
input = {
|
|
||||||
parse: 0,
|
|
||||||
url: bata.url,
|
|
||||||
jx: 0,
|
|
||||||
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
input = {
|
|
||||||
parse: 0,
|
|
||||||
url: input.split("?")[0],
|
|
||||||
jx: 1,
|
|
||||||
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
|
|
||||||
};
|
|
||||||
}
|
|
||||||
} catch {
|
|
||||||
input = {
|
|
||||||
parse: 0,
|
|
||||||
url: input.split("?")[0],
|
|
||||||
jx: 1,
|
|
||||||
danmaku: "http://103.45.162.207:25252/hbdm.php?key=7894561232&id=" + input.split("?")[0]
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
// 手动调用解析请求json的url,此lazy不方便
|
|
||||||
// lazy:'js:print(input);fetch_params.headers["user-agent"]=MOBILE_UA;let html=request(input);let rurl=html.match(/window\\.open\\(\'(.*?)\',/)[1];rurl=urlDeal(rurl);input={parse:1,url:rurl};',
|
|
||||||
// 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
|
|
||||||
一级: 'json:data.hitDocs;title;img;updateInfo||rightCorner.text;playPartId',
|
|
||||||
// 一级:'json:data.hitDocs;title;img;updateInfo;playPartId',
|
|
||||||
二级: $js.toString(() => {
|
|
||||||
fetch_params.headers.Referer = "https://www.mgtv.com";
|
|
||||||
fetch_params.headers["User-Agent"] = MOBILE_UA;
|
|
||||||
pdfh = jsp.pdfh;
|
|
||||||
pdfa = jsp.pdfa;
|
|
||||||
pd = jsp.pd;
|
|
||||||
VOD = {};
|
|
||||||
let d = [];
|
|
||||||
let html = request(input);
|
|
||||||
let json = JSON.parse(html);
|
|
||||||
let host = "https://www.mgtv.com";
|
|
||||||
let ourl = json.data.list.length > 0 ? json.data.list[0].url : json.data.series[0].url;
|
|
||||||
if (!/^http/.test(ourl)) {
|
|
||||||
ourl = host + ourl
|
|
||||||
}
|
|
||||||
fetch_params.headers["User-Agent"] = MOBILE_UA;
|
|
||||||
html = request(ourl);
|
|
||||||
if (html.includes("window.location =")) {
|
|
||||||
print("开始获取ourl");
|
|
||||||
ourl = pdfh(html, "meta[http-equiv=refresh]&&content").split("url=")[1];
|
|
||||||
print("获取到ourl:" + ourl);
|
|
||||||
html = request(ourl)
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
let details = pdfh(html, ".m-details&&Html").replace(/h1>/, "h6>").replace(/div/g, "br");
|
|
||||||
print(details);
|
|
||||||
let actor = "",
|
|
||||||
director = "",
|
|
||||||
time = "";
|
|
||||||
if (/播出时间/.test(details)) {
|
|
||||||
actor = pdfh(html, "p:eq(5)&&Text").substr(0, 25);
|
|
||||||
director = pdfh(html, "p:eq(4)&&Text");
|
|
||||||
time = pdfh(html, "p:eq(3)&&Text")
|
|
||||||
} else {
|
|
||||||
actor = pdfh(html, "p:eq(4)&&Text").substr(0, 25);
|
|
||||||
director = pdfh(html, "p:eq(3)&&Text");
|
|
||||||
time = "已完结"
|
|
||||||
}
|
|
||||||
let _img = pd(html, ".video-img&&img&&src");
|
|
||||||
let JJ = pdfh(html, ".desc&&Text").split("简介:")[1];
|
|
||||||
let _desc = time;
|
|
||||||
VOD.vod_name = pdfh(html, ".vt-txt&&Text");
|
|
||||||
VOD.type_name = pdfh(html, "p:eq(0)&&Text").substr(0, 6);
|
|
||||||
VOD.vod_area = pdfh(html, "p:eq(1)&&Text");
|
|
||||||
VOD.vod_actor = actor;
|
|
||||||
VOD.vod_director = director;
|
|
||||||
VOD.vod_remarks = _desc;
|
|
||||||
VOD.vod_pic = _img;
|
|
||||||
VOD.vod_content = JJ;
|
|
||||||
if (!VOD.vod_name) {
|
|
||||||
VOD.vod_name = VOD.type_name;
|
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
log("获取影片信息发生错误:" + e.message)
|
|
||||||
}
|
|
||||||
|
|
||||||
function getRjpg(imgUrl, xs) {
|
|
||||||
xs = xs || 3;
|
|
||||||
let picSize = /jpg_/.test(imgUrl) ? imgUrl.split("jpg_")[1].split(".")[0] : false;
|
|
||||||
let rjpg = false;
|
|
||||||
if (picSize) {
|
|
||||||
let a = parseInt(picSize.split("x")[0]) * xs;
|
|
||||||
let b = parseInt(picSize.split("x")[1]) * xs;
|
|
||||||
rjpg = a + "x" + b + ".jpg"
|
|
||||||
}
|
|
||||||
let img = /jpg_/.test(imgUrl) && rjpg ? imgUrl.replace(imgUrl.split("jpg_")[1], rjpg) : imgUrl;
|
|
||||||
return img
|
|
||||||
}
|
|
||||||
|
|
||||||
if (json.data.total === 1 && json.data.list.length === 1) {
|
|
||||||
let data = json.data.list[0];
|
|
||||||
let url = "https://www.mgtv.com" + data.url;
|
|
||||||
d.push({
|
|
||||||
title: data.t4,
|
|
||||||
desc: data.t2,
|
|
||||||
pic_url: getRjpg(data.img),
|
|
||||||
url: url
|
|
||||||
})
|
|
||||||
} else if (json.data.list.length > 1) {
|
|
||||||
for (let i = 1; i <= json.data.total_page; i++) {
|
|
||||||
if (i > 1) {
|
|
||||||
json = JSON.parse(fetch(input.replace("page=1", "page=" + i), {}))
|
|
||||||
}
|
|
||||||
json.data.list.forEach(function(data) {
|
|
||||||
let url = "https://www.mgtv.com" + data.url;
|
|
||||||
if (data.isIntact == "1") {
|
|
||||||
d.push({
|
|
||||||
title: data.t4,
|
|
||||||
desc: data.t2,
|
|
||||||
pic_url: getRjpg(data.img),
|
|
||||||
url: url
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
print(input + "暂无片源")
|
|
||||||
}
|
|
||||||
VOD.vod_play_from = "mgtv";
|
|
||||||
VOD.vod_play_url = d.map(function(it) {
|
|
||||||
return it.title + "$" + it.url
|
|
||||||
}).join("#");
|
|
||||||
setResult(d);
|
|
||||||
}),
|
|
||||||
|
|
||||||
搜索: $js.toString(() => {
|
|
||||||
fetch_params.headers.Referer = "https://www.mgtv.com";
|
|
||||||
fetch_params.headers["User-Agent"] = MOBILE_UA;
|
|
||||||
let d = [];
|
|
||||||
let html = request(input);
|
|
||||||
let json = JSON.parse(html);
|
|
||||||
json.data.contents.forEach(function(data) {
|
|
||||||
if (data.type && data.type == 'media') {
|
|
||||||
let item = data.data[0];
|
|
||||||
let desc = item.desc.join(',');
|
|
||||||
let fyclass = '';
|
|
||||||
if (item.source === "imgo") {
|
|
||||||
let img = item.img ? item.img : '';
|
|
||||||
try {
|
|
||||||
fyclass = item.rpt.match(/idx=(.*?)&/)[1] + '$';
|
|
||||||
} catch (e) {
|
|
||||||
log(e.message);
|
|
||||||
fyclass = '';
|
|
||||||
}
|
|
||||||
log(fyclass);
|
|
||||||
d.push({
|
|
||||||
title: item.title.replace(/<B>|<\/B>/g, ''),
|
|
||||||
img: img,
|
|
||||||
content: '',
|
|
||||||
desc: desc,
|
|
||||||
url: fyclass + item.url.match(/.*\/(.*?)\.html/)[1]
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
setResult(d);
|
|
||||||
}),
|
|
||||||
}
|
|
||||||
-111
@@ -1,111 +0,0 @@
|
|||||||
|
|
||||||
var rule = {
|
|
||||||
title: '蓝莓短剧',
|
|
||||||
host: 'https://app.whjzjx.cn',
|
|
||||||
url: '/v1/theater/home_page?theater_class_id=1&class2_id=fyclass&page_num=fypage&page_size=24',
|
|
||||||
searchUrl: '/?**',
|
|
||||||
searchable: 2,
|
|
||||||
quickSearch: 1,
|
|
||||||
// filterable: 1,
|
|
||||||
class_name: '七星✡︎古装&七星✡︎穿越&七星✡︎逆袭&七星✡︎重生',
|
|
||||||
class_url: '5&17&7&6',
|
|
||||||
一级: $js.toString(() => {
|
|
||||||
let d = [];
|
|
||||||
let urlk = `https://app.whjzjx.cn/v1/theater/home_page?theater_class_id=${MY_CATE}&page_num=${MY_PAGE - 1}&page_size=24`;
|
|
||||||
let tkurl = 'https://app.whjzjx.cn/v1/account/login';
|
|
||||||
let head = JSON.parse(post(tkurl, {
|
|
||||||
headers: {
|
|
||||||
"Connection": "keep-alive",
|
|
||||||
"Content-Type": "application/x-www-form-urlencoded",
|
|
||||||
"Content-Length": "40",
|
|
||||||
"user-agent": "okhttp/4.10.0",
|
|
||||||
"user_agent": "Mozilla/5.0 (Linux; Android 9; ASUS_I003DD Build/PI; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/68.0.3440.70 Mobile Safari/537.36",
|
|
||||||
"Host": "app.whjzjx.cn",
|
|
||||||
"Accept-Encoding": "gzip"
|
|
||||||
},
|
|
||||||
body: "device=20caaae96b3443174bf4ebdbdcc253776"
|
|
||||||
})).data.token;
|
|
||||||
let header={"authorization":head};
|
|
||||||
let html = JSON.parse(request(urlk, {
|
|
||||||
headers: header
|
|
||||||
}));
|
|
||||||
let bata = html.data.list;
|
|
||||||
bata.forEach(it => {
|
|
||||||
let id = 'https://app.whjzjx.cn/v2/theater_parent/detail?theater_parent_id=' + it.theater.id;
|
|
||||||
d.push({
|
|
||||||
url: id,
|
|
||||||
title: it.theater.title,
|
|
||||||
img: it.theater.cover_url,
|
|
||||||
desc: it.theater.total + "集",
|
|
||||||
content: "播放量:" + it.theater.play_amount_str,
|
|
||||||
});
|
|
||||||
});
|
|
||||||
setResult(d);
|
|
||||||
}),
|
|
||||||
二级: $js.toString(() => {
|
|
||||||
let urls = [];
|
|
||||||
let tkurl = 'https://app.whjzjx.cn/v1/account/login';
|
|
||||||
let head = JSON.parse(post(tkurl, {
|
|
||||||
headers: {
|
|
||||||
"Connection": "keep-alive",
|
|
||||||
"Content-Type": "application/x-www-form-urlencoded",
|
|
||||||
"Content-Length": "40",
|
|
||||||
"user-agent": "okhttp/4.10.0",
|
|
||||||
"user_agent": "Mozilla/5.0 (Linux; Android 9; ASUS_I003DD Build/PI; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/68.0.3440.70 Mobile Safari/537.36",
|
|
||||||
"Host": "app.whjzjx.cn",
|
|
||||||
"Accept-Encoding": "gzip"
|
|
||||||
},
|
|
||||||
body: "device=20caaae96b3443174bf4ebdbdcc253776"
|
|
||||||
})).data.token;
|
|
||||||
let header={"authorization":head};
|
|
||||||
let data = JSON.parse(request(input, {
|
|
||||||
headers: header
|
|
||||||
})).data;
|
|
||||||
//console.log(data);
|
|
||||||
data.theaters.forEach(it => {
|
|
||||||
urls.push("第" + it.num + "集" + '$' + it.son_video_url);
|
|
||||||
});
|
|
||||||
VOD = {
|
|
||||||
vod_name: data.title,
|
|
||||||
vod_pic: data.cover_url,
|
|
||||||
vod_remarks: data.total + "集",
|
|
||||||
vod_play_from: '七星✡︎短剧',
|
|
||||||
vod_play_url: urls.join('#')
|
|
||||||
};
|
|
||||||
}),
|
|
||||||
搜索: $js.toString(() => {
|
|
||||||
let d = [];
|
|
||||||
let ht = input.match(/\?(.*)/)[1];
|
|
||||||
let ser = "https://app.whjzjx.cn/v2/search";
|
|
||||||
let tkurl = 'https://app.whjzjx.cn/v1/account/login';
|
|
||||||
let head = JSON.parse(post(tkurl, {
|
|
||||||
headers: {
|
|
||||||
"Connection": "keep-alive",
|
|
||||||
"Content-Type": "application/x-www-form-urlencoded",
|
|
||||||
"Content-Length": "40",
|
|
||||||
"user-agent": "okhttp/4.10.0",
|
|
||||||
"user_agent": "Mozilla/5.0 (Linux; Android 9; ASUS_I003DD Build/PI; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/68.0.3440.70 Mobile Safari/537.36",
|
|
||||||
"Host": "app.whjzjx.cn",
|
|
||||||
"Accept-Encoding": "gzip"
|
|
||||||
},
|
|
||||||
body: "device=20caaae96b3443174bf4ebdbdcc253776"
|
|
||||||
})).data.token;
|
|
||||||
let header={"authorization":head};
|
|
||||||
let html = JSON.parse(post(ser, {
|
|
||||||
headers: header,
|
|
||||||
body: "text=" + ht
|
|
||||||
}));
|
|
||||||
let bata = html.data.search_data;
|
|
||||||
bata.forEach(it => {
|
|
||||||
let id = 'https://app.whjzjx.cn/v2/theater_parent/detail?theater_parent_id=' + it.id;
|
|
||||||
d.push({
|
|
||||||
url: id,
|
|
||||||
title: it.title,
|
|
||||||
img: it.cover_url,
|
|
||||||
desc: it.score_str + "|" + it.total + "集",
|
|
||||||
});
|
|
||||||
});
|
|
||||||
setResult(d);
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
|
|
||||||
-1651
File diff suppressed because it is too large.
Load diff
-183
@@ -1,183 +0,0 @@
|
|||||||
globalThis.h_ost = 'http://v.lkuys.cn/';
|
|
||||||
|
|
||||||
globalThis.vodlist = function($t, $pg) {
|
|
||||||
const currentTimestamp = parseInt(Date.now() / 1000, 10);
|
|
||||||
const url = h_ost + '/v2/home/type_search';
|
|
||||||
const hx = CryptoJS.MD5('kj5649ertj84ks89r4jh8s45hf84hjfds04k' + currentTimestamp).toString();
|
|
||||||
let html = request(url, {
|
|
||||||
body: {
|
|
||||||
sign: hx,
|
|
||||||
type_id: $t,
|
|
||||||
page: $pg,
|
|
||||||
},
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'okhttp-okgo/jeasonlzy',
|
|
||||||
'Content-Type': 'application/x-www-form-urlencoded'
|
|
||||||
},
|
|
||||||
'method': 'POST'
|
|
||||||
}, true);
|
|
||||||
return JSON.parse(html).data.list;
|
|
||||||
}
|
|
||||||
|
|
||||||
globalThis.seach = function(wd) {
|
|
||||||
const currentTimestamp = parseInt(Date.now() / 1000, 10);
|
|
||||||
const url = h_ost + '/v2/home/search';
|
|
||||||
const hx = CryptoJS.MD5('kj5649ertj84ks89r4jh8s45hf84hjfds04k' + currentTimestamp).toString();
|
|
||||||
let html = request(url, {
|
|
||||||
body: {
|
|
||||||
sign: hx,
|
|
||||||
keyword: wd,
|
|
||||||
timestamp: currentTimestamp,
|
|
||||||
},
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'okhttp-okgo/jeasonlzy',
|
|
||||||
'Content-Type': 'application/x-www-form-urlencoded'
|
|
||||||
},
|
|
||||||
'method': 'POST'
|
|
||||||
}, true);
|
|
||||||
return JSON.parse(html).data.list;
|
|
||||||
}
|
|
||||||
globalThis.vodids = function(ids) {
|
|
||||||
const currentTimestamp = parseInt(Date.now() / 1000, 10);
|
|
||||||
const url = h_ost + '/v2/home/vod_details';
|
|
||||||
const hx = CryptoJS.MD5('kj5649ertj84ks89r4jh8s45hf84hjfds04k' + currentTimestamp).toString();
|
|
||||||
let html = request(url, {
|
|
||||||
body: {
|
|
||||||
sign: hx,
|
|
||||||
vod_id: ids,
|
|
||||||
timestamp: currentTimestamp,
|
|
||||||
},
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'okhttp-okgo/jeasonlzy',
|
|
||||||
'Content-Type': 'application/x-www-form-urlencoded'
|
|
||||||
},
|
|
||||||
'method': 'POST'
|
|
||||||
}, true);
|
|
||||||
const redata = JSON.parse(html);
|
|
||||||
let vodPlayFrom = '';
|
|
||||||
let vodPlayUrl = '';
|
|
||||||
redata.data.vod_play_list.forEach((value, key) => {
|
|
||||||
if (value.flag.includes("nby") || value.flag.includes("mgtv") || value.flag.includes("qq") || value.flag.includes("qiyi") || value.flag.includes("mgtv")) {
|
|
||||||
vodPlayFrom += `${value.flag}$$$`;
|
|
||||||
value.urls.forEach(url => {
|
|
||||||
vodPlayUrl += `${url.name}$${value.parse_urls[0]}${url.url}~${url.name}#`;
|
|
||||||
});
|
|
||||||
vodPlayUrl += '$$$';
|
|
||||||
}
|
|
||||||
});
|
|
||||||
const regeshi = {
|
|
||||||
vod_id: redata.data.vod_id,
|
|
||||||
vod_name: redata.data.vod_name,
|
|
||||||
vod_remarks: `${redata.data.vod_remarks}`,
|
|
||||||
type_name: redata.data.vod_class,
|
|
||||||
vod_pic: redata.data.vod_pic,
|
|
||||||
vod_year: redata.data.vod_year,
|
|
||||||
vod_area: redata.data.vod_area,
|
|
||||||
vod_actor: `${redata.data.vod_actor}`,
|
|
||||||
vod_director: redata.data.vod_director,
|
|
||||||
vod_content: `${redata.data.vod_content}`,
|
|
||||||
vod_play_from: vodPlayFrom,
|
|
||||||
vod_play_url: vodPlayUrl
|
|
||||||
};
|
|
||||||
return regeshi;
|
|
||||||
}
|
|
||||||
globalThis.jxx = function(input) {
|
|
||||||
if ("741852963" !== '741852963') {
|
|
||||||
return 'https://s0.mall.tcl.com/group1/M00/00/89/CvoGBGdcOPaAAUxvADwZniVV2bc476.mp4';
|
|
||||||
}
|
|
||||||
const parts = input.split('~');
|
|
||||||
try {
|
|
||||||
let response = fetch(parts[0], {
|
|
||||||
method: 'get',
|
|
||||||
headers: {
|
|
||||||
'User-Agent': 'okhttp/3.14.9',
|
|
||||||
'Content-Type': 'application/x-www-form-urlencoded'
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (response.includes("成功") || response.includes("success") || response.includes("nby")) {
|
|
||||||
let bata = JSON.parse(response);
|
|
||||||
input = {
|
|
||||||
parse: 0,
|
|
||||||
url: bata.url,
|
|
||||||
jx: 0,
|
|
||||||
danmaku: 'http://103.45.162.207:25252/hbdm.php?key=7894561232&id=' + '&jm=' + VOD.vod_name + '&js=' + parts[1] + '&key=741852963'
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
input = {
|
|
||||||
parse: 0,
|
|
||||||
url: parts[0].includes('url=') ? parts[0].slice(parts[0].indexOf('url=') + 4) : null,
|
|
||||||
jx: 1,
|
|
||||||
danmaku: 'http://103.45.162.207:25252/hbdm.php?key=7894561232&id=' + '&jm=' + VOD.vod_name + '&js=' + parts[1] + '&key=741852963'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch {
|
|
||||||
input = {
|
|
||||||
parse: 0,
|
|
||||||
url: '解析失败',
|
|
||||||
jx: 0,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return input;
|
|
||||||
}
|
|
||||||
|
|
||||||
var rule = {
|
|
||||||
title: '追剧',
|
|
||||||
host: '',
|
|
||||||
detailUrl: 'fyid',
|
|
||||||
searchUrl: '**',
|
|
||||||
url: 'fyclass',
|
|
||||||
searchable: 2,
|
|
||||||
quickSearch: 1,
|
|
||||||
filterable: 0,
|
|
||||||
class_name: '电影&电视剧&综艺&动漫',
|
|
||||||
class_url: '1&2&4&3',
|
|
||||||
play_parse: true,
|
|
||||||
lazy: $js.toString(() => {
|
|
||||||
input = jxx(input);
|
|
||||||
}),
|
|
||||||
推荐: $js.toString(() => {
|
|
||||||
let bdata = vodlist(0, 1);
|
|
||||||
console.log(bdata);
|
|
||||||
bdata.forEach(it => {
|
|
||||||
d.push({
|
|
||||||
url: it.vod_id,
|
|
||||||
title: it.vod_name,
|
|
||||||
img: it.vod_pic,
|
|
||||||
desc: it.vod_remarks
|
|
||||||
});
|
|
||||||
});
|
|
||||||
setResult(d);
|
|
||||||
}),
|
|
||||||
一级: $js.toString(() => {
|
|
||||||
let bdata = vodlist(input, MY_PAGE);
|
|
||||||
console.log(bdata);
|
|
||||||
bdata.forEach(it => {
|
|
||||||
d.push({
|
|
||||||
url: it.vod_id,
|
|
||||||
title: it.vod_name,
|
|
||||||
img: it.vod_pic,
|
|
||||||
desc: it.vod_remarks
|
|
||||||
});
|
|
||||||
});
|
|
||||||
setResult(d);
|
|
||||||
}),
|
|
||||||
二级: $js.toString(() => {
|
|
||||||
console.log("调试信息2" + input);
|
|
||||||
let data = vodids(input);
|
|
||||||
//console.log(data);
|
|
||||||
VOD = (data);
|
|
||||||
}),
|
|
||||||
搜索: $js.toString(() => {
|
|
||||||
let ddata = seach(input);
|
|
||||||
ddata.forEach(it => {
|
|
||||||
d.push({
|
|
||||||
url: it.vod_id,
|
|
||||||
title: it.vod_name,
|
|
||||||
img: it.vod_pic,
|
|
||||||
desc: it.vod_remarks
|
|
||||||
});
|
|
||||||
});
|
|
||||||
setResult(d);
|
|
||||||
}),
|
|
||||||
}
|
|
||||||
@@ -1,70 +0,0 @@
|
|||||||
{
|
|
||||||
"规则名": "DJ呦呦音乐网",
|
|
||||||
"规则作者": "",
|
|
||||||
"请求头参数": "电脑",
|
|
||||||
"网页编码格式": "UTF-8",
|
|
||||||
"图片是否需要代理": "0",
|
|
||||||
"是否开启获取首页数据": "1",
|
|
||||||
"首页推荐链接": "http://www.djuu.com",
|
|
||||||
"首页列表数组规则": "body&&.recommended-list",
|
|
||||||
"首页片单列表数组规则": "li",
|
|
||||||
"首页片单是否Jsoup写法": "1",
|
|
||||||
"首页片单标题": ".index-music-title&&Text",
|
|
||||||
"首页片单链接": "a&&href",
|
|
||||||
"首页片单图片": "img&&src",
|
|
||||||
"首页片单副标题": ".index-music-hit&&b&&Text",
|
|
||||||
"首页片单链接加前缀": "http://www.djuu.com",
|
|
||||||
"首页片单链接加后缀": "",
|
|
||||||
"分类起始页码": "1",
|
|
||||||
"分类链接": "http://www.djuu.com/{cateId}_{catePg}.html",
|
|
||||||
"分类名称": "独家舞曲&迪高串烧&中文串烧&外语串烧&中英串烧&喊麦串烧&慢摇串烧&中文串烧&外语串烧&中英串烧&酒吧串烧&喊麦串烧&慢歌串烧&中文慢歌&外语慢歌&中英慢歌&中文Remix&Club&Electro&ProgHouse&VinaHouse&Funky/FunkyHouse&Melbourne&ElectroHouse&Bounce/Vina Bounce&车载版&更多...&外文Remix&中国风&越南鼓&车载版&HOUSE&Electro/Vina/Bass&Bounce/Vina&DeepHouse&FunkyHouse&ProgHouse&BounceHouse&ElectroDutch&ElectroMelbourne&Speed/ClubHouse&TechHouse/Vocal&Nudisco/DiscoHouse&Future/Bigroom/Edm&更多...&霓虹风格&HipHop&RnB&Funky/Rap&Trap&Rock&Pop&Reggae/Moombah&Dubstep&DanceHall&BreakBeat&暖场&蓝调&中文&更多...&Mashup&Mashup&PartyBreak&E.D.M&Remixes&变速/反差&更多...&中文DISCO&国潮中文&DISCO&外文DISCO&Hardstyle/HardBounce&Disco/PopDance&PopTechno&TechnoTrance&更多...&交谊舞曲&快三&慢三&中三&快四&中四&慢四&平四&中慢四&并四&贴面慢四&伦巴&桑巴&六步&恰恰&慢中四&靠步&拉并&牛仔&探戈&摇并&兔子舞&十四步&三步踩&拉丁舞&广场舞&古特巴&慢伦巴&南京小拉&三十二步&更多...",
|
|
||||||
"分类名称替换词": "exclusive/115&djlist/1&djlist/13&djlist/14&djlist/96&djlist/12&djlist/2&djlist/16&djlist/17&djlist/98&djlist/97&djlist/15&djlist/3&djlist/18&djlist/19&djlist/20&djlist/4&djlist/21&djlist/22&djlist/26&djlist/107&djlist/99&djlist/25&djlist/23&djlist/24&djlist/41&djlist/27&djlist/5&djlist/28&djlist/110&djlist/29&djlist/6&djlist/30&djlist/31&djlist/36&djlist/100&djlist/35&djlist/38&djlist/33&djlist/32&djlist/34&djlist/37&djlist/39&djlist/40&djlist/42&djlist/7&djlist/43&djlist/94&djlist/44&djlist/48&djlist/50&djlist/49&djlist/45&djlist/46&djlist/47&djlist/95&djlist/51&djlist/52&djlist/53&djlist/54&djlist/8&djlist/55&djlist/56&djlist/108&djlist/57&djlist/58&djlist/59&djlist/9&djlist/60&djlist/61&djlist/10&djlist/114&djlist/62&djlist/63&djlist/64&djlist/65&djlist/11&djlist/71&djlist/73&djlist/72&djlist/66&djlist/67&djlist/69&djlist/68&djlist/112&djlist/70&djlist/111&djlist/74&djlist/78&djlist/80&djlist/75&djlist/82&djlist/79&djlist/81&djlist/85&djlist/76&djlist/77&djlist/91&djlist/90&djlist/89&djlist/88&djlist/86&djlist/87&djlist/83&djlist/92&djlist/84&djlist/93",
|
|
||||||
"筛选数据": {},
|
|
||||||
//"筛选数据": "ext",
|
|
||||||
//{cateId}
|
|
||||||
"筛选子分类名称": "",
|
|
||||||
"筛选子分类替换词": "",
|
|
||||||
//{class}
|
|
||||||
"筛选类型名称": "",
|
|
||||||
"筛选类型替换词": "*",
|
|
||||||
//{area}
|
|
||||||
"筛选地区名称": "",
|
|
||||||
"筛选地区替换词": "*",
|
|
||||||
//{year}
|
|
||||||
"筛选年份名称": "",
|
|
||||||
"筛选年份替换词": "*",
|
|
||||||
//{lang}
|
|
||||||
"筛选语言名称": "",
|
|
||||||
"筛选语言替换词": "*",
|
|
||||||
//{by}
|
|
||||||
"筛选排序名称": "时间&人气&评分",
|
|
||||||
"筛选排序替换词": "time&hits&score",
|
|
||||||
"分类截取模式": "1",
|
|
||||||
"分类列表数组规则": ".list_musiclist&&tr:has(.isgood_list)",
|
|
||||||
"分类片单是否Jsoup写法": "1",
|
|
||||||
"分类片单标题": "a&&title",
|
|
||||||
"分类片单链接": "a&&href",
|
|
||||||
"分类片单图片": "img&&src",
|
|
||||||
"分类片单副标题": ".sc_1&&Text",
|
|
||||||
"分类片单链接加前缀": "http://www.djuu.com",
|
|
||||||
"分类片单链接加后缀": "",
|
|
||||||
"搜索请求头参数": "User-Agent$电脑",
|
|
||||||
"搜索链接": "http://www.djuu.com/search?musicname={wd}&list=2&cid=0&page=1",
|
|
||||||
"POST请求数据": "",
|
|
||||||
"搜索截取模式": "1",
|
|
||||||
"搜索列表数组规则": ".list_musiclist&&tr:has(.isgood_list)",
|
|
||||||
"搜索片单是否Jsoup写法": "1",
|
|
||||||
"搜索片单图片": "img&&src",
|
|
||||||
"搜索片单标题": "a&&title",
|
|
||||||
"搜索片单链接": "a&&href",
|
|
||||||
"搜索片单副标题": ".sc_2&&Text",
|
|
||||||
"搜索片单链接加前缀": "http://www.djuu.com",
|
|
||||||
"搜索片单链接加后缀": "",
|
|
||||||
"链接是否直接播放": "1",
|
|
||||||
"直接播放链接加前缀": "",
|
|
||||||
"直接播放链接加后缀": "",
|
|
||||||
"直接播放直链视频请求头": "",
|
|
||||||
"是否开启手动嗅探": "1",
|
|
||||||
"手动嗅探视频链接关键词": ".mp4#.m4a#.mp3#.aac#.m3u8#.flv#video/tos",
|
|
||||||
"手动嗅探视频链接过滤词": ".html#=http"
|
|
||||||
}
|
|
||||||
@@ -1,105 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"name": "我的网盘",
|
|
||||||
"folders": [
|
|
||||||
{
|
|
||||||
"shareId": "",
|
|
||||||
"folder": "root"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "短剧合集",
|
|
||||||
"folders": [
|
|
||||||
{
|
|
||||||
"shareId": "Y5wMKfVDD6K",
|
|
||||||
"folder": "6616613853041ba53f2842918e02346943d980b4"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "动漫合集",
|
|
||||||
"folders": [
|
|
||||||
{
|
|
||||||
"shareId": "LEaepiYfxcw",
|
|
||||||
"folder": "61019a966975bfef583449a39b36da512384b2d7"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "电影合集",
|
|
||||||
"folders": [
|
|
||||||
{
|
|
||||||
"shareId": "ZHNChQfiPfk",
|
|
||||||
"folder": "root"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "e27BPgDwxeA",
|
|
||||||
"folder": "root"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "XUH7r6BZuML",
|
|
||||||
"folder": "root"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "qZ4f1i2EFW2",
|
|
||||||
"folder": "root"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "ohJ68NV7iFw",
|
|
||||||
"folder": "root"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "电视剧合集",
|
|
||||||
"folders": [
|
|
||||||
{
|
|
||||||
"shareId": "ftMhRaKUfYp",
|
|
||||||
"folder": "root"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "MLWPRHRt9W3",
|
|
||||||
"folder": "root"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "8Fg4TNsd2A2",
|
|
||||||
"folder": "root"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "ar8Kg9azw1S",
|
|
||||||
"folder": "root"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "GMYSz3AHFaA",
|
|
||||||
"folder": "root"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "综艺合集",
|
|
||||||
"folders": [
|
|
||||||
{
|
|
||||||
"shareId": "UuHi9PeYSVz",
|
|
||||||
"folder": "root"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "v9To3HC6vhs",
|
|
||||||
"folder": "root"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "其它合集",
|
|
||||||
"folders": [
|
|
||||||
{
|
|
||||||
"shareId": "4ydLxf7VgH7",
|
|
||||||
"folder": "root"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "uWa9gbM3RJ7",
|
|
||||||
"folder": "root"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
-1461
File diff suppressed because it is too large.
Load diff
-1461
File diff suppressed because it is too large.
Load diff
@@ -1,22 +0,0 @@
|
|||||||
{
|
|
||||||
"SiteUrl": "https://www.hmxz.org,https://www.5536806.xyz,http://haimian.eu.org",
|
|
||||||
"Classes": [
|
|
||||||
{
|
|
||||||
"type_name": "电影",
|
|
||||||
"type_id": "1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "剧集",
|
|
||||||
"type_id": "2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "综艺",
|
|
||||||
"type_id": "5"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "动漫",
|
|
||||||
"type_id": "3"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Cookie": "bbs_sid=nll6gb39qj1e4fgkvsjh930ti5; _xn_accesscount_visited=1; __51uvsct__K2MEuBiiS0iv1Gsb=1; __51vcke__K2MEuBiiS0iv1Gsb=df02f20c-b83d-507b-b310-c3f8ab36a87a; __51vuft__K2MEuBiiS0iv1Gsb=1745249876903; bbs_token=rhHYDxTHFdsKEOsD84q8NBkSi6aTY8KlfnqpjudmsOxKBcJe; __vtins__K2MEuBiiS0iv1Gsb=%7B%22sid%22%3A%20%2299dcbd93-0d23-5a24-abb5-ec507c6c248a%22%2C%20%22vd%22%3A%2017%2C%20%22stt%22%3A%20464771%2C%20%22dr%22%3A%201425%2C%20%22expires%22%3A%201745251199999%2C%20%22ct%22%3A%201745250341665%7D"
|
|
||||||
}
|
|
||||||
-1667
File diff suppressed because it is too large.
Load diff
@@ -1,33 +0,0 @@
|
|||||||
{
|
|
||||||
"SiteUrl": "https://www.leijing.xyz,https://www.leijing1.com,https://leijing.xyz,https://leijing1.com",
|
|
||||||
"Classes": [
|
|
||||||
{
|
|
||||||
"type_name": "电影",
|
|
||||||
"type_id": "42204681950354"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "剧集",
|
|
||||||
"type_id": "42204684250355"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "影视原盘",
|
|
||||||
"type_id": "42212287587456"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "综艺",
|
|
||||||
"type_id": "42210356650363"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "动漫",
|
|
||||||
"type_id": "42204792950357"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "纪录片",
|
|
||||||
"type_id": "42204697150356"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "演唱会",
|
|
||||||
"type_id": "42317879720298"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
-1456
File diff suppressed because it is too large.
Load diff
-1458
File diff suppressed because it is too large.
Load diff
@@ -1,26 +0,0 @@
|
|||||||
{
|
|
||||||
"SiteUrl": "https://time.123in.link,https://pan1.me,https://123.panbox.my",
|
|
||||||
"Classes": [
|
|
||||||
{
|
|
||||||
"type_name": "电影",
|
|
||||||
"type_id": "2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "剧集",
|
|
||||||
"type_id": "48"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "4K原盘",
|
|
||||||
"type_id": "56"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "综艺",
|
|
||||||
"type_id": "52"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "动漫",
|
|
||||||
"type_id": "37"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Cookie": "bbs_sid=rrru52bda4v655kl9u1c87f00m; bbs_token=dZRAvHbHcUZkuJ7oHALqWoUs00C1fGqqXDXH7I8LH6hMddXP"
|
|
||||||
}
|
|
||||||
@@ -1,90 +0,0 @@
|
|||||||
{
|
|
||||||
|
|
||||||
"作者":"荷城茶秀",
|
|
||||||
|
|
||||||
"站点":"奇优影院",
|
|
||||||
|
|
||||||
"主页url":"http://www.qiyoudy1.com/",
|
|
||||||
|
|
||||||
"简介":"+在线免费观看,&&</div>",
|
|
||||||
|
|
||||||
"主演":"主演:&&</p>",
|
|
||||||
|
|
||||||
"导演":"导演:&&</p>",
|
|
||||||
|
|
||||||
"影片类型":"类型:&&立即播放",
|
|
||||||
|
|
||||||
"影片状态":"更新:&&</p>",
|
|
||||||
|
|
||||||
"数组":"<div class=\"stui-vodlist__box\">&&</a>",
|
|
||||||
|
|
||||||
"图片":"data-original=\"&&\"",
|
|
||||||
|
|
||||||
"标题":"title=\"&&\"",
|
|
||||||
|
|
||||||
"副标题":"text-right\">&&</span>",
|
|
||||||
|
|
||||||
"链接":"href=\"&&\"",
|
|
||||||
|
|
||||||
"搜索url":"/search.php;post;searchword={wd}",
|
|
||||||
|
|
||||||
"搜索数组":"v-thumb stui-vodlist__thumb&&</a>",
|
|
||||||
|
|
||||||
"搜索图片":"data-original=\"&&\"",
|
|
||||||
|
|
||||||
"搜索标题":"title=\"&&\"",
|
|
||||||
|
|
||||||
"搜索副标题":"text-right\">&&</span>",
|
|
||||||
|
|
||||||
"搜索链接":"href=\"&&\"",
|
|
||||||
|
|
||||||
"线路数组":"data-toggle=\"tab\"&&</li>[替换:播放源1>>线路①#播放源2>>线路②#播放源3>>线路③#播放源4>>线路④#播放源5>>线路⑤#播放源6>>线路⑥]",
|
|
||||||
|
|
||||||
"线路标题":">&&</a>",
|
|
||||||
|
|
||||||
"播放数组":"stui-content__playlist clearfix&&</ul>",
|
|
||||||
|
|
||||||
"播放列表":"<li>&&</li>",
|
|
||||||
|
|
||||||
"播放标题":">&&</a>",
|
|
||||||
|
|
||||||
"分类url":"http://www.qiyoudy1.com/list/{cateId}_{catePg}.html[http://www.qiyoudy1.com/list/{cateId}.html];;ak",
|
|
||||||
|
|
||||||
"分类":"电影$1#电视剧$2#动漫$3#综艺$4",
|
|
||||||
|
|
||||||
"筛选":{
|
|
||||||
"1":[
|
|
||||||
{"key":"by","name":"排序","value":[
|
|
||||||
{"n":"时间排序","v":"time"},
|
|
||||||
{"n":"人气排序","v":"score"},
|
|
||||||
{"n":"评分排序","v":"hits"}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"2":[
|
|
||||||
{"key":"by","name":"排序","value":[
|
|
||||||
{"n":"时间排序","v":"time"},
|
|
||||||
{"n":"人气排序","v":"score"},
|
|
||||||
{"n":"评分排序","v":"hits"}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"3":[
|
|
||||||
{"key":"by","name":"排序","value":[
|
|
||||||
{"n":"时间排序","v":"time"},
|
|
||||||
{"n":"人气排序","v":"score"},
|
|
||||||
{"n":"评分排序","v":"hits"}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"4":[
|
|
||||||
{"key":"by","name":"排序","value":[
|
|
||||||
{"n":"时间排序","v":"time"},
|
|
||||||
{"n":"人气排序","v":"score"},
|
|
||||||
{"n":"评分排序","v":"hits"}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,111 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"name": "我的网盘",
|
|
||||||
"folders": [
|
|
||||||
{
|
|
||||||
"shareId": "",
|
|
||||||
"folder": "0"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "幼儿教育",
|
|
||||||
"folders": [
|
|
||||||
{
|
|
||||||
"shareId": "a08f66152533",
|
|
||||||
"folder": "0"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "短剧合集",
|
|
||||||
"folders": [
|
|
||||||
{
|
|
||||||
"shareId": "885fd4ba2d92",
|
|
||||||
"folder": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "a1cda418984f",
|
|
||||||
"folder": "0"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "电影合集",
|
|
||||||
"folders": [
|
|
||||||
{
|
|
||||||
"shareId": "49ab75d52e00",
|
|
||||||
"folder": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "a632967760cf",
|
|
||||||
"folder": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "2f59bb5d96b9",
|
|
||||||
"folder": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "50828c368def",
|
|
||||||
"folder": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "e07e26aecc08",
|
|
||||||
"folder": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "0536a38a356e",
|
|
||||||
"folder": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "e273ef697403",
|
|
||||||
"folder": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "c8ac6c88e5d8",
|
|
||||||
"folder": "0"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "电视剧合集",
|
|
||||||
"folders": [
|
|
||||||
{
|
|
||||||
"shareId": "d19c4ebe1ff7",
|
|
||||||
"folder": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "cd4c5ac7e830",
|
|
||||||
"folder": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "e1b2ba8b6d6c",
|
|
||||||
"folder": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "166fa0a7ca6f",
|
|
||||||
"folder": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "37a92c0b7f10",
|
|
||||||
"folder": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "fb3386e42af2",
|
|
||||||
"folder": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "46ce214f4ed7",
|
|
||||||
"folder": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "fe4681d7fb43",
|
|
||||||
"folder": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"shareId": "8d65e885b059",
|
|
||||||
"folder": "0"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
-1457
File diff suppressed because it is too large.
Load diff
@@ -1,47 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"name": "我的网盘",
|
|
||||||
"folders": [
|
|
||||||
{
|
|
||||||
"shareId": "",
|
|
||||||
"folder": "0"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "豆瓣TOP250部",
|
|
||||||
"folders": [
|
|
||||||
{
|
|
||||||
"shareId": "c0503fdee6644",
|
|
||||||
"folder": "0"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "日剧",
|
|
||||||
"folders": [
|
|
||||||
{
|
|
||||||
"shareId": "391b86c09cd24",
|
|
||||||
"folder": "9df4921d548841199e625765413f8bd6"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "韩剧",
|
|
||||||
"folders": [
|
|
||||||
{
|
|
||||||
"shareId": "21f04a22052f4",
|
|
||||||
"folder": "950f5ca7d5e54d528c0dae1fddec5c78"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "音乐",
|
|
||||||
"folders": [
|
|
||||||
{
|
|
||||||
"shareId": "369e30038dae4",
|
|
||||||
"folder": "1b8a55dc18a54fb7aea8ed2b6fd6ad53"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
-2136
File diff suppressed because it is too large.
Load diff
-1674
File diff suppressed because it is too large.
Load diff
-1703
File diff suppressed because it is too large.
Load diff
@@ -1,81 +0,0 @@
|
|||||||
{
|
|
||||||
"规则名": "八号影视",
|
|
||||||
"规则作者": "",
|
|
||||||
"请求头参数": "User-Agent$手机#accept$text/html",
|
|
||||||
"网页编码格式": "UTF-8",
|
|
||||||
"图片是否需要代理": "0",
|
|
||||||
"是否开启获取首页数据": "0",
|
|
||||||
"首页推荐链接": "http://www.bahaotv.com",
|
|
||||||
"首页列表数组规则": "body&&.show-vod-list",
|
|
||||||
"首页片单列表数组规则": ".myui-vodbox-content",
|
|
||||||
"首页片单是否Jsoup写法": "1",
|
|
||||||
"分类起始页码": "1",
|
|
||||||
"分类链接": "http://www.bahaotv.com/vodshow/{cateId}--------{catePg}---.html",
|
|
||||||
"分类名称": "电影&电视剧&动漫",
|
|
||||||
"分类名称替换词": "movie&tvseries&anime",
|
|
||||||
"筛选数据": {},
|
|
||||||
//"筛选数据": "ext",
|
|
||||||
//{cateId}
|
|
||||||
"筛选子分类名称": "",
|
|
||||||
"筛选子分类替换词": "",
|
|
||||||
//{class}
|
|
||||||
"筛选类型名称": "",
|
|
||||||
"筛选类型替换词": "*",
|
|
||||||
//{area}
|
|
||||||
"筛选地区名称": "",
|
|
||||||
"筛选地区替换词": "*",
|
|
||||||
//{year}
|
|
||||||
"筛选年份名称": "",
|
|
||||||
"筛选年份替换词": "*",
|
|
||||||
//{lang}
|
|
||||||
"筛选语言名称": "",
|
|
||||||
"筛选语言替换词": "*",
|
|
||||||
//{by}
|
|
||||||
"筛选排序名称": "时间&人气&评分",
|
|
||||||
"筛选排序替换词": "time&hits&score",
|
|
||||||
"分类截取模式": "1",
|
|
||||||
"分类列表数组规则": ".show-vod-list&&.myui-vodbox-content",
|
|
||||||
"分类片单是否Jsoup写法": "1",
|
|
||||||
"分类片单标题": ".title&&Text",
|
|
||||||
"分类片单链接": "a&&href",
|
|
||||||
"分类片单图片": "img&&src",
|
|
||||||
"分类片单副标题": ".right&&Text",
|
|
||||||
"分类片单链接加前缀": "http://www.bahaotv.com",
|
|
||||||
"分类片单链接加后缀": "",
|
|
||||||
"搜索请求头参数": "User-Agent$手机#accept$text/html",
|
|
||||||
"搜索链接": "http://www.bahaotv.com/vodsearch/-------------.html?wd={wd}",
|
|
||||||
"POST请求数据": "",
|
|
||||||
"搜索截取模式": "1",
|
|
||||||
"搜索列表数组规则": ".show-vod-list&&.myui-vodbox-content",
|
|
||||||
"搜索片单是否Jsoup写法": "1",
|
|
||||||
"搜索片单图片": "img&&src",
|
|
||||||
"搜索片单标题": ".title&&Text",
|
|
||||||
"搜索片单链接": "a&&href",
|
|
||||||
"搜索片单副标题": ".right&&Text",
|
|
||||||
"搜索片单链接加前缀": "http://www.bahaotv.com",
|
|
||||||
"搜索片单链接加后缀": "",
|
|
||||||
"链接是否直接播放": "0",
|
|
||||||
"直接播放链接加前缀": "https://live.52sf.ga/huya/",
|
|
||||||
"直接播放链接加后缀": "#isVideo=true#",
|
|
||||||
"直接播放直链视频请求头": "authority$ku.peizq.online#Referer$https://play.peizq.online",
|
|
||||||
"详情是否Jsoup写法": "1",
|
|
||||||
"类型详情": "",
|
|
||||||
"年代详情": "",
|
|
||||||
"地区详情": "",
|
|
||||||
"演员详情": ".detail-box&&.director,1&&Text!主演:",
|
|
||||||
"简介详情": ".intro&&Text",
|
|
||||||
"线路列表数组规则": ".nav-btn&&li",
|
|
||||||
"线路标题": "Text",
|
|
||||||
"播放列表数组规则": "body&&[id^=playlist]",
|
|
||||||
"选集列表数组规则": "a",
|
|
||||||
"选集标题链接是否Jsoup写法": "1",
|
|
||||||
"选集标题": "a&&Text",
|
|
||||||
"选集链接": "a&&href",
|
|
||||||
"是否反转选集序列": "0",
|
|
||||||
"选集链接加前缀": "http://www.bahaotv.com",
|
|
||||||
"选集链接加后缀": "",
|
|
||||||
"分析MacPlayer": "0",
|
|
||||||
"是否开启手动嗅探": "0",
|
|
||||||
"手动嗅探视频链接关键词": ".mp4#.m3u8#.flv#video/tos",
|
|
||||||
"手动嗅探视频链接过滤词": ".html#=http"
|
|
||||||
}
|
|
||||||
@@ -1,72 +0,0 @@
|
|||||||
{
|
|
||||||
"规则名": "农民影视",
|
|
||||||
"规则作者": "香雅情",
|
|
||||||
"请求头参数": "User-Agent$手机#accept$text/html#Referer$https://www.wwgz.cn",
|
|
||||||
"网页编码格式": "UTF-8",
|
|
||||||
"图片是否需要代理": "0",
|
|
||||||
"是否开启获取首页数据": "1",
|
|
||||||
"首页推荐链接": "https://www.wwgz.cn",
|
|
||||||
"首页列表数组规则": "body&&.globalPicList",
|
|
||||||
"首页片单列表数组规则": "li:has(img)",
|
|
||||||
"首页片单是否Jsoup写法": "1",
|
|
||||||
"首页片单标题": ".sTit&&Text",
|
|
||||||
"首页片单链接": "a&&href",
|
|
||||||
"首页片单图片": "img&&data-echo||data-src||src",
|
|
||||||
"首页片单副标题": ".sBottom&&Text",
|
|
||||||
"首页片单链接加前缀": "https://www.wwgz.cn",
|
|
||||||
"首页片单链接加后缀": "",
|
|
||||||
"分类起始页码": "1",
|
|
||||||
"分类链接": "https://www.wwgz.cn/vod-list-id-{cateId}-pg-{catePg}-order--by-{by}-class--year-{year}-letter--area-{area}-lang-.html",
|
|
||||||
"分类名称": "电影&电视剧&综艺&动漫&短剧",
|
|
||||||
"分类名称替换词": "1&2&3&4&26",
|
|
||||||
"筛选数据": "ext",
|
|
||||||
"筛选子分类名称": "动作片&喜剧片&爱情片&科幻片&恐怖片&剧情片&战争片&惊悚片&奇幻片||国产剧&港台泰&日韩剧&欧美剧||空||动漫剧&动漫片",
|
|
||||||
"筛选子分类替换词": "5&6&7&8&9&10&11&16&17||12&13&14&15||空||18&19",
|
|
||||||
"筛选地区名称": "大陆&香港&台湾&美国&韩国&日本&泰国&新加坡&马来西亚&印度&英国&法国&加拿大&西班牙&俄罗斯&其它",
|
|
||||||
"筛选地区替换词": "*",
|
|
||||||
"分类截取模式": "1",
|
|
||||||
"分类列表数组规则": ".globalPicList&&li",
|
|
||||||
"分类片单是否Jsoup写法": "1",
|
|
||||||
"分类片单标题": ".sTit&&Text",
|
|
||||||
"分类片单链接": "a&&href",
|
|
||||||
"分类片单图片": "img&&data-echo||data-src||src",
|
|
||||||
"分类片单副标题": ".sBottom&&Text",
|
|
||||||
"分类片单链接加前缀": "https://www.wwgz.cn",
|
|
||||||
"分类片单链接加后缀": "",
|
|
||||||
"搜索请求头参数": "User-Agent$手机#Referer$https://www.wwgz.cn",
|
|
||||||
"search_url": "https://www.wwgz.cn/index.php?m=vod-search;post",
|
|
||||||
"sea_PtBody": "wd={wd}",
|
|
||||||
"search_mode": "1",
|
|
||||||
"sea_arr_rule": "#data_list&&li",
|
|
||||||
"sea_is_jsoup": "1",
|
|
||||||
"sea_pic": ".lazyload&&data-src",
|
|
||||||
"sea_title": ".sTit&&Text",
|
|
||||||
"sea_url": "a&&href",
|
|
||||||
"搜索片单副标题": ".sDes,-1&&Text",
|
|
||||||
"搜索片单链接加前缀": "https://www.wwgz.cn",
|
|
||||||
"搜索片单链接加后缀": "",
|
|
||||||
"链接是否直接播放": "0",
|
|
||||||
"直接播放链接加前缀": "https://live.52sf.ga/huya/",
|
|
||||||
"直接播放链接加后缀": "#isVideo=true#",
|
|
||||||
"直接播放直链视频请求头": "authority$ku.peizq.online#Referer$https://play.peizq.online",
|
|
||||||
"详情是否Jsoup写法": "1",
|
|
||||||
"类型详情": ".type-title&&Text",
|
|
||||||
"年代详情": "body&&span:contains(年代:)&&Text!年代:",
|
|
||||||
"地区详情": "",
|
|
||||||
"演员详情": "body&&.sDes:contains(主演:)&&Text!主演:",
|
|
||||||
"简介详情": ".detail-con&&p&&Text!简介:",
|
|
||||||
"线路列表数组规则": "#leftTabBox&&ul&&li",
|
|
||||||
"线路标题": "Text[替换:默认=>农民专线]",
|
|
||||||
"播放列表数组规则": "#leftTabBox&&.numList",
|
|
||||||
"选集列表数组规则": "li",
|
|
||||||
"选集标题链接是否Jsoup写法": "1",
|
|
||||||
"选集标题": "a&&Text",
|
|
||||||
"选集链接": "a&&href",
|
|
||||||
"是否反转选集序列": "1",
|
|
||||||
"选集链接加前缀": "https://www.wwgz.cn",
|
|
||||||
"选集链接加后缀": "",
|
|
||||||
"分析MacPlayer": "0",
|
|
||||||
"是否开启手动嗅探": "1",
|
|
||||||
"手动嗅探视频链接关键词": ".mp4#.m3u8#item/video#video_mp4#video/tos",
|
|
||||||
"手动嗅探视频链接过滤词": ".html#=http"
|
|
||||||
}
|
|
||||||
-1398
File diff suppressed because it is too large.
Load diff
-5310
File diff suppressed because it is too large.
Load diff
-1050
File diff suppressed because it is too large.
Load diff
@@ -1,454 +0,0 @@
|
|||||||
{
|
|
||||||
"class": [
|
|
||||||
{
|
|
||||||
"type_name": "儿童早教",
|
|
||||||
"type_id": "儿童早教"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "儿童启蒙故事",
|
|
||||||
"type_id": "儿童启蒙故事"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "儿童英语启蒙",
|
|
||||||
"type_id": "儿童英语启蒙"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "儿童歌曲",
|
|
||||||
"type_id": "儿童歌曲"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "儿童绘画",
|
|
||||||
"type_id": "儿童绘画"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "睡前故事",
|
|
||||||
"type_id": "睡前故事"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "儿童动画",
|
|
||||||
"type_id": "儿童动画"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "儿童音乐",
|
|
||||||
"type_id": "儿童音乐"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "儿童安全教育",
|
|
||||||
"type_id": "儿童安全教育"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "贝瓦儿歌",
|
|
||||||
"type_id": "贝瓦儿歌"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "悟空识字",
|
|
||||||
"type_id": "悟空识字"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "宝宝巴士",
|
|
||||||
"type_id": "宝宝巴士"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "儿歌多多",
|
|
||||||
"type_id": "儿歌多多"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "学而思",
|
|
||||||
"type_id": "学而思"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"filters": {
|
|
||||||
"儿童早教": [
|
|
||||||
{
|
|
||||||
"key": "duration",
|
|
||||||
"name": "时长",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "60分钟以上",
|
|
||||||
"v": "4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "30~60分钟",
|
|
||||||
"v": "3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10~30分钟",
|
|
||||||
"v": "2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10分钟以下",
|
|
||||||
"v": "1"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"儿童启蒙故事": [
|
|
||||||
{
|
|
||||||
"key": "duration",
|
|
||||||
"name": "时长",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "60分钟以上",
|
|
||||||
"v": "4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "30~60分钟",
|
|
||||||
"v": "3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10~30分钟",
|
|
||||||
"v": "2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10分钟以下",
|
|
||||||
"v": "1"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"儿童英语启蒙": [
|
|
||||||
{
|
|
||||||
"key": "duration",
|
|
||||||
"name": "时长",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "60分钟以上",
|
|
||||||
"v": "4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "30~60分钟",
|
|
||||||
"v": "3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10~30分钟",
|
|
||||||
"v": "2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10分钟以下",
|
|
||||||
"v": "1"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"儿童歌曲": [
|
|
||||||
{
|
|
||||||
"key": "duration",
|
|
||||||
"name": "时长",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "60分钟以上",
|
|
||||||
"v": "4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "30~60分钟",
|
|
||||||
"v": "3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10~30分钟",
|
|
||||||
"v": "2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10分钟以下",
|
|
||||||
"v": "1"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"儿童绘画": [
|
|
||||||
{
|
|
||||||
"key": "duration",
|
|
||||||
"name": "时长",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "60分钟以上",
|
|
||||||
"v": "4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "30~60分钟",
|
|
||||||
"v": "3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10~30分钟",
|
|
||||||
"v": "2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10分钟以下",
|
|
||||||
"v": "1"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"睡前故事": [
|
|
||||||
{
|
|
||||||
"key": "duration",
|
|
||||||
"name": "时长",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "60分钟以上",
|
|
||||||
"v": "4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "30~60分钟",
|
|
||||||
"v": "3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10~30分钟",
|
|
||||||
"v": "2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10分钟以下",
|
|
||||||
"v": "1"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"儿童动画": [
|
|
||||||
{
|
|
||||||
"key": "duration",
|
|
||||||
"name": "时长",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "60分钟以上",
|
|
||||||
"v": "4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "30~60分钟",
|
|
||||||
"v": "3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10~30分钟",
|
|
||||||
"v": "2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10分钟以下",
|
|
||||||
"v": "1"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"儿童音乐": [
|
|
||||||
{
|
|
||||||
"key": "duration",
|
|
||||||
"name": "时长",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "60分钟以上",
|
|
||||||
"v": "4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "30~60分钟",
|
|
||||||
"v": "3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10~30分钟",
|
|
||||||
"v": "2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10分钟以下",
|
|
||||||
"v": "1"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"儿童安全教育": [
|
|
||||||
{
|
|
||||||
"key": "duration",
|
|
||||||
"name": "时长",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "60分钟以上",
|
|
||||||
"v": "4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "30~60分钟",
|
|
||||||
"v": "3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10~30分钟",
|
|
||||||
"v": "2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10分钟以下",
|
|
||||||
"v": "1"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"贝瓦儿歌": [
|
|
||||||
{
|
|
||||||
"key": "duration",
|
|
||||||
"name": "时长",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "60分钟以上",
|
|
||||||
"v": "4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "30~60分钟",
|
|
||||||
"v": "3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10~30分钟",
|
|
||||||
"v": "2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10分钟以下",
|
|
||||||
"v": "1"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"悟空识字": [
|
|
||||||
{
|
|
||||||
"key": "duration",
|
|
||||||
"name": "时长",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "60分钟以上",
|
|
||||||
"v": "4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "30~60分钟",
|
|
||||||
"v": "3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10~30分钟",
|
|
||||||
"v": "2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10分钟以下",
|
|
||||||
"v": "1"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"宝宝巴士": [
|
|
||||||
{
|
|
||||||
"key": "duration",
|
|
||||||
"name": "时长",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "60分钟以上",
|
|
||||||
"v": "4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "30~60分钟",
|
|
||||||
"v": "3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10~30分钟",
|
|
||||||
"v": "2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10分钟以下",
|
|
||||||
"v": "1"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"儿歌多多": [
|
|
||||||
{
|
|
||||||
"key": "duration",
|
|
||||||
"name": "时长",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "60分钟以上",
|
|
||||||
"v": "4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "30~60分钟",
|
|
||||||
"v": "3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10~30分钟",
|
|
||||||
"v": "2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10分钟以下",
|
|
||||||
"v": "1"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"学而思": [
|
|
||||||
{
|
|
||||||
"key": "duration",
|
|
||||||
"name": "时长",
|
|
||||||
"value": [
|
|
||||||
{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "60分钟以上",
|
|
||||||
"v": "4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "30~60分钟",
|
|
||||||
"v": "3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10~30分钟",
|
|
||||||
"v": "2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10分钟以下",
|
|
||||||
"v": "1"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,81 +0,0 @@
|
|||||||
{
|
|
||||||
"规则名": "河马短剧",
|
|
||||||
"规则作者": "香雅情",
|
|
||||||
"请求头参数": "MOBILE_UA",
|
|
||||||
"网页编码格式": "UTF-8",
|
|
||||||
"图片是否需要代理": "否",
|
|
||||||
"是否开启获取首页数据": "否",
|
|
||||||
"首页推荐链接": "https://www.kuaikaw.cn",
|
|
||||||
"首页列表数组规则": "body&&.module-items",
|
|
||||||
"首页片单列表数组规则": ".module-item:lt(12)",
|
|
||||||
"首页片单是否Jsoup写法": "1",
|
|
||||||
"分类起始页码": "1",
|
|
||||||
"分类链接": "https://www.kuaikaw.cn/browse/{cateId}/{catePg}[firstPage=https://www.kuaikaw.cn/browse/{cateId}]",
|
|
||||||
"分类名称": "全部",
|
|
||||||
"分类名称替换词": "0",
|
|
||||||
//"筛选数据": {},
|
|
||||||
"筛选数据": "ext",
|
|
||||||
//{cateId}
|
|
||||||
"筛选子分类名称": "全部&民国&萌宝&动漫&超能&甜宠&豪门恩怨&长生&神医&寻亲&抗战谍战&电视剧&奇幻&闪婚&职场商战&权谋&高手下山&神话&时空之旅&欢喜冤家&都市&体育&家庭&喜剧&都市修仙&神豪&科幻&致富&奇幻脑洞&强者回归&励志&复仇&电影&马甲&亲情&小人物&无敌&现实&重生&穿越&年代&悬疑&婚姻&家国情仇&虐恋&古装&仙侠&玄幻仙侠&传承觉醒&功夫武打&戏曲歌舞&情感&逆袭&战争",
|
|
||||||
"筛选子分类替换词": "0&590-839&589&1115&442&462&585&1073&438&1125&1093&1092-1097&715&713&943&840-1101&474&1094&718&717&1129&1128&714-1126&917&1124&475&1130&918&721&476&1076-1100&416-463&1091-1096&719&835-837&472&1074&441-469&439-465&916&716-722&445-470&1127&915&466&444-468&1102&720&473&1095&1098&838&417-464&1099",
|
|
||||||
//{class}
|
|
||||||
"筛选类型名称": "",
|
|
||||||
"筛选类型替换词": "*",
|
|
||||||
//{area}
|
|
||||||
"筛选地区名称": "",
|
|
||||||
"筛选地区替换词": "*",
|
|
||||||
//{year}
|
|
||||||
"筛选年份名称": "",
|
|
||||||
"筛选年份替换词": "*",
|
|
||||||
//{lang}
|
|
||||||
"筛选语言名称": "",
|
|
||||||
"筛选语言替换词": "*",
|
|
||||||
//{by}
|
|
||||||
"筛选排序名称": "时间&人气&评分",
|
|
||||||
"筛选排序替换词": "time&hits&score",
|
|
||||||
"分类截取模式": "1",
|
|
||||||
"分类列表数组规则": ".BrowseList_listBox__MyeBa&&.BrowseList_listItem__h7lD4",
|
|
||||||
"分类片单是否Jsoup写法": "是",
|
|
||||||
"分类片单标题": "img&&alt",
|
|
||||||
"分类片单链接": "a&&href",
|
|
||||||
"分类片单图片": "img&&src",
|
|
||||||
"分类片单副标题": ".BrowseList_lastChapter__dkL54&&Text",
|
|
||||||
"分类片单链接加前缀": "https://www.kuaikaw.cn",
|
|
||||||
"分类片单链接加后缀": "",
|
|
||||||
"搜索请求头参数": "User-Agent$MOBILE_UA",
|
|
||||||
"搜索链接": "https://www.kuaikaw.cn/search/{SearchPg}?searchValue={wd}",
|
|
||||||
"POST请求数据": "",
|
|
||||||
"搜索截取模式": "1",
|
|
||||||
"搜索列表数组规则": ".search_searchList__AvbeR&&.MTagBookList_tagBookItem__C_038",
|
|
||||||
"搜索片单是否Jsoup写法": "是",
|
|
||||||
"搜索片单图片": "img&&src",
|
|
||||||
"搜索片单标题": "img&&alt",
|
|
||||||
"搜索片单链接": "a&&href",
|
|
||||||
"搜索片单副标题": "",
|
|
||||||
"搜索片单链接加前缀": "https://www.kuaikaw.cn",
|
|
||||||
"搜索片单链接加后缀": "",
|
|
||||||
"链接是否直接播放": "否",
|
|
||||||
"直接播放链接加前缀": "",
|
|
||||||
"直接播放链接加后缀": "",
|
|
||||||
"直接播放直链视频请求头": "",
|
|
||||||
"详情是否Jsoup写法": "是",
|
|
||||||
"类型详情": "",
|
|
||||||
"年代详情": "",
|
|
||||||
"地区详情": "",
|
|
||||||
"演员详情": "",
|
|
||||||
"简介详情": ".introduction_introBox__t4Bbz&&Text",
|
|
||||||
"线路列表数组规则": "",
|
|
||||||
"线路标题": "Text",
|
|
||||||
"播放列表数组规则": "body&&.CatalogList_swiperBox__5kdPs",
|
|
||||||
"选集列表数组规则": "a:not(:has(img))",
|
|
||||||
"选集标题链接是否Jsoup写法": "是",
|
|
||||||
"选集标题": "a&&Text",
|
|
||||||
"选集链接": "a&&href",
|
|
||||||
"是否反转选集序列": "否",
|
|
||||||
"选集链接加前缀": "https://www.kuaikaw.cn",
|
|
||||||
"选集链接加后缀": "",
|
|
||||||
"分析MacPlayer": "否",
|
|
||||||
"是否开启手动嗅探": "否",
|
|
||||||
"手动嗅探视频链接关键词": ".mp4#.m3u8#.flv#video/tos",
|
|
||||||
"手动嗅探视频链接过滤词": ".html#=http"
|
|
||||||
}
|
|
||||||
@@ -1,705 +0,0 @@
|
|||||||
{
|
|
||||||
|
|
||||||
"class": [{
|
|
||||||
"type_name": "演唱会筛选",
|
|
||||||
"type_id": "演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "粤语",
|
|
||||||
"type_id": "粤语歌曲超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "2024年热榜",
|
|
||||||
"type_id": "2024年热门歌曲超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "2023年热榜",
|
|
||||||
"type_id": "2023年热门歌曲超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "抖音神曲",
|
|
||||||
"type_id": "抖音神曲超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "经典老歌",
|
|
||||||
"type_id": "经典老歌超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "DJ",
|
|
||||||
"type_id": "DJ歌曲超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "网红翻唱",
|
|
||||||
"type_id": "网红翻唱歌曲超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type_name": "韩国女团",
|
|
||||||
"type_id": "韩国女团演唱会超清"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
],
|
|
||||||
|
|
||||||
"filters": {
|
|
||||||
"演唱会超清": [{
|
|
||||||
"key": "order",
|
|
||||||
"name": "排序",
|
|
||||||
"value": [{
|
|
||||||
"n": "综合排序",
|
|
||||||
"v": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "最多点击",
|
|
||||||
"v": "click"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "最新发布",
|
|
||||||
"v": "pubdate"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "最多弹幕",
|
|
||||||
"v": "dm"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "最多收藏",
|
|
||||||
"v": "stow"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "tid",
|
|
||||||
"name": "分类",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "A阿杜",
|
|
||||||
"v": "阿杜演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "A阿黛尔",
|
|
||||||
"v": "阿黛尔演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "BBeyond",
|
|
||||||
"v": "Beyond演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "BBy2",
|
|
||||||
"v": "By2演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "BBIGBANG",
|
|
||||||
"v": "BIGBANG演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "B布兰妮",
|
|
||||||
"v": "布兰妮演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "B坂井泉水",
|
|
||||||
"v": "坂井泉水演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "C陈奕迅",
|
|
||||||
"v": "陈奕迅演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "C蔡依林",
|
|
||||||
"v": "蔡依林演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "C初音未来",
|
|
||||||
"v": "初音未来演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "C蔡健雅",
|
|
||||||
"v": "蔡健雅演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "C陈小春",
|
|
||||||
"v": "陈小春演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "C草蜢",
|
|
||||||
"v": "草蜢演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "C陈慧娴",
|
|
||||||
"v": "陈慧娴演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "C崔健",
|
|
||||||
"v": "崔健演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "C仓木麻衣",
|
|
||||||
"v": "仓木麻衣演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "D戴荃",
|
|
||||||
"v": "戴荃演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "D动力火车",
|
|
||||||
"v": "动力火车演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "D邓丽君",
|
|
||||||
"v": "邓丽君演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "D丁当",
|
|
||||||
"v": "丁当演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "D刀郎",
|
|
||||||
"v": "刀郎演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "D邓紫棋",
|
|
||||||
"v": "邓紫棋演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "D戴佩妮",
|
|
||||||
"v": "戴佩妮演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "D邓丽君",
|
|
||||||
"v": "邓丽君演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "F飞儿乐队",
|
|
||||||
"v": "飞儿乐队演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "F费玉清",
|
|
||||||
"v": "费玉清演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "F费翔",
|
|
||||||
"v": "费翔演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "F方大同",
|
|
||||||
"v": "方大同演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "F房东的猫",
|
|
||||||
"v": "房东的猫演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "F凤飞飞",
|
|
||||||
"v": "凤飞飞演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "F凤凰传奇",
|
|
||||||
"v": "凤凰传奇演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "G郭采洁",
|
|
||||||
"v": "郭采洁演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "G光良",
|
|
||||||
"v": "光良演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "G郭静",
|
|
||||||
"v": "郭静演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "G郭富城",
|
|
||||||
"v": "郭富城演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "H胡彦斌",
|
|
||||||
"v": "胡彦斌演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "H胡夏",
|
|
||||||
"v": "胡夏演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "H韩红",
|
|
||||||
"v": "韩红演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "H黄品源",
|
|
||||||
"v": "黄品源演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "H黄小琥",
|
|
||||||
"v": "黄小琥演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "H花儿乐队",
|
|
||||||
"v": "花儿乐队演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "H黄家强",
|
|
||||||
"v": "黄家强演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "H后街男孩",
|
|
||||||
"v": "后街男孩演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "J经典老歌",
|
|
||||||
"v": "经典老歌演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "J贾斯丁比伯",
|
|
||||||
"v": "贾斯丁比伯演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "J金池",
|
|
||||||
"v": "金池演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "J金志文",
|
|
||||||
"v": "金志文演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "J焦迈奇",
|
|
||||||
"v": "焦迈奇演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "K筷子兄弟",
|
|
||||||
"v": "筷子兄弟演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "L李玟",
|
|
||||||
"v": "李玟演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "L林忆莲",
|
|
||||||
"v": "林忆莲演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "L李克勤",
|
|
||||||
"v": "李克勤演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "L刘宪华",
|
|
||||||
"v": "刘宪华演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "L李圣杰",
|
|
||||||
"v": "李圣杰演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "L林宥嘉",
|
|
||||||
"v": "林宥嘉演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "L梁静茹",
|
|
||||||
"v": "梁静茹演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "L李健",
|
|
||||||
"v": "李健演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "L林俊杰",
|
|
||||||
"v": "林俊杰演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "L李玉刚",
|
|
||||||
"v": "李玉刚演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "L林志炫",
|
|
||||||
"v": "林志炫演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "L李荣浩",
|
|
||||||
"v": "李荣浩演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "L李宇春",
|
|
||||||
"v": "李宇春演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "L洛天依",
|
|
||||||
"v": "洛天依演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "L林子祥",
|
|
||||||
"v": "林子祥演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "L李宗盛",
|
|
||||||
"v": "李宗盛演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "L黎明",
|
|
||||||
"v": "黎明演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "L刘德华",
|
|
||||||
"v": "刘德华演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "L罗大佑",
|
|
||||||
"v": "罗大佑演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "L林肯公园",
|
|
||||||
"v": "林肯公园演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "LLadyGaga",
|
|
||||||
"v": "LadyGaga演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "L旅行团乐队",
|
|
||||||
"v": "旅行团乐队演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "M莫文蔚",
|
|
||||||
"v": "莫文蔚演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "M毛不易",
|
|
||||||
"v": "毛不易演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "M梅艳芳",
|
|
||||||
"v": "梅艳芳演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "M迈克尔杰克逊",
|
|
||||||
"v": "迈克尔杰克逊演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "N南拳妈妈",
|
|
||||||
"v": "南拳妈妈演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "P朴树",
|
|
||||||
"v": "朴树演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Q齐秦",
|
|
||||||
"v": "齐秦演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Q青鸟飞鱼",
|
|
||||||
"v": "青鸟飞鱼演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "R容祖儿",
|
|
||||||
"v": "容祖儿演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "R任贤齐",
|
|
||||||
"v": "任贤齐演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "S水木年华",
|
|
||||||
"v": "水木年华演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "S孙燕姿",
|
|
||||||
"v": "孙燕姿演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "S苏打绿",
|
|
||||||
"v": "苏打绿演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "SSHE",
|
|
||||||
"v": "SHE演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "S孙楠",
|
|
||||||
"v": "孙楠演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "T陶喆",
|
|
||||||
"v": "陶喆演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "T谭咏麟",
|
|
||||||
"v": "谭咏麟演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "T田馥甄",
|
|
||||||
"v": "田馥甄演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "T谭维维",
|
|
||||||
"v": "谭维维演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "T逃跑计划",
|
|
||||||
"v": "逃跑计划演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "T田震",
|
|
||||||
"v": "田震演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "T谭晶",
|
|
||||||
"v": "谭晶演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "T屠洪刚",
|
|
||||||
"v": "屠洪刚演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "T泰勒·斯威夫特",
|
|
||||||
"v": "泰勒·斯威夫特演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "W王力宏",
|
|
||||||
"v": "王力宏演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "W王杰",
|
|
||||||
"v": "王杰演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "W吴克群",
|
|
||||||
"v": "吴克群演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "W王心凌",
|
|
||||||
"v": "王心凌演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "W王靖雯",
|
|
||||||
"v": "好声音王靖雯演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "W汪峰",
|
|
||||||
"v": "汪峰演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "W伍佰",
|
|
||||||
"v": "伍佰演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "W王菲",
|
|
||||||
"v": "王菲演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "W五月天",
|
|
||||||
"v": "五月天演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "W汪苏泷",
|
|
||||||
"v": "汪苏泷演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "X徐佳莹",
|
|
||||||
"v": "徐佳莹演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "X弦子",
|
|
||||||
"v": "弦子演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "X萧亚轩",
|
|
||||||
"v": "萧亚轩演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "X许巍",
|
|
||||||
"v": "许巍演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "X薛之谦",
|
|
||||||
"v": "薛之谦演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "X许嵩",
|
|
||||||
"v": "许嵩演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "X小虎队",
|
|
||||||
"v": "小虎队演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "X萧敬腾",
|
|
||||||
"v": "萧敬腾演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "X谢霆锋",
|
|
||||||
"v": "谢霆锋演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "X徐小凤",
|
|
||||||
"v": "徐小凤演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "X信乐队",
|
|
||||||
"v": "信乐队演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Y夜愿乐队",
|
|
||||||
"v": "夜愿乐队演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Y羽泉",
|
|
||||||
"v": "羽泉演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Y郁可唯",
|
|
||||||
"v": "郁可唯演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Y叶倩文",
|
|
||||||
"v": "叶倩文演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Y杨坤",
|
|
||||||
"v": "杨坤演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Y庾澄庆",
|
|
||||||
"v": "庾澄庆演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Y尤长靖",
|
|
||||||
"v": "尤长靖演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Y易烊千玺",
|
|
||||||
"v": "易烊千玺演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Y袁娅维",
|
|
||||||
"v": "袁娅维演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Y杨丞琳",
|
|
||||||
"v": "杨丞琳演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Y杨千嬅",
|
|
||||||
"v": "杨千嬅演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Y杨宗纬",
|
|
||||||
"v": "杨宗纬演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Z郑秀文",
|
|
||||||
"v": "郑秀文演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Z周杰伦",
|
|
||||||
"v": "周杰伦演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Z张学友",
|
|
||||||
"v": "张学友演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Z张信哲",
|
|
||||||
"v": "张信哲演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Z张宇",
|
|
||||||
"v": "张宇演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Z周华健",
|
|
||||||
"v": "周华健演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Z张韶涵",
|
|
||||||
"v": "张韶涵演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Z周深",
|
|
||||||
"v": "周深演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Z纵贯线",
|
|
||||||
"v": "纵贯线演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Z赵雷",
|
|
||||||
"v": "赵雷演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Z周传雄",
|
|
||||||
"v": "周传雄演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Z张国荣",
|
|
||||||
"v": "张国荣演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Z周慧敏",
|
|
||||||
"v": "周慧敏演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Z张惠妹",
|
|
||||||
"v": "张惠妹演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Z周笔畅",
|
|
||||||
"v": "周笔畅演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Z郑中基",
|
|
||||||
"v": "郑中基演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Z张艺兴",
|
|
||||||
"v": "张艺兴演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Z张震岳",
|
|
||||||
"v": "张震岳演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Z张雨生",
|
|
||||||
"v": "张雨生演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Z郑智化",
|
|
||||||
"v": "郑智化演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Z卓依婷",
|
|
||||||
"v": "卓依婷演唱会超清"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "Z中岛美雪",
|
|
||||||
"v": "中岛美雪演唱会超清"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "duration",
|
|
||||||
"name": "时长",
|
|
||||||
"value": [{
|
|
||||||
"n": "全部",
|
|
||||||
"v": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "60分钟以上",
|
|
||||||
"v": "4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "30~60分钟",
|
|
||||||
"v": "3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10~30分钟",
|
|
||||||
"v": "2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"n": "10分钟以下",
|
|
||||||
"v": "1"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,81 +0,0 @@
|
|||||||
{
|
|
||||||
"规则名": "爱你短剧",
|
|
||||||
"规则作者": "香雅情",
|
|
||||||
"请求头参数": "MOBILE_UA",
|
|
||||||
"网页编码格式": "UTF-8",
|
|
||||||
"图片是否需要代理": "否",
|
|
||||||
"是否开启获取首页数据": "是",
|
|
||||||
"首页推荐链接": "https://ainidj.com/",
|
|
||||||
"首页列表数组规则": "body&&.module-items",
|
|
||||||
"首页片单列表数组规则": ".module-item:lt(12)",
|
|
||||||
"首页片单是否Jsoup写法": "1",
|
|
||||||
"分类起始页码": "1",
|
|
||||||
"分类链接": "https://ainidj.com/vodshwo/{cateId}--------{catePg}---.html",
|
|
||||||
"分类名称": "穿越&战神&重生&爱情&萌娃&神医&古代&玄幻&言情",
|
|
||||||
"分类名称替换词": "fenle&fenlei2&fenlei3&fenlei4&guda&shenyi&gudai&xuanhuan&yanqing",
|
|
||||||
"筛选数据": {},
|
|
||||||
//"筛选数据": "ext",
|
|
||||||
//{cateId}
|
|
||||||
"筛选子分类名称": "",
|
|
||||||
"筛选子分类替换词": "",
|
|
||||||
//{class}
|
|
||||||
"筛选类型名称": "",
|
|
||||||
"筛选类型替换词": "*",
|
|
||||||
//{area}
|
|
||||||
"筛选地区名称": "",
|
|
||||||
"筛选地区替换词": "*",
|
|
||||||
//{year}
|
|
||||||
"筛选年份名称": "",
|
|
||||||
"筛选年份替换词": "*",
|
|
||||||
//{lang}
|
|
||||||
"筛选语言名称": "",
|
|
||||||
"筛选语言替换词": "*",
|
|
||||||
//{by}
|
|
||||||
"筛选排序名称": "时间&人气&评分",
|
|
||||||
"筛选排序替换词": "time&hits&score",
|
|
||||||
"分类截取模式": "1",
|
|
||||||
"分类列表数组规则": ".module-items&&.module-item",
|
|
||||||
"分类片单是否Jsoup写法": "是",
|
|
||||||
"分类片单标题": ".video-name&&Text",
|
|
||||||
"分类片单链接": "a&&href",
|
|
||||||
"分类片单图片": ".lazy&&data-src",
|
|
||||||
"分类片单副标题": ".module-item-text&&Text",
|
|
||||||
"分类片单链接加前缀": "https://ainidj.com",
|
|
||||||
"分类片单链接加后缀": "",
|
|
||||||
"搜索请求头参数": "User-Agent$MOBILE_UA",
|
|
||||||
"搜索链接": "https://ainidj.com/vodsearch/{wd}----------{SearchPg}---.html",
|
|
||||||
"POST请求数据": "",
|
|
||||||
"搜索截取模式": "1",
|
|
||||||
"搜索列表数组规则": ".module-items&&.module-search-item",
|
|
||||||
"搜索片单是否Jsoup写法": "是",
|
|
||||||
"搜索片单图片": ".lazyload&&data-src",
|
|
||||||
"搜索片单标题": ".video-info&&h3&&Text",
|
|
||||||
"搜索片单链接": "a&&href",
|
|
||||||
"搜索片单副标题": ".video-serial&&Text",
|
|
||||||
"搜索片单链接加前缀": "https://ainidj.com",
|
|
||||||
"搜索片单链接加后缀": "",
|
|
||||||
"链接是否直接播放": "否",
|
|
||||||
"直接播放链接加前缀": "",
|
|
||||||
"直接播放链接加后缀": "",
|
|
||||||
"直接播放直链视频请求头": "",
|
|
||||||
"详情是否Jsoup写法": "是",
|
|
||||||
"类型详情": "",
|
|
||||||
"年代详情": "",
|
|
||||||
"地区详情": "",
|
|
||||||
"演员详情": "",
|
|
||||||
"简介详情": ".video-info-main&&.video-info-content&&Text",
|
|
||||||
"线路列表数组规则": ".module-tab-items&&.module-tab-item",
|
|
||||||
"线路标题": "Text",
|
|
||||||
"播放列表数组规则": "body&&.module-player-list",
|
|
||||||
"选集列表数组规则": ".scroll-content&&a",
|
|
||||||
"选集标题链接是否Jsoup写法": "是",
|
|
||||||
"选集标题": "a&&Text",
|
|
||||||
"选集链接": "a&&href",
|
|
||||||
"是否反转选集序列": "否",
|
|
||||||
"选集链接加前缀": "https://ainidj.com",
|
|
||||||
"选集链接加后缀": "",
|
|
||||||
"分析MacPlayer": "否",
|
|
||||||
"是否开启手动嗅探": "否",
|
|
||||||
"手动嗅探视频链接关键词": ".mp4#.m3u8#.flv#video/tos",
|
|
||||||
"手动嗅探视频链接过滤词": ".html#=http"
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
"简介": "tt\" style=*>&&</div>",
|
|
||||||
"数组": "<a&&module-item-pic",
|
|
||||||
"副标题": "module-item-text\">&&</div>",
|
|
||||||
"搜索url": "https://xiuer.pro/vod/search/?wd={wd}",
|
|
||||||
"分类url": "https://xiuer.pro/show/{cateId}/area/{area}/class/{class}/page/{catePg}/year/{year}/",
|
|
||||||
"分类": "短剧$duanju#电视剧$dianshiju#电影$dianying#动漫$dongman#综艺$zongyi"
|
|
||||||
}
|
|
||||||
@@ -1,81 +0,0 @@
|
|||||||
{
|
|
||||||
"规则名": "骚火电影VIP",
|
|
||||||
"规则作者": "",
|
|
||||||
"请求头参数": "User-Agent$MOBILE_UA#Referer$https://saohuo.tv",
|
|
||||||
"网页编码格式": "UTF-8",
|
|
||||||
"图片是否需要代理": "0",
|
|
||||||
"是否开启获取首页数据": "0",
|
|
||||||
"首页推荐链接": "https://saohuo.tv/",
|
|
||||||
"首页列表数组规则": "body&&.v_list",
|
|
||||||
"首页片单列表数组规则": "li",
|
|
||||||
"首页片单是否Jsoup写法": "1",
|
|
||||||
"分类起始页码": "1",
|
|
||||||
"分类链接": "https://saohuo.tv/list/{cateId}-{catePg}.html[firstPage=https://saohuo.tv/list/{cateId}.html]",
|
|
||||||
"分类名称": "电影&电视剧&动漫",
|
|
||||||
"分类名称替换词": "1&2&13",
|
|
||||||
"筛选数据": {},
|
|
||||||
//"筛选数据": "ext",
|
|
||||||
//{cateId}
|
|
||||||
"筛选子分类名称": "",
|
|
||||||
"筛选子分类替换词": "",
|
|
||||||
//{class}
|
|
||||||
"筛选类型名称": "",
|
|
||||||
"筛选类型替换词": "*",
|
|
||||||
//{area}
|
|
||||||
"筛选地区名称": "",
|
|
||||||
"筛选地区替换词": "*",
|
|
||||||
//{year}
|
|
||||||
"筛选年份名称": "",
|
|
||||||
"筛选年份替换词": "*",
|
|
||||||
//{lang}
|
|
||||||
"筛选语言名称": "",
|
|
||||||
"筛选语言替换词": "*",
|
|
||||||
//{by}
|
|
||||||
"筛选排序名称": "时间&人气&评分",
|
|
||||||
"筛选排序替换词": "time&hits&score",
|
|
||||||
"分类截取模式": "1",
|
|
||||||
"分类列表数组规则": ".v_list&&li",
|
|
||||||
"分类片单是否Jsoup写法": "1",
|
|
||||||
"分类片单标题": "a&&title",
|
|
||||||
"分类片单链接": "a&&href",
|
|
||||||
"分类片单图片": "img&&data-original",
|
|
||||||
"分类片单副标题": ".v_note&&Text",
|
|
||||||
"分类片单链接加前缀": "https://saohuo.tv",
|
|
||||||
"分类片单链接加后缀": "",
|
|
||||||
"搜索请求头参数": "User-Agent$手机#Accept$text/html",
|
|
||||||
"搜索链接": "https://saohuo.tv/s-{wd}---------{SearchPg}.html",
|
|
||||||
"POST请求数据": "",
|
|
||||||
"搜索截取模式": "1",
|
|
||||||
"搜索列表数组规则": ".v_list&&li",
|
|
||||||
"搜索片单是否Jsoup写法": "1",
|
|
||||||
"搜索片单图片": "img&&data-original",
|
|
||||||
"搜索片单标题": "a&&title",
|
|
||||||
"搜索片单链接": "a&&href",
|
|
||||||
"搜索片单副标题": ".v_note&&Text",
|
|
||||||
"搜索片单链接加前缀": "https://saohuo.tv",
|
|
||||||
"搜索片单链接加后缀": "",
|
|
||||||
"链接是否直接播放": "0",
|
|
||||||
"直接播放链接加前缀": "",
|
|
||||||
"直接播放链接加后缀": "",
|
|
||||||
"直接播放直链视频请求头": "",
|
|
||||||
"详情是否Jsoup写法": "1",
|
|
||||||
"类型详情": "",
|
|
||||||
"年代详情": "",
|
|
||||||
"地区详情": "",
|
|
||||||
"演员详情": "",
|
|
||||||
"简介详情": ".p_txt&&Text",
|
|
||||||
"线路列表数组规则": ".from_list&&li",
|
|
||||||
"线路标题": "Text",
|
|
||||||
"播放列表数组规则": ".play_list&&li",
|
|
||||||
"选集列表数组规则": "a",
|
|
||||||
"选集标题链接是否Jsoup写法": "1",
|
|
||||||
"选集标题": "a&&Text",
|
|
||||||
"选集链接": "a&&href",
|
|
||||||
"是否反转选集序列": "1",
|
|
||||||
"选集链接加前缀": "https://saohuo.tv",
|
|
||||||
"选集链接加后缀": "",
|
|
||||||
"分析MacPlayer": "0",
|
|
||||||
"是否开启手动嗅探": "0",
|
|
||||||
"手动嗅探视频链接关键词": ".mp4#.m3u8#.flv#video/tos",
|
|
||||||
"手动嗅探视频链接过滤词": ".html#=http"
|
|
||||||
}
|
|
||||||
-1576
File diff suppressed because it is too large.
Load diff
-1745
File diff suppressed because it is too large.
Load diff
-164580
File diff suppressed because it is too large.
Load diff
-11676
File diff suppressed because it is too large.
Load diff
-5969
File diff suppressed because it is too large.
Load diff
Binary file not shown.
File renamed without changes.
+198
-242
@@ -11,16 +11,16 @@ http://39.164.180.36:19901/tsfile/live/0001_2.m3u8?key=txiptv&playlive=0&authid=
|
|||||||
http://39.164.180.36:19901/tsfile/live/0001_2.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路200』
|
http://39.164.180.36:19901/tsfile/live/0001_2.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路200』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV1
|
#EXTINF:-1 group-title="央视频道",CCTV1
|
||||||
http://183.215.134.239:19901/tsfile/live/0001_1.m3u8?key=txiptv&playlive=1&authid=0
|
http://183.215.134.239:19901/tsfile/live/0001_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV1
|
||||||
|
http://8.138.7.223/tv/dl/douyincdn.php?id=1$LR•IPV4『线路155』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV1
|
||||||
|
http://8.138.7.223/tv/dl/careryun.php?id=1$LR•IPV4『线路157』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV1
|
||||||
|
http://iptv.huuc.edu.cn/hls/cctv1hd.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV2
|
#EXTINF:-1 group-title="央视频道",CCTV2
|
||||||
http://39.164.180.36:19901/tsfile/live/0002_1.m3u8?key=txiptv&playlive=0&authid=0
|
http://39.164.180.36:19901/tsfile/live/0002_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV2
|
#EXTINF:-1 group-title="央视频道",CCTV2
|
||||||
http://39.164.180.36:19901/tsfile/live/0002_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路181』
|
http://39.164.180.36:19901/tsfile/live/0002_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路181』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV2
|
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=2$LR•IPV4『线路146』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV2
|
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=2$LR•IPV4『线路148』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV-3综艺
|
|
||||||
http://61.156.228.12:8154/tsfile/live/0003_1.m3u8?key=txiptv&playlive=1&authid=0
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV3
|
#EXTINF:-1 group-title="央视频道",CCTV3
|
||||||
http://39.164.180.36:19901/tsfile/live/0001_1.m3u8?key=txiptv&playlive=0&authid=0
|
http://39.164.180.36:19901/tsfile/live/0001_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV3
|
#EXTINF:-1 group-title="央视频道",CCTV3
|
||||||
@@ -33,19 +33,15 @@ http://8.138.7.223/tv/dl/douyincdn.php?id=3$LR•IPV4『线路134』
|
|||||||
http://112.46.105.20:8009/hls/3/index.m3u8
|
http://112.46.105.20:8009/hls/3/index.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV3
|
#EXTINF:-1 group-title="央视频道",CCTV3
|
||||||
http://iptv.huuc.edu.cn/hls/cctv3hd.m3u8
|
http://iptv.huuc.edu.cn/hls/cctv3hd.m3u8
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV3
|
||||||
|
http://8.138.7.223/tv/dl/careryun.php?id=3$LR•IPV4『线路136』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV4
|
#EXTINF:-1 group-title="央视频道",CCTV4
|
||||||
http://39.164.180.36:19901/tsfile/live/0004_1.m3u8?key=txiptv&playlive=0&authid=0
|
http://39.164.180.36:19901/tsfile/live/0004_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV4
|
#EXTINF:-1 group-title="央视频道",CCTV4
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=6$LR•IPV4『线路151』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV4
|
|
||||||
http://39.164.180.36:19901/tsfile/live/0004_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路191』
|
http://39.164.180.36:19901/tsfile/live/0004_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路191』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV4
|
#EXTINF:-1 group-title="央视频道",CCTV4
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=4$LR•IPV4『线路145』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV4
|
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=4$LR•IPV4『线路149』
|
http://8.138.7.223/tv/dl/careryun.php?id=4$LR•IPV4『线路149』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV4
|
#EXTINF:-1 group-title="央视频道",CCTV4
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=5$LR•IPV4『线路150』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV4
|
|
||||||
http://iptv.huuc.edu.cn/hls/cctv4hd.m3u8
|
http://iptv.huuc.edu.cn/hls/cctv4hd.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV5
|
#EXTINF:-1 group-title="央视频道",CCTV5
|
||||||
http://39.164.180.36:19901/tsfile/live/0005_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路192』
|
http://39.164.180.36:19901/tsfile/live/0005_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路192』
|
||||||
@@ -62,7 +58,31 @@ http://120.76.248.139/live/bfgd/4200000246.m3u8
|
|||||||
#EXTINF:-1 group-title="央视频道",CCTV5+
|
#EXTINF:-1 group-title="央视频道",CCTV5+
|
||||||
http://39.164.180.36:19901/tsfile/live/0016_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路152』
|
http://39.164.180.36:19901/tsfile/live/0016_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路152』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV5+
|
#EXTINF:-1 group-title="央视频道",CCTV5+
|
||||||
http://8.138.7.223/tv/mgitv.php?id=26$LR•IPV4『线路98』
|
https://www.freetv.top/migu/641886773.m3u8?migutoken=03a1b82e35e58cd89a95034ecb29e77e50493397000ec2b1e4d1ce59af01e6420d6dbc068c8230ec03be3a35a20eed8714e0959e3570a08713a7a2e8d86085eabf8f1aa85744c80c38343988b2$LR•IPV4『线路85』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV5+
|
||||||
|
https://www.freetv.top/migu/641886773.m3u8?migutoken=d57fee211897159700add52df7fa3cc7a33c8a36badab30689bd7e02d578ef2c5a1f2dfec5736538ddf6531be37ece2b758f850641e3bdbf9d62e9df98d925e5a8986dc9134dbcea7e2157891f$LR•IPV4『线路130』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV5+
|
||||||
|
https://www.freetv.top/migu/641886773.m3u8?migutoken=a79abb65a17f5be7da5d3ec37960d15f3a6b164cf4540fb85ca8f60c68726c5c84ee3e9356f5c9515215acf25f71251776bf3e39fc89015d04e7a8ecb61ac182200548094f6aa8d0fdcb89d528$LR•IPV4『线路131』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV5+
|
||||||
|
https://www.freetv.top/migu/641886773.m3u8?migutoken=4f1a9fcd002d1813b494eddd61778e103dbe130f4abb409e9032be9917dfd1871014d622a729fd6ffc4e1c376330de3f42c3691e2b49d12f7eb77bdf1887e67a9e6ad438d269a4408f0b3c6bcb$LR•IPV4『线路132』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV5+
|
||||||
|
https://www.freetv.top/migu/641886773.m3u8?migutoken=8bdd5fb612b1814bc05e5d5a3587038b63a57118a3711f5deef616dae26551e2cf590ae33184188b9a54b1b09b28b53140036f0044b69a6e185a0a45ae997cbd63632ab73031fd27cc6a35e3a1$LR•IPV4『线路133』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV5+
|
||||||
|
https://www.freetv.top/migu/641886773.m3u8?migutoken=04826a9d5cfc1d3166ded238eb3806d3454207482687b55dbe79a6feb6b4c046e0698d1e7b284da304040eae0ba7b6e833ace3e48213d98981589f226722524cddab32a63d58c1c4e60a091000$LR•IPV4『线路135』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV5+
|
||||||
|
https://www.freetv.top/migu/641886773.m3u8?migutoken=90ec1fec9d68b81a57600447989d07f36991aa61b8c4326b157e808a9708936512eae4c6777deb137597da627c6aeda1c609f4dd009d434672c6798fba04c925fe43bcecf3fa6847f848e962a8$LR•IPV4『线路136』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV5+
|
||||||
|
https://www.freetv.top/migu/641886773.m3u8?migutoken=d79923540b82c440681df5ec1922b77d612bf548b5e32ff4626a92ddf4935a6d91268da66b6f205ad0ad05a3e8f3df71e61d2f93679ac0c9ce72edcb607da33c0dedc1b5f60835ba726e273f9b$LR•IPV4『线路137』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV5+
|
||||||
|
https://www.freetv.top/migu/641886773.m3u8?migutoken=21c23fcaff7e7a82aa520fc15813e6896ca424dc252d40d750cae121ec1d821b7ee9f67e7e361a2299c83415fc12c810f27816d6433288b01f7f637cd82c2a8b07e616a7d1042eccab80bbec3d$LR•IPV4『线路138』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV5+
|
||||||
|
https://www.freetv.top/migu/641886773.m3u8?migutoken=d7396c05a877872a7519b5df4582a7a4bdf13c82d09889e561f50d0035f006d199741b00d465e4e41b0f706bccfe3420f5d427961e7698ad2a8b8d82d9d320a827310f6c8a7d1c8f203c91b392$LR•IPV4『线路140』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV5+
|
||||||
|
https://www.freetv.top/migu/641886773.m3u8?migutoken=408252ae4ee84d4533a52e87dc35e108f3557992d0837a3c98af9093fccdb78373328e743136467868d2125b1fa35c3f4d576327db5e3ec96ec3108e28e950fb462f2dc81da44be8ae43ebe0ce$LR•IPV4『线路141』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV5+
|
||||||
|
http://www.freetv.top/migu/641886773.m3u8?migutoken=752524a725f1fe3e2f8566518e97cd59f827e367318341fa56132b91af956b4e1cd85f255dd26352c1e9611c76770d0ba4afaf07d71eb65ec9859b3d8239dd7806fb2b21c9410b3e062eab2fcc$LR•IPV4『线路142』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV5+
|
||||||
|
http://111.43.126.240:9003/hls/81/index.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV6
|
#EXTINF:-1 group-title="央视频道",CCTV6
|
||||||
http://39.164.180.36:19901/tsfile/live/0006_1.m3u8?key=txiptv&playlive=0&authid=0
|
http://39.164.180.36:19901/tsfile/live/0006_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV6
|
#EXTINF:-1 group-title="央视频道",CCTV6
|
||||||
@@ -72,9 +92,17 @@ http://221.2.148.205:8154/tsfile/live/0006_1.m3u8?key=txiptv&playlive=1&authid=0
|
|||||||
#EXTINF:-1 group-title="央视频道",CCTV6
|
#EXTINF:-1 group-title="央视频道",CCTV6
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=9$LR•IPV4『线路134』
|
http://8.138.7.223/tv/dl/careryun.php?id=9$LR•IPV4『线路134』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV6
|
#EXTINF:-1 group-title="央视频道",CCTV6
|
||||||
http://61.156.228.12:8154/tsfile/live/0006_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路279』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV6
|
|
||||||
http://112.46.105.20:8009/hls/6/index.m3u8
|
http://112.46.105.20:8009/hls/6/index.m3u8
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV6
|
||||||
|
http://8.138.7.223/tv/dl/douyincdn.php?id=6$LR•IPV4『线路132』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV6
|
||||||
|
https://www.freetv.top/migu/624878396.m3u8?migutoken=fad6ba45166658ac148a6a597b94823f91673302510000cce2a906c7a6634ee620570956e2746b8b2cf59ae5370dd0f1ff919edf280e875ab76365c094c9960948ebc38ca05218b8effb809ba5$LR•IPV4『线路321』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV6
|
||||||
|
https://www.freetv.top/migu/624878396.m3u8?migutoken=38a08d31f79563a15b6c38307b16c1f1fd2715f58a1bff21d307adaa6597fb3ea267812ba6ac28a74fa0648f0a2003c0d93e137f0257353bff9dedc7eff0cc871a38e97a269bf9ab6e14a4171d$LR•IPV4『线路326』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV6
|
||||||
|
https://www.freetv.top/migu/624878396.m3u8?migutoken=6b67cbdfb1839f227832346707fcbe0f8de95d5df4faa3a63d5243e5f4ca0f52e79f041476a989915ac41a009e4c8f405f58040a4d4ec74bde4c945654300a3c41c00f4d67ef3708cb107ba9e9$LR•IPV4『线路328』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV6
|
||||||
|
http://iptv.huuc.edu.cn/hls/cctv6hd.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV7
|
#EXTINF:-1 group-title="央视频道",CCTV7
|
||||||
http://8.138.7.223/tv/cctv7.m3u8
|
http://8.138.7.223/tv/cctv7.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV7
|
#EXTINF:-1 group-title="央视频道",CCTV7
|
||||||
@@ -84,7 +112,7 @@ http://39.164.180.36:19901/tsfile/live/0007_1.m3u8?key=txiptv&playlive=0&authid=
|
|||||||
#EXTINF:-1 group-title="央视频道",CCTV7
|
#EXTINF:-1 group-title="央视频道",CCTV7
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=7$LR•IPV4『线路145』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=7$LR•IPV4『线路145』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV7
|
#EXTINF:-1 group-title="央视频道",CCTV7
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=10$LR•IPV4『线路147』
|
http://iptv.huuc.edu.cn/hls/cctv7hd.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV8
|
#EXTINF:-1 group-title="央视频道",CCTV8
|
||||||
http://39.164.180.36:19901/tsfile/live/0008_1.m3u8?key=txiptv&playlive=0&authid=0
|
http://39.164.180.36:19901/tsfile/live/0008_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV8
|
#EXTINF:-1 group-title="央视频道",CCTV8
|
||||||
@@ -93,118 +121,42 @@ http://61.156.228.12:8154/tsfile/live/0008_1.m3u8?key=txiptv&playlive=1&authid=0
|
|||||||
http://39.164.180.36:19901/tsfile/live/0008_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路154』
|
http://39.164.180.36:19901/tsfile/live/0008_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路154』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV8
|
#EXTINF:-1 group-title="央视频道",CCTV8
|
||||||
http://112.46.105.20:8009/hls/8/index.m3u8
|
http://112.46.105.20:8009/hls/8/index.m3u8
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV8
|
||||||
|
http://8.138.7.223/tv/dl/douyincdn.php?id=8$LR•IPV4『线路126』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV8
|
||||||
|
http://8.138.7.223/tv/dl/careryun.php?id=11$LR•IPV4『线路128』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV8
|
||||||
|
http://iptv.huuc.edu.cn/hls/cctv8hd.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV9
|
#EXTINF:-1 group-title="央视频道",CCTV9
|
||||||
http://39.164.180.36:19901/tsfile/live/0009_1.m3u8?key=txiptv&playlive=0&au
|
http://39.164.180.36:19901/tsfile/live/0009_1.m3u8?key=txiptv&playlive=0&au
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV9
|
#EXTINF:-1 group-title="央视频道",CCTV9
|
||||||
http://39.164.180.36:19901/tsfile/live/0009_1.m3u8?key=txiptv&playlive=0&authid=0
|
http://39.164.180.36:19901/tsfile/live/0009_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV9
|
#EXTINF:-1 group-title="央视频道",CCTV9
|
||||||
http://39.164.160.249:9901/tsfile/live/0009_1.m3u8
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV9
|
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=12$LR•IPV4『线路139』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV9
|
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=9$LR•IPV4『线路137』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV9
|
|
||||||
http://39.164.180.36:19901/tsfile/live/0009_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路160』
|
http://39.164.180.36:19901/tsfile/live/0009_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路160』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV10
|
#EXTINF:-1 group-title="央视频道",CCTV10
|
||||||
http://39.164.180.36:19901/tsfile/live/0010_1.m3u8?key=txiptv&playlive=0&authid=0
|
http://39.164.180.36:19901/tsfile/live/0010_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV10
|
#EXTINF:-1 group-title="央视频道",CCTV10
|
||||||
http://39.164.160.249:9901/tsfile/live/0010_1.m3u8
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV10
|
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=10$LR•IPV4『线路141』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=10$LR•IPV4『线路141』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV10
|
#EXTINF:-1 group-title="央视频道",CCTV10
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=13$LR•IPV4『线路143』
|
http://iptv.huuc.edu.cn/hls/cctv10hd.m3u8
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV-10
|
||||||
|
http://61.138.128.226:19901/tsfile/live/0011_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV11
|
#EXTINF:-1 group-title="央视频道",CCTV11
|
||||||
http://39.164.180.36:19901/tsfile/live/0011_1.m3u8?key=txiptv&playlive=0&authid=0
|
http://39.164.180.36:19901/tsfile/live/0011_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV11
|
#EXTINF:-1 group-title="央视频道",CCTV11
|
||||||
http://39.164.160.249:9901/tsfile/live/0011_1.m3u8
|
http://39.164.160.249:9901/tsfile/live/0011_1.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV11
|
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=14$LR•IPV4『线路132』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV11
|
|
||||||
https://www.freetv.top/migu/667987558.m3u8?migutoken=dfda8acb7dfd1d1149e2e4a381e46a298c47e88f939d7deef7846d6e15f76fc596a0a58e349a64678edbb921fc353b458211c4bbf22e23bb75fd1dc9384d8c251c729958bddd28ec81d8c0922f$LR•IPV4『线路246』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV11
|
|
||||||
https://www.freetv.top/migu/667987558.m3u8?migutoken=0889c33c8749b813b28c533d0ceb5e64bdf62396a1f0d2d849b8980a53dc7a8553dda3a862c070fb58ada9d23f299446643d38d44ab5b1506b0ff3a5033bd766ae621fd4e8c886ae46a9905d73$LR•IPV4『线路248』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV11
|
|
||||||
https://www.freetv.top/migu/667987558.m3u8?migutoken=16827d54043eba69d051685229b1d0623c01f398f643b3a7d912c9929d6525025ef57eb61666d45bb70dfc86405aa336ca762f0bda4f0284d98eddae4042805df42661f954a1d40820829ec8c2$LR•IPV4『线路252』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV11
|
|
||||||
https://www.freetv.top/migu/667987558.m3u8?migutoken=dbfc420c420e30228efe23e562fc0ee670a65ddac45cc355845b855f27a4e5ba04a7e18d73eb58be7427a4bed6ef9056659fbcf58979a56ccbe84899cfdf0644fc1215333ca6210639196795f2$LR•IPV4『线路253』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV11
|
|
||||||
https://www.freetv.top/migu/667987558.m3u8?migutoken=14896515d1514a4437b9fc787f82cc339fe93aeeb6c156d0db550c36ad47ad15227653e5e1212a901544141c80eaeb141492d17e72b51ec0f8367c6081e6f56027d717b45ee0502bd44fc7b295$LR•IPV4『线路254』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV11
|
|
||||||
https://www.freetv.top/migu/667987558.m3u8?migutoken=408059f9700f7f56e62184e265e65547e81239e202e8eca9e4c8b6af6d24f1b95ecc82d9a995833141f0ac6d599ff24fc9f1a323a6beb60301088388f1601c0e7c72b52ba0a58472e525714823$LR•IPV4『线路255』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV11
|
|
||||||
https://www.freetv.top/migu/667987558.m3u8?migutoken=b64f3a361e8074b39bbbad35bdf17e43f722bcfa61647fe1ac137ea76cd90f034c1ab08fffb962f33c8dbe34b78847898aa262bf4eb0da6bbe3ef3975c49ee67fa1049054ac575c70a5fe5836e$LR•IPV4『线路256』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV11
|
|
||||||
https://www.freetv.top/migu/667987558.m3u8?migutoken=0960d7e074be53abeacd988e7daaca6d1477b1f255f98a01c33c7adf74ac246fe65a23451c3cff9b1203a6285cec778b6d488bd805e9d2433abe3ca23eb24e4f2a5f36bba821773558e1dec231$LR•IPV4『线路257』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV11
|
|
||||||
https://www.freetv.top/migu/667987558.m3u8?migutoken=4c903e5316196f2e3d586dc059cbb28c4bee023a690e5e366a6178f6c339df906f37cc0cf3efc277fd847991bc5c69f5d53eb0a19222cf25d5a646a7ae998a25cefc549cdf0f8c5a1c2d38fe88$LR•IPV4『线路260』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV11
|
|
||||||
https://www.freetv.top/migu/667987558.m3u8?migutoken=94966fdba4386de76a59ad1052a1c8095cf8663510a3916813c5e60acb984ae723c749b8fc8917a8201dcae662c135045ceb026cdb90e5c76804938cb26605a70e496eb6695eb30a63b32270a9$LR•IPV4『线路261』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV11
|
|
||||||
https://www.freetv.top/migu/667987558.m3u8?migutoken=1d0a7c51349d0d29392d62f5685c0adeccb58bc9a3ffea11a91caa97486b3676f1419283c7373cda120fc07d90d911e4191c58663b10666354a5140046e37437b3dfa6cb78242873fb16b97565$LR•IPV4『线路262』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV11
|
|
||||||
https://www.freetv.top/migu/667987558.m3u8?migutoken=6f0aba8bb528e29d40340f6930899fd9d7af9fd013c355a61146d5528e6ac297c46d65935ffcea640455737c324736dd8a29f22083f5450155873c9e89d3a4fb8b6b92b897a7dc62ad55fd891d$LR•IPV4『线路263』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV11
|
|
||||||
http://www.freetv.top/migu/667987558.m3u8?migutoken=00a21f1483e571da068c555e3eea928f7c6183b26d7acc2afe9bb5e115f0005e02b6118176789d76765ae297bd6dfe4e14966e64415f0781535d91ed266aac177d6ff10fa6358e0eedddc2223b$LR•IPV4『线路264』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV12
|
#EXTINF:-1 group-title="央视频道",CCTV12
|
||||||
http://39.164.180.36:19901/tsfile/live/0012_1.m3u8?key=txiptv&playlive=0&authid=0
|
http://39.164.180.36:19901/tsfile/live/0012_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV12
|
#EXTINF:-1 group-title="央视频道",CCTV12
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=12$LR•IPV4『线路149』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV12
|
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=15$LR•IPV4『线路151』
|
http://8.138.7.223/tv/dl/careryun.php?id=15$LR•IPV4『线路151』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV12
|
#EXTINF:-1 group-title="央视频道",CCTV12
|
||||||
https://www.freetv.top/migu/673168185.m3u8?migutoken=37acadb43b1d7932b0a1e8a4f2d01a06b42a10c31f3ccb417bae200ac3028f30a8110509f2cd6cd130aee4b21c85693aa49817f3381e4d28e140d8db1a20b6fecea22fec17a70ff1341efe6081$LR•IPV4『线路162』
|
http://iptv.huuc.edu.cn/hls/cctv12hd.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV12
|
|
||||||
https://www.freetv.top/migu/673168185.m3u8?migutoken=40766e9859972e6ae171d58afa7e850faae4246a22bcbd157d273c1bd3b350c0a628f5bf360a7db1d2783c2aadcb2234c9655b4da63085bdef253dcca0b0c76b5ac80d0f95782b3b7bd4a0e881$LR•IPV4『线路283』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV12
|
|
||||||
https://www.freetv.top/migu/673168185.m3u8?migutoken=876a940958defb8a6514e54b9a992f0208f7db15754439ec4131d690bb68982f44bdfa6edbdbbdaf91035ca931a5577a8de3f1af81b18ee26104662899818f2703ab8bf49c63365ef4c1abb782$LR•IPV4『线路285』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV12
|
|
||||||
https://www.freetv.top/migu/673168185.m3u8?migutoken=2c8ff357aa2421f58bdbe7599a401e91b4e82c915fb4cdc01b7b5958d324557b8fe0b9dfc2848124c14b3c90fbeeaaec9a973e08efe51011771d0fbfcdfb36bbb23ba40211547f349c501b6997$LR•IPV4『线路288』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV12
|
|
||||||
https://www.freetv.top/migu/673168185.m3u8?migutoken=76bebb6e232f0fab2255a916973032f09dc402780dd9463245d5237e70aa9461dc91a243e619fe0da57b167eb3d0dea54b5eb6fc957bb9cb07fe18e072e9c76b6e8a128db454b6b97d90206f5a$LR•IPV4『线路289』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV12
|
|
||||||
https://www.freetv.top/migu/673168185.m3u8?migutoken=850e10c4b3e2559846e644627d1497207d19de95ff18847d49e0964a8624df5197b1262ebe2daea9c3cfc41d24fec5145f55e042a0eec5e360ac914bf90f7be722595f32839fa076275e91b466$LR•IPV4『线路290』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV12
|
|
||||||
https://www.freetv.top/migu/673168185.m3u8?migutoken=ff6a5a89e6ad0f73cd78424df3be0abe3743e8bbd37698f2dcee8ece0d6ffbe0c1205c704c08924958889799dcc66d9333f4273e5dc9ead670713fd2b2292e201873fb66020ec85899c7bd2a05$LR•IPV4『线路292』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV12
|
|
||||||
https://www.freetv.top/migu/673168185.m3u8?migutoken=5423237e9d331ddbd254f9b34f235d2d3a581587f12081d6f4dc2e5fd33889675377b585750675d9d08c0a7620fee257f9f2994877ebd92907417411e935c2e49fbcbe53ead412cd81dfa7dfba$LR•IPV4『线路293』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV12
|
|
||||||
https://www.freetv.top/migu/673168185.m3u8?migutoken=6da0b98d673331a792733285434b6f75aefe1d72574d51d388f210f853362b7f5cd07a7969ae76778b0d05129f6c205abeb3a168906b638ece23bdde93d5a86f47482052cd9b44f53ceefb2207$LR•IPV4『线路294』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV12
|
|
||||||
https://www.freetv.top/migu/673168185.m3u8?migutoken=a099c4781935e65ce141b770794c3b43ae66c9cff99a441ab85b8a676ceb9472ea0e60b610403e97c019904f7c814c2524dc1f8f884664706b7b5a1ce4fd076c7f8c776c9d73f4a0fc12b259f3$LR•IPV4『线路298』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV12
|
|
||||||
http://www.freetv.top/migu/673168185.m3u8?migutoken=21a3954b28c73a4240272889ec94c3318c23068f666c79e61379cb154a890e4e7e3c998a578b29a381972f128751898531cb713221ff95385afec91149321ad772e31489fa01e553c8223e976a$LR•IPV4『线路301』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV13
|
#EXTINF:-1 group-title="央视频道",CCTV13
|
||||||
https://event.pull.hebtv.com/jishi/cp1.m3u8
|
https://event.pull.hebtv.com/jishi/cp1.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV13
|
#EXTINF:-1 group-title="央视频道",CCTV13
|
||||||
http://ali-m-l.cztv.com/channels/lantian/channel21/1080p.m3u8
|
http://ali-m-l.cztv.com/channels/lantian/channel21/1080p.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV13
|
#EXTINF:-1 group-title="央视频道",CCTV13
|
||||||
http://39.164.160.249:9901/tsfile/live/0013_1.m3u8
|
http://39.164.160.249:9901/tsfile/live/0013_1.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV13
|
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=13$LR•IPV4『线路138』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV13
|
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=16$LR•IPV4『线路140』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV13
|
|
||||||
https://www.freetv.top/migu/608807423.m3u8?migutoken=7a9f631c12e3f260a1be234f09172421b9cb241df766874aae8a36485a148b231acfe7a255db39c6e6affcb6015c80f4607fcc3301cfb28d121090c6eef969c85d1a23a3a6e649c0557dda6ae3$LR•IPV4『线路237』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV13
|
|
||||||
https://www.freetv.top/migu/608807423.m3u8?migutoken=b0ebf450385413f8d70e72a92ceba03e41170d59df1374472666311b9a1b26c2665ac29d287ef869f8998593325508eed5b09a4020d14bc557a3fe580eea0c0f4c2c13a4581ddb400575b8d3e9$LR•IPV4『线路242』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV13
|
|
||||||
https://www.freetv.top/migu/608807423.m3u8?migutoken=776326ca258673fca618a4f3a2ff6e001516e1bd1de00a273f9321b167eace944b1fea149e58d9f61f99fdcb505524330bcadd896ad46e9264a6c57fcd05b0e7b924e3462804a5228697c43f3f$LR•IPV4『线路247』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV13
|
|
||||||
https://www.freetv.top/migu/608807423.m3u8?migutoken=ac75a7b224f6d682c32c041ab4e0382dbb3ff875e9f9296ab33b8f3b7d44ac493d7bf97160232973e9f25fe71232f5180c8fe73aaee23768741e101519263d172ad60f77351699f0863c60b8ff$LR•IPV4『线路260』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV13
|
|
||||||
https://www.freetv.top/migu/608807423.m3u8?migutoken=d04a0fbe708570ac8859ed559ac6241f3a9da203b9f1dcecbbb627c30fca3aac016d99c7e9dc1efa5b5bd973de8170af65d84d3bfdc932709679f2a688284458be83238ceef24aa5196ad54167$LR•IPV4『线路261』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV13
|
|
||||||
https://www.freetv.top/migu/608807423.m3u8?migutoken=b3b4ddc2f6494b8b098f8722480f65f33fabde80e2873f9c7ad3a37c1d0e0053da396027d844896109a0c960d9c8be0b4932204b5648e71ef398f07c48501fade68f689c2175b139ba190f4ab4$LR•IPV4『线路263』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV13
|
|
||||||
https://www.freetv.top/migu/608807423.m3u8?migutoken=62d2214274cef7d40b4114d45bf7638a556c67cd16bcf313098428f7b9c39529a9409be7e2a892a20359eed6ae89f4458686ab0c3b3d4ca5e2ca54e11342c5719c3a1e0e8af936fe2a1892a5fa$LR•IPV4『线路264』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV13
|
|
||||||
https://www.freetv.top/migu/608807423.m3u8?migutoken=85d3cf2d1e1511208a2074a3da420becee120fffec82c80e13e533bb191e19cba13d3f9831f111202869da1200838bc62ed7dcc00a437f0c3f013a2f2fbd4d23de657fbc5d9b1b4f432f49b15d$LR•IPV4『线路265』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV13
|
|
||||||
http://www.freetv.top/migu/608807423.m3u8?migutoken=d8e7d5104925c13570533f5db2f808b4613be4d2901d3d406a67fca92ee219bc3692dff97d63d38123fde519465b77404b0a2c0c59bec5e83ad2be42019845acc7e59290159021d585352689cc$LR•IPV4『线路266』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV13
|
|
||||||
https://www.freetv.top/migu/608807423.m3u8?migutoken=c2389cf5194aa51126151d56817f4b78c648be26d653da0ba123aedb4ac3bc7cf448bdf7e94a38f8a1d5ef942bd7584f21130d1702c97093596d8bf121dc9e10697c48b323b813404c8eff9ed6$LR•IPV4『线路268』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV13
|
|
||||||
https://www.freetv.top/migu/608807423.m3u8?migutoken=2ea304b199bfe39629418c1d50b3c9f34ba06712c9c7922a614411768b18496280cdfdee913572bdb8d1cdd3d5763460f2f0aea6c7a51095aaf66f1eb8f43ce6edbbeac22c35e78ecc39dbdf27$LR•IPV4『线路269』
|
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV14
|
#EXTINF:-1 group-title="央视频道",CCTV14
|
||||||
http://39.164.180.36:19901/tsfile/live/0014_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路173』
|
http://39.164.180.36:19901/tsfile/live/0014_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路173』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV14
|
#EXTINF:-1 group-title="央视频道",CCTV14
|
||||||
@@ -214,11 +166,17 @@ http://39.164.180.36:19901/tsfile/live/0014_1.m3u8?key=txiptv&playlive=0&authid=
|
|||||||
#EXTINF:-1 group-title="央视频道",CCTV14
|
#EXTINF:-1 group-title="央视频道",CCTV14
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=14$LR•IPV4『线路148』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=14$LR•IPV4『线路148』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV14
|
#EXTINF:-1 group-title="央视频道",CCTV14
|
||||||
https://www.freetv.top/migu/624878440.m3u8?migutoken=239edad94ac0bbff14f123c7f8996ed7639110bd6cf64ec8ba8cf85842224956d452ec8b683385cb27f8a7685224a03e3aa4d914b8fe33249da9df699351b105c795452d03f2be0a1f1e39adb0$LR•IPV4『线路161』
|
http://8.138.7.223/tv/dl/careryun.php?id=17$LR•IPV4『线路150』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV14
|
||||||
|
http://61.138.128.226:19901/tsfile/live/0015_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路276』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV14
|
||||||
|
http://iptv.huuc.edu.cn/hls/cctv14hd.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV15
|
#EXTINF:-1 group-title="央视频道",CCTV15
|
||||||
http://39.164.160.249:9901/tsfile/live/0015_1.m3u8
|
http://39.164.160.249:9901/tsfile/live/0015_1.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV15
|
#EXTINF:-1 group-title="央视频道",CCTV15
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=15$LR•IPV4『线路135』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=15$LR•IPV4『线路135』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV15
|
||||||
|
http://8.138.7.223/tv/dl/careryun.php?id=18$LR•IPV4『线路137』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV16
|
#EXTINF:-1 group-title="央视频道",CCTV16
|
||||||
http://111.43.126.240:9003/hls/86/index.m3u8
|
http://111.43.126.240:9003/hls/86/index.m3u8
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV17
|
#EXTINF:-1 group-title="央视频道",CCTV17
|
||||||
@@ -226,7 +184,9 @@ http://120.76.248.139/live/bfgd/4200000204.m3u8
|
|||||||
#EXTINF:-1 group-title="央视频道",CCTV17
|
#EXTINF:-1 group-title="央视频道",CCTV17
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=19$LR•IPV4『线路103』
|
http://8.138.7.223/tv/dl/careryun.php?id=19$LR•IPV4『线路103』
|
||||||
#EXTINF:-1 group-title="央视频道",CCTV17
|
#EXTINF:-1 group-title="央视频道",CCTV17
|
||||||
http://8.138.7.223/tv/mgitv.php?id=79$LR•IPV4『线路121』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=16$LR•IPV4『线路101』
|
||||||
|
#EXTINF:-1 group-title="央视频道",CCTV17
|
||||||
|
http://111.43.126.240:9003/hls/30/index.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",安多卫视
|
#EXTINF:-1 group-title="卫视频道",安多卫视
|
||||||
https://liveout.xntv.tv/a65jur/96iln2.m3u8
|
https://liveout.xntv.tv/a65jur/96iln2.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",安多卫视
|
#EXTINF:-1 group-title="卫视频道",安多卫视
|
||||||
@@ -239,6 +199,10 @@ https://liveout.xntv.tv/a65jur/90p2i1.m3u8
|
|||||||
http://39.164.180.36:19901/tsfile/live/0130_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路104』
|
http://39.164.180.36:19901/tsfile/live/0130_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路104』
|
||||||
#EXTINF:-1 group-title="卫视频道",安徽卫视
|
#EXTINF:-1 group-title="卫视频道",安徽卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0130_1.m3u8?key=txiptv&playlive=0&authid=0
|
http://39.164.180.36:19901/tsfile/live/0130_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||||
|
#EXTINF:-1 group-title="卫视频道",安徽卫视
|
||||||
|
http://8.138.7.223/tv/dl/careryun.php?id=26$LR•IPV4『线路91』
|
||||||
|
#EXTINF:-1 group-title="卫视频道",安徽卫视
|
||||||
|
http://iptv.huuc.edu.cn/hls/ahhd.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",北京卫视
|
#EXTINF:-1 group-title="卫视频道",北京卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0122_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路113』
|
http://39.164.180.36:19901/tsfile/live/0122_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路113』
|
||||||
#EXTINF:-1 group-title="卫视频道",北京卫视
|
#EXTINF:-1 group-title="卫视频道",北京卫视
|
||||||
@@ -246,51 +210,39 @@ http://39.164.180.36:19901/tsfile/live/0122_1.m3u8?key=txiptv&playlive=0&authid=
|
|||||||
#EXTINF:-1 group-title="卫视频道",北京卫视
|
#EXTINF:-1 group-title="卫视频道",北京卫视
|
||||||
http://183.215.134.239:19901/tsfile/live/0122_1.m3u8?key=txiptv&playlive=1&authid=0
|
http://183.215.134.239:19901/tsfile/live/0122_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||||
#EXTINF:-1 group-title="卫视频道",北京卫视
|
#EXTINF:-1 group-title="卫视频道",北京卫视
|
||||||
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s1/index.m3u8?time=1748552350&sign=ec0de50f02fd798c4c09f2ef85c04407
|
|
||||||
#EXTINF:-1 group-title="卫视频道",北京卫视
|
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=17$LR•IPV4『线路96』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",北京卫视
|
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=24$LR•IPV4『线路97』
|
http://8.138.7.223/tv/dl/careryun.php?id=24$LR•IPV4『线路97』
|
||||||
#EXTINF:-1 group-title="卫视频道",北京卫视
|
#EXTINF:-1 group-title="卫视频道",北京卫视
|
||||||
http://221.226.4.10:9901/tsfile/live/1012_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路115』
|
http://221.226.4.10:9901/tsfile/live/1012_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路115』
|
||||||
#EXTINF:-1 group-title="卫视频道",北京卫视
|
#EXTINF:-1 group-title="卫视频道",北京卫视
|
||||||
http://39.150.96.141:65535/tsfile/live/0122_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路157』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",北京卫视
|
|
||||||
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s1/index.m3u8?time=1748635208&sign=90a059a6548d5c62874032d1195b8d11
|
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s1/index.m3u8?time=1748635208&sign=90a059a6548d5c62874032d1195b8d11
|
||||||
#EXTINF:-1 group-title="卫视频道",北京卫视4K超高清
|
#EXTINF:-1 group-title="卫视频道",北京卫视
|
||||||
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s41/index.m3u8?time=1748552354&sign=beb65d895e9035eb839fd32a9e9b2f07
|
http://1.195.30.9:19901/tsfile/live/0122_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路212』
|
||||||
|
#EXTINF:-1 group-title="卫视频道",北京卫视
|
||||||
|
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s1/index.m3u8?time=1748721610&sign=901bd1c4153485fd2bb3a535e7fdbdac
|
||||||
#EXTINF:-1 group-title="卫视频道",北京卫视4K超高清
|
#EXTINF:-1 group-title="卫视频道",北京卫视4K超高清
|
||||||
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s41/index.m3u8?time=1748635212&sign=28d59cc5863e27092e8164a91297c87c
|
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s41/index.m3u8?time=1748635212&sign=28d59cc5863e27092e8164a91297c87c
|
||||||
|
#EXTINF:-1 group-title="卫视频道",北京卫视4K超高清
|
||||||
|
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s41/index.m3u8?time=1748721613&sign=d45b8056399845419876cd89211db4d6
|
||||||
#EXTINF:-1 group-title="卫视频道",兵团卫视
|
#EXTINF:-1 group-title="卫视频道",兵团卫视
|
||||||
http://liveout.btzx.com.cn/62ds9e/yil08g.m3u8
|
http://liveout.btzx.com.cn/62ds9e/yil08g.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",兵团卫视
|
#EXTINF:-1 group-title="卫视频道",兵团卫视
|
||||||
http://8.138.7.223/tv/btws.m3u8
|
|
||||||
#EXTINF:-1 group-title="卫视频道",兵团卫视
|
|
||||||
http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=c06942&tk=922ba46651d3
|
http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=c06942&tk=922ba46651d3
|
||||||
#EXTINF:-1 group-title="卫视频道",兵团卫视
|
#EXTINF:-1 group-title="卫视频道",兵团卫视
|
||||||
http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6bc0dc&tk=922ba46651d3
|
http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=6bc0dc&tk=922ba46651d3
|
||||||
#EXTINF:-1 group-title="卫视频道",兵团卫视
|
#EXTINF:-1 group-title="卫视频道",兵团卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=47$LR•IPV4『线路17』
|
http://8.138.7.223/tv/dl/careryun.php?id=47$LR•IPV4『线路17』
|
||||||
|
#EXTINF:-1 group-title="卫视频道",藏语卫视
|
||||||
|
http://php.jdshipin.com:8880/xztv.php?id=zy
|
||||||
#EXTINF:-1 group-title="卫视频道",重庆卫视
|
#EXTINF:-1 group-title="卫视频道",重庆卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0142_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路102』
|
http://39.164.180.36:19901/tsfile/live/0142_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路102』
|
||||||
#EXTINF:-1 group-title="卫视频道",重庆卫视
|
#EXTINF:-1 group-title="卫视频道",重庆卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0142_1.m3u8?key=txiptv&playlive=0&authid=0
|
http://39.164.180.36:19901/tsfile/live/0142_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||||
#EXTINF:-1 group-title="卫视频道",重庆卫视
|
#EXTINF:-1 group-title="卫视频道",重庆卫视
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=28$LR•IPV4『线路89』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=28$LR•IPV4『线路89』
|
||||||
#EXTINF:-1 group-title="卫视频道",重庆卫视
|
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=37$LR•IPV4『线路90』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",大湾区卫视
|
#EXTINF:-1 group-title="卫视频道",大湾区卫视
|
||||||
http://ali.hlspull.yximgs.com/live/b027460e580a463cb7e44eebexcvhnddggdfsdg.flv
|
http://ali.hlspull.yximgs.com/live/b027460e580a463cb7e44eebexcvhnddggdfsdg.flv
|
||||||
#EXTINF:-1 group-title="卫视频道",大湾区卫视
|
#EXTINF:-1 group-title="卫视频道",大湾区卫视
|
||||||
http://222.128.55.152:9080/live/dwq.m3u8
|
http://222.128.55.152:9080/live/dwq.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",大湾区卫视
|
|
||||||
https://www.freetv.top/migu/608917627.m3u8?migutoken=913ec7608066b2e139e10a729ed6e0b277096bf7d1577f04dec2f036a15f6db88631747d218643efc7515ff520286e2a56bc4f2231e6d692da49f8d555d3291bbba71e8f2993d5487b41afa6bf$LR•IPV4『线路6』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",大湾区卫视
|
|
||||||
https://www.freetv.top/migu/608917627.m3u8?migutoken=bad0a45eea94649f2e7f1b35e1d98d034b874a02984a76abb21e4537dee28f974e6da241dc7705109722be71c8b1302302b51cd4cb06c69ca55fdcf7279d415e0a0fce7c492b6842956ab34fcc$LR•IPV4『线路15』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",大湾区卫视
|
|
||||||
https://www.freetv.top/migu/608917627.m3u8?migutoken=22c28ab72744cd3ae1500fcedd9aa645eb0c35326cccb8cc6253c912a2fbdadb109d5f005d7dbbb62dbcb2e1f9a30bfa1935a4a046787bb5ac3e9ac1b5b654c16c2f7753fc37d2d51b2916310b$LR•IPV4『线路19』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",大湾区卫视
|
|
||||||
https://www.freetv.top/migu/608917627.m3u8?migutoken=6e23ed23803d2776218fbd5b6931d4dd0d0a20d0269ca0da6b2efaaf101f71c62689ec1d6f73e16a10d1b756f7e23f0de494b881e2bc39c12250715721f84c185577680003f363869dba1b7e90$LR•IPV4『线路20』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",东方卫视
|
#EXTINF:-1 group-title="卫视频道",东方卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0107_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路119』
|
http://39.164.180.36:19901/tsfile/live/0107_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路119』
|
||||||
#EXTINF:-1 group-title="卫视频道",东方卫视
|
#EXTINF:-1 group-title="卫视频道",东方卫视
|
||||||
@@ -300,9 +252,9 @@ http://39.164.180.36:19901/tsfile/live/0107_1.m3u8?key=txiptv&playlive=0&authid=
|
|||||||
#EXTINF:-1 group-title="卫视频道",东方卫视
|
#EXTINF:-1 group-title="卫视频道",东方卫视
|
||||||
http://222.169.85.8:9901/tsfile/live/0018_1.m3u8
|
http://222.169.85.8:9901/tsfile/live/0018_1.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",东方卫视
|
#EXTINF:-1 group-title="卫视频道",东方卫视
|
||||||
http://39.164.160.249:9901/tsfile/live/0107_1.m3u8
|
|
||||||
#EXTINF:-1 group-title="卫视频道",东方卫视
|
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=20$LR•IPV4『线路105』
|
http://8.138.7.223/tv/dl/careryun.php?id=20$LR•IPV4『线路105』
|
||||||
|
#EXTINF:-1 group-title="卫视频道",东方卫视
|
||||||
|
http://8.138.7.223/tv/dl/douyincdn.php?id=20$LR•IPV4『线路104』
|
||||||
#EXTINF:-1 group-title="卫视频道",东南卫视
|
#EXTINF:-1 group-title="卫视频道",东南卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0137_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路98』
|
http://39.164.180.36:19901/tsfile/live/0137_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路98』
|
||||||
#EXTINF:-1 group-title="卫视频道",东南卫视
|
#EXTINF:-1 group-title="卫视频道",东南卫视
|
||||||
@@ -312,28 +264,18 @@ http://live.zohi.tv/video/s10001-fztv-3/index.m3u8
|
|||||||
#EXTINF:-1 group-title="卫视频道",东南卫视
|
#EXTINF:-1 group-title="卫视频道",东南卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0137_1.m3u8?key=txiptv&playlive=0&authid=0
|
http://39.164.180.36:19901/tsfile/live/0137_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||||
#EXTINF:-1 group-title="卫视频道",东南卫视
|
#EXTINF:-1 group-title="卫视频道",东南卫视
|
||||||
http://aa3.kkwk111.top/fj.php?id=5
|
|
||||||
#EXTINF:-1 group-title="卫视频道",东南卫视
|
|
||||||
http://61.138.128.226:19901/tsfile/live/1014_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路83』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",东南卫视
|
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=33$LR•IPV4『线路88』
|
http://8.138.7.223/tv/dl/careryun.php?id=33$LR•IPV4『线路88』
|
||||||
#EXTINF:-1 group-title="卫视频道",东南卫视
|
#EXTINF:-1 group-title="卫视频道",东南卫视
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=22$LR•IPV4『线路87』
|
http://iptv.huuc.edu.cn/hls/dnhd.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",东南卫视
|
|
||||||
http://8.138.7.223/tv/fjtv.php?id=5$LR•IPV4『线路95』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",甘肃卫视
|
#EXTINF:-1 group-title="卫视频道",甘肃卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0141_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路57』
|
http://39.164.180.36:19901/tsfile/live/0141_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路57』
|
||||||
#EXTINF:-1 group-title="卫视频道",甘肃卫视
|
#EXTINF:-1 group-title="卫视频道",甘肃卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0141_1.m3u8?key=txiptv&playlive=0&authid=0
|
http://39.164.180.36:19901/tsfile/live/0141_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||||
#EXTINF:-1 group-title="卫视频道",甘肃卫视
|
#EXTINF:-1 group-title="卫视频道",甘肃卫视
|
||||||
http://39.150.96.141:65535/tsfile/live/0141_1.m3u8?key=txiptv&playlive=1&authid=0
|
|
||||||
#EXTINF:-1 group-title="卫视频道",甘肃卫视
|
|
||||||
http://39.150.96.141:65535/tsfile/live/0141_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路42』
|
http://39.150.96.141:65535/tsfile/live/0141_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路42』
|
||||||
#EXTINF:-1 group-title="卫视频道",甘肃卫视
|
#EXTINF:-1 group-title="卫视频道",甘肃卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=45$LR•IPV4『线路52』
|
http://8.138.7.223/tv/dl/careryun.php?id=45$LR•IPV4『线路52』
|
||||||
#EXTINF:-1 group-title="卫视频道",广东卫视
|
#EXTINF:-1 group-title="卫视频道",广东卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路113』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",广东卫视
|
|
||||||
http://183.215.134.239:19901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路116』
|
http://183.215.134.239:19901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路116』
|
||||||
#EXTINF:-1 group-title="卫视频道",广东卫视
|
#EXTINF:-1 group-title="卫视频道",广东卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=0&authid=0
|
http://39.164.180.36:19901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||||
@@ -343,22 +285,20 @@ http://183.215.134.239:19901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authi
|
|||||||
http://39.164.160.249:9901/tsfile/live/0125_1.m3u8
|
http://39.164.160.249:9901/tsfile/live/0125_1.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",广东卫视
|
#EXTINF:-1 group-title="卫视频道",广东卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=27$LR•IPV4『线路99』
|
http://8.138.7.223/tv/dl/careryun.php?id=27$LR•IPV4『线路99』
|
||||||
#EXTINF:-1 group-title="卫视频道",广西卫视
|
#EXTINF:-1 group-title="卫视频道",广东卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0113_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路79』
|
http://222.169.85.8:9901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路163』
|
||||||
|
#EXTINF:-1 group-title="卫视频道",广东卫视
|
||||||
|
http://1.195.30.9:19901/tsfile/live/0125_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路219』
|
||||||
#EXTINF:-1 group-title="卫视频道",广西卫视
|
#EXTINF:-1 group-title="卫视频道",广西卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0113_1.m3u8?key=txiptv&playlive=0&authid=0
|
http://39.164.180.36:19901/tsfile/live/0113_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||||
#EXTINF:-1 group-title="卫视频道",广西卫视
|
#EXTINF:-1 group-title="卫视频道",广西卫视
|
||||||
http://124.128.73.58:9901/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路35』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",广西卫视
|
|
||||||
http://221.2.148.205:8154/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路32』
|
http://221.2.148.205:8154/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路32』
|
||||||
#EXTINF:-1 group-title="卫视频道",广西卫视
|
#EXTINF:-1 group-title="卫视频道",广西卫视
|
||||||
http://115.149.139.141:10001/tsfile/live/1037_1.m3u8?blog.ntnas.top$LR•IPV4『线路125』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",广西卫视
|
|
||||||
http://live.cztv.cc:85/live/ggpd.m3u8
|
http://live.cztv.cc:85/live/ggpd.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",广西卫视
|
#EXTINF:-1 group-title="卫视频道",广西卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=40$LR•IPV4『线路67』
|
http://8.138.7.223/tv/dl/careryun.php?id=40$LR•IPV4『线路67』
|
||||||
#EXTINF:-1 group-title="卫视频道",贵州卫视
|
#EXTINF:-1 group-title="卫视频道",广西卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0120_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路101』
|
http://1.195.30.9:19901/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路158』
|
||||||
#EXTINF:-1 group-title="卫视频道",贵州卫视
|
#EXTINF:-1 group-title="卫视频道",贵州卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0120_1.m3u8?key=txiptv&playlive=0&authid=0
|
http://39.164.180.36:19901/tsfile/live/0120_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||||
#EXTINF:-1 group-title="卫视频道",贵州卫视
|
#EXTINF:-1 group-title="卫视频道",贵州卫视
|
||||||
@@ -373,6 +313,8 @@ http://120.76.248.139/live/bfgd/4200000473.m3u8
|
|||||||
http://8.138.7.223/tv/dl/careryun.php?id=31$LR•IPV4『线路69』
|
http://8.138.7.223/tv/dl/careryun.php?id=31$LR•IPV4『线路69』
|
||||||
#EXTINF:-1 group-title="卫视频道",海南卫视
|
#EXTINF:-1 group-title="卫视频道",海南卫视
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=24$LR•IPV4『线路68』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=24$LR•IPV4『线路68』
|
||||||
|
#EXTINF:-1 group-title="卫视频道",海南卫视
|
||||||
|
http://103.96.72.37:17777/tv/hainan.php
|
||||||
#EXTINF:-1 group-title="卫视频道",海峡卫视
|
#EXTINF:-1 group-title="卫视频道",海峡卫视
|
||||||
http://8.138.7.223/tv/fjtv1.php?id=hxws
|
http://8.138.7.223/tv/fjtv1.php?id=hxws
|
||||||
#EXTINF:-1 group-title="卫视频道",海峡卫视
|
#EXTINF:-1 group-title="卫视频道",海峡卫视
|
||||||
@@ -393,10 +335,6 @@ http://1.94.31.214/php/hntv.php?id=hnws
|
|||||||
http://156.238.253.62:5555/tvbox/公众号好享生活小助手/河南.php?id=hnws
|
http://156.238.253.62:5555/tvbox/公众号好享生活小助手/河南.php?id=hnws
|
||||||
#EXTINF:-1 group-title="卫视频道",河南卫视
|
#EXTINF:-1 group-title="卫视频道",河南卫视
|
||||||
http://103.96.72.37:17777/tv/henan.php
|
http://103.96.72.37:17777/tv/henan.php
|
||||||
#EXTINF:-1 group-title="卫视频道",河南卫视
|
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=38$LR•IPV4『线路77』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",河南卫视
|
|
||||||
http://39.164.160.249:9901/tsfile/live/0139_1.m3u8
|
|
||||||
#EXTINF:-1 group-title="卫视频道",黑龙江卫视
|
#EXTINF:-1 group-title="卫视频道",黑龙江卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0143_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路103』
|
http://39.164.180.36:19901/tsfile/live/0143_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路103』
|
||||||
#EXTINF:-1 group-title="卫视频道",黑龙江卫视
|
#EXTINF:-1 group-title="卫视频道",黑龙江卫视
|
||||||
@@ -408,8 +346,6 @@ http://8.138.7.223/tv/dl/douyincdn.php?id=29$LR•IPV4『线路90』
|
|||||||
#EXTINF:-1 group-title="卫视频道",黑龙江卫视
|
#EXTINF:-1 group-title="卫视频道",黑龙江卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=32$LR•IPV4『线路91』
|
http://8.138.7.223/tv/dl/careryun.php?id=32$LR•IPV4『线路91』
|
||||||
#EXTINF:-1 group-title="卫视频道",湖北卫视
|
#EXTINF:-1 group-title="卫视频道",湖北卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0132_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路107』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",湖北卫视
|
|
||||||
http://39.150.96.141:65535/tsfile/live/0132_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路190』
|
http://39.150.96.141:65535/tsfile/live/0132_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路190』
|
||||||
#EXTINF:-1 group-title="卫视频道",湖北卫视
|
#EXTINF:-1 group-title="卫视频道",湖北卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0132_1.m3u8?key=txiptv&playlive=0&authid=0
|
http://39.164.180.36:19901/tsfile/live/0132_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||||
@@ -417,6 +353,8 @@ http://39.164.180.36:19901/tsfile/live/0132_1.m3u8?key=txiptv&playlive=0&authid=
|
|||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=25$LR•IPV4『线路93』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=25$LR•IPV4『线路93』
|
||||||
#EXTINF:-1 group-title="卫视频道",湖北卫视
|
#EXTINF:-1 group-title="卫视频道",湖北卫视
|
||||||
http://120.76.248.139/live/bfgd/4200000102.m3u8
|
http://120.76.248.139/live/bfgd/4200000102.m3u8
|
||||||
|
#EXTINF:-1 group-title="卫视频道",湖北卫视
|
||||||
|
http://8.138.7.223/tv/dl/careryun.php?id=28$LR•IPV4『线路94』
|
||||||
#EXTINF:-1 group-title="卫视频道",湖南卫视
|
#EXTINF:-1 group-title="卫视频道",湖南卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0128_2.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路171』
|
http://39.164.180.36:19901/tsfile/live/0128_2.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路171』
|
||||||
#EXTINF:-1 group-title="卫视频道",湖南卫视
|
#EXTINF:-1 group-title="卫视频道",湖南卫视
|
||||||
@@ -436,9 +374,7 @@ http://8.138.7.223/tv/dl/careryun.php?id=41$LR•IPV4『线路79』
|
|||||||
#EXTINF:-1 group-title="卫视频道",江苏卫视
|
#EXTINF:-1 group-title="卫视频道",江苏卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0127_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路115』
|
http://39.164.180.36:19901/tsfile/live/0127_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路115』
|
||||||
#EXTINF:-1 group-title="卫视频道",江苏卫视
|
#EXTINF:-1 group-title="卫视频道",江苏卫视
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=21$LR•IPV4『线路103』
|
http://8.138.7.223/tv/dl/careryun.php?id=23$LR•IPV4『线路104』
|
||||||
#EXTINF:-1 group-title="卫视频道",江苏卫视
|
|
||||||
http://60.223.224.176:8888/newlive/live/hls/21/live.m3u8
|
|
||||||
#EXTINF:-1 group-title="卫视频道",江西卫视
|
#EXTINF:-1 group-title="卫视频道",江西卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0138_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路105』
|
http://39.164.180.36:19901/tsfile/live/0138_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路105』
|
||||||
#EXTINF:-1 group-title="卫视频道",江西卫视
|
#EXTINF:-1 group-title="卫视频道",江西卫视
|
||||||
@@ -447,20 +383,18 @@ http://183.215.134.239:19901/tsfile/live/0138_1.m3u8?key=txiptv&playlive=1&authi
|
|||||||
http://183.215.134.239:19901/tsfile/live/0138_1.m3u8?key=txiptv&playlive=1&authid=0
|
http://183.215.134.239:19901/tsfile/live/0138_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||||
#EXTINF:-1 group-title="卫视频道",江西卫视
|
#EXTINF:-1 group-title="卫视频道",江西卫视
|
||||||
http://183.215.134.239:19901/tsfile/live/0138_1.m3u8
|
http://183.215.134.239:19901/tsfile/live/0138_1.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",江西卫视
|
|
||||||
http://61.138.128.226:19901/tsfile/live/0138_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路86』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",江西卫视
|
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=30$LR•IPV4『线路90』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",莲花卫视
|
#EXTINF:-1 group-title="卫视频道",莲花卫视
|
||||||
http://8.138.7.223/tv/lotustv.m3u8
|
http://8.138.7.223/tv/lotustv.m3u8
|
||||||
|
#EXTINF:-1 group-title="卫视频道",莲花卫视
|
||||||
|
http://live-hls.macaulotustv.com/lotustv/macaulotustv.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",辽宁卫视
|
#EXTINF:-1 group-title="卫视频道",辽宁卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0121_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路105』
|
http://39.164.180.36:19901/tsfile/live/0121_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路105』
|
||||||
#EXTINF:-1 group-title="卫视频道",辽宁卫视
|
#EXTINF:-1 group-title="卫视频道",辽宁卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0121_1.m3u8?key=txiptv&playlive=0&authid=0
|
http://39.164.180.36:19901/tsfile/live/0121_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||||
#EXTINF:-1 group-title="卫视频道",辽宁卫视
|
#EXTINF:-1 group-title="卫视频道",辽宁卫视
|
||||||
http://115.149.139.141:10001/tsfile/live/1028_1.m3u8?blog.ntnas.top$LR•IPV4『线路163』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",辽宁卫视
|
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=36$LR•IPV4『线路84』
|
http://8.138.7.223/tv/dl/careryun.php?id=36$LR•IPV4『线路84』
|
||||||
|
#EXTINF:-1 group-title="卫视频道",辽宁卫视
|
||||||
|
http://61.138.128.226:19901/tsfile/live/0121_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路79』
|
||||||
#EXTINF:-1 group-title="卫视频道",内蒙古蒙语卫视
|
#EXTINF:-1 group-title="卫视频道",内蒙古蒙语卫视
|
||||||
https://livestream-bt.nmtv.cn/nmtv/2315general.m3u8?txSecret=4971666599ef9411629213c9a300bf66&txTime=771EF880
|
https://livestream-bt.nmtv.cn/nmtv/2315general.m3u8?txSecret=4971666599ef9411629213c9a300bf66&txTime=771EF880
|
||||||
#EXTINF:-1 group-title="卫视频道",内蒙古卫视
|
#EXTINF:-1 group-title="卫视频道",内蒙古卫视
|
||||||
@@ -469,6 +403,10 @@ https://livestream-bt.nmtv.cn/nmtv/3208526general.m3u8?txSecret=eb5a3102dd5406c7
|
|||||||
https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8$LR•IPV4『线路27』
|
https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8$LR•IPV4『线路27』
|
||||||
#EXTINF:-1 group-title="卫视频道",内蒙古卫视
|
#EXTINF:-1 group-title="卫视频道",内蒙古卫视
|
||||||
http://8.138.7.223/tv/nmgws.m3u8
|
http://8.138.7.223/tv/nmgws.m3u8
|
||||||
|
#EXTINF:-1 group-title="卫视频道",内蒙古卫视
|
||||||
|
https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8
|
||||||
|
#EXTINF:-1 group-title="卫视频道",内蒙古卫视
|
||||||
|
https://hyf000.eu.org/80947108/NMGWS
|
||||||
#EXTINF:-1 group-title="卫视频道",青海卫视
|
#EXTINF:-1 group-title="卫视频道",青海卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0140_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路58』
|
http://39.164.180.36:19901/tsfile/live/0140_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路58』
|
||||||
#EXTINF:-1 group-title="卫视频道",青海卫视
|
#EXTINF:-1 group-title="卫视频道",青海卫视
|
||||||
@@ -476,23 +414,19 @@ http://39.164.180.36:19901/tsfile/live/0140_1.m3u8?key=txiptv&playlive=0&authid=
|
|||||||
#EXTINF:-1 group-title="卫视频道",青海卫视
|
#EXTINF:-1 group-title="卫视频道",青海卫视
|
||||||
http://120.76.248.139/live/bfgd/4200000111.m3u8
|
http://120.76.248.139/live/bfgd/4200000111.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",青海卫视
|
#EXTINF:-1 group-title="卫视频道",青海卫视
|
||||||
http://39.150.96.141:65535/tsfile/live/0140_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路47』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",青海卫视
|
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=44$LR•IPV4『线路55』
|
http://8.138.7.223/tv/dl/careryun.php?id=44$LR•IPV4『线路55』
|
||||||
|
#EXTINF:-1 group-title="卫视频道",青海卫视
|
||||||
|
http://1.195.30.9:19901/tsfile/live/0140_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路163』
|
||||||
#EXTINF:-1 group-title="卫视频道",山东卫视
|
#EXTINF:-1 group-title="卫视频道",山东卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路152』
|
http://39.164.180.36:19901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路152』
|
||||||
#EXTINF:-1 group-title="卫视频道",山东卫视
|
#EXTINF:-1 group-title="卫视频道",山东卫视
|
||||||
http://39.164.160.249:9901/tsfile/live/0131_1.m3u8
|
|
||||||
#EXTINF:-1 group-title="卫视频道",山东卫视
|
|
||||||
http://39.164.180.36:19901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=0&authid=0
|
http://39.164.180.36:19901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||||
#EXTINF:-1 group-title="卫视频道",山东卫视
|
#EXTINF:-1 group-title="卫视频道",山东卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0131_1.m3u8
|
http://39.164.180.36:19901/tsfile/live/0131_1.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",山东卫视
|
#EXTINF:-1 group-title="卫视频道",山东卫视
|
||||||
http://39.150.96.141:65535/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路86』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",山东卫视
|
|
||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=26$LR•IPV4『线路94』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",山东卫视
|
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=29$LR•IPV4『线路95』
|
http://8.138.7.223/tv/dl/careryun.php?id=29$LR•IPV4『线路95』
|
||||||
|
#EXTINF:-1 group-title="卫视频道",山东卫视
|
||||||
|
http://1.195.30.9:19901/tsfile/live/0131_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路186』
|
||||||
#EXTINF:-1 group-title="卫视频道",山西卫视
|
#EXTINF:-1 group-title="卫视频道",山西卫视
|
||||||
http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel7/playlist.m3u8
|
http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel7/playlist.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",山西卫视
|
#EXTINF:-1 group-title="卫视频道",山西卫视
|
||||||
@@ -507,6 +441,8 @@ http://39.164.180.36:19901/tsfile/live/0136_1.m3u8?key=txiptv&amp;playlive=0
|
|||||||
http://39.164.180.36:19901/tsfile/live/0136_1.m3u8?key=txiptv&playlive=0&authid=0
|
http://39.164.180.36:19901/tsfile/live/0136_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||||
#EXTINF:-1 group-title="卫视频道",陕西卫视
|
#EXTINF:-1 group-title="卫视频道",陕西卫视
|
||||||
http://hlsbkmgsplive.miguvideo.com/migu/kailu/shan3xiws/57/20220809/index.m3u8?msisdn=&mtv_session=&HlsSubType=1&HlsProfileId=1&nphaid=0&encrypt=
|
http://hlsbkmgsplive.miguvideo.com/migu/kailu/shan3xiws/57/20220809/index.m3u8?msisdn=&mtv_session=&HlsSubType=1&HlsProfileId=1&nphaid=0&encrypt=
|
||||||
|
#EXTINF:-1 group-title="卫视频道",陕西卫视
|
||||||
|
http://61.138.128.226:19901/tsfile/live/0136_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||||
#EXTINF:-1 group-title="卫视频道",深圳卫视
|
#EXTINF:-1 group-title="卫视频道",深圳卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0125_2.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路82』
|
http://39.164.180.36:19901/tsfile/live/0125_2.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路82』
|
||||||
#EXTINF:-1 group-title="卫视频道",深圳卫视
|
#EXTINF:-1 group-title="卫视频道",深圳卫视
|
||||||
@@ -521,6 +457,8 @@ http://39.150.96.141:65535/tsfile/live/0126_1.m3u8?key=txiptv&playlive=1&authid=
|
|||||||
http://8.138.7.223/tv/dl/douyincdn.php?id=23$LR•IPV4『线路72』
|
http://8.138.7.223/tv/dl/douyincdn.php?id=23$LR•IPV4『线路72』
|
||||||
#EXTINF:-1 group-title="卫视频道",深圳卫视
|
#EXTINF:-1 group-title="卫视频道",深圳卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=25$LR•IPV4『线路73』
|
http://8.138.7.223/tv/dl/careryun.php?id=25$LR•IPV4『线路73』
|
||||||
|
#EXTINF:-1 group-title="卫视频道",深圳卫视
|
||||||
|
http://221.226.4.10:9901/tsfile/live/1023_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路86』
|
||||||
#EXTINF:-1 group-title="卫视频道",四川卫视
|
#EXTINF:-1 group-title="卫视频道",四川卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0123_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路90』
|
http://39.164.180.36:19901/tsfile/live/0123_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路90』
|
||||||
#EXTINF:-1 group-title="卫视频道",四川卫视
|
#EXTINF:-1 group-title="卫视频道",四川卫视
|
||||||
@@ -533,12 +471,14 @@ http://39.150.96.141:65535/tsfile/live/0123_1.m3u8?key=txiptv&playlive=1&authid=
|
|||||||
http://61.138.128.226:19901/tsfile/live/0123_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路72』
|
http://61.138.128.226:19901/tsfile/live/0123_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路72』
|
||||||
#EXTINF:-1 group-title="卫视频道",四川卫视
|
#EXTINF:-1 group-title="卫视频道",四川卫视
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=35$LR•IPV4『线路78』
|
http://8.138.7.223/tv/dl/careryun.php?id=35$LR•IPV4『线路78』
|
||||||
|
#EXTINF:-1 group-title="卫视频道",四川卫视
|
||||||
|
http://8.138.7.223/tv/dl/douyincdn.php?id=27$LR•IPV4『线路77』
|
||||||
#EXTINF:-1 group-title="卫视频道",天津卫视
|
#EXTINF:-1 group-title="卫视频道",天津卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0135_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路102』
|
http://39.164.180.36:19901/tsfile/live/0135_1.m3u8?key=txiptv&playlive=0&authid=0$LR•IPV4『线路102』
|
||||||
#EXTINF:-1 group-title="卫视频道",天津卫视
|
#EXTINF:-1 group-title="卫视频道",天津卫视
|
||||||
http://39.164.180.36:19901/tsfile/live/0135_1.m3u8?key=txiptv&playlive=0&authid=0
|
http://39.164.180.36:19901/tsfile/live/0135_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||||
#EXTINF:-1 group-title="卫视频道",天津卫视
|
#EXTINF:-1 group-title="卫视频道",天津卫视
|
||||||
http://115.149.139.141:10001/tsfile/live/1036_1.m3u8?blog.ntnas.top$LR•IPV4『线路160』
|
http://8.138.7.223/tv/dl/careryun.php?id=43$LR•IPV4『线路93』
|
||||||
#EXTINF:-1 group-title="卫视频道",西藏卫视
|
#EXTINF:-1 group-title="卫视频道",西藏卫视
|
||||||
http://www.lysvc.cc/daili/xztv.php?id=1
|
http://www.lysvc.cc/daili/xztv.php?id=1
|
||||||
#EXTINF:-1 group-title="卫视频道",西藏卫视
|
#EXTINF:-1 group-title="卫视频道",西藏卫视
|
||||||
@@ -547,10 +487,14 @@ http://www.lysvc.cc/daili/xztv.php
|
|||||||
http://103.96.72.37:17777/tv/xizang.php
|
http://103.96.72.37:17777/tv/xizang.php
|
||||||
#EXTINF:-1 group-title="卫视频道",西藏卫视
|
#EXTINF:-1 group-title="卫视频道",西藏卫视
|
||||||
http://www.lysvc.cc/daili/xztv.php?id=0
|
http://www.lysvc.cc/daili/xztv.php?id=0
|
||||||
|
#EXTINF:-1 group-title="卫视频道",西藏卫视
|
||||||
|
http://php.jdshipin.com:8880/xztv.php?id=ws
|
||||||
#EXTINF:-1 group-title="卫视频道",新疆卫视
|
#EXTINF:-1 group-title="卫视频道",新疆卫视
|
||||||
http://218.84.12.186:8001/hls/main/playlist.m3u8?zxinjd;http://218.84.12.186:8001/hls/main/playlist.m3u8zxinjd
|
http://218.84.12.186:8001/hls/main/playlist.m3u8?zxinjd;http://218.84.12.186:8001/hls/main/playlist.m3u8zxinjd
|
||||||
#EXTINF:-1 group-title="卫视频道",新疆卫视
|
#EXTINF:-1 group-title="卫视频道",新疆卫视
|
||||||
http://218.84.12.186:8001/hls/main/playlist.m3u8
|
http://218.84.12.186:8001/hls/main/playlist.m3u8
|
||||||
|
#EXTINF:-1 group-title="卫视频道",新疆卫视
|
||||||
|
http://8.138.7.223/tv/dl/careryun.php?id=46$LR•IPV4『线路45』
|
||||||
#EXTINF:-1 group-title="卫视频道",延边卫视
|
#EXTINF:-1 group-title="卫视频道",延边卫视
|
||||||
http://l.cztvcloud.com/channels/lantian/SXxinchang2/720p.m3u8
|
http://l.cztvcloud.com/channels/lantian/SXxinchang2/720p.m3u8
|
||||||
#EXTINF:-1 group-title="卫视频道",云南卫视
|
#EXTINF:-1 group-title="卫视频道",云南卫视
|
||||||
@@ -588,11 +532,9 @@ https://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8
|
|||||||
#EXTINF:-1 group-title="卫视频道",浙江卫视
|
#EXTINF:-1 group-title="卫视频道",浙江卫视
|
||||||
http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=56747a&tk=922ba46651d3
|
http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=56747a&tk=922ba46651d3
|
||||||
#EXTINF:-1 group-title="卫视频道",浙江卫视
|
#EXTINF:-1 group-title="卫视频道",浙江卫视
|
||||||
http://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8$LR•IPV4『线路105』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",浙江卫视
|
|
||||||
http://8.138.7.223/tv/dl/careryun.php?id=22$LR•IPV4『线路100』
|
|
||||||
#EXTINF:-1 group-title="卫视频道",浙江卫视
|
|
||||||
http://221.226.4.10:9901/tsfile/live/1018_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路118』
|
http://221.226.4.10:9901/tsfile/live/1018_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路118』
|
||||||
|
#EXTINF:-1 group-title="卫视频道",浙江卫视
|
||||||
|
http://8.138.7.223/tv/dl/douyincdn.php?id=19$LR•IPV4『线路99』
|
||||||
#EXTINF:-1 group-title="新闻频道",安顺新闻
|
#EXTINF:-1 group-title="新闻频道",安顺新闻
|
||||||
https://ls.qingting.fm/live/5022203/64k.m3u8
|
https://ls.qingting.fm/live/5022203/64k.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",安顺新闻
|
#EXTINF:-1 group-title="新闻频道",安顺新闻
|
||||||
@@ -623,8 +565,12 @@ http://live.cztv.cc:85/live/xwpd.m3u8
|
|||||||
http://dafeng-tv-hls.cm.jstv.com/dafeng-tv/dafengyt.m3u8
|
http://dafeng-tv-hls.cm.jstv.com/dafeng-tv/dafengyt.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",郸城新闻综合
|
#EXTINF:-1 group-title="新闻频道",郸城新闻综合
|
||||||
http://tvpull.dxhmt.cn:9081/tv/11625-1.m3u8?wsSecret=df15530a0abec41b14bca00fc96270d1&wsTime=1654956569
|
http://tvpull.dxhmt.cn:9081/tv/11625-1.m3u8?wsSecret=df15530a0abec41b14bca00fc96270d1&wsTime=1654956569
|
||||||
|
#EXTINF:-1 group-title="新闻频道",郸城新闻综合
|
||||||
|
http://live.dxhmt.cn:9081/tv/11625-1.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",邓州新闻
|
#EXTINF:-1 group-title="新闻频道",邓州新闻
|
||||||
http://tvpull.dxhmt.cn:9081/tv/11381-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
http://tvpull.dxhmt.cn:9081/tv/11381-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
||||||
|
#EXTINF:-1 group-title="新闻频道",邓州新闻
|
||||||
|
http://live.dxhmt.cn:9081/tv/11381-1.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",鄂尔多斯新闻综合
|
#EXTINF:-1 group-title="新闻频道",鄂尔多斯新闻综合
|
||||||
https://livestream-bt.nmtv.cn/nmtv/2349general.m3u8?txSecret=e44477052aba305cadeea45aaf1c674a&txTime=771E8800
|
https://livestream-bt.nmtv.cn/nmtv/2349general.m3u8?txSecret=e44477052aba305cadeea45aaf1c674a&txTime=771E8800
|
||||||
#EXTINF:-1 group-title="新闻频道",福州新闻
|
#EXTINF:-1 group-title="新闻频道",福州新闻
|
||||||
@@ -635,6 +581,8 @@ https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8
|
|||||||
http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8
|
http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",巩义新闻综合
|
#EXTINF:-1 group-title="新闻频道",巩义新闻综合
|
||||||
http://tvpull.dxhmt.cn:9081/tv/10181-1.m3u8?zhend
|
http://tvpull.dxhmt.cn:9081/tv/10181-1.m3u8?zhend
|
||||||
|
#EXTINF:-1 group-title="新闻频道",巩义新闻综合
|
||||||
|
http://live.dxhmt.cn:9081/tv/10181-1.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",固镇新闻
|
#EXTINF:-1 group-title="新闻频道",固镇新闻
|
||||||
http://www.guzhenm.com:7001/hls/hd-live.m3u8
|
http://www.guzhenm.com:7001/hls/hd-live.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",固镇新闻
|
#EXTINF:-1 group-title="新闻频道",固镇新闻
|
||||||
@@ -649,8 +597,6 @@ http://live.schstv.com:90/live/xwzh.m3u8
|
|||||||
https://livestream-bt.nmtv.cn/nmtv/2331general.m3u8?txSecret=4d7342ca5cd74480526ab6d292247aff&txTime=771E8800
|
https://livestream-bt.nmtv.cn/nmtv/2331general.m3u8?txSecret=4d7342ca5cd74480526ab6d292247aff&txTime=771E8800
|
||||||
#EXTINF:-1 group-title="新闻频道",滑县新闻
|
#EXTINF:-1 group-title="新闻频道",滑县新闻
|
||||||
http://tvpull.dxhmt.cn:9081/tv/10526-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
http://tvpull.dxhmt.cn:9081/tv/10526-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
||||||
#EXTINF:-1 group-title="新闻频道",滑县新闻
|
|
||||||
http://live.dxhmt.cn:9081/tv/10526-1.m3u8
|
|
||||||
#EXTINF:-1 group-title="新闻频道",吉县新闻综合
|
#EXTINF:-1 group-title="新闻频道",吉县新闻综合
|
||||||
http://jxlive.jxrmtzx.com:8091/live/xwzh.m3u8?zshanxd
|
http://jxlive.jxrmtzx.com:8091/live/xwzh.m3u8?zshanxd
|
||||||
#EXTINF:-1 group-title="新闻频道",吉县新闻综合
|
#EXTINF:-1 group-title="新闻频道",吉县新闻综合
|
||||||
@@ -715,26 +661,30 @@ http://lxfile.lxxcb.cn:80/nmip-media/channellive/channel103799/playlist.m3u8
|
|||||||
http://tvpull.dxhmt.cn:9081/tv/11726-1.m3u8
|
http://tvpull.dxhmt.cn:9081/tv/11726-1.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",泌阳新闻综合
|
#EXTINF:-1 group-title="新闻频道",泌阳新闻综合
|
||||||
http://tvpull.dxhmt.cn:9081/tv/11726-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
http://tvpull.dxhmt.cn:9081/tv/11726-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
||||||
|
#EXTINF:-1 group-title="新闻频道",泌阳新闻综合
|
||||||
|
http://live.dxhmt.cn:9081/tv/11726-1.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",渑池新闻综合
|
#EXTINF:-1 group-title="新闻频道",渑池新闻综合
|
||||||
http://tvpull.dxhmt.cn:9081/tv/11221-1.m3u8
|
http://tvpull.dxhmt.cn:9081/tv/11221-1.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",渑池新闻综合
|
#EXTINF:-1 group-title="新闻频道",渑池新闻综合
|
||||||
http://tvpull.dxhmt.cn:9081/tv/11221-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
http://tvpull.dxhmt.cn:9081/tv/11221-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
||||||
|
#EXTINF:-1 group-title="新闻频道",渑池新闻综合
|
||||||
|
http://live.dxhmt.cn:9081/tv/11221-1.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",南通新闻综合
|
#EXTINF:-1 group-title="新闻频道",南通新闻综合
|
||||||
http://cm-live.ntjoy.com/live/4f1.m3u8
|
http://cm-live.ntjoy.com/live/4f1.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",内蒙新闻
|
#EXTINF:-1 group-title="新闻频道",内蒙新闻
|
||||||
https://livestream-bt.nmtv.cn/nmtv/2316general.m3u8?txSecret=b4373417a82ed64e52b0982a66da8df2&txTime=771E8800
|
https://livestream-bt.nmtv.cn/nmtv/2316general.m3u8?txSecret=b4373417a82ed64e52b0982a66da8df2&txTime=771E8800
|
||||||
|
#EXTINF:-1 group-title="新闻频道",攀枝花新闻综合
|
||||||
|
http://live.pzhkai.com/xwzhtl/sd/live.m3u8
|
||||||
|
#EXTINF:-1 group-title="新闻频道",平遥新闻综合
|
||||||
|
https://tntgjhjb.live.sxmty.com/live/hls/3a4585ac11ec4e1bb07b419101b370c3/baf63e2b313440c2a25d7859f9b73b05-1.m3u8?zshanxd
|
||||||
#EXTINF:-1 group-title="新闻频道",沁阳新闻综合
|
#EXTINF:-1 group-title="新闻频道",沁阳新闻综合
|
||||||
http://tvpull.dxhmt.cn:9081/tv/10882-1.m3u8
|
http://tvpull.dxhmt.cn:9081/tv/10882-1.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",沁阳新闻综合
|
#EXTINF:-1 group-title="新闻频道",沁阳新闻综合
|
||||||
http://live.dxhmt.cn:9081/tv/10882-1.m3u8
|
http://live.dxhmt.cn:9081/tv/10882-1.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",清河新闻综合
|
|
||||||
https://jwcdnqx.hebyun.com.cn/live/qinghe/1500k/tzwj_video.m3u8
|
|
||||||
#EXTINF:-1 group-title="新闻频道",清镇新闻综合
|
#EXTINF:-1 group-title="新闻频道",清镇新闻综合
|
||||||
http://pili-live-rtmp.143.i2863.com/i2863-143/live_143_397273.m3u8?zguizd
|
http://pili-live-rtmp.143.i2863.com/i2863-143/live_143_397273.m3u8?zguizd
|
||||||
#EXTINF:-1 group-title="新闻频道",衢江新闻综合
|
#EXTINF:-1 group-title="新闻频道",衢江新闻综合
|
||||||
http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8?zzhed
|
http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8?zzhed
|
||||||
#EXTINF:-1 group-title="新闻频道",衢江新闻综合
|
|
||||||
http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8?zzhed;http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8zzhed;http://l.cztvcloud.com/channels/lantian/SXqujiang1/720p.m3u8
|
|
||||||
#EXTINF:-1 group-title="新闻频道",三明新闻综合
|
#EXTINF:-1 group-title="新闻频道",三明新闻综合
|
||||||
https://ls.qingting.fm/live/5022100/64k.m3u8
|
https://ls.qingting.fm/live/5022100/64k.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",上虞新闻综合
|
#EXTINF:-1 group-title="新闻频道",上虞新闻综合
|
||||||
@@ -769,6 +719,8 @@ http://channel.wcrmt.cn:80/nmip-media/channellive/channel105268/playlist.m3u8
|
|||||||
http://live.spccmc.com:90/live/spxwzh.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
http://live.spccmc.com:90/live/spxwzh.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
||||||
#EXTINF:-1 group-title="新闻频道",文山州新闻综合
|
#EXTINF:-1 group-title="新闻频道",文山州新闻综合
|
||||||
http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel7/playlist.m3u8?zyund
|
http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel7/playlist.m3u8?zyund
|
||||||
|
#EXTINF:-1 group-title="新闻频道",文山州新闻综合
|
||||||
|
http://tvdrs.wsrtv.com.cn:8100/channellive/ch1.flv?zyund
|
||||||
#EXTINF:-1 group-title="新闻频道",乌兰察布新闻综合
|
#EXTINF:-1 group-title="新闻频道",乌兰察布新闻综合
|
||||||
https://livestream-bt.nmtv.cn/nmtv/2354general.m3u8?txSecret=cf5f71d0000862b18f5813607b3dfd5b&txTime=771E8800
|
https://livestream-bt.nmtv.cn/nmtv/2354general.m3u8?txSecret=cf5f71d0000862b18f5813607b3dfd5b&txTime=771E8800
|
||||||
#EXTINF:-1 group-title="新闻频道",武汉一台新闻综合
|
#EXTINF:-1 group-title="新闻频道",武汉一台新闻综合
|
||||||
@@ -783,6 +735,8 @@ https://liveout.xntv.tv/a65jur/90p2i1.m3u8?zqinghd
|
|||||||
https://liveout.xntv.tv/a65jur/90p2i1.m3u8
|
https://liveout.xntv.tv/a65jur/90p2i1.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",西宁新闻综合
|
#EXTINF:-1 group-title="新闻频道",西宁新闻综合
|
||||||
https://liveout.xntv.tv/a65jur/96iln2.m3u8?zqinghd
|
https://liveout.xntv.tv/a65jur/96iln2.m3u8?zqinghd
|
||||||
|
#EXTINF:-1 group-title="新闻频道",西宁新闻综合
|
||||||
|
rtmp://liveout.xntv.tv/a65jur/96iln2
|
||||||
#EXTINF:-1 group-title="新闻频道",项城新闻
|
#EXTINF:-1 group-title="新闻频道",项城新闻
|
||||||
http://tvpull.dxhmt.cn:9081/tv/11681-1.m3u8
|
http://tvpull.dxhmt.cn:9081/tv/11681-1.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",项城新闻
|
#EXTINF:-1 group-title="新闻频道",项城新闻
|
||||||
@@ -803,6 +757,8 @@ https://m3u8-channel.lytv.tv/nmip-media/channellive/channel111841/playlist.m3u8
|
|||||||
http://p2.vzan.com/slowlive/596867413819827251/live.m3u8
|
http://p2.vzan.com/slowlive/596867413819827251/live.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",雅安新闻综合
|
#EXTINF:-1 group-title="新闻频道",雅安新闻综合
|
||||||
https://play.yunxya.com/channellive/xinwen.m3u8
|
https://play.yunxya.com/channellive/xinwen.m3u8
|
||||||
|
#EXTINF:-1 group-title="新闻频道",亚洲新闻
|
||||||
|
https://d2e1asnsl7br7b.cloudfront.net/7782e205e72f43aeb4a48ec97f66ebbe/index_5.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",偃师新闻
|
#EXTINF:-1 group-title="新闻频道",偃师新闻
|
||||||
http://tvpull.dxhmt.cn:9081/tv/10381-1.m3u8?wsSecret=df15530a0abec41b14bca00fc96270d1&wsTime=1654956569
|
http://tvpull.dxhmt.cn:9081/tv/10381-1.m3u8?wsSecret=df15530a0abec41b14bca00fc96270d1&wsTime=1654956569
|
||||||
#EXTINF:-1 group-title="新闻频道",义马新闻综合
|
#EXTINF:-1 group-title="新闻频道",义马新闻综合
|
||||||
@@ -821,6 +777,8 @@ http://l.cztvcloud.com/channels/lantian/SXyongjia1/720p.m3u8?zzhed,
|
|||||||
http://l.cztvcloud.com/channels/lantian/SXyuhang1/720p.m3u8?zzhed?
|
http://l.cztvcloud.com/channels/lantian/SXyuhang1/720p.m3u8?zzhed?
|
||||||
#EXTINF:-1 group-title="新闻频道",余姚新闻综合
|
#EXTINF:-1 group-title="新闻频道",余姚新闻综合
|
||||||
http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?zzhed
|
http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?zzhed
|
||||||
|
#EXTINF:-1 group-title="新闻频道",镇江新闻综合
|
||||||
|
http://zjtv-wshls.homecdn.com/live/2aa50.m3u8?wsSession=a263bdc5a26cd01b57a80359-170493712215358&wsIPSercert=f56bd6194d219a5172dbed60eca6e9b0
|
||||||
#EXTINF:-1 group-title="新闻频道",中国蓝新闻
|
#EXTINF:-1 group-title="新闻频道",中国蓝新闻
|
||||||
http://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8
|
http://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8
|
||||||
#EXTINF:-1 group-title="新闻频道",中国蓝新闻
|
#EXTINF:-1 group-title="新闻频道",中国蓝新闻
|
||||||
@@ -869,6 +827,8 @@ http://live-hls-web-aje.getaj.net/AJE/01.m3u8
|
|||||||
http://tvpull.dxhmt.cn:9081/tv/10421-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
http://tvpull.dxhmt.cn:9081/tv/10421-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
||||||
#EXTINF:-1 group-title="未分组",璧山综合
|
#EXTINF:-1 group-title="未分组",璧山综合
|
||||||
http://222.179.42.129:8181/hls1.m3u8
|
http://222.179.42.129:8181/hls1.m3u8
|
||||||
|
#EXTINF:-1 group-title="未分组",冰冰影剧
|
||||||
|
http://home.kuaidi521.com:35455/douyu/74374
|
||||||
#EXTINF:-1 group-title="未分组",冰冰影厅
|
#EXTINF:-1 group-title="未分组",冰冰影厅
|
||||||
http://huanqiuzhibo.cn/manifest/douyu.php?id=74374
|
http://huanqiuzhibo.cn/manifest/douyu.php?id=74374
|
||||||
#EXTINF:-1 group-title="未分组",兵团八师石河子教育
|
#EXTINF:-1 group-title="未分组",兵团八师石河子教育
|
||||||
@@ -891,6 +851,8 @@ http://live.cztv.cc:85/live/ggpd.m3u8?zanhd#http://live.cztv.cc:85/live/ggpd.m3u
|
|||||||
http://live.cztv.cc:85/live/ggpd.m3u8?zanhd
|
http://live.cztv.cc:85/live/ggpd.m3u8?zanhd
|
||||||
#EXTINF:-1 group-title="未分组",滁州科教
|
#EXTINF:-1 group-title="未分组",滁州科教
|
||||||
http://live.cztv.cc:85/live/sjpd.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
http://live.cztv.cc:85/live/sjpd.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
||||||
|
#EXTINF:-1 group-title="未分组",滁州科教
|
||||||
|
http://live.cztv.cc:85/live/sjpd.m3u8?zanhd
|
||||||
#EXTINF:-1 group-title="未分组",戳心民谣《草原情哥哥》《一壶老酒》动人旋律听醉人
|
#EXTINF:-1 group-title="未分组",戳心民谣《草原情哥哥》《一壶老酒》动人旋律听醉人
|
||||||
https://vd4.bdstatic.com/mda-ndd3dfth86fye3tv/1080p/cae_h264_delogo/1649903743828562113/mda-ndd3dfth86fye3tv.mp4
|
https://vd4.bdstatic.com/mda-ndd3dfth86fye3tv/1080p/cae_h264_delogo/1649903743828562113/mda-ndd3dfth86fye3tv.mp4
|
||||||
#EXTINF:-1 group-title="未分组",大丰公共
|
#EXTINF:-1 group-title="未分组",大丰公共
|
||||||
@@ -919,8 +881,6 @@ https://m3u8-channel.lytv.tv/nmip-media/channellive/channel113571/playlist.m3u8
|
|||||||
https://pili-live-hls.wdit.com.cn/wditlive/8818dfe5f4df45ba9a3f32964d172fb2b6d3.m3u8
|
https://pili-live-hls.wdit.com.cn/wditlive/8818dfe5f4df45ba9a3f32964d172fb2b6d3.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",斗鱼电2y
|
#EXTINF:-1 group-title="未分组",斗鱼电2y
|
||||||
http://tc-tct.douyucdn2.cn/dyliveflv1/122402rK7MO9bXSq_2000.flv?wsAuth=8cea39337984fd3341cc9ec569502e4f&token=cpn-androidmpro-0-122402-0fcea45d2300cfa0ac75fafd8679bb53af10de8c33ae99d9&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=p
|
http://tc-tct.douyucdn2.cn/dyliveflv1/122402rK7MO9bXSq_2000.flv?wsAuth=8cea39337984fd3341cc9ec569502e4f&token=cpn-androidmpro-0-122402-0fcea45d2300cfa0ac75fafd8679bb53af10de8c33ae99d9&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=p
|
||||||
#EXTINF:-1 group-title="未分组",斗鱼电视剧22
|
|
||||||
http://zzy789.xyz/douyu1.php?id=10297898
|
|
||||||
#EXTINF:-1 group-title="未分组",斗鱼电影1y
|
#EXTINF:-1 group-title="未分组",斗鱼电影1y
|
||||||
http://tc-tct.douyucdn2.cn/dyliveflv1a/20415rnWbjg6Ex1K_2000.flv?wsAuth=2ccc7b4ba29208aaba62dae54cbbd68c&token=cpn-androidmpro-0-20415-b6774b3b3249db17fff84d73c7585c95e780dbccdb08e4bc&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=p
|
http://tc-tct.douyucdn2.cn/dyliveflv1a/20415rnWbjg6Ex1K_2000.flv?wsAuth=2ccc7b4ba29208aaba62dae54cbbd68c&token=cpn-androidmpro-0-20415-b6774b3b3249db17fff84d73c7585c95e780dbccdb08e4bc&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=p
|
||||||
#EXTINF:-1 group-title="未分组",斗鱼电影3y
|
#EXTINF:-1 group-title="未分组",斗鱼电影3y
|
||||||
@@ -983,6 +943,10 @@ http://tvpull.dxhmt.cn:9081/tv/11522-1.m3u8
|
|||||||
http://tvpull.dxhmt.cn:9081/tv/11522-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
http://tvpull.dxhmt.cn:9081/tv/11522-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
||||||
#EXTINF:-1 group-title="未分组",广安公共
|
#EXTINF:-1 group-title="未分组",广安公共
|
||||||
http://live1.gatv.com.cn:85/live/GGPD.m3u8
|
http://live1.gatv.com.cn:85/live/GGPD.m3u8
|
||||||
|
#EXTINF:-1 group-title="未分组",广西国际
|
||||||
|
https://hlscdn.liangtv.cn/live/0234c48e0bc24fe1b41b9999a253e581/1075ee38e04f490690f6a36a16e09c79.m3u8
|
||||||
|
#EXTINF:-1 group-title="未分组",广西国际
|
||||||
|
http://hlscdn.liangtv.cn/live/0234c48e0bc24fe1b41b9999a253e581/1075ee38e04f490690f6a36a16e09c79.m3u8?fbl=
|
||||||
#EXTINF:-1 group-title="未分组",广西玉林大容山莲花山顶
|
#EXTINF:-1 group-title="未分组",广西玉林大容山莲花山顶
|
||||||
https://gcalic.v.myalicdn.com/gc/drs01_1/index.m3u8
|
https://gcalic.v.myalicdn.com/gc/drs01_1/index.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",国学频道
|
#EXTINF:-1 group-title="未分组",国学频道
|
||||||
@@ -1013,8 +977,8 @@ rtmp://rtmp.tv.stream3.hndt.com/tv/647f9277018410008cf925e200000000?wsSecret=9a2
|
|||||||
rtmp://rtmp.tv.stream3.hndt.com/tv/647f9277018410008cf925e200000000?wsSecret=9a23316ee66e918684e097f?wsSecret=8646f39caf510963ad02016d6056bb12&wsTime=1748537750
|
rtmp://rtmp.tv.stream3.hndt.com/tv/647f9277018410008cf925e200000000?wsSecret=9a23316ee66e918684e097f?wsSecret=8646f39caf510963ad02016d6056bb12&wsTime=1748537750
|
||||||
#EXTINF:-1 group-title="未分组",国学频道
|
#EXTINF:-1 group-title="未分组",国学频道
|
||||||
rtmp://rtmp.tv.stream3.hndt.com/tv/647f9277018410008cf925e200000000?wsSecret=9a23316ee66e918684e097f?wsSecret=865ba6414138adc233eaeaa251bd5685&wsTime=1748624453
|
rtmp://rtmp.tv.stream3.hndt.com/tv/647f9277018410008cf925e200000000?wsSecret=9a23316ee66e918684e097f?wsSecret=865ba6414138adc233eaeaa251bd5685&wsTime=1748624453
|
||||||
#EXTINF:-1 group-title="未分组",哈密三套
|
#EXTINF:-1 group-title="未分组",国学频道
|
||||||
https://tvpull.hmgbtv.com/hmtv/channelfb0e5c505477aa44/playlist.m3u8
|
rtmp://rtmp.tv.stream3.hndt.com/tv/647f9277018410008cf925e200000000?wsSecret=9a23316ee66e918684e097f?wsSecret=48a55d37acd4a2dd7edd07b74737c4d5&wsTime=1748710546
|
||||||
#EXTINF:-1 group-title="未分组",哈密一套
|
#EXTINF:-1 group-title="未分组",哈密一套
|
||||||
https://tvpull.hmgbtv.com/hmtv/channel9cd66b3d5d258b2b.flv
|
https://tvpull.hmgbtv.com/hmtv/channel9cd66b3d5d258b2b.flv
|
||||||
#EXTINF:-1 group-title="未分组",海鸥飞-龙梅子
|
#EXTINF:-1 group-title="未分组",海鸥飞-龙梅子
|
||||||
@@ -1035,12 +999,16 @@ http://hls.cntv.myhwcdn.cn/asp/hls/4000/0303000a/3/default/8edf3fb6a69148ea9a7dc
|
|||||||
https://us-xpc5.xpccdn.com/71161a1c-4a92-4139-b1ed-f88c60ca1fcb.mp4
|
https://us-xpc5.xpccdn.com/71161a1c-4a92-4139-b1ed-f88c60ca1fcb.mp4
|
||||||
#EXTINF:-1 group-title="未分组",贺州综合
|
#EXTINF:-1 group-title="未分组",贺州综合
|
||||||
http://zhz.gxhzxw.com:2935/live/HZXW-HD/playlist.m3u8
|
http://zhz.gxhzxw.com:2935/live/HZXW-HD/playlist.m3u8
|
||||||
|
#EXTINF:-1 group-title="未分组",贺州综合
|
||||||
|
http://zhz.gxhzxw.com:2935/live/HZXW-HD/chunklist.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",恒山悬空寺全景
|
#EXTINF:-1 group-title="未分组",恒山悬空寺全景
|
||||||
https://gcalic.v.myalicdn.com/gc/hsxksqj_1/index.m3u8
|
https://gcalic.v.myalicdn.com/gc/hsxksqj_1/index.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",淮滨综合
|
#EXTINF:-1 group-title="未分组",淮滨综合
|
||||||
http://tvpull.dxhmt.cn:9081/tv/11527-1.m3u8
|
http://tvpull.dxhmt.cn:9081/tv/11527-1.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",黄果树六角亭瀑布
|
#EXTINF:-1 group-title="未分组",黄果树六角亭瀑布
|
||||||
https://gcalic.v.myalicdn.com/gc/hgsspzxdpb_1/index.m3u8
|
https://gcalic.v.myalicdn.com/gc/hgsspzxdpb_1/index.m3u8
|
||||||
|
#EXTINF:-1 group-title="未分组",黄花城水长城02
|
||||||
|
http://gctxyc.liveplay.myqcloud.com/gc/wgw02_1/index.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",黄花城水长城03
|
#EXTINF:-1 group-title="未分组",黄花城水长城03
|
||||||
https://gcalic.v.myalicdn.com/gc/wgw03_1/index.m3u8
|
https://gcalic.v.myalicdn.com/gc/wgw03_1/index.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",黄龙
|
#EXTINF:-1 group-title="未分组",黄龙
|
||||||
@@ -1065,8 +1033,6 @@ http://120.76.248.139/live/bfgd/4200000113.m3u8
|
|||||||
http://tvpull.dxhmt.cn:9081/tv/19001-1.m3u8
|
http://tvpull.dxhmt.cn:9081/tv/19001-1.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",济源电视一套
|
#EXTINF:-1 group-title="未分组",济源电视一套
|
||||||
http://tvpull.dxhmt.cn:9081/tv/19001-1.m3u8?zhend
|
http://tvpull.dxhmt.cn:9081/tv/19001-1.m3u8?zhend
|
||||||
#EXTINF:-1 group-title="未分组",济源电视一套
|
|
||||||
http://live.dxhmt.cn:9081/tv/19001-1.m3u8
|
|
||||||
#EXTINF:-1 group-title="未分组",嘉兴公共
|
#EXTINF:-1 group-title="未分组",嘉兴公共
|
||||||
http://play-sh13.quklive.com/live/1675149601192103.m3u8?auth_key=2028730429-9ab7f7f0267946e880ec46ce3d57ec9e-0-eb04d7f7e549054293604b04150cefa1
|
http://play-sh13.quklive.com/live/1675149601192103.m3u8?auth_key=2028730429-9ab7f7f0267946e880ec46ce3d57ec9e-0-eb04d7f7e549054293604b04150cefa1
|
||||||
#EXTINF:-1 group-title="未分组",郏县综合
|
#EXTINF:-1 group-title="未分组",郏县综合
|
||||||
@@ -1077,6 +1043,10 @@ https://tvfile.scjgtv.cn/nmip-media/channellive/channel104126/playlist.m3u8
|
|||||||
http://zhpull.dxhmt.cn/jiaozuo/29b65b69130c4ef1a3283cc7b913da05/playlist.m3u8
|
http://zhpull.dxhmt.cn/jiaozuo/29b65b69130c4ef1a3283cc7b913da05/playlist.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",焦作公共频道
|
#EXTINF:-1 group-title="未分组",焦作公共频道
|
||||||
http://zhpull.dxhmt.cn/jiaozuo/29b65b69130c4ef1a3283cc7b913da05/playlist.m3u8?zhend
|
http://zhpull.dxhmt.cn/jiaozuo/29b65b69130c4ef1a3283cc7b913da05/playlist.m3u8?zhend
|
||||||
|
#EXTINF:-1 group-title="未分组",焦作综合
|
||||||
|
http://zhpull.dxhmt.cn/jiaozuo/b75a92c9503e47cf9e89f7ff247b65f2/playlist.m3u8
|
||||||
|
#EXTINF:-1 group-title="未分组",焦作综合频道
|
||||||
|
http://zhpull.dxhmt.cn/jiaozuo/b75a92c9503e47cf9e89f7ff247b65f2/playlist.m3u8?zhend
|
||||||
#EXTINF:-1 group-title="未分组",接口更新
|
#EXTINF:-1 group-title="未分组",接口更新
|
||||||
http://8.138.7.223/tv/ptbtv.php?id=27
|
http://8.138.7.223/tv/ptbtv.php?id=27
|
||||||
#EXTINF:-1 group-title="未分组",今夜为你醉
|
#EXTINF:-1 group-title="未分组",今夜为你醉
|
||||||
@@ -1101,16 +1071,10 @@ http://tvfile.jyrmt.cn/nmip-media/channellive/channel104452/playlist.m3u8
|
|||||||
http://test5.btzx.com.cn:80/live/kkdl.stream/playlist.m3u8
|
http://test5.btzx.com.cn:80/live/kkdl.stream/playlist.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",可克达拉综合
|
#EXTINF:-1 group-title="未分组",可克达拉综合
|
||||||
http://file.loulannews.cn/nmip-media/channellive/channel103824/playlist.m3u8
|
http://file.loulannews.cn/nmip-media/channellive/channel103824/playlist.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",狂飙30
|
|
||||||
https://p26-sign.douyinpic.com/obj/tos-cn-v-0000c2367/d56a84c47e784df79acbcd72b99930cf?filename=1.mp4&x-expires=1990620000&x-signature=kiCGy9kGgybCIVahSdiVwWBsSus%3D
|
|
||||||
#EXTINF:-1 group-title="未分组",狂飙32
|
|
||||||
https://p3-sign.douyinpic.com/obj//tos-cn-v-0000c2367/0670403d3ac24d5ba5d9f749a960b9f3?filename=1.mp4&x-expires=1990350000&x-signature=EywChdeQlTbae1ZBs4s%2FWuT2Q7Q%3D
|
|
||||||
#EXTINF:-1 group-title="未分组",狂飙33
|
#EXTINF:-1 group-title="未分组",狂飙33
|
||||||
https://p26-sign.douyinpic.com/obj//tos-cn-v-0000c2367/e78ed75c7aa14cbd867980911e6823b4?filename=1.mp4&x-expires=1990350000&x-signature=u49156MCkEpQw74nc0W%2BxM1AWzg%3D
|
https://p26-sign.douyinpic.com/obj//tos-cn-v-0000c2367/e78ed75c7aa14cbd867980911e6823b4?filename=1.mp4&x-expires=1990350000&x-signature=u49156MCkEpQw74nc0W%2BxM1AWzg%3D
|
||||||
#EXTINF:-1 group-title="未分组",狂飙36
|
#EXTINF:-1 group-title="未分组",狂飙36
|
||||||
https://p26-sign.douyinpic.com/obj/tos-cn-v-0000c2367/1c03129b2d624023b73ea05806923742?filename=1.mp4&x-expires=1990620000&x-signature=7TBUReFxuLYRdTWrUXcOr32AxUk%3D
|
https://p26-sign.douyinpic.com/obj/tos-cn-v-0000c2367/1c03129b2d624023b73ea05806923742?filename=1.mp4&x-expires=1990620000&x-signature=7TBUReFxuLYRdTWrUXcOr32AxUk%3D
|
||||||
#EXTINF:-1 group-title="未分组",狂飙37
|
|
||||||
https://p3-sign.douyinpic.com/obj/tos-cn-v-0000c2367/3c804642d9f544be8af92f23a040491b?filename=1.mp4&x-expires=1990620000&x-signature=s%2BTDc3vkVitXkI0D7LYQy9ldzZE%3D
|
|
||||||
#EXTINF:-1 group-title="未分组",奎屯哈萨克语
|
#EXTINF:-1 group-title="未分组",奎屯哈萨克语
|
||||||
http://218.84.12.186:8002/hls/main/playlist.m3u8
|
http://218.84.12.186:8002/hls/main/playlist.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",奎屯哈萨克语
|
#EXTINF:-1 group-title="未分组",奎屯哈萨克语
|
||||||
@@ -1160,15 +1124,9 @@ https://zb-live.ynurl.com/longchuan/58f88df3-605e-4c57-865c-8e8f85241ca1.m3u8
|
|||||||
#EXTINF:-1 group-title="未分组",麻栗坡
|
#EXTINF:-1 group-title="未分组",麻栗坡
|
||||||
http://tvdrs.wsrtv.com.cn:8100/channellive/mlptv.flv
|
http://tvdrs.wsrtv.com.cn:8100/channellive/mlptv.flv
|
||||||
#EXTINF:-1 group-title="未分组",麻栗坡电视台
|
#EXTINF:-1 group-title="未分组",麻栗坡电视台
|
||||||
http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel18/playlist.m3u8?zyund
|
http://tvdrs.wsrtv.com.cn:8100/channellive/mlptv.flv?zyund
|
||||||
#EXTINF:-1 group-title="未分组",麻栗坡台
|
#EXTINF:-1 group-title="未分组",埋堆堆3
|
||||||
http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel18/playlist.m3u8
|
http://www.52sw.top:678/play/huya.php?id=23735126
|
||||||
#EXTINF:-1 group-title="未分组",埋堆堆1
|
|
||||||
http://www.52sw.top:678/play/huya.php?id=23903123
|
|
||||||
#EXTINF:-1 group-title="未分组",埋堆堆5
|
|
||||||
http://www.52sw.top:678/play/huya.php?id=23903130
|
|
||||||
#EXTINF:-1 group-title="未分组",埋堆堆6
|
|
||||||
http://www.52sw.top:678/play/huya.php?id=23740156
|
|
||||||
#EXTINF:-1 group-title="未分组",毛宁《涛声依旧》《晚秋》《心雨》《春风吻上我的脸》《大中国》
|
#EXTINF:-1 group-title="未分组",毛宁《涛声依旧》《晚秋》《心雨》《春风吻上我的脸》《大中国》
|
||||||
https://vdse.bdstatic.com//21736d388636d7648510b2a36fc7cbfd.mp4
|
https://vdse.bdstatic.com//21736d388636d7648510b2a36fc7cbfd.mp4
|
||||||
#EXTINF:-1 group-title="未分组",美酒加咖啡 龙飘飘FHD
|
#EXTINF:-1 group-title="未分组",美酒加咖啡 龙飘飘FHD
|
||||||
@@ -1189,14 +1147,8 @@ http://livecdn.dmqhyadmin.com/hls/xjminhe.m3u8?zqinghd#http://livecdn.dmqhyadmin
|
|||||||
http://livecdn.dmqhyadmin.com/hls/xjminhe.m3u8
|
http://livecdn.dmqhyadmin.com/hls/xjminhe.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",民和综合
|
#EXTINF:-1 group-title="未分组",民和综合
|
||||||
http://livecdn.dmqhyadmin.com/hls/xjminhe.m3u8?zqinghd
|
http://livecdn.dmqhyadmin.com/hls/xjminhe.m3u8?zqinghd
|
||||||
#EXTINF:-1 group-title="未分组",民生休闲
|
|
||||||
http://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8
|
|
||||||
#EXTINF:-1 group-title="未分组",民生休闲
|
|
||||||
https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8
|
|
||||||
#EXTINF:-1 group-title="未分组",名山综合
|
#EXTINF:-1 group-title="未分组",名山综合
|
||||||
https://m3u8channel-bx.yunxya.com/nmip-media/channellive/channel104666/playlist.m3u8
|
https://m3u8channel-bx.yunxya.com/nmip-media/channellive/channel104666/playlist.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",沐川综合
|
|
||||||
rtmp://tv.mcrm.org.cn:1935/channellive/tv01
|
|
||||||
#EXTINF:-1 group-title="未分组",南国都市
|
#EXTINF:-1 group-title="未分组",南国都市
|
||||||
https://tencentplay.gztv.com/live/nanguodushi.m3u8?txSecret=550af55c0ea34ce492748481415b6dfa&txTime=1903e7b17de
|
https://tencentplay.gztv.com/live/nanguodushi.m3u8?txSecret=550af55c0ea34ce492748481415b6dfa&txTime=1903e7b17de
|
||||||
#EXTINF:-1 group-title="未分组",南国都市
|
#EXTINF:-1 group-title="未分组",南国都市
|
||||||
@@ -1233,8 +1185,6 @@ https://gcalic.v.myalicdn.com/gc/emspxps_1/index.m3u8?contentid=2820180516001
|
|||||||
https://p8.vzan.com:443/slowlive/147077707554082780/live.m3u8
|
https://p8.vzan.com:443/slowlive/147077707554082780/live.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",祁门综合
|
#EXTINF:-1 group-title="未分组",祁门综合
|
||||||
http://live.cztv.cc:85/live/sjpd.m3u8
|
http://live.cztv.cc:85/live/sjpd.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",祁门综合
|
|
||||||
http://zbbf2.ahbztv.com/live/416.m3u8?zanhd
|
|
||||||
#EXTINF:-1 group-title="未分组",钱江频道
|
#EXTINF:-1 group-title="未分组",钱江频道
|
||||||
https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8
|
https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",青川综合
|
#EXTINF:-1 group-title="未分组",青川综合
|
||||||
@@ -1315,8 +1265,6 @@ http://siyang-tv-hls.cm.jstv.com/siyang-tv/siyangzh.m3u8?zjiangsd
|
|||||||
http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8
|
http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",松阳综合
|
#EXTINF:-1 group-title="未分组",松阳综合
|
||||||
http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?fbl=
|
http://l.cztvcloud.com/channels/lantian/SXsongyang1/720p.m3u8?fbl=
|
||||||
#EXTINF:-1 group-title="未分组",宋小宝经典小品
|
|
||||||
http://zzy789.xyz/douyu1.php?id=9817729
|
|
||||||
#EXTINF:-1 group-title="未分组",苏州社会经济
|
#EXTINF:-1 group-title="未分组",苏州社会经济
|
||||||
https://live-auth.51kandianshi.com/szgd/csztv2.m3u8
|
https://live-auth.51kandianshi.com/szgd/csztv2.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",遂昌综合
|
#EXTINF:-1 group-title="未分组",遂昌综合
|
||||||
@@ -1337,6 +1285,8 @@ https://gcalic.v.myalicdn.com/gc/taishan06_1/index.m3u8?contentid=2820180516001
|
|||||||
http://tvpull.dxhmt.cn:9081/tv/11328-1.m3u8
|
http://tvpull.dxhmt.cn:9081/tv/11328-1.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",唐河一套
|
#EXTINF:-1 group-title="未分组",唐河一套
|
||||||
http://tvpull.dxhmt.cn:9081/tv/11328-1.m3u8?zhend
|
http://tvpull.dxhmt.cn:9081/tv/11328-1.m3u8?zhend
|
||||||
|
#EXTINF:-1 group-title="未分组",唐河一套
|
||||||
|
http://live.dxhmt.cn:9081/tv/11328-1.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",唐诗逸 问灵⁴ᴷ
|
#EXTINF:-1 group-title="未分组",唐诗逸 问灵⁴ᴷ
|
||||||
https://us-xpc5.xpccdn.com/7435c8ce-20ef-44c8-9956-16242a48def6/a599cc9b-0ef7-4005-bfdf-7c2c6411293c.mp4
|
https://us-xpc5.xpccdn.com/7435c8ce-20ef-44c8-9956-16242a48def6/a599cc9b-0ef7-4005-bfdf-7c2c6411293c.mp4
|
||||||
#EXTINF:-1 group-title="未分组",天地龙鳞
|
#EXTINF:-1 group-title="未分组",天地龙鳞
|
||||||
@@ -1375,6 +1325,8 @@ http://tvpull.dxhmt.cn:9081/tv/11622-1.m3u8
|
|||||||
http://tvpull.dxhmt.cn:9081/tv/11622-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
http://tvpull.dxhmt.cn:9081/tv/11622-1.m3u8?%E5%85%B3%E6%B3%A8%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7[%E6%99%B4%E5%9B%AD]
|
||||||
#EXTINF:-1 group-title="未分组",西宁生活
|
#EXTINF:-1 group-title="未分组",西宁生活
|
||||||
https://liveout.xntv.tv/a65jur/90p2i1.m3u8
|
https://liveout.xntv.tv/a65jur/90p2i1.m3u8
|
||||||
|
#EXTINF:-1 group-title="未分组",淅川电视
|
||||||
|
http://live.dxhmt.cn:9081/tv/11326-1.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",淅川综合
|
#EXTINF:-1 group-title="未分组",淅川综合
|
||||||
http://tvpull.dxhmt.cn:9081/tv/11326-1.m3u8
|
http://tvpull.dxhmt.cn:9081/tv/11326-1.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",心跳光谱⁴ᴷ
|
#EXTINF:-1 group-title="未分组",心跳光谱⁴ᴷ
|
||||||
@@ -1395,6 +1347,8 @@ https://vd2.bdstatic.com/mda-ndg53jbq7si8hftd/1080p/cae_h264_delogo/165016766204
|
|||||||
http://file.loulannews.cn/nmip-media/channellive/channel101476/playlist.m3u8
|
http://file.loulannews.cn/nmip-media/channellive/channel101476/playlist.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",新疆奎屯汉语综合
|
#EXTINF:-1 group-title="未分组",新疆奎屯汉语综合
|
||||||
http://218.84.12.186:8001/hls/main/playlist.m3u8
|
http://218.84.12.186:8001/hls/main/playlist.m3u8
|
||||||
|
#EXTINF:-1 group-title="未分组",新疆天山(定海神针)
|
||||||
|
http://gctxyc.liveplay.myqcloud.com/gc/xjtcdhsz_1/index.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",新县综合
|
#EXTINF:-1 group-title="未分组",新县综合
|
||||||
http://tvpull.dxhmt.cn:9081/tv/11523-1.m3u8
|
http://tvpull.dxhmt.cn:9081/tv/11523-1.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",新县综合
|
#EXTINF:-1 group-title="未分组",新县综合
|
||||||
@@ -1455,6 +1409,8 @@ http://110.153.180.106:55555/out_3/index.m3u8
|
|||||||
http://110.153.180.106:55555/out_3/index.m3u8?zxinjd
|
http://110.153.180.106:55555/out_3/index.m3u8?zxinjd
|
||||||
#EXTINF:-1 group-title="未分组",伊犁汉语综合
|
#EXTINF:-1 group-title="未分组",伊犁汉语综合
|
||||||
http://110.153.180.106:55555/out_1/index.m3u8
|
http://110.153.180.106:55555/out_1/index.m3u8
|
||||||
|
#EXTINF:-1 group-title="未分组",伊犁汉语综合
|
||||||
|
http://110.153.180.106:55555/out_1/index.m3u8?zxinjd
|
||||||
#EXTINF:-1 group-title="未分组",伊犁经济法制
|
#EXTINF:-1 group-title="未分组",伊犁经济法制
|
||||||
http://110.153.180.106:55555/out_4/index.m3u8?zxinjd
|
http://110.153.180.106:55555/out_4/index.m3u8?zxinjd
|
||||||
#EXTINF:-1 group-title="未分组",伊犁经济法制
|
#EXTINF:-1 group-title="未分组",伊犁经济法制
|
||||||
@@ -1475,8 +1431,6 @@ http://live.dxhmt.cn:9081/tv/11281-1.m3u8
|
|||||||
https://zb-live.ynurl.com/yimen/3b75a2f9-7941-46b7-992d-a9796fbca5fe.m3u8
|
https://zb-live.ynurl.com/yimen/3b75a2f9-7941-46b7-992d-a9796fbca5fe.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",音乐520
|
#EXTINF:-1 group-title="未分组",音乐520
|
||||||
https://vdse.bdstatic.com//7b2f1b020851df0037ed7b5013a8887d.mp4
|
https://vdse.bdstatic.com//7b2f1b020851df0037ed7b5013a8887d.mp4
|
||||||
#EXTINF:-1 group-title="未分组",永城综合
|
|
||||||
http://live.dxhmt.cn:9081/tv/11481-1.m3u8
|
|
||||||
#EXTINF:-1 group-title="未分组",余杭未来E
|
#EXTINF:-1 group-title="未分组",余杭未来E
|
||||||
http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8
|
http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",余杭未来E频道
|
#EXTINF:-1 group-title="未分组",余杭未来E频道
|
||||||
@@ -1535,26 +1489,28 @@ http://cnpull.sccnfb.com/live/123456.m3u8?zsicd
|
|||||||
https://83awgyp5.live.sxmty.com/live/hls/6f6f4b36f9bd42628b718b595ba507ed/724b7e8907a8414d873eb2a2f69bfa18.m3u8?zshanxd
|
https://83awgyp5.live.sxmty.com/live/hls/6f6f4b36f9bd42628b718b595ba507ed/724b7e8907a8414d873eb2a2f69bfa18.m3u8?zshanxd
|
||||||
#EXTINF:-1 group-title="未分组",之江记录
|
#EXTINF:-1 group-title="未分组",之江记录
|
||||||
http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8
|
http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",之江记录
|
|
||||||
http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8?
|
|
||||||
#EXTINF:-1 group-title="未分组",之江纪录
|
#EXTINF:-1 group-title="未分组",之江纪录
|
||||||
http://ali-m-l.cztv.com/channels/lantian/channel12/1080p.m3u8
|
http://ali-m-l.cztv.com/channels/lantian/channel12/1080p.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",之江纪录
|
|
||||||
https://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8
|
|
||||||
#EXTINF:-1 group-title="未分组",中央电视塔东
|
#EXTINF:-1 group-title="未分组",中央电视塔东
|
||||||
https://gcalic.v.myalicdn.com/gc/ztd_1/index.m3u8
|
https://gcalic.v.myalicdn.com/gc/ztd_1/index.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",中央电视台中塔东
|
#EXTINF:-1 group-title="未分组",中央电视台中塔东
|
||||||
https://gcalic.v.myalicdn.com/gc/ztd_1/index.m3u8?contentid=2820180516001
|
https://gcalic.v.myalicdn.com/gc/ztd_1/index.m3u8?contentid=2820180516001
|
||||||
#EXTINF:-1 group-title="未分组",舟山公共
|
#EXTINF:-1 group-title="未分组",舟山公共
|
||||||
http://play-sh13.quklive.com/live/1699002430299200.m3u8?auth_key=2027429366-f4515e585a0347f780a01c73ae293945-0-b3699e931cf04290680745e989c63d86
|
http://play-sh13.quklive.com/live/1699002430299200.m3u8?auth_key=2027429366-f4515e585a0347f780a01c73ae293945-0-b3699e931cf04290680745e989c63d86
|
||||||
|
#EXTINF:-1 group-title="未分组",周星星
|
||||||
|
https://www.goodiptv.club/huya/11342412
|
||||||
|
#EXTINF:-1 group-title="未分组",CGTN阿语
|
||||||
|
https://0472.org/hls/cgtna.m3u8
|
||||||
|
#EXTINF:-1 group-title="未分组",CGTN俄语
|
||||||
|
https://0472.org/hls/cgtne.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",CGTN法语
|
#EXTINF:-1 group-title="未分组",CGTN法语
|
||||||
https://0472.org/hls/cgtnf.m3u8
|
https://0472.org/hls/cgtnf.m3u8
|
||||||
|
#EXTINF:-1 group-title="未分组",CGTN西语
|
||||||
|
https://0472.org/hls/cgtnx.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",Channel News Asia
|
#EXTINF:-1 group-title="未分组",Channel News Asia
|
||||||
https://d2e1asnsl7br7b.cloudfront.net/7782e205e72f43aeb4a48ec97f66ebbe/index_5.m3u8?zshijd
|
https://d2e1asnsl7br7b.cloudfront.net/7782e205e72f43aeb4a48ec97f66ebbe/index_5.m3u8?zshijd
|
||||||
#EXTINF:-1 group-title="未分组",LOVENATURE
|
#EXTINF:-1 group-title="未分组",LOVENATURE
|
||||||
https://d18dyiwu97wm6q.cloudfront.net/playlist2160p.m3u8
|
https://d18dyiwu97wm6q.cloudfront.net/playlist2160p.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",Poison丶冰冰
|
|
||||||
http://zzy789.xyz/douyu1.php?id=74374
|
|
||||||
#EXTINF:-1 group-title="未分组",YCTV
|
#EXTINF:-1 group-title="未分组",YCTV
|
||||||
http://tvpull.dxhmt.cn:9081/tv/11481-1.m3u8
|
http://tvpull.dxhmt.cn:9081/tv/11481-1.m3u8
|
||||||
#EXTINF:-1 group-title="未分组",YMG未来
|
#EXTINF:-1 group-title="未分组",YMG未来
|
||||||
@@ -1563,12 +1519,16 @@ http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8?
|
|||||||
http://live.zohi.tv/video/s10001-fztv-4/index.m3u8
|
http://live.zohi.tv/video/s10001-fztv-4/index.m3u8
|
||||||
#EXTINF:-1 group-title="少儿频道",内蒙古少儿
|
#EXTINF:-1 group-title="少儿频道",内蒙古少儿
|
||||||
https://livestream-bt.nmtv.cn/nmtv/2318general.m3u8?txSecret=a2c948908728a0733cecbe1fadea23dc&txTime=771E8800
|
https://livestream-bt.nmtv.cn/nmtv/2318general.m3u8?txSecret=a2c948908728a0733cecbe1fadea23dc&txTime=771E8800
|
||||||
#EXTINF:-1 group-title="影视频道",刀刀影院
|
|
||||||
http://huanqiuzhibo.cn/manifest/douyu.php?id=747764
|
|
||||||
#EXTINF:-1 group-title="影视频道",斗鱼魔幻影院
|
#EXTINF:-1 group-title="影视频道",斗鱼魔幻影院
|
||||||
http://b.zgjok.com:35455/douyu/1274132
|
http://b.zgjok.com:35455/douyu/1274132
|
||||||
#EXTINF:-1 group-title="影视频道",嘉兴文化影视
|
#EXTINF:-1 group-title="影视频道",嘉兴文化影视
|
||||||
http://play-sh13.quklive.com/live/1675149625220101.m3u8?auth_key=2028730374-3a60eb8e324f416aa3b26dda7679d920-0-22dc7efa8452d0b0665c15eeed83609d
|
http://play-sh13.quklive.com/live/1675149625220101.m3u8?auth_key=2028730374-3a60eb8e324f416aa3b26dda7679d920-0-22dc7efa8452d0b0665c15eeed83609d
|
||||||
|
#EXTINF:-1 group-title="影视频道",教科影视
|
||||||
|
https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8
|
||||||
|
#EXTINF:-1 group-title="影视频道",教科影视
|
||||||
|
http://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8
|
||||||
|
#EXTINF:-1 group-title="影视频道",奶虫影院
|
||||||
|
http://home.kuaidi521.com:35455/douyu/263824
|
||||||
#EXTINF:-1 group-title="影视频道",上虞文化影院
|
#EXTINF:-1 group-title="影视频道",上虞文化影院
|
||||||
http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed
|
http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed
|
||||||
#EXTINF:-1 group-title="影视频道",上虞文化影院
|
#EXTINF:-1 group-title="影视频道",上虞文化影院
|
||||||
@@ -1579,6 +1539,8 @@ http://tc-tct.douyucdn2.cn/dyliveflv1a/85894rmovieChow_4000.xs?wsAuth=ba1c90644d
|
|||||||
http://tc-tct.douyucdn2.cn/dyliveflv1a/20415rnWbjg6Ex1K_2000.flv?wsAuth=3b64dd17d293b133c58bda21e3147e5b&token=cpn-androidmpro-0-20415-b6774b3b3249db1768f0ac048c5ed218ac54e1f82b04b2bf&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=play2
|
http://tc-tct.douyucdn2.cn/dyliveflv1a/20415rnWbjg6Ex1K_2000.flv?wsAuth=3b64dd17d293b133c58bda21e3147e5b&token=cpn-androidmpro-0-20415-b6774b3b3249db1768f0ac048c5ed218ac54e1f82b04b2bf&logo=0&expire=0&did=d010b07dcb997ada9934081c873542f0&origin=tct&vhost=play2
|
||||||
#EXTINF:-1 group-title="影视频道",石河子影视文体
|
#EXTINF:-1 group-title="影视频道",石河子影视文体
|
||||||
http://124.88.144.73:1935/live/jjsh/playlist.m3u8
|
http://124.88.144.73:1935/live/jjsh/playlist.m3u8
|
||||||
|
#EXTINF:-1 group-title="影视频道",小鬼华语影院
|
||||||
|
http://tc-tct.douyucdn2.cn/dyliveflv1a/3928r9p0BHMDG_2000.xs?wsAuth=3c48b706fe90d736d90b5622adfc09d2&token=web-h5-0-3928-15d95fcfde11a749199abfc5ac7bdee6727c6402febadfb8&logo=0&expire=0&did=24482b48b98804f2b0a5b17400041701
|
||||||
#EXTINF:-1 group-title="影视频道",新昌休闲影视
|
#EXTINF:-1 group-title="影视频道",新昌休闲影视
|
||||||
http://l.cztvcloud.com/channels/lantian/SXxinchang2/720p.m3u8
|
http://l.cztvcloud.com/channels/lantian/SXxinchang2/720p.m3u8
|
||||||
#EXTINF:-1 group-title="影视频道",CHC动作电影
|
#EXTINF:-1 group-title="影视频道",CHC动作电影
|
||||||
@@ -1613,8 +1575,6 @@ https://vdse.bdstatic.com//c5c64b60c9fdfbdfa3e959bb1d56c4b0.mp4
|
|||||||
https://vdse.bdstatic.com//01b1f78bb5b009d36ce3f5051e7383c1.mp4
|
https://vdse.bdstatic.com//01b1f78bb5b009d36ce3f5051e7383c1.mp4
|
||||||
#EXTINF:-1 group-title="DJ舞曲",邻家小哥哥—欣宝儿DJ
|
#EXTINF:-1 group-title="DJ舞曲",邻家小哥哥—欣宝儿DJ
|
||||||
https://vd2.bdstatic.com/mda-kmmc2zf4whqmxsag/v1-cae/1080p/mda-kmmc2zf4whqmxsag.mp4
|
https://vd2.bdstatic.com/mda-kmmc2zf4whqmxsag/v1-cae/1080p/mda-kmmc2zf4whqmxsag.mp4
|
||||||
#EXTINF:-1 group-title="DJ舞曲",六首伤感DJ舞曲《为爱受尽相思罪》《爱过了头心伤透》
|
|
||||||
https://vdse.bdstatic.com//f27d59d8b75915e122f53c173e27a32e.mp4
|
|
||||||
#EXTINF:-1 group-title="DJ舞曲",情歌《你是我今生不能忘的唯一》DJ版
|
#EXTINF:-1 group-title="DJ舞曲",情歌《你是我今生不能忘的唯一》DJ版
|
||||||
https://vd4.bdstatic.com/mda-mbdzgfvp4bz1hhg8/v1-cae/1080p/mda-mbdzgfvp4bz1hhg8.mp4
|
https://vd4.bdstatic.com/mda-mbdzgfvp4bz1hhg8/v1-cae/1080p/mda-mbdzgfvp4bz1hhg8.mp4
|
||||||
#EXTINF:-1 group-title="DJ舞曲",情歌DJ《拈花一笑》《对面的小姐姐》《酒醉的蝴蝶》FHD
|
#EXTINF:-1 group-title="DJ舞曲",情歌DJ《拈花一笑》《对面的小姐姐》《酒醉的蝴蝶》FHD
|
||||||
@@ -1635,8 +1595,6 @@ https://gcalic.v.myalicdn.com/gc/fcw03_1/index.m3u8
|
|||||||
https://ls.qingting.fm/live/1650/64k.m3u8
|
https://ls.qingting.fm/live/1650/64k.m3u8
|
||||||
#EXTINF:-1 group-title="省级频道",河南登封综合
|
#EXTINF:-1 group-title="省级频道",河南登封综合
|
||||||
http://tvpull.dxhmt.cn:9081/tv/10185-1.m3u8
|
http://tvpull.dxhmt.cn:9081/tv/10185-1.m3u8
|
||||||
#EXTINF:-1 group-title="省级频道",河南电视剧
|
|
||||||
http://www.cdnstv.com:6398/hls/1113/index.m3u8
|
|
||||||
#EXTINF:-1 group-title="省级频道",河南都市
|
#EXTINF:-1 group-title="省级频道",河南都市
|
||||||
http://v4d.xiepeiru.top:1123/iptv/hm/HeNanDuShi
|
http://v4d.xiepeiru.top:1123/iptv/hm/HeNanDuShi
|
||||||
#EXTINF:-1 group-title="省级频道",河南扶沟综合
|
#EXTINF:-1 group-title="省级频道",河南扶沟综合
|
||||||
@@ -1733,6 +1691,8 @@ http://ali-m-l.cztv.com/channels/lantian/channel04/1080p.m3u8
|
|||||||
http://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8?zzhed
|
http://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8?zzhed
|
||||||
#EXTINF:-1 group-title="省级频道",浙江教育
|
#EXTINF:-1 group-title="省级频道",浙江教育
|
||||||
https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8?
|
https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8?
|
||||||
|
#EXTINF:-1 group-title="省级频道",浙江教育
|
||||||
|
https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8
|
||||||
#EXTINF:-1 group-title="省级频道",浙江经济
|
#EXTINF:-1 group-title="省级频道",浙江经济
|
||||||
http://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8
|
http://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8
|
||||||
#EXTINF:-1 group-title="省级频道",浙江经济
|
#EXTINF:-1 group-title="省级频道",浙江经济
|
||||||
@@ -1748,11 +1708,7 @@ https://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8
|
|||||||
#EXTINF:-1 group-title="省级频道",浙江民生
|
#EXTINF:-1 group-title="省级频道",浙江民生
|
||||||
http://ali-m-l.cztv.com/channels/lantian/channel06/1080p.m3u8
|
http://ali-m-l.cztv.com/channels/lantian/channel06/1080p.m3u8
|
||||||
#EXTINF:-1 group-title="省级频道",浙江民生
|
#EXTINF:-1 group-title="省级频道",浙江民生
|
||||||
http://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8
|
|
||||||
#EXTINF:-1 group-title="省级频道",浙江民生
|
|
||||||
https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8?
|
https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8?
|
||||||
#EXTINF:-1 group-title="省级频道",浙江民生休闲
|
|
||||||
https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8
|
|
||||||
#EXTINF:-1 group-title="省级频道",浙江钱江
|
#EXTINF:-1 group-title="省级频道",浙江钱江
|
||||||
http://l.cztvcloud.com/channels/lantian/SXyuyao2/720p.m3u8
|
http://l.cztvcloud.com/channels/lantian/SXyuyao2/720p.m3u8
|
||||||
#EXTINF:-1 group-title="省级频道",浙江钱江
|
#EXTINF:-1 group-title="省级频道",浙江钱江
|
||||||
@@ -1798,32 +1754,32 @@ http://zzy789.xyz/douyu1.php?id=7356023
|
|||||||
#EXTINF:-1 group-title="北京地区",北京北京纪实科教
|
#EXTINF:-1 group-title="北京地区",北京北京纪实科教
|
||||||
http://120.76.248.139/live/bfgd/4200000113.m3u8
|
http://120.76.248.139/live/bfgd/4200000113.m3u8
|
||||||
#EXTINF:-1 group-title="北京地区",北京财经
|
#EXTINF:-1 group-title="北京地区",北京财经
|
||||||
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s5/index.m3u8?time=1748552353&sign=95dddcf1094bc85c54a43a5fef3daac3
|
|
||||||
#EXTINF:-1 group-title="北京地区",北京财经
|
|
||||||
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s5/index.m3u8?time=1748635211&sign=4e637c5dd777c1bd14124fd9508c623f
|
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s5/index.m3u8?time=1748635211&sign=4e637c5dd777c1bd14124fd9508c623f
|
||||||
#EXTINF:-1 group-title="北京地区",北京纪实科教
|
#EXTINF:-1 group-title="北京地区",北京财经
|
||||||
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s3/index.m3u8?time=1748552352&sign=12bf25abd032727569f9e2a97b452d0b
|
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s5/index.m3u8?time=1748721611&sign=d31b65d14e9b34209c459e79a2f2fda9
|
||||||
#EXTINF:-1 group-title="北京地区",北京纪实科教
|
#EXTINF:-1 group-title="北京地区",北京纪实科教
|
||||||
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s3/index.m3u8?time=1748635210&sign=34d2fb1a67865c344f7877fa374e86bd
|
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s3/index.m3u8?time=1748635210&sign=34d2fb1a67865c344f7877fa374e86bd
|
||||||
#EXTINF:-1 group-title="北京地区",北京卡酷少儿
|
#EXTINF:-1 group-title="北京地区",北京纪实科教
|
||||||
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s10/index.m3u8?time=1748552354&sign=f3766c58218e484513e405535ad4ca27
|
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s3/index.m3u8?time=1748721610&sign=5bf9f00fa13e29a809a1a91925e004f2
|
||||||
#EXTINF:-1 group-title="北京地区",北京卡酷少儿
|
#EXTINF:-1 group-title="北京地区",北京卡酷少儿
|
||||||
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s10/index.m3u8?time=1748635212&sign=c3609809fdf76fe8566554b1a0d126b6
|
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s10/index.m3u8?time=1748635212&sign=c3609809fdf76fe8566554b1a0d126b6
|
||||||
#EXTINF:-1 group-title="北京地区",北京生活
|
#EXTINF:-1 group-title="北京地区",北京卡酷少儿
|
||||||
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s7/index.m3u8?time=1748552353&sign=7d363bccac4159dc12a332997c9f1b61
|
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s10/index.m3u8?time=1748721612&sign=1724fa686b3b1f9da3f836f89228b3c2
|
||||||
#EXTINF:-1 group-title="北京地区",北京生活
|
#EXTINF:-1 group-title="北京地区",北京生活
|
||||||
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s7/index.m3u8?time=1748635211&sign=aabcb4d02cbd7f9b2d963b306c75751b
|
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s7/index.m3u8?time=1748635211&sign=aabcb4d02cbd7f9b2d963b306c75751b
|
||||||
#EXTINF:-1 group-title="北京地区",北京文艺
|
#EXTINF:-1 group-title="北京地区",北京生活
|
||||||
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s2/index.m3u8?time=1748552351&sign=9526b3587f95b92db0e95509a2c25de7
|
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s7/index.m3u8?time=1748721612&sign=f702085a1b42b585eb4c5a57a8e0f9f9
|
||||||
#EXTINF:-1 group-title="北京地区",北京文艺
|
#EXTINF:-1 group-title="北京地区",北京文艺
|
||||||
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s2/index.m3u8?time=1748635210&sign=be1fbd3c82b5dc6dae9608c3c8ad261a
|
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s2/index.m3u8?time=1748635210&sign=be1fbd3c82b5dc6dae9608c3c8ad261a
|
||||||
|
#EXTINF:-1 group-title="北京地区",北京文艺
|
||||||
|
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s2/index.m3u8?time=1748721610&sign=d7462e9d022b63cd32abe7336720dd9a
|
||||||
#EXTINF:-1 group-title="北京地区",北京新闻
|
#EXTINF:-1 group-title="北京地区",北京新闻
|
||||||
https://ls.qingting.fm/live/339/64k.m3u8
|
https://ls.qingting.fm/live/339/64k.m3u8
|
||||||
#EXTINF:-1 group-title="北京地区",北京新闻
|
#EXTINF:-1 group-title="北京地区",北京新闻
|
||||||
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s9/index.m3u8?time=1748552353&sign=a186bfcfa9787f9a7e0d9e9cc9b94163
|
|
||||||
#EXTINF:-1 group-title="北京地区",北京新闻
|
|
||||||
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s9/index.m3u8?time=1748635212&sign=9c5dd1100b892ae351bbfebedd701156
|
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s9/index.m3u8?time=1748635212&sign=9c5dd1100b892ae351bbfebedd701156
|
||||||
#EXTINF:-1 group-title="北京地区",北京影视
|
#EXTINF:-1 group-title="北京地区",北京新闻
|
||||||
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s4/index.m3u8?time=1748552352&sign=4b6ff2b332319b7dcd7715ade0214f83
|
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s9/index.m3u8?time=1748721612&sign=947a68da9f232378640b62c043db7acf
|
||||||
#EXTINF:-1 group-title="北京地区",北京影视
|
#EXTINF:-1 group-title="北京地区",北京影视
|
||||||
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s4/index.m3u8?time=1748635211&sign=c090dc86512b50d31cdf4edfb702f85b
|
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s4/index.m3u8?time=1748635211&sign=c090dc86512b50d31cdf4edfb702f85b
|
||||||
|
#EXTINF:-1 group-title="北京地区",北京影视
|
||||||
|
https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s4/index.m3u8?time=1748721611&sign=d3ca75d372f69ab704cf49d223b7c714
|
||||||
+810
-744
File diff suppressed because it is too large.
Load diff
Binary file not shown.
+7
-7
@@ -4,9 +4,9 @@
|
|||||||
"spider": "./spider.jar",
|
"spider": "./spider.jar",
|
||||||
"lives": [
|
"lives": [
|
||||||
{
|
{
|
||||||
"name": "公众号【欧歌APP】接口即将关停,网络收集勿演示贩卖",
|
"name": "公众号【欧歌APP】测试完请删除,接口即将关停.",
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"url": "./lives/公众号【欧歌APP】接口即将关停,网络收集勿演示贩卖.txt",
|
"url": "./lives/公众号【欧歌APP】测试完请删除,接口即将关停..txt",
|
||||||
"epg": "http://cdn.1678520.xyz/epg/?ch={name}&date={date}"
|
"epg": "http://cdn.1678520.xyz/epg/?ch={name}&date={date}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -19,20 +19,20 @@
|
|||||||
"sites": [
|
"sites": [
|
||||||
{
|
{
|
||||||
"key": "豆瓣2",
|
"key": "豆瓣2",
|
||||||
"name": "📢公众号【欧歌APP】接口即将关停,网络收集勿演示贩卖",
|
"name": "📢公众号【欧歌APP】测试完请删除,接口即将关停.",
|
||||||
"type": 3,
|
"type": 3,
|
||||||
"api": "csp_Douban",
|
"api": "csp_Douban",
|
||||||
"searchable": 0
|
"searchable": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "豆瓣1",
|
"key": "豆瓣1",
|
||||||
"name": "📢公众号【欧歌APP】接口即将关停,网络收集勿演示贩卖公告❤更新:5/28❤",
|
"name": "📢公众号【欧歌APP】测试完请删除,接口即将关停.公告❤更新:6/2❤",
|
||||||
"type": 3,
|
"type": 3,
|
||||||
"api": "csp_Notice",
|
"api": "csp_Notice",
|
||||||
"searchable": 0,
|
"searchable": 0,
|
||||||
"changeable": 0,
|
"changeable": 0,
|
||||||
"jar": "./jars/豆瓣1.jar",
|
"jar": "./jars/豆瓣1.jar",
|
||||||
"ext": "https://xn--dkw0c.v.nxog.top/m/公告.php?b=公众号【欧歌APP】接口即将关停,网络收集勿演示贩卖"
|
"ext": "https://xn--dkw0c.v.nxog.top/m/公告.php?b=公众号【欧歌APP】测试完请删除,接口即将关停."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "csp_woog",
|
"key": "csp_woog",
|
||||||
@@ -49,7 +49,7 @@
|
|||||||
],
|
],
|
||||||
"url_key": "woog",
|
"url_key": "woog",
|
||||||
"threadinfo": {
|
"threadinfo": {
|
||||||
"chunksize": 296,
|
"chunksize": 286,
|
||||||
"threads": 15
|
"threads": 15
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -77,7 +77,7 @@
|
|||||||
],
|
],
|
||||||
"url_key": "UC",
|
"url_key": "UC",
|
||||||
"threadinfo": {
|
"threadinfo": {
|
||||||
"chunksize": 283,
|
"chunksize": 240,
|
||||||
"threads": 60
|
"threads": 60
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1809
File diff suppressed because it is too large.
Load diff
+5858
File diff suppressed because it is too large.
Load diff
Vendored
+1439
File diff suppressed because it is too large.
Load diff
+429
@@ -0,0 +1,429 @@
|
|||||||
|
if (typeof Object.assign !== 'function') {
|
||||||
|
Object.assign = function() {
|
||||||
|
let target = arguments[0];
|
||||||
|
for (let i = 1; i < arguments.length; i++) {
|
||||||
|
let source = arguments[i];
|
||||||
|
for (let key in source) {
|
||||||
|
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
||||||
|
target[key] = source[key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return target;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// 通用免嗅探播放
|
||||||
|
let common_lazy = `js:
|
||||||
|
let html = request(input);
|
||||||
|
let hconf = html.match(/r player_.*?=(.*?)</)[1];
|
||||||
|
let json = JSON5.parse(hconf);
|
||||||
|
let url = json.url;
|
||||||
|
if (json.encrypt == '1') {
|
||||||
|
url = unescape(url);
|
||||||
|
} else if (json.encrypt == '2') {
|
||||||
|
url = unescape(base64Decode(url));
|
||||||
|
}
|
||||||
|
if (/\\.(m3u8|mp4|m4a|mp3)/.test(url)) {
|
||||||
|
input = {
|
||||||
|
parse: 0,
|
||||||
|
jx: 0,
|
||||||
|
url: url,
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
input = url && url.startsWith('http') && tellIsJx(url) ? {parse:0,jx:1,url:url}:input;
|
||||||
|
}`;
|
||||||
|
// 默认嗅探播放
|
||||||
|
|
||||||
|
let def_lazy = `js:
|
||||||
|
input = { parse: 1, url: input, js: '' };`;
|
||||||
|
// 采集站播放
|
||||||
|
|
||||||
|
let cj_lazy = `js:
|
||||||
|
if (/\\.(m3u8|mp4)/.test(input)) {
|
||||||
|
input = { parse: 0, url: input };
|
||||||
|
} else {
|
||||||
|
if (rule.parse_url.startsWith('json:')) {
|
||||||
|
let purl = rule.parse_url.replace('json:', '') + input;
|
||||||
|
let html = request(purl);
|
||||||
|
let json = JSON.parse(html);
|
||||||
|
if (json.url) {
|
||||||
|
input = { parse: 0, url: json.url };
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
input = rule.parse_url + input;
|
||||||
|
}
|
||||||
|
}`;
|
||||||
|
|
||||||
|
function getMubans() {
|
||||||
|
const mubanDict = { // 模板字典
|
||||||
|
mx: {
|
||||||
|
title: '',
|
||||||
|
host: '',
|
||||||
|
url: '/vodshow/fyclass--------fypage---/',
|
||||||
|
searchUrl: '/vodsearch/**----------fypage---/',
|
||||||
|
class_parse: '.top_nav li;a&&Text;a&&href;.*/(.*?)/',
|
||||||
|
searchable: 2,
|
||||||
|
quickSearch: 0,
|
||||||
|
filterable: 0,
|
||||||
|
headers: {
|
||||||
|
'User-Agent': 'MOBILE_UA',
|
||||||
|
},
|
||||||
|
play_parse: true,
|
||||||
|
lazy: common_lazy,
|
||||||
|
limit: 6,
|
||||||
|
double: true,
|
||||||
|
推荐: '.cbox_list;*;*;*;*;*',
|
||||||
|
一级: 'ul.vodlist li;a&&title;a&&data-original;.pic_text&&Text;a&&href',
|
||||||
|
二级: {
|
||||||
|
title: 'h2&&Text;.content_detail:eq(1)&&li&&a:eq(2)&&Text',
|
||||||
|
img: '.vodlist_thumb&&data-original',
|
||||||
|
desc: '.content_detail:eq(1)&&li:eq(1)&&Text;.content_detail:eq(1)&&li&&a&&Text;.content_detail:eq(1)&&li&&a:eq(1)&&Text;.content_detail:eq(1)&&li:eq(2)&&Text;.content_detail:eq(1)&&li:eq(3)&&Text',
|
||||||
|
content: '.content_desc&&span&&Text',
|
||||||
|
tabs: '.play_source_tab&&a',
|
||||||
|
lists: '.content_playlist:eq(#id) li',
|
||||||
|
},
|
||||||
|
搜索: '*',
|
||||||
|
},
|
||||||
|
mxpro: {
|
||||||
|
title: '',
|
||||||
|
host: '', // homeUrl:'/',
|
||||||
|
url: '/vodshow/fyclass--------fypage---.html',
|
||||||
|
searchUrl: '/vodsearch/**----------fypage---.html',
|
||||||
|
searchable: 2, //是否启用全局搜索,
|
||||||
|
quickSearch: 0, //是否启用快速搜索,
|
||||||
|
filterable: 0, //是否启用分类筛选,
|
||||||
|
headers: { //网站的请求头,完整支持所有的,常带ua和cookies
|
||||||
|
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
|
||||||
|
},
|
||||||
|
class_parse: '.navbar-items li:gt(0):lt(10);a&&Text;a&&href;/(\\d+)',
|
||||||
|
play_parse: true,
|
||||||
|
lazy: common_lazy,
|
||||||
|
limit: 6,
|
||||||
|
double: true, // 推荐内容是否双层定位
|
||||||
|
推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href',
|
||||||
|
一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
|
||||||
|
二级: {
|
||||||
|
title: 'h1&&Text;.module-info-tag-link:eq(-1)&&Text',
|
||||||
|
img: '.lazyload&&data-original||data-src||src',
|
||||||
|
desc: '.module-info-item:eq(-2)&&Text;.module-info-tag-link&&Text;.module-info-tag-link:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(1)&&Text',
|
||||||
|
content: '.module-info-introduction&&Text',
|
||||||
|
tabs: '.module-tab-item',
|
||||||
|
lists: '.module-play-list:eq(#id) a',
|
||||||
|
tab_text: 'div--small&&Text',
|
||||||
|
},
|
||||||
|
搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text',
|
||||||
|
},
|
||||||
|
mxone5: {
|
||||||
|
title: '',
|
||||||
|
host: '',
|
||||||
|
url: '/show/fyclass--------fypage---.html',
|
||||||
|
searchUrl: '/search/**----------fypage---.html',
|
||||||
|
searchable: 2, //是否启用全局搜索,
|
||||||
|
quickSearch: 0, //是否启用快速搜索,
|
||||||
|
filterable: 0, //是否启用分类筛选,
|
||||||
|
class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?)\.html',
|
||||||
|
play_parse: true,
|
||||||
|
lazy: common_lazy,
|
||||||
|
limit: 6,
|
||||||
|
double: true, // 推荐内容是否双层定位
|
||||||
|
推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
|
||||||
|
一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
|
||||||
|
二级: {
|
||||||
|
title: 'h1&&Text;.tag-link&&Text',
|
||||||
|
img: '.module-item-pic&&img&&data-src',
|
||||||
|
desc: '.video-info-items:eq(3)&&Text;.tag-link:eq(2)&&Text;.tag-link:eq(1)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(0)&&Text',
|
||||||
|
content: '.vod_content&&Text',
|
||||||
|
tabs: '.module-tab-item',
|
||||||
|
lists: '.module-player-list:eq(#id)&&.scroll-content&&a',
|
||||||
|
tab_text: 'div--small&&Text',
|
||||||
|
},
|
||||||
|
搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href',
|
||||||
|
},
|
||||||
|
首图: {
|
||||||
|
title: '',
|
||||||
|
host: '',
|
||||||
|
url: '/vodshow/fyclass--------fypage---/',
|
||||||
|
searchUrl: '/vodsearch/**----------fypage---.html',
|
||||||
|
searchable: 2, //是否启用全局搜索,
|
||||||
|
quickSearch: 0, //是否启用快速搜索,
|
||||||
|
filterable: 0, //是否启用分类筛选,
|
||||||
|
headers: { //网站的请求头,完整支持所有的,常带ua和cookies
|
||||||
|
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
|
||||||
|
},
|
||||||
|
class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html',
|
||||||
|
play_parse: true,
|
||||||
|
lazy: common_lazy,
|
||||||
|
limit: 6,
|
||||||
|
double: true, // 推荐内容是否双层定位
|
||||||
|
推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
|
||||||
|
一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
|
||||||
|
二级: {
|
||||||
|
title: '.myui-content__detail .title--span&&Text;.myui-content__detail p.data:eq(3)&&Text',
|
||||||
|
img: '.myui-content__thumb .lazyload&&data-original',
|
||||||
|
desc: '.myui-content__detail p.otherbox&&Text;.year&&Text;.myui-content__detail p.data:eq(4)&&Text;.myui-content__detail p.data:eq(2)&&Text;.myui-content__detail p.data:eq(0)&&Text',
|
||||||
|
content: '.content&&Text',
|
||||||
|
tabs: '.myui-panel__head&&li',
|
||||||
|
// tabs: '.nav-tabs&&li',
|
||||||
|
lists: '.myui-content__list:eq(#id) li',
|
||||||
|
},
|
||||||
|
搜索: '#searchList li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href;.detail&&Text',
|
||||||
|
},
|
||||||
|
首图2: {
|
||||||
|
title: '',
|
||||||
|
host: '',
|
||||||
|
url: '/list/fyclass-fypage.html',
|
||||||
|
searchUrl: '/vodsearch/**----------fypage---.html',
|
||||||
|
searchable: 2, //是否启用全局搜索,
|
||||||
|
quickSearch: 0, //是否启用快速搜索,
|
||||||
|
filterable: 0, //是否启用分类筛选,
|
||||||
|
headers: {
|
||||||
|
'User-Agent': 'UC_UA', // "Cookie": ""
|
||||||
|
},
|
||||||
|
class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html',
|
||||||
|
play_parse: true,
|
||||||
|
lazy: common_lazy,
|
||||||
|
limit: 6,
|
||||||
|
double: true, // 推荐内容是否双层定位
|
||||||
|
推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href',
|
||||||
|
一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
|
||||||
|
二级: {
|
||||||
|
title: '.stui-content__detail .title&&Text;.stui-content__detail&&p:eq(-2)&&a&&Text',
|
||||||
|
title1: '.stui-content__detail .title&&Text;.stui-content__detail&&p&&Text',
|
||||||
|
img: '.stui-content__thumb .lazyload&&data-original',
|
||||||
|
desc: '.stui-content__detail p&&Text;.stui-content__detail&&p:eq(-2)&&a:eq(2)&&Text;.stui-content__detail&&p:eq(-2)&&a:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text;.stui-content__detail p:eq(1)&&Text',
|
||||||
|
desc1: '.stui-content__detail p:eq(4)&&Text;;;.stui-content__detail p:eq(1)&&Text',
|
||||||
|
content: '.detail&&Text',
|
||||||
|
tabs: '.stui-pannel__head h3',
|
||||||
|
tabs1: '.stui-vodlist__head h3',
|
||||||
|
lists: '.stui-content__playlist:eq(#id) li',
|
||||||
|
},
|
||||||
|
搜索: 'ul.stui-vodlist__media,ul.stui-vodlist,#searchList li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href;.detail&&Text',
|
||||||
|
},
|
||||||
|
默认: {
|
||||||
|
title: '',
|
||||||
|
host: '',
|
||||||
|
url: '',
|
||||||
|
searchUrl: '',
|
||||||
|
searchable: 2,
|
||||||
|
quickSearch: 0,
|
||||||
|
filterable: 0,
|
||||||
|
filter: '',
|
||||||
|
filter_url: '',
|
||||||
|
filter_def: {},
|
||||||
|
headers: {
|
||||||
|
'User-Agent': 'MOBILE_UA',
|
||||||
|
},
|
||||||
|
timeout: 5000,
|
||||||
|
class_parse: '#side-menu li;a&&Text;a&&href;/(.*?)\.html',
|
||||||
|
cate_exclude: '',
|
||||||
|
play_parse: true,
|
||||||
|
lazy: def_lazy,
|
||||||
|
double: true,
|
||||||
|
推荐: '列表1;列表2;标题;图片;描述;链接;详情',
|
||||||
|
一级: '列表;标题;图片;描述;链接;详情',
|
||||||
|
二级: {
|
||||||
|
title: 'vod_name;vod_type',
|
||||||
|
img: '图片链接',
|
||||||
|
desc: '主要信息;年代;地区;演员;导演',
|
||||||
|
content: '简介',
|
||||||
|
tabs: '',
|
||||||
|
lists: 'xx:eq(#id)&&a',
|
||||||
|
tab_text: 'body&&Text',
|
||||||
|
list_text: 'body&&Text',
|
||||||
|
list_url: 'a&&href',
|
||||||
|
},
|
||||||
|
搜索: '列表;标题;图片;描述;链接;详情',
|
||||||
|
},
|
||||||
|
vfed: {
|
||||||
|
title: '',
|
||||||
|
host: '',
|
||||||
|
url: '/index.php/vod/show/id/fyclass/page/fypage.html',
|
||||||
|
searchUrl: '/index.php/vod/search/page/fypage/wd/**.html',
|
||||||
|
searchable: 2, //是否启用全局搜索,
|
||||||
|
quickSearch: 0, //是否启用快速搜索,
|
||||||
|
filterable: 0, //是否启用分类筛选,
|
||||||
|
headers: {
|
||||||
|
'User-Agent': 'UC_UA',
|
||||||
|
},
|
||||||
|
class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html',
|
||||||
|
play_parse: true,
|
||||||
|
lazy: common_lazy,
|
||||||
|
limit: 6,
|
||||||
|
double: true, // 推荐内容是否双层定位
|
||||||
|
推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
|
||||||
|
一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
|
||||||
|
二级: {
|
||||||
|
title: 'h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text',
|
||||||
|
img: '.fed-list-info&&a&&data-original',
|
||||||
|
desc: '.fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text',
|
||||||
|
content: '.fed-part-esan&&Text',
|
||||||
|
tabs: '.fed-drop-boxs&&.fed-part-rows&&li',
|
||||||
|
lists: '.fed-play-item:eq(#id)&&ul:eq(1)&&li',
|
||||||
|
},
|
||||||
|
搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text',
|
||||||
|
},
|
||||||
|
海螺3: {
|
||||||
|
title: '',
|
||||||
|
host: '',
|
||||||
|
searchUrl: '/v_search/**----------fypage---.html',
|
||||||
|
url: '/vod_____show/fyclass--------fypage---.html',
|
||||||
|
headers: {
|
||||||
|
'User-Agent': 'MOBILE_UA',
|
||||||
|
},
|
||||||
|
timeout: 5000,
|
||||||
|
class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html',
|
||||||
|
cate_exclude: '明星|专题|最新|排行',
|
||||||
|
limit: 40,
|
||||||
|
play_parse: true,
|
||||||
|
lazy: common_lazy,
|
||||||
|
double: true,
|
||||||
|
推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href',
|
||||||
|
一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
|
||||||
|
二级: {
|
||||||
|
title: '.hl-dc-title&&Text;.hl-dc-content&&li:eq(6)&&Text',
|
||||||
|
img: '.hl-lazy&&data-original',
|
||||||
|
desc: '.hl-dc-content&&li:eq(10)&&Text;.hl-dc-content&&li:eq(4)&&Text;.hl-dc-content&&li:eq(5)&&Text;.hl-dc-content&&li:eq(2)&&Text;.hl-dc-content&&li:eq(3)&&Text',
|
||||||
|
content: '.hl-content-text&&Text',
|
||||||
|
tabs: '.hl-tabs&&a',
|
||||||
|
tab_text: 'a--span&&Text',
|
||||||
|
lists: '.hl-plays-list:eq(#id)&&li',
|
||||||
|
},
|
||||||
|
搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
|
||||||
|
searchable: 2, //是否启用全局搜索,
|
||||||
|
quickSearch: 0, //是否启用快速搜索,
|
||||||
|
filterable: 0, //是否启用分类筛选,
|
||||||
|
},
|
||||||
|
海螺2: {
|
||||||
|
title: '',
|
||||||
|
host: '',
|
||||||
|
searchUrl: '/index.php/vod/search/page/fypage/wd/**/',
|
||||||
|
url: '/index.php/vod/show/id/fyclass/page/fypage/',
|
||||||
|
headers: {
|
||||||
|
'User-Agent': 'MOBILE_UA',
|
||||||
|
},
|
||||||
|
timeout: 5000,
|
||||||
|
class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/',
|
||||||
|
limit: 40,
|
||||||
|
play_parse: true,
|
||||||
|
lazy: common_lazy,
|
||||||
|
double: true,
|
||||||
|
推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href',
|
||||||
|
一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href',
|
||||||
|
二级: {
|
||||||
|
title: 'h2&&Text;.deployment&&Text',
|
||||||
|
img: '.lazy&&data-original',
|
||||||
|
desc: '.deployment&&Text',
|
||||||
|
content: '.ec-show&&Text',
|
||||||
|
tabs: '#tag&&a',
|
||||||
|
lists: '.play_list_box:eq(#id)&&li',
|
||||||
|
},
|
||||||
|
搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href',
|
||||||
|
searchable: 2, //是否启用全局搜索,
|
||||||
|
quickSearch: 0, //是否启用快速搜索,
|
||||||
|
filterable: 0, //是否启用分类筛选,
|
||||||
|
},
|
||||||
|
短视: {
|
||||||
|
title: '',
|
||||||
|
host: '', // homeUrl:'/',
|
||||||
|
url: '/channel/fyclass-fypage.html',
|
||||||
|
searchUrl: '/search.html?wd=**',
|
||||||
|
searchable: 2, //是否启用全局搜索,
|
||||||
|
quickSearch: 0, //是否启用快速搜索,
|
||||||
|
filterable: 0, //是否启用分类筛选,
|
||||||
|
headers: { //网站的请求头,完整支持所有的,常带ua和cookies
|
||||||
|
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
|
||||||
|
},
|
||||||
|
class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html',
|
||||||
|
cate_exclude: '解析|动态',
|
||||||
|
play_parse: true,
|
||||||
|
lazy: common_lazy,
|
||||||
|
limit: 6,
|
||||||
|
double: true, // 推荐内容是否双层定位
|
||||||
|
推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
|
||||||
|
一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
|
||||||
|
二级: {
|
||||||
|
title: 'h1&&Text;.content-rt&&p:eq(0)&&Text',
|
||||||
|
img: '.img&&img&&data-src',
|
||||||
|
desc: '.content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text',
|
||||||
|
content: '.zkjj_a&&Text',
|
||||||
|
tabs: '.py-tabs&&option',
|
||||||
|
lists: '.player:eq(#id) li',
|
||||||
|
},
|
||||||
|
搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href',
|
||||||
|
},
|
||||||
|
短视2: {
|
||||||
|
title: '',
|
||||||
|
host: '',
|
||||||
|
class_name: '电影&电视剧&综艺&动漫',
|
||||||
|
class_url: '1&2&3&4',
|
||||||
|
searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50',
|
||||||
|
searchable: 2,
|
||||||
|
quickSearch: 0,
|
||||||
|
headers: {
|
||||||
|
'User-Agent': 'MOBILE_UA'
|
||||||
|
},
|
||||||
|
url: '/index.php/api/vod#type=fyclass&page=fypage',
|
||||||
|
filterable: 0, //是否启用分类筛选,
|
||||||
|
filter_url: '',
|
||||||
|
filter: {},
|
||||||
|
filter_def: {},
|
||||||
|
detailUrl: '/index.php/vod/detail/id/fyid.html',
|
||||||
|
play_parse: true,
|
||||||
|
lazy: common_lazy,
|
||||||
|
limit: 6,
|
||||||
|
推荐: '.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href',
|
||||||
|
一级: 'js:let body=input.split("#")[1];let t=Math.round(new Date/1e3).toString();let key=md5("DS"+t+"DCC147D11943AF75");let url=input.split("#")[0];body=body+"&time="+t+"&key="+key;print(body);fetch_params.body=body;let html=post(url,fetch_params);let data=JSON.parse(html);VODS=data.list.map(function(it){it.vod_pic=urljoin2(input.split("/i")[0],it.vod_pic);return it});',
|
||||||
|
二级: {
|
||||||
|
title: '.slide-info-title&&Text;.slide-info:eq(2)--strong&&Text',
|
||||||
|
img: '.detail-pic&&data-original',
|
||||||
|
desc: '.slide-info-remarks&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(1)--strong&&Text;.info-parameter&&ul&&li:eq(3)&&Text',
|
||||||
|
content: '#height_limit&&Text',
|
||||||
|
tabs: '.anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a',
|
||||||
|
tab_text: 'a--span&&Text',
|
||||||
|
lists: '.anthology-list-box:eq(#id) li',
|
||||||
|
},
|
||||||
|
搜索: 'json:list;name;pic;;id',
|
||||||
|
},
|
||||||
|
采集1: {
|
||||||
|
title: '',
|
||||||
|
host: '',
|
||||||
|
homeTid: '13',
|
||||||
|
homeUrl: '/api.php/provide/vod/?ac=detail&t={{rule.homeTid}}',
|
||||||
|
detailUrl: '/api.php/provide/vod/?ac=detail&ids=fyid',
|
||||||
|
searchUrl: '/api.php/provide/vod/?wd=**&pg=fypage',
|
||||||
|
url: '/api.php/provide/vod/?ac=detail&pg=fypage&t=fyclass',
|
||||||
|
headers: {
|
||||||
|
'User-Agent': 'MOBILE_UA'
|
||||||
|
},
|
||||||
|
timeout: 5000, // class_name: '电影&电视剧&综艺&动漫',
|
||||||
|
// class_url: '1&2&3&4',
|
||||||
|
// class_parse:'js:let html=request(input);input=JSON.parse(html).class;',
|
||||||
|
class_parse: 'json:class;',
|
||||||
|
limit: 20,
|
||||||
|
multi: 1,
|
||||||
|
searchable: 2, //是否启用全局搜索,
|
||||||
|
quickSearch: 1, //是否启用快速搜索,
|
||||||
|
filterable: 0, //是否启用分类筛选,
|
||||||
|
play_parse: true,
|
||||||
|
parse_url: '',
|
||||||
|
lazy: cj_lazy,
|
||||||
|
推荐: '*',
|
||||||
|
一级: 'json:list;vod_name;vod_pic;vod_remarks;vod_id;vod_play_from',
|
||||||
|
二级: `js:
|
||||||
|
let html=request(input);
|
||||||
|
html=JSON.parse(html);
|
||||||
|
let data=html.list;
|
||||||
|
VOD=data[0];`,
|
||||||
|
搜索: '*',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
return JSON.parse(JSON.stringify(mubanDict));
|
||||||
|
}
|
||||||
|
|
||||||
|
var mubanDict = getMubans();
|
||||||
|
var muban = getMubans();
|
||||||
|
export default {
|
||||||
|
muban,
|
||||||
|
getMubans
|
||||||
|
};
|
||||||
+53
-76
@@ -39,7 +39,6 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
卫视频道,#genre#
|
卫视频道,#genre#
|
||||||
安徽卫视,http://175.22.226.131:888/hls/42/index.m3u8
|
安徽卫视,http://175.22.226.131:888/hls/42/index.m3u8
|
||||||
安徽卫视,http://satellitepull.cnr.cn/live/wxahws/playlist.m3u8
|
安徽卫视,http://satellitepull.cnr.cn/live/wxahws/playlist.m3u8
|
||||||
安徽卫视,http://112.46.105.20:8009/hls/42/index.m3u8
|
|
||||||
安徽卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221226391
|
安徽卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221226391
|
||||||
安徽卫视,http://j.x.bkpcp.top/jx/ANHUIHD
|
安徽卫视,http://j.x.bkpcp.top/jx/ANHUIHD
|
||||||
安徽卫视,http://[2409:8087:74f0:22::7]:6410/270000001128/9900000514/index.m3u8
|
安徽卫视,http://[2409:8087:74f0:22::7]:6410/270000001128/9900000514/index.m3u8
|
||||||
@@ -47,9 +46,9 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
安徽卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226391/index.m3u8
|
安徽卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226391/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/3221226391/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:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226943/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0QmKQ_slRCwvVVUUfxPVbw%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
|
||||||
北京卫视,http://175.22.226.131:888/hls/34/index.m3u8
|
北京卫视,http://175.22.226.131:888/hls/34/index.m3u8
|
||||||
北京卫视,http://satellitepull.cnr.cn/live/wxbtv/playlist.m3u8
|
北京卫视,http://satellitepull.cnr.cn/live/wxbtv/playlist.m3u8
|
||||||
北京卫视,http://112.46.105.20:8009/hls/35/index.m3u8
|
|
||||||
北京卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010143
|
北京卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010143
|
||||||
北京卫视,http://z.b.bkpcp.top/m.php?id=bjws
|
北京卫视,http://z.b.bkpcp.top/m.php?id=bjws
|
||||||
北京卫视,http://j.x.bkpcp.top/jx/BEIJHD
|
北京卫视,http://j.x.bkpcp.top/jx/BEIJHD
|
||||||
@@ -57,12 +56,13 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
北京卫视,http://[2409:8087:74f0:22::6]:6410/270000001128/9900000516/index.m3u8
|
北京卫视,http://[2409:8087:74f0:22::6]:6410/270000001128/9900000516/index.m3u8
|
||||||
北京卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226450/index.m3u8
|
北京卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226450/index.m3u8
|
||||||
北京卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226450/index.m3u8
|
北京卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226450/index.m3u8
|
||||||
|
北京卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226450/index.m3u8
|
||||||
兵团卫视,http://175.22.226.131:888/hls/62/index.m3u8
|
兵团卫视,http://175.22.226.131:888/hls/62/index.m3u8
|
||||||
兵团卫视,https://liveout.btzx.com.cn/62ds9e/yil08g.m3u8
|
兵团卫视,https://liveout.btzx.com.cn/62ds9e/yil08g.m3u8
|
||||||
|
兵团卫视,http://8.138.7.223/tv/btws.m3u8
|
||||||
兵团卫视,http://[2409:8087:1a0b:df::4020]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226439/index.m3u8
|
兵团卫视,http://[2409:8087:1a0b:df::4020]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226439/index.m3u8
|
||||||
重庆卫视,http://175.22.226.131:888/hls/50/index.m3u8
|
重庆卫视,http://175.22.226.131:888/hls/50/index.m3u8
|
||||||
重庆卫视,http://satellitepull.cnr.cn/live/wxcqws/playlist.m3u8
|
重庆卫视,http://satellitepull.cnr.cn/live/wxcqws/playlist.m3u8
|
||||||
重庆卫视,http://112.46.105.20:8009/hls/43/index.m3u8
|
|
||||||
重庆卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010053
|
重庆卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010053
|
||||||
重庆卫视,http://z.b.bkpcp.top/m.php?id=cqws
|
重庆卫视,http://z.b.bkpcp.top/m.php?id=cqws
|
||||||
重庆卫视,http://j.x.bkpcp.top/jx/CHONGQHD
|
重庆卫视,http://j.x.bkpcp.top/jx/CHONGQHD
|
||||||
@@ -70,8 +70,8 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
重庆卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226409/index.m3u8
|
重庆卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226409/index.m3u8
|
||||||
重庆卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226409/index.m3u8
|
重庆卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226409/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/3221226409/index.m3u8
|
||||||
|
重庆卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010053/1.m3u8
|
||||||
东方卫视,http://175.22.226.131:888/hls/35/index.m3u8
|
东方卫视,http://175.22.226.131:888/hls/35/index.m3u8
|
||||||
东方卫视,http://112.46.105.20:8009/hls/31/index.m3u8
|
|
||||||
东方卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010054
|
东方卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010054
|
||||||
东方卫视,http://z.b.bkpcp.top/m.php?id=dfws#rtsp://115.85.232.19/PLTV/88888910/224/3221225531/10000100000000060000000000107311_0.smil
|
东方卫视,http://z.b.bkpcp.top/m.php?id=dfws#rtsp://115.85.232.19/PLTV/88888910/224/3221225531/10000100000000060000000000107311_0.smil
|
||||||
东方卫视,http://goo.bkpcp.top/mg/dfws
|
东方卫视,http://goo.bkpcp.top/mg/dfws
|
||||||
@@ -80,9 +80,9 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
东方卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226345/index.m3u8
|
东方卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226345/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/3221226345/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:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226898/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0uh4lyjjBCCN7TCq21vSIQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
|
||||||
东南卫视,http://175.22.226.131:888/hls/48/index.m3u8
|
东南卫视,http://175.22.226.131:888/hls/48/index.m3u8
|
||||||
东南卫视,http://satellitepull.cnr.cn/live/wx32fjws/playlist.m3u8
|
东南卫视,http://satellitepull.cnr.cn/live/wx32fjws/playlist.m3u8
|
||||||
东南卫视,http://112.46.105.20:8009/hls/45/index.m3u8
|
|
||||||
东南卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010096
|
东南卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010096
|
||||||
东南卫视,http://z.b.bkpcp.top/m.php?id=dnws
|
东南卫视,http://z.b.bkpcp.top/m.php?id=dnws
|
||||||
东南卫视,http://j.x.bkpcp.top/jx/DONGNHD
|
东南卫视,http://j.x.bkpcp.top/jx/DONGNHD
|
||||||
@@ -90,9 +90,9 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
东南卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226341/index.m3u8
|
东南卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226341/index.m3u8
|
||||||
东南卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226341/index.m3u8
|
东南卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226341/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:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226991/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EQ6F5Mjgs0tJyEArWFL3vQA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
|
||||||
甘肃卫视,http://175.22.226.131:888/hls/63/index.m3u8
|
甘肃卫视,http://175.22.226.131:888/hls/63/index.m3u8
|
||||||
甘肃卫视,http://satellitepull.cnr.cn/live/wxgsws/playlist.m3u8
|
甘肃卫视,http://satellitepull.cnr.cn/live/wxgsws/playlist.m3u8
|
||||||
甘肃卫视,http://112.46.105.20:8009/hls/51/index.m3u8
|
|
||||||
甘肃卫视,http://live.zohi.tv/video/s10001-fztv-3/index.m3u8
|
甘肃卫视,http://live.zohi.tv/video/s10001-fztv-3/index.m3u8
|
||||||
甘肃卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010098
|
甘肃卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010098
|
||||||
甘肃卫视,http://z.b.bkpcp.top/m.php?id=gsws
|
甘肃卫视,http://z.b.bkpcp.top/m.php?id=gsws
|
||||||
@@ -100,9 +100,9 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
甘肃卫视,http://goo.bkpcp.top/mg/gsws
|
甘肃卫视,http://goo.bkpcp.top/mg/gsws
|
||||||
甘肃卫视,http://[2409:8087:74f0:22::5]:6410/270000001128/9900000023/index.m3u8
|
甘肃卫视,http://[2409:8087:74f0:22::5]:6410/270000001128/9900000023/index.m3u8
|
||||||
甘肃卫视,http://[2409:8087:74f0:22::7]:6410/270000001111/1110000322/index.m3u8
|
甘肃卫视,http://[2409:8087:74f0:22::7]:6410/270000001111/1110000322/index.m3u8
|
||||||
|
甘肃卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225633/index.m3u8
|
||||||
广东卫视,http://175.22.226.131:888/hls/43/index.m3u8
|
广东卫视,http://175.22.226.131:888/hls/43/index.m3u8
|
||||||
广东卫视,http://satellitepull.cnr.cn/live/wxgdws/playlist.m3u8
|
广东卫视,http://satellitepull.cnr.cn/live/wxgdws/playlist.m3u8
|
||||||
广东卫视,http://112.46.105.20:8009/hls/36/index.m3u8
|
|
||||||
广东卫视,http://php.jdshipin.com:8880/TVOD/gsyd.php?id=9900000520
|
广东卫视,http://php.jdshipin.com:8880/TVOD/gsyd.php?id=9900000520
|
||||||
广东卫视,http://z.b.bkpcp.top/m.php?id=gdws
|
广东卫视,http://z.b.bkpcp.top/m.php?id=gdws
|
||||||
广东卫视,http://j.x.bkpcp.top/jx/GUANGDHD
|
广东卫视,http://j.x.bkpcp.top/jx/GUANGDHD
|
||||||
@@ -110,8 +110,8 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
广东卫视,http://[2409:8087:74f0:22::6]:6410/270000001128/9900000520/index.m3u8
|
广东卫视,http://[2409:8087:74f0:22::6]:6410/270000001128/9900000520/index.m3u8
|
||||||
广东卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226248/index.m3u8
|
广东卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226248/index.m3u8
|
||||||
广东卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226248/index.m3u8
|
广东卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226248/index.m3u8
|
||||||
|
广东卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226248/index.m3u8
|
||||||
广西卫视,http://175.22.226.131:888/hls/59/index.m3u8
|
广西卫视,http://175.22.226.131:888/hls/59/index.m3u8
|
||||||
广西卫视,http://112.46.105.20:8009/hls/53/index.m3u8
|
|
||||||
广西卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221226549
|
广西卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221226549
|
||||||
广西卫视,http://z.b.bkpcp.top/m.php?id=gxws
|
广西卫视,http://z.b.bkpcp.top/m.php?id=gxws
|
||||||
广西卫视,https://mobilelive.gxtv.cn/live/gx_live1004/playlist.m3u8
|
广西卫视,https://mobilelive.gxtv.cn/live/gx_live1004/playlist.m3u8
|
||||||
@@ -120,9 +120,9 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
广西卫视,http://[2409:8087:74f0:22::7]:6410/270000001128/9900000034/index.m3u8
|
广西卫视,http://[2409:8087:74f0:22::7]:6410/270000001128/9900000034/index.m3u8
|
||||||
广西卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226549/index.m3u8
|
广西卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226549/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/3221226549/index.m3u8
|
||||||
|
广西卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010099/1.m3u8
|
||||||
贵州卫视,http://175.22.226.131:888/hls/45/index.m3u8
|
贵州卫视,http://175.22.226.131:888/hls/45/index.m3u8
|
||||||
贵州卫视,http://satellitepull.cnr.cn/live/wx32gzws/playlist.m3u8
|
贵州卫视,http://satellitepull.cnr.cn/live/wx32gzws/playlist.m3u8
|
||||||
贵州卫视,http://112.46.105.20:8009/hls/50/index.m3u8
|
|
||||||
贵州卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221226474
|
贵州卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221226474
|
||||||
贵州卫视,http://z.b.bkpcp.top/m.php?id=gzws
|
贵州卫视,http://z.b.bkpcp.top/m.php?id=gzws
|
||||||
贵州卫视,http://j.x.bkpcp.top/jx/GUIZHD
|
贵州卫视,http://j.x.bkpcp.top/jx/GUIZHD
|
||||||
@@ -130,6 +130,7 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
贵州卫视,http://[2409:8087:74f0:22::7]:6410/270000001128/9900000036/index.m3u8
|
贵州卫视,http://[2409:8087:74f0:22::7]:6410/270000001128/9900000036/index.m3u8
|
||||||
贵州卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226474/index.m3u8
|
贵州卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226474/index.m3u8
|
||||||
贵州卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226474/index.m3u8
|
贵州卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226474/index.m3u8
|
||||||
|
贵州卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010100/1.m3u8
|
||||||
海南卫视,http://175.22.226.131:888/hls/52/index.m3u8
|
海南卫视,http://175.22.226.131:888/hls/52/index.m3u8
|
||||||
海南卫视,http://satellitepull.cnr.cn/live/wxhainlyws/playlist.m3u8
|
海南卫视,http://satellitepull.cnr.cn/live/wxhainlyws/playlist.m3u8
|
||||||
海南卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010083
|
海南卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010083
|
||||||
@@ -142,7 +143,6 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
海南卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226922/1.m3u8
|
海南卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226922/1.m3u8
|
||||||
河北卫视,http://175.22.226.131:888/hls/47/index.m3u8
|
河北卫视,http://175.22.226.131:888/hls/47/index.m3u8
|
||||||
河北卫视,http://satellitepull.cnr.cn/live/wxhebws/playlist.m3u8
|
河北卫视,http://satellitepull.cnr.cn/live/wxhebws/playlist.m3u8
|
||||||
河北卫视,http://112.46.105.20:8009/hls/55/index.m3u8
|
|
||||||
河北卫视,http://php.fjl626.cn/hebei.php?id=hbws
|
河北卫视,http://php.fjl626.cn/hebei.php?id=hbws
|
||||||
河北卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010101
|
河北卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010101
|
||||||
河北卫视,http://z.b.bkpcp.top/m.php?id=hbws
|
河北卫视,http://z.b.bkpcp.top/m.php?id=hbws
|
||||||
@@ -150,9 +150,9 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
河北卫视,http://[2409:8087:74f0:22::7]:6410/270000001128/9900000057/index.m3u8
|
河北卫视,http://[2409:8087:74f0:22::7]:6410/270000001128/9900000057/index.m3u8
|
||||||
河北卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226406/index.m3u8
|
河北卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226406/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:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227014/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7ErSGjhI3DMaaAASPrbQJYTg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
|
||||||
河南卫视,http://175.22.226.131:888/hls/55/index.m3u8
|
河南卫视,http://175.22.226.131:888/hls/55/index.m3u8
|
||||||
河南卫视,http://satellitepull.cnr.cn/live/wxhnws/playlist.m3u8
|
河南卫视,http://satellitepull.cnr.cn/live/wxhnws/playlist.m3u8
|
||||||
河南卫视,http://112.46.105.20:8009/hls/46/index.m3u8
|
|
||||||
河南卫视,http://tvpull.dxhmt.cn:9081/tv/11425-1.m3u8
|
河南卫视,http://tvpull.dxhmt.cn:9081/tv/11425-1.m3u8
|
||||||
河南卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221226480
|
河南卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221226480
|
||||||
河南卫视,http://z.b.bkpcp.top/m.php?id=hnws
|
河南卫视,http://z.b.bkpcp.top/m.php?id=hnws
|
||||||
@@ -160,28 +160,28 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
河南卫视,http://goo.bkpcp.top/mg/hnws
|
河南卫视,http://goo.bkpcp.top/mg/hnws
|
||||||
河南卫视,http://[2409:8087:74f0:22::7]:6410/270000001128/9900000027/index.m3u8
|
河南卫视,http://[2409:8087:74f0:22::7]:6410/270000001128/9900000027/index.m3u8
|
||||||
河南卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226480/index.m3u8
|
河南卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226480/index.m3u8
|
||||||
|
河南卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226480/index.m3u8
|
||||||
黑龙江卫视,http://175.22.226.131:888/hls/46/index.m3u8
|
黑龙江卫视,http://175.22.226.131:888/hls/46/index.m3u8
|
||||||
黑龙江卫视,https://s1.abntelevision.com/avivamientoabr/stream/avivamientohd/avivamientohd/chunks.m3u8
|
黑龙江卫视,https://s1.abntelevision.com/avivamientoabr/stream/avivamientohd/avivamientohd/chunks.m3u8
|
||||||
黑龙江卫视,http://satellitepull.cnr.cn/live/wx32hljws/playlist.m3u8
|
黑龙江卫视,http://satellitepull.cnr.cn/live/wx32hljws/playlist.m3u8
|
||||||
黑龙江卫视,http://112.46.105.20:8009/hls/38/index.m3u8
|
|
||||||
黑龙江卫视,http://61.156.228.12:8154/tsfile/live/0143_1.m3u8
|
|
||||||
黑龙江卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010056
|
黑龙江卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010056
|
||||||
黑龙江卫视,http://j.x.bkpcp.top/jx/HEILJHD
|
黑龙江卫视,http://j.x.bkpcp.top/jx/HEILJHD
|
||||||
黑龙江卫视,http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8
|
黑龙江卫视,http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8
|
||||||
黑龙江卫视,http://[2409:8087:4c0a:22:1::11]:6410/170000001115/UmaiCHAN181356BESTVSMGSMG/index.m3u8
|
黑龙江卫视,http://[2409:8087:4c0a:22:1::11]:6410/170000001115/UmaiCHAN181356BESTVSMGSMG/index.m3u8
|
||||||
黑龙江卫视,http://[2409:8087:74f0:22::6]:6410/270000001128/9900000521/index.m3u8
|
黑龙江卫视,http://[2409:8087:74f0:22::6]:6410/270000001128/9900000521/index.m3u8
|
||||||
|
黑龙江卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225799/index.m3u8
|
||||||
|
黑龙江卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226327/index.m3u8
|
||||||
湖北卫视,http://175.22.226.131:888/hls/49/index.m3u8
|
湖北卫视,http://175.22.226.131:888/hls/49/index.m3u8
|
||||||
湖北卫视,http://satellitepull.cnr.cn/live/wx32hubws/playlist.m3u8
|
湖北卫视,http://satellitepull.cnr.cn/live/wx32hubws/playlist.m3u8
|
||||||
湖北卫视,http://120.76.248.139/live/bfgd/4200000102.m3u8
|
|
||||||
湖北卫视,http://112.46.105.20:8009/hls/39/index.m3u8
|
|
||||||
湖北卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010057
|
湖北卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010057
|
||||||
湖北卫视,http://z.b.bkpcp.top/m.php?id=hubws
|
湖北卫视,http://z.b.bkpcp.top/m.php?id=hubws
|
||||||
湖北卫视,http://j.x.bkpcp.top/jx/HUBEIHD
|
湖北卫视,http://j.x.bkpcp.top/jx/HUBEIHD
|
||||||
湖北卫视,http://goo.bkpcp.top/mg/hubws
|
湖北卫视,http://goo.bkpcp.top/mg/hubws
|
||||||
湖北卫视,http://[2409:8087:74f0:22::5]:6410/270000001128/9900000522/index.m3u8
|
湖北卫视,http://[2409:8087:74f0:22::5]:6410/270000001128/9900000522/index.m3u8
|
||||||
湖北卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226477/index.m3u8
|
湖北卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226477/index.m3u8
|
||||||
|
湖北卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226477/index.m3u8
|
||||||
|
湖北卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010057/1.m3u8
|
||||||
湖南卫视,http://175.22.226.131:888/hls/38/index.m3u8
|
湖南卫视,http://175.22.226.131:888/hls/38/index.m3u8
|
||||||
湖南卫视,http://112.46.105.20:8009/hls/32/index.m3u8
|
|
||||||
湖南卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010058
|
湖南卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010058
|
||||||
湖南卫视,http://z.b.bkpcp.top/m.php?id=hunws
|
湖南卫视,http://z.b.bkpcp.top/m.php?id=hunws
|
||||||
湖南卫视,http://j.x.bkpcp.top/jx/HUNANHD
|
湖南卫视,http://j.x.bkpcp.top/jx/HUNANHD
|
||||||
@@ -190,9 +190,9 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
湖南卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226307/index.m3u8
|
湖南卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226307/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:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226493/1.m3u8
|
湖南卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226493/1.m3u8
|
||||||
|
湖南卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226509/1.m3u8
|
||||||
吉林卫视,http://175.22.226.131:888/hls/21/index.m3u8
|
吉林卫视,http://175.22.226.131:888/hls/21/index.m3u8
|
||||||
吉林卫视,http://satellitepull.cnr.cn/live/wxjlws/playlist.m3u8
|
吉林卫视,http://satellitepull.cnr.cn/live/wxjlws/playlist.m3u8
|
||||||
吉林卫视,http://112.46.105.20:8009/hls/48/index.m3u8
|
|
||||||
吉林卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010075
|
吉林卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010075
|
||||||
吉林卫视,http://z.b.bkpcp.top/m.php?id=jlws
|
吉林卫视,http://z.b.bkpcp.top/m.php?id=jlws
|
||||||
吉林卫视,http://j.x.bkpcp.top/jx/JILHD
|
吉林卫视,http://j.x.bkpcp.top/jx/JILHD
|
||||||
@@ -200,9 +200,8 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
吉林卫视,http://[2409:8087:74f0:22::5]:6410/270000001128/9900000030/index.m3u8
|
吉林卫视,http://[2409:8087:74f0:22::5]:6410/270000001128/9900000030/index.m3u8
|
||||||
吉林卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226397/index.m3u8
|
吉林卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226397/index.m3u8
|
||||||
吉林卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226533/1.m3u8
|
吉林卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226533/1.m3u8
|
||||||
|
吉林卫视,http://dsj.motem.top:8880/bptv/10000100000000050000000004972569.m3u8
|
||||||
江苏卫视,http://175.22.226.131:888/hls/36/index.m3u8
|
江苏卫视,http://175.22.226.131:888/hls/36/index.m3u8
|
||||||
江苏卫视,http://112.46.105.20:8009/hls/33/index.m3u8
|
|
||||||
江苏卫视,http://58.19.43.46:9901/tsfile/live/1038_1.m3u8
|
|
||||||
江苏卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010059
|
江苏卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010059
|
||||||
江苏卫视,http://z.b.bkpcp.top/m.php?id=jsws
|
江苏卫视,http://z.b.bkpcp.top/m.php?id=jsws
|
||||||
江苏卫视,http://goo.bkpcp.top/mg/jsws
|
江苏卫视,http://goo.bkpcp.top/mg/jsws
|
||||||
@@ -210,9 +209,10 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
江苏卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226310/index.m3u8
|
江苏卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226310/index.m3u8
|
||||||
江苏卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226310/index.m3u8
|
江苏卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226310/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/3221226310/index.m3u8
|
||||||
|
江苏卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010059/1.m3u8
|
||||||
|
江苏卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226897/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E0BmO6uHF7WFoTed__Xr3NQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
|
||||||
江西卫视,http://175.22.226.131:888/hls/58/index.m3u8
|
江西卫视,http://175.22.226.131:888/hls/58/index.m3u8
|
||||||
江西卫视,http://satellitepull.cnr.cn/live/wx32jiangxws/playlist.m3u8
|
江西卫视,http://satellitepull.cnr.cn/live/wx32jiangxws/playlist.m3u8
|
||||||
江西卫视,http://112.46.105.20:8009/hls/47/index.m3u8
|
|
||||||
江西卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010060
|
江西卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010060
|
||||||
江西卫视,http://z.b.bkpcp.top/m.php?id=jxws
|
江西卫视,http://z.b.bkpcp.top/m.php?id=jxws
|
||||||
江西卫视,http://goo.bkpcp.top/mg/jxws
|
江西卫视,http://goo.bkpcp.top/mg/jxws
|
||||||
@@ -220,8 +220,8 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
江西卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226344/index.m3u8
|
江西卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226344/index.m3u8
|
||||||
江西卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226344/index.m3u8
|
江西卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226344/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:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226956/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ei6ZIpVizXlewg-YfGvH8dA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
|
||||||
辽宁卫视,http://175.22.226.131:888/hls/39/index.m3u8
|
辽宁卫视,http://175.22.226.131:888/hls/39/index.m3u8
|
||||||
辽宁卫视,http://112.46.105.20:8009/hls/54/index.m3u8
|
|
||||||
辽宁卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221226546
|
辽宁卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221226546
|
||||||
辽宁卫视,http://z.b.bkpcp.top/m.php?id=lnws
|
辽宁卫视,http://z.b.bkpcp.top/m.php?id=lnws
|
||||||
辽宁卫视,http://j.x.bkpcp.top/jx/LIAONHD
|
辽宁卫视,http://j.x.bkpcp.top/jx/LIAONHD
|
||||||
@@ -230,6 +230,7 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/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/3221226546/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:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226327/1.m3u8
|
辽宁卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226327/1.m3u8
|
||||||
|
辽宁卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226336/1.m3u8
|
||||||
内蒙古卫视,http://175.22.226.131:888/hls/57/index.m3u8
|
内蒙古卫视,http://175.22.226.131:888/hls/57/index.m3u8
|
||||||
内蒙古卫视,http://satellitepull.cnr.cn/live/wx32nmgws/playlist.m3u8
|
内蒙古卫视,http://satellitepull.cnr.cn/live/wx32nmgws/playlist.m3u8
|
||||||
内蒙古卫视,https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8
|
内蒙古卫视,https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8
|
||||||
@@ -242,7 +243,6 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
内蒙古卫视,http://dsj.motem.top:8880/bptv/10000100000000050000000003887427.m3u8
|
内蒙古卫视,http://dsj.motem.top:8880/bptv/10000100000000050000000003887427.m3u8
|
||||||
宁夏卫视,http://175.22.226.131:888/hls/65/index.m3u8
|
宁夏卫视,http://175.22.226.131:888/hls/65/index.m3u8
|
||||||
宁夏卫视,http://satellitepull.cnr.cn/live/wxnxws/playlist.m3u8
|
宁夏卫视,http://satellitepull.cnr.cn/live/wxnxws/playlist.m3u8
|
||||||
宁夏卫视,http://112.46.105.20:8009/hls/52/index.m3u8
|
|
||||||
宁夏卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010110
|
宁夏卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010110
|
||||||
宁夏卫视,http://z.b.bkpcp.top/m.php?id=nxws
|
宁夏卫视,http://z.b.bkpcp.top/m.php?id=nxws
|
||||||
宁夏卫视,http://j.x.bkpcp.top/jx/NXWS
|
宁夏卫视,http://j.x.bkpcp.top/jx/NXWS
|
||||||
@@ -252,7 +252,6 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
宁夏卫视,http://dsj.motem.top:8880/bptv/10000100000000050000000003887433.m3u8
|
宁夏卫视,http://dsj.motem.top:8880/bptv/10000100000000050000000003887433.m3u8
|
||||||
青海卫视,http://175.22.226.131:888/hls/54/index.m3u8
|
青海卫视,http://175.22.226.131:888/hls/54/index.m3u8
|
||||||
青海卫视,http://satellitepull.cnr.cn/live/wx32qhws/playlist.m3u8
|
青海卫视,http://satellitepull.cnr.cn/live/wx32qhws/playlist.m3u8
|
||||||
青海卫视,http://112.46.105.20:8009/hls/58/index.m3u8
|
|
||||||
青海卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010111
|
青海卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010111
|
||||||
青海卫视,http://z.b.bkpcp.top/m.php?id=qhws
|
青海卫视,http://z.b.bkpcp.top/m.php?id=qhws
|
||||||
青海卫视,http://j.x.bkpcp.top/jx/QHWS
|
青海卫视,http://j.x.bkpcp.top/jx/QHWS
|
||||||
@@ -260,6 +259,7 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
青海卫视,http://[2409:8087:74f0:22::5]:6410/270000001128/9900000042/index.m3u8
|
青海卫视,http://[2409:8087:74f0:22::5]:6410/270000001128/9900000042/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/3221225628/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:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226529/1.m3u8
|
||||||
三沙卫视,http://175.22.226.131:888/hls/66/index.m3u8
|
三沙卫视,http://175.22.226.131:888/hls/66/index.m3u8
|
||||||
三沙卫视,http://www.jiaocj.xyz:4000/udp/239.49.0.167:8000
|
三沙卫视,http://www.jiaocj.xyz:4000/udp/239.49.0.167:8000
|
||||||
三沙卫视,http://[2409:8087:5e00:24::1e]:6060/000000001000/4600001000000000117/1.m3u8
|
三沙卫视,http://[2409:8087:5e00:24::1e]:6060/000000001000/4600001000000000117/1.m3u8
|
||||||
@@ -268,7 +268,6 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
三沙卫视,https://livessws.hnntv.cn/live/ssws_02hnntv.m3u8?_upt=c509d0ea1747156492
|
三沙卫视,https://livessws.hnntv.cn/live/ssws_02hnntv.m3u8?_upt=c509d0ea1747156492
|
||||||
山东卫视,http://175.22.226.131:888/hls/44/index.m3u8
|
山东卫视,http://175.22.226.131:888/hls/44/index.m3u8
|
||||||
山东卫视,http://satellitepull.cnr.cn/live/wxsdws/playlist.m3u8
|
山东卫视,http://satellitepull.cnr.cn/live/wxsdws/playlist.m3u8
|
||||||
山东卫视,http://112.46.105.20:8009/hls/40/index.m3u8
|
|
||||||
山东卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010066
|
山东卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010066
|
||||||
山东卫视,http://z.b.bkpcp.top/m.php?id=sdws
|
山东卫视,http://z.b.bkpcp.top/m.php?id=sdws
|
||||||
山东卫视,http://j.x.bkpcp.top/jx/SHANDHD
|
山东卫视,http://j.x.bkpcp.top/jx/SHANDHD
|
||||||
@@ -276,9 +275,9 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
山东卫视,http://[2409:8087:74f0:22::5]:6410/270000001128/9900000527/index.m3u8
|
山东卫视,http://[2409:8087:74f0:22::5]:6410/270000001128/9900000527/index.m3u8
|
||||||
山东卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226456/index.m3u8
|
山东卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226456/index.m3u8
|
||||||
山东卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226456/index.m3u8
|
山东卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226456/index.m3u8
|
||||||
|
山东卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226456/index.m3u8
|
||||||
山西卫视,http://175.22.226.131:888/hls/56/index.m3u8
|
山西卫视,http://175.22.226.131:888/hls/56/index.m3u8
|
||||||
山西卫视,http://satellitepull.cnr.cn/live/wxssxws/playlist.m3u8
|
山西卫视,http://satellitepull.cnr.cn/live/wxssxws/playlist.m3u8
|
||||||
山西卫视,http://112.46.105.20:8009/hls/49/index.m3u8
|
|
||||||
山西卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010114
|
山西卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010114
|
||||||
山西卫视,http://j.x.bkpcp.top/jx/SXWS
|
山西卫视,http://j.x.bkpcp.top/jx/SXWS
|
||||||
山西卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225624/index.m3u8
|
山西卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225624/index.m3u8
|
||||||
@@ -288,27 +287,26 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
山西卫视,http://dsj.motem.top:8880/bptv/10000100000000050000000003887413.m3u8
|
山西卫视,http://dsj.motem.top:8880/bptv/10000100000000050000000003887413.m3u8
|
||||||
陕西卫视,http://175.22.226.131:888/hls/53/index.m3u8
|
陕西卫视,http://175.22.226.131:888/hls/53/index.m3u8
|
||||||
陕西卫视,http://satellitepull.cnr.cn/live/wxsxxws/playlist.m3u8
|
陕西卫视,http://satellitepull.cnr.cn/live/wxsxxws/playlist.m3u8
|
||||||
陕西卫视,http://39.164.180.36:19901/tsfile/live/0136_1.m3u8?key=txiptv&amp;playlive=0&amp;authid=0
|
|
||||||
陕西卫视,http://171.15.18.199:8180/TV00000000000000000039@HHZT
|
陕西卫视,http://171.15.18.199:8180/TV00000000000000000039@HHZT
|
||||||
陕西卫视,http://112.46.105.20:8009/hls/17/index.m3u8
|
|
||||||
陕西卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010113
|
陕西卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010113
|
||||||
陕西卫视,http://z.b.bkpcp.top/m.php?id=sxws
|
陕西卫视,http://z.b.bkpcp.top/m.php?id=sxws
|
||||||
陕西卫视,http://gat.bkpcp.top/ymg.php?id=sxws
|
陕西卫视,http://gat.bkpcp.top/ymg.php?id=sxws
|
||||||
陕西卫视,http://goo.bkpcp.top/mg/sxws
|
陕西卫视,http://goo.bkpcp.top/mg/sxws
|
||||||
陕西卫视,http://hlsbkmgsplive.miguvideo.com/migu/kailu/shan3xiws/57/20220809/index.m3u8
|
陕西卫视,http://hlsbkmgsplive.miguvideo.com/migu/kailu/shan3xiws/57/20220809/index.m3u8
|
||||||
|
陕西卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225625/index.m3u8
|
||||||
|
陕西卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226532/1.m3u8
|
||||||
深圳卫视,http://175.22.226.131:888/hls/41/index.m3u8
|
深圳卫视,http://175.22.226.131:888/hls/41/index.m3u8
|
||||||
深圳卫视,http://satellitepull.cnr.cn/live/wxszws/playlist.m3u8
|
深圳卫视,http://satellitepull.cnr.cn/live/wxszws/playlist.m3u8
|
||||||
深圳卫视,http://yncbn.ks-cdn.gitv.tv/gitv_live/G_SHENZHEN-HQ/G_SHENZHEN-HQ.m3u8
|
深圳卫视,http://yncbn.ks-cdn.gitv.tv/gitv_live/G_SHENZHEN-HQ/G_SHENZHEN-HQ.m3u8
|
||||||
深圳卫视,http://112.46.105.20:8009/hls/37/index.m3u8
|
|
||||||
深圳卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010068
|
深圳卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010068
|
||||||
深圳卫视,http://[2409:8087:74f0:22::5]:6410/270000001128/9900000529/index.m3u8
|
深圳卫视,http://[2409:8087:74f0:22::5]:6410/270000001128/9900000529/index.m3u8
|
||||||
深圳卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226313/index.m3u8
|
深圳卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226313/index.m3u8
|
||||||
深圳卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226313/index.m3u8
|
深圳卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226313/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/3221226313/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:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226959/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EGrVNEZREjuNVKiTJo2mtwg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
|
||||||
四川卫视,http://175.22.226.131:888/hls/61/index.m3u8
|
四川卫视,http://175.22.226.131:888/hls/61/index.m3u8
|
||||||
四川卫视,http://satellitepull.cnr.cn/live/wxscws/playlist.m3u8
|
四川卫视,http://satellitepull.cnr.cn/live/wxscws/playlist.m3u8
|
||||||
四川卫视,http://112.46.105.20:8009/hls/41/index.m3u8
|
|
||||||
四川卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221226338
|
四川卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221226338
|
||||||
四川卫视,http://z.b.bkpcp.top/m.php?id=scws
|
四川卫视,http://z.b.bkpcp.top/m.php?id=scws
|
||||||
四川卫视,http://j.x.bkpcp.top/jx/SICHD
|
四川卫视,http://j.x.bkpcp.top/jx/SICHD
|
||||||
@@ -316,8 +314,8 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
四川卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226338/index.m3u8
|
四川卫视,http://[2409:8087:1a01:df::4077]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226338/index.m3u8
|
||||||
四川卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226338/index.m3u8
|
四川卫视,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226338/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:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226995/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EBQiz3wrGrpG0CUSRIJ-7Jg%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
|
||||||
天津卫视,http://175.22.226.131:888/hls/40/index.m3u8
|
天津卫视,http://175.22.226.131:888/hls/40/index.m3u8
|
||||||
天津卫视,http://112.46.105.20:8009/hls/44/index.m3u8
|
|
||||||
天津卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221226459
|
天津卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221226459
|
||||||
天津卫视,http://j.x.bkpcp.top/jx/TIANJHD
|
天津卫视,http://j.x.bkpcp.top/jx/TIANJHD
|
||||||
天津卫视,http://[2409:8087:74f0:22::6]:6410/270000001128/9900000530/index.m3u8
|
天津卫视,http://[2409:8087:74f0:22::6]:6410/270000001128/9900000530/index.m3u8
|
||||||
@@ -326,19 +324,17 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/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/3221226459/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:1a01:df::4030]:80/TVOD/88888888/224/3221225972/main.m3u8
|
天津卫视,http://[2409:8087:1a01:df::4030]:80/TVOD/88888888/224/3221225972/main.m3u8
|
||||||
|
天津卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226246/1.m3u8
|
||||||
西藏卫视,http://175.22.226.131:888/hls/60/index.m3u8
|
西藏卫视,http://175.22.226.131:888/hls/60/index.m3u8
|
||||||
西藏卫视,http://satellitepull.cnr.cn/live/wxxzws/playlist.m3u8
|
西藏卫视,http://satellitepull.cnr.cn/live/wxxzws/playlist.m3u8
|
||||||
西藏卫视,http://www.lysvc.cc/daili/xztv.php?id=0
|
西藏卫视,http://www.lysvc.cc/daili/xztv.php?id=0
|
||||||
西藏卫视,http://112.46.105.20:8009/hls/59/index.m3u8
|
|
||||||
西藏卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221225638
|
西藏卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221225638
|
||||||
西藏卫视,http://z.b.bkpcp.top/m.php?id=xzws
|
西藏卫视,http://z.b.bkpcp.top/m.php?id=xzws
|
||||||
西藏卫视,http://goo.bkpcp.top/mg/xzws
|
西藏卫视,http://goo.bkpcp.top/mg/xzws
|
||||||
西藏卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226527/1.m3u8
|
西藏卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226527/1.m3u8
|
||||||
西藏卫视,http://dsj.motem.top:8880/bptv/10000100000000050000000003887434.m3u8
|
西藏卫视,http://dsj.motem.top:8880/bptv/10000100000000050000000003887434.m3u8
|
||||||
西藏卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227033/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EdeTB7OZ9G_VNJk5C3t96fQ%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
|
|
||||||
新疆卫视,http://175.22.226.131:888/hls/64/index.m3u8
|
新疆卫视,http://175.22.226.131:888/hls/64/index.m3u8
|
||||||
新疆卫视,http://satellitepull.cnr.cn/live/wxxjws/playlist.m3u8
|
新疆卫视,http://satellitepull.cnr.cn/live/wxxjws/playlist.m3u8
|
||||||
新疆卫视,http://112.46.105.20:8009/hls/61/index.m3u8
|
|
||||||
新疆卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221225635
|
新疆卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221225635
|
||||||
新疆卫视,http://z.b.bkpcp.top/m.php?id=xjws
|
新疆卫视,http://z.b.bkpcp.top/m.php?id=xjws
|
||||||
新疆卫视,http://j.x.bkpcp.top/jx/XJWS
|
新疆卫视,http://j.x.bkpcp.top/jx/XJWS
|
||||||
@@ -348,7 +344,6 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
新疆卫视,http://dsj.motem.top:8880/bptv/10000100000000050000000003887448.m3u8
|
新疆卫视,http://dsj.motem.top:8880/bptv/10000100000000050000000003887448.m3u8
|
||||||
云南卫视,http://175.22.226.131:888/hls/51/index.m3u8
|
云南卫视,http://175.22.226.131:888/hls/51/index.m3u8
|
||||||
云南卫视,http://satellitepull.cnr.cn/live/wxynws/playlist.m3u8
|
云南卫视,http://satellitepull.cnr.cn/live/wxynws/playlist.m3u8
|
||||||
云南卫视,http://112.46.105.20:8009/hls/56/index.m3u8
|
|
||||||
云南卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221226444
|
云南卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221226444
|
||||||
云南卫视,http://z.b.bkpcp.top/m.php?id=ynws
|
云南卫视,http://z.b.bkpcp.top/m.php?id=ynws
|
||||||
云南卫视,http://goo.bkpcp.top/mg/ynws
|
云南卫视,http://goo.bkpcp.top/mg/ynws
|
||||||
@@ -356,16 +351,17 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/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/3221226444/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:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226543/1.m3u8
|
云南卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226543/1.m3u8
|
||||||
|
云南卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226928/1.m3u8
|
||||||
浙江卫视,http://175.22.226.131:888/hls/37/index.m3u8
|
浙江卫视,http://175.22.226.131:888/hls/37/index.m3u8
|
||||||
浙江卫视,http://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8
|
浙江卫视,http://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8
|
||||||
浙江卫视,https://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8
|
浙江卫视,https://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8
|
||||||
浙江卫视,http://112.46.105.20:8009/hls/34/index.m3u8
|
浙江卫视,http://58.57.40.22:9901/tsfile/live/1029_1.m3u8
|
||||||
浙江卫视,http://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8#mitv://generationnexxxt.com:19806/7bf4b3a65eaf421ab6d71bd8dcc4547a
|
|
||||||
浙江卫视,http://zwebl02.cztv.com/live/channel011080P.m3u8?auth_key=2524708799-0-0-9a1229d8b9d311024ebea08c3fb1d63f
|
浙江卫视,http://zwebl02.cztv.com/live/channel011080P.m3u8?auth_key=2524708799-0-0-9a1229d8b9d311024ebea08c3fb1d63f
|
||||||
浙江卫视,http://zhfivel02.cztv.com/channel01/1080p.m3u8?auth_key=2524708799-0-0-adde67b1b344fdd5e512f30a4ae31915
|
浙江卫视,http://zhfivel02.cztv.com/channel01/1080p.m3u8?auth_key=2524708799-0-0-adde67b1b344fdd5e512f30a4ae31915
|
||||||
浙江卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010070
|
浙江卫视,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010070
|
||||||
浙江卫视,http://z.b.bkpcp.top/m.php?id=zjws
|
浙江卫视,http://z.b.bkpcp.top/m.php?id=zjws
|
||||||
浙江卫视,http://goo.bkpcp.top/mg/zjws
|
浙江卫视,http://goo.bkpcp.top/mg/zjws
|
||||||
|
浙江卫视,http://l.cztvcloud.com/channels/lantian/SXpinghu3/720p.m3u8
|
||||||
安多卫视,https://livecdn.dmqhyadmin.com/hls/xjmenyuan.m3u8
|
安多卫视,https://livecdn.dmqhyadmin.com/hls/xjmenyuan.m3u8
|
||||||
安多卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221225659
|
安多卫视,http://php.jdshipin.com/TVOD/hljyd.php?id=3221225659
|
||||||
安多卫视,http://[2409:8087:1a0b:df::4007]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225659/index.m3u8
|
安多卫视,http://[2409:8087:1a0b:df::4007]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225659/index.m3u8
|
||||||
@@ -393,16 +389,12 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/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/3221226450/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:5e00:24::1e]:6060/200000001898/460000089800010043/1.m3u8
|
北京卫视,http://[2409:8087:5e00:24::1e]:6060/200000001898/460000089800010043/1.m3u8
|
||||||
北京文艺,https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s2/index.m3u8?time=1748552351&sign=9526b3587f95b92db0e95509a2c25de7
|
|
||||||
北京文艺,http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226440/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EWrJcgMpdGPvZavpf4dmmrQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNhmwDsUZnvQgU5E5wiGA2g%2CEND
|
北京文艺,http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226440/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EWrJcgMpdGPvZavpf4dmmrQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNNhmwDsUZnvQgU5E5wiGA2g%2CEND
|
||||||
北京影视,https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s4/index.m3u8?time=1748552352&sign=4b6ff2b332319b7dcd7715ade0214f83
|
|
||||||
北京影视,http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226433/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EygquRbh9L0wUPRY53fsZWw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO62IynDcU1yYDL1b4Xte8T%2CEND
|
北京影视,http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226433/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EygquRbh9L0wUPRY53fsZWw%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO62IynDcU1yYDL1b4Xte8T%2CEND
|
||||||
北京财经,https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s5/index.m3u8?time=1748552353&sign=95dddcf1094bc85c54a43a5fef3daac3
|
|
||||||
北京财经,https://wstvcpudali.v.myalicdn.com/wstvcpud/udrmbtv5_1/index.m3u8?adapt=0&BR=audio
|
北京财经,https://wstvcpudali.v.myalicdn.com/wstvcpud/udrmbtv5_1/index.m3u8?adapt=0&BR=audio
|
||||||
北京财经,http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226516/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eh9_SEkmWeMdS1TMnIILZgg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPIiicEW7OIvk1s-X-PXHqO%2CEND
|
北京财经,http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226516/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Eh9_SEkmWeMdS1TMnIILZgg%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPIiicEW7OIvk1s-X-PXHqO%2CEND
|
||||||
北京财经,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226516/1.m3u8
|
北京财经,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226516/1.m3u8
|
||||||
北京财经,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226560/1.m3u8
|
北京财经,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226560/1.m3u8
|
||||||
北京生活,https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s7/index.m3u8?time=1748552353&sign=7d363bccac4159dc12a332997c9f1b61
|
|
||||||
北京生活,https://wstvcpudali.v.myalicdn.com/wstvcpud/udrmbtv7_1/index.m3u8?adapt=0&BR=audio
|
北京生活,https://wstvcpudali.v.myalicdn.com/wstvcpud/udrmbtv7_1/index.m3u8?adapt=0&BR=audio
|
||||||
北京生活,http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226514/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Es-PVNcPJsjr_oBdcXGT40g%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMWvZ0r6eMXcXJOGrCpJiq1%2CEND
|
北京生活,http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226514/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Es-PVNcPJsjr_oBdcXGT40g%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMWvZ0r6eMXcXJOGrCpJiq1%2CEND
|
||||||
北京生活,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226514/1.m3u8
|
北京生活,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226514/1.m3u8
|
||||||
@@ -417,9 +409,7 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
北京新闻,https://brtv-radiolive.rbc.cn/alive/fm945.m3u8
|
北京新闻,https://brtv-radiolive.rbc.cn/alive/fm945.m3u8
|
||||||
北京新闻,http://yc.myds.me:35455/bptv/10000100000000050000000003870780.m3u8
|
北京新闻,http://yc.myds.me:35455/bptv/10000100000000050000000003870780.m3u8
|
||||||
北京新闻,http://dsj.motem.top:8880/bptv/10000100000000050000000003870780.m3u8
|
北京新闻,http://dsj.motem.top:8880/bptv/10000100000000050000000003870780.m3u8
|
||||||
北京卡酷少儿,https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s10/index.m3u8?time=1748552354&sign=f3766c58218e484513e405535ad4ca27
|
|
||||||
北京国际,http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226510/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EIfgL7tTUNqHAIdgvKuwj8A%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPr9j5nfyiWS_jEXD6m401A%2CEND
|
北京国际,http://[2409:8087:1:20:20::2a]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226510/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EIfgL7tTUNqHAIdgvKuwj8A%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPr9j5nfyiWS_jEXD6m401A%2CEND
|
||||||
北京纪实科教,https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s3/index.m3u8?time=1748552352&sign=12bf25abd032727569f9e2a97b452d0b
|
|
||||||
北京纪实科教,http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226434/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ejj3PtVjzl6ZzFdM-Vi1dmQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPJa61jREJv4ZfZigyrxX0U%2CEND
|
北京纪实科教,http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226434/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7Ejj3PtVjzl6ZzFdM-Vi1dmQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNPJa61jREJv4ZfZigyrxX0U%2CEND
|
||||||
北京体育休闲,http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226438/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EeVAybrHg955d_IRT9e_uHQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMLCKqkSfuGOusJwBMwlCbz%2CEND
|
北京体育休闲,http://[2409:8087:1:20:20::29]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226438/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EeVAybrHg955d_IRT9e_uHQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNMLCKqkSfuGOusJwBMwlCbz%2CEND
|
||||||
萌宠TV,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226555/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E_PpxWPtvSZRFtu_Ged-vQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO0istnBuoA2R9ODSCqyIyS%2CEND
|
萌宠TV,http://[2409:8087:1:20:20::26]/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226555/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7E_PpxWPtvSZRFtu_Ged-vQ%7E_eNUbgU9sJGUcVVduOMKhafLvQUgE_zlz_7pvDimJNO0istnBuoA2R9ODSCqyIyS%2CEND
|
||||||
@@ -446,16 +436,14 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
东南卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226991/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EQ6F5Mjgs0tJyEArWFL3vQA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
|
东南卫视,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226991/1.m3u8?GuardEncType=2&accountinfo=%7E%7EV2.0%7EQ6F5Mjgs0tJyEArWFL3vQA%7EtP4-l0lmSfjwLWEfK_el1vH_mv-s1zo4AQJwdedaVwG9xkuFTDg8J26cwOrNJzn20BErrHdLhuZ9EzLUCD3PMW-OMx4MGteHV2vLeW6BqoY%2CEND
|
||||||
东南卫视,http://[2409:8087:1a01:df::4035]:80/TVOD/88888888/224/3221225950/main.m3u8
|
东南卫视,http://[2409:8087:1a01:df::4035]:80/TVOD/88888888/224/3221225950/main.m3u8
|
||||||
东南卫视,http://iptv.huuc.edu.cn/hls/dnhd.m3u8
|
东南卫视,http://iptv.huuc.edu.cn/hls/dnhd.m3u8
|
||||||
海峡卫视,http://8.138.7.223/tv/fjtv.php?id=3
|
|
||||||
海峡卫视,http://hlsbkmgsplive.miguvideo.com/migu/kailu/haixiaws/57/20230724/01.m3u8
|
海峡卫视,http://hlsbkmgsplive.miguvideo.com/migu/kailu/haixiaws/57/20230724/01.m3u8
|
||||||
海峡卫视,http://hlsbkmgsplive.miguvideo.com/migu/kailu/haixiaws/57/20230724/01.m3u8?msisdn=&Channel_ID=&ContentId=&HlsSubType=&HlsProfileId=&encrypt=
|
海峡卫视,http://hlsbkmgsplive.miguvideo.com/migu/kailu/haixiaws/57/20230724/01.m3u8?msisdn=&Channel_ID=&ContentId=&HlsSubType=&HlsProfileId=&encrypt=
|
||||||
福建公共,http://aa3.kkwk111.top/fj.php?id=6
|
福建公共,http://aa3.kkwk111.top/fj.php?id=6
|
||||||
福建新闻,http://satellitepull.cnr.cn/live/wx32fjxwgb/playlist.m3u8
|
福建新闻,http://satellitepull.cnr.cn/live/wx32fjxwgb/playlist.m3u8
|
||||||
福建新闻,https://satellitepull.cnr.cn/live/wx32fjxwgb/playlist.m3u8
|
福建新闻,https://satellitepull.cnr.cn/live/wx32fjxwgb/playlist.m3u8
|
||||||
福建旅游,http://aa3.kkwk111.top/fj.php?id=8
|
福建旅游,http://aa3.kkwk111.top/fj.php?id=8
|
||||||
福建经济,http://aa3.kkwk111.top/fj.php?id=9
|
|
||||||
福建经济,http://satellitepull.cnr.cn/live/wx32fjdnjjgb/playlist.m3u8
|
福建经济,http://satellitepull.cnr.cn/live/wx32fjdnjjgb/playlist.m3u8
|
||||||
福建经济,http://8.138.7.223/tv/fjtv.php?id=9
|
福建经济,http://aa3.kkwk111.top/fj.php?id=9
|
||||||
|
|
||||||
甘肃频道,#genre#
|
甘肃频道,#genre#
|
||||||
甘肃经济,https://satellitepull.cnr.cn/live/wxgshhzs/playlist.m3u8
|
甘肃经济,https://satellitepull.cnr.cn/live/wxgshhzs/playlist.m3u8
|
||||||
@@ -467,14 +455,16 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
甘肃少儿,https://hls.gstv.com.cn/49048r/922k96.m3u8
|
甘肃少儿,https://hls.gstv.com.cn/49048r/922k96.m3u8
|
||||||
|
|
||||||
广东频道,#genre#
|
广东频道,#genre#
|
||||||
|
广东珠江,http://1b6467f415.iok.la:9931/tsfile/live/1011_1.m3u8
|
||||||
广东珠江,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010091
|
广东珠江,http://php.jdshipin.com/TVOD/hnyd.php?id=200000001898/460000089800010091
|
||||||
广东珠江,http://cdn2.163189.xyz/live/gdzj/stream.m3u8
|
广东珠江,http://cdn2.163189.xyz/live/gdzj/stream.m3u8
|
||||||
广东珠江,http://cdn2.132.us.kg/live/gdzj/stream.m3u8
|
广东珠江,http://cdn2.132.us.kg/live/gdzj/stream.m3u8
|
||||||
|
广东珠江,https://tv.cdn.com.mp/live/gdzj/stream.m3u8
|
||||||
广东体育,http://119.32.12.17:2901/udp/224.1.100.34:11111
|
广东体育,http://119.32.12.17:2901/udp/224.1.100.34:11111
|
||||||
广东体育,https://epg.pw/stream/7b470f9fc5c305db0c8622117b7b25ca00eb35ba3e93e865cf0ff9df5c736681.m3u8
|
广东体育,https://epg.pw/stream/7b470f9fc5c305db0c8622117b7b25ca00eb35ba3e93e865cf0ff9df5c736681.m3u8
|
||||||
广东体育,http://cdn2.163189.xyz/live/gdty/stream.m3u8
|
广东体育,http://cdn2.163189.xyz/live/gdty/stream.m3u8
|
||||||
广东民生,http://119.32.12.17:2901/udp/224.1.100.4:11111
|
|
||||||
广东民生,http://183.237.95.108:9901/tsfile/live/1032_1.m3u8?key=txiptv&playlive=0&authid=0
|
广东民生,http://183.237.95.108:9901/tsfile/live/1032_1.m3u8?key=txiptv&playlive=0&authid=0
|
||||||
|
广东民生,http://119.32.12.17:2901/udp/224.1.100.4:11111
|
||||||
广东民生,http://183.11.239.36:808/hls/18/index.m3u8
|
广东民生,http://183.11.239.36:808/hls/18/index.m3u8
|
||||||
广东新闻,https://satellitepull.cnr.cn/live/wxgdxwgb/playlist.m3u8
|
广东新闻,https://satellitepull.cnr.cn/live/wxgdxwgb/playlist.m3u8
|
||||||
广东经济科教,http://119.32.12.17:2901/udp/224.1.100.6:11111
|
广东经济科教,http://119.32.12.17:2901/udp/224.1.100.6:11111
|
||||||
@@ -498,7 +488,6 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
广州综合,http://119.32.12.17:2901/udp/224.1.100.36:11111
|
广州综合,http://119.32.12.17:2901/udp/224.1.100.36:11111
|
||||||
广州综合,http://php.jdshipin.com:8880/gztv.php?id=zhonghe
|
广州综合,http://php.jdshipin.com:8880/gztv.php?id=zhonghe
|
||||||
广州影视,http://php.jdshipin.com:8880/gztv.php?id=yingshi#https://tencentplay.gztv.com/live/yingshi.m3u8?txSecret=7e9bddad7c8911626ed1d2c09fc605d9&txTime=18d00acf487
|
广州影视,http://php.jdshipin.com:8880/gztv.php?id=yingshi#https://tencentplay.gztv.com/live/yingshi.m3u8?txSecret=7e9bddad7c8911626ed1d2c09fc605d9&txTime=18d00acf487
|
||||||
广州竞赛,http://8.138.7.223/tv/gzjs.m3u8
|
|
||||||
广州竞赛,http://php.jdshipin.com:8880/gztv.php?id=jingsai#https://tencentplay.gztv.com/live/jingsai.m3u8?txSecret=49c8041461997c7a97dbcc3c7fd11b4f&txTime=18d00acf487
|
广州竞赛,http://php.jdshipin.com:8880/gztv.php?id=jingsai#https://tencentplay.gztv.com/live/jingsai.m3u8?txSecret=49c8041461997c7a97dbcc3c7fd11b4f&txTime=18d00acf487
|
||||||
佛山综合,http://php.jdshipin.com:8880/fstv.php?id=fszh
|
佛山综合,http://php.jdshipin.com:8880/fstv.php?id=fszh
|
||||||
|
|
||||||
@@ -540,6 +529,7 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
|
|
||||||
湖北频道,#genre#
|
湖北频道,#genre#
|
||||||
湖北综合,http://[2409:8087:4c0a:22:1::11]:6410/170000001115/UmaiCHAN638072216f7da/index.m3u8?AuthInfo=9kOOdBn7MFF%2F2bWjKgahUUAdKgLqNB5aOAUhcp5CeNLx3R3LdIBdA5q61lut1LwZcw4SC2tJubc%2Bq5t%2F61jvWCtjrJL0x%2BHncPgdmcbBW9I
|
湖北综合,http://[2409:8087:4c0a:22:1::11]:6410/170000001115/UmaiCHAN638072216f7da/index.m3u8?AuthInfo=9kOOdBn7MFF%2F2bWjKgahUUAdKgLqNB5aOAUhcp5CeNLx3R3LdIBdA5q61lut1LwZcw4SC2tJubc%2Bq5t%2F61jvWCtjrJL0x%2BHncPgdmcbBW9I
|
||||||
|
湖北经视,http://58.19.43.46:9901/tsfile/live/1017_1.m3u8
|
||||||
湖北影视,http://58.19.43.46:9901/tsfile/live/1016_1.m3u8
|
湖北影视,http://58.19.43.46:9901/tsfile/live/1016_1.m3u8
|
||||||
湖北教育,http://[2409:8087:4c0a:22:1::11]:6410/170000001115/UmaiCHAN638072a6cbbf6/index.m3u8?AuthInfo=9kOOdBn7MFF%2F2bWjKgahUUAdKgLqNB5aOAUhcp5CeNKTFQuOKNd5i0HMa3ydMWIQ6kJ2fBJGJ77BLTXK72CqUYQsX3ZguYt0954s9hfZTfc
|
湖北教育,http://[2409:8087:4c0a:22:1::11]:6410/170000001115/UmaiCHAN638072a6cbbf6/index.m3u8?AuthInfo=9kOOdBn7MFF%2F2bWjKgahUUAdKgLqNB5aOAUhcp5CeNKTFQuOKNd5i0HMa3ydMWIQ6kJ2fBJGJ77BLTXK72CqUYQsX3ZguYt0954s9hfZTfc
|
||||||
湖北生活,http://satellitepull.cnr.cn/live/wx32hubczshgb/playlist.m3u8
|
湖北生活,http://satellitepull.cnr.cn/live/wx32hubczshgb/playlist.m3u8
|
||||||
@@ -548,20 +538,13 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
|
|
||||||
湖南频道,#genre#
|
湖南频道,#genre#
|
||||||
湖南国际,http://php.jdshipin.com:8880/iptv.php
|
湖南国际,http://php.jdshipin.com:8880/iptv.php
|
||||||
湖南国际,http://php.jdshipin.com:8880/TVOD/iptv.php?id=hngj
|
|
||||||
湖南经视,http://php.jdshipin.com:8880/iptv.php
|
湖南经视,http://php.jdshipin.com:8880/iptv.php
|
||||||
湖南经视,http://php.jdshipin.com:8880/TVOD/iptv.php?id=hnjs
|
|
||||||
湖南都市,http://php.jdshipin.com:8880/iptv.php
|
湖南都市,http://php.jdshipin.com:8880/iptv.php
|
||||||
湖南都市,http://php.jdshipin.com:8880/TVOD/iptv.php?id=hnds
|
|
||||||
湖南娱乐,http://php.jdshipin.com:8880/iptv.php
|
湖南娱乐,http://php.jdshipin.com:8880/iptv.php
|
||||||
湖南娱乐,http://php.jdshipin.com:8880/TVOD/iptv.php?id=hnyl
|
|
||||||
湖南电视剧,http://php.jdshipin.com:8880/iptv.php
|
湖南电视剧,http://php.jdshipin.com:8880/iptv.php
|
||||||
湖南电视剧,http://php.jdshipin.com:8880/TVOD/iptv.php?id=hndsj
|
|
||||||
湖南爱晚,http://p2.vzan.com/527645544/149039617847513156/live.m3u8
|
湖南爱晚,http://p2.vzan.com/527645544/149039617847513156/live.m3u8
|
||||||
湖南爱晚,http://php.jdshipin.com:8880/iptv.php
|
湖南爱晚,http://php.jdshipin.com:8880/iptv.php
|
||||||
湖南爱晚,http://php.jdshipin.com:8880/TVOD/iptv.php?id=hngg
|
|
||||||
湖南电影,http://php.jdshipin.com:8880/iptv.php
|
湖南电影,http://php.jdshipin.com:8880/iptv.php
|
||||||
湖南电影,http://php.jdshipin.com:8880/TVOD/iptv.php?id=hndy
|
|
||||||
金鹰卡通,http://[2409:8087:1a0b:df::4008]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225653/index.m3u8
|
金鹰卡通,http://[2409:8087:1a0b:df::4008]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225653/index.m3u8
|
||||||
金鹰卡通,http://dsj.motem.top:8880/bptv/10000100000000050000000004796942.m3u8
|
金鹰卡通,http://dsj.motem.top:8880/bptv/10000100000000050000000004796942.m3u8
|
||||||
金鹰纪实,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226572/1.m3u8
|
金鹰纪实,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226572/1.m3u8
|
||||||
@@ -580,10 +563,12 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
黑龙江少儿,https://ls.qingting.fm/live/4972/64k.m3u8
|
黑龙江少儿,https://ls.qingting.fm/live/4972/64k.m3u8
|
||||||
黑龙江少儿,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226304/index.m3u8
|
黑龙江少儿,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226304/index.m3u8
|
||||||
哈尔滨新闻综合,http://php.jdshipin.com/TVOD/hljyd.php?id=3221226434
|
哈尔滨新闻综合,http://php.jdshipin.com/TVOD/hljyd.php?id=3221226434
|
||||||
哈尔滨影视,https://stream.hrbtv.net/yspd/playlist.m3u8
|
哈尔滨影视,http://stream.hrbtv.net/yspd/sd/live.m3u8?zheild
|
||||||
哈尔滨资讯,http://stream.hrbtv.net/zxpd/sd/live.m3u8
|
哈尔滨资讯,http://stream.hrbtv.net/zxpd/sd/live.m3u8
|
||||||
|
哈尔滨生活,http://111.43.126.240:9003/hls/3/index.m3u8
|
||||||
|
哈尔滨生活,https://stream.hrbtv.net/shpd/sd/live.m3u8
|
||||||
哈尔滨生活,http://stream.hrbtv.net/shpd/sd/live.m3u8
|
哈尔滨生活,http://stream.hrbtv.net/shpd/sd/live.m3u8
|
||||||
哈尔滨娱乐,http://stream.hrbtv.net/ylpd/sd/live.m3u8
|
哈尔滨娱乐,http://stream.hrbtv.net/ylpd/sd/live.m3u8?zheild#http://stream.hrbtv.net/ylpd/sd/live.m3u8#https://stream.hrbtv.net/ylpd/sd/live.m3u8
|
||||||
|
|
||||||
吉林频道,#genre#
|
吉林频道,#genre#
|
||||||
吉林乡村,https://satellitepull.cnr.cn/live/wxjlxcgb/playlist.m3u8
|
吉林乡村,https://satellitepull.cnr.cn/live/wxjlxcgb/playlist.m3u8
|
||||||
@@ -622,9 +607,7 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
南京十八,https://live.nbs.cn/channels/njtv/sbpd/m3u8:500k/live.m3u8
|
南京十八,https://live.nbs.cn/channels/njtv/sbpd/m3u8:500k/live.m3u8
|
||||||
南京十八,http://live.nbs.cn/channels/njtv/sbpd/500k.m3u8?zjiangsd
|
南京十八,http://live.nbs.cn/channels/njtv/sbpd/500k.m3u8?zjiangsd
|
||||||
南京信息,http://live.nbs.cn/channels/njtv/xxpd/500k.m3u8?zjiangsd
|
南京信息,http://live.nbs.cn/channels/njtv/xxpd/500k.m3u8?zjiangsd
|
||||||
南京信息,http://live.nbs.cn/channels/njtv/xxpd/m3u8:500k/live.m3u8
|
|
||||||
南京娱乐,http://live.nbs.cn/channels/njtv/ylpd/500k.m3u8?zjiangsd
|
南京娱乐,http://live.nbs.cn/channels/njtv/ylpd/500k.m3u8?zjiangsd
|
||||||
南京娱乐,http://live.nbs.cn/channels/njtv/ylpd/m3u8:500k/live.m3u8
|
|
||||||
南京少儿,http://live.nbs.cn/channels/njtv/sepd/nbs23.m3u8
|
南京少儿,http://live.nbs.cn/channels/njtv/sepd/nbs23.m3u8
|
||||||
南京少儿,https://live.nbs.cn/channels/njtv/sepd/nbs23.m3u8
|
南京少儿,https://live.nbs.cn/channels/njtv/sepd/nbs23.m3u8
|
||||||
南京少儿,http://live.nbs.cn/channels/njtv/sepd/m3u8:500k/live.m3u8
|
南京少儿,http://live.nbs.cn/channels/njtv/sepd/m3u8:500k/live.m3u8
|
||||||
@@ -633,20 +616,19 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
|
|
||||||
辽宁频道,#genre#
|
辽宁频道,#genre#
|
||||||
辽宁都市,https://ls.qingting.fm/live/1099/64k.m3u8
|
辽宁都市,https://ls.qingting.fm/live/1099/64k.m3u8
|
||||||
辽宁影视剧,http://dassby.qqff.top:99/live/%E8%BE%BD%E5%AE%81%E5%BD%B1%E8%A7%86%E5%89%A7/index.m3u8
|
|
||||||
辽宁影视剧,http://120.76.248.139/live/bfgd/4200000070.m3u8
|
辽宁影视剧,http://120.76.248.139/live/bfgd/4200000070.m3u8
|
||||||
辽宁生活,http://dassby.qqff.top:99/live/辽宁生活/index.m3u8
|
辽宁影视剧,http://dassby.qqff.top:99/live/%E8%BE%BD%E5%AE%81%E5%BD%B1%E8%A7%86%E5%89%A7/index.m3u8
|
||||||
辽宁生活,http://120.76.248.139/live/bfgd/4200000073.m3u8
|
辽宁生活,http://120.76.248.139/live/bfgd/4200000073.m3u8
|
||||||
辽宁教育青少,http://dassby.qqff.top:99/live/辽宁教育青少/index.m3u8
|
辽宁生活,http://dassby.qqff.top:99/live/辽宁生活/index.m3u8
|
||||||
辽宁教育青少,http://120.76.248.139/live/bfgd/4200000075.m3u8
|
辽宁教育青少,http://120.76.248.139/live/bfgd/4200000075.m3u8
|
||||||
辽宁北方,http://dassby.qqff.top:99/live/辽宁北方/index.m3u8
|
辽宁教育青少,http://dassby.qqff.top:99/live/辽宁教育青少/index.m3u8
|
||||||
辽宁北方,http://120.76.248.139/live/bfgd/4200000071.m3u8
|
辽宁北方,http://120.76.248.139/live/bfgd/4200000071.m3u8
|
||||||
|
辽宁北方,http://dassby.qqff.top:99/live/辽宁北方/index.m3u8
|
||||||
朝阳新闻综合,http://120.76.248.139/live/bfgd/4200000282.m3u8
|
朝阳新闻综合,http://120.76.248.139/live/bfgd/4200000282.m3u8
|
||||||
|
|
||||||
内蒙古频道,#genre#
|
内蒙古频道,#genre#
|
||||||
内蒙古文体娱乐,https://livestream-bt.nmtv.cn/nmtv/2319general.m3u8?txSecret=c7b5c515d2bb6df442492d54955329a3&txTime=771E8800
|
内蒙古文体娱乐,https://livestream-bt.nmtv.cn/nmtv/2319general.m3u8?txSecret=c7b5c515d2bb6df442492d54955329a3&txTime=771E8800
|
||||||
内蒙古经济生活,https://ls.qingting.fm/live/1885/64k.m3u8
|
内蒙古经济生活,https://ls.qingting.fm/live/1885/64k.m3u8
|
||||||
内蒙古农牧,http://play1-qk.nmtv.cn:80/live/1686561299036179.m3u8
|
|
||||||
内蒙古农牧,https://livestream-bt.nmtv.cn/nmtv/2320general.m3u8?txSecret=4d368a175afa19737a9f5be10af24fe2&txTime=771E8800
|
内蒙古农牧,https://livestream-bt.nmtv.cn/nmtv/2320general.m3u8?txSecret=4d368a175afa19737a9f5be10af24fe2&txTime=771E8800
|
||||||
内蒙古少儿,https://livestream-bt.nmtv.cn/nmtv/2318general.m3u8?txSecret=a2c948908728a0733cecbe1fadea23dc&txTime=771E8800
|
内蒙古少儿,https://livestream-bt.nmtv.cn/nmtv/2318general.m3u8?txSecret=a2c948908728a0733cecbe1fadea23dc&txTime=771E8800
|
||||||
|
|
||||||
@@ -660,23 +642,22 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
安多卫视,https://liveout.xntv.tv/a65jur/90p2i1.m3u8?zqinghd
|
安多卫视,https://liveout.xntv.tv/a65jur/90p2i1.m3u8?zqinghd
|
||||||
|
|
||||||
山东频道,#genre#
|
山东频道,#genre#
|
||||||
山东齐鲁,http://123.130.84.106:8154/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0
|
山东齐鲁,http://221.2.148.205:8154/tsfile/live/1001_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||||
山东齐鲁,http://111.14.181.15:9901/tsfile/live/1000_1.m3u8
|
山东文旅,http://221.2.148.205:8154/tsfile/live/1004_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||||
山东文旅,http://58.57.40.22:9901/tsfile/live/1023_1.m3u8
|
山东文旅,http://58.57.40.22:9901/tsfile/live/1023_1.m3u8
|
||||||
|
山东文旅,http://221.2.148.205:8154/tsfile/live/1004_1.m3u8?key=txiptv&playlive=1&authid=0
|
||||||
山东综艺,http://123.129.70.178:9901/tsfile/live/1001_1.m3u8
|
山东综艺,http://123.129.70.178:9901/tsfile/live/1001_1.m3u8
|
||||||
山东综艺,http://111.14.181.15:9901/tsfile/live/1004_1.m3u8
|
|
||||||
山东生活,http://ls.qingting.fm/live/60260.m3u8
|
山东生活,http://ls.qingting.fm/live/60260.m3u8
|
||||||
山东新闻,http://ls.qingting.fm/live/60180.m3u8
|
山东新闻,http://ls.qingting.fm/live/60180.m3u8
|
||||||
山东少儿,http://111.14.181.15:9901/tsfile/live/1005_1.m3u8
|
|
||||||
|
|
||||||
山西频道,#genre#
|
山西频道,#genre#
|
||||||
山西影视,http://60.223.224.176:8888/newlive/live/hls/54/live.m3u8
|
山西影视,http://60.223.224.176:8888/newlive/live/hls/54/live.m3u8
|
||||||
|
|
||||||
陕西频道,#genre#
|
陕西频道,#genre#
|
||||||
陕西都市青春,http://112.46.105.20:8009/hls/19/index.m3u8
|
陕西都市青春,http://112.46.105.20:8009/hls/19/index.m3u8
|
||||||
|
农林卫视,http://120.76.248.139/live/bfgd/4200000122.m3u8
|
||||||
农林卫视,http://112.46.105.20:8009/hls/27/index.m3u8
|
农林卫视,http://112.46.105.20:8009/hls/27/index.m3u8
|
||||||
农林卫视,http://112.46.85.60:8009/hls/27/index.m3u8
|
农林卫视,http://112.46.85.60:8009/hls/27/index.m3u8
|
||||||
农林卫视,http://120.76.248.139/live/bfgd/4200000122.m3u8
|
|
||||||
|
|
||||||
四川频道,#genre#
|
四川频道,#genre#
|
||||||
四川科教,http://182.150.115.21:8030/pcgacg/pcgacg_0.m3u8
|
四川科教,http://182.150.115.21:8030/pcgacg/pcgacg_0.m3u8
|
||||||
@@ -739,8 +720,8 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
浙江卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226339/index.m3u8
|
浙江卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226339/index.m3u8
|
||||||
浙江钱江,http://ali-m-l.cztv.com/channels/lantian/channel02/1080p.m3u8
|
浙江钱江,http://ali-m-l.cztv.com/channels/lantian/channel02/1080p.m3u8
|
||||||
浙江钱江,http://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8?fbl=
|
浙江钱江,http://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8?fbl=
|
||||||
浙江钱江,https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8
|
|
||||||
浙江钱江,http://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8?zzhed
|
浙江钱江,http://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8?zzhed
|
||||||
|
浙江钱江,https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8
|
||||||
浙江钱江,http://l.cztvcloud.com/channels/lantian/SXyuyao2/720p.m3u8
|
浙江钱江,http://l.cztvcloud.com/channels/lantian/SXyuyao2/720p.m3u8
|
||||||
浙江经济生活,http://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8
|
浙江经济生活,http://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8
|
||||||
浙江经济生活,https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8
|
浙江经济生活,https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8
|
||||||
@@ -759,26 +740,23 @@ CCTV央视文化精品,http://175.22.226.131:888/hls/89/index.m3u8
|
|||||||
浙江民生休闲,http://zhfivel02.cztv.com/channel06/1080p.m3u8?auth_key=2524708799-0-0-59c4fe94512c59a90316fbf17ae2fbef
|
浙江民生休闲,http://zhfivel02.cztv.com/channel06/1080p.m3u8?auth_key=2524708799-0-0-59c4fe94512c59a90316fbf17ae2fbef
|
||||||
浙江民生休闲,http://ali-vl.cztv.com/channels/lantian/channel006/360p.m3u8
|
浙江民生休闲,http://ali-vl.cztv.com/channels/lantian/channel006/360p.m3u8
|
||||||
浙江新闻,http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8
|
浙江新闻,http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8
|
||||||
|
浙江新闻,http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8?zzhed
|
||||||
浙江新闻,http://zwebl02.cztv.com/live/channel071080P.m3u8?auth_key=2524708799-0-0-e3b50ca59d2c0883d5386d8bc4cdefbc
|
浙江新闻,http://zwebl02.cztv.com/live/channel071080P.m3u8?auth_key=2524708799-0-0-e3b50ca59d2c0883d5386d8bc4cdefbc
|
||||||
浙江新闻,http://zhfivel02.cztv.com/channel07/1080p.m3u8?auth_key=2524708799-0-0-4af48ba83e791a300595dd0b2bb30e6e
|
浙江新闻,http://zhfivel02.cztv.com/channel07/1080p.m3u8?auth_key=2524708799-0-0-4af48ba83e791a300595dd0b2bb30e6e
|
||||||
浙江新闻,http://ali-vl.cztv.com/channels/lantian/channel007/360p.m3u8
|
浙江新闻,http://ali-vl.cztv.com/channels/lantian/channel007/360p.m3u8
|
||||||
浙江少儿,http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?fbl=#migu5://611318244
|
|
||||||
浙江少儿,http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
浙江少儿,http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
||||||
|
浙江少儿,http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8?fbl=#migu5://611318244
|
||||||
浙江少儿,https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
浙江少儿,https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
||||||
浙江少儿,https://qiniup-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
浙江少儿,https://qiniup-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
||||||
浙江少儿,https://ct-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
浙江少儿,https://ct-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
||||||
浙江少儿,http://ali-vl.cztv.com/channels/lantian/channel008/360p.m3u8
|
浙江少儿,http://ali-vl.cztv.com/channels/lantian/channel008/360p.m3u8
|
||||||
浙江少儿,https://ct-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8#https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8#http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8#https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
|
|
||||||
浙江少儿,http://ali-vl.cztv.com/channels/lantian/channel008/360p.m3u8?a=1000&d=83b26bacf5397c013aff782b2c4287d0&k=c99bdac76cff6ddc27e750ba689b7d5b&t=1704368408
|
|
||||||
浙江国际,https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8
|
|
||||||
浙江国际,http://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8
|
浙江国际,http://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8
|
||||||
浙江国际,http://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8?zzhed
|
浙江国际,https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8
|
||||||
浙江国际,http://zwebl02.cztv.com/live/channel101080P.m3u8?auth_key=2524708799-0-0-c9473fea1da3eff0f29f4c9cf2b36519
|
浙江国际,http://zwebl02.cztv.com/live/channel101080P.m3u8?auth_key=2524708799-0-0-c9473fea1da3eff0f29f4c9cf2b36519
|
||||||
浙江国际,http://zhfivel02.cztv.com/channel10/1080p.m3u8?auth_key=2524708799-0-0-646cad31c1d94b002a325cd75475d30f
|
浙江国际,http://zhfivel02.cztv.com/channel10/1080p.m3u8?auth_key=2524708799-0-0-646cad31c1d94b002a325cd75475d30f
|
||||||
浙江国际,https://ct-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8
|
浙江国际,https://ct-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8
|
||||||
浙江国际,https://qiniup-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8
|
浙江国际,https://qiniup-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8
|
||||||
浙江国际,http://ali-vl.cztv.com/channels/lantian/channel010/360p.m3u8
|
浙江国际,http://ali-vl.cztv.com/channels/lantian/channel010/360p.m3u8
|
||||||
浙江国际,http://ali-vl.cztv.com/channels/lantian/channel010/360p.m3u8?a=1000&d=4e3d476240659192311f471b7b63aec2&k=d26568bae9dd23dd781c769c148459b2&t=1683180450
|
|
||||||
浙江之江纪录,http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8
|
浙江之江纪录,http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8
|
||||||
杭州综合,http://goo.bkpcp.top/mg/hzzh
|
杭州综合,http://goo.bkpcp.top/mg/hzzh
|
||||||
杭州明珠,http://goo.bkpcp.top/mg/hzmz
|
杭州明珠,http://goo.bkpcp.top/mg/hzmz
|
||||||
@@ -818,7 +796,6 @@ CHC家庭影院,http://goo.bkpcp.top/mg/jtyy
|
|||||||
CHC家庭影院,http://z.b.bkpcp.top/m.php?id=jtyy
|
CHC家庭影院,http://z.b.bkpcp.top/m.php?id=jtyy
|
||||||
CHC家庭影院,https://stream1.freetv.fun/chcjia-ting-ying-yuan-17.ctv
|
CHC家庭影院,https://stream1.freetv.fun/chcjia-ting-ying-yuan-17.ctv
|
||||||
CHC家庭影院,http://eastscreen.tv/ooooo.php
|
CHC家庭影院,http://eastscreen.tv/ooooo.php
|
||||||
CHC家庭影院,http://z.b.bkpcp.top/m.php?id=chcjtyy
|
|
||||||
CHC影迷电影,http://175.22.226.131:888/hls/107/index.m3u8
|
CHC影迷电影,http://175.22.226.131:888/hls/107/index.m3u8
|
||||||
CHC影迷电影,https://stream1.freetv.fun/chcying-mi-dian-ying-12.ctv
|
CHC影迷电影,https://stream1.freetv.fun/chcying-mi-dian-ying-12.ctv
|
||||||
CHC影迷电影,https://stream1.freetv.fun/chcying-mi-dian-ying-15.ctv
|
CHC影迷电影,https://stream1.freetv.fun/chcying-mi-dian-ying-15.ctv
|
||||||
|
|||||||
+1719
-655
File diff suppressed because it is too large.
Load diff
+2
-2
@@ -2190,7 +2190,7 @@
|
|||||||
{
|
{
|
||||||
"name": "AI直播",
|
"name": "AI直播",
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"url": "https://wget.la/https://raw.githubusercontent.com/PizazzGY/TV/master/output/user_result.txt",
|
"url": "https://github.3x25.com/https://raw.githubusercontent.com/PizazzGY/TV/master/output/user_result.txt",
|
||||||
"epg": "http://cdn.1678520.xyz/epg/?ch={name}&date={date}",
|
"epg": "http://cdn.1678520.xyz/epg/?ch={name}&date={date}",
|
||||||
"playerType": 1,
|
"playerType": 1,
|
||||||
"timeout": 10
|
"timeout": 10
|
||||||
@@ -2257,7 +2257,7 @@
|
|||||||
{
|
{
|
||||||
"name": "APTV",
|
"name": "APTV",
|
||||||
"type": 0,
|
"type": 0,
|
||||||
"url": "https://wget.la/https://github.com/Kimentanm/aptv/raw/master/m3u/iptv.m3u",
|
"url": "https://github.3x25.com/https://github.com/Kimentanm/aptv/raw/master/m3u/iptv.m3u",
|
||||||
"epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}",
|
"epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}",
|
||||||
"logo": "https://epg.iill.top/logo/{name}.png",
|
"logo": "https://epg.iill.top/logo/{name}.png",
|
||||||
"ua": "okhttp/3.15,AptvPlayer/1.4.0",
|
"ua": "okhttp/3.15,AptvPlayer/1.4.0",
|
||||||
|
|||||||
Binary file not shown.
@@ -387,14 +387,6 @@
|
|||||||
"searchable": 1,
|
"searchable": 1,
|
||||||
"changeable": 1
|
"changeable": 1
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"key": "Wexvipduanju",
|
|
||||||
"name": "🍉短剧┃综合🍉",
|
|
||||||
"type": 3,
|
|
||||||
"api": "csp_WexvipduanjuGuard",
|
|
||||||
"searchable": 1,
|
|
||||||
"changeable": 1
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"key": "Wexduanjuvop",
|
"key": "Wexduanjuvop",
|
||||||
"name": "🍉短剧┃秒播🍉",
|
"name": "🍉短剧┃秒播🍉",
|
||||||
@@ -419,14 +411,6 @@
|
|||||||
"searchable": 1,
|
"searchable": 1,
|
||||||
"changeable": 1
|
"changeable": 1
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"key": "Wexduanju001",
|
|
||||||
"name": "🍉短剧┃极品🍉",
|
|
||||||
"type": 3,
|
|
||||||
"api": "csp_Wexduanju001Guard",
|
|
||||||
"searchable": 1,
|
|
||||||
"changeable": 1
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"key": "Wexlaobaitingshu",
|
"key": "Wexlaobaitingshu",
|
||||||
"name": "🎃白兔┃听书🎃",
|
"name": "🎃白兔┃听书🎃",
|
||||||
|
|||||||
Binary file not shown.
Loaded 100 of 108 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user