This commit is contained in:
Liu committed 2025-06-03 00:32:04 +08:00
1 parent 762655c342
commit 152f9b14fc
108 files changed
+14572 -246025

No files matched your search

+1 -21
View File
@@ -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": "📚有声小说吧",
-33
View File
@@ -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
View File
@@ -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.
+1
View File
@@ -0,0 +1 @@
22f901bd0ec53b5058e8024c36ac0416
Binary file not shown.
+1
View File
@@ -0,0 +1 @@
2459424661efe87bbc68df17a199225d
Binary file not shown.
+1
View File
@@ -0,0 +1 @@
dea1b9a158bbef072858a1e71b17ab04
-1895
View File
File diff suppressed because it is too large. Load diff
-1
View File
@@ -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
File diff suppressed because it is too large. Load diff
-76
View File
@@ -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
-68
View File
@@ -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
View File
@@ -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('&amp;')
.split('<').join('&lt;')
.split('>').join('&gt;')
.split('"').join('&quot;');
},
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;
}
}
}
}));
-265
View File
@@ -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
View File
File diff suppressed because it is too large. Load diff
-2
View File
@@ -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
-2
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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.
-22
View File
@@ -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',
二级:'*',
搜索:'',
}
-73
View File
@@ -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');
}
}),
}
-40
View File
@@ -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',
}
-61
View File
@@ -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)
`,
},
搜索: "",
};
File diff suppressed because it is too large. Load diff
-1
View File
@@ -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
View File
@@ -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
-33
View File
@@ -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);',
}
File diff suppressed because it is too large. Load diff
-26
View File
@@ -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',
}
-12
View File
@@ -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: '今日更新|热榜',
}
File diff suppressed because it is too large. Load diff
-211
View File
@@ -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;
}),
搜索:'',
}
-97
View File
@@ -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'
};
}),
搜索:'',
}
-94
View File
@@ -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'
};
}),
搜索:'',
}
-97
View File
@@ -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'
};
}),
搜索:'',
}
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
-36
View File
@@ -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;*',
}
-27
View File
@@ -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',
},
搜索: '*',
}
File diff suppressed because it is too large. Load diff
-842
View File
@@ -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
View File
@@ -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&timestamp=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
View File
@@ -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);
}),
};
 
File diff suppressed because it is too large. Load diff
-183
View File
@@ -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);
}),
}
-70
View File
@@ -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"
}
-105
View File
@@ -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
View File
File diff suppressed because it is too large. Load diff
-1461
View File
File diff suppressed because it is too large. Load diff
-22
View File
@@ -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
View File
File diff suppressed because it is too large. Load diff
-33
View File
@@ -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"
}
]
}
File diff suppressed because it is too large. Load diff
-1458
View File
File diff suppressed because it is too large. Load diff
-26
View File
@@ -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"
}
-90
View File
@@ -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"}
]
}
]
}
}
-111
View File
@@ -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
View File
File diff suppressed because it is too large. Load diff
-47
View File
@@ -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"
}
]
}
]
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
-1703
View File
File diff suppressed because it is too large. Load diff
-81
View File
@@ -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"
}
-72
View File
@@ -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"
}
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
-454
View File
@@ -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"
}
]
}
]
}
}
-81
View File
@@ -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"
}
-705
View File
@@ -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"
}
]
}
]
}
}
-81
View File
@@ -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"
}
-8
View File
@@ -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"
}
-81
View File
@@ -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"
}
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
-164580
View File
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
BIN
View File
Binary file not shown.
File renamed without changes.
@@ -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;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&amp;wsTime=1654956569 http://tvpull.dxhmt.cn:9081/tv/11625-1.m3u8?wsSecret=df15530a0abec41b14bca00fc96270d1&amp;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&amp;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="北京地区",北京新闻
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=1748552352&sign=4b6ff2b332319b7dcd7715ade0214f83 https://hsplay-360.v.btime.com/live_btime/btv_sn_20170706_s4/index.m3u8?time=1748635211&sign=c090dc86512b50d31cdf4edfb702f85b
#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=1748721611&sign=d3ca75d372f69ab704cf49d223b7c714
File diff suppressed because it is too large. Load diff
Binary file not shown.
+7 -7
View File
@@ -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
View File
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+1439
View File
File diff suppressed because it is too large. Load diff
+429
View File
@@ -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
View File
@@ -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;amp;playlive=0&amp;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&amp;playlive=1&amp;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&amp;d=83b26bacf5397c013aff782b2c4287d0&amp;k=c99bdac76cff6ddc27e750ba689b7d5b&amp;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
+2 -2
View File
@@ -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",
BIN
View File
Binary file not shown.
-16
View File
@@ -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