Initial commit

This commit is contained in:
Liu committed 2024-11-23 12:28:53 +08:00
commit 8406372599
555 files changed
+435441

No files matched your search

+2
View File
@@ -0,0 +1,2 @@
# Auto detect text files and perform LF normalization
* text=auto
+1140
View File
File diff suppressed because it is too large. Load diff
+304
View File
@@ -0,0 +1,304 @@
if (typeof Object.assign != 'function') {
Object.assign = function () {
var target = arguments[0];
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
}
function getMubans() {
var mubanDict = { // 模板字典
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(2):lt(8);a&&Text;a&&href;/(\\d+).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
二级: {
"title": "h1&&Text;.module-info-tag&&Text",
"img": ".lazyload&&data-original",
"desc": ".module-info-item:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(3)&&Text",
"content": ".module-info-introduction&&Text",
"tabs": ".module-tab-item",
"lists": ".module-play-list:eq(#id) a"
},
搜索: '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: '',
limit: 6,
推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.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(0)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(2)&&Text;.video-info-items:eq(3)&&Text",
"content": ".vod_content&&Text",
"tabs": ".module-tab-item",
"lists": ".module-player-list:eq(#id)&&.scroll-content&&a"
},
搜索: '.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(5);a&&Text;a&&href;/(\\d+).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
二级: {
"title": ".myui-content__detail .title&&Text;.myui-content__detail p:eq(-2)&&Text",
"img": ".myui-content__thumb .lazyload&&data-original",
"desc": ".myui-content__detail p:eq(0)&&Text;.myui-content__detail p:eq(1)&&Text;.myui-content__detail p:eq(2)&&Text",
"content": ".content&&Text",
"tabs": ".nav-tabs:eq(0) li",
"lists": ".myui-content__list:eq(#id) li"
},
搜索: '#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&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;/(\\d+).html',
class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.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)&&Text",
"img": ".stui-content__thumb .lazyload&&data-original",
"desc": ".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text",
"content": ".detail&&Text",
"tabs": ".stui-vodlist__head h3",
"lists": ".stui-content__playlist:eq(#id) li"
},
搜索: 'ul.stui-vodlist__media:eq(0) li,ul.stui-vodlist:eq(0) li,#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
搜索1: 'ul.stui-vodlist&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
搜索2: 'ul.stui-vodlist__media&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
},
默认: {
title: '',
host: '',
url: '/vodshow/fyclass--------fypage---.html',
searchUrl: '/vodsearch/-------------.html?wd=**',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {
'User-Agent': 'MOBILE_UA',
},
play_parse: true,
lazy: '',
limit: 6,
double: true, // 推荐内容是否双层定位
},
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.fed-part-eone:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html',
class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.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: '',
推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href',
double: true,
一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
二级: {
"title": ".hl-infos-title&&Text;.hl-text-conch&&Text",
"img": ".hl-lazy&&data-original",
"desc": ".hl-infos-content&&.hl-text-conch&&Text",
"content": ".hl-content-text&&Text",
"tabs": ".hl-tabs&&a",
"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: '',
推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href',
double: true,
一级: '.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: '',
limit: 6,
推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.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: '',
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(3)--strong&&Text",
"img":".detail-pic&&data-original",
"desc":".fraction&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(2)--strong&&Text;.slide-info:eq(1)--strong&&Text",
"content":"#height_limit&&Text",
"tabs":".anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a",
"tab_text":".swiper-slide&&Text",
"lists":".anthology-list-box:eq(#id) li"
},
搜索:'json:list;name;pic;;id',
}
};
return JSON.parse(JSON.stringify(mubanDict));
}
var mubanDict = getMubans();
var muban = getMubans();
export default {muban,getMubans};
@@ -0,0 +1,68 @@
/***
* 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);
});
}
};
}
+317
View File
@@ -0,0 +1,317 @@
#EXTM3U x-tvg-url="https://live.fanmingming.com/e.xml"
#EXTINF:-1 tvg-name="CCTV1" tvg-logo="https://live.fanmingming.com/tv/CCTV1.png" group-title="央视频道",CCTV-1 综合
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000311/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="CCTV2" tvg-logo="https://live.fanmingming.com/tv/CCTV2.png" group-title="央视频道",CCTV-2 财经
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000317/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="CCTV3" tvg-logo="https://live.fanmingming.com/tv/CCTV3.png" group-title="央视频道",CCTV-3 综艺
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000359/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="CCTV4" tvg-logo="https://live.fanmingming.com/tv/CCTV4.png" group-title="央视频道",CCTV-4 中文国际
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000320/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="CCTV5" tvg-logo="https://live.fanmingming.com/tv/CCTV5.png" group-title="央视频道",CCTV-5 体育
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000360/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="CCTV5+" tvg-logo="https://live.fanmingming.com/tv/CCTV5+.png" group-title="央视频道",CCTV-5+ 体育赛事
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000316/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="CCTV6" tvg-logo="https://live.fanmingming.com/tv/CCTV6.png" group-title="央视频道",CCTV-6 电影
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000361/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="CCTV7" tvg-logo="https://live.fanmingming.com/tv/CCTV7.png" group-title="央视频道",CCTV-7 国防军事
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000318/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="CCTV8" tvg-logo="https://live.fanmingming.com/tv/CCTV8.png" group-title="央视频道",CCTV-8 电视剧
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000362/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="CCTV9" tvg-logo="https://live.fanmingming.com/tv/CCTV9.png" group-title="央视频道",CCTV-9 纪录
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000319/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="CCTV10" tvg-logo="https://live.fanmingming.com/tv/CCTV10.png" group-title="央视频道",CCTV-10 科教
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000321/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="CCTV11" tvg-logo="https://live.fanmingming.com/tv/CCTV11.png" group-title="央视频道",CCTV-11 戏曲
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000344/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="CCTV12" tvg-logo="https://live.fanmingming.com/tv/CCTV12.png" group-title="央视频道",CCTV-12 社会与法
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000322/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="CCTV13" tvg-logo="https://live.fanmingming.com/tv/CCTV13.png" group-title="央视频道",CCTV-13 新闻
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000345/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="CCTV14" tvg-logo="https://live.fanmingming.com/tv/CCTV14.png" group-title="央视频道",CCTV-14 少儿
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000323/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="CCTV15" tvg-logo="https://live.fanmingming.com/tv/CCTV15.png" group-title="央视频道",CCTV-15 音乐
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000346/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="CCTV16" tvg-logo="https://live.fanmingming.com/tv/CCTV16.png" group-title="央视频道",CCTV-16 奥林匹克
http://[2409:8087:74d9:21::6]:80/270000001128/9900000016/index.m3u8
#EXTINF:-1 tvg-name="CCTV17" tvg-logo="https://live.fanmingming.com/tv/CCTV17.png" group-title="央视频道",CCTV-17 农业农村
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000303/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="CCTV4K" tvg-logo="https://live.fanmingming.com/tv/CCTV4K.png" group-title="央视频道",CCTV-4K 超高清
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000382/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="CCTV4欧洲" tvg-logo="https://live.fanmingming.com/tv/CCTV4欧洲.png" group-title="央视频道",CCTV-4 欧洲
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000350/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="CCTV4美洲" tvg-logo="https://live.fanmingming.com/tv/CCTV4美洲.png" group-title="央视频道",CCTV-4 美洲
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000351/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="CHC动作电影" tvg-logo="https://live.fanmingming.com/tv/CHC动作电影.png" group-title="央视频道",CHC动作电影
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00002030/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="CHC家庭影院" tvg-logo="https://live.fanmingming.com/tv/CHC家庭影院.png" group-title="央视频道",CHC家庭影院
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00002028/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="CHC影迷电影" tvg-logo="https://live.fanmingming.com/tv/CHC影迷电影.png" group-title="央视频道",CHC影迷电影
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00002029/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="北京卫视" tvg-logo="https://live.fanmingming.com/tv/北京卫视.png" group-title="卫视频道",北京卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000302/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="湖南卫视" tvg-logo="https://live.fanmingming.com/tv/湖南卫视.png" group-title="卫视频道",湖南卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000324/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="东方卫视" tvg-logo="https://live.fanmingming.com/tv/东方卫视.png" group-title="卫视频道",东方卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000309/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="四川卫视" tvg-logo="https://live.fanmingming.com/tv/四川卫视.png" group-title="卫视频道",四川卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000348/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="天津卫视" tvg-logo="https://live.fanmingming.com/tv/天津卫视.png" group-title="卫视频道",天津卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000327/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="安徽卫视" tvg-logo="https://live.fanmingming.com/tv/安徽卫视.png" group-title="卫视频道",安徽卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000328/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="山东卫视" tvg-logo="https://live.fanmingming.com/tv/山东卫视.png" group-title="卫视频道",山东卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000301/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="深圳卫视" tvg-logo="https://live.fanmingming.com/tv/深圳卫视.png" group-title="卫视频道",深圳卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000308/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="广东卫视" tvg-logo="https://live.fanmingming.com/tv/广东卫视.png" group-title="卫视频道",广东卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000307/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="广西卫视" tvg-logo="https://live.fanmingming.com/tv/广西卫视.png" group-title="卫视频道",广西卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000368/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="江苏卫视" tvg-logo="https://live.fanmingming.com/tv/江苏卫视.png" group-title="卫视频道",江苏卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000304/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="江西卫视" tvg-logo="https://live.fanmingming.com/tv/江西卫视.png" group-title="卫视频道",江西卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000335/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="河北卫视" tvg-logo="https://live.fanmingming.com/tv/河北卫视.png" group-title="卫视频道",河北卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000330/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="河南卫视" tvg-logo="https://live.fanmingming.com/tv/河南卫视.png" group-title="卫视频道",河南卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000358/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="浙江卫视" tvg-logo="https://live.fanmingming.com/tv/浙江卫视.png" group-title="卫视频道",浙江卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000305/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="海南卫视" tvg-logo="https://live.fanmingming.com/tv/海南卫视.png" group-title="卫视频道",海南卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000347/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="湖北卫视" tvg-logo="https://live.fanmingming.com/tv/湖北卫视.png" group-title="卫视频道",湖北卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000325/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="山西卫视" tvg-logo="https://live.fanmingming.com/tv/山西卫视.png" group-title="卫视频道",山西卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000032/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="东南卫视" tvg-logo="https://live.fanmingming.com/tv/东南卫视.png" group-title="卫视频道",东南卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000310/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="贵州卫视" tvg-logo="https://live.fanmingming.com/tv/贵州卫视.png" group-title="卫视频道",贵州卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000329/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="辽宁卫视" tvg-logo="https://live.fanmingming.com/tv/辽宁卫视.png" group-title="卫视频道",辽宁卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000326/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="重庆卫视" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" group-title="卫视频道",重庆卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000341/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="黑龙江卫视" tvg-logo="https://live.fanmingming.com/tv/黑龙江卫视.png" group-title="卫视频道",黑龙江卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000306/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="内蒙古卫视" tvg-logo="https://live.fanmingming.com/tv/内蒙古卫视.png" group-title="卫视频道",内蒙古卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000040/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="宁夏卫视" tvg-logo="https://live.fanmingming.com/tv/宁夏卫视.png" group-title="卫视频道",宁夏卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000043/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="陕西卫视" tvg-logo="https://live.fanmingming.com/tv/陕西卫视.png" group-title="卫视频道",陕西卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000029/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="吉林卫视" tvg-logo="https://live.fanmingming.com/tv/吉林卫视.png" group-title="卫视频道",吉林卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000363/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="甘肃卫视" tvg-logo="https://live.fanmingming.com/tv/甘肃卫视.png" group-title="卫视频道",甘肃卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000349/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="云南卫视" tvg-logo="https://live.fanmingming.com/tv/云南卫视.png" group-title="卫视频道",云南卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000367/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="三沙卫视" tvg-logo="https://live.fanmingming.com/tv/三沙卫视.png" group-title="卫视频道",三沙卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000078/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="青海卫视" tvg-logo="https://live.fanmingming.com/tv/青海卫视.png" group-title="卫视频道",青海卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000366/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="新疆卫视" tvg-logo="https://live.fanmingming.com/tv/新疆卫视.png" group-title="卫视频道",新疆卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000044/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="西藏卫视" tvg-logo="https://live.fanmingming.com/tv/西藏卫视.png" group-title="卫视频道",西藏卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000045/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="陕西农林卫视" tvg-logo="https://live.fanmingming.com/tv/农林卫视.png" group-title="卫视频道",农林卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000072/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="兵团卫视" tvg-logo="https://live.fanmingming.com/tv/兵团卫视.png" group-title="卫视频道",兵团卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000071/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="延边卫视" tvg-logo="https://live.fanmingming.com/tv/延边卫视.png" group-title="卫视频道",延边卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000668/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="安多卫视" tvg-logo="https://live.fanmingming.com/tv/安多卫视.png" group-title="卫视频道",安多卫视
http://[2409:8087:74d9:21::6]:80/270000001128/9900000064/index.m3u8
#EXTINF:-1 tvg-name="厦门卫视" tvg-logo="https://live.fanmingming.com/tv/厦门卫视.png" group-title="卫视频道",厦门卫视
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000075/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="康巴卫视" tvg-logo="https://live.fanmingming.com/tv/康巴卫视.png" group-title="卫视频道",康巴卫视
http://[2409:8087:74d9:21::6]:80/270000001128/9900000066/index.m3u8
#EXTINF:-1 tvg-name="大湾区卫视" tvg-logo="https://live.fanmingming.com/tv/大湾区卫视.png" group-title="卫视频道",大湾区卫视
http://[2409:8087:5e00:24::1e]:6060/000000001000/1000000002000011619/index.m3u8
#EXTINF:-1 tvg-name="中国教育1台" tvg-logo="https://live.fanmingming.com/tv/CETV1.png" group-title="卫视频道",CETV-1
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000076/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="中国教育2台" tvg-logo="https://live.fanmingming.com/tv/CETV2.png" group-title="卫视频道",CETV-2
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000077/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="中国教育4台" tvg-logo="https://live.fanmingming.com/tv/CETV4.png" group-title="卫视频道",CETV-4
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000666/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="山东教育" tvg-logo="https://live.fanmingming.com/tv/山东教育.png" group-title="数字频道",山东教育
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000331/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="上海纪实人文" tvg-logo="https://live.fanmingming.com/tv/纪实人文.png" group-title="数字频道",纪实人文
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000333/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="纪实科教" tvg-logo="https://live.fanmingming.com/tv/北京纪实科教.png" group-title="数字频道",纪实科教
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000332/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="劲爆体育" tvg-logo="https://live.fanmingming.com/tv/劲爆体育.png" group-title="数字频道",劲爆体育
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00002026/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="全纪实" tvg-logo="https://live.fanmingming.com/tv/乐游.png" group-title="数字频道",乐游频道
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00002016/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="欢笑剧场" tvg-logo="https://live.fanmingming.com/tv/欢笑剧场.png" group-title="数字频道",欢笑剧场
http://[2409:8087:74d9:21::6]:80/000000001000PLTV/88888888/224/3221226203/index.m3u8
#EXTINF:-1 tvg-name="都市剧场" tvg-logo="https://live.fanmingming.com/tv/都市剧场.png" group-title="数字频道",都市剧场
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00002022/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="生活时尚" tvg-logo="https://live.fanmingming.com/tv/生活时尚.png" group-title="数字频道",生活时尚
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00002019/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="金色学堂" tvg-logo="https://live.fanmingming.com/tv/金色学堂.png" group-title="数字频道",金色学堂
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00002018/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="魅力足球" tvg-logo="https://live.fanmingming.com/tv/魅力足球.png" group-title="数字频道",魅力足球
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00002021/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="卡酷动画" tvg-logo="https://live.fanmingming.com/tv/卡酷少儿.png" group-title="数字频道",卡酷少儿
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000661/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="金鹰卡通" tvg-logo="https://live.fanmingming.com/tv/金鹰卡通.png" group-title="数字频道",金鹰卡通
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00002027/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="金鹰纪实" tvg-logo="https://live.fanmingming.com/tv/金鹰纪实.png" group-title="数字频道",金鹰纪实
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000334/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="快乐垂钓" tvg-logo="https://live.fanmingming.com/tv/快乐垂钓.png" group-title="数字频道",快乐垂钓
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000648/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="茶" tvg-logo="https://live.fanmingming.com/tv/茶.png" group-title="数字频道",茶友频道
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000649/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="先锋乒羽" tvg-logo="https://live.fanmingming.com/tv/先锋乒羽.png" group-title="数字频道",先锋乒羽
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000650/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="文物宝库" tvg-logo="https://live.fanmingming.com/tv/文物宝库.png" group-title="数字频道",文物宝库
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000658/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="梨园" tvg-logo="https://live.fanmingming.com/tv/河南梨园.png" group-title="数字频道",梨园频道
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000656/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="武术世界" tvg-logo="https://live.fanmingming.com/tv/武术世界.png" group-title="数字频道",武术世界
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000657/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="中国交通" tvg-logo="https://live.fanmingming.com/tv/中国交通.png" group-title="数字频道",中国交通
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000073/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="中华特产" tvg-logo="https://live.fanmingming.com/tv/中华特产.png" group-title="数字频道",中华特产
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000642/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="书画" tvg-logo="https://live.fanmingming.com/tv/书画.png" group-title="数字频道",书画频道
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000651/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="四海钓鱼" tvg-logo="https://live.fanmingming.com/tv/四海钓鱼.png" group-title="数字频道",四海钓鱼
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000640/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="财富天下" tvg-logo="https://live.fanmingming.com/tv/财富天下.png" group-title="数字频道",财富天下
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000607/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="环球旅游" tvg-logo="https://live.fanmingming.com/tv/环球旅游.png" group-title="数字频道",环球旅游
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000643/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="车迷" tvg-logo="https://live.fanmingming.com/tv/车迷.png" group-title="数字频道",车迷频道
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000645/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="游戏风云" tvg-logo="https://live.fanmingming.com/tv/游戏风云.png" group-title="数字频道",游戏风云
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00002024/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="动漫秀场" tvg-logo="https://live.fanmingming.com/tv/动漫秀场.png" group-title="数字频道",动漫秀场
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00002000/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="嘉佳卡通" tvg-logo="https://live.fanmingming.com/tv/嘉佳卡通.png" group-title="数字频道",嘉佳卡通
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000074/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="优优宝贝" tvg-logo="https://live.fanmingming.com/tv/优优宝贝.png" group-title="数字频道",优优宝贝
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000641/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="哒啵赛事" tvg-logo="https://live.fanmingming.com/tv/哒啵赛事.png" group-title="数字频道",哒啵赛事
http://[2409:8087:74d9:21::6]:80/270000001128/9900000097/index.m3u8
#EXTINF:-1 tvg-name="哒啵电竞" tvg-logo="https://live.fanmingming.com/tv/哒啵电竞.png" group-title="数字频道",哒啵电竞
http://[2409:8087:5e01:24::16]:6610/000000001000/2000000003000000066/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000003000000066&IASHttpSessionId=OTT19019320240419154124000281
#EXTINF:-1 tvg-name="优漫卡通" tvg-logo="https://live.fanmingming.com/tv/优漫卡通.png" group-title="数字频道",优漫卡通
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000049/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="哈哈炫动" tvg-logo="https://live.fanmingming.com/tv/哈哈炫动.png" group-title="数字频道",哈哈炫动
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00000050/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="黑莓动画" tvg-logo="https://live.fanmingming.com/tv/黑莓动画.png" group-title="数字频道",黑莓动画
http://[2409:8087:74d9:21::6]:80/270000001128/9900000096/index.m3u8
#EXTINF:-1 tvg-name="黑莓电影" tvg-logo="https://live.fanmingming.com/tv/黑莓电影.png" group-title="数字频道",黑莓电影
http://[2409:8087:74d9:21::6]:80/270000001128/9900000095/index.m3u8
#EXTINF:-1 tvg-name="求索纪录" tvg-logo="https://live.fanmingming.com/tv/求索纪录.png" group-title="数字频道",求索纪录
http://[2409:8087:5e01:24::16]:6610/000000001000/2000000004000000010/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000004000000010&IASHttpSessionId=OTT19019320240419154124000281
#EXTINF:-1 tvg-name="求索生活" tvg-logo="https://live.fanmingming.com/tv/求索生活.png" group-title="数字频道",求索生活
http://[2409:8087:5e01:24::16]:6610/000000001000/2000000004000000008/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000004000000008&IASHttpSessionId=OTT19019320240419154124000281
#EXTINF:-1 tvg-name="求索动物" tvg-logo="https://live.fanmingming.com/tv/求索动物.png" group-title="数字频道",求索动物
http://[2409:8087:5e01:24::16]:6610/000000001000/2000000004000000009/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000004000000009&IASHttpSessionId=OTT19019320240419154124000281
#EXTINF:-1 tvg-name="求索科学" tvg-logo="https://live.fanmingming.com/tv/求索科学.png" group-title="数字频道",求索科学
http://[2409:8087:5e01:24::16]:6610/000000001000/2000000004000000011/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000004000000011&IASHttpSessionId=OTT19019320240419154124000281
#EXTINF:-1 tvg-name="睛彩竞技" tvg-logo="https://live.fanmingming.com/tv/睛彩竞技.png" group-title="数字频道",睛彩竞技
http://[2409:8087:74d9:21::6]:80/270000001128/9900000119/index.m3u8
#EXTINF:-1 tvg-name="睛彩篮球" tvg-logo="https://live.fanmingming.com/tv/睛彩篮球.png" group-title="数字频道",睛彩篮球
http://[2409:8087:74d9:21::6]:80/270000001128/9900000118/index.m3u8
#EXTINF:-1 tvg-name="睛彩青少" tvg-logo="https://live.fanmingming.com/tv/睛彩青少.png" group-title="数字频道",睛彩青少
http://[2409:8087:74d9:21::6]:80/270000001128/9900000120/index.m3u8
#EXTINF:-1 tvg-name="newtv超级体育" tvg-logo="https://live.fanmingming.com/tv/NEWTV超级体育.png" group-title="数字频道",超级体育
http://[2409:8087:74d9:21::6]:80/270000001128/9900000020/index.m3u8
#EXTINF:-1 tvg-name="newtv超级电影" tvg-logo="https://live.fanmingming.com/tv/NEWTV超级电影.png" group-title="数字频道",超级电影
http://[2409:8087:74d9:21::6]:80/270000001128/9900000021/index.m3u8
#EXTINF:-1 tvg-name="newtv超级电视剧" tvg-logo="https://live.fanmingming.com/tv/NEWTV超级电视剧.png" group-title="数字频道",超级视剧
http://[2409:8087:74d9:21::6]:80/270000001128/9900000022/index.m3u8
#EXTINF:-1 tvg-name="newtv东北热剧" tvg-logo="https://live.fanmingming.com/tv/NEWTV东北热剧.png" group-title="数字频道",东北热剧
http://[2409:8087:74d9:21::6]:80/270000001128/9900000092/index.m3u8
#EXTINF:-1 tvg-name="newtv海外剧场" tvg-logo="https://live.fanmingming.com/tv/NEWTV海外剧场.png" group-title="数字频道",海外剧场
http://[2409:8087:74d9:21::6]:80/270000001128/9900000115/index.m3u8
#EXTINF:-1 tvg-name="newtv中国功夫" tvg-logo="https://live.fanmingming.com/tv/NEWTV中国功夫.png" group-title="数字频道",中国功夫
http://[2409:8087:74d9:21::6]:80/270000001128/9900000101/index.m3u8
#EXTINF:-1 tvg-name="newtv军旅剧场" tvg-logo="https://live.fanmingming.com/tv/NEWTV军旅剧场.png" group-title="数字频道",军旅剧场
http://[2409:8087:74d9:21::6]:80/270000001128/9900000107/index.m3u8
#EXTINF:-1 tvg-name="newtv惊悚悬疑" tvg-logo="https://live.fanmingming.com/tv/NEWTV惊悚悬疑.png" group-title="数字频道",惊悚悬疑
http://[2409:8087:74d9:21::6]:80/270000001128/9900000113/index.m3u8
#EXTINF:-1 tvg-name="newtv潮妈辣婆" tvg-logo="https://live.fanmingming.com/tv/NEWTV潮妈辣婆.png" group-title="数字频道",潮妈辣婆
http://[2409:8087:74d9:21::6]:80/270000001128/9900000099/index.m3u8
#EXTINF:-1 tvg-name="newtv精品体育" tvg-logo="https://live.fanmingming.com/tv/NEWTV精品体育.png" group-title="数字频道",精品体育
http://[2409:8087:74d9:21::6]:80/270000001128/9900000102/index.m3u8
#EXTINF:-1 tvg-name="newtv精品纪录" tvg-logo="https://live.fanmingming.com/tv/NEWTV精品纪录.png" group-title="数字频道",精品纪录
http://[2409:8087:74d9:21::6]:80/270000001128/9900000109/index.m3u8
#EXTINF:-1 tvg-name="newtv家庭剧场" tvg-logo="https://live.fanmingming.com/tv/NEWTV家庭剧场.png" group-title="数字频道",家庭剧场
http://[2409:8087:74d9:21::6]:80/270000001128/9900000108/index.m3u8
#EXTINF:-1 tvg-name="newtv精品大剧" tvg-logo="https://live.fanmingming.com/tv/NEWTV精品大剧.png" group-title="数字频道",精品大剧
http://[2409:8087:74d9:21::6]:80/270000001128/9900000100/index.m3u8
#EXTINF:-1 tvg-name="newtv军事评论" tvg-logo="https://live.fanmingming.com/tv/NEWTV军事评论.png" group-title="数字频道",军事评论
http://[2409:8087:74d9:21::6]:80/270000001128/9900000110/index.m3u8
#EXTINF:-1 tvg-name="newtv明星大片" tvg-logo="https://live.fanmingming.com/tv/NEWTV明星大片.png" group-title="数字频道",明星大片
http://[2409:8087:74d9:21::6]:80/270000001128/9900000116/index.m3u8
#EXTINF:-1 tvg-name="newtv欢乐剧场" tvg-logo="https://live.fanmingming.com/tv/NEWTV欢乐剧场.png" group-title="数字频道",欢乐剧场
http://[2409:8087:74d9:21::6]:80/270000001128/9900000091/index.m3u8
#EXTINF:-1 tvg-name="newtv精品萌宠" tvg-logo="https://live.fanmingming.com/tv/NEWTV精品萌宠.png" group-title="数字频道",精品萌宠
http://[2409:8087:74d9:21::6]:80/270000001128/9900000122/index.m3u8
#EXTINF:-1 tvg-name="newtv超级综艺" tvg-logo="https://live.fanmingming.com/tv/NEWTV超级综艺.png" group-title="数字频道",超级综艺
http://[2409:8087:74d9:21::6]:80/270000001128/9900000019/index.m3u8
#EXTINF:-1 tvg-name="newtv金牌综艺" tvg-logo="https://live.fanmingming.com/tv/NEWTV金牌综艺.png" group-title="数字频道",金牌综艺
http://[2409:8087:74d9:21::6]:80/270000001128/9900000112/index.m3u8
#EXTINF:-1 tvg-name="newtv炫舞未来" tvg-logo="https://live.fanmingming.com/tv/NEWTV炫舞未来.png" group-title="数字频道",炫舞未来
http://[2409:8087:74d9:21::6]:80/270000001128/9900000098/index.m3u8
#EXTINF:-1 tvg-name="上海新闻综合" tvg-logo="https://live.fanmingming.com/tv/上视新闻.png" group-title="上海频道",上海新闻
http://[2409:8087:5e01:24::16]:6610/000000001000/2000000002000000005/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000002000000005&IASHttpSessionId=OTT19019320240419154124000281
#EXTINF:-1 tvg-name="上海都市" tvg-logo="https://live.fanmingming.com/tv/上海都市.png" group-title="上海频道",上海都市
http://[2409:8087:5e01:24::16]:6610/000000001000/2000000002000000012/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000002000000012&IASHttpSessionId=OTT19019320240419154124000281
#EXTINF:-1 tvg-name="上海外语" tvg-logo="https://live.fanmingming.com/tv/上海外语.png" group-title="上海频道",上海外语
http://[2409:8087:5e01:24::16]:6610/000000001000/2000000002000000001/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000002000000001&IASHttpSessionId=OTT19019320240419154124000281
#EXTINF:-1 tvg-name="七彩戏剧" tvg-logo="https://live.fanmingming.com/tv/七彩戏剧.png" group-title="上海频道",七彩戏剧
http://[2409:8087:5e01:24::16]:6610/000000001000/2000000002000000010/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000002000000010&IASHttpSessionId=OTT19019320240419154124000281
#EXTINF:-1 tvg-name="五星体育" tvg-logo="https://live.fanmingming.com/tv/五星体育.png" group-title="上海频道",五星体育
http://[2409:8087:5e01:24::16]:6610/000000001000/2000000002000000007/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000002000000007&IASHttpSessionId=OTT19019320240419154124000281
#EXTINF:-1 tvg-name="东方影视" tvg-logo="https://live.fanmingming.com/tv/东方影视.png" group-title="上海频道",东方影视
http://[2409:8087:5e01:24::16]:6610/000000001000/2000000002000000013/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000002000000013&IASHttpSessionId=OTT19019320240419154124000281
#EXTINF:-1 tvg-name="东方财经" tvg-logo="https://live.fanmingming.com/tv/东方财经.png" group-title="上海频道",东方财经
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00002025/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="法治天地" tvg-logo="https://live.fanmingming.com/tv/法治天地.png" group-title="上海频道",法治天地
http://[2409:8087:3c02:21:0:1:0:100a]:6410/shandong_cabletv.live.zte.com////CHANNEL00002010/index.m3u8?IASHttpSessionId=
#EXTINF:-1 tvg-name="第一财经" tvg-logo="https://live.fanmingming.com/tv/上海第一财经.png" group-title="上海频道",第一财经
http://[2409:8087:5e01:24::16]:6610/000000001000/2000000002000000004/index.m3u8?stbId=3&livemode=1&HlsProfileId=&channel-id=hnbblive&Contentid=2000000002000000004&IASHttpSessionId=OTT19019320240419154124000281
#EXTINF:-1 tvg-name="内蒙古综合" tvg-logo="https://live.fanmingming.com/tv/内蒙古新闻综合.png" group-title="内蒙频道",内蒙新闻
https://livestream-bt.nmtv.cn/nmtv/2316general.m3u8?txSecret=b4373417a82ed64e52b0982a66da8df2&txTime=771E8800
#EXTINF:-1 tvg-name="内蒙古经济生活" tvg-logo="https://live.fanmingming.com/tv/内蒙古经济生活.png" group-title="内蒙频道",内蒙经济
https://livestream-bt.nmtv.cn/nmtv/2317general.m3u8?txSecret=112b2c4c872de52b0f37aff6ead63ef0&txTime=771E8800
#EXTINF:-1 tvg-name="内蒙古少儿" tvg-logo="https://live.fanmingming.com/tv/内蒙古少儿.png" group-title="内蒙频道",内蒙少儿
https://livestream-bt.nmtv.cn/nmtv/2318general.m3u8?txSecret=a2c948908728a0733cecbe1fadea23dc&txTime=771E8800
#EXTINF:-1 tvg-name="内蒙古文体娱乐" tvg-logo="https://live.fanmingming.com/tv/内蒙古文体娱乐.png" group-title="内蒙频道",内蒙文体
https://livestream-bt.nmtv.cn/nmtv/2319general.m3u8?txSecret=c7b5c515d2bb6df442492d54955329a3&txTime=771E8800
#EXTINF:-1 tvg-name="内蒙古农牧" tvg-logo="https://live.fanmingming.com/tv/内蒙古农牧.png" group-title="内蒙频道",内蒙农牧
https://livestream-bt.nmtv.cn/nmtv/2320general.m3u8?txSecret=4d368a175afa19737a9f5be10af24fe2&txTime=771E8800
#EXTINF:-1 tvg-name="内蒙古蒙语卫视" tvg-logo="https://live.fanmingming.com/tv/内蒙古蒙语卫视.png" group-title="内蒙频道",蒙语卫视
https://livestream-bt.nmtv.cn/nmtv/2315general.m3u8?txSecret=4971666599ef9411629213c9a300bf66&txTime=771EF880
#EXTINF:-1 tvg-name="内蒙古蒙语文化" tvg-logo="https://live.fanmingming.com/tv/内蒙古蒙语文化.png" group-title="内蒙频道",蒙语文化
https://livestream-bt.nmtv.cn/nmtv/2321general.m3u8?txSecret=d9d0fd7a252ef56b515c46a2e21830f4&txTime=771E8800
#EXTINF:-1 tvg-name="呼和浩特新闻综合" tvg-logo="https://live.fanmingming.com/tv/呼和浩特新闻综合.png" group-title="内蒙频道",呼市新闻综合
https://livestream-bt.nmtv.cn/nmtv/2331general.m3u8?txSecret=4d7342ca5cd74480526ab6d292247aff&txTime=771E8800
#EXTINF:-1 tvg-name="包头新闻综合" tvg-logo="https://live.fanmingming.com/tv/包头新闻综合.png" group-title="内蒙频道",包头新闻综合
https://livestream-bt.nmtv.cn/nmtv/2358general.m3u8?txSecret=98390a77c143a68f0fd64bfe6e181dcb&txTime=771E8800
#EXTINF:-1 tvg-name="鄂尔多斯新闻综合" tvg-logo="https://live.fanmingming.com/tv/鄂尔多斯新闻综合.png" group-title="内蒙频道",鄂尔多斯新闻
https://livestream-bt.nmtv.cn/nmtv/2349general.m3u8?txSecret=e44477052aba305cadeea45aaf1c674a&txTime=771E8800
#EXTINF:-1 tvg-name="巴彦淖尔新闻综合" tvg-logo="https://live.fanmingming.com/tv/巴彦淖尔新闻综合.png" group-title="内蒙频道",巴彦淖尔新闻
https://livestream-bt.nmtv.cn/nmtv/2348general.m3u8?txSecret=6a4ddce077e41b976fe33619fbef2b30&txTime=771E8800
#EXTINF:-1 tvg-name="赤峰新闻综合" tvg-logo="https://live.fanmingming.com/tv/赤峰新闻综合.png" group-title="内蒙频道",赤峰新闻综合
https://livestream-bt.nmtv.cn/nmtv/2351general.m3u8?txSecret=8857087aeec2cec44d178a18550fdb8a&txTime=771E8800
#EXTINF:-1 tvg-name="乌兰察布新闻综合" tvg-logo="https://live.fanmingming.com/tv/乌兰察布.png" group-title="内蒙频道",乌兰察布新闻
https://livestream-bt.nmtv.cn/nmtv/2354general.m3u8?txSecret=cf5f71d0000862b18f5813607b3dfd5b&txTime=771E8800
#EXTINF:-1 tvg-name="CGTN" tvg-logo="https://live.fanmingming.com/tv/CGTN.png" group-title="央视频道",CGTN英语
https://0472.org/hls/cgtn.m3u8
#EXTINF:-1 tvg-name="CGTN纪录" tvg-logo="https://live.fanmingming.com/tv/CGTN纪录.png" group-title="央视频道",CGTN记录
https://0472.org/hls/cgtnd.m3u8
#EXTINF:-1 tvg-name="CGTN俄语" tvg-logo="https://live.fanmingming.com/tv/CGTN俄语.png" group-title="央视频道",CGTN俄语
https://0472.org/hls/cgtne.m3u8
#EXTINF:-1 tvg-name="CGTN法语" tvg-logo="https://live.fanmingming.com/tv/CGTN法语.png" group-title="央视频道",CGTN法语
https://0472.org/hls/cgtnf.m3u8
#EXTINF:-1 tvg-name="CGTN西语" tvg-logo="https://live.fanmingming.com/tv/CGTN西语.png" group-title="央视频道",CGTN西语
https://0472.org/hls/cgtnx.m3u8
#EXTINF:-1 tvg-name="CGTN阿语" tvg-logo="https://live.fanmingming.com/tv/CGTN阿语.png" group-title="央视频道",CGTN阿语
https://0472.org/hls/cgtna.m3u8
BIN
View File
Binary file not shown.
+1
View File
@@ -0,0 +1 @@
**dmFyIHJ1bGUgPSB7CiAgICB0aXRsZTonMzEw55u05pKtJywKICAgIGhvc3Q6J2h0dHA6Ly93d3cuMzEwLnR2JywKICAgIHVybDonLz9zPTAmdD0xJmE9ZnljbGFzcyZnPWZ5cGFnZScsCiAgICBzZWFyY2hVcmw6JycsCiAgICBzZWFyY2hhYmxlOjAsCiAgICBxdWlja1NlYXJjaDowLAogICAgY2xhc3NfbmFtZTon54Ot6ZeoJui2s+eQgybnr67nkIMnLAogICAgY2xhc3NfdXJsOicwJjEmMicsCiAgICBoZWFkZXJzOnsKICAgICAgICAnVXNlci1BZ2VudCc6J01PQklMRV9VQScKICAgIH0sCiAgICB0aW1lb3V0OjUwMDAsCiAgICBwbGF5X3BhcnNlOmZhbHNlLAogICAgbGF6eTonJywKICAgIGxpbWl0OjYsCiAgICBkb3VibGU6ZmFsc2UsCiAgICDmjqjojZA6JyonLAogICAg5LiA57qnOicubGlzdF9jb250ZW50IGE7LmppYWJpZmVuZyYmcDpsdCg1KSYmVGV4dDsuZmVsZWltZyBpbWcmJnNyYzthJiZ0LW56Zi1vO2EmJmhyZWYnLAogICAg5LqM57qnOicqJywKICAgIOaQnOe0ojonJywKfQ==
+1
View File
@@ -0,0 +1 @@
**eyJjbGFzcyI6W3sidHlwZV9uYW1lIjoi5rKZ6ZuV5Yqo5ryrIiwidHlwZV9pZCI6IuS4gOWPo+awlOaymembleWKqOa8qyJ9LHsidHlwZV9uYW1lIjoi57qq5b2V54mHIiwidHlwZV9pZCI6Iue6quW9leeJh+i2hea4hSJ9LHsidHlwZV9uYW1lIjoi5ryU5ZSx5LyaIiwidHlwZV9pZCI6Iua8lOWUseS8mui2hea4hSJ9LHsidHlwZV9uYW1lIjoi576O6aOfIiwidHlwZV9pZCI6Iue+jumjn+i2hea4hSJ9LHsidHlwZV9uYW1lIjoi6aOf6LCxIiwidHlwZV9pZCI6Iumjn+iwsSJ9LHsidHlwZV9uYW1lIjoi5L2T6IKyIiwidHlwZV9pZCI6IuS9k+iCsui2hea4hSJ9LHsidHlwZV9uYW1lIjoi55CD5pifIiwidHlwZV9pZCI6IueQg+aYnyJ9LHsidHlwZV9uYW1lIjoi5peF5ri4IiwidHlwZV9pZCI6IuaXhea4uCJ9LHsidHlwZV9uYW1lIjoi6aOO5pmvIiwidHlwZV9pZCI6IumjjuaZrzRLIn0seyJ0eXBlX25hbWUiOiLor7TmoYgiLCJ0eXBlX2lkIjoi6K+05qGIIn0seyJ0eXBlX25hbWUiOiLnn6XlkI1VUOS4uyIsInR5cGVfaWQiOiLnn6XlkI1VUOS4uyJ9LHsidHlwZV9uYW1lIjoi5o6i57Si5Y+R546wIiwidHlwZV9pZCI6IuaOoue0ouWPkeeOsOi2hea4hSJ9LHsidHlwZV9uYW1lIjoi6ay855WcIiwidHlwZV9pZCI6IumsvOeVnCJ9LHsidHlwZV9uYW1lIjoi5pCe56yRIiwidHlwZV9pZCI6IuaQnueskei2hea4hSJ9LHsidHlwZV9uYW1lIjoi5YS/56ulIiwidHlwZV9pZCI6IuWEv+erpei2hea4hSJ9LHsidHlwZV9uYW1lIjoi5Yqo54mp5LiW55WMIiwidHlwZV9pZCI6IuWKqOeJqeS4lueVjOi2hea4hSJ9LHsidHlwZV9uYW1lIjoi55u45aOw5bCP5ZOBIiwidHlwZV9pZCI6IuebuOWjsOWwj+WTgei2hea4hSJ9LHsidHlwZV9uYW1lIjoi5oiP5puyIiwidHlwZV9pZCI6IuaIj+absiJ9LHsidHlwZV9uYW1lIjoi6Kej6K+0IiwidHlwZV9pZCI6Iuino+ivtCJ9LHsidHlwZV9uYW1lIjoi5ryU6K6yIiwidHlwZV9pZCI6Iua8lOiusiJ9LHsidHlwZV9uYW1lIjoi5bCP5aeQ5aeQIiwidHlwZV9pZCI6IuWwj+WnkOWnkOi2hea4hSJ9LHsidHlwZV9uYW1lIjoi6I2S6YeO5rGC55SfIiwidHlwZV9pZCI6IuiNkumHjuaxgueUn+i2hea4hSJ9LHsidHlwZV9uYW1lIjoi5YGl6LqrIiwidHlwZV9pZCI6IuWBpei6qyJ9LHsidHlwZV9uYW1lIjoi5biV5qKF5ouJIiwidHlwZV9pZCI6IuW4leaiheaLiSJ9LHsidHlwZV9uYW1lIjoi5aSq5p6B5ouzIiwidHlwZV9pZCI6IuWkquaegeaLsyJ9LHsidHlwZV9uYW1lIjoi5bm/5Zy66IieIiwidHlwZV9pZCI6IuW5v+WcuuiIniJ9LHsidHlwZV9uYW1lIjoi6Iie6LmIIiwidHlwZV9pZCI6IuiInui5iCJ9LHsidHlwZV9uYW1lIjoi6Z+z5LmQIiwidHlwZV9pZCI6Iumfs+S5kCJ9LHsidHlwZV9uYW1lIjoi5q2M5puyIiwidHlwZV9pZCI6IuatjOabsiJ9LHsidHlwZV9uYW1lIjoiTVYiLCJ0eXBlX2lkIjoiTVY0SyJ9LHsidHlwZV9uYW1lIjoi6Iie5puyIiwidHlwZV9pZCI6IuiInuabsui2hea4hSJ9LHsidHlwZV9uYW1lIjoiNEsiLCJ0eXBlX2lkIjoiNEsifSx7InR5cGVfbmFtZSI6IueUteW9sSIsInR5cGVfaWQiOiLnlLXlvbEifSx7InR5cGVfbmFtZSI6IueUteinhuWJpyIsInR5cGVfaWQiOiLnlLXop4bliacifSx7InR5cGVfbmFtZSI6IueZveWZqumfsyIsInR5cGVfaWQiOiLnmb3lmarpn7PotoXmuIUifSx7InR5cGVfbmFtZSI6IuiAg+WFrOiAg+ivgSIsInR5cGVfaWQiOiLogIPlhazogIPor4EifSx7InR5cGVfbmFtZSI6IuW5s+mdouiuvuiuoeaVmeWtpiIsInR5cGVfaWQiOiLlubPpnaLorr7orqHmlZnlraYifSx7InR5cGVfbmFtZSI6Iui9r+S7tuaVmeeoiyIsInR5cGVfaWQiOiLova/ku7bmlZnnqIsifSx7InR5cGVfbmFtZSI6IldpbmRvd3MiLCJ0eXBlX2lkIjoiV2luZG93cyJ9XSwiZmlsdGVycyI6eyLogIPlhazogIPor4EiOlt7ImtleSI6Im9yZGVyIiwibmFtZSI6IuaOkuW6jyIsInZhbHVlIjpbeyJuIjoi57u85ZCI5o6S5bqPIiwidiI6IjAifSx7Im4iOiLmnIDlpJrngrnlh7siLCJ2IjoiY2xpY2sifSx7Im4iOiLmnIDmlrDlj5HluIMiLCJ2IjoicHViZGF0ZSJ9LHsibiI6IuacgOWkmuW8ueW5lSIsInYiOiJkbSJ9LHsibiI6IuacgOWkmuaUtuiXjyIsInYiOiJzdG93In1dfSx7ImtleSI6ImR1cmF0aW9uIiwibmFtZSI6IuaXtumVvyIsInZhbHVlIjpbeyJuIjoi5YWo6YOoIiwidiI6IjAifSx7Im4iOiI2MOWIhumSn+S7peS4iiIsInYiOiI0In0seyJuIjoiMzB+NjDliIbpkp8iLCJ2IjoiMyJ9LHsibiI6IjEwfjMw5YiG6ZKfIiwidiI6IjIifSx7Im4iOiIxMOWIhumSn+S7peS4iyIsInYiOiIxIn1dfV0sIua8lOWUseS8mui2hea4hSI6W3sia2V5Ijoib3JkZXIiLCJuYW1lIjoi5o6S5bqPIiwidmFsdWUiOlt7Im4iOiLnu7zlkIjmjpLluo8iLCJ2IjoiMCJ9LHsibiI6IuacgOWkmueCueWHuyIsInYiOiJjbGljayJ9LHsibiI6IuacgOaWsOWPkeW4gyIsInYiOiJwdWJkYXRlIn0seyJuIjoi5pyA5aSa5by55bmVIiwidiI6ImRtIn0seyJuIjoi5pyA5aSa5pS26JePIiwidiI6InN0b3cifV19LHsia2V5IjoidGlkIiwibmFtZSI6IuWIhuexuyIsInZhbHVlIjpbeyJuIjoi5YWo6YOoIiwidiI6Iua8lOWUseS8mui2hea4hSJ9LHsibiI6IkHpmL/mnZwiLCJ2Ijoi6Zi/5p2c5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiQemYv+m7m+WwlCIsInYiOiLpmL/pu5vlsJTmvJTllLHkvJrotoXmuIUifSx7Im4iOiJCQmV5b25kIiwidiI6IkJleW9uZOa8lOWUseS8mui2hea4hSJ9LHsibiI6IkJCeTIiLCJ2IjoiQnky5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiQkJJR0JBTkciLCJ2IjoiQklHQkFOR+a8lOWUseS8mui2hea4hSJ9LHsibiI6IkLluIPlhbDlpq4iLCJ2Ijoi5biD5YWw5aau5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiQuWdguS6leazieawtCIsInYiOiLlnYLkupXms4nmsLTmvJTllLHkvJrotoXmuIUifSx7Im4iOiJD6ZmI5aWV6L+FIiwidiI6IumZiOWllei/hea8lOWUseS8mui2hea4hSJ9LHsibiI6IkPolKHkvp3mnpciLCJ2Ijoi6JSh5L6d5p6X5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiQ+WInemfs+acquadpSIsInYiOiLliJ3pn7PmnKrmnaXmvJTllLHkvJrotoXmuIUifSx7Im4iOiJD6JSh5YGl6ZuFIiwidiI6IuiUoeWBpembhea8lOWUseS8mui2hea4hSJ9LHsibiI6IkPpmYjlsI/mmKUiLCJ2Ijoi6ZmI5bCP5pil5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiQ+iNieicoiIsInYiOiLojYnonKLmvJTllLHkvJrotoXmuIUifSx7Im4iOiJD6ZmI5oWn5ai0IiwidiI6IumZiOaFp+WotOa8lOWUseS8mui2hea4hSJ9LHsibiI6IkPltJTlgaUiLCJ2Ijoi5bSU5YGl5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiQ+S7k+acqOm6u+ihoyIsInYiOiLku5PmnKjpurvooaPmvJTllLHkvJrotoXmuIUifSx7Im4iOiJE5oi06I2DIiwidiI6IuaItOiNg+a8lOWUseS8mui2hea4hSJ9LHsibiI6IkTliqjlipvngavovaYiLCJ2Ijoi5Yqo5Yqb54Gr6L2m5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiROmCk+S4veWQmyIsInYiOiLpgpPkuL3lkJvmvJTllLHkvJrotoXmuIUifSx7Im4iOiJE5LiB5b2TIiwidiI6IuS4geW9k+a8lOWUseS8mui2hea4hSJ9LHsibiI6IkTliIDpg44iLCJ2Ijoi5YiA6YOO5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiROmCk+e0q+ajiyIsInYiOiLpgpPntKvmo4vmvJTllLHkvJrotoXmuIUifSx7Im4iOiJE5oi05L2p5aauIiwidiI6IuaItOS9qeWmrua8lOWUseS8mui2hea4hSJ9LHsibiI6IkTpgpPkuL3lkJsiLCJ2Ijoi6YKT5Li95Line truncated
+1
View File
@@ -0,0 +1 @@
**eyJjbGFzcyI6W3sidHlwZV9uYW1lIjoi5ryU5ZSx5Lya562b6YCJIiwidHlwZV9pZCI6Iua8lOWUseS8mui2hea4hSJ9LHsidHlwZV9uYW1lIjoi57Kk6K+tIiwidHlwZV9pZCI6IueypOivreatjOabsui2hea4hSJ9LHsidHlwZV9uYW1lIjoi54Ot5qacIiwidHlwZV9pZCI6IjIwMjLlubTng63ku6zmrYzmm7LotoXmuIUifSx7InR5cGVfbmFtZSI6IuaKlumfs+elnuabsiIsInR5cGVfaWQiOiLmipbpn7PnpZ7mm7LotoXmuIUifSx7InR5cGVfbmFtZSI6Iue7j+WFuOiAgeatjCIsInR5cGVfaWQiOiLnu4/lhbjogIHmrYzotoXmuIUifSx7InR5cGVfbmFtZSI6IkRKIiwidHlwZV9pZCI6IkRK5q2M5puy6LaF5riFIn0seyJ0eXBlX25hbWUiOiLnvZHnuqLnv7vllLEiLCJ0eXBlX2lkIjoi572R57qi57+75ZSx5q2M5puy6LaF5riFIn0seyJ0eXBlX25hbWUiOiLpn6nlm73lpbPlm6IiLCJ0eXBlX2lkIjoi6Z+p5Zu95aWz5Zui5ryU5ZSx5Lya6LaF5riFIn1dLCJmaWx0ZXJzIjp7Iua8lOWUseS8mui2hea4hSI6W3sia2V5Ijoib3JkZXIiLCJuYW1lIjoi5o6S5bqPIiwidmFsdWUiOlt7Im4iOiLnu7zlkIjmjpLluo8iLCJ2IjoiMCJ9LHsibiI6IuacgOWkmueCueWHuyIsInYiOiJjbGljayJ9LHsibiI6IuacgOaWsOWPkeW4gyIsInYiOiJwdWJkYXRlIn0seyJuIjoi5pyA5aSa5by55bmVIiwidiI6ImRtIn0seyJuIjoi5pyA5aSa5pS26JePIiwidiI6InN0b3cifV19LHsia2V5IjoidGlkIiwibmFtZSI6IuWIhuexuyIsInZhbHVlIjpbeyJuIjoi5YWo6YOoIiwidiI6Iua8lOWUseS8mui2hea4hSJ9LHsibiI6IkHpmL/mnZwiLCJ2Ijoi6Zi/5p2c5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiQemYv+m7m+WwlCIsInYiOiLpmL/pu5vlsJTmvJTllLHkvJrotoXmuIUifSx7Im4iOiJCQmV5b25kIiwidiI6IkJleW9uZOa8lOWUseS8mui2hea4hSJ9LHsibiI6IkJCeTIiLCJ2IjoiQnky5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiQkJJR0JBTkciLCJ2IjoiQklHQkFOR+a8lOWUseS8mui2hea4hSJ9LHsibiI6IkLluIPlhbDlpq4iLCJ2Ijoi5biD5YWw5aau5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiQuWdguS6leazieawtCIsInYiOiLlnYLkupXms4nmsLTmvJTllLHkvJrotoXmuIUifSx7Im4iOiJD6ZmI5aWV6L+FIiwidiI6IumZiOWllei/hea8lOWUseS8mui2hea4hSJ9LHsibiI6IkPolKHkvp3mnpciLCJ2Ijoi6JSh5L6d5p6X5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiQ+WInemfs+acquadpSIsInYiOiLliJ3pn7PmnKrmnaXmvJTllLHkvJrotoXmuIUifSx7Im4iOiJD6JSh5YGl6ZuFIiwidiI6IuiUoeWBpembhea8lOWUseS8mui2hea4hSJ9LHsibiI6IkPpmYjlsI/mmKUiLCJ2Ijoi6ZmI5bCP5pil5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiQ+iNieicoiIsInYiOiLojYnonKLmvJTllLHkvJrotoXmuIUifSx7Im4iOiJD6ZmI5oWn5ai0IiwidiI6IumZiOaFp+WotOa8lOWUseS8mui2hea4hSJ9LHsibiI6IkPltJTlgaUiLCJ2Ijoi5bSU5YGl5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiQ+S7k+acqOm6u+ihoyIsInYiOiLku5PmnKjpurvooaPmvJTllLHkvJrotoXmuIUifSx7Im4iOiJE5oi06I2DIiwidiI6IuaItOiNg+a8lOWUseS8mui2hea4hSJ9LHsibiI6IkTliqjlipvngavovaYiLCJ2Ijoi5Yqo5Yqb54Gr6L2m5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiROmCk+S4veWQmyIsInYiOiLpgpPkuL3lkJvmvJTllLHkvJrotoXmuIUifSx7Im4iOiJE5LiB5b2TIiwidiI6IuS4geW9k+a8lOWUseS8mui2hea4hSJ9LHsibiI6IkTliIDpg44iLCJ2Ijoi5YiA6YOO5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiROmCk+e0q+ajiyIsInYiOiLpgpPntKvmo4vmvJTllLHkvJrotoXmuIUifSx7Im4iOiJE5oi05L2p5aauIiwidiI6IuaItOS9qeWmrua8lOWUseS8mui2hea4hSJ9LHsibiI6IkTpgpPkuL3lkJsiLCJ2Ijoi6YKT5Li95ZCb5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiRumjnuWEv+S5kOmYnyIsInYiOiLpo57lhL/kuZDpmJ/mvJTllLHkvJrotoXmuIUifSx7Im4iOiJG6LS5546J5riFIiwidiI6Iui0ueeOiea4hea8lOWUseS8mui2hea4hSJ9LHsibiI6IkbotLnnv5QiLCJ2Ijoi6LS557+U5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiRuaWueWkp+WQjCIsInYiOiLmlrnlpKflkIzmvJTllLHkvJrotoXmuIUifSx7Im4iOiJG5oi/5Lic55qE54yrIiwidiI6IuaIv+S4nOeahOeMq+a8lOWUseS8mui2hea4hSJ9LHsibiI6Ikblh6Tpo57po54iLCJ2Ijoi5Yek6aOe6aOe5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiRuWHpOWHsOS8oOWlhyIsInYiOiLlh6Tlh7DkvKDlpYfmvJTllLHkvJrotoXmuIUifSx7Im4iOiJH6YOt6YeH5rSBIiwidiI6IumDremHh+a0gea8lOWUseS8mui2hea4hSJ9LHsibiI6IkflhYnoia8iLCJ2Ijoi5YWJ6Imv5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiR+mDremdmSIsInYiOiLpg63pnZnmvJTllLHkvJrotoXmuIUifSx7Im4iOiJH6YOt5a+M5Z+OIiwidiI6IumDreWvjOWfjua8lOWUseS8mui2hea4hSJ9LHsibiI6Ikjog6HlvabmlowiLCJ2Ijoi6IOh5b2m5paM5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiSOiDoeWkjyIsInYiOiLog6HlpI/mvJTllLHkvJrotoXmuIUifSx7Im4iOiJI6Z+p57qiIiwidiI6Iumfqee6oua8lOWUseS8mui2hea4hSJ9LHsibiI6Ikjpu4Tlk4HmupAiLCJ2Ijoi6buE5ZOB5rqQ5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiSOm7hOWwj+eQpSIsInYiOiLpu4TlsI/nkKXmvJTllLHkvJrotoXmuIUifSx7Im4iOiJI6Iqx5YS/5LmQ6ZifIiwidiI6IuiKseWEv+S5kOmYn+a8lOWUseS8mui2hea4hSJ9LHsibiI6Ikjpu4TlrrblvLoiLCJ2Ijoi6buE5a625by65ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiSOWQjuihl+eUt+WtqSIsInYiOiLlkI7ooZfnlLflranmvJTllLHkvJrotoXmuIUifSx7Im4iOiJK57uP5YW46ICB5q2MIiwidiI6Iue7j+WFuOiAgeatjOa8lOWUseS8mui2hea4hSJ9LHsibiI6IkrotL7mlq/kuIHmr5TkvK8iLCJ2Ijoi6LS+5pav5LiB5q+U5Lyv5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiSumHkeaxoCIsInYiOiLph5HmsaDmvJTllLHkvJrotoXmuIUifSx7Im4iOiJK6YeR5b+X5paHIiwidiI6IumHkeW/l+aWh+a8lOWUseS8mui2hea4hSJ9LHsibiI6IkrnhKbov4jlpYciLCJ2Ijoi54Sm6L+I5aWH5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiS+ett+WtkOWFhOW8nyIsInYiOiLnrbflrZDlhYTlvJ/mvJTllLHkvJrotoXmuIUifSx7Im4iOiJM5p2O546fIiwidiI6IuadjueOn+a8lOWUseS8mui2hea4hSJ9LHsibiI6Ikzmnpflv4bojrIiLCJ2Ijoi5p6X5b+G6I6y5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiTOadjuWFi+WLpCIsInYiOiLmnY7lhYvli6TmvJTllLHkvJrotoXmuIUifSx7Im4iOiJM5YiY5a6q5Y2OIiwidiI6IuWImOWuquWNjua8lOWUseS8mui2hea4hSJ9LHsibiI6IkzmnY7lnKPmnbAiLCJ2Ijoi5p2O5Zyj5p2w5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiTOael+WupeWYiSIsInYiOiLmnpflrqXlmInmvJTllLHkvJrotoXmuIUifSx7Im4iOiJM5qKB6Z2Z6Iy5IiwidiI6IuaigemdmeiMuea8lOWUseS8mui2hea4hSJ9LHsibiI6IkzmnY7lgaUiLCJ2Ijoi5p2O5YGl5ryU5ZSx5Lya6LaF5riFIn0seyJuIjoiTOael+S/iuadsCIsInYiOiLmnpfkv4rmnbDmvJTllLHkvJrotoXmuIUifSx7Im4iOiJM5p2O546J5YiaIiwidiI6IuadjueOieWImua8lOWUseS8mui2hea4hSJ9LHsibiI6Ikzmnpflv5fngqsiLCJ2Ijoi5p6X5b+X54Kr5Line truncated
+1
View File
@@ -0,0 +1 @@
**dmFyIGxpc3RzID0gYGpzOgpsb2coVEFCUyk7CmxldCBkID0gW107CnBkZmggPSBqc3AucGRmaDsKcGRmYSA9IGpzcC5wZGZhOwppZiAodHlwZW9mIHBsYXlfdXJsID09PSAidW5kZWZpbmVkIikgewoJdmFyIHBsYXlfdXJsID0gIiIKfQoKZnVuY3Rpb24gZ2V0TGlzdHMoaHRtbCkgewoJbGV0IHNyYyA9IHBkZmgoaHRtbCwgIi53cC1wbGF5bGlzdC1zY3JpcHQmJkh0bWwiKTsKCXNyYyA9IEpTT04ucGFyc2Uoc3JjKS50cmFja3M7CglsZXQgbGlzdDEgPSBbXTsKCWxldCBsaXN0MiA9IFtdOwoJbGV0IHVybDEgPSAiIjsKCWxldCB1cmwyID0gIiI7CglzcmMuZm9yRWFjaChmdW5jdGlvbihpdCkgewoJCWxldCBzcmMwID0gaXQuc3JjMDsKCQlsZXQgc3JjMSA9IGl0LnNyYzE7CgkJbGV0IHRpdGxlID0gaXQuY2FwdGlvbjsKCQl1cmwxID0gImh0dHBzOi8vdi5kZHlzLnBybyIgKyBzcmMwOwoJCXVybDIgPSAiaHR0cHM6Ly9kZHlzLnByby9nZXR2ZGRyMi92aWRlbz9pZD0iICsgc3JjMSArICImdHlwZT1taXgiOwoJCWxldCB6bSA9ICJodHRwczovL2RkeXMucHJvL3N1YmRkci8iICsgaXQuc3Vic3JjOwoJCWxpc3QxLnB1c2goewoJCQl0aXRsZTogdGl0bGUsCgkJCXVybDogdXJsMSwKCQkJZGVzYzogem0KCQl9KTsKCQlsaXN0Mi5wdXNoKHsKCQkJdGl0bGU6IHRpdGxlLAoJCQl1cmw6IHVybDIsCgkJCWRlc2M6IHptCgkJfSkKCX0pOwoJcmV0dXJuIHsKCQlsaXN0MTogbGlzdDEsCgkJbGlzdDI6IGxpc3QyCgl9Cn0KdmFyIGRhdGEgPSBnZXRMaXN0cyhodG1sKTsKdmFyIGxpc3QxID0gZGF0YS5saXN0MTsKdmFyIGxpc3QyID0gZGF0YS5saXN0MjsKbGV0IG51bXMgPSBwZGZhKGh0bWwsICJib2R5JiYucG9zdC1wYWdlLW51bWJlcnMiKTsKbnVtcy5mb3JFYWNoKGZ1bmN0aW9uKGl0KSB7CglsZXQgbnVtID0gcGRmaChpdCwgImJvZHkmJlRleHQiKTsKCWxvZyhudW0pOwoJbGV0IG51cmwgPSBpbnB1dCArIG51bSArICIvIjsKCWlmIChudW0gPT0gMSkgewoJCXJldHVybgoJfQoJbG9nKG51cmwpOwoJbGV0IGh0bWwgPSByZXF1ZXN0KG51cmwpOwoJbGV0IGRhdGEgPSBnZXRMaXN0cyhodG1sKTsKCWxpc3QxID0gbGlzdDEuY29uY2F0KGRhdGEubGlzdDEpOwoJbGlzdDIgPSBsaXN0Mi5jb25jYXQoZGF0YS5saXN0MikKfSk7Cmxpc3QxID0gbGlzdDEubWFwKGZ1bmN0aW9uKGl0ZW0pIHsKCXJldHVybiBpdGVtLnRpdGxlICsgIiQiICsgcGxheV91cmwgKyB1cmxlbmNvZGUoaXRlbS51cmwgKyAifCIgKyBpbnB1dCArICJ8IiArIGl0ZW0uZGVzYykKfSk7Cmxpc3QyID0gbGlzdDIubWFwKGZ1bmN0aW9uKGl0ZW0pIHsKCXJldHVybiBpdGVtLnRpdGxlICsgIiQiICsgcGxheV91cmwgKyB1cmxlbmNvZGUoaXRlbS51cmwgKyAifCIgKyBpbnB1dCArICJ8IiArIGl0ZW0uZGVzYykKfSk7CkxJU1RTID0gW2xpc3QxLCBsaXN0Ml07CmA7Cgp2YXIgbGF6eSA9IGBqczoKbGV0IHB1cmwgPSBpbnB1dC5zcGxpdCgifCIpWzBdOwpsZXQgcmVmZXJlciA9IGlucHV0LnNwbGl0KCJ8IilbMV07CmxldCB6bSA9IGlucHV0LnNwbGl0KCJ8IilbMl07CnByaW50KCJwdXJsOiIgKyBwdXJsKTsKcHJpbnQoInJlZmVyZXI6IiArIHJlZmVyZXIpOwpwcmludCgiem06IiArIHptKTsKaWYgKC9nZXR2ZGRyLy50ZXN0KHB1cmwpKSB7CiAgICBsZXQgaHRtbCA9IHJlcXVlc3QocHVybCwgewogICAgICAgIGhlYWRlcnM6IHsKICAgICAgICAgICAgUmVmZXJlcjogSE9TVCwKICAgICAgICAgICAgIlVzZXItQWdlbnQiOiBNT0JJTEVfVUEKICAgICAgICB9CiAgICB9KTsKICAgIHByaW50KGh0bWwpOwogICAgdHJ5IHsKICAgICAgICBpbnB1dCA9IHtqeDowLHVybDpKU09OLnBhcnNlKGh0bWwpLnVybCxwYXJzZTowfSB8fCB7fQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGlucHV0ID0gcHVybAogICAgfQp9IGVsc2UgewogICAgaW5wdXQgPSB7CiAgICAgICAgang6IDAsCiAgICAgICAgdXJsOiBwdXJsLAogICAgICAgIHBhcnNlOiAwLAogICAgICAgIGhlYWRlcjogSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAndXNlci1hZ2VudCc6IE1PQklMRV9VQSwKICAgICAgICAgICAgJ3JlZmVyZXInOiBIT1NUCiAgICAgICAgfSkKICAgIH0KfQpgOwoKLy8g572R5Z2A5Y+R5biD6aG1IGh0dHBzOi8vZGR5cy5zaXRlCi8vIOe9keWdgOWPkeW4g+mhtSBodHRwczovL2RkeXMud2lraQp2YXIgcnVsZT17CiAgICB0aXRsZTonZGR5cycsCiAgICAvLyBob3N0OidodHRwczovL2RkeXMud2lraScsIAogICAgLy8gaG9zdEpzOidwcmludChIT1NUKTtsZXQgaHRtbD1yZXF1ZXN0KEhPU1Qse2hlYWRlcnM6eyJVc2VyLUFnZW50IjpNT0JJTEVfVUF9fSk7SE9TVCA9IGpzcC5wZGZoKGh0bWwsImE6ZXEoMSkmJmhyZWYiKScsCiAgICBob3N0OidodHRwczovL2RkeXMucHJvJywKICAgIC8vIGhvc3Q6J2h0dHBzOi8vZGR5cy5tb3YnLAogICAgdXJsOicvZnljbGFzcy9wYWdlL2Z5cGFnZS8nLAogICAgc2VhcmNoVXJsOicvP3M9KiomcG9zdF90eXBlPXBvc3QnLAogICAgc2VhcmNoYWJsZToyLAogICAgcXVpY2tTZWFyY2g6MCwKICAgIGZpbHRlcmFibGU6MCwKICAgIGhlYWRlcnM6ewogICAgICAgICdVc2VyLUFnZW50JzonTU9CSUxFX1VBJywKICAgIH0sCiAgICBjbGFzc19wYXJzZTonI3ByaW1hcnktbWVudSBsaS5tZW51LWl0ZW07YSYmVGV4dDthJiZocmVmO1wucHJvLyguKiknLAogICAgY2F0ZV9leGNsdWRlOifnq5nplb98XuWFtuS7liR85YWz5LqOfF7nlLXlvbEkfF7liafpm4YkfF7nsbvlnoskJywKICAgIHBsYXlfcGFyc2U6dHJ1ZSwKICAgIC8vIGxhenk6J2pzOmxldCBwdXJsPWlucHV0LnNwbGl0KCJ8IilbMF07bGV0IHJlZmVyZXI9aW5wdXQuc3BsaXQoInwiKVsxXTtsZXQgem09aW5wdXQuc3BsaXQoInwiKVsyXTtwcmludCgicHVybDoiK3B1cmwpO3ByaW50KCJyZWZlcmVyOiIrcmVmZXJlcik7cHJpbnQoInptOiIrem0pO2xldCBteXVhPSJva2h0dHAvMy4xNSI7aWYoL2RkcmtleS8udGVzdChwdXJsKSl7bGV0IHJldD1yZXF1ZXN0KHB1cmwse1JlZmVyZXI6cmVmZXJlcix3aXRoSGVhZGVyczp0cnVlLCJVc2VyLUFnZW50IjpteXVhfSk7bG9nKHJldCk7aW5wdXQ9cHVybH1lbHNle2xldCBodG1sPXJlcXVlc3QocHVybCx7aGVhZGVyczp7UmVmZXJlcjpyZWZlcmVyLCJVc2VyLUFnZW50IjpteXVhfX0pO3ByaW50KGh0bWwpO3RyeXtpbnB1dD1KU09OLnBhcnNlKGh0bWwpLnVybHx8e319Y2F0Y2goZSl7aW5wdXQ9cHVybH19JywKICAgIGxhenk6bGF6eSwKICAgIGxpbWl0OjYsCiAgICDmjqjojZA6JyonLAogICAgZG91YmxlOnRydWUsIC8vIOaOqOiNkOWGheWuueaYr+WQpuWPjOWxguWumuS9jQogICAg5LiA57qnOicucG9zdC1ib3gtbGlzdCYmYXJ0aWNsZTthOmVxKC0xKSYmVGV4dDsucG9zdC1ib3gtaW1hZ2UmJnN0eWxlO2E6ZXEoMCkmJlRleHQ7YTplcSgtMSkmJmhyZWYnLAogICAg5LqM57qnOnsKICAgICAgICAidGl0bGUiOiIucG9zdC10aXRsZSYmVGV4dDsuY2F0LWxpbmtzJiZUZXh0IiwKICAgICAgICAiaW1nIjoiLmRvdWxpc3QtaXRlbSYmaW1nJiZkYXRhLWNmc3JjIiwKICAgICAgICAiZGVzYyI6Ii5wdWJsaXNoZWQmJlRleHQiLAogICAgICAgICJjb250ZW50IjoiLmFic3RyYWN0JiZUZXh0IiwKICAgICAgICAvLyAidGFicyI6ImpzOlRBQlM9Wyflm73lhoUnLCfmtbflpJYo6LKM5Ly85LiN6IO95pKt5pS+KSddIiwKICAgICAgICAidGFicyI6ImpzOlRBQlM9Wyflm73lhoUo5pS5RXhv5pKt5pS+5ZmoKScsJ+WbveWGhTInXSIsCiAgILine truncated
+1
View File
@@ -0,0 +1 @@
**dmFyIHJ1bGUgPSB7CiAgICB0aXRsZTogIuaWl+mxvOebtOaSrSIsCiAgICBob3N0OiAiaHR0cHM6Ly9tLmRvdXl1LmNvbSIsCiAgICBob21lVXJsOiAiL2FwaS9ob21lL21peCIsCiAgICB1cmw6ICIvYXBpL3Jvb20vbGlzdD9wYWdlPWZ5cGFnZSZ0eXBlPWZ5ZmlsdGVyIiwKICAgIGZpbHRlcmFibGU6IDEsCiAgICBmaWx0ZXJfdXJsOiAie3tmbC5jYXRlSWR9fSIsCiAgICBmaWx0ZXI6IHsKICAgICAgICB5bDogW3sKICAgICAgICAgICAga2V5OiAiY2F0ZUlkIiwKICAgICAgICAgICAgbmFtZTogIuWIhuexuyIsCiAgICAgICAgICAgIHZhbHVlOiBbewogICAgICAgICAgICAgICAgbjogIuWOn+WIm0lQIiwKICAgICAgICAgICAgICAgIHY6ICJpcCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIuS4gOi1t+eciyIsCiAgICAgICAgICAgICAgICB2OiAieXFrIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBuOiAi5LqM5qyh5YWDIiwKICAgICAgICAgICAgICAgIHY6ICJlY3kiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLpn7PkuZAiLAogICAgICAgICAgICAgICAgdjogIm11c2ljIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBuOiAi5oi35aSWIiwKICAgICAgICAgICAgICAgIHY6ICJIVyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIue+jumjnyIsCiAgICAgICAgICAgICAgICB2OiAibXMiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLlv4PliqjmtL7lr7kiLAogICAgICAgICAgICAgICAgdjogInhkcGQiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLpn7PpgYfmgYvkuroiLAogICAgICAgICAgICAgICAgdjogInlpbnl1IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBuOiAi5pif56eAIiwKICAgICAgICAgICAgICAgIHY6ICJ4aW5neGl1IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBuOiAi5b+D5YqoRk0iLAogICAgICAgICAgICAgICAgdjogImR0eHMiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLlqLHkuZDmjqjojZAiLAogICAgICAgICAgICAgICAgdjogInlsdGoiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLmlrDpgIkiLAogICAgICAgICAgICAgICAgdjogInhpbnh1YW4iCiAgICAgICAgICAgIH1dCiAgICAgICAgfV0sCiAgICAgICAgUENnYW1lOiBbewogICAgICAgICAgICBrZXk6ICJjYXRlSWQiLAogICAgICAgICAgICBuYW1lOiAi5YiG57G7IiwKICAgICAgICAgICAgdmFsdWU6IFt7CiAgICAgICAgICAgICAgICBuOiAi6Iux6ZuE6IGU55ufIiwKICAgICAgICAgICAgICAgIHY6ICJMT0wiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLng63pl6jmuLjmiI8iLAogICAgICAgICAgICAgICAgdjogInJteXgiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLnqb/otorngavnur8iLAogICAgICAgICAgICAgICAgdjogIkNGIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBuOiAi6YeN55Sf6L6557yYIiwKICAgICAgICAgICAgICAgIHY6ICJDU0JZT0wiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLml6DnlY/lpZHnuqYiLAogICAgICAgICAgICAgICAgdjogIlZBTE9SQU5UIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBuOiAiQ0ZIRCIsCiAgICAgICAgICAgICAgICB2OiAiQ0ZIRCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIuWRvei/kOaWueiInyIsCiAgICAgICAgICAgICAgICB2OiAiTG9zdEFyayIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIkRORiIsCiAgICAgICAgICAgICAgICB2OiAiRE5GIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBuOiAiRE9UQTIiLAogICAgICAgICAgICAgICAgdjogIkRPVEEyIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBuOiAi5L2/5ZG95Y+s5ZSkIiwKICAgICAgICAgICAgICAgIHY6ICJDT0QiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLngonnn7PkvKDor7QiLAogICAgICAgICAgICAgICAgdjogIkhvdyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIkNTMiIsCiAgICAgICAgICAgICAgICB2OiAiQ291bnRlclN0cmlrZSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogImxvbOS6kemhtuS5i+W8iCIsCiAgICAgICAgICAgICAgICB2OiAieWR6aHkiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLprZTlhb3kuonpnLgiLAogICAgICAgICAgICAgICAgdjogIm1zemIiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLprZTlhb3mgIDml6fmnI0iLAogICAgICAgICAgICAgICAgdjogIndvd2NsYXNzaWMiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLlhajmsJHooZfnr64iLAogICAgICAgICAgICAgICAgdjogInFtamwiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLoh6rotbDmo4siLAogICAgICAgICAgICAgICAgdjogImRvdGEycnBnIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBuOiAi5Lyg5aWHIiwKICAgICAgICAgICAgICAgIHY6ICJjcSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIui3kei3keWNoeS4gei9piIsCiAgICAgICAgICAgICAgICB2OiAiUG9wa2FydCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIue9keaYk+a4uOaIjyIsCiAgICAgICAgICAgICAgICB2OiAid3l5eCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIuaYn+mZheS6iemcuCIsCiAgICAgICAgICAgICAgICB2OiAiU0MiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLlrojmnJvlhYjplIsiLAogICAgICAgICAgICAgICAgdjogIk92ZXJ3YXRjaCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIkRPVEEiLAogICAgICAgICAgICAgICAgdjogIkRPVEEiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLprZTlhb3kuJbnlYwiLAogICAgICAgICAgICAgICAgdjogIldPVyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIuWJkee9kTMiLAogICAgICAgICAgICAgICAgdjogIkpYMyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIumtlOWfnyIsCiAgICAgICAgICAgICAgICB2OiAiRXVkZW1vbnNPbmxpbmUiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLmiJHnmoTkuJbnlYwiLAogICAgICAgICAgICAgICAgdjogIk1DIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBuOiAi6LaF5r+A5paX5qKm5aKDIiwKICAgICAgICAgICAgICAgIHY6ICJjamRtaiIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIuWGkumZqeWymyIsCiAgICAgICAgICAgICAgICB2OiAibXhkIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBuOiAi5LiJ5Zu95p2AIiwKICAgICAgICAgICAgICAgIHY6ICJzYW5ndW9zaGEiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLmoqblubvopb/muLgiLAogICAgICAgICAgICAgICAgdjogIk1IWFlPTCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIuWkqea2r+aYjuaciLine truncated
+1
View File
@@ -0,0 +1 @@
**dmFyIHJ1bGU9e3RpdGxlOiLnn63op4bpopEiLGhvc3Q6Imh0dHA6Ly93d3cuc2hhcmVuaWNlLm5ldCIsdXJsOiIvZnljbGFzcz9wYWdlPWZ5cGFnZSIsc2VhcmNoYWJsZTowLHF1aWNrU2VhcmNoOjAsaGVhZGVyczp7IlVzZXItQWdlbnQiOiJQQ19VQSJ9LHRpbWVvdXQ6NWUzLGNsYXNzX25hbWU6IuaKlumfsyblv6vmiYsm5b6u6KeGJueBq+WxsSblnLrlupMm576O5ouNJuenkuaLjSblhajmsJEm5r6O5rmDJuWlveWFlCblvIDnnLwm576O5aWzJuaQnueskSbnpL7kvJom5b2x6KeGJumfs+S5kCblqLHkuZAm5q2j6IO96YePJueUn+a0uybliqjmvKsm5L2T6IKyJue+jumjnybokIzns7sm5peF5ri4Jua4uOaIjybmmI7mmJ8m5pe25bCaIixjbGFzc191cmw6ImRvdXlpbiZrdWFpc2hvdSZ3ZWlzaGkmaHVvc2hhbiZjaGFuZ2t1Jm1laXBhaSZtaWFvcGFpJnF1YW5taW4mbGlzaGlwaW4maGFvdHUma2FpeWFuJnQtNTc2TzVhV3omdC01cENlNTZ5UiZ0LTU2Uys1THlhJnQtNWIyeDZLZUcmdC02Wit6NUxtUSZ0LTVhaXg1TG1RJnQtNXEyajZJTzk2WWVQJnQtNTVTZjVyUzcmdC01WXFvNXJ5ciZ0LTVMMlQ2SUt5JnQtNTc2TzZhT2YmdC02SkNNNTdPNyZ0LTVwZUY1cmk0JnQtNXJpNDVvaVAmdC01cGlPNXBpZiZ0LTVwZTI1YkNhIixwbGF5X3BhcnNlOiEwLGxhenk6J2pzOi9rdWFpc2hvdS8udGVzdChpbnB1dCk/aW5wdXQ9anNwLnBkZmgocmVxdWVzdCgiaHR0cDovL20uc2hhcmVuaWNlLm5ldC9tb2JpbGUiK2lucHV0LnNwbGl0KCJuZXQiKVsxXSksIi52aWRlby1wbGF5LWJveCYmdmlkZW8mJnNyYyIpOmlucHV0PWpzcC5wZGZoKHJlcXVlc3QoImh0dHA6Ly9tLnNoYXJlbmljZS5uZXQvbW9iaWxlIitpbnB1dC5zcGxpdCgibmV0IilbMV0pLCIudmlkZW8tcGxheS1ib3gmJnZpZGVvJiZzcmMiKSsiIy5tcDQiJyxsaW1pdDo2LGRvdWJsZTohMSwi5o6o6I2QIjoiKiIsIuS4gOe6pyI6Ii5pdGVtLWJveCYmdWwmJmxpO2EmJnRpdGxlO2ltZyYmZGF0YS1vcmlnaW5hbDs7YSYmaHJlZiIsIuS6jOe6pyI6IioifTs=
+1
View File
@@ -0,0 +1 @@
**dmFyIHJ1bGU9e3RpdGxlOiLomY7niZnnm7Tmkq0iLGhvc3Q6Imh0dHBzOi8vd3d3Lmh1eWEuY29tIixob21lVXJsOiIvY2FjaGUucGhwP209TGl2ZUxpc3QmZG89Z2V0TGl2ZUxpc3RCeVBhZ2UmZ2FtZUlkPTIxNjgmdGFnQWxsPTAmcGFnZT0xIix1cmw6Ii9jYWNoZS5waHA/bT1MaXZlTGlzdCZkbz1nZXRMaXZlTGlzdEJ5UGFnZSZnYW1lSWQ9ZnlmaWx0ZXImdGFnQWxsPTAmcGFnZT1meXBhZ2UiLGNsYXNzX25hbWU6IuWoseS5kCbnvZHmuLgm5Y2V5py6JuaJi+a4uCIsY2xhc3NfdXJsOiI4JjEmMiYzIixkZXRhaWxVcmw6Imh0dHBzOi8vbS5odXlhLmNvbS9meWlkIixmaWx0ZXJhYmxlOjEsZmlsdGVyX3VybDoie3tmbC5jYXRlSWR9fSIsZmlsdGVyX2RlZjp7ODp7Y2F0ZUlkOiIyMTM1In0sMTp7Y2F0ZUlkOiIxIn0sMjp7Y2F0ZUlkOiIxNzMyIn0sMzp7Y2F0ZUlkOiIyMzM2In19LGZpbHRlcjp7ODpbe2tleToiY2F0ZUlkIixuYW1lOiLliIbnsbsiLHZhbHVlOlt7bjoi5pif56eAIix2OiIxNjYzIn0se246IuaIt+WkliIsdjoiMjE2NSJ9LHtuOiLkuIDotbfnnIsiLHY6IjIxMzUifSx7bjoi5LqM5qyh5YWDIix2OiIyNjMzIn0se246IuiZmuaLn+WBtuWDjyIsdjoiNjA1NSJ9LHtuOiLml4XmuLgiLHY6IjY3OTEifSx7bjoi5pS+5pig5Y6FIix2OiI2MjQ1In0se246IuWoseS5kOWkqeWcsCIsdjoiMTAwMDIyIn0se246IuS6pOWPiyIsdjoiNDA3OSJ9LHtuOiLnu4TpmJ8iLHY6IjUzNjcifSx7bjoi5ZCD5Zad546p5LmQIix2OiIxMDAwNDQifSx7bjoi5Y6f5YibIix2OiI2ODYxIn0se246IuiZjueJmeaWh+WMliIsdjoiNDA4OSJ9LHtuOiLkvZPogrIiLHY6IjIzNTYifSx7bjoi6JmO54mZ5Zyw5pa5Iix2OiI1MTIzIn0se246IuminOWAvCIsdjoiMjE2OCJ9LHtuOiLnp5HmioAiLHY6IjI0MDgifSx7bjoi6Z+z5LmQIix2OiIzNzkzIn0se246Iui2o+WIhuS6qyIsdjoiNTg4MyJ9LHtuOiLkuIDotbfkubAiLHY6Ijc3NTkifSx7bjoi5rS+5a+5Iix2OiI3Nzg1In1dfV0sMTpbe2tleToiY2F0ZUlkIixuYW1lOiLliIbnsbsiLHZhbHVlOlt7bjoi6Iux6ZuE6IGU55ufIix2OiIxIn0se246IkNTMiIsdjoiODYyIn0se246Iuepv+i2iueBq+e6vyIsdjoiNCJ9LHtuOiJsb2zkupHpobbkuYvlvIgiLHY6IjU0ODUifSx7bjoi5peg55WP5aWR57qmIix2OiI1OTM3In0se246IkNGSEQiLHY6IjYwNzkifSx7bjoi6YCG5oiYIix2OiIxMzUifSx7bjoi54KJ55+z5Lyg6K+0Iix2OiIzOTMifSx7bjoiRE9UQTIiLHY6IjcifSx7bjoi5Zyw5LiL5Z+O5LiO5YuH5aOrIix2OiIyIn0se246IumtlOWFveS4lueVjCIsdjoiOCJ9LHtuOiLlnablhYvkuJbnlYwiLHY6IjgwMiJ9LHtuOiJET1RBMSIsdjoiNiJ9LHtuOiLmoqbkuInlm70iLHY6IjQ4OSJ9LHtuOiLprZTlhb3kuonpnLgzIix2OiI0NjE1In0se246IumXrumBkyIsdjoiMTA3In0se246IuWRvei/kOaWueiInyIsdjoiMzA1OCJ9LHtuOiJRUemjnui9piIsdjoiOSJ9LHtuOiLmmJ/pmYXkuonpnLgiLHY6IjUifSx7bjoi572R5ri456ue5oqAIix2OiIxMDAwMjMifSx7bjoi5bCE5Ye757u85ZCI5ri45oiPIix2OiIxMDAxNDEifSx7bjoi5pq06Zuq5LiT5Yy6Iix2OiIxMDAwNDMifSx7bjoi5b2p6Jm55bKbT25saW5lIix2OiI2ODMifSx7bjoi5YmR54G1Iix2OiI4OTcifSx7bjoi5Yab5LqL5ri45oiPIix2OiIxMDAxMzMifSx7bjoi5YaS6Zmp5bKbIix2OiIyMjQzIn0se246Iuaal+m7keegtOWdj+elniIsdjoiMTEyMyJ9LHtuOiLor5vku5kzIix2OiIxNjQ2In0se246IueDreihgOaxn+a5liIsdjoiMzg3In0se246IuiLsemtguS5i+WIgyIsdjoiMTgzMCJ9LHtuOiLmrabmnpflpJbkvKDkuIDkuJbnkLTnvJgiLHY6IjE2NjEifSx7bjoi6LW35Yeh77ya576k6ZuE6YCQ6bm/Iix2OiIxNjEyIn0se246IuelnuatpjTnlLXohJHniYgiLHY6IjMyMjcifSx7bjoi6b6Z5LmL6LC3Iix2OiIxNSJ9LHtuOiLngonnn7PmiJjmo4siLHY6IjU3NTEifSx7bjoi5b6h6b6Z5Zyo5aSpIix2OiI2NzUifSx7bjoi6YCG5rC05a+SIix2OiIyOTUyIn0se246IuWNg+W5tDMiLHY6Ijg3OCJ9LHtuOiLmsLjmgZLkuYvloZQiLHY6IjQ0NiJ9LHtuOiLkvZPogrLmuLjmiI8iLHY6IjEwMDEzNSJ9LHtuOiLlr7vku5kiLHY6IjczNCJ9LHtuOiLmiJjoiLDkuJbnlYwiLHY6IjE5NDcifSx7bjoiUVHkuInlm70iLHY6IjEwOTAifSx7bjoi5rWB5pS+5LmL6LevIix2OiI0MjcifSx7bjoi5Y+N5oGQ57K+6IuxT25saW5lIix2OiIxOTE4In0se246IuWPjeaBkOihjOWKqG9ubGluZSIsdjoiODYxIn0se246IuW+gemAlCIsdjoiMjcxNSJ9LHtuOiLmiJjkuonpm7fpnIYiLHY6IjYyNCJ9LHtuOiLkuJ3ot6/kvKDor7QyIix2OiIxMDI2In0se246IuaYn+mZheaImOeUsiIsdjoiNjI3In0se246Ik5CQTJLT0zns7vliJciLHY6IjM5NTkifSx7bjoi5Lmd6Zi055yf57uPIix2OiIxMDA5In0se246Iui3kei3keWNoeS4gei9piIsdjoiMTYyIn0se246Iuivm+S7meS4lueVjCIsdjoiNzc0OSJ9LHtuOiJRUeWNjuWkjyIsdjoiMTg3OCJ9LHtuOiLlpKnmtq/mmI7mnIjliIAiLHY6IjEyMTkifSx7bjoi5aSn6K+d6KW/5ri477ya5b2S5p2lIix2OiI4MjM5In0se246IuiNkumHjuihjOWKqFBD54mIIix2OiIzMTg1In0se246IuaWsOWJkeS+oOaDhee8mCIsdjoiNTg2In0se246IuWJkee9kTMiLHY6IjkwMCJ9LHtuOiLnlJ/mrbvni5nlh7syIix2OiI2MDkxIn0se246IuWFqOeQg+S9v+WRvSIsdjoiOTM5In0se246IuaipuaDs+S4lueVjDMiLHY6IjQ4NiJ9LHtuOiLmnqrnpZ7nuqoiLHY6IjQ5NiJ9LHtuOiLmlrDlpKnpvpnlhavpg6giLHY6IjU2NzEifSx7bjoi6ZOB55Sy6ZuE5YW1Iix2OiIyNzY1In0se246IuelnuazoyIsdjoiMjUzMSJ9LHtuOiLmlpfmiJjnpZ4iLHY6IjU5MSJ9LHtuOiLpgKDmoqbopb/muLhPTCIsdjoiNjgxNSJ9LHtuOiLlpKnloIIiLHY6IjE5NjYifSx7bjoi5aSn6K+d6KW/5ri4MiIsdjoiMjk3NSJ9LHtuOiLkvb/lkb3lj6zllKTvvJrmiJjljLoiLHY6IjU5MTEifSx7bjoi5biM5pybT0wiLHY6IjExNjEifSx7bjoi5p6B5YWJ5LiW55WMIOW8keelnuS8oCIsdjoiNTE0In0se246IuWuiOacm+WFiOmUi+W9kuadpSIsdjoiMjE3NCJ9LHtuOiJRUeiHqueUseW5u+aDsyIsdjoiMTg2MiJ9LHtuOiLlkb3ov5AyIix2OiIyOTQyIn0se246IuWlh+i/ueS4lueVjDIiLHY6Ijc2NiJ9LHtuOiLlnablhYvlpKfmiJgiLHY6IjQzNTkifSx7bjoi55Sf5q2754uZ5Ye7Iix2OiIyNDcxIn0se246IuWkqee/vOWGsyIsdjoiNzc5In0se246IlFR5bm75oOzIix2OiIyNDE5In0se246IuaWsOmjnumjnihGbHlGRikiLHY6IjE1ODIifSx7bjoi5YiA5YmR6Iux6ZuEIix2OiI5MTUifSx7bjoiRklGQSBPbmxpbmXns7vliJciLHY6IjEwMDA3OSJ9LHtuOiLlhajnkIPkvb/lkb0zIix2OiIyOTUzIn0se246IuWujOe+juerr+a4uOezu+WIlyIsdjoiMzAzNCJ9LHtuOiLmiJjmhI8iLHY6IjI1OTkifSx7bjoi5rOh5rOh5aCCIix2OiI0NDAifSx7bjoi6LWb5bCU5Y+3Iix2OiIyNzU1In0se246IuWkp+WUkOaXoOWPjOmbtiIsdjoiMTU4NCJ9LHtuOiJRUeeCq+iIniIsdjoiMjQ0MCJ9LHtuOiIwMDfvvJrkvKDlpYciLHY6IjExMzUifSx7bjoi5aSp5LiLIix2OiIxNTk3In0se246IuWkqeiwlSIsdjoiMTg5OSJ9LHtuOiLmlrDlgKnlpbPlub3prYIiLHY6IjE1NzkifSx7bjoi5Lyg5LiW5peg5Y+MIix2OiI5ODQifSx7bjoi5YmR5L6g5LiW55WMIix2OiI5MDMifSx7bjoiV2FyaGF2ZW4iLHY6IjkwNTMifSx7bLine truncated
+1
View File
@@ -0,0 +1 @@
**dmFyIHJ1bGUgPSB7CiAgICB0aXRsZTonSlJLQU7nm7Tmkq0nLAogICAgaG9zdDonaHR0cDovL3d3dy5qcmthbjIwMjIuY29tLz9sYW49MScsCiAgICAvLyBKUktBTuWkh+eUqOWfn+WQjTp3d3cuanJrYW5rYW4uY29tIC8gd3d3Lmpya2FuMzY1LmNvbSAvIGpyc3l5ZHMuY29tIC8gd3d3LmpyeXlkcy5jb20gLyBqcnNrYW4uY29tIC8ganJzYnhqLmNvbSAvSnJrYW7lpIfnlKjln5/lkI0xOiB3d3cuanJrYW4yMDIyLmNvbSDlpIfnlKjln5/lkI0yOiB3d3cuanJzMjMuY29tIOWkh+eUqOWfn+WQjTI6IHd3dy5qcnNray5jb20g5pyA5paw572R5Z2A5Y+R5biDOnd3dy5xaXVtaTEzMTQuY28KICAgIHVybDonL2Z5Y2xhc3MnLAogICAgc2VhcmNoVXJsOicnLAogICAgc2VhcmNoYWJsZTowLAogICAgcXVpY2tTZWFyY2g6MCwKICAgIGNsYXNzX25hbWU6J+WFqOmDqCcsCiAgICBjbGFzc191cmw6Jy8nLAogICAgLy9jbGFzc191cmw6Jz9saXZlJywKICAgIGhlYWRlcnM6ewogICAgICAgICdVc2VyLUFnZW50JzonUENfVUEnCiAgICB9LAogICAgdGltZW91dDo1MDAwLAogICAgcGxheV9wYXJzZTp0cnVlLAogICAgbGF6eToiIiwKICAgIGxpbWl0OjYsCiAgICBkb3VibGU6ZmFsc2UsCiAgICDmjqjojZA6JyonLAogICAgLy8g5LiA57qnOicubG9jX21hdGNoOmVxKDIpIHVsO2xpOmd0KDEpOmx0KDQpJiZUZXh0O2ltZyYmc3JjO2xpOmx0KDIpJiZUZXh0O2E6ZXEoMSkmJmhyZWYnLC8vcGxheS5zcG9ydHN0ZWFtMzMzLmNvbQogICAg5LiA57qnOiJqczp2YXIgaXRlbXM9W107cGRmaD1qc3AucGRmaDtwZGZhPWpzcC5wZGZhO3BkPWpzcC5wZDt2YXIgaHRtbD1yZXF1ZXN0KGlucHV0KTt2YXIgdGFicz1wZGZhKGh0bWwsJ2JvZHkmJi5kLXRvdWNoJyk7dGFicy5mb3JFYWNoKGZ1bmN0aW9uKGl0KXt2YXIgcHo9cGRmaChpdCwnLm5hbWU6ZXEoMSkmJlRleHQnKTt2YXIgcHM9cGRmaChpdCwnLm5hbWU6ZXEoMCkmJlRleHQnKTt2YXIgcGs9cGRmaChpdCwnLm5hbWU6ZXEoMikmJlRleHQnKTt2YXIgaW1nPXBkKGl0LCdpbWcmJnNyYycpO3ZhciB0aW1lcj1wZGZoKGl0LCcubGFiX3RpbWUmJlRleHQnKTt2YXIgdXJsPXBkKGl0LCdhLm1lJiZocmVmJyk7aXRlbXMucHVzaCh7ZGVzYzp0aW1lcisnIC0gJytwcyx0aXRsZTpweisnIFZTICcrcGsscGljX3VybDppbWcsdXJsOnVybH0pfSk7c2V0UmVzdWx0KGl0ZW1zKTsiLAogICAg5LqM57qnOnsKICAgICAgICAidGl0bGUiOiIuc3ViX2xpc3QgbGk6bHQoMikmJlRleHQ7LnN1Yl9saXN0IGxpOmVxKDApJiZUZXh0IiwKICAgICAgICAiaW1nIjoiaW1nJiZzcmMiLAogICAgICAgICJkZXNjIjoiOzs7LmxhYl90ZWFtX2hvbWUmJlRleHQ7LmxhYl90ZWFtX2F3YXkmJlRleHQiLAogICAgICAgICJjb250ZW50IjoiLnN1Yl9saXN0IHVsJiZUZXh0IiwKICAgICAgICAidGFicyI6ImpzOlRBQlM9Wyflrp7ml7bnm7Tmkq0nXSIsCiAgICAgICAgImxpc3RzIjoianM6TElTVFM9W107cGRmaD1qc3AucGRmaDtwZGZhPWpzcC5wZGZhO3BkPWpzcC5wZDtsZXQgaHRtbD1yZXF1ZXN0KGlucHV0KTtsZXQgZGF0YT1wZGZhKGh0bWwsJy5zdWJfcGxheWxpc3QmJmEnKTtUQUJTLmZvckVhY2goZnVuY3Rpb24odGFiKXtsZXQgZD1kYXRhLm1hcChmdW5jdGlvbihpdCl7bGV0IG5hbWU9cGRmaChpdCwnc3Ryb25nJiZUZXh0Jyk7bGV0IHVybD1wZChpdCwnYSYmZGF0YS1wbGF5Jyk7cmV0dXJuIG5hbWUrJyQnK3VybH0pO0xJU1RTLnB1c2goZCl9KTsiLAogICAgfSwKICAgIOaQnOe0ojonJywKfQ==
+2
View File
@@ -0,0 +1,2 @@
# qqctg
+64
View File
@@ -0,0 +1,64 @@
{
"urls": [
{
"url": "https://github.moeyy.xyz/https://raw.githubusercontent.com/ls125781003/qqctg/main/饭太硬/api.json",
"name": "饭太硬"
},
{
"url": "https://github.moeyy.xyz/https://raw.githubusercontent.com/ls125781003/qqctg/main/小米/api.json",
"name": "小米"
},
{
"url": "https://github.moeyy.xyz/https://raw.githubusercontent.com/ls125781003/qqctg/main/肥猫/api.json",
"name": "肥猫"
},
{
"url": "https://github.moeyy.xyz/https://raw.githubusercontent.com/ls125781003/qqctg/main/南风/api.json",
"name": "南风"
},
{
"url": "https://github.moeyy.xyz/https://raw.githubusercontent.com/ls125781003/qqctg/main/OK/api.json",
"name": "OK"
},
{
"url": "https://github.moeyy.xyz/https://raw.githubusercontent.com/ls125781003/qqctg/main/天天开心/api.json",
"name": "天天开心"
},
{
"url": "https://github.moeyy.xyz/https://raw.githubusercontent.com/ls125781003/qqctg/main/摸鱼儿/api.json",
"name": "摸鱼儿"
},
{
"url": "https://github.moeyy.xyz/https://raw.githubusercontent.com/ls125781003/qqctg/main/戏曲音乐/api.json",
"name": "戏曲音乐"
},
{
"url": "https://github.moeyy.xyz/https://raw.githubusercontent.com/ls125781003/qqctg/main/潇洒/api.json",
"name": "潇洒"
},
{
"url": "https://github.moeyy.xyz/https://raw.githubusercontent.com/ls125781003/qqctg/main/骚零/api.json",
"name": "骚零"
},
{
"url": "https://github.moeyy.xyz/https://raw.githubusercontent.com/ls125781003/qqctg/main/欧歌/api.json",
"name": "欧歌"
},
{
"url": "https://github.moeyy.xyz/https://raw.githubusercontent.com/ls125781003/qqctg/main/王二小/api.json",
"name": "王二小"
},
{
"url": "https://github.moeyy.xyz/https://raw.githubusercontent.com/ls125781003/qqctg/main/香雅情/api.json",
"name": "香雅情"
},
{
"url": "https://github.moeyy.xyz/https://raw.githubusercontent.com/ls125781003/qqctg/main/短剧频道/api.json",
"name": "短剧频道"
},
{
"url": "https://github.moeyy.xyz/https://raw.githubusercontent.com/ls125781003/qqctg/main/少儿频道/api.json",
"name": "少儿频道"
}
]
}
+64
View File
@@ -0,0 +1,64 @@
{
"urls": [
{
"url": "https://bitbucket.org/ls125781003/qqctg/raw/main/饭太硬/api.json",
"name": "饭太硬"
},
{
"url": "https://bitbucket.org/ls125781003/qqctg/raw/main/小米/api.json",
"name": "小米"
},
{
"url": "https://bitbucket.org/ls125781003/qqctg/raw/main/肥猫/api.json",
"name": "肥猫"
},
{
"url": "https://bitbucket.org/ls125781003/qqctg/raw/main/南风/api.json",
"name": "南风"
},
{
"url": "https://bitbucket.org/ls125781003/qqctg/raw/main/OK/api.json",
"name": "OK"
},
{
"url": "https://bitbucket.org/ls125781003/qqctg/raw/main/天天开心/api.json",
"name": "天天开心"
},
{
"url": "https://bitbucket.org/ls125781003/qqctg/raw/main/摸鱼儿/api.json",
"name": "摸鱼儿"
},
{
"url": "https://bitbucket.org/ls125781003/qqctg/raw/main/戏曲音乐/api.json",
"name": "戏曲音乐"
},
{
"url": "https://bitbucket.org/ls125781003/qqctg/raw/main/潇洒/api.json",
"name": "潇洒"
},
{
"url": "https://bitbucket.org/ls125781003/qqctg/raw/main/骚零/api.json",
"name": "骚零"
},
{
"url": "https://bitbucket.org/ls125781003/qqctg/raw/main/欧歌/api.json",
"name": "欧歌"
},
{
"url": "https://bitbucket.org/ls125781003/qqctg/raw/main/王二小/api.json",
"name": "王二小"
},
{
"url": "https://bitbucket.org/ls125781003/qqctg/raw/main/香雅情/api.json",
"name": "香雅情"
},
{
"url": "https://bitbucket.org/ls125781003/qqctg/raw/main/短剧频道/api.json",
"name": "短剧频道"
},
{
"url": "https://bitbucket.org/ls125781003/qqctg/raw/main/少儿频道/api.json",
"name": "少儿频道"
}
]
}
+1148
View File
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,68 @@
/***
* 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);
});
}
};
}
@@ -0,0 +1,304 @@
if (typeof Object.assign != 'function') {
Object.assign = function () {
var target = arguments[0];
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
}
function getMubans() {
var mubanDict = { // 模板字典
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(2):lt(8);a&&Text;a&&href;/(\\d+).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
二级: {
"title": "h1&&Text;.module-info-tag&&Text",
"img": ".lazyload&&data-original",
"desc": ".module-info-item:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(3)&&Text",
"content": ".module-info-introduction&&Text",
"tabs": ".module-tab-item",
"lists": ".module-play-list:eq(#id) a"
},
搜索: '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: '',
limit: 6,
推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.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(0)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(2)&&Text;.video-info-items:eq(3)&&Text",
"content": ".vod_content&&Text",
"tabs": ".module-tab-item",
"lists": ".module-player-list:eq(#id)&&.scroll-content&&a"
},
搜索: '.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(5);a&&Text;a&&href;/(\\d+).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
二级: {
"title": ".myui-content__detail .title&&Text;.myui-content__detail p:eq(-2)&&Text",
"img": ".myui-content__thumb .lazyload&&data-original",
"desc": ".myui-content__detail p:eq(0)&&Text;.myui-content__detail p:eq(1)&&Text;.myui-content__detail p:eq(2)&&Text",
"content": ".content&&Text",
"tabs": ".nav-tabs:eq(0) li",
"lists": ".myui-content__list:eq(#id) li"
},
搜索: '#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&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;/(\\d+).html',
class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.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)&&Text",
"img": ".stui-content__thumb .lazyload&&data-original",
"desc": ".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text",
"content": ".detail&&Text",
"tabs": ".stui-vodlist__head h3",
"lists": ".stui-content__playlist:eq(#id) li"
},
搜索: 'ul.stui-vodlist__media:eq(0) li,ul.stui-vodlist:eq(0) li,#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
搜索1: 'ul.stui-vodlist&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
搜索2: 'ul.stui-vodlist__media&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
},
默认: {
title: '',
host: '',
url: '/vodshow/fyclass--------fypage---.html',
searchUrl: '/vodsearch/-------------.html?wd=**',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {
'User-Agent': 'MOBILE_UA',
},
play_parse: true,
lazy: '',
limit: 6,
double: true, // 推荐内容是否双层定位
},
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.fed-part-eone:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html',
class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.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: '',
推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href',
double: true,
一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
二级: {
"title": ".hl-infos-title&&Text;.hl-text-conch&&Text",
"img": ".hl-lazy&&data-original",
"desc": ".hl-infos-content&&.hl-text-conch&&Text",
"content": ".hl-content-text&&Text",
"tabs": ".hl-tabs&&a",
"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: '',
推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href',
double: true,
一级: '.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: '',
limit: 6,
推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.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: '',
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(3)--strong&&Text",
"img":".detail-pic&&data-original",
"desc":".fraction&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(2)--strong&&Text;.slide-info:eq(1)--strong&&Text",
"content":"#height_limit&&Text",
"tabs":".anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a",
"tab_text":".swiper-slide&&Text",
"lists":".anthology-list-box:eq(#id) li"
},
搜索:'json:list;name;pic;;id',
}
};
return JSON.parse(JSON.stringify(mubanDict));
}
var mubanDict = getMubans();
var muban = getMubans();
export default {muban,getMubans};
@@ -0,0 +1 @@
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
+1
View File
@@ -0,0 +1 @@
import cheerio from"./9af1556538d03232337fae7e59741289.js";import"./ab53c890d5a64daafcf2b7631d21c1b9.js";import"./e9af2d0f3bf60d8b67b45615a9c474a3.js";import 模板 from"./6c0debf8abd68630086d31eb3f1dd285.js";import{gbkTool}from"./491cbabc17362406a4ddc6f64ac6ad3f.js";function init_test(){console.log("init_test_start");console.log("当前版本号:"+VERSION);console.log(RKEY);console.log(JSON.stringify(rule));console.log("init_test_end")}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={};let vercode=typeof pdfl==="function"?"drpy2.1":"drpy2";const VERSION=vercode+" 3.9.49beta40 202400426";const MOBILE_UA="Mozilla/5.0 (Linux; Android 11; M2007J3SC Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045714 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="http://drpy.nokia.press:8028/ocr/drpy/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)$/;const SELECT_REGEX=/:eq|:lt|:gt|#/g;const SELECT_REGEX_A=/:eq|:lt|:gt/g;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}})}if(typeof String.prototype.startsWith!="function"){String.prototype.startsWith=function(prefix){return this.slice(0,prefix.length)===prefix}}if(typeof String.prototype.endsWith!="function"){String.prototype.endsWith=function(suffix){return this.indexOf(suffix,this.length-suffix.length)!==-1}}Object.prototype.myValues=function(obj){if(obj==null){throw new TypeError("Cannot convert undefined or null to object")}var res=[];for(var k in obj){if(obj.hasOwnProperty(k)){res.push(obj[k])}}return res};if(typeof Object.prototype.values!="function"){Object.prototype.values=function(obj){if(obj==null){throw new TypeError("Cannot convert undefined or null to object")}var res=[];for(var k in obj){if(obj.hasOwnProperty(k)){res.push(obj[k])}}return res}}if(typeof Array.prototype.join!="function"){Array.prototype.join=function(emoji){emoji=emoji||"";let self=this;let str="";let i=0;if(!Array.isArray(self)){throw String(self)+"is not Array"}if(self.length===0){return""}if(self.length===1){return String(self[0])}i=1;str=this[0];for(;i<self.length;i++){str+=String(emoji)+String(self[i])}return str}}if(typeof Array.prototype.toReversed!="function"){Array.prototype.toReversed=function(){const clonedList=this.slice();const reversedList=clonedList.reverse();return reversedList}}String.prototype.rstrip=function(chars){let regex=new RegExp(chars+"$");return this.replace(regex,"")};Array.prototype.append=Array.prototype.push;String.prototype.strip=String.prototype.trim;function 是否正版(vipUrl){let flag=new RegExp("qq.com|iqiyi.com|youku.com|mgtv.com|bilibili.com|sohu.com|ixigua.com|pptv.com|miguvideo.com|le.com|1905.com|fun.tv");return flag.test(vipUrl)}function urlDeal(vipUrl){if(!vipUrl){return""}if(!是否正版(vipUrl)){return vipUrl}if(!/miguvideo/.test(vipUrl)){vipUrl=vipUrl.split("#")[0].split("?")[0]}return vipUrl}function setResult(d){if(!Array.isArray(d)){reLine truncated
@@ -0,0 +1,265 @@
/*
* 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__;
/******/ })()
;
});
+61
View File
@@ -0,0 +1,61 @@
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)
`,
},
搜索: "",
};
+39
View File
@@ -0,0 +1,39 @@
// 道长 drpy仓库 https://gitcode.net/qq_32394351/dr_py
// 道长 drpy安卓本地搭建说明 https://gitcode.net/qq_32394351/dr_py/-/blob/master/%E5%AE%89%E5%8D%93%E6%9C%AC%E5%9C%B0%E6%90%AD%E5%BB%BA%E8%AF%B4%E6%98%8E.md
// 道长 drpy写源 模板规则说明 https://gitcode.net/supertlo/dr_py#%E6%A8%A1%E6%9D%BF%E8%A7%84%E5%88%99%E8%AF%B4%E6%98%8E
// 道长 drpy写源 套模模版 https://gitcode.net/qq_32394351/dr_py/-/raw/master/js/%E6%A8%A1%E6%9D%BF.js
// 道长 drpy写源 影片教程 http://101.34.67.237:5244/%E6%95%99%E8%82%B2/drpy
// 道长 drpy写源 影片教程(m3u8切片) https://freedrpy.run.goorm.io/txt/jc/playlist.m3u8
// 海阔下载 https://haikuo.lanzoui.com/u/GoldRiver
// Pluto Player官方TG https://t.me/PlutoPlayer
// Pluto Player官方TG https://t.me/PlutoPlayerChannel
var rule = {
title:'JRKAN直播',
host:'http://m.jrkan2023.com/',
// JRKAN备用域名:m.jrskan8.com / m.jrkan666.com / jryyds.com / jrsbxj.com
// JRKAN网址发布:qiumi1314.com
url:'/fyclass',
searchUrl:'',
searchable:0,
quickSearch:0,
class_name:'全部',
class_url:'/',
//class_url:'?live',
headers:{
'User-Agent':'MOBILE_UA'
},
timeout:5000,
play_parse:true,
lazy:'',
limit:6,
double:false,
推荐:'*',
// 一级播放线路x3 可自行切换
//一级:'.loc_match .d-touch;li&&Text;img&&src;.lab_time&&Text;a:eq(0)&&href',//play.sportsteam365.com
一级:'.loc_match:eq(2) ul;li:gt(1):lt(4)&&Text;img&&src;li:lt(2)&&Text;a:eq(1)&&href',//play.sportsteam333.com
//一级:'.loc_match .d-touch;li&&Text;img&&src;.lab_time&&Text;a:eq(2)&&href',//play.sportsteam666.com
二级:{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:'',tab_text:'',lists:'.sub_channel a',list_text:'a&&Text',list_url:'a&&data-play'},
搜索:'',
}
+5
View File
@@ -0,0 +1,5 @@
var rule={title:"斗鱼直播",host:"https://m.douyu.com",homeUrl:"/api/home/mix",url:"/api/room/list?page=fypage&type=fyfilter",filterable:1,filter_url:"{{fl.cateId}}",filter:{yl:[{key:"cateId",name:"分类",value:[{n:"原创IP",v:"ip"},{n:"一起看",v:"yqk"},{n:"二次元",v:"ecy"},{n:"音乐",v:"music"},{n:"户外",v:"HW"},{n:"美食",v:"ms"},{n:"心动派对",v:"xdpd"},{n:"音遇恋人",v:"yinyu"},{n:"星秀",v:"xingxiu"},{n:"心动FM",v:"dtxs"},{n:"娱乐推荐",v:"yltj"},{n:"新选",v:"xinxuan"}]}],PCgame:[{key:"cateId",name:"分类",value:[{n:"英雄联盟",v:"LOL"},{n:"热门游戏",v:"rmyx"},{n:"穿越火线",v:"CF"},{n:"重生边缘",v:"CSBYOL"},{n:"无畏契约",v:"VALORANT"},{n:"CFHD",v:"CFHD"},{n:"命运方舟",v:"LostArk"},{n:"DNF",v:"DNF"},{n:"DOTA2",v:"DOTA2"},{n:"使命召唤",v:"COD"},{n:"炉石传说",v:"How"},{n:"CS2",v:"CounterStrike"},{n:"lol云顶之弈",v:"ydzhy"},{n:"魔兽争霸",v:"mszb"},{n:"魔兽怀旧服",v:"wowclassic"},{n:"全民街篮",v:"qmjl"},{n:"自走棋",v:"dota2rpg"},{n:"传奇",v:"cq"},{n:"跑跑卡丁车",v:"Popkart"},{n:"网易游戏",v:"wyyx"},{n:"星际争霸",v:"SC"},{n:"守望先锋",v:"Overwatch"},{n:"DOTA",v:"DOTA"},{n:"魔兽世界",v:"WOW"},{n:"剑网3",v:"JX3"},{n:"魔域",v:"EudemonsOnline"},{n:"我的世界",v:"MC"},{n:"超激斗梦境",v:"cjdmj"},{n:"冒险岛",v:"mxd"},{n:"三国杀",v:"sanguosha"},{n:"梦幻西游",v:"MHXYOL"},{n:"天涯明月刀",v:"tianya"},{n:"街头篮球",v:"jtlq"},{n:"NBA2KOL2",v:"NBA2KOL2"},{n:"QQ飞车端游",v:"qqfcdy"},{n:"战地之王",v:"AVA"},{n:"军事游戏",v:"jsyx"},{n:"棋牌娱乐",v:"qipai"},{n:"FC ONLINE",v:"FCOL"},{n:"热门网游",v:"rmwy"},{n:"卡拉彼丘",v:"klbq"},{n:"诛仙世界",v:"zxsj"},{n:"千古风流",v:"qgflpc"},{n:"APEX",v:"APEX"},{n:"流放之路POE",v:"PathofExile"},{n:"剑网3缘起",v:"JW3YQ"},{n:"逆水寒",v:"nsh"},{n:"风暴英雄",v:"HOTS"},{n:"逆战",v:"NZ"},{n:"坦克世界",v:"TKSJ"},{n:"战舰世界",v:"wfws"},{n:"巫师之昆特牌",v:"wszktp"},{n:"反恐精英Online",v:"CS"},{n:"暗黑破坏神",v:"DIABLO"},{n:"梦三国2",v:"msg2"},{n:"传奇世界",v:"cqsj"},{n:"方舟:生存进化",v:"fzscjh"},{n:"神武4电脑版",v:"swdnb"},{n:"群雄逐鹿",v:"qxzl"},{n:"堡垒之夜",v:"blzy"},{n:"无限法则",v:"roe"},{n:"问道电脑版",v:"wddnb"},{n:"西山居游戏",v:"Seasun"},{n:"最终幻想14",v:"FF14"},{n:"战意",v:"WYZY"},{n:"剑灵",v:"BladeSoul"},{n:"星际战甲",v:"Warframe"},{n:"龙之谷",v:"DragonNest"},{n:"铁甲雄兵",v:"tjxb"},{n:"古剑奇谭网络版",v:"gjqtwlb"},{n:"轩辕传奇",v:"XYCQ"},{n:"神途",v:"shentu"},{n:"激战2",v:"GuildWars2"},{n:"高达文化区",v:"gdyxq"},{n:"忍者村大战2",v:"rzcdz2"},{n:"RPG网游专区",v:"rpgwyzq"},{n:"诛仙3",v:"zhuxian3"},{n:"笑傲江湖OL",v:"xajhol"},{n:"冒险岛2",v:"MXD2"},{n:"超击突破",v:"SuperPeople"},{n:"无尽战区",v:"WJZQ"},{n:"斗战神",v:"dzs"},{n:"永恒之塔",v:"AION"},{n:"九阴真经",v:"JYZJ"},{n:"FPS综合网游",v:"FPSOL"},{n:"劲舞团",v:"jwt"},{n:"天下",v:"tianxai"},{n:"泡泡堂",v:"ppt"},{n:"武侠乂",v:"wxy"},{n:"音乐游戏",v:"MG"},{n:"新倩女幽魂",v:"ONLINE"},{n:"天谕",v:"tianyu"},{n:"征途2",v:"zhengtu2"},{n:"QQ炫舞",v:"qqxw"},{n:"泰亚史诗",v:"tyss"},{n:"怪物猎人ol",v:"MHol"},{n:"手工星球",v:"sgxq"},{n:"星战前夜:晨曦",v:"EVE"},{n:"热血传奇:本源",v:"rxcqhjsgb"},{n:"枪火重生",v:"qhcs"},{n:"彩虹岛",v:"CHD"},{n:"御龙在天",v:"YLZT"},{n:"英魂之刃",v:"YHZR"},{n:"自由篮球",v:"ZYLQ"},{n:"洛奇英雄传",v:"LQYXZ"},{n:"封印者",v:"FYZ"},{n:"合金弹头",v:"HJDT"},{n:"新英雄年代",v:"XYXSD"},{n:"星尘传说",v:"XCCS"},{n:"盛趣游戏",v:"SQYX"},{n:"新热血英豪",v:"XRXYH"},{n:"沙盒游戏",v:"SHYX"},{n:"我的世界:地下城",v:"MD"},{n:"恐鬼症",v:"KGZ"},{n:"领地人生",v:"LDRS"},{n:"梦塔防",v:"TDOTK"},{n:"大话西游2",v:"dhxy2"},{n:"猎人",v:"lr"},{n:"热血江湖online",v:"rxjhol"},{n:"千年3",v:"qn3"},{n:"逍遥情缘",v:"xyqy"},{n:"快乐西游",v:"klxy"},{n:"鹿鼎记",v:"ldj"},{n:"新桃花源记",v:"xthyj"},{n:"疾风之刃电脑版",v:"jfzr1"},{n:"武魂2电脑版",v:"wh2pc"},{n:"奇迹世界sun",v:"qjsjsun"},{n:"剑侠世界2电脑版",v:"jxsj2pc"},{n:"斩魂",v:"zhpc"},{n:"大唐2",v:"dt2pc"},{n:"蜀山:初章",v:"ssczpc"},{n:"狼人对决网游",v:"lrdjpc"},{n:"武林群侠传",v:"wlqxzpc"},{n:"飘流幻境",v:"plhjpc"},{n:"破天一剑",v:"ptyj"},{n:"四国军棋",v:"sgjq"},{n:"新大话西游3",v:"xy3"},{n:"装甲战争",v:"zjzz"},{n:"暴雪游戏综合",v:"g_bliz"},{n:"长尾4部虚拟分区",v:"cw4bxnfq"},{n:"燕云十六声",v:"WHEREWINDSMEET"},{n:"THE FINALS",v:"THEFINALS"},{n:"NBA2K Online",v:"NBA2KOL"},{n:"塔瑞斯世界",v:"Tarisland"},{n:"跑跑卡丁车:漂移",v:"KartRiderDrift"},{n:"传奇永恒",v:"EternalLegend"},{n:"全境封锁2",v:"TheDivision2"},{n:"盛趣传奇",v:"sqcq"},{n:"火爆热游",v:"hbry"},{n:"火爆传奇",v:"hbcq"}]}],djry:[{key:"cateId",name:"分类",valuLine truncated
二级:'*',
"搜索":"js:\n var d = [];\n let rurls = input.split(';')[0].split('#');\n let rurl = rurls[0];\n let params = rurls.length > 1 ?rurls[1]:'';\n let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params));\n let postData = {body:params};\n Object.assign(_fetch_params,postData);\n let jo = JSON.parse(post(rurl,_fetch_params)).data.list;\n jo.forEach(it => {\n d.push({\n url: it.roomId,\n title: it.roomName,\n img: it.roomSrc,\n desc: '👁' + it.hn + ' 🆙' + it.nickname,\n })\n });\n setResult(d);\n ",sniffer:1,isVideo:"js:\n log(input);\n if(/\\/huya/.test(input)) {\n input = true\n } else if(/\\.flv?|\\.m3u8?|\\.mp4?/.test(input)){\n input = true\n }else{\n input = false\n }\n "};
+38
View File
@@ -0,0 +1,38 @@
var rule = {
title:'有声小说吧',
编码:'gb18030',
host:'http://m.ysxs8.vip',
url:'/downlist/fyclass_fypage.html',
searchUrl:'/search.asp?page=fypage&searchword=**&searchtype=-1',
searchable:2,
quickSearch:0,
headers:{
'User-Agent':'MOBILE_UA'
},
timeout:5000,
// homeUrl:'/fenlei/',
// class_parse: '.pd-class:eq(0) dd;a&&Text;a&&href;.*/(.*?).html',
class_name:'网络玄幻&恐怖悬疑&传统武侠&都市言情&官场刑侦&历史军事&探险盗墓&职场商战&明朝那些事儿&评书下载&相声戏曲&人物传记&广播剧&百家讲坛&外语读物&有声文学&儿童读物&管理营销',
class_url:'r52&r17&r12&r13&r14&r15&r45&r81&r36&r3&r7&r16&r18&r32&r35&r41&r4&r6',
play_parse:true,
lazy:'',
limit:6,
// double:true,
推荐:'.list-ul .list-li;.list-name&&Text;*;.module-slide-author&&Text;*',
一级:'.book-ol&&li;h4&&Text;img&&data-original;.book-meta&&Text;a&&href',
二级:{
// title:'h2&&Text;.book-cell .book-rand-a:eq(2)&&Text',
title:'h1&&Text;.book-cell .book-rand-a:eq(0)&&a&&Text',
img:'.book img&&src',
// desc:';;;;.book-des p&&Text',
desc:';;;.book-rand-a:eq(2)&&Text;.book-des p&&Text',
content:'.book-des--p&&Text',
tabs:'.playlist-top&&h2',
// lists:'js:pd=jsp.pd;let url=pd(html,".bookbutton&&a&&href");log(url);html=request(url);let v=pd(html,".booksite&&script&&Html");var document={};var VideoListJson;VideoListJson=eval(v.split("VideoListJson=")[1].split(",urlinfo")[0]);log(typeof VideoListJson);let list1=VideoListJson[0][1];LISTS=[list1];log(LISTS);',
// 有声小说有防盗链,我服了(上面的列表数据正常拿到了,没法播放)
// lists:'#playlist:eq(#id)&&ul&&li',
lists:'#playlist ul li',
},
搜索:'*',
}
+98
View File
@@ -0,0 +1,98 @@
var rule = {
title:'虎牙直播',
host:'https://www.huya.com',
homeUrl:'/cache.php?m=LiveList&do=getLiveListByPage&gameId=2168&tagAll=0&page=1',//用于"分类获取"和"推荐获取"
url:'/cache.php?m=LiveList&do=getLiveListByPage&gameId=fyfilter&tagAll=0&page=fypage',
class_name:'娱乐&网游&单机&手游',
class_url:'8&1&2&3',
detailUrl:'https://m.huya.com/fyid',//二级详情拼接链接(json格式用)
filterable: 1,
filter_url: '{{fl.cateId}}',
filter_def:{
8:{cateId:'2135'},
1:{cateId:'1'},
2:{cateId:'1732'},
3:{cateId:'2336'}
},
filter:{
8:[{"key":"cateId","name":"分类","value":[{"n":"星秀","v":"1663"},{"n":"户外","v":"2165"},{"n":"一起看","v":"2135"},{"n":"二次元","v":"2633"},{"n":"虚拟偶像","v":"6055"},{"n":"旅游","v":"6791"},{"n":"放映厅","v":"6245"},{"n":"娱乐天地","v":"100022"},{"n":"交友","v":"4079"},{"n":"组队","v":"5367"},{"n":"吃喝玩乐","v":"100044"},{"n":"原创","v":"6861"},{"n":"虎牙文化","v":"4089"},{"n":"体育","v":"2356"},{"n":"虎牙地方","v":"5123"},{"n":"颜值","v":"2168"},{"n":"科技","v":"2408"},{"n":"音乐","v":"3793"},{"n":"趣分享","v":"5883"},{"n":"一起买","v":"7759"},{"n":"派对","v":"7785"}]}],
1:[{"key":"cateId","name":"分类","value":[{"n":"英雄联盟","v":"1"},{"n":"CS2","v":"862"},{"n":"穿越火线","v":"4"},{"n":"lol云顶之弈","v":"5485"},{"n":"无畏契约","v":"5937"},{"n":"CFHD","v":"6079"},{"n":"逆战","v":"135"},{"n":"炉石传说","v":"393"},{"n":"DOTA2","v":"7"},{"n":"地下城与勇士","v":"2"},{"n":"魔兽世界","v":"8"},{"n":"坦克世界","v":"802"},{"n":"DOTA1","v":"6"},{"n":"梦三国","v":"489"},{"n":"魔兽争霸3","v":"4615"},{"n":"问道","v":"107"},{"n":"命运方舟","v":"3058"},{"n":"QQ飞车","v":"9"},{"n":"星际争霸","v":"5"},{"n":"网游竞技","v":"100023"},{"n":"射击综合游戏","v":"100141"},{"n":"暴雪专区","v":"100043"},{"n":"彩虹岛Online","v":"683"},{"n":"剑灵","v":"897"},{"n":"军事游戏","v":"100133"},{"n":"冒险岛","v":"2243"},{"n":"暗黑破坏神","v":"1123"},{"n":"诛仙3","v":"1646"},{"n":"热血江湖","v":"387"},{"n":"英魂之刃","v":"1830"},{"n":"武林外传一世琴缘","v":"1661"},{"n":"起凡:群雄逐鹿","v":"1612"},{"n":"神武4电脑版","v":"3227"},{"n":"龙之谷","v":"15"},{"n":"炉石战棋","v":"5751"},{"n":"御龙在天","v":"675"},{"n":"逆水寒","v":"2952"},{"n":"千年3","v":"878"},{"n":"永恒之塔","v":"446"},{"n":"体育游戏","v":"100135"},{"n":"寻仙","v":"734"},{"n":"战舰世界","v":"1947"},{"n":"QQ三国","v":"1090"},{"n":"流放之路","v":"427"},{"n":"反恐精英Online","v":"1918"},{"n":"反恐行动online","v":"861"},{"n":"征途","v":"2715"},{"n":"战争雷霆","v":"624"},{"n":"丝路传说2","v":"1026"},{"n":"星际战甲","v":"627"},{"n":"NBA2KOL系列","v":"3959"},{"n":"九阴真经","v":"1009"},{"n":"跑跑卡丁车","v":"162"},{"n":"诛仙世界","v":"7749"},{"n":"QQ华夏","v":"1878"},{"n":"天涯明月刀","v":"1219"},{"n":"大话西游:归来","v":"8239"},{"n":"荒野行动PC版","v":"3185"},{"n":"新剑侠情缘","v":"586"},{"n":"剑网3","v":"900"},{"n":"生死狙击2","v":"6091"},{"n":"全球使命","v":"939"},{"n":"梦想世界3","v":"486"},{"n":"枪神纪","v":"496"},{"n":"新天龙八部","v":"5671"},{"n":"铁甲雄兵","v":"2765"},{"n":"神泣","v":"2531"},{"n":"斗战神","v":"591"},{"n":"造梦西游OL","v":"6815"},{"n":"天堂","v":"1966"},{"n":"大话西游2","v":"2975"},{"n":"使命召唤:战区","v":"5911"},{"n":"希望OL","v":"1161"},{"n":"极光世界 弑神传","v":"514"},{"n":"守望先锋归来","v":"2174"},{"n":"QQ自由幻想","v":"1862"},{"n":"命运2","v":"2942"},{"n":"奇迹世界2","v":"766"},{"n":"坦克大战","v":"4359"},{"n":"生死狙击","v":"2471"},{"n":"天翼决","v":"779"},{"n":"QQ幻想","v":"2419"},{"n":"新飞飞(FlyFF)","v":"1582"},{"n":"刀剑英雄","v":"915"},{"n":"FIFA Online系列","v":"100079"},{"n":"全球使命3","v":"2953"},{"n":"完美端游系列","v":"3034"},{"n":"战意","v":"2599"},{"n":"泡泡堂","v":"440"},{"n":"赛尔号","v":"2755"},{"n":"大唐无双零","v":"1584"},{"n":"QQ炫舞","v":"2440"},{"n":"007:传奇","v":"1135"},{"n":"天下","v":"1597"},{"n":"天谕","v":"1899"},{"n":"新倩女幽魂","v":"1579"},{"n":"传世无双","v":"984"},{"n":"剑侠世界","v":"903"},{"n":"Warhaven","v":"9053"},{"n":"诺亚传说","v":"190"},{"n":"新挑战","v":"583"},{"n":"超激斗梦境","v":"5691"},{"n":"QQ音速","v":"1085"},{"n":"征途2","v":"677"},{"n":"征程","v":"678"},{"n":"蜀门","v":"4711"},{"n":"完美世界:诸神之战","v":"7217"},{"n":"战之刃:幸存者","v":"8627"},{"n":"黎明之光","v":"41"},{"n":"天命西游","v":"1086"},{"n":"炫舞时代","v":"3353"},{"n":"荣誉空间","v":"225"},{"n":"卡拉彼丘","v":"9073"},{"n":"成吉思汗怀旧版","v":"640"},{"n":"英雄年代3","v":"1232"},{"n":"天书奇谈","v":"2225"},{"n":"劲舞团","v":"2420"},{"n":"远征Online梦想版","v":"142"},{"n":"奇迹:传奇","v":"3917"},{"n":"封印者","v":"2294"},{"n":"上古世纪","v":"1046"},{"n":"梦幻诛仙2","v":"488"},{"n":"TERA Online","v":"1072"},{"n":"倚天Ⅱ","v":"959"},{"n":"街头篮球","v":"206"},{"n":"永恒轮回:无限","v":"7847"},{"n":"火线精英","v":"2550"},{"n":"忍者村大战2","v":"2369"},{"n":"领地人生","v":"2282"},{"n":"仙侠世界","v":"995"},{"n":"洛奇英雄传","v":"432"},{"n":"KARDS","v":"8261"},{"n":"无限法则","v":"3189"},{"n":"全面战争:竞技场","v":"5901"},{"n":"自由篮球","v":"243"},{"n":"FC Online4","v":"3683"},{"n":"战地之王","v":"618"},{"n":"古剑奇谭OL","v":"1892"},{"n":"QQ仙侠传","v":"2291"},{"n":"300英雄","v":"1132"}]}],
2:[{"key":"cateId","name":"分类","value":[{"n":"天天吃鸡","v":"2793"},{"n":"永劫无间","v":"6219"},{"n":"主机游戏","v":"100032"},{"n":"猛兽派对","v":"6165"},{"n":"互动点播","v":"5907"},{"n":"我的世界","v":"1732"},{"n":"方舟","v":"1997"},{"n":"单机热游","v":"100002"},{"n":"怀旧游戏","v":"100125"},{"n":"逃离塔科夫","v":"3493"},{"n":"俄罗斯钓鱼4","v":"5495"},{"n":"部落:上升","v":"1318"},{"n":"Dark and Darker","v":"7905"},{"n":"The Front","v":"9497"},{"n":"Apex英雄","v":"5011"},{"n":"生化危机4重制版","v":"8013"},{"n":"DayZ独立版","v":"1125"},{"n":"星空","v":"7857"},{"n":"互动剧游","v":"6919"},{"n":"艾尔登法环","v":"5801"},{"n":"恐惧之间","v":"6679"},{"n":"SCUM","v":"4245"},{"n":"Dread Hunger","v":"7601"},{"n":"塞尔达传说:王国之泪","v":"7883"},{"n":"欧洲卡车模拟","v":"475"},{"n":"洛克王国","v":"2864"},{"n":"卧龙:苍天陨落","v":"7859"},{"n":"无人深空","v":"2566"},{"n":"帝国神话","v":"6821"},{"n":"饥荒","v":"74"},{"n":"森林之子","v":"7943"},{"n":"星球大战系列","v":"554"},{"n":"极限竞速:地平线","v":"2634"},{"n":"最终幻想16","v":"7869"},{"n":"Among Us","v":"6163"},{"n":"怪物猎人:崛起","v":"6479"},{"n":"怪物猎人物语","v":"7101"},{"n":"骑马与砍杀系列","v":"4783"},{"n":"荒野大镖客2","v":"4319"},{"n":"太荒初境","v":"7685"},{"n":"罗布乐思","v":"5771"},{"n":"只狼:影逝二度","v":"4505"},{"n":"双人成行","v":"6737"},{"n":"重生边缘","v":"6201"},{"n":"海贼王 寻秘世界","v":"5097"},{"n":"战神:诸神黄昏","v":"7771"},{"n":"恐鬼症","v":"6205"},{"n":"鬼谷八荒","v":"6571"},{"n":"霍格沃茨之遗","v":"7881"},{"n":"全面战争","v":"3521"},{"n":"仁王2","v":"5795"},{"n":"奥拉星","v":"2846"},{"n":"甜蜜之家","v":"6739"},{"n":"仙剑奇侠传七","v":"6509"},{"n":"消逝的光芒2","v":"7581"},{"n":"渡神记","v":"6231"},{"n":"归家异途","v":"2949"},{"n":"博德之门3","v":"6147"},{"n":"看门狗:军团","v":"6155"},{"n":"使命召唤系列","v":"100137"},{"n":"育碧游戏","v":"100139"},{"n":"帝国时代4","v":"4835"},{"n":"英灵神殿","v":"6609"},{"n":"蛮荒志异:起源","v":"9709"},{"n":"岛","v":"3019"},{"n":"沙盒与副本","v":"9151"},{"n":"扫雷","v":"2349"},{"n":"街机游戏","v":"5999"},{"n":"幽灵线:东京","v":"7669"},{"n":"怪物猎人世界","v":"3519"},{"n":"盗贼之海","v":"3641"},{"n":"纸人","v":"5257"},{"n":"黑色像素人","v":"28"},{"n":"对马岛之魂","v":"6039"},{"n":"瑞奇与叮当","v":"2455"},{"n":"港诡实录","v":"5853"},{"n":"剑士","v":"1467"},{"n":"魔法门之英雄无敌系列","v":"2096"},{"n":"星露谷物语","v":"2443"},{"n":"仙剑奇侠传四","v":"1659"},{"n":"伤害世界","v":"2337"},{"n":"禁闭求生","v":"6065"},{"n":"真三国无双","v":"1599"},{"n":"恐怖黎明","v":"3435"},{"n":"其他单机","v":"3069"},{"n":"幽灵行动:荒野","v":"2794"},{"n":"边缘","v":"151"},{"n":"阿凡达","v":"106"},{"n":"全面战争:三国","v":"3004"},{"n":"黎明之星","v":"40"},{"n":"翼星求生","v":"7463"},{"n":"黎明传说","v":"39"},{"n":"恶魔之魂","v":"6151"},{"n":"艾兰岛","v":"3855"},{"n":"龙与地下城:秘影历代记HD","v":"17"},{"n":"龙与地下城:匕首谷","v":"18"},{"n":"沙石镇时光","v":"7687"},{"n":"三国志曹操传","v":"2592"},{"n":"FIFA足球","v":"1888"},{"n":"最终幻想7:重制版","v":"5809"},{"n":"四海兄弟","v":"5995"},{"n":"最终幻想:起源","v":"7653"},{"n":"摔跤城大乱斗","v":"7773"},{"n":"音乐游戏","v":"2761"},{"n":"精灵与萤火意志","v":"5895"},{"n":"桥梁建造师","v":"3275"},{"n":"哈迪斯","v":"6153"},{"n":"小缇娜的奇幻之地","v":"7647"},{"n":"宝可梦:剑盾","v":"5715"},{"n":"边境","v":"4779"},{"n":"人类一败涂地","v":"3289"},{"n":"糖豆人:终极淘汰赛","v":"6083"},{"n":"精灵宝可梦Let's Go","v":"4375"},{"n":"战锤40K:暗潮","v":"3016"},{"n":"石油骚动","v":"2585"},{"n":"紫塞秋风","v":"6045"},{"n":"阿尔比恩","v":"8115"},{"n":"猎人:荒野的召唤","v":"2906"},{"n":"FIFA 23","v":"7789"},{"n":"都市:天际线","v":"2201"},{"n":"乐高大电影:游戏版","v":"1439"},{"n":"全面战争:阿提拉","v":"2383"},{"n":"斩妖行","v":"6105"},{"n":"马里奥赛车8","v":"5947"},{"n":"复仇者联盟","v":"6121"},{"n":"霓虹深渊","v":"5743"}]}],
3:[{"key":"cateId","name":"分类","value":[{"n":"王者荣耀","v":"2336"},{"n":"和平精英","v":"3203"},{"n":"英雄联盟手游","v":"6203"},{"n":"CF手游","v":"2413"},{"n":"金铲铲之战","v":"7185"},{"n":"三国杀","v":"1669"},{"n":"原神","v":"5489"},{"n":"棋牌桌游","v":"100036"},{"n":"综合手游","v":"100029"},{"n":"劲乐幻想","v":"7691"},{"n":"新游广场","v":"100052"},{"n":"崩坏:星穹铁道","v":"7349"},{"n":"火影忍者手游","v":"2429"},{"n":"第五人格","v":"3115"},{"n":"问道手游","v":"2477"},{"n":"暗区突围","v":"7209"},{"n":"QQ飞车手游","v":"2928"},{"n":"球球大作战","v":"2411"},{"n":"明日之后","v":"3483"},{"n":"皇室战争","v":"2439"},{"n":"COD手游","v":"4769"},{"n":"手游休闲","v":"100004"},{"n":"二次元手游","v":"100091"},{"n":"摸了个鱼","v":"9283"},{"n":"MMORPG","v":"100273"},{"n":"动作游戏","v":"100197"},{"n":"战争冲突","v":"7449"},{"n":"王者模拟战","v":"5699"},{"n":"逆水寒手游","v":"7725"},{"n":"幻塔","v":"6437"},{"n":"欢乐斗地主","v":"1749"},{"n":"神武4手游","v":"3135"},{"n":"阴阳师","v":"2598"},{"n":"DNF手游","v":"4921"},{"n":"欢乐麻将","v":"1751"},{"n":"英雄联盟电竞经理","v":"7177"},{"n":"狼人杀手游","v":"100049"},{"n":"新天龙八部手游","v":"6945"},{"n":"中国象棋","v":"1671"},{"n":"天天象棋","v":"4997"},{"n":"传奇世界3D","v":"3961"},{"n":"御龙在天手游","v":"2568"},{"n":"高能英雄","v":"8359"},{"n":"天龙八部手游","v":"2852"},{"n":"三国志战略版","v":"5619"},{"n":"忍者必须死3","v":"4041"},{"n":"SKY光遇","v":"3719"},{"n":"虎牙领主争霸","v":"7529"},{"n":"云上城之歌","v":"5977"},{"n":"晶核","v":"7279"},{"n":"仙境传说RO","v":"2675"},{"n":"天天狼人","v":"2774"},{"n":"JJ棋牌","v":"3841"},{"n":"奇迹MU:觉醒","v":"3116"},{"n":"指尖四川麻将","v":"7215"},{"n":"部落冲突","v":"1797"},{"n":"新剑侠情缘手游","v":"6259"},{"n":"萌宠远征","v":"9385"},{"n":"暗黑破坏神:不朽","v":"6385"},{"n":"英雄杀","v":"2688"},{"n":"热血江湖手游","v":"2817"},{"n":"蛋仔派对","v":"6909"},{"n":"完美世界手游","v":"4237"},{"n":"巅峰战舰","v":"2502"},{"n":"狼人杀","v":"2785"},{"n":"斗罗大陆:魂师对决","v":"6745"},{"n":"武侠乂手游","v":"4929"},{"n":"诛仙手游","v":"2647"},{"n":"斗破苍穹手游","v":"4337"},{"n":"迷你世界","v":"2683"},{"n":"风云","v":"3061"},{"n":"妄想山海","v":"6007"},{"n":"曙光英雄","v":"6169"},{"n":"三国战纪2","v":"6049"},{"n":"梦幻新诛仙","v":"5975"},{"n":"黎明觉醒:生机","v":"6131"},{"n":"远征","v":"7837"},{"n":"航海王:燃烧意志","v":"3943"},{"n":"火炬之光:无限","v":"6399"},{"n":"巅峰极速","v":"6979"},{"n":"圣境之塔","v":"7055"},{"n":"魔力宝贝","v":"2891"},{"n":"香肠派对","v":"3639"},{"n":"创造与魔法","v":"2931"},{"n":"JJ斗地主","v":"6271"},{"n":"永恒纪元:戒","v":"2646"},{"n":"天涯明月刀手游","v":"5115"},{"n":"狼人杀官方","v":"3679"},{"n":"混沌起源","v":"5985"},{"n":"多多自走棋","v":"5133"},{"n":"梦幻诛仙手游","v":"2672"},{"n":"鸿图之下","v":"6027"},{"n":"新笑傲江湖","v":"5669"},{"n":"凡人修仙传:人界篇","v":"8297"},{"n":"多乐棋牌","v":"6209"},{"n":"口袋觉醒","v":"5953"},{"n":"跑跑卡丁车手游","v":"2620"},{"n":"奶块","v":"2775"},{"n":"月圆之夜","v":"4339"},{"n":"率土之滨","v":"2691"},{"n":"征途2手游","v":"2811"},{"n":"英魂之刃口袋版","v":"2760"},{"n":"精灵盛典:黎明","v":"6123"},{"n":"方舟手游","v":"4035"},{"n":"掼蛋","v":"6225"},{"n":"绝世仙王","v":"6619"},{"n":"流星群侠传","v":"3927"},{"n":"寻仙手游","v":"2979"},{"n":"一梦江湖","v":"3082"},{"n":"Lost Light(萤火突击国际服)","v":"6859"},{"n":"弹幕云游戏","v":"7001"},{"n":"猎魂觉醒","v":"3071"},{"n":"冒险岛:枫之传说","v":"8005"},{"n":"征途手游","v":"2556"},{"n":"海岛奇兵","v":"2624"},{"n":"倩女幽魂手游","v":"2503"},{"n":"超凡先锋","v":"6507"},{"n":"龙之谷2手游","v":"2736"},{"n":"崩坏3","v":"2639"},{"n":"猫和老鼠","v":"2758"},{"n":"七人传奇:光与暗之交战","v":"8125"},{"n":"JJ麻将","v":"9487"},{"n":"拉轰西游","v":"9543"},{"n":"三国战纪","v":"6047"},{"n":"自由幻想手游","v":"4015"},{"n":"秦时明月世界","v":"5279"},{"n":"新斗罗大陆","v":"6657"},{"n":"新神魔大陆","v":"5939"},{"n":"逃跑吧!少年","v":"4137"},{"n":"太古神王2","v":"6649"},{"n":"剑侠世界3","v":"7183"},{"n":"天天吃鸡手机版","v":"4341"},{"n":"时空猎人3","v":"6411"},{"n":"合金弹头:觉醒","v":"6931"},{"n":"明日方舟","v":"4925"},{"n":"原始征途","v":"7713"},{"n":"奇迹:最强者","v":"3215"},{"n":"天天酷跑","v":"1715"},{"n":"FC 足球世界","v":"3873"},{"n":"万国觉醒","v":"6159"},{"n":"机动都市阿尔法","v":"5411"},{"n":"航海王热血航线","v":"6181"},{"n":"幻世九歌","v":"7199"},{"n":"植物大Line truncated
},
searchUrl:'https://search.cdn.huya.com/?m=Search&do=getSearchContent&q=**&uid=0&v=4&typ=-5&livestate=0&rows=40&start=0',
searchable:2,
quickSearch:0,
headers:{
'User-Agent':'MOBILE_UA'
},
timeout:5000,
limit:8,
play_parse:true,
lazy:`js:
let rid = input.match(/\\/ (\\d + ) / )[1];
function getRealUrl(live_url) {
let [i, b] = live_url.split('?');
let r = i.split('/').pop();
let s = r.replace(/\.(flv|m3u8)/, '');
let c_tmp = b.split('&').filter(n => n);
let n = {};
let c_tmp2 = [];
c_tmp.forEach(function(tmp, index) {
if (index < 3) {
n[tmp.split('=')[0]] = tmp.split('=')[1]
} else {
c_tmp2.push(tmp)
}
});
let tmp2 = c_tmp2.join('&');
n[tmp2.split('=')[0]] = tmp2.split('=')[1];
let fm = decodeURIComponent(n.fm).split('&')[0];
let u = base64Decode(fm);
let p = u.split('_')[0];
let f = new Date().getTime() + '0000';
let ll = n.wsTime;
let t = '0';
let h = [p, t, s, f, ll].join('_');
let m = md5(h);
return (i + '?wsSecret=' + m + '&wsTime=' + ll + '&u=' + t + '&seqid=' + f + '&' + c_tmp2.pop()).replace('hls', 'flv').replace('m3u8', 'flv')
}
let purl = JSON.parse(request('https://mp.huya.com/cache.php?m=Live&do=profileRoom&roomid=' + rid)).data.stream.flv.multiLine[0].url;
input = {
jx: 0,
url: getRealUrl(purl),
parse: 0,
header: JSON.stringify({
'user-agent': 'Mozilla/5.0'
})
}
`,
推荐:`js:
let d = [];
let jo = JSON.parse(request(input)).data.datas;
jo.forEach(it => {
d.push({
url: it.profileRoom,
title: it.introduction,
img: it.screenshot,
desc: '👁' + it.totalCount + ' 🆙' + it.nick,
})
});
setResult(d);
`,
一级:`js:
let d = [];
let jo = JSON.parse(request(input)).data.datas;
jo.forEach(it => {
d.push({
url: it.profileRoom,
title: it.introduction,
img: it.screenshot,
desc: '👁' + it.totalCount + ' 🆙' + it.nick,
})
});
setResult(d);
`,
二级:'*',
搜索:'json:response.3.docs;game_roomName;game_screenshot;game_nick;room_id',
}
File diff suppressed because it is too large. Load diff
+620
View File
@@ -0,0 +1,620 @@
{
"classes": [
{
"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": "昆曲超清"
},
{
"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": "梆子腔超清"
},
{
"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": "武安平调超清"
},
{
"type_name": "二人台",
"type_id": "二人台超清"
},
{
"type_name": "吉剧",
"type_id": "吉剧超清"
},
{
"type_name": "高腔",
"type_id": "高腔超清"
}
],
"cookie": "buvid3=8B57D3BA-607A-1E85-018A-E8C430023CED42659infoc; b_lsid=BEB8EE7F_18742FF8C2E; bsource=search_baidu; _uuid=DE810E367-B52C-AF6E-A612-EDF4C31567F358591infoc; b_nut=100; buvid_fp=711a632b5c876fa8bbcf668c1efba551; SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7; sid=5h4ruv6o; buvid4=978E9208-13DA-F87A-3DC0-0B8EDF46E80434329-123040301-dWliG5BMrUb70r3g583u7w%3D%3D",
"filter": {
"搞笑": [
{
"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": "tid",
"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": "龙江剧"
},
{
"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": "湖南花鼓戏"
},
{
"n": "粤剧",
"v": "粤剧"
},
{
"n": "潮剧",
"v": "潮剧"
},
{
"n": "桂剧",
"v": "桂剧"
},
{
"n": "彩调",
"v": "彩调"
},
{
"n": "壮剧",
"v": "壮剧"
},
{
"n": "川剧",
"v": "川剧"
},
{
"n": "黔剧",
"v": "黔剧"
},
{
"n": "滇剧",
"v": "滇剧"
},
{
"n": "傣剧",
"v": "傣剧"
},
{
"n": "藏剧",
"v": "藏剧"
},
{
"n": "皮影戏",
"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"
}
]
}
]
}
}
+273
View File
@@ -0,0 +1,273 @@
{
"classes": [
{
"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": "陈佩斯"
},
{
"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": "喜剧综艺"
}
],
"cookie": "buvid3=8B57D3BA-607A-1E85-018A-E8C430023CED42659infoc; b_lsid=BEB8EE7F_18742FF8C2E; bsource=search_baidu; _uuid=DE810E367-B52C-AF6E-A612-EDF4C31567F358591infoc; b_nut=100; buvid_fp=711a632b5c876fa8bbcf668c1efba551; SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7; sid=5h4ruv6o; buvid4=978E9208-13DA-F87A-3DC0-0B8EDF46E80434329-123040301-dWliG5BMrUb70r3g583u7w%3D%3D",
"小品": [
{
"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": "tid",
"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": "潘长江"
},
{
"n": "郭冬临",
"v": "郭冬临"
},
{
"n": "严顺开",
"v": "严顺开"
},
{
"n": "文松",
"v": "文松"
},
{
"n": "开心麻花",
"v": "开心麻花"
},
{
"n": "屌丝男士",
"v": "屌丝男士"
},
{
"n": "喜剧综艺",
"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"
}
]
}
]
}
}
File diff suppressed because it is too large. Load diff
+502
View File
@@ -0,0 +1,502 @@
{
"0": [
{
"key": "area",
"name": "地区",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "国产",
"v": "1"
},
{
"n": "中国香港",
"v": "3"
},
{
"n": "中国台湾",
"v": "6"
},
{
"n": "美国",
"v": "5"
},
{
"n": "韩国",
"v": "18"
},
{
"n": "日本",
"v": "2"
}
]
},
{
"key": "year",
"name": "年份",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "2024",
"v": "119"
},
{
"n": "2023",
"v": "153"
},
{
"n": "2022",
"v": "101"
},
{
"n": "2021",
"v": "118"
},
{
"n": "2020",
"v": "16"
},
{
"n": "2019",
"v": "7"
},
{
"n": "2018",
"v": "2"
},
{
"n": "2017",
"v": "3"
},
{
"n": "2016",
"v": "22"
}
]
},
{
"key": "by",
"name": "排序",
"value": [
{
"n": "热门",
"v": "hot"
},
{
"n": "更新",
"v": "updata"
},
{
"n": "评分",
"v": "rating"
}
]
}
],
"1": [
{
"key": "area",
"name": "地区",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "国产",
"v": "1"
},
{
"n": "中国香港",
"v": "3"
},
{
"n": "中国台湾",
"v": "6"
},
{
"n": "美国",
"v": "5"
},
{
"n": "韩国",
"v": "18"
},
{
"n": "日本",
"v": "2"
}
]
},
{
"key": "year",
"name": "年份",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "2024",
"v": "119"
},
{
"n": "2023",
"v": "153"
},
{
"n": "2022",
"v": "101"
},
{
"n": "2021",
"v": "118"
},
{
"n": "2020",
"v": "16"
},
{
"n": "2019",
"v": "7"
},
{
"n": "2018",
"v": "2"
},
{
"n": "2017",
"v": "3"
},
{
"n": "2016",
"v": "22"
}
]
},
{
"key": "by",
"name": "排序",
"value": [
{
"n": "热门",
"v": "hot"
},
{
"n": "更新",
"v": "updata"
},
{
"n": "评分",
"v": "rating"
}
]
}
],
"2": [
{
"key": "area",
"name": "地区",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "国产",
"v": "1"
},
{
"n": "中国香港",
"v": "3"
},
{
"n": "中国台湾",
"v": "6"
},
{
"n": "美国",
"v": "5"
},
{
"n": "韩国",
"v": "18"
},
{
"n": "日本",
"v": "2"
}
]
},
{
"key": "year",
"name": "年份",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "2024",
"v": "119"
},
{
"n": "2023",
"v": "153"
},
{
"n": "2022",
"v": "101"
},
{
"n": "2021",
"v": "118"
},
{
"n": "2020",
"v": "16"
},
{
"n": "2019",
"v": "7"
},
{
"n": "2018",
"v": "2"
},
{
"n": "2017",
"v": "3"
},
{
"n": "2016",
"v": "22"
}
]
},
{
"key": "by",
"name": "排序",
"value": [
{
"n": "热门",
"v": "hot"
},
{
"n": "更新",
"v": "updata"
},
{
"n": "评分",
"v": "rating"
}
]
}
],
"3": [
{
"key": "area",
"name": "地区",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "国产",
"v": "1"
},
{
"n": "中国香港",
"v": "3"
},
{
"n": "中国台湾",
"v": "6"
},
{
"n": "美国",
"v": "5"
},
{
"n": "韩国",
"v": "18"
},
{
"n": "日本",
"v": "2"
}
]
},
{
"key": "year",
"name": "年份",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "2024",
"v": "119"
},
{
"n": "2023",
"v": "153"
},
{
"n": "2022",
"v": "101"
},
{
"n": "2021",
"v": "118"
},
{
"n": "2020",
"v": "16"
},
{
"n": "2019",
"v": "7"
},
{
"n": "2018",
"v": "2"
},
{
"n": "2017",
"v": "3"
},
{
"n": "2016",
"v": "22"
}
]
},
{
"key": "by",
"name": "排序",
"value": [
{
"n": "热门",
"v": "hot"
},
{
"n": "更新",
"v": "updata"
},
{
"n": "评分",
"v": "rating"
}
]
}
],
"4": [
{
"key": "area",
"name": "地区",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "国产",
"v": "1"
},
{
"n": "中国香港",
"v": "3"
},
{
"n": "中国台湾",
"v": "6"
},
{
"n": "美国",
"v": "5"
},
{
"n": "韩国",
"v": "18"
},
{
"n": "日本",
"v": "2"
}
]
},
{
"key": "year",
"name": "年份",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "2024",
"v": "119"
},
{
"n": "2023",
"v": "153"
},
{
"n": "2022",
"v": "101"
},
{
"n": "2021",
"v": "118"
},
{
"n": "2020",
"v": "16"
},
{
"n": "2019",
"v": "7"
},
{
"n": "2018",
"v": "2"
},
{
"n": "2017",
"v": "3"
},
{
"n": "2016",
"v": "22"
}
]
},
{
"key": "by",
"name": "排序",
"value": [
{
"n": "热门",
"v": "hot"
},
{
"n": "更新",
"v": "updata"
},
{
"n": "评分",
"v": "rating"
}
]
}
]
}
+892
View File
@@ -0,0 +1,892 @@
{
"1": [
{
"key": "3",
"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": "惊悚"
}
]
},
{
"key": "11",
"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"
}
]
},
{
"key": "1",
"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": "其他"
}
]
}
],
"2": [
{
"key": "3",
"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": "惊悚"
}
]
},
{
"key": "11",
"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"
}
]
},
{
"key": "1",
"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": "其他"
}
]
}
],
"3": [
{
"key": "11",
"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"
}
]
},
{
"key": "1",
"name": "地区",
"value": [
{
"n": "全部",
"v": ""
},
{
"n": "大陆",
"v": "大陆"
},
{
"n": "美国",
"v": "美国"
},
{
"n": "日本",
"v": "日本"
},
{
"n": "韩国",
"v": "韩国"
},
{
"n": "英国",
"v": "英国"
},
{
"n": "法国",
"v": "法国"
},
{
"n": "其他",
"v": "其他"
}
]
}
],
"4": [
{
"key": "11",
"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"
}
]
},
{
"key": "1",
"name": "地区",
"value": [
{
"n": "全部",
"v": ""
},
{
"n": "大陆",
"v": "大陆"
},
{
"n": "中国香港",
"v": "香港"
},
{
"n": "中国台湾",
"v": "台湾"
},
{
"n": "美国",
"v": "美国"
},
{
"n": "韩国",
"v": "韩国"
},
{
"n": "日本",
"v": "日本"
},
{
"n": "西班牙",
"v": "西班牙"
},
{
"n": "英国",
"v": "英国"
},
{
"n": "其他",
"v": "其他"
}
]
}
],
"5": [
{
"key": "5",
"name": "字母",
"value": [
{
"n": "A",
"v": "A"
},
{
"n": "B",
"v": "B"
},
{
"n": "C",
"v": "C"
},
{
"n": "D",
"v": "D"
},
{
"n": "E",
"v": "E"
},
{
"n": "F",
"v": "F"
},
{
"n": "G",
"v": "G"
},
{
"n": "H",
"v": "H"
},
{
"n": "I",
"v": "I"
},
{
"n": "J",
"v": "J"
},
{
"n": "K",
"v": "K"
},
{
"n": "L",
"v": "L"
},
{
"n": "M",
"v": "M"
},
{
"n": "N",
"v": "N"
},
{
"n": "O",
"v": "O"
},
{
"n": "P",
"v": "P"
},
{
"n": "Q",
"v": "Q"
},
{
"n": "R",
"v": "R"
},
{
"n": "S",
"v": "S"
},
{
"n": "T",
"v": "T"
},
{
"n": "U",
"v": "U"
},
{
"n": "V",
"v": "V"
},
{
"n": "W",
"v": "W"
},
{
"n": "X",
"v": "X"
},
{
"n": "Y",
"v": "Y"
},
{
"n": "Z",
"v": "Z"
},
{
"n": "0-9",
"v": "0-9"
}
]
}
],
"6": [
{
"key": "11",
"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"
}
]
},
{
"key": "5",
"name": "字母",
"value": [
{
"n": "A",
"v": "A"
},
{
"n": "B",
"v": "B"
},
{
"n": "C",
"v": "C"
},
{
"n": "D",
"v": "D"
},
{
"n": "E",
"v": "E"
},
{
"n": "F",
"v": "F"
},
{
"n": "G",
"v": "G"
},
{
"n": "H",
"v": "H"
},
{
"n": "I",
"v": "I"
},
{
"n": "J",
"v": "J"
},
{
"n": "K",
"v": "K"
},
{
"n": "L",
"v": "L"
},
{
"n": "M",
"v": "M"
},
{
"n": "N",
"v": "N"
},
{
"n": "O",
"v": "O"
},
{
"n": "P",
"v": "P"
},
{
"n": "Q",
"v": "Q"
},
{
"n": "R",
"v": "R"
},
{
"n": "S",
"v": "S"
},
{
"n": "T",
"v": "T"
},
{
"n": "U",
"v": "U"
},
{
"n": "V",
"v": "V"
},
{
"n": "W",
"v": "W"
},
{
"n": "X",
"v": "X"
},
{
"n": "Y",
"v": "Y"
},
{
"n": "Z",
"v": "Z"
},
{
"n": "0-9",
"v": "0-9"
}
]
}
]
}
+70
View File
@@ -0,0 +1,70 @@
{
"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": "舞蹈"
},
{
"type_name": "演唱会",
"type_id": "演唱会"
},
{
"type_name": "动物世界",
"type_id": "动物世界"
}
]
}
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+455
View File
@@ -0,0 +1,455 @@
{
"cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7",
"classes": [
{
"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": "学而思"
}
],
"filter": {
"儿童早教": [
{
"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"
}
]
}
]
}
}
+107
View File
@@ -0,0 +1,107 @@
[
{
"share_index": "115&uc&夸克",
"share_name": "115-电影大包,21t",
"share_id": "swz8hp033xj",
"share_pwd":"0000",
"share_type":"115"
},
{
"share_index": "115&uc&夸克",
"share_name": "115-豆瓣电影Top250_12.65TB",
"share_id": "swz8h1h33xj",
"share_pwd":"0000",
"share_type":"115"
},
{
"share_index": "115&uc&夸克",
"share_name": "115-整理好蓝光和4K_2.24PB",
"share_id": "swzew4m3nc6",
"share_pwd":"i0d7",
"share_type":"115"
},
{
"share_index": "夸克",
"share_name": "2024新电影",
"share_id": "ab5942710e4d"
},
{
"share_index": "115&uc&夸克",
"share_name": "微凉夸克国漫",
"share_id": "fb6d4c39c83f"
},
{
"share_index": "115&uc&夸克",
"share_name": "全球夸克短剧",
"share_id": "b9bb20e86c54"
},
{
"share_index": "夸克",
"share_name": "夸克热播剧",
"share_id": "657d8c2b550f"
},
{
"share_index": "夸克",
"share_name": "MTV精选1万首夸克",
"share_id": "3e458103b556"
},
{
"share_index": "阿里",
"share_name": "NBA阿里",
"share_id": "hVAgTmqUELD"
},
{
"share_index": "夸克",
"share_name": "夸克MV",
"share_id": "e10ef5a111e5"
},
{
"share_index": "夸克",
"share_name": "短剧夸克",
"share_id": "644658aac6df"
},
{
"share_index": "夸克",
"share_name": "短剧夸克2",
"share_id": "5173a250c8f7"
},
{
"share_index": "阿里",
"share_name": "电视剧",
"share_id": "tSaJ5yUVmV2"
},
{
"share_index": "阿里",
"share_name": "精选欧美热播剧集",
"share_id": "Ec27hNz2nRZ"
},
{
"share_index": "阿里",
"share_name": "老湿傅阿里",
"share_id": "5bsnAp5fbCW"
},
{
"share_index": "阿里",
"share_name": "优品阁",
"share_id": "uWa9gbM3RJ7"
},
{
"share_index": "阿里",
"share_name": "平凡中的",
"share_id": "4ydLxf7VgH7"
},
{
"share_index": "阿里",
"share_name": "短剧",
"share_id": "5Fzz7JFuQyg"
},
{
"share_name": "GRT易和谐电影",
"share_id": "6LvWZoQo3nS"
},
{
"share_name": "精选热播日韩剧集",
"share_id": "wAUx1kdV6NQ"
}
]
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 diff suppressed because it is too large. Load diff
@@ -0,0 +1,304 @@
if (typeof Object.assign != 'function') {
Object.assign = function () {
var target = arguments[0];
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
}
function getMubans() {
var mubanDict = { // 模板字典
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(2):lt(8);a&&Text;a&&href;/(\\d+).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
二级: {
"title": "h1&&Text;.module-info-tag&&Text",
"img": ".lazyload&&data-original",
"desc": ".module-info-item:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(3)&&Text",
"content": ".module-info-introduction&&Text",
"tabs": ".module-tab-item",
"lists": ".module-play-list:eq(#id) a"
},
搜索: '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: '',
limit: 6,
推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.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(0)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(2)&&Text;.video-info-items:eq(3)&&Text",
"content": ".vod_content&&Text",
"tabs": ".module-tab-item",
"lists": ".module-player-list:eq(#id)&&.scroll-content&&a"
},
搜索: '.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(5);a&&Text;a&&href;/(\\d+).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
二级: {
"title": ".myui-content__detail .title&&Text;.myui-content__detail p:eq(-2)&&Text",
"img": ".myui-content__thumb .lazyload&&data-original",
"desc": ".myui-content__detail p:eq(0)&&Text;.myui-content__detail p:eq(1)&&Text;.myui-content__detail p:eq(2)&&Text",
"content": ".content&&Text",
"tabs": ".nav-tabs:eq(0) li",
"lists": ".myui-content__list:eq(#id) li"
},
搜索: '#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&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;/(\\d+).html',
class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.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)&&Text",
"img": ".stui-content__thumb .lazyload&&data-original",
"desc": ".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text",
"content": ".detail&&Text",
"tabs": ".stui-vodlist__head h3",
"lists": ".stui-content__playlist:eq(#id) li"
},
搜索: 'ul.stui-vodlist__media:eq(0) li,ul.stui-vodlist:eq(0) li,#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
搜索1: 'ul.stui-vodlist&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
搜索2: 'ul.stui-vodlist__media&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
},
默认: {
title: '',
host: '',
url: '/vodshow/fyclass--------fypage---.html',
searchUrl: '/vodsearch/-------------.html?wd=**',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {
'User-Agent': 'MOBILE_UA',
},
play_parse: true,
lazy: '',
limit: 6,
double: true, // 推荐内容是否双层定位
},
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.fed-part-eone:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html',
class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.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: '',
推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href',
double: true,
一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
二级: {
"title": ".hl-infos-title&&Text;.hl-text-conch&&Text",
"img": ".hl-lazy&&data-original",
"desc": ".hl-infos-content&&.hl-text-conch&&Text",
"content": ".hl-content-text&&Text",
"tabs": ".hl-tabs&&a",
"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: '',
推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href',
double: true,
一级: '.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: '',
limit: 6,
推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.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: '',
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(3)--strong&&Text",
"img":".detail-pic&&data-original",
"desc":".fraction&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(2)--strong&&Text;.slide-info:eq(1)--strong&&Text",
"content":"#height_limit&&Text",
"tabs":".anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a",
"tab_text":".swiper-slide&&Text",
"lists":".anthology-list-box:eq(#id) li"
},
搜索:'json:list;name;pic;;id',
}
};
return JSON.parse(JSON.stringify(mubanDict));
}
var mubanDict = getMubans();
var muban = getMubans();
export default {muban,getMubans};
@@ -0,0 +1,68 @@
/***
* 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);
});
}
};
}
+73
View File
@@ -0,0 +1,73 @@
import cheerio from"assets://js/lib/cheerio.min.js";import"assets://js/lib/crypto-js.js";import"./qyg4.js";import"./qyg5.js";import 模板 from"./qyg6.js";import{gbkTool}from"./qyg7.js";import"./qyg8.js";import"./qyg9.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)}};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={};let vercode=typeof pdfl==="function"?"drpy2.1":"drpy2";const VERSION=vercode+" 3.9.51beta2 20240711";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]== Line truncated
+68
View File
@@ -0,0 +1,68 @@
/***
* 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
@@ -0,0 +1,577 @@
/*!
* 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
@@ -0,0 +1,265 @@
/*
* 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__;
/******/ })()
;
});
File diff suppressed because it is too large. Load diff
+1
View File
@@ -0,0 +1 @@
(function(_0x2d0cfd,_0xb5a937){function _0x42cee7(_0xc09573,_0x2a253b,_0x2ef6e2,_0x539b33){return _0x4c7b(_0xc09573-0x38e,_0x539b33);}const _0x55e240=_0x2d0cfd();function _0x2a84b3(_0x22009,_0x2f1ab5,_0x3defab,_0x1e45b5){return _0x4c7b(_0x3defab- -0x205,_0x2f1ab5);}while(!![]){try{const _0x2ee56b=parseInt(_0x2a84b3(-0x265,0x18d,-0x5d,0x10b))/(-0x1*-0xfe9+-0x33*-0x43+-0x1d41)+-parseInt(_0x42cee7(0x755,0x705,0x860,0x930))/(-0x1154+-0xae8+0x1*0x1c3e)+parseInt(_0x2a84b3(0x1e5,0x211,0x81,0x77))/(0x2330+-0x2488*-0x1+-0x47b5)*(parseInt(_0x2a84b3(-0xef,-0x200,-0x54,-0xf6))/(-0x905*-0x1+0x6*-0x107+-0x2d7))+-parseInt(_0x42cee7(0x83d,0x759,0x832,0x96d))/(-0x9f8+0x995+0xd*0x8)+-parseInt(_0x2a84b3(0xc3,0x2f8,0x169,0x370))/(-0x1971+-0xa15*-0x3+-0x4c8)+-parseInt(_0x42cee7(0x70c,0x614,0x521,0x5e7))/(0x337*-0xb+-0x7*0x221+0x324b)+parseInt(_0x42cee7(0x5a3,0x5df,0x670,0x473))/(0x1*-0x24d7+-0x1262+0x3741)*(parseInt(_0x2a84b3(0x472,0x502,0x393,0x1a1))/(0x1d7*-0xa+0x258*-0x7+0x22d7));if(_0x2ee56b===_0xb5a937)break;else _0x55e240['push'](_0x55e240['shift']());}catch(_0x2a1852){_0x55e240['push'](_0x55e240['shift']());}}}(_0x1dc8,0xf8aa*-0x2+-0x6d2c+0x20e*0x1e9));const _0x9c35ab=(function(){const _0x303dda={};_0x303dda[_0x64294a(0x7a6,0x594,0x38b,0x67c)]=_0x39665c(-0xd2,-0x25d,-0x27f,-0x2d9)+_0x39665c(0x3a,0x16,-0x23,-0x12c)+'蜂蜜影视APP最新版'+'!',_0x303dda[_0x64294a(0x5ba,0x776,0x594,0x8c5)]=function(_0xb2bf08,_0xa28cfe){return _0xb2bf08!==_0xa28cfe;};function _0x39665c(_0x434759,_0x3a7f3b,_0x24aebe,_0x35c741){return _0x4c7b(_0x434759- -0x351,_0x35c741);}_0x303dda[_0x39665c(-0x14a,-0x4b,-0x29c,-0x7d)]=_0x64294a(0x627,0x6aa,0x4c6,0x75c),_0x303dda[_0x39665c(-0xc2,-0x1cb,-0x1d3,-0x15)]=function(_0xfdb874,_0x27dd50){return _0xfdb874===_0x27dd50;};function _0x64294a(_0x4cdebf,_0x3b5b01,_0x1a3dd2,_0x2a3744){return _0x4c7b(_0x3b5b01-0x212,_0x2a3744);}_0x303dda[_0x64294a(0x636,0x446,0x3f6,0x240)]=_0x39665c(0x9a,-0xf9,0x269,0x19),_0x303dda[_0x39665c(0x127,0x2e4,-0xb9,0x2d0)]=_0x64294a(0x539,0x703,0x83b,0x915)+_0x39665c(0x21d,0x1bc,0x1f4,0x5b);const _0x5e30d9=_0x303dda;let _0x59f359=!![];return function(_0x1cee48,_0x51876f){function _0x761a68(_0x28ed92,_0x4ed3dc,_0x2fb846,_0x4216ba){return _0x39665c(_0x28ed92-0x5aa,_0x4ed3dc-0x0,_0x2fb846-0x11b,_0x4216ba);}const _0x1acac1={};_0x1acac1[_0x761a68(0x497,0x476,0x599,0x314)]=_0x5e30d9[_0x5f54cf(0x6a3,0x430,0x647,0x717)];const _0x44baad=_0x1acac1;function _0x5f54cf(_0xf876b4,_0x23110a,_0x413bc0,_0x7d2916){return _0x39665c(_0x413bc0-0x520,_0x23110a-0x86,_0x413bc0-0x6e,_0x23110a);}const _0xc1d756=_0x59f359?function(){const _0x1229a8={};function _0x2c9f43(_0x2fe116,_0xd87fb5,_0x27b9b0,_0x38d23d){return _0x761a68(_0x2fe116- -0x286,_0xd87fb5-0x157,_0x27b9b0-0xee,_0x27b9b0);}_0x1229a8[_0x464af5(0x407,0x5cc,0x2c2,0x36a)]=_0x5e30d9[_0x2c9f43(0x355,0x4ca,0x1de,0x3e3)];const _0x3c2e63=_0x1229a8;function _0x464af5(_0x11a2da,_0x59d4ff,_0xe8eecf,_0x3b5cd4){return _0x5f54cf(_0x11a2da-0x8a,_0x3b5cd4,_0x11a2da- -0x1f8,_0x3b5cd4-0xcd);}if(_0x5e30d9[_0x2c9f43(0x537,0x54c,0x443,0x4be)](_0x5e30d9[_0x2c9f43(0x1da,0x3a,0x2b1,0x1f1)],_0x2c9f43(0x46b,0x413,0x68a,0x265)))_0x51b8b7=_0x4c77d0['cacheCateg'+_0x464af5(0x1d2,-0x36,0x3f,0x3e9)][_0x43e376],_0x1c118a[_0x2c9f43(0x2be,0x319,0x154,0x287)](_0x44baad['ONAJY']);else{if(_0x51876f){if(_0x5e30d9[_0x2c9f43(0x262,0x9f,0x37d,0xe5)](_0x5e30d9[_0x464af5(0x20b,0x155,0x18c,0x367)],'EeGmL')){const _0x3c5077=_0x51876f[_0x2c9f43(0x4b7,0x343,0x3f4,0x576)](_0x1cee48,arguments);return _0x51876f=null,_0x3c5077;}else _0xdb6cff[_0x2c9f43(0x2be,0x273,0x233,0x2a8)](_0x3c2e63[_0x2c9f43(0x403,0x214,0x3ca,0x403)]);}}}:function(){};return _0x59f359=![],_0xc1d756;};}()),_0xd3ade4=_0x9c35ab(this,function(){const _0x1a5221={};_0x1a5221[_0x3d12de(0x2a3,0x43d,0x426,0x4bd)]='(((.+)+)+)'+'+$';function _0x15df9f(_0x21101a,_0x3f8e84,_0x1dd038,_0x24240f){return _0x4c7b(_0x1dd038- -0x1c5,_0x21101a);}function _0x3d12de(_0x37e2d7,_0x396349,_0x110959,_0x5901dd){return _0x4c7b(_0x5901dd-0x157,_0x110959);}const _0x348cb3=_0x1a5221;return _0xd3ade4[_0x15df9f(0x3d2,0x1ec,0x2ac,0x2e8)]()[_0x3d12de(0x650,0x519,0x7ee,0x6e5)](_0x348cb3[_0x3d12de(0x391,0x2c4,0x45f,0x4bd)])[_0x3d12de(0x765,0x743,0x6ea,0x5c8)]()[_0x3d12de(0x4e2,0x46c,0x4f7,0x34d)+'r'](_0xd3ade4)[_0x15df9f(0x2a1,0x478,0x3c9,0x3ab)](_0x348cb3[_0x3d12de(0x527,0x5e4,0x4f0,0x4bd)]);});_0xd3ade4();const _0x11e1f3=(function(){function _0x54fae7(_0x682612,_0x48363c,_0x2d74e8,_0x3d05e9){return _0x4c7b(_0x3d05e9- -0x35d,_0x2d74e8);}const _0x2da70f={'aockt':function(_0xe24b5b,_0x5f3be8,_0x5526de){return _0xe24b5b(_0x5f3be8,_0x5526de);},'PKMPt':'HEADER','CRWTd':_0x54fae7(-0xc6,-0x16a,0x164,0x34),'kufjj':function(_0x20d7aa){return _0x20d7aa();},'vrGsO':_0x54fae7(0xfd,0x167,-0x9c,0x126)+_0x513212(0x292,0x498,0x414,0x37e),'YgKhy':function(_0xf4cef5,_0x122b74){return _0xf4cef5!==_0x122b74;},'TmImG':_0x513212(0x2cc,0x326,0x3f3,0x496),'lrqiX':'azVaz','ReTPX':'UCHfy'};let _0x191597=!![];function _0x513212(_0x35cccd,_0x11374c,_0x1909d8,_0x2aa067){return _0x4c7Line truncated
+2
View File
@@ -0,0 +1,2 @@
/*! 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
@@ -0,0 +1,2 @@
/*! 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
+2
View File
@@ -0,0 +1,2 @@
/*! 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
@@ -0,0 +1,2 @@
/*! 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
+304
View File
@@ -0,0 +1,304 @@
if (typeof Object.assign != 'function') {
Object.assign = function () {
var target = arguments[0];
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
}
function getMubans() {
var mubanDict = { // 模板字典
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(2):lt(8);a&&Text;a&&href;/(\\d+).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
二级: {
"title": "h1&&Text;.module-info-tag&&Text",
"img": ".lazyload&&data-original",
"desc": ".module-info-item:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(3)&&Text",
"content": ".module-info-introduction&&Text",
"tabs": ".module-tab-item",
"lists": ".module-play-list:eq(#id) a"
},
搜索: '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: '',
limit: 6,
推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.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(0)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(2)&&Text;.video-info-items:eq(3)&&Text",
"content": ".vod_content&&Text",
"tabs": ".module-tab-item",
"lists": ".module-player-list:eq(#id)&&.scroll-content&&a"
},
搜索: '.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(5);a&&Text;a&&href;/(\\d+).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
二级: {
"title": ".myui-content__detail .title&&Text;.myui-content__detail p:eq(-2)&&Text",
"img": ".myui-content__thumb .lazyload&&data-original",
"desc": ".myui-content__detail p:eq(0)&&Text;.myui-content__detail p:eq(1)&&Text;.myui-content__detail p:eq(2)&&Text",
"content": ".content&&Text",
"tabs": ".nav-tabs:eq(0) li",
"lists": ".myui-content__list:eq(#id) li"
},
搜索: '#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&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;/(\\d+).html',
class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.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)&&Text",
"img": ".stui-content__thumb .lazyload&&data-original",
"desc": ".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text",
"content": ".detail&&Text",
"tabs": ".stui-vodlist__head h3",
"lists": ".stui-content__playlist:eq(#id) li"
},
搜索: 'ul.stui-vodlist__media:eq(0) li,ul.stui-vodlist:eq(0) li,#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
搜索1: 'ul.stui-vodlist&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
搜索2: 'ul.stui-vodlist__media&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text',
},
默认: {
title: '',
host: '',
url: '/vodshow/fyclass--------fypage---.html',
searchUrl: '/vodsearch/-------------.html?wd=**',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {
'User-Agent': 'MOBILE_UA',
},
play_parse: true,
lazy: '',
limit: 6,
double: true, // 推荐内容是否双层定位
},
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.fed-part-eone:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html',
class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html',
play_parse: true,
lazy: '',
limit: 6,
推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.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: '',
推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href',
double: true,
一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
二级: {
"title": ".hl-infos-title&&Text;.hl-text-conch&&Text",
"img": ".hl-lazy&&data-original",
"desc": ".hl-infos-content&&.hl-text-conch&&Text",
"content": ".hl-content-text&&Text",
"tabs": ".hl-tabs&&a",
"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: '',
推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href',
double: true,
一级: '.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: '',
limit: 6,
推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
double: true, // 推荐内容是否双层定位
一级: '.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: '',
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(3)--strong&&Text",
"img":".detail-pic&&data-original",
"desc":".fraction&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(2)--strong&&Text;.slide-info:eq(1)--strong&&Text",
"content":"#height_limit&&Text",
"tabs":".anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a",
"tab_text":".swiper-slide&&Text",
"lists":".anthology-list-box:eq(#id) li"
},
搜索:'json:list;name;pic;;id',
}
};
return JSON.parse(JSON.stringify(mubanDict));
}
var mubanDict = getMubans();
var muban = getMubans();
export default {muban,getMubans};
+68
View File
@@ -0,0 +1,68 @@
/***
* 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);
});
}
};
}
File diff suppressed because it is too large. Load diff
+577
View File
@@ -0,0 +1,577 @@
/*!
* 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;
}
}
}
}));
+412
View File
@@ -0,0 +1,412 @@
if (typeof Object.assign !== 'function') {
Object.assign = function () {
let target = arguments[0];
for (let i = 1; i < arguments.length; i++) {
let source = arguments[i];
for (let key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
}
// 通用免嗅探播放
let common_lazy = `js:
let html = request(input);
let hconf = html.match(/r player_.*?=(.*?)</)[1];
let json = JSON5.parse(hconf);
let url = json.url;
if (json.encrypt == '1') {
url = unescape(url);
} else if (json.encrypt == '2') {
url = unescape(base64Decode(url));
}
if (/\\.(m3u8|mp4|m4a|mp3)/.test(url)) {
input = {
parse: 0,
jx: 0,
url: url,
};
} else {
input;
}`;
// 默认嗅探播放
let def_lazy = `js:
input = { parse: 1, url: input, js: '' };`;
// 采集站播放
let cj_lazy = `js:
if (/\\.(m3u8|mp4)/.test(input)) {
input = { parse: 0, url: input };
} else {
if (rule.parse_url.startsWith('json:')) {
let purl = rule.parse_url.replace('json:', '') + input;
let html = request(purl);
let json = JSON.parse(html);
if (json.url) {
input = { parse: 0, url: json.url };
}
} else {
input = rule.parse_url + input;
}
}`;
function getMubans() {
const mubanDict = { // 模板字典
mx: {
title: '',
host: '',
url: '/vodshow/fyclass--------fypage---/',
searchUrl: '/vodsearch/**----------fypage---/',
class_parse: '.top_nav li;a&&Text;a&&href;.*/(.*?)/',
searchable: 2,
quickSearch: 0,
filterable: 0,
headers: {
'User-Agent': 'MOBILE_UA',
},
play_parse: true,
lazy: common_lazy,
limit: 6,
double: true,
推荐: '.cbox_list;*;*;*;*;*',
一级: 'ul.vodlist li;a&&title;a&&data-original;.pic_text&&Text;a&&href',
二级: {
title: 'h2&&Text;.content_detail:eq(1)&&li&&a:eq(2)&&Text',
img: '.vodlist_thumb&&data-original',
desc: '.content_detail:eq(1)&&li:eq(1)&&Text;.content_detail:eq(1)&&li&&a&&Text;.content_detail:eq(1)&&li&&a:eq(1)&&Text;.content_detail:eq(1)&&li:eq(2)&&Text;.content_detail:eq(1)&&li:eq(3)&&Text',
content: '.content_desc&&span&&Text',
tabs: '.play_source_tab&&a',
lists: '.content_playlist:eq(#id) li',
},
搜索: '*',
},
mxpro: {
title: '',
host: '', // homeUrl:'/',
url: '/vodshow/fyclass--------fypage---.html',
searchUrl: '/vodsearch/**----------fypage---.html',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
},
class_parse: '.navbar-items li:gt(0):lt(10);a&&Text;a&&href;/(\\d+)',
play_parse: true,
lazy: common_lazy,
limit: 6,
double: true, // 推荐内容是否双层定位
推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href',
一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href',
二级: {
title: 'h1&&Text;.module-info-tag-link:eq(-1)&&Text',
img: '.lazyload&&data-original||data-src||src',
desc: '.module-info-item:eq(-2)&&Text;.module-info-tag-link&&Text;.module-info-tag-link:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(1)&&Text',
content: '.module-info-introduction&&Text',
tabs: '.module-tab-item',
lists: '.module-play-list:eq(#id) a',
tab_text: 'div--small&&Text',
},
搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text',
}, mxone5: {
title: '',
host: '',
url: '/show/fyclass--------fypage---.html',
searchUrl: '/search/**----------fypage---.html',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?)\.html',
play_parse: true,
lazy: common_lazy,
limit: 6,
double: true, // 推荐内容是否双层定位
推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href',
二级: {
title: 'h1&&Text;.tag-link&&Text',
img: '.module-item-pic&&img&&data-src',
desc: '.video-info-items:eq(3)&&Text;.tag-link:eq(2)&&Text;.tag-link:eq(1)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(0)&&Text',
content: '.vod_content&&Text',
tabs: '.module-tab-item',
lists: '.module-player-list:eq(#id)&&.scroll-content&&a',
tab_text: 'div--small&&Text',
},
搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href',
}, 首图: {
title: '',
host: '',
url: '/vodshow/fyclass--------fypage---/',
searchUrl: '/vodsearch/**----------fypage---.html',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
},
class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html',
play_parse: true,
lazy: common_lazy,
limit: 6,
double: true, // 推荐内容是否双层定位
推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
二级: {
title: '.myui-content__detail .title--span&&Text;.myui-content__detail p.data:eq(3)&&Text',
img: '.myui-content__thumb .lazyload&&data-original',
desc: '.myui-content__detail p.otherbox&&Text;.year&&Text;.myui-content__detail p.data:eq(4)&&Text;.myui-content__detail p.data:eq(2)&&Text;.myui-content__detail p.data:eq(0)&&Text',
content: '.content&&Text',
tabs: '.myui-panel__head&&li',
// tabs: '.nav-tabs&&li',
lists: '.myui-content__list:eq(#id) li',
},
搜索: '#searchList li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href;.detail&&Text',
}, 首图2: {
title: '',
host: '',
url: '/list/fyclass-fypage.html',
searchUrl: '/vodsearch/**----------fypage---.html',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {
'User-Agent': 'UC_UA', // "Cookie": ""
},
class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html',
play_parse: true,
lazy: common_lazy,
limit: 6,
double: true, // 推荐内容是否双层定位
推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href',
一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href',
二级: {
title: '.stui-content__detail .title&&Text;.stui-content__detail&&p:eq(-2)&&a&&Text',
title1: '.stui-content__detail .title&&Text;.stui-content__detail&&p&&Text',
img: '.stui-content__thumb .lazyload&&data-original',
desc: '.stui-content__detail p&&Text;.stui-content__detail&&p:eq(-2)&&a:eq(2)&&Text;.stui-content__detail&&p:eq(-2)&&a:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text;.stui-content__detail p:eq(1)&&Text',
desc1: '.stui-content__detail p:eq(4)&&Text;;;.stui-content__detail p:eq(1)&&Text',
content: '.detail&&Text',
tabs: '.stui-pannel__head h3',
tabs1: '.stui-vodlist__head h3',
lists: '.stui-content__playlist:eq(#id) li',
},
搜索: 'ul.stui-vodlist__media,ul.stui-vodlist,#searchList li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href;.detail&&Text',
}, 默认: {
title: '',
host: '',
url: '',
searchUrl: '',
searchable: 2,
quickSearch: 0,
filterable: 0,
filter: '',
filter_url: '',
filter_def: {},
headers: {
'User-Agent': 'MOBILE_UA',
},
timeout: 5000,
class_parse: '#side-menu li;a&&Text;a&&href;/(.*?)\.html',
cate_exclude: '',
play_parse: true,
lazy: def_lazy,
double: true,
推荐: '列表1;列表2;标题;图片;描述;链接;详情',
一级: '列表;标题;图片;描述;链接;详情',
二级: {
title: 'vod_name;vod_type',
img: '图片链接',
desc: '主要信息;年代;地区;演员;导演',
content: '简介',
tabs: '',
lists: 'xx:eq(#id)&&a',
tab_text: 'body&&Text',
list_text: 'body&&Text',
list_url: 'a&&href',
},
搜索: '列表;标题;图片;描述;链接;详情',
}, vfed: {
title: '',
host: '',
url: '/index.php/vod/show/id/fyclass/page/fypage.html',
searchUrl: '/index.php/vod/search/page/fypage/wd/**.html',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {
'User-Agent': 'UC_UA',
},
class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html',
play_parse: true,
lazy: common_lazy,
limit: 6,
double: true, // 推荐内容是否双层定位
推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href',
二级: {
title: 'h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text',
img: '.fed-list-info&&a&&data-original',
desc: '.fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text',
content: '.fed-part-esan&&Text',
tabs: '.fed-drop-boxs&&.fed-part-rows&&li',
lists: '.fed-play-item:eq(#id)&&ul:eq(1)&&li',
},
搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text',
}, 海螺3: {
title: '',
host: '',
searchUrl: '/v_search/**----------fypage---.html',
url: '/vod_____show/fyclass--------fypage---.html',
headers: {
'User-Agent': 'MOBILE_UA',
},
timeout: 5000,
class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html',
cate_exclude: '明星|专题|最新|排行',
limit: 40,
play_parse: true,
lazy: common_lazy,
double: true,
推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href',
一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
二级: {
title: '.hl-dc-title&&Text;.hl-dc-content&&li:eq(6)&&Text',
img: '.hl-lazy&&data-original',
desc: '.hl-dc-content&&li:eq(10)&&Text;.hl-dc-content&&li:eq(4)&&Text;.hl-dc-content&&li:eq(5)&&Text;.hl-dc-content&&li:eq(2)&&Text;.hl-dc-content&&li:eq(3)&&Text',
content: '.hl-content-text&&Text',
tabs: '.hl-tabs&&a',
tab_text: 'a--span&&Text',
lists: '.hl-plays-list:eq(#id)&&li',
},
搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
}, 海螺2: {
title: '',
host: '',
searchUrl: '/index.php/vod/search/page/fypage/wd/**/',
url: '/index.php/vod/show/id/fyclass/page/fypage/',
headers: {
'User-Agent': 'MOBILE_UA',
},
timeout: 5000,
class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/',
limit: 40,
play_parse: true,
lazy: common_lazy,
double: true,
推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href',
一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href',
二级: {
title: 'h2&&Text;.deployment&&Text',
img: '.lazy&&data-original',
desc: '.deployment&&Text',
content: '.ec-show&&Text',
tabs: '#tag&&a',
lists: '.play_list_box:eq(#id)&&li',
},
搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
}, 短视: {
title: '',
host: '', // homeUrl:'/',
url: '/channel/fyclass-fypage.html',
searchUrl: '/search.html?wd=**',
searchable: 2,//是否启用全局搜索,
quickSearch: 0,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
headers: {//网站的请求头,完整支持所有的,常带ua和cookies
'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok"
},
class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html',
cate_exclude: '解析|动态',
play_parse: true,
lazy: common_lazy,
limit: 6,
double: true, // 推荐内容是否双层定位
推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href',
二级: {
title: 'h1&&Text;.content-rt&&p:eq(0)&&Text',
img: '.img&&img&&data-src',
desc: '.content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text',
content: '.zkjj_a&&Text',
tabs: '.py-tabs&&option',
lists: '.player:eq(#id) li',
},
搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href',
}, 短视2: {
title: '',
host: '',
class_name: '电影&电视剧&综艺&动漫',
class_url: '1&2&3&4',
searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50',
searchable: 2,
quickSearch: 0,
headers: {'User-Agent': 'MOBILE_UA'},
url: '/index.php/api/vod#type=fyclass&page=fypage',
filterable: 0,//是否启用分类筛选,
filter_url: '',
filter: {},
filter_def: {},
detailUrl: '/index.php/vod/detail/id/fyid.html',
play_parse: true,
lazy: common_lazy,
limit: 6,
推荐: '.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href',
一级: 'js:let body=input.split("#")[1];let t=Math.round(new Date/1e3).toString();let key=md5("DS"+t+"DCC147D11943AF75");let url=input.split("#")[0];body=body+"&time="+t+"&key="+key;print(body);fetch_params.body=body;let html=post(url,fetch_params);let data=JSON.parse(html);VODS=data.list.map(function(it){it.vod_pic=urljoin2(input.split("/i")[0],it.vod_pic);return it});',
二级: {
title: '.slide-info-title&&Text;.slide-info:eq(2)--strong&&Text',
img: '.detail-pic&&data-original',
desc: '.slide-info-remarks&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(1)--strong&&Text;.info-parameter&&ul&&li:eq(3)&&Text',
content: '#height_limit&&Text',
tabs: '.anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a',
tab_text: 'a--span&&Text',
lists: '.anthology-list-box:eq(#id) li',
},
搜索: 'json:list;name;pic;;id',
}, 采集1: {
title: '',
host: '',
homeTid: '13',
homeUrl: '/api.php/provide/vod/?ac=detail&t={{rule.homeTid}}',
detailUrl: '/api.php/provide/vod/?ac=detail&ids=fyid',
searchUrl: '/api.php/provide/vod/?wd=**&pg=fypage',
url: '/api.php/provide/vod/?ac=detail&pg=fypage&t=fyclass',
headers: {'User-Agent': 'MOBILE_UA'},
timeout: 5000, // class_name: '电影&电视剧&综艺&动漫',
// class_url: '1&2&3&4',
// class_parse:'js:let html=request(input);input=JSON.parse(html).class;',
class_parse: 'json:class;',
limit: 20,
multi: 1,
searchable: 2,//是否启用全局搜索,
quickSearch: 1,//是否启用快速搜索,
filterable: 0,//是否启用分类筛选,
play_parse: true,
parse_url: '',
lazy: cj_lazy,
推荐: '*',
一级: 'json:list;vod_name;vod_pic;vod_remarks;vod_id;vod_play_from',
二级: `js:
let html=request(input);
html=JSON.parse(html);
let data=html.list;
VOD=data[0];`,
搜索: '*',
},
};
return JSON.parse(JSON.stringify(mubanDict));
}
var mubanDict = getMubans();
var muban = getMubans();
export default {muban, getMubans};
+1
View File
@@ -0,0 +1 @@
dmFyIHJ1bGU9ewogIHRpdGxlOiAiMTExdHYiLAogIOaooeadvzogIuiHquWKqCIsCiAgaG9zdDogImh0dHBzOi8vd3d3LjExMXR2cy5jb20iLAogIHVybDogIi92b2RzaG93L2Z5ZmlsdGVyLmh0bWwiLAogIGZpbHRlcmFibGU6IDEsCiAgZmlsdGVyOiAiSDRzSUFBQUFBQUFBQSsyYmEwOGJSeFNHLzh0K2FpVXFlVzNNSmQ5Qzd2Zjd0Y3FIdEVJcWFwcEtUVnFwaXBBQVkyTk1zQUVCRHNHQk51RFlVSHlCRU5mWVhmZ3plL08vNk5wejVweXpyUlE1aGJUUXpJZEllWjkzZDNablptZk9xM0h5VEFzR3RHTmZQdE8rN2Y5Wk82WTVtM1ZyYVVMcjBCNC8vSzZmNjU4ZVB2cXh2M1hoWXc5YjBYd2prbTlpVDNnTkRIWUk3c3krYzNNeGF6ejNXZC9BbzRHdnZEK2Z3MFZkT2w1a0xScG1MZWRkSk84bnE3Rzh4bmlRMnQxTk1oNmlwbEpseGp1UjI5VVM0ejNFMDFuR3c4ak5hc2FhVEp1MWw4enRvcWRFSzJaOUh2c21MK2pXQmg4MEx4RWo1eGwySkVvamgvbzlJMGRQbU05UXd5Q3c3L0ZOYUlnRTltZDR5aDZhQnc4RXRwbkltMFpHdGlrRXRwbWJ0bmJxc2swaDhENThjUkw0dlBnTHN6WXVueWVFOU56Q0crdjVPbmdnOEhtSmttTklEd1RONGFxN2dzOFRBcitIVnpQMmk2dzFYTEVpS2JqQ2g3Q05Zc1dxRldRYlFxQ1hIYU8rZ2tBdkdiTlNXOUlUQXQrNW5yS2lWZm5PUXVEM3N2T3IvV29hUEJBNFJwR292VkNTWXlRRVBtOHU1bzJhZko0US9DTnlTd1UzUDBRZkVlcTJQcUpGdzd0ZU5pNEVUczdFSm5rZ3NLTmJxK1NCd0FsSUc5N0NJSnMwVzdMTUZvSXROL0pBc0VWbEZTUHliWVh3cmFlZGJiTnVzUFVrZFR0REVReDRtNEhjbmRpKzRJa1E4UkRuUWVKQnpuWGlPdWNCNGdIRzlWN2szbDhaN3lIZXczazM4VzdPdTRoM2NSNG1IdWFjK3F2ei91clVYNTMzVjZmKzZyeS9PdlZYNS8zVnFiODY3MitBK3V2OTFUZUJoYlJkbW1RVEtQVmZKaEF4bjhEakFJNGo2UVBTaCtRRWtCTklUZ0k1aWVRVWtGTklUZ001amVRTWtETkl6Z0k1aStRY2tITkl6Z001aitRQ2tBdElMZ0s1aU9RU2tFdElMZ081ak9RS2tDdElyZ0s1aXVRYWtHdElyZ081anVRR2tCdEliZ0s1aWVRV2tGdEliZ081amVRT2tEdEk3Z0s1aStRZWtIdEk3Z081anlUd2hmeFdBcjRQeFU3T1dMVVVmU2lvL1IrS25hNDAwdHRrZXVqcGdIY0Q3c20xbWwyZTlmbmZERHg5UWx0Z2FkU0t4M3orazYrLy82Ry8rUzRQT3JSZzczNWpFQzEzVVcyZDhUR3dRclJpUkhGbkZpMHlVZHVaeGZKUHEwUXppNWF5cVByTW90VXZpamV6YU1NUXRadFp0TWU0eGJKbHpER0x0aVV2QWxuRzV0K3pIWFhQamlUc2taZDBjeGZyUTZ2c000dkZ1TmhNWTJHTldTekpqV3c0ODlQTUNxdlVkU0NwSzVGM1p1djBuazNSVG1LeUMyL00zVi9rdXdqaG4wWjVueEI0MzlJNkpSOFE3WXlubUgvcENlSC8yREJwdFVRNzZVMUVTRitlcERibng5enhtbXhUQ096ZmJsR3NBTmxGMU8xazJmZGxUWGR2eXBzRE9ZdEMwS2htS0d1Q1FHOTB6L2xOOWdRRWpvQXg3ZFF6dmhmMm9VODBkOXB2NTVnbkJFM3c3NnduUXRCOVpYNWZXV1ZabFdWVmxsVlo5akJtMlZEUFByTnNpSmExdFpwckxNU2MraDlVRmtPMEdUUVAybEpsbjl2SjBtQTY2KzNNZnBjV29yMlJjM2FUZmpkNGNPbXVNVFR1NUlaa2dSQ0Nra1BVSGwzRzVOQVNsSC8zM0hKY2xpd2g4TDZaZ3AyUTlSWUVkVFpxVjJYaUFFSEY2cTI1TTRYRnFpV3dETzRtR3l2eVhVQ2dWMXUzaWt2U0V3S2Z0N2pGa29vUUZOU1g3VzFNbWtMUWxGWHRlTXFzelZEaThDRWNoKzNYWG02UzR5QUV0ckU1NGc0L2wzY0w4WW5tQ1ZYN05WWDdOVlg3VmUwL0hMVy9NN1RQMnQvSnpwYlNXVHV6NFRzcTZHUkhNNjM2N1hkcEtjT3ZmRDZYTmdDUkcvd3ViUnZpQnplL1M1dU5NN2RPeHpiaFhuVWVwTTZEWktwVDUwSHFQT2dEODVzNkQxS1pVR1ZDbFFuLzE1bVEvN2FwSXBLS1NDb2lxWWgweUNPU3FyQ3F3aDZkQ2h2V1ZZVlZGVlpWV0ZWaGowNkZWWWNRa3F0RENFMUZKQldSUG5KRUN1N3poNmt3TFNNck5la2FHMDdjWUQ4RThmOFYxcXh4Wm4yQlFrR1kvV3lWcmpock5XZHR6NjBrcEVzTDNSMmR0cmVYZkFVK1ROdURreXliOVpWR3hMQ3FJOUtsVGFVeDhzNHVwM3pGTGR4emtQK2dKZWEreHVJaUJIcVpxajBrMHhFSWZPbmhzdVhsdXJ3TU9xUnh3TW9wSzF0eEp0S3lXcURHTm1ZelZsRU9Kb2ovS3JIKzY2bjBZeVJQbFM3L1licjhrQVNwS3FTcWtOcFJxWkNEZndKNk9wVkRpejBBQUE9PSIsCiAgZmlsdGVyX3VybDogInt7Zmwu57G75Z6LfX0tLXt7Zmwu5o6S5bqPfX0te3tmbC7liafmg4V9fS17e2ZsLuivreiogH19LXt7Zmwu5a2X5q+NfX0tLS1meXBhZ2UtLS17e2ZsLuW5tOS7vX19IiwKICBmaWx0ZXJfZGVmOiB7CiAgICAyMDogewogICAgICDnsbvlnos6ICIyMCIKICAgIH0sCiAgICAyOTogewogICAgICDnsbvlnos6ICIyOSIKICAgIH0sCiAgICAzODogewogICAgICDnsbvlnos6ICIzOCIKICAgIH0sCiAgICA0MzogewogICAgICDnsbvlnos6ICI0MyIKICAgIH0sCiAgICA0OTogewogICAgICDnsbvlnos6ICI0OSIKICAgIH0sCiAgICA1MTogewogICAgICDnsbvlnos6ICI1MSIKICAgIH0sCiAgICA1MjogewogICAgICDnsbvlnos6ICI1MiIKICAgIH0KICB9LAogIGNsYXNzX3BhcnNlOiAiLm5hdmJhci1pdGVtcyYmbGk7YSYmVGV4dDthJiZocmVmOy4qLyhcXGQrKS5odG1sIiwKICAgIOaQnOe0ojogIi5tb2R1bGUtaXRlbXMmJi5tb2R1bGUtaXRlbTtzdHJvbmcmJlRleHQ7aW1nJiZkYXRhLW9yaWdpbmFsOy5tb2R1bGUtaXRlbS1ub3RlJiZUZXh0O2EmJmhyZWY7Lm1vZHVsZS1jYXJkLWl0ZW0taW5mby0tc3Ryb25nJiZUZXh0IiwKfQ==
+1
View File
@@ -0,0 +1 @@
Z2xvYmFsVGhpcy5nZXRWaWRlb3MgPSBmdW5jdGlvbiAobGluaywga2V5KSB7CiAgICBsZXQgaHRtbCA9IHJlcXVlc3QobGluayk7CiAgICBsZXQganNvbiA9IEpTT04ucGFyc2UoaHRtbCk7CiAgICBsZXQgZGF0YSA9IGpzb24uZGF0YTsKICAgIGRhdGEgPSBkYXRhW2tleV07CiAgICBsZXQgdmlkZW9zID0gZGF0YS5tYXAoKG4pID0+IHsKICAgICAgICBsZXQgaWQgPSBuLnVybDsKICAgICAgICBsZXQgbmFtZSA9IG4ubGVhZ3VlX25hbWVfemggKyAnICcgKyBuLmhvbWVfdGVhbV96aCArICcgVlMgJyArIG4uYXdheV90ZWFtX3poOwogICAgICAgIGxldCBwaWMgPSBuLmNvdmVyOwogICAgICAgIGxldCByZW1hcmtzID0gbi5uaWNrbmFtZTsKICAgICAgICByZXR1cm4gewogICAgICAgICAgICB2b2RfaWQ6IGlkLAogICAgICAgICAgICB2b2RfbmFtZTogbmFtZSwKICAgICAgICAgICAgdm9kX3BpYzogcGljLAogICAgICAgICAgICB2b2RfcmVtYXJrczogcmVtYXJrcywKICAgICAgICB9OwogICAgfSk7CiAgICByZXR1cm4gdmlkZW9zCn0KdmFyIHJ1bGUgPSB7CiAgICDnsbvlnos6ICflvbHop4YnLC8v5b2x6KeGfOWQrOS5pnzmvKvnlLt85bCP6K+0CiAgICB0aXRsZTogJzM2MOWQp1vnkINdJywKICAgIGhvc3Q6ICdodHRwczovL20uMzYwYmEuY28vJywKICAgIGhvbWVVcmw6ICcvYXBpL3dlYi9oNV9pbmRleCcsCiAgICB1cmw6ICcvYXBpL3dlYi9saXZlX2xpc3RzL2Z5Y2xhc3MnLAogICAgc2VhcmNoVXJsOiAnL2FwaS93ZWIvc2VhcmNoP2tleXdvcmQ9KionLAogICAgc2VhcmNoYWJsZTogMiwKICAgIHF1aWNrU2VhcmNoOiAwLAogICAgZmlsdGVyYWJsZTogMCwKICAgIGhlYWRlcnM6IHsKICAgICAgICAnVXNlci1BZ2VudCc6ICdNT0JJTEVfVUEnLAogICAgfSwKICAgIHRpbWVvdXQ6IDUwMDAsCiAgICBjbGFzc19uYW1lOiAn5YWo6YOoJui2s+eQgybnr67nkIMm57u85ZCIJywKICAgIGNsYXNzX3VybDogJzEmMiYzJjk5JywKICAgIHBsYXlfcGFyc2U6IHRydWUsCiAgICBwYWdlY291bnQ6IHsKICAgICAgICAiMSI6IDEsCiAgICAgICAgIjIiOiAxLAogICAgICAgICIzIjogMSwKICAgICAgICAiOTkiOiAxLAogICAgfSwKICAgIGxhenk6ICRqcy50b1N0cmluZygoKSA9PiB7CiAgICAgICAgaW5wdXQgPSB7cGFyc2U6IDAsIHVybDogaW5wdXQsIGhlYWRlcjogcnVsZS5oZWFkZXJzfTsKICAgIH0pLAogICAg6aKE5aSE55CGOiAkanMudG9TdHJpbmcoKCkgPT4gewogICAgICAgIE9iamVjdC5hc3NpZ24ocnVsZS5oZWFkZXJzLCB7CiAgICAgICAgICAgICdSZWZlcmVyJzogcnVsZS5ob3N0LAogICAgICAgICAgICAnT3JpZ2luJzogcnVsZS5ob3N0LAogICAgICAgIH0pOwogICAgfSksCiAgICDmjqjojZA6ICRqcy50b1N0cmluZygoKSA9PiB7CiAgICAgICAgVk9EUyA9IGdldFZpZGVvcyhpbnB1dCwgJ2hvdF9tYXRjaGVzJyk7CgogICAgfSksCiAgICDkuIDnuqc6ICRqcy50b1N0cmluZygoKSA9PiB7CiAgICAgICAgVk9EUyA9IFtdOwogICAgICAgIGlmIChNWV9QQUdFIDw9IDEpIHsKICAgICAgICAgICAgVk9EUyA9IGdldFZpZGVvcyhpbnB1dCwgJ2RhdGEnKTsKICAgICAgICB9CiAgICB9KSwKICAgIOS6jOe6pzogJyonLAogICAg5pCc57SiOiAkanMudG9TdHJpbmcoKCkgPT4gewogICAgICAgIFZPRFMgPSBbXTsKICAgICAgICBpZiAoTVlfUEFHRSA8PSAxKSB7CiAgICAgICAgICAgIFZPRFMgPSBnZXRWaWRlb3MoaW5wdXQsICdiYWxsJyk7CiAgICAgICAgfQogICAgfSksCn0=
+83
View File
@@ -0,0 +1,83 @@
var rule = {
author: '小可乐/240701/第二版',
title: '4KAV',
类型: '影视',
host: 'https://4k-av.com',
hostJs: '',
headers: {'User-Agent': 'IOS_UA'},
编码: 'utf-8',
timeout: 5000,
homeUrl: '/',
url: '/fyclassfyfilter/page-fypage.html[/fyclassfyfilter]',
filter_url: '{{fl.class}}',
detailUrl: '',
searchUrl: '/s?q=**',
searchable: 1,
quickSearch: 1,
filterable: 1,
class_name: '电影&剧集',
class_url: 'movie&tv',
filter_def: {},
play_parse: true,
lazy: `js:
if (/m3u8|mp4/.test(input)) {
input = { jx: 0, parse: 0, url: input }
} else {
let kurl = request(input).match(/<source src="(.*?)"/)[1];
input = { jx: 0, parse: 0, url: kurl }
}
`,
limit: 9,
double: false,
推荐: '*',
一级: '.NTMitem;a&&title;img&&src;.tags&&Text;a&&href',
二级: `js:
let khtml = request(input);
VOD = {};
VOD.vod_id = input;
VOD.vod_name = pdfh(khtml, '#MainContent_titleh12&&div:eq(1)&&Text');
VOD.type_name = pdfh(khtml, '.tags--span&&Text');
VOD.vod_pic = pdfh(khtml, '#MainContent_poster&&img&&src');
VOD.vod_remarks = pdfh(khtml, '.videodetail&&label:eq(0)&&Text');
VOD.vod_year = pdfh(khtml, '.videodetail&&a&&Text');
VOD.vod_area = pdfh(khtml, '.videodetail&&label:eq(1)&&Text');
VOD.vod_director = '未知';
VOD.vod_actor = '未知';
VOD.vod_content = pdfh(khtml, '.videodesc&&Text');
VOD.vod_play_from = '4KAV专线';
let klists = [];
let kcode = pdfa(khtml, 'ul#rtlist&&li');
if ( kcode == 0) {
kcode = pdfa(khtml, '#MainContent_poster&&a');
kcode.forEach((kc) => {
let kname = pdfh(kc, 'a&&title').replace('电影海报','');
let khref = pdfh(kc, 'a&&href').replace('poster.jpg','');
let klist = kname + '$' + khref;
klists.push(klist);
});
VOD.vod_play_url = klists.join('#');
} else {
kcode;
kcode.forEach((kc) => {
let kname = pdfh(kc, 'span&&Text');
let khref = pdfh(kc, 'img&&src').replace('screenshot.jpg','');
let klist = kname + '$' + khref;
klists.push(klist);
});
VOD.vod_play_url = klists.join('#');
}
`,
搜索: '*',
filter: {
"tv":[
{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"动作","v":"/tag/动作"},{"n":"剧情","v":"/tag/剧情"},{"n":"冒险","v":"/tag/冒险"},{"n":"喜剧","v":"/tag/喜剧"},{"n":"国产剧","v":"/tag/国产剧"},{"n":"恐怖","v":"/tag/恐怖"},{"n":"战争","v":"/tag/战争"},{"n":"科幻","v":"/tag/科幻"},{"n":"动画","v":"/tag/动画"},{"n":"韩剧","v":"/tag/韩剧"},{"n":"犯罪","v":"/tag/犯罪"},{"n":"纪录片","v":"/tag/纪录片"}]},
{"key":"class","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"}]}
]
}
}
+1
View File
@@ -0,0 +1 @@
dnii7ugd5nEoxGnGrkv4T5YnOUj4N0YoSEfgblDS/JZnlO/9sgeR0b03HIkrt3xrD6B/UMbC0FvNbwvui9rrkWdujjyRzg2GXA1WZ1YgG/YiNYK1+XlYxgcKqDj+8K5ce9pDK0kQAK3du6WR0KCls3YRMphhD3RK5NoCIW+OIhFFhnHI658rgHH9ykY18Vxs1kRcedXFqoEu//7rcWf0KqMmkfkIH7jUELeC+A6uZti/H9GUVXoMy78kV/or7/SOtg+4+nbkoavfM4XQ1/pzzVQxfCR+CH5kvYtoBptLauj2I1JIxzyFsheGoga3/bdNXRx8zWINnD+yZ5U9F4V/9ioKj2H85W8IanEIgrCZVHFHgTWjjrTbmXzqR4WepYXjvPA9LtHObqOuCDJ1+u7Oc4o5BXqtpzguHhJgB9bVOoL9GVzM5pXHRFwVdU8haQgjFl8cGwHT65kCnMZoNPcfAiKx9pjeHq4cOBw4nMUoJPpUA0HvHXUrduXpE8lQDy9ECAy5u1GiWafIbJ/0zS4wHSdkmmDHGdBMBr7B+6XE5RPF3syylPWDFKN1wX57OH0O4ktOXu/m7CzjlK16uLis1SLdjDQLclgqGw5txqikISWeEcOJA0Fq2bLIin3Yagz+C5XYxlwZovxVja4ClAIQHsfrRxqt0DtAuosWxCX8/1LV/TYSmMhOLCeh+x0If5bVXOWB/npHibJSj37FietiiFAWY9IuaFPFbCQ+JNjHzyqJrpNVcTbbU3sK0H2/KjWttcClSHmVaS0pcwqBRnO3Q9SBgIUanFuCjxyCJJO/URErYhyrxgC7x9cTeQokf9EkVYbUvvA5FwmLkB5mJFX8JKQ+WiXVEvywVtCfP4NKWoPe4uQmyZpDnkFvWrvXH8fjEJLNH7PcKLB5xP55RpoYZmzfm7wHHRtXqUqyXNuiZN4+dwz3QCyb0Xqr5eENcFl1ZPyPzZVdzu9JGcerMB93KnzGdhyZduDbs9N0z6GRoJ0nGIhpNHyxGLbYEojKvwNCn4qJnw4EXIZ9DxQLuXyYDwdzDKD+uoTqzRI57eNSivglwlc9ATgUi4ujGbobSvyoi+ved9Ui1khZy8yGtJmgIZxRBcGqbFkWYHyA1xGXXO3LaMAs/5gK5Pmg5GhgZGtTcIZQGlq+HG7J3CCxeUV+/JUhBZQCxG7O5CZrM4Wf+MS4EuXD6fSt4RzRMMLrOzuMJK2kQ7KlC6GBRplpKiG5ttQH42Ak7LiOz02C1aPCRYLPyDErcFHH29f30HR1HakdBmN/rlh//ifqOgTSesZ7fEU+YWqdcWkD0tjPwaEW+rBT7wB2zHf/hfhivIQ2yKI61T5Nws8ig2MzYESFHumtonGJK6T/19A8Y1qu1fOsBUhTJ3hjwQVGIRPHbi5RVMROS7mUldF6OOQWoEsGGS83ndodnQ23D5UUusIoYu4ArwObumYaq8QEbXr1hiUTCvufo0FDIomdCRrEY/ZFByruWnhAUVuHsWWEQCtdrnGD08XnXA0fsSD6s+HcfpV+L1Uvfqjm9t8PU1RltxCO9pP5Jsdnt3rfVPOx7zyxASnGCsH7A3aDtR4tmCmz6bwTn6xxb2rkRIJ28UOCax2sDDURv84KWNuJwzO2n9Q8VdAKaHeiO8YdRJ6PFwA4CoHqcHPyeDm6Ccgjf41TXS33W9ShP+1MQArEpRn81ma53JnVh+RhZsHe5ZhAmgc1KvYb4sRswh5NqnBW3tyHhRT+oJgOXEcqgObE9EuVs/RN+/lR9Q2Frz6P1RBQ2r9m4RhGqj2b5s/X818sk34vr6lTtVW/VZymyy7oWgfz13FkK2leYB1IbW7EdgfQorb7NB6K0eEipese6GOIYluFGqEgIdoFszJ0NeT6cmbw9BbCYMCf8fqwM9zJWam0RczajGTUZVj8JHzJKDt0rrTYTFvSQ6e1doVtK1utbC9yZwQuWG3dsACfK/ysqPO7g7lh8mDk9BWBsd8Hlh7Lpljk1FcSFDnh1q2xPYbBTqcsU9JJIm+GSPnCjbj2IMaN9buZxyoQFKa4nAjRdgBiZhcgTslSn+eQqh5q8ANKmXNZjhZs4bN2Z4EvMRCmYt7mHNlI/EDIa3bR4IcwZiiVREee5DWvljiOVsa/pw+qbrOdd4eYjHdJKhtqdrJs0Bd1acAxRB31gtllb05vCNoXwtxThiMj8hf4D+HSWr+fzXbfCzOdN0Wth5nwuGZlYfo6oDFe3haeo7izClIrjKLtRMKc5sDq0NTS63M4jD0Q51UoDckzHWscqO7yfW+1o90eGXgxhrOIakEs71UFSXQ3U3gnqa55j36S3+3F7UVcAMi5XrsszImrmngyWMa0EF5OKI9OMGLcwO5Gr/tFPkL4WdFwE1hQxCxyfl+UAo/MPdJeAEP/eR/ho4RsdBKygKI6cbUMLBJzzSNW2awk0l51d+PJPQOneEtuutVj9Qryr5YSDyZ+RoMGSd8dhzvrNc34DvhYGJRevbJ5/s7fO8Do6xsFWRVj8sPFJw1Yt0O96lRnNu5YLdiZG9JDSv+BzW9bSYn4vdy7ksfE4N1cm0TShplLuGYNA15Un10fmIRiCOyvjlR+ZlTCQ+qNFN3Zq+823RamY5Utww/paaU17i3sFHqkQUYpEh76bqSuXwKfQBnj2n4B9Y06ScDuA1j7/hOhg2XjBmXZzyhrJszkAxSVfP1fOVcLRpCXwUM1WbgmE76CD5Ic/Yxol98+u3uGfIP+13JuemBO22IUPmqW+r6z1sEureF2hsN0D6A46m0JqahQAfSVfiZ37aYhhW7jrS9aYgX+G/7VGGgdw9qXlb0DhK6ltl82LTcBeH4S7ZhQFhApMku3oV/vcJwFg1BmrQBVpUNmVBGXWRRWoiK54wqTmAcOMWI3DeRbqP14SMZJPGfSbR79TAUQesKq+ll/IiKmHwKeqs+5oQbscn4qW+YnsTI8h+UpWLm5NJW7a+VFvX3KjGgKTd5VJqfE2zx8urlBvPR4XPqrGLEmH4blPPgghiyTsu1Y6DGGz4vN6eceQWCbqCHU6ESUnsTsShpYwVF/RhsV7T+PCDc6ReNG+jM/Gr5gYmZb/Hzj4UQEvjzRlgYtGTtrD7lu1amB2EvXg0n0R9hfWKCS+SOXnB3zHn/SZpT09B+0Fu1GfqJh3KNeZuVQcDvTxq8EPGpbAZn50dJQLTeylzI0EpO66ku581bvsVHC/yJVDIwHF7tSpLtxIAW9Glp5xGcrArdVygVA5PBPtamchlynB/1CGFI15gHJBgqji9UTh62BvXyuFJo21xVqQJuBrFh7OkHOYe1omzQQ/jjgkKQz6hpuAxt784F6DYkTXyPPcuLVJ5OceSp4ntRoRiTFa36Nmk7LoMP1IYz/zEs8/HHjF9vMKFy1AqImnBOltyjQ6+xktsOZcZ6EI8D9ENO0rLOGT1FF0ZldWUSWktJ7uvLUQiPYfGmgY3ZNE+pjq5CzbBgKgf77iQpt03P7XBQjD7r6W86tc5k0mL1M4m9wFFFe23u2HL5TtC0mAHkxhb6WZo1Mr87W8TU6o1+4vmgdTejNT8W9hLYk1ygi4GszhGAI4vGxfREpDcd3+OolWWk4r1dvtvmRnqNB2eaSzt2f+Q1+1xU+11oCL/mS30W127LYx/8byinaj9fdwQvSZADAvAjMkdM4Itg5blY0RYtianKua/xh70eaKdapyU/z15/fUPrPfUf5wtL3+v2ciaKiYhVNYB4lq0diEGtS6jcSC8SM0shGXvp4UkYs6LEgGyPGuTBJq8QIHwksG4NfwN5FAFjVXAmCRAmrnCYUGwFRWQgJWouXAl+rNbDkEvKbAd7iv/YGwlvus0rjq9rXfmPtZMcRQRQ1Yn1n78eXBvvHzmINyQ9pBVNmT1u3pDJmAhhwY4HLWc4TDYLs47y/POH4zBzQgS9AltSaK8AzP4dKMjuIs+eH6P72L2hhVwfLcI4ENgEPaB1Jwgrvbjc0AfXW+afsGbt32oKUZ1GHgA7MG+X/g0jVJYseVJv/79WmoW0O43jCGfNj36WRZexnQRw4pj9MrYHMJ7a1AZhlshaCrd90MlFVZTFr5bZpJvgsUKG/JUsKrfAheC4PGkmbR+LfOg78iQs9zQsSfcN0RacYSs9qD9EqhuhIkPBR9Te3VweG5fdTXhRGAG5lTwaWb0RKZpFDztRYLNQyNSjaIdc7fHlqezhn0Nhp8VqAfinhT7Li2HxvyQ4Z8+Pgne730GZ7OxjO3ri5sVyiXbX9NW93klTGzso6EkLWGZR35Yb9lK0XNQdK5tUrtUyckycW3wS5fQJwMSzuCl/3miOYmhZF7so06oKUGXnZsw4KyumdPXJxpZhUFW7Mr156mZklYRwKgcNjyNR2m6WNlvJvhj9WFuxVS5n3BWqKuqFQ686IEc6RmL3fF9cj4NQbKG+5aRMI+WSXC+xLIWgaK0Cy6L5nYYogtb27R/p9kLGtCsyyAQCZF56TS1Y+o93sz7NXR2QutFFfT93Ny5qwSF0ZVzWJVU7qakTaHdOh/TQkgaa9KV8r8ea9fC4vJA9xs3O23iXSCpFpIujr3Fhi+uDrksmXK3Zd2QMcHwyjLs0yiHEvUnHAATFnx+LvgSDj0Z5Dvu8MHdkHnouYxzkq2z9U/TumPTiErW1qDnCy0JaJZyvK63vz/GiFk57pqcukOZ1Bv6dt31w5y/d8KiLv+xjt8AWZdhrrlC52fJXzUASAYZORJkyU0BwW8cYaCXLyXaXmFFQTwAaYnS+DD3fmJQ1J9ZAkXKZtmYxvCvRCgN3khHpGOhqrGWIjcukVxOkdelZj4Q+lxtmNhIUErrEbvMMmwJEDJyb2hRK6eS7OA0M4eLKxDOh1aSOMQglRHsIemGcbOz1BERxJv8BPnv+x9csKqSmp6cyR9JKDpvZ1bzuU6IXZI0cDX1LZUBvAz075f5pnft9ZvjPL0RuT4DOI6jQZFVL/nRfGZcDP7eYM7FuZL8tzJQQ+wjgpnDpqZWE Line truncated
+1
View File
@@ -0,0 +1 @@
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
+1
View File
@@ -0,0 +1 @@
H4sIAIioBmcC/6VX227bRhB971cskkIkHfGiS3yRyqaOWzSoc2ljO0XhGMqKHIlr82buUhcnAvoBbZHHPvSpL+0H9KEI+jlB0s/o7JK6ULZSFPUDtRyeOTM7MzuzHtGMZHkIxCUvPyJEMBFCh2gP7j85fnb69q+fz7Q6ioOEC5QGQqS8Y9vj8dgK+okYNSwviWwFybMQEfZg6oWUc5vFPkx6g2lKh2AFIgpPq5+UrCDnQDMvOCn0R4lfvNtbW2ahbq+gaF+615SCy5x5F0dK2iGOlAxYKCArIEoQAPUh4x21NUK0Ew6ZuT+EWGho6+uD3sm+4p7Jh3Kul9KMywBYXOTMLAh6vQjinISsS2u1Y5gI+RtkMOhaW7Zubd0zChfTkE7nBCLLQcpCejXtkFvnvPM8xjcQRG4co53BZQ5c6CxOc2F0F1+9JB7gZ4myIiq8QLczxYx+oClX2fvENk4bZwulc57EqPPV0ZPHdy3lgK54lrSYHQRInIVLJWYDoisBxF42TQVxXaI1NIO8lF9JqZLHwD2ago6vBd2MQMjhZvXmRvU+5bDd/hy8xC+4SrK5J/bz55YetfLdV1HafhW1Kf62DNsSMkYKPydWAZPlWrxi2IuIO/W54Hyy+qYKEx+lYLa6iVXKQn5LJY1FDOt9W679JFcFNU/ou59+//vH11gheVjUCFZsyLiwvBBrccAm3aJO1EnqWjL/YUL9Ws2ngppJxoYspmHXSplnCqylakWpOnr75/fv3/z2ARPk/5t484MyURyM+akvrGHlCDwivZ4PgrKQWOpzSXIjpFZLO3Cpt4xarTwhyggGNhpepxVBHvXJJrdLTR/rRqqu7eFfzctF0/gv6MYH0SQ1TZ7S+MOYgmcVWW6jRMqdFFiTXwAe6gpI0D5fhAkZYgh7Pdl6SNAqITL9/HooZV+Qn6T928w3ELdsaO9e//L+j1875ONzbonkSGQsHuq6QdxPy7TLvxH2fx9P0+lZtyLrJ/4UxdoFTPsJzXxXI3fI4Rff4VOr8SAZu0VVCIhS5ruNmujHNAI3hjGvRUriJymODbdo3FqX2HaYDHVJbFRMlV0arb1Y+qX69QPUl526Om/KkCxQZTTMEOKhCCR+Z+8ahnoBqLhlSSghEZ2YOFtcZx2Zp8MM/TFZzMHLMzDLRs2lVmMdXVSttnE2bvJVTFOQWjRNQ+ZRwZLYnpioaw6SLDKxXWFbxVbpX3NPjjA6H2GPkisWhtS+azlEf8jifNIl+7GfJcwnjWaXNJtOs9FsNJ4ekPs5C3376PCbhoUCx9m2HKfRJeORQfbRCfgW+odM2HdbO1Zrm+iHD44fPaxjPV0A+RK8i8QgzzBJ0s82GjsIsiQCe2/Pcqz2brtt7e6SR0mf4UXiiA5oxkqidfep50GqXJeH2pZTrl6JgZTcmaxLo7B76TrWXp1F8kJAR2xQLsfQT+fSNB7Wt+wtBd2tEHA2jME3YYI3iHgI3ZHbbxWM6w5O5vlG+JgV5YR5tGBCI4ySFWBAshGD8boiVos5kEfb5Eyo3HI8D2Vb2wyOMMkSHOOehhQVNyJl5iXyXmMzBrumCq6feHkka2QNie0fsoJmw11uef9qOi1nxzEd++YcmiFGMse4S7KrwDx4XL8KyixBbJ4clWmAWC12tAXJ7EW11ZQXIrUDfZNfYJduFbfHNEi1Oqm2i8Vtr1xU3ZZ9p6OeVXkEIkh8eR18cnS84qQxb1jSvWXDqnguWy96nvoDqmD1eYMuB7a8OPoMRyK2ZWO5aTziRJf653jzUCTG2lZ8K815oFeFK5MaLQa6VDw9P5NGl7NUATSjfk2zGKjritXxepOeGuGpf7O16uQ25HD47GlRY652nav4H2FDp7yzeVPq2qLYb7Mokm1oBMcBRHBbq9iYrQR5tlhxEE+B56HQ/fL7DPc5+wcdk6b++gwAAA==
+1
View File
@@ -0,0 +1 @@
Z2xvYmFsVGhpcy5wb3N0MiA9IGZ1bmN0aW9uIChfdXJsLCBfZGF0YSkgewogICAgLy8gbGV0IGRhdGEgPSBidWlsZFVybChfdXJsLF9kYXRhKS5zcGxpdCgnPycpWzFdOwogICAgLy8gcmV0dXJuIHBvc3QoX3VybCx7Ym9keTplbmNvZGVVUklDb21wb25lbnQoZGF0YSksaGVhZGVyczpydWxlLmhlYWRlcnN9KTsKICAgIHJldHVybiBwb3N0KF91cmwsIHtkYXRhOiBfZGF0YSwgaGVhZGVyczogcnVsZS5oZWFkZXJzfSk7Cn0KdmFyIHJ1bGUgPSB7CiAgICDnsbvlnos6ICflkKzmrYwnLC8v5b2x6KeGfOWQrOS5pnzmvKvnlLt85bCP6K+0CiAgICB0aXRsZTogJ0tUVuatjOWOhVvlkKxdJywKICAgIC8vIGhvc3Q6ICdodHRwczovL3Zwc2RuLmxldXNlLnRvcCcsCiAgICBob3N0OiAnaHR0cHM6Ly9hcGkuY2xvdWRmbGFyZS5jb20nLAogICAgcm9vdDogJ2h0dHBzOi8vYXBpLmNsb3VkZmxhcmUuY29tL2NsaWVudC92NC9hY2NvdW50cy8xZWNjNGE5NDdjNWE1MTg0MjcxNDFmNGE2OGM4NmVhMS9kMS9kYXRhYmFzZS80ZjEzODVhYi1mOTUyLTQwNGEtODcwYS1lNGNmZWY0YmQ5ZmQvcXVlcnknLAogICAgbWt0dlVybDogJ2h0dHA6Ly90eHlzb25nLm15c290by5jYy9zb25ncy8nLAogICAgdXJsOiAnL3NlYXJjaG12P3RhYmxlPWZ5Y2xhc3MmcGc9ZnlwYWdlI2Z5ZmlsdGVyJywKICAgIHNlYXJjaFVybDogJy9zZWFyY2htdj9rZXl3b3Jkcz0qKiZwZz1meXBhZ2UnLAogICAgcGljOiAnaHR0cHM6Ly9hcGkucGF1Z3JhbS5jb20vd2FsbHBhcGVyLz9zb3VyY2U9c2luYSZjYXRlZ29yeT11cycsCiAgICBzZWFyY2hhYmxlOiAyLAogICAgcXVpY2tTZWFyY2g6IDAsCiAgICBmaWx0ZXJhYmxlOiAxLAogICAgZmlsdGVyOiAnSDRzSUFBQUFBQUFBQTUyU1RVL0NNQmpIdjB2UEhBVGZ1ZXJGa3dlUGhnT0hTUlpobUlFbWhKQmdCTElJQkVnSTAvQnFBZ0ZFd2dZUkRiandaV3pwdm9VcjJ0R2xYT1RXL3ArbjdhKy9OZzRpb2hRUVpPQzlqSU5ySVFhOFFCWUNZbGdDTGlENVE0STFoelVONW1iV1hKVEVxRFczUm5mKzRLMndXaUtSaG5UUGZPaVJtRlFUcnZocTRDWTdrR3E3YXo1bjdOanpGNlBQRVN4b2RyeEx1NnNHYkZkQXdrY0t2enhYWVRtMHBsbnFjNmdNdHFaWmxqODRGTmlaY0J6TGVRb1dGY0xoYzRGSVdBb3dnb0oreGc0ZURYRXZ1ZWJ4L0JNSXF3VnJDNTZwYXJBeHhUS2JmVGJlb3pMVkRodnYwMjdWZ0htVnJSelFVN002R3gvU1c0L2JiSHhFWWRMVDczbkZqby9wOXYwM1ZIY2M3TjZoUUJQTmtkdWZJYTlCN2N0Um9qZkcwMGNLeXp4K05IWWpPQisva2QzNjhkSDdQWDdKOGE2TENpenJuR3VVVENLMXk3bUdxUVVhNW5qWDlUNHNHWnhvcEpYWWJpb2FLdzFVSGZPaUt6VTR5M0NpOGVMVkhEeHRzS3kyVUw1NWVuWnhjcjVCdGFIamJtYjFneE0vOHNpOVRPWURBQUE9JywKICAgIGZpbHRlcl91cmw6ICd7e2ZsfX0nLAogICAgaGVhZGVyczogewogICAgICAgICdVc2VyLUFnZW50JzogJ01PQklMRV9VQScsCiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAnQXV0aG9yaXphdGlvbic6ICdCZWFyZXIgTHVlTnJ5Y1ctNmprczd4QmpQcVg5bWpGcTJBMk01S3VsNklnM0Q4eicsCiAgICB9LAogICAgdGltZW91dDogNTAwMCwKICAgIGNsYXNzX25hbWU6ICfmrYzmiYsm5puy5bqTJywKICAgIGNsYXNzX3VybDogJ3NpbmdlciZzb25nJywKICAgIOS4gOe6pzogJGpzLnRvU3RyaW5nKCgpID0+IHsKICAgICAgICBsZXQgZCA9IFtdOwogICAgICAgIC8vIGxldCBfdXJsID0gaW5wdXQuc3BsaXQoJyMnKVswXTsKICAgICAgICBsZXQgX3VybCA9IHJ1bGUucm9vdDsKICAgICAgICBsZXQgcGFyYW1zID0gW107CiAgICAgICAgbGV0IHNxbCA9ICcnOwogICAgICAgIGxldCBzaXplID0gMjA7CiAgICAgICAgbGV0IHBnID0gTVlfUEFHRTsKICAgICAgICBpZiAoTVlfQ0FURSA9PT0gJ3NpbmdlcicpIHsKICAgICAgICAgICAgc3FsID0gJ3NlbGVjdCBuYW1lLCBpZCBmcm9tIHNpbmdlciB3aGVyZSAxPTEnOwogICAgICAgICAgICBpZiAoTVlfRkwucmVnaW9uKSB7CiAgICAgICAgICAgICAgICBwYXJhbXMucHVzaChNWV9GTC5yZWdpb24pOwogICAgICAgICAgICAgICAgc3FsICs9ICcgYW5kIHJlZ2lvbl9pZCA9ID8nOwogICAgICAgICAgICAgICAgLy8gX3VybCArPSAnJndoZXJlPXJlZ2lvbl9pZCZrZXl3b3Jkcz0nICsgTVlfRkwucmVnaW9uICsgJyZzaXplPTIxJzsKICAgICAgICAgICAgfSBlbHNlIGlmIChNWV9GTC5mb3JtKSB7CiAgICAgICAgICAgICAgICBwYXJhbXMucHVzaChNWV9GTC5mb3JtKTsKICAgICAgICAgICAgICAgIHNxbCArPSAnIGFuZCBmb3JtX2lkID0gPyc7CiAgICAgICAgICAgICAgICAvLyBfdXJsICs9ICcmd2hlcmU9Zm9ybV9pZCZrZXl3b3Jkcz0nICsgTVlfRkwuZm9ybSArICcmc2l6ZT0yMSc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgc3FsICs9IGAgb3JkZXIgYnkgaWQgbGltaXQgJHsocGcgLSAxKSAqIHNpemV9LCR7c2l6ZX07YDsKICAgICAgICAgICAgbGV0IGh0bWwgPSBwb3N0MihfdXJsLCB7cGFyYW1zOiBwYXJhbXMsIHNxbDogc3FsfSk7CiAgICAgICAgICAgIGxldCBqc29uID0gSlNPTi5wYXJzZShodG1sKTsKICAgICAgICAgICAgZCA9IGpzb24ucmVzdWx0WzBdLnJlc3VsdHMubWFwKGl0ZW0gPT4gewogICAgICAgICAgICAgICAgbGV0IHBpYyA9IHJ1bGUubWt0dlVybCArIGl0ZW0uaWQgKyAnLmpwZyc7CiAgICAgICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgICAgIHZvZF9pZDogaXRlbS5uYW1lICsgJ0BAJyArIGl0ZW0ubmFtZSArICdAQCcgKyBwaWMsCiAgICAgICAgICAgICAgICAgICAgdm9kX25hbWU6IGl0ZW0ubmFtZSwKICAgICAgICAgICAgICAgICAgICB2b2RfcGljOiBwaWMsCiAgICAgICAgICAgICAgICAgICAgdm9kX3JlbWFya3M6ICcnLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9IGVsc2UgaWYgKE1ZX0NBVEUgPT09ICdzb25nJykgewogICAgICAgICAgICBzcWwgPSAnc2VsZWN0IG51bWJlciwgbmFtZSBmcm9tIHNvbmcgd2hlcmUgMT0xJzsKICAgICAgICAgICAgaWYgKE1ZX0ZMLmxhbikgewogICAgICAgICAgICAgICAgcGFyYW1zLnB1c2goTVlfRkwubGFuKTsKICAgICAgICAgICAgICAgIHNxbCArPSAnIGFuZCBsYW5ndWFnZV9pZCA9ID8nOwogICAgICAgICAgICAgICAgLy8gX3VybCArPSAnJndoZXJlPWxhbmd1YWdlX2lkJmtleXdvcmRzPScgKyBNWV9GTC5sYW4gKyAnJnNpemU9MjEnOwogICAgICAgICAgICB9IGVsc2UgaWYgKE1ZX0ZMLnR5cGUpIHsKICAgICAgICAgICAgICAgIHBhcmFtcy5wdXNoKE1ZX0ZMLnR5cGUpOwogICAgICAgICAgICAgICAgc3FsICs9ICcgYW5kIHR5cGVfaWQgPSA/JzsKICAgICAgICAgICAgICAgIC8vIF91cmwgKz0gJyZ3aGVyZT10eXBlX2lkJmtleXdvcmRzPScgKyBNWV9GTC50eXBlICsgJyZzaXplPTIxJzsKICAgICAgICAgICAgfQogICAgICAgICAgICBzcWwgKz0gYCBvcmRlciBieSBudW1iZXIgbGltaXQgJHsocGcgLSAxKSAqIHNpemV9LCR7c2l6ZX07YDsKICAgICAgICAgICAgbGV0IGh0bWwgPSBwb3N0MihfdXJsLCB7cGFyYW1zOiBwYXJhbXMsIHNxbDogc3FsfSk7CiAgICAgICAgICAgIGxldCBqc29uID0gSlNPTi5wYXJzZShodG1sKTsKICAgICAgICAgICAgZCA9IGpzb24ucmVzdWx0WzBdLnJlc3VsdHMubWFwKGl0ZW0gPT4gewogICAgICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgICAgICB2b2RfaWQ6IHJ1bGUubWt0dlVLine truncated
+1
View File
@@ -0,0 +1 @@
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 truncated
+20
View File
@@ -0,0 +1,20 @@
var rule = {
title:'A8音乐',
host:'http://v.a8.com',
url:'/category/fyclass?p=fypage',
searchUrl:'/search?t=**',
searchable:2,
quickSearch:0,
headers:{
'User-Agent':'MOBILE_UA',
},
class_parse: '.categorys-inner li:gt(1):lt(7);a&&Text;a&&href;.*/(\\d+)',
timeout:5000,
limit:6,
play_parse:true,
lazy:'js:let html=request(input);let purl=jsp.pdfh(html,".video-js&&source&&src");input={jx:0,url:purl,parse:0}',
推荐: '.v-list-body:eq(1)&&.v_item;*;*;*;*',
一级: '.list-div&&.v_item;img&&alt;img&&data-original;.v-time&&Text;a&&href',
二级:'*',
搜索:'.v-list-body&&.v_item;*;*;*;*',
}
+1
View File
@@ -0,0 +1 @@
dmFyIHJ1bGUgPSB7CiAgICDmqKHmnb86ICfoh6rliqgnLAogICAg5qih5p2/5L+u5pS5OiAkanMudG9TdHJpbmcoKCkgPT4gewogICAgICAgIG11YmFuLuiHquWKqC7kuoznuqcudGFicyA9ICcubW9kdWxlLXRhYi1pdGVtLnRhYi1pdGVtJzsKICAgIH0pLAogICAgdGl0bGU6ICdiaWxmdW4o6Ieq5YqoKScsCiAgICBob3N0OiAnaHR0cDovL2JpbGZ1bi5jYycsCiAgICB1cmw6ICcvYmlsZnVuc2hvdy9meWNsYXNzZnlmaWx0ZXIuaHRtbCcsCiAgICBjbGFzc19wYXJzZTogJy5uYXZiYXItaXRlbXMgbGk6Z3QoMSk6bHQoOSk7YSYmVGV4dDthJiZocmVmOy9iaWxmdW4vKFxcZCspLmh0bWwnLAogICAgZmlsdGVyYWJsZTogMSwKICAgIGZpbHRlcl91cmw6ICcte3tmbC7lnLDljLp9fS17e2ZsLuaOkuW6j319LXt7Zmwu5Ymn5oOFfX0te3tmbC7or63oqIB9fS17e2ZsLuWtl+avjX19LS0tZnlwYWdlLS0te3tmbC7lubTku6N9fScsCiAgICBmaWx0ZXI6ICdINHNJQUFBQUFBQUFBKzJaVzA4YlJ4VEgzL3NwSWo5VGlZWGNtcmZjNy9kN3FqeEVGVktqdHFuVXBKV3FDQWt3ZGd3QjJ5Q0M0OXJjR202aEdNeWxGSllhZnhuUHJ2MHRNdmFjOHovanRxeXNscVF2NnlmLy9tZG45c3labloyL1pnKzkvT3lRL2tXY3lJa3ZYMGErNmZvNWNpS2lCaGE4YUN6U0ZubjI1THN1bTM5Njh1MlBYWTBMbjlYbDJHSXR1bGlYTlVTNjIwZ2R6K3ZyU1NYZ21KOVlvNDRFT09iMXByMmVjWW9Sb00vQnhVb3B6MzBhUUo4TEkycG5sL3MwZ0haSVhBRDNTN3l0dUFOOFB3TWNxeGJtMWRBU3hRaHd2OEZWdjhReEFpdFBmMnhYOHF3RFluT3ZKRThDNUZLWXIreE5jeTRHMEM0K1dzdSs1M1lHMEc1eVNXZk83UXkwVWsrdmI5a2ZIK0dZQWNTaWcxN2ZMeHd6Z0xIdnBsUnNtOGR1Z0dPMWlWSHY3UnpGQ05EbitLdnFnTXQ5R3NENDlsYjhzZDlWYVkySENNWVZxZG5xTzh5aUFjU1NjWlZhNTVnQnpHSTVyZWVBWjlHQVZEWHZUWXlncWcxQXJML3MvOFlqSVVBRlNpUCticjRwNFNhcCszSDlTbHBHK2FJYWNxMWx4TnpTTXBwZHFHWGpuSVFCbEhvKzYyMnZjcWtOU0xHSzNzNGVpdFVBSkwrWFZMa1NwMjBBVTdUeFJtSUVLT1RyTllrUm9GMW16c3N2Y3pzRHlIUHF2YlFqa0duL1EySUVra3ZSenFYWTFHNjRxTng1Ym1jQTdmcFR1bElxd2F0RkdDT1pLL3VwZ2orUTVjR0FaUWxQZTYvTHVobFdNVE91aUcxVmRubGhFZGpUWGwwdFZCZDdaTnJCTFUxN3JxU3Y1ODROV05NZ01RSk03ZnFzeEFnd0RabVNHczVJV05pYUtDdHN3SnBnaVJGWUQ0MFZNMkJOc0RVU0ExWUoxVXBVU2xpSHBwV3pzMW5aTFZrcmg3bVZFbmEwZHh3bXJmSFgwanRGNzdUMUR0RTdiTjBSM2JIMWR0SGJMZDM1QXJyK2ErbkhSVDl1NjhkRVAyYnJSMFUvYXV0SFJEOWk2ekpleHg2dkkrTjE3UEU2TWw3SEhxOGo0M1hzOFRveVh2MjNhYUlLR1c5MTJKb281cjlNRkdSN29rNlNjQkxLS1ZKT1FUbE55bWtvWjBnNUErVXNLV2VobkNQbEhKVHpwSnlIY29HVUMxQXVrbklSeWlWU0xrRzVUTXBsS0ZkSXVRTGxLaWxYb1Z3ajVScVU2NlJjaDNLRGxCdFFicEp5RThvdFVtNUJ1VTNLYlNoM1NMa0Q1UzRwZDZIY0krVWVsUHVrM0lmeWdKUUhVQjZTOGhES0kxSWVRV24vbk5kQTg0UGlKVWVWbTVJSEJkejhvSGlaclZwbVU0SmFldkZVTitEdUs2N3JGY2VhNGw4L2ZmRmNYcEdyL1NvUmI0by8vK3I3SDdycXVUeHVNMDYzNDhDY2JvQXZDWEtYeGh5cDNpMFY1U1NicEZhY3RGclpVaTdlcmdaYWRLajdPdWtnaHhya3BJTThXSkJqck96TWlBY2pFQmNhODdKc2NRaHd2emR4Y2IwRWxqK1RtaEcwdW5IL043OFdqK25yWVNnYjBJb1ArcmRlTHNoM0JmdTgvYjFWb004Ykwyb3JwQ1ptNE9LWlExLzBOMThVK3B0STZHOUNmeE1KL2MzLzRHODZEOHJmMUhvRy9JVWVmdnNac1Bmbi9pbHJmOWFBSkZmSzFXS0MzOGNHMEc2MDRBM3kyUXFCdkZGajNqWjdCUUo1RTI5VWR0SjRFemZBMnU1cTd6Z1hBc1RjSmJVeXlURUR1Rjl1M1RxVk1vQjJZMVBlSms0VkRhRGQ5cmFYU0ZYY1VUbGRhcEpRaDgxZnRlUGhPaGhBSDJ0OTFkNGhibTNnazNnUjdTKzBrMERhRGJDMk5MM0p5WlpXQjhTV0YzUnBPV1lnM04zRDNUMFM3dTdoN2g3dTdwOXNkejk4VUx0NzBBNGU5RTNOanhhcU0rd0tDTkJuY3RGUDgwY0xBc1RTay80eXZqa1prQTFyLzI5YzFmUkVOY2tuS1FUb2MzcEc1ZkNXTm9BK0EwNDZ2THhyZlRjemdQc0ZmRFVLT3RWUlJWMm1UYjZmQVRzMnQySEZOS0NlczN1VlAvbDdHd0hhSmFkVUlzZnRETWpEdEs0SzdJZ0kwR2R1ME11eXN5R1F1cXlwY2daMWFZQzFzMzNFRTVKY3FlTGlPTXVBdGQzdWU1cnhqODZqeFlSRFZ4SzZrdENWaEs0a2RDVWZ5WlZvVTlMOUFUc0RtUFZESkFBQScsCiAgICBmaWx0ZXJfZGVmOiB7CiAgICAgICAg5Yqo5ryrOiB757G75Z6LOiAnNCd9LAogICAgICAgIOeUteW9sToge+exu+WeizogJzEnfSwKICAgICAgICDov57nu63liac6IHvnsbvlnos6ICcyJ30sCiAgICAgICAg57u86Im6OiB757G75Z6LOiAnMyd9LAogICAgICAgIOeIveaWh+efreWJpzoge+exu+WeizogJzIyJ30sCiAgICAgICAg57qq5b2V54mHOiB757G75Z6LOiAnMTknfSwKICAgICAgICDkvZPogrLotZvkuos6IHvnsbvlnos6ICcyMCd9LAogICAgICAgIOW9seinhuino+ivtDoge+exu+WeizogJzIxJ30KICAgIH0sCiAgICBzZWFyY2hVcmw6ICcvYmlsZnVuc2VhcmNoLyoqLS0tLS0tLS0tLWZ5cGFnZS0tLS5odG1sJywKfQ==
+112
View File
@@ -0,0 +1,112 @@
/**
* 影视TV 弹幕支持
* https://t.me/fongmi_offical/
* https://github.com/FongMi/Release/tree/main/apk
* 皮皮虾DMBox 弹幕支持
* 设置 > 窗口预览 > 开启
* https://t.me/pipixiawerun
* vod_area:'bililivedanmu'
* Cookie设置
* Cookie获取方法 https://ghproxy.net/https://raw.githubusercontent.com/UndCover/PyramidStore/main/list.md
* Cookie设置方法1: DR-PY 后台管理界面
* CMS后台管理 > 设置中心 > 环境变量 > {"bili_cookie":"XXXXXXX","vmid":"XXXXXX"} > 保存
* Cookie设置方法2: 手动替换Cookie
* 底下代码 headers的
* "Cookie":"$bili_cookie"
* 手动替换为
* "Cookie":"将获取的Cookie黏贴在这"
*/
var rule = {
title:'哔哩直播',
host:'https://api.live.bilibili.com',
homeUrl:'/xlive/web-interface/v1/second/getUserRecommend?page=1&page_size=30&platform=web',//用于"分类获取"和"推荐获取"
url:'/xlive/web-interface/v1/second/getList?platform=web&parent_area_id=fyclass&area_id=fyfilter&sort_type=online&page=fypage',
class_name:'生活&网游&手游&单机游戏&娱乐&电台&虚拟主播&聊天室&知识&赛事&帮我玩&互动玩法',
class_url:'10&2&3&6&1&5&9&14&11&13&301&15',
filterable: 1,
filter_url: '{{fl.area}}',
filter_def:{
10:{area:'624'},
2:{area:'86'},
3:{area:'35'},
6:{area:'236'},
1:{area:'21'},
5:{area:'190'},
9:{area:'744'},
14:{area:'818'},
11:{area:'376'},
13:{area:'562'},
301:{area:'301000'},
15:{area:'814'}
},
filter: {
"10":[{"key":"area","name":"分区","value":[{"n":"生活分享","v":"646"},{"n":"聊天交友","v":"825"},{"n":"手工绘画","v":"627"},{"n":"情感","v":"623"},{"n":"户外","v":"368"},{"n":"萌宠","v":"369"},{"n":"运动","v":"628"},{"n":"美食","v":"367"},{"n":"时尚","v":"378"},{"n":"电子榨菜","v":"624"},{"n":"沉浸体验","v":"827"}]}],
"2":[{"key":"area","name":"分区","value":[{"n":"英雄联盟","v":"86"},{"n":"无畏契约","v":"329"},{"n":"CS:GO","v":"89"},{"n":"APEX英雄","v":"240"},{"n":"永劫无间","v":"666"},{"n":"穿越火线","v":"88"},{"n":"命运方舟","v":"590"},{"n":"DOTA2","v":"92"},{"n":"吃鸡行动","v":"80"},{"n":"逃离塔科夫","v":"252"},{"n":"传奇","v":"695"},{"n":"DNF","v":"78"},{"n":"卡拉彼丘","v":"782"},{"n":"幕后高手","v":"774"},{"n":"生死狙击2","v":"575"},{"n":"洛奇英雄传","v":"599"},{"n":"最终幻想14","v":"102"},{"n":"重生边缘","v":"809"},{"n":"星际战甲","v":"249"},{"n":"梦三国","v":"710"},{"n":"英魂之刃","v":"690"},{"n":"剑网3","v":"82"},{"n":"从军","v":"829"},{"n":"铁甲雄兵","v":"691"},{"n":"封印者","v":"300"},{"n":"新天龙八部","v":"653"},{"n":"赛尔号","v":"667"},{"n":"造梦西游","v":"668"},{"n":"洛克王国","v":"669"},{"n":"问道","v":"670"},{"n":"诛仙世界","v":"654"},{"n":"大话西游","v":"652"},{"n":"奇迹MU","v":"683"},{"n":"永恒之塔","v":"684"},{"n":"QQ三国","v":"685"},{"n":"人间地狱","v":"677"},{"n":"彩虹岛","v":"686"},{"n":"洛奇","v":"663"},{"n":"跑跑卡丁车","v":"664"},{"n":"星际公民","v":"658"},{"n":"Squad战术小队","v":"659"},{"n":"反恐精英Online","v":"629"},{"n":"风暴奇侠","v":"648"},{"n":"创世战车","v":"705"},{"n":"装甲战争","v":"642"},{"n":"守望先锋","v":"87"},{"n":"阿尔比恩","v":"639"},{"n":"猎杀对决","v":"600"},{"n":"CFHD","v":"472"},{"n":"骑士精神2","v":"650"},{"n":"超击突破","v":"680"},{"n":"武装突袭","v":"634"},{"n":"Wayfinder寻路者","v":"773"},{"n":"300英雄","v":"84"},{"n":"炉石传说","v":"91"},{"n":"剑网3缘起","v":"499"},{"n":"街头篮球","v":"649"},{"n":"综合射击","v":"601"},{"n":"剑灵","v":"505"},{"n":"艾尔之光","v":"651"},{"n":"黑色沙漠","v":"632"},{"n":"天涯明月刀","v":"596"},{"n":"超激斗梦境","v":"519"},{"n":"冒险岛","v":"574"},{"n":"逆战","v":"487"},{"n":"魔兽争霸3","v":"181"},{"n":"QQ飞车","v":"610"},{"n":"魔兽世界","v":"83"},{"n":"FIFAONLINE4","v":"388"},{"n":"NBA2KOL2","v":"581"},{"n":"使命召唤:战区","v":"318"},{"n":"VRChat","v":"656"},{"n":"坦克世界","v":"115"},{"n":"战舰世界","v":"248"},{"n":"战争与抉择","v":"729"},{"n":"战争雷霆","v":"316"},{"n":"战意","v":"383"},{"n":"风暴英雄","v":"114"},{"n":"星际争霸2","v":"93"},{"n":"刀塔自走棋","v":"239"},{"n":"堡垒之夜","v":"164"},{"n":"枪神纪","v":"251"},{"n":"三国杀","v":"81"},{"n":"龙之谷","v":"112"},{"n":"古剑奇谭OL","v":"173"},{"n":"幻想全明星","v":"176"},{"n":"怀旧网游","v":"288"},{"n":"新游前瞻","v":"298"},{"n":"星战前夜:晨曦","v":"331"},{"n":"流放之路","v":"551"},{"n":"FPS沙盒","v":"633"},{"n":"永恒轮回","v":"459"},{"n":"激战2","v":"607"},{"n":"其他网游","v":"107"},{"n":"蓝色协议","v":"760"}]}],
"3":[{"key":"area","name":"分区","value":[{"n":"王者荣耀","v":"35"},{"n":"和平精英","v":"256"},{"n":"原神","v":"321"},{"n":"崩坏:星穹铁道","v":"549"},{"n":"第五人格","v":"163"},{"n":"LOL手游","v":"395"},{"n":"明日方舟","v":"255"},{"n":"黎明觉醒:生机","v":"479"},{"n":"蛋仔派对","v":"571"},{"n":"冒险岛手游","v":"796"},{"n":"元梦之星","v":"822"},{"n":"闪耀!优俊少女","v":"805"},{"n":"斯露德","v":"797"},{"n":"千年之旅","v":"806"},{"n":"白夜极光","v":"781"},{"n":"逆水寒手游","v":"771"},{"n":"率土之滨","v":"807"},{"n":"月圆之夜","v":"215"},{"n":"哈利波特:魔法觉醒","v":"474"},{"n":"七人传奇","v":"823"},{"n":"幻塔","v":"550"},{"n":"星之破晓","v":"799"},{"n":"金铲铲之战","v":"514"},{"n":"少女前线2:追放","v":"832"},{"n":"深空之眼","v":"598"},{"n":"无期迷途","v":"675"},{"n":"晶核","v":"777"},{"n":"星球重启","v":"828"},{"n":"宿命回响:弦上的叹息","v":"826"},{"n":"光遇","v":"687"},{"n":"桃源深处有人家","v":"792"},{"n":"三国志战棋版","v":"756"},{"n":"战火勋章","v":"765"},{"n":"以闪亮之名","v":"755"},{"n":"尘白禁区","v":"778"},{"n":"古魂","v":"759"},{"n":"鬼泣-巅峰之战","v":"470"},{"n":"奇点时代","v":"762"},{"n":"香肠派对","v":"689"},{"n":"猫之城","v":"645"},{"n":"高能英雄","v":"783"},{"n":"使命召唤手游","v":"386"},{"n":"崩坏3","v":"40"},{"n":"银河境界线","v":"793"},{"n":"蔚蓝档案","v":"787"},{"n":"第七史诗","v":"784"},{"n":"游戏王:决斗链接","v":"407"},{"n":"游戏王","v":"303"},{"n":"JJ斗地主","v":"724"},{"n":"阴阳师","v":"36"},{"n":"欢乐斗地主","v":"719"},{"n":"太空行动","v":"791"},{"n":"空之要塞:启航","v":"718"},{"n":"长安幻想","v":"738"},{"n":"火影忍者手游","v":"292"},{"n":"Fate/GO","v":"37"},{"n":"综合棋牌","v":"354"},{"n":"QQ飞车手游","v":"154"},{"n":"决战!平安京","v":"140"},{"n":"狼人杀","v":"41"},{"n":"三国杀移动版","v":"352"},{"n":"碧蓝航线","v":"113"},{"n":"影之诗","v":"156"},{"n":"明日之后","v":"189"},{"n":"重返未来:1999","v":"761"},{"n":"环行旅舍","v":"786"},{"n":"幻世与冒险","v":"813"},{"n":"部落冲突:皇室战争","v":"50"},{"n":"奥比岛手游","v":"661"},{"n":"弹弹堂","v":"734"},{"n":"雀姬","v":"214"},{"n":"公主连结Re:Dive","v":"330"},{"n":"DNF手游","v":"343"},{"n":"FIFA足球世界","v":"641"},{"n":"BanGDream","v":"258"},{"n":"荒野乱斗","v":"469"},{"n":"CF手游","v":"333"},{"n":"战双帕弥什","v":"293"},{"n":"天涯明月刀手游","v":"389"},{"n":"一拳超人:世界","v":"779"},{"n":"解密游戏","v":"42"},{"n":"恋爱养成游戏","v":"576"},{"n":"暗黑破坏神:不朽","v":"492"},{"n":"暗区突围","v":"502"},{"n":"跑跑卡丁车手游","v":"265"},{"n":"非人学园","v":"212"},{"n":"百闻牌","v":"286"},{"n":"猫和老鼠手游","v":"269"},{"n":"坎公骑冠剑","v":"442"},{"n":"忍者必须死3","v":"203"},{"n":"梦幻西游手游","v":"342"},{"n":"航海王热血航线","v":"504"},{"n":"少女前线","v":"39"},{"n":"300大作战","v":"688"},{"n":"少女前线:云图计划","v":"525"},{"n":"漫威超级战争","v":"478"},{"n":"摩尔庄园手游","v":"464"},{"n":"宝可梦大集结","v":"493"},{"n":"小动物之星","v":"473"},{"n":"天地劫:幽城再临","v":"448"},{"n":"漫威对决","v":"511"},{"n":"东方归言录","v":"538"},{"n":"梦幻模拟战","v":"178"},{"n":"时空猎人3","v":"643"},{"n":"重返帝国","v":"613"},{"n":"休闲小游戏","v":"679"},{"n":"其他手游","v":"98"},{"n":"新游评测","v":"274"},{"n":"山海镜花","v":"821"},{"n":"小冰冰传奇","v":"824"}]}],
"6":[{"key":"area","name":"分区","value":[{"n":"主机游戏","v":"236"},{"n":"我的世界","v":"216"},{"n":"独立游戏","v":"283"},{"n":"怀旧游戏","v":"237"},{"n":"猛兽派对","v":"384"},{"n":"赛博朋克2077","v":"402"},{"n":"星空","v":"808"},{"n":"塞尔达传说","v":"308"},{"n":"苍翼:混沌效应","v":"798"},{"n":"命运2","v":"277"},{"n":"收获日3","v":"811"},{"n":"FC24","v":"830"},{"n":"机战佣兵VI境界天火","v":"800"},{"n":"暗黑破坏神Ⅳ","v":"780"},{"n":"匹诺曹的谎言","v":"812"},{"n":"博德之门3","v":"385"},{"n":"绝世好武功","v":"801"},{"n":"恐怖游戏","v":"276"},{"n":"DarkandDarker","v":"795"},{"n":"Warlander","v":"785"},{"n":"FORZA极限竞速","v":"302"},{"n":"边境","v":"763"},{"n":"生化危机","v":"721"},{"n":"最终幻想","v":"328"},{"n":"暗黑破坏神","v":"535"},{"n":"森林之子","v":"751"},{"n":"卧龙:苍天陨落","v":"700"},{"n":"红色警戒2","v":"693"},{"n":"策略游戏","v":"570"},{"n":"禁闭求生","v":"707"},{"n":"战神","v":"579"},{"n":"斯普拉遁3","v":"694"},{"n":"使命召唤19","v":"282"},{"n":"艾尔登法环","v":"555"},{"n":"聚会游戏","v":"636"},{"n":"DreadHunger","v":"591"},{"n":"战地风云","v":"597"},{"n":"糖豆人","v":"357"},{"n":"消逝的光芒2","v":"586"},{"n":"只狼","v":"245"},{"n":"怪物猎人","v":"578"},{"n":"宝可梦集换式卡牌游戏","v":"720"},{"n":"饥荒","v":"218"},{"n":"精灵宝可梦","v":"228"},{"n":"FIFA23","v":"708"},{"n":"全面战争:战锤3","v":"594"},{"n":"NBA2K","v":"362"},{"n":"帝国时代4","v":"548"},{"n":"植物大战僵尸","v":"309"},{"n":"格斗游戏","v":"433"},{"n":"荒野大镖客2","v":"226"},{"n":"重生细胞","v":"426"},{"n":"刺客信条","v":"227"},{"n":"恐鬼症","v":"387"},{"n":"以撒","v":"219"},{"n":"双人成行","v":"446"},{"n":"方舟","v":"295"},{"n":"仁王2","v":"313"},{"n":"鬼泣5","v":"244"},{"n":"枪火重生","v":"364"},{"n":"盗贼之海","v":"341"},{"n":"胡闹厨房","v":"507"},{"n":"体育游戏","v":"500"},{"n":"全境封锁2","v":"243"},{"n":"骑马与砍杀","v":"326"},{"n":"人类一败涂地","v":"270"},{"n":"无主之地3","v":"273"},{"n":"辐射76","v":"220"},{"n":"全面战争","v":"257"},{"n":"文字游戏","v":"583"},{"n":"恋爱模拟游戏","v":"592"},{"n":"泰拉瑞亚","v":"593"},{"n":"游戏速通","v":"678"},{"n":"Roblox","v":"753"},{"n":"雀魂麻将","v":"803"},{"n":"德州电锯","v":"834"},{"n":"其他单机","v":"235"}]}],
"1":[{"key":"area","name":"分区","value":[{"n":"聊天室","v":"740"},{"n":"视频唱见","v":"21"},{"n":"萌宅领域","v":"530"},{"n":"视频聊天","v":"145"},{"n":"舞见","v":"207"}]}],
"5":[{"key":"area","name":"分区","value":[{"n":"唱见电台","v":"190"},{"n":"聊天电台","v":"192"},{"n":"甜宠电台","v":"817"}]}],
"9":[{"key":"area","name":"分区","value":[{"n":"TopStar","v":"743"},{"n":"虚拟Singer","v":"744"},{"n":"虚拟Gamer","v":"745"},{"n":"虚拟声优","v":"746"},{"n":"虚拟日常","v":"371"},{"n":"虚拟APEX","v":"789"},{"n":"虚拟PK","v":"775"}]}],
"14":[{"key":"area","name":"分区","value":[{"n":"交友","v":"818"},{"n":"点唱","v":"819"},{"n":"兴趣","v":"820"}]}],
"11":[{"key":"area","name":"分区","value":[{"n":"社科法律心理","v":"376"},{"n":"人文历史","v":"702"},{"n":"校园学习","v":"372"},{"n":"职场·技能","v":"377"},{"n":"科技","v":"375"},{"n":"科学科普","v":"701"}]}],
"13":[{"key":"area","name":"分区","value":[{"n":"游戏赛事","v":"561"},{"n":"体育赛事","v":"562"},{"n":"赛事综合","v":"563"}]}],
"301":[{"key":"area","name":"分区","value":[{"n":"热门帮玩","v":"301000"},{"n":"手游帮玩","v":"301002"},{"n":"网游帮玩","v":"301003"},{"n":"单机帮玩","v":"301004"}]}],
"15":[{"key":"area","name":"分区","value":[{"n":"兵临城下","v":"814"},{"n":"功夫狂飙","v":"833"},{"n":"竞技玩法","v":"815"},{"n":"休闲玩法","v":"816"}]}]
},
detailUrl:'https://live.bilibili.com/fyid',//二级详情拼接链接(json格式用)
// detailUrl:'https://api.live.bilibili.com/xlive/web-room/v1/playUrl/playUrl?cid=fyid&platform=h5&otype=json&quality=0',//二级详情拼接链接(json格式用)
// searchUrl:'/x/web-interface/search/type?__refresh__=true&page=fypage&page_size=42&order=online&platform=pc&highlight=1&single_column=0&keyword=**&search_type=live&dynamic_offset=0&preload=true',
searchUrl:'https://api.bilibili.com/x/web-interface/search/type?search_type=live&keyword=**&page=fypage',
searchable:2,
quickSearch:0,
headers:{
"User-Agent":"PC_UA",
"Referer": "https://www.bilibili.com",
// "Cookie":"$bili_cookie"
"Cookie":"https://ghproxy.net/https://raw.githubusercontent.com/FongMi/CatVodSpider/main/txt/cookie.txt"
},
timeout:5000,
limit:8,
play_parse:true,
// play_json:[{re:'*', json:{jx:0, parse:1,header:JSON.stringify({"user-agent":"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"})}}],
// play_json:[{re:'*', json:{jx:0, parse:1,header:JSON.stringify({"user-agent":"uc_ua"})}}],
// play_json:0,
lazy:`js:
let ids = input.split('_');
let dan = 'https://api.bilibili.com/x/v1/dm/list.so?oid=' + ids[1];
let result = {};
let iurl = 'https://api.live.bilibili.com/room/v1/Room/playUrl?cid=' + ids[1] + '&' + ids[0];
let html = request(iurl);
let jRoot = JSON.parse(html);
let jo = jRoot['data'];
let ja = jo['durl'];
let purl = '';
if (ja.length > 0) {
purl = ja[0]['url']
}
result['parse'] = 0;
result['playUrl'] = '';
result['url'] = unescape(purl);
result['header'] = {
Referer: 'https://live.bilibili.com',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
};
result['danmaku'] = dan;
if (/h5/.test(ids[0])) {
result['contentType'] = '';
input = result
} else {
result['contentType'] = 'video/x-flv';
input = result
}
`,
double:false,
推荐:'*',
一级:'json:data.list;title;system_cover;uname;roomid',
// 二级:'*',
二级:"js:let aid=input.match(/\\/(\\d+)/)[1];log(aid);let html=request('https://api.live.bilibili.com/room/v1/Room/get_info?room_id='+aid);let jo=JSON.parse(html).data;let title=jo['title'];let pic=jo['keyframe'];let desc=jo['description'];let dire=jo['uid'];let typeName=jo['area_name'];let remark='在线人数:'+jo['online'];let vod={vod_id:aid,vod_name:title,vod_pic:pic,type_name:typeName,vod_area:'bililivedanmu',vod_remarks:remark,vod_actor:'直播间id-'+aid,vod_director:dire,vod_content:desc};vod['vod_play_from']='B站';vod['vod_play_url']='flv线路原画$platform=web&quality=4_'+aid+'#flv线路高清$platform=web&quality=3_'+aid+'#h5线路原画$platform=h5&quality=4_'+aid+'#h5线路高清$platform=h5&quality=3_'+aid;VOD=vod;",
// 搜索:'json:data.result.live_room;title;cover;uname;roomid',
搜索:'js:let html=request(input);let msg=JSON.parse(html).message;if(msg!=="0"){VODS=[{vod_name:KEY+"➢"+msg,vod_id:"no_data",vod_remarks:"别点,缺少bili_cookie",vod_pic:"https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg"}]}else{let videos=[];let vodList=JSON.parse(html).data.result.live_room;vodList.forEach(function(vod){let aid=vod["roomid"];let title="直播间:"+vod["title"].replace(\'<em class="keyword">\',"").replace("</em>","");let img="https:"+vod["user_cover"];let remark=vod["watched_show"]["text_small"]+" "+vod["uname"];videos.push({vod_id:aid,vod_name:title,vod_pic:img,vod_remarks:remark})});VODS=videos}',
// 预处理:'if(rule_fetch_params.headers.Cookie.startsWith("http")){rule_fetch_params.headers.Cookie=fetch(rule_fetch_params.headers.Cookie);setItem(RULE_CK,cookie)};log(rule_fetch_params.headers.Cookie)',
}
+48
View File
@@ -0,0 +1,48 @@
// 道长 drpy仓库 https://gitcode.net/qq_32394351/dr_py
// 道长 drpy安卓本地搭建说明 https://gitcode.net/qq_32394351/dr_py/-/blob/master/%E5%AE%89%E5%8D%93%E6%9C%AC%E5%9C%B0%E6%90%AD%E5%BB%BA%E8%AF%B4%E6%98%8E.md
// 道长 drpy写源 模板规则说明 https://gitcode.net/qq_32394351/dr_py#%E6%A8%A1%E6%9D%BF%E8%A7%84%E5%88%99%E8%AF%B4%E6%98%8E
// 道长 drpy写源 套模模版 https://gitcode.net/qq_32394351/dr_py/-/raw/master/js/%E6%A8%A1%E6%9D%BF.js
// 道长 drpy写源 相关视频教程 https://www.youtube.com/watch?v=AK7cN-fcwm4
// 道长 drpy写源 写源教学视频 https://t.me/fongmi_offical/54080/63553
// 海阔下载 https://haikuo.lanzoui.com/u/GoldRiver
// 影视TV 官方TG Drpy群 https://t.me/fongmi_offical/63689
// 影视TV 官方TG 下载 https://t.me/fongmi_release
var rule = {
title:'虎牙直播',
host:'https://www.huya.com',
homeUrl:'/cache.php?m=LiveList&do=getLiveListByPage&gameId=2168&tagAll=0&page=1',//用于"分类获取"和"推荐获取"
url:'/cache.php?m=LiveList&do=getLiveListByPage&gameId=fyfilter&tagAll=0&page=fypage',
class_name:'娱乐&网游&单机&手游',
class_url:'8&1&2&3',
detailUrl:'https://m.huya.com/fyid',//二级详情拼接链接(json格式用)
filterable: 1,
filter_url: '{{fl.area}}',
filter_def:{
8:{area:'2135'},
1:{area:'1'},
2:{area:'7601'},
3:{area:'2336'}
},
filter:{
"8":[{"key":"area","name":"分类","value":[{"n":"星秀","v":"1663"},{"n":"户外","v":"2165"},{"n":"一起看","v":"2135"},{"n":"二次元","v":"2633"},{"n":"虚拟偶像","v":"6055"},{"n":"旅游","v":"6791"},{"n":"娱乐天地","v":"100022"},{"n":"交友","v":"4079"},{"n":"放映厅","v":"6245"},{"n":"吃喝玩乐","v":"100044"},{"n":"组队","v":"5367"},{"n":"颜值","v":"2168"},{"n":"原创","v":"6861"},{"n":"体育","v":"2356"},{"n":"虎牙地方","v":"5123"},{"n":"美食","v":"2752"},{"n":"虎牙文化","v":"4089"},{"n":"音乐","v":"3793"},{"n":"趣分享","v":"5883"},{"n":"科技","v":"2408"},{"n":"直播购","v":"7759"},{"n":"派对","v":"7785"}] }],
"1":[{"key":"area","name":"分类","value":[{"n":"英雄联盟","v":"1"},{"n":"lol云顶之弈","v":"5485"},{"n":"守望先锋归来","v":"2174"},{"n":"超击突破","v":"7467"},{"n":"穿越火线","v":"4"},{"n":"地下城与勇士","v":"2"},{"n":"炉石传说","v":"393"},{"n":"魔兽世界","v":"8"},{"n":"DOTA2","v":"7"},{"n":"CS:GO","v":"862"},{"n":"CFHD","v":"6079"},{"n":"DOTA1","v":"6"},{"n":"QQ飞车","v":"9"},{"n":"问道","v":"107"},{"n":"魔兽争霸3","v":"4615"},{"n":"逆战","v":"135"},{"n":"梦三国","v":"489"},{"n":"坦克世界","v":"802"},{"n":"起凡:群雄逐鹿","v":"1612"},{"n":"神武4电脑版","v":"3227"},{"n":"堡垒之夜","v":"100117"},{"n":"英魂之刃","v":"1830"},{"n":"网游竞技","v":"100023"},{"n":"暴雪专区","v":"100043"},{"n":"射击综合游戏","v":"100141"},{"n":"军事游戏","v":"100133"},{"n":"御龙在天","v":"675"},{"n":"剑灵","v":"897"},{"n":"传奇","v":"983"},{"n":"永恒之塔","v":"446"},{"n":"彩虹岛Online","v":"683"},{"n":"传奇类游戏","v":"2060"},{"n":"逆水寒","v":"2952"},{"n":"炉石战棋","v":"5751"},{"n":"诛仙3","v":"1646"},{"n":"体育游戏","v":"100135"},{"n":"冒险岛","v":"2243"},{"n":"龙之谷","v":"15"},{"n":"生死狙击2","v":"6091"},{"n":"热血江湖","v":"387"},{"n":"星际战甲","v":"627"},{"n":"反恐精英Online","v":"1918"},{"n":"枪神纪","v":"496"},{"n":"QQ三国","v":"1090"},{"n":"战舰世界","v":"1947"},{"n":"刀剑英雄","v":"915"},{"n":"九阴真经","v":"1009"},{"n":"NBA2KOL系列","v":"3959"},{"n":"寻仙","v":"734"},{"n":"星际争霸","v":"5"},{"n":"荒野行动PC版","v":"3185"},{"n":"QQ华夏","v":"1878"},{"n":"征途","v":"2715"},{"n":"铁甲雄兵","v":"2765"},{"n":"跑跑卡丁车","v":"162"},{"n":"武林外传一世琴缘","v":"1661"},{"n":"斗战神","v":"591"},{"n":"剑网3","v":"900"},{"n":"天涯明月刀","v":"1219"},{"n":"暗黑破坏神","v":"1123"},{"n":"反恐行动online","v":"861"},{"n":"QQ自由幻想","v":"1862"},{"n":"FIFA Online系列","v":"100079"},{"n":"丝路传说2","v":"1026"},{"n":"生死狙击","v":"2471"},{"n":"失落的方舟","v":"3058"},{"n":"完美端游系列","v":"3034"},{"n":"征途2","v":"677"},{"n":"天翼决","v":"779"},{"n":"大话西游2","v":"2975"},{"n":"梦想世界3","v":"486"},{"n":"流放之路","v":"427"},{"n":"千年3","v":"878"},{"n":"激战2","v":"406"},{"n":"神泣","v":"2531"},{"n":"新倩女幽魂","v":"1579"},{"n":"大唐无双零","v":"1584"},{"n":"VALORANT","v":"5937"},{"n":"造梦西游OL","v":"6815"},{"n":"战地之王","v":"618"},{"n":"完美世界:诸神之战","v":"7217"},{"n":"诛仙世界","v":"7749"},{"n":"命运2","v":"2942"},{"n":"QQ仙侠传","v":"2291"},{"n":"战争雷霆","v":"624"},{"n":"天下","v":"1597"},{"n":"QQ炫舞","v":"2440"},{"n":"泡泡堂","v":"440"},{"n":"FIFA Online4","v":"3683"},{"n":"真·三国无双OL","v":"324"},{"n":"坦克大战","v":"4359"},{"n":"天谕","v":"1899"},{"n":"街头篮球","v":"206"},{"n":"赛尔号","v":"2755"},{"n":"劲舞团","v":"2420"},{"n":"战意","v":"2599"},{"n":"天命西游","v":"1086"},{"n":"新飞飞(FlyFF)","v":"1582"},{"n":"洛奇英雄传","v":"432"},{"n":"装甲战争","v":"2276"},{"n":"QQ幻想","v":"2419"},{"n":"蜀门","v":"4711"},{"n":"全球使命3","v":"2953"},{"n":"使命召唤:战区","v":"5911"},{"n":"疾风之刃","v":"334"},{"n":"星辰变","v":"553"},{"n":"极光世界 弑神传","v":"514"},{"n":"希望OL","v":"1161"},{"n":"诺亚传说","v":"190"},{"n":"剑侠世界","v":"903"},{"n":"起凡游戏三国争霸","v":"11"},{"n":"天堂","v":"1966"},{"n":"虎豹骑","v":"2670"},{"n":"超激斗梦境","v":"5691"},{"n":"火线精英","v":"2550"},{"n":"新剑侠情缘","v":"586"},{"n":"QQ幻想世界","v":"2897"},{"n":"轩辕传奇","v":"159"},{"n":"上古世纪","v":"1046"},{"n":"枪火重生","v":"6077"},{"n":"成吉思汗3","v":"641"},{"n":"FF14","v":"1111"},{"n":"蜀山:初章","v":"7761"},{"n":"笑傲江湖","v":"288"},{"n":"炫舞时代","v":"3353"},{"n":"千古风流","v":"7155"},{"n":"刀剑2","v":"1867"},{"n":"天书奇谈","v":"2225"},{"n":"鹿鼎记","v":"45"},{"n":"古剑奇谭OL","v":"1892"},{"n":"风暴英雄","v":"1450"},{"n":"使命召唤:黑色行动4","v":"4429"},{"n":"全球使命","v":"939"},{"n":"远征Online梦想版","v":"142"},{"n":"无限法则","v":"3189"},{"n":"灵域","v":"1655"},{"n":"破月勇者","v":"7799"},{"n":"兵王","v":"933"},{"n":"闪烁之光","v":"7455"},{"n":"舞侠OL","v":"242"},{"n":"龙珠战士z","v":"3523"},{"n":"QQ音速","v":"1085"},{"n":"项羽OL","v":"1893"},{"n":"梦幻龙族II","v":"1524"},{"n":"新挑战","v":"583"},{"n":"The cycle","v":"6127"},{"n":"300英雄","v":"1132"},{"n":"新惊天动地","v":"1828"},{"n":"封印者","v":"2294"},{"n":"奇迹世界2","v":"766"},{"n":"EVE Online","v":"1292"},{"n":"骑士3.0","v":"1297"},{"n":"黄易群侠传2","v":"42"},{"n":"DJMAX三部曲","v":"1122"},{"n":"黑色沙漠","v":"1877"},{"n":"神武2","v":"305"},{"n":"斗破苍穹","v":"590"},{"n":"热血江湖2","v":"386Line truncated
"2":[{"key":"area","name":"分类","value":[{"n":"Dread Hunger","v":"7601"},{"n":"天天吃鸡","v":"2793"},{"n":"永劫无间","v":"6219"},{"n":"主机游戏","v":"100032"},{"n":"我的世界","v":"1732"},{"n":"方舟","v":"1997"},{"n":"单机热游","v":"100002"},{"n":"互动点播","v":"5907"},{"n":"Apex英雄","v":"5011"},{"n":"俄罗斯钓鱼4","v":"5495"},{"n":"逃离塔科夫","v":"3493"},{"n":"部落:上升","v":"1318"},{"n":"怀旧游戏","v":"100125"},{"n":"恐鬼症","v":"6205"},{"n":"恐惧之间","v":"6679"},{"n":"饥荒","v":"74"},{"n":"怪物猎人物语","v":"7101"},{"n":"怪物猎人:崛起","v":"6479"},{"n":"欧洲卡车模拟","v":"475"},{"n":"荒野大镖客2","v":"4319"},{"n":"骑马与砍杀系列","v":"4783"},{"n":"纸人","v":"5257"},{"n":"糖豆人:终极淘汰赛","v":"6083"},{"n":"DayZ独立版","v":"1125"},{"n":"SCUM","v":"4245"},{"n":"育碧游戏","v":"100139"},{"n":"怪物猎人世界","v":"3519"},{"n":"艾尔登法环","v":"5801"},{"n":"港诡实录","v":"5853"},{"n":"禁闭求生","v":"6065"},{"n":"十三月","v":"7823"},{"n":"星球大战系列","v":"554"},{"n":"甜蜜之家","v":"6739"},{"n":"战地5","v":"4371"},{"n":"互动剧游","v":"6919"},{"n":"只狼:影逝二度","v":"4505"},{"n":"洛克王国","v":"2864"},{"n":"使命召唤系列","v":"100137"},{"n":"帝国神话","v":"6821"},{"n":"三国志","v":"2270"},{"n":"极限竞速:地平线","v":"2634"},{"n":"都市:天际线","v":"2201"},{"n":"神秘海域4","v":"2486"},{"n":"帝国时代4","v":"4835"},{"n":"全境封锁","v":"2342"},{"n":"鬼谷八荒","v":"6571"},{"n":"流放者柯南","v":"2772"},{"n":"双人成行","v":"6737"},{"n":"战术小队","v":"2360"},{"n":"FIFA 23","v":"7789"},{"n":"刺客信条","v":"1962"},{"n":"Among Us","v":"6163"},{"n":"盗贼之海","v":"3641"},{"n":"仁王2","v":"5795"},{"n":"海底大作战","v":"3101"},{"n":"幽灵线:东京","v":"7669"},{"n":"奥拉星","v":"2846"},{"n":"摔跤城大乱斗","v":"7773"},{"n":"任天堂专区","v":"100087"},{"n":"漫漫长夜","v":"2303"},{"n":"奥奇传说","v":"2848"},{"n":"其他单机","v":"3069"},{"n":"轩辕剑7","v":"6199"},{"n":"罗布乐思","v":"5771"},{"n":"全面战争:三国","v":"3004"},{"n":"仙剑奇侠传七","v":"6509"},{"n":"瘟疫传说:安魂曲","v":"7811"},{"n":"灵魂筹码","v":"4059"},{"n":"全面战争","v":"3521"},{"n":"缺氧","v":"2884"},{"n":"九霄缳神记","v":"5941"},{"n":"死亡之夜","v":"6129"},{"n":"归家异途","v":"2949"},{"n":"真三国无双","v":"1599"},{"n":"人类一败涂地","v":"3289"},{"n":"星露谷物语","v":"2443"},{"n":"神秘海域","v":"2108"},{"n":"英雄连","v":"232"},{"n":"岛","v":"3019"},{"n":"Factorio","v":"2750"},{"n":"散兵坑","v":"3005"},{"n":"石油骚动","v":"2585"},{"n":"Party Animals","v":"6165"},{"n":"环世界","v":"4865"},{"n":"消逝的光芒2","v":"7581"},{"n":"女神异闻录","v":"3981"},{"n":"猎人:荒野的召唤","v":"2906"},{"n":"魔法门之英雄无敌系列","v":"2096"},{"n":"对马岛之魂","v":"6039"},{"n":"无尽传奇","v":"4969"},{"n":"帝国时代系列","v":"708"},{"n":"火影忍者:究极风暴系列","v":"2424"},{"n":"暖雪","v":"7539"},{"n":"武装突袭","v":"465"},{"n":"宝可梦:剑盾","v":"5715"},{"n":"雷曼:传奇","v":"96"},{"n":"无主之地3","v":"4713"},{"n":"鬼泣","v":"3673"},{"n":"霓虹深渊","v":"5743"},{"n":"精灵宝可梦","v":"4061"},{"n":"乞丐模拟器","v":"3491"},{"n":"杀戮尖塔","v":"3601"},{"n":"最终幻想系列","v":"2454"},{"n":"艾兰岛","v":"3855"},{"n":"渡神记","v":"6231"},{"n":"看门狗:军团","v":"6155"},{"n":"辐射3","v":"153"},{"n":"戴森球计划","v":"6523"},{"n":"黑暗领域2","v":"29"},{"n":"音乐游戏","v":"2761"},{"n":"马里奥专区","v":"2120"},{"n":"哈迪斯","v":"6153"},{"n":"流星蝴蝶剑","v":"426"},{"n":"泰坦陨落","v":"1446"},{"n":"模拟农场","v":"2344"},{"n":"人间地狱","v":"5429"},{"n":"星际公民","v":"2371"},{"n":"奥日与黑暗森林","v":"1946"},{"n":"仙剑奇侠传四","v":"1659"},{"n":"微软模拟飞行2020","v":"6099"},{"n":"电竞传奇","v":"4489"},{"n":"四海兄弟","v":"5995"},{"n":"英灵神殿","v":"6609"},{"n":"旋转轮胎","v":"2984"},{"n":"太荒初境","v":"7685"},{"n":"永恒轮回","v":"6089"},{"n":"哥谭骑士","v":"7815"},{"n":"极品飞车系列","v":"1307"},{"n":"深海迷航","v":"3589"},{"n":"幽灵行动:荒野","v":"2794"},{"n":"足球小将","v":"6103"},{"n":"蔑视","v":"7819"},{"n":"仙剑奇侠传二","v":"1860"},{"n":"塞尔达传说:荒野之息","v":"2924"},{"n":"攻城掠地","v":"1737"},{"n":"X-plane","v":"2144"},{"n":"麋鹿猎人","v":"44"},{"n":"乐高大电影:游戏版","v":"1439"},{"n":"了不起的修仙模拟器","v":"4867"},{"n":"恶魔之魂","v":"6151"},{"n":"足球之王","v":"164"},{"n":"吸血鬼幸存者","v":"7621"},{"n":"Stray","v":"7745"},{"n":"黎明传说","v":"39"},{"n":"骷髅女孩","v":"67"},{"n":"齐格弗瑞克","v":"21"},{"n":"深海搁浅","v":"3607"},{"n"Line truncated
"3":[{"key":"area","name":"分类","value":[{"n":"王者荣耀","v":"2336"},{"n":"和平精英","v":"3203"},{"n":"暗区突围","v":"7209"},{"n":"逆水寒手游","v":"7725"},{"n":"环形战争","v":"7555"},{"n":"英雄联盟手游","v":"6203"},{"n":"金铲铲之战","v":"7185"},{"n":"小小蚁国","v":"7803"},{"n":"英雄联盟电竞经理","v":"7177"},{"n":"综合手游","v":"100029"},{"n":"新游广场","v":"100052"},{"n":"CF手游","v":"2413"},{"n":"QQ飞车手游","v":"2928"},{"n":"火影忍者手游","v":"2429"},{"n":"欢乐麻将","v":"1751"},{"n":"中国象棋","v":"1671"},{"n":"三国杀","v":"1669"},{"n":"天天狼人","v":"2774"},{"n":"欢乐斗地主","v":"1749"},{"n":"问道手游","v":"2477"},{"n":"部落冲突","v":"1797"},{"n":"皇室战争","v":"2439"},{"n":"忍者必须死3","v":"4041"},{"n":"手游休闲","v":"100004"},{"n":"原神","v":"5489"},{"n":"动作游戏","v":"100197"},{"n":"MMORPG","v":"100273"},{"n":"棋牌桌游","v":"100036"},{"n":"天龙八部手游","v":"2852"},{"n":"王者模拟战","v":"5699"},{"n":"战争冲突","v":"7449"},{"n":"虎牙领主争霸","v":"7529"},{"n":"一起玩","v":"6613"},{"n":"明日之后","v":"3483"},{"n":"二次元手游","v":"100091"},{"n":"COD手游","v":"4769"},{"n":"狼人杀手游","v":"100049"},{"n":"神武4手游","v":"3135"},{"n":"暗黑破坏神:不朽","v":"6385"},{"n":"跑跑卡丁车手游","v":"2620"},{"n":"球球大作战","v":"2411"},{"n":"第五人格","v":"3115"},{"n":"天涯明月刀手游","v":"5115"},{"n":"幻塔","v":"6437"},{"n":"英雄杀","v":"2688"},{"n":"DNF手游","v":"4921"},{"n":"狼人杀","v":"2785"},{"n":"阴阳师","v":"2598"},{"n":"奶块","v":"2775"},{"n":"御龙在天手游","v":"2568"},{"n":"三国志战略版","v":"5619"},{"n":"传奇手游","v":"3130"},{"n":"迷你世界","v":"2683"},{"n":"斗罗大陆:魂师对决","v":"6745"},{"n":"巅峰战舰","v":"2502"},{"n":"SKY光遇","v":"3719"},{"n":"火炬之光:无限","v":"6399"},{"n":"多乐棋牌","v":"6209"},{"n":"最强NBA","v":"2988"},{"n":"荒野乱斗","v":"4613"},{"n":"崩坏3","v":"2639"},{"n":"天天吃鸡手机版","v":"4341"},{"n":"时空猎人3","v":"6411"},{"n":"天天象棋","v":"4997"},{"n":"妄想山海","v":"6007"},{"n":"英魂之刃口袋版","v":"2760"},{"n":"JJ棋牌","v":"3841"},{"n":"蛋仔派对","v":"6909"},{"n":"极无双2","v":"7825"},{"n":"天谕手游","v":"5925"},{"n":"完美世界手游","v":"4237"},{"n":"云上城之歌","v":"5977"},{"n":"创造与魔法","v":"2931"},{"n":"逃跑吧!少年","v":"4137"},{"n":"精灵盛典:黎明","v":"6123"},{"n":"斗破苍穹手游","v":"4337"},{"n":"诛仙手游","v":"2647"},{"n":"航海王:燃烧意志","v":"3943"},{"n":"武侠乂手游","v":"4929"},{"n":"哈利波特:魔法觉醒","v":"5835"},{"n":"奇迹MU:觉醒","v":"3116"},{"n":"新笑傲江湖","v":"5669"},{"n":"多多自走棋","v":"5133"},{"n":"香肠派对","v":"3639"},{"n":"三国战纪2","v":"6049"},{"n":"王牌竞速","v":"6463"},{"n":"率土之滨","v":"2691"},{"n":"三国战纪","v":"6047"},{"n":"倩女幽魂手游","v":"2503"},{"n":"永恒纪元:戒","v":"2646"},{"n":"新剑侠情缘手游","v":"6259"},{"n":"北凉悍刀行","v":"7781"},{"n":"狼人杀官方","v":"3679"},{"n":"FIFA足球世界","v":"3873"},{"n":"征途2手游","v":"2811"},{"n":"航海王热血航线","v":"6181"},{"n":"弹弹堂手游","v":"2857"},{"n":"万国觉醒","v":"6159"},{"n":"深空之眼","v":"6877"},{"n":"全民枪战2","v":"3027"},{"n":"无尽的拉格朗日","v":"6809"},{"n":"天天酷跑","v":"1715"},{"n":"方舟手游","v":"4035"},{"n":"魔力宝贝","v":"2891"},{"n":"无神之界","v":"6767"},{"n":"决战平安京","v":"3064"},{"n":"火影忍者OL","v":"3901"},{"n":"剑侠世界3","v":"7183"},{"n":"寻仙手游","v":"2979"},{"n":"拳皇命运","v":"3379"},{"n":"指尖四川麻将","v":"7215"},{"n":"一拳超人正义执行","v":"6951"},{"n":"梦幻新诛仙","v":"5975"},{"n":"不良人3","v":"5891"},{"n":"王牌战争:文明重启","v":"5479"},{"n":"Badlanders","v":"6507"},{"n":"九灵神域","v":"7719"},{"n":"植物大战僵尸","v":"485"},{"n":"龙之谷2手游","v":"2736"},{"n":"绝世仙王","v":"6619"},{"n":"海岛奇兵","v":"2624"},{"n":"明日方舟","v":"4925"},{"n":"红警OL","v":"4413"},{"n":"风云","v":"3061"},{"n":"庆余年手游","v":"6939"},{"n":"真三国无双霸","v":"6071"},{"n":"单机手游","v":"2777"},{"n":"轩辕传奇手游","v":"2927"},{"n":"军棋","v":"2561"},{"n":"征途手游","v":"2556"},{"n":"元气骑士","v":"4287"},{"n":"剑灵:革命","v":"4545"},{"n":"一念逍遥","v":"6419"},{"n":"热血江湖手游","v":"2817"},{"n":"混沌起源","v":"5985"},{"n":"猎魂觉醒","v":"3071"},{"n":"我叫MT4","v":"4087"},{"n":"黑色沙漠手游","v":"7287"},{"n":"虎牙球球","v":"7451"},{"n":"青云诀2","v":"6009"},{"n":"Lost Light(萤火突击国际服)","v":"6859"},{"n":"一梦江湖","v":"3082"},{"n":"黑暗与光明手游","v":"6635"},{"n":"游戏王:决斗链接","v":"4451"},{"n":"鸿Line truncated
},
searchUrl:'https://search.cdn.huya.com/?m=Search&do=getSearchContent&q=**&uid=0&v=4&typ=-5&livestate=0&rows=40&start=0',
searchable:2,
quickSearch:0,
headers:{
'User-Agent':'MOBILE_UA'
},
timeout:5000,
limit:8,
play_parse:true,
// lazy:"js:let rid=input.match(/\\/(\\d+)/)[1];log(rid);let purl=JSON.parse(request('https://mp.huya.com/cache.php?m=Live&do=profileRoom&roomid='+rid)).data.stream.baseSteamInfoList[0].sStreamName;log(purl);let rurl='http://txtest-xp2p.p2p.huya.com/src/'+purl+'.xs?ratio=4000';input={jx:0,url:rurl,parse:0}",
lazy:"js:let rid=input.match(/\\/(\\d+)/)[1];function getRealUrl(live_url){let[i,b]=live_url.split('?');let r=i.split('/').pop();let s=r.replace(/\.(flv|m3u8)/,'');let c_tmp=b.split('&').filter(n=>n);let n={};let c_tmp2=[];c_tmp.forEach(function(tmp,index){if(index<3){n[tmp.split('=')[0]]=tmp.split('=')[1]}else{c_tmp2.push(tmp)}});let tmp2=c_tmp2.join('&');n[tmp2.split('=')[0]]=tmp2.split('=')[1];let fm=decodeURIComponent(n.fm).split('&')[0];let u=base64Decode(fm);let p=u.split('_')[0];let f=new Date().getTime()+'0000';let ll=n.wsTime;let t='0';let h=[p,t,s,f,ll].join('_');let m=md5(h);return(i+'?wsSecret='+m+'&wsTime='+ll+'&u='+t+'&seqid='+f+'&'+c_tmp2.pop()).replace('hls','flv').replace('m3u8','flv')}let purl=JSON.parse(request('https://mp.huya.com/cache.php?m=Live&do=profileRoom&roomid='+rid)).data.stream.flv.multiLine[0].url;input={jx:0,url:getRealUrl(purl),parse:0,header:JSON.stringify({'user-agent':'Mozilla/5.0'})}",
推荐:'*',
一级:'json:data.datas;introduction;screenshot;nick;profileRoom',
二级:'*',
搜索:'json:response.3.docs;game_roomName;game_screenshot;game_nick;room_id',
}
+150
View File
@@ -0,0 +1,150 @@
/**
* 影视TV 超連結跳轉支持
* https://t.me/fongmi_offical/
* https://github.com/FongMi/Release/tree/main/apk
*/
var rule = {
title: '荐片',
host: 'http://api2.rinhome.com',
homeUrl: '/api/tag/hand?code=unknown601193cf375db73d&channel=wandoujia',//网站的首页链接,用于分类获取和推荐获取
// url:'/api/crumb/list?area=0&category_id=fyclass&page=fypage&type=0&limit=24&fyfilter',
url: '/api/crumb/list?page=fypage&type=0&limit=24&fyfilter',
class_name: '全部&电影&电视剧&动漫&综艺', // 筛选 /api/term/ad_fenlei?limit=10&page=1
class_url: '0&1&2&3&4',
detailUrl: '/api/node/detail?channel=wandoujia&token=&id=fyid',//二级详情拼接链接(json格式用)
searchUrl: '/api/video/search?key=**&page=fypage',
searchable: 2,
quickSearch: 0,
filterable: 1,
filter: {
"0":[{"key":"area","name":"地區","value":[{"n":"全部","v":"0"},{"n":"国产","v":"1"},{"n":"中国香港","v":"3"},{"n":"中国台湾","v":"6"},{"n":"美国","v":"5"},{"n":"韩国","v":"18"},{"n":"日本","v":"2"}]},{"key":"year","name":"年代","value":[{"n":"全部","v":"0"},{"n":"2023","v":"153"},{"n":"2022","v":"101"},{"n":"2021","v":"118"},{"n":"2020","v":"16"},{"n":"2019","v":"7"},{"n":"2018","v":"2"},{"n":"2017","v":"3"},{"n":"2016","v":"22"}]},{"key":"sort","name":"排序","value":[{"n":"热门","v":"hot"},{"n":"评分","v":"rating"},{"n":"更新","v":"update"}]}],
"1":[{"key":"cateId","name":"分类","value":[{"n":"全部","v":"1"},{"n":"首推","v":"5"},{"n":"动作","v":"6"},{"n":"喜剧","v":"7"},{"n":"战争","v":"8"},{"n":"恐怖","v":"9"},{"n":"剧情","v":"10"},{"n":"爱情","v":"11"},{"n":"科幻","v":"12"},{"n":"动画","v":"13"}]},{"key":"area","name":"地區","value":[{"n":"全部","v":"0"},{"n":"国产","v":"1"},{"n":"中国香港","v":"3"},{"n":"中国台湾","v":"6"},{"n":"美国","v":"5"},{"n":"韩国","v":"18"},{"n":"日本","v":"2"}]},{"key":"year","name":"年代","value":[{"n":"全部","v":"0"},{"n":"2023","v":"153"},{"n":"2022","v":"101"},{"n":"2021","v":"118"},{"n":"2020","v":"16"},{"n":"2019","v":"7"},{"n":"2018","v":"2"},{"n":"2017","v":"3"},{"n":"2016","v":"22"}]},{"key":"sort","name":"排序","value":[{"n":"热门","v":"hot"},{"n":"评分","v":"rating"},{"n":"更新","v":"update"}]}],
"2":[{"key":"cateId","name":"分类","value":[{"n":"全部","v":"2"},{"n":"首推","v":"14"},{"n":"国产","v":"15"},{"n":"港台","v":"16"},{"n":"日韩","v":"17"},{"n":"海外","v":"18"}]},{"key":"area","name":"地區","value":[{"n":"全部","v":"0"},{"n":"国产","v":"1"},{"n":"中国香港","v":"3"},{"n":"中国台湾","v":"6"},{"n":"美国","v":"5"},{"n":"韩国","v":"18"},{"n":"日本","v":"2"}]},{"key":"year","name":"年代","value":[{"n":"全部","v":"0"},{"n":"2023","v":"153"},{"n":"2022","v":"101"},{"n":"2021","v":"118"},{"n":"2020","v":"16"},{"n":"2019","v":"7"},{"n":"2018","v":"2"},{"n":"2017","v":"3"},{"n":"2016","v":"22"}]},{"key":"sort","name":"排序","value":[{"n":"热门","v":"hot"},{"n":"评分","v":"rating"},{"n":"更新","v":"update"}]}],
"3":[{"key":"cateId","name":"分类","value":[{"n":"全部","v":"3"},{"n":"首推","v":"19"},{"n":"海外","v":"20"},{"n":"日本","v":"21"},{"n":"国产","v":"22"}]},{"key":"area","name":"地區","value":[{"n":"全部","v":"0"},{"n":"国产","v":"1"},{"n":"中国香港","v":"3"},{"n":"中国台湾","v":"6"},{"n":"美国","v":"5"},{"n":"韩国","v":"18"},{"n":"日本","v":"2"}]},{"key":"year","name":"年代","value":[{"n":"全部","v":"0"},{"n":"2023","v":"153"},{"n":"2022","v":"101"},{"n":"2021","v":"118"},{"n":"2020","v":"16"},{"n":"2019","v":"7"},{"n":"2018","v":"2"},{"n":"2017","v":"3"},{"n":"2016","v":"22"}]},{"key":"sort","name":"排序","value":[{"n":"热门","v":"hot"},{"n":"评分","v":"rating"},{"n":"更新","v":"update"}]}],
"4":[{"key":"cateId","name":"分类","value":[{"n":"全部","v":"4"},{"n":"首推","v":"23"},{"n":"国产","v":"24"},{"n":"海外","v":"25"},{"n":"港台","v":"26"}]},{"key":"area","name":"地區","value":[{"n":"全部","v":"0"},{"n":"国产","v":"1"},{"n":"中国香港","v":"3"},{"n":"中国台湾","v":"6"},{"n":"美国","v":"5"},{"n":"韩国","v":"18"},{"n":"日本","v":"2"}]},{"key":"year","name":"年代","value":[{"n":"全部","v":"0"},{"n":"2023","v":"153"},{"n":"2022","v":"101"},{"n":"2021","v":"118"},{"n":"2020","v":"16"},{"n":"2019","v":"7"},{"n":"2018","v":"2"},{"n":"2017","v":"3"},{"n":"2016","v":"22"}]},{"key":"sort","name":"排序","value":[{"n":"热门","v":"hot"},{"n":"评分","v":"rating"},{"n":"更新","v":"update"}]}]
},
filter_url: 'area={{fl.area or "0"}}&sort={{fl.sort or "update"}}&year={{fl.year or "0"}}&category_id={{fl.cateId}}',
filter_def: {
0:{cateId:'0'},
1:{cateId:'1'},
2:{cateId:'2'},
3:{cateId:'3'},
4:{cateId:'4'}
},
headers: {
'User-Agent': 'jianpian-android/350',
'JPAUTH': 'y261ow7kF2dtzlxh1GS9EB8nbTxNmaK/QQIAjctlKiEv'
},
timeout: 5000,
limit: 8,
play_parse: true,
play_json: [{
re: '*',
json: {
parse: 0,
jx: 0
}
}],
lazy: '',
图片来源: '@Referer=www.jianpianapp.com@User-Agent=jianpian-version353',
// 推荐:'json:.video;*;*;*;*',
推荐: `js:
var d = [];
let html = request(input);
html = JSON.parse(html).data[0].video;
html.forEach(it => {
d.push({
title: it.title,
img: it.path,
desc: it.playlist.title + ' ⭐' + it.score,
url: it.id
})
});
setResult(d);
`,
// 一级:'json:data;title;path;playlist.title;id',
一级: `js:
cateObj.tid = cateObj.tid+'';
if (cateObj.tid.endsWith('_clicklink')) {
cateObj.tid = cateObj.tid.split('_')[0];
input = HOST + '/api/video/search?key=' + cateObj.tid + '&page=' + + MY_PAGE;
}
var d = [];
let html = request(input);
html = JSON.parse(html).data;
html.forEach(it => {
d.push({
title: it.title,
img: it.thumbnail||it.path,
desc: (it.mask || it.playlist.title) + ' ⭐' + it.score,
url: it.id
})
});
setResult(d);
`,
二级: `js:
function getLink(data) {
let link = data.map(it => {
return '[a=cr:' + JSON.stringify({'id':it.name+'_clicklink','name':it.name}) + '/]' + it.name + '[/a]'
}).join(', ');
return link
}
try {
let html = request(input);
html = JSON.parse(html);
let node = html.data;
VOD = {
vod_id: node.id,
vod_name: node.title,
vod_pic: node.thumbnail,
type_name: node.types[0].name,
vod_year: node.year.title,
vod_area: node.area.title,
vod_remarks: node.score,
vod_actor: getLink(node.actors),
vod_director: getLink(node.directors),
vod_content: node.description.strip()
};
if (typeof play_url === 'undefined') {
var play_url = ''
}
let playMap = {};
if (node.have_ftp_ur == 1) {
playMap["边下边播,勤去清缓存"] = node.new_ftp_list.map(it => {
return it.title + "$" + (/m3u8/.test(it.url) ? play_url + it.url : "tvbox-xg:" + it.url)
}).join('#');
}
if (node.have_m3u8_ur == 1) {
playMap["在线点播普清版"] = node.new_m3u8_list.map(it => {
return it.title + "$" + (/m3u8/.test(it.url) ? play_url + it.url : "tvbox-xg:" + it.url)
}).join('#');
}
let playFrom = [];
let playList = [];
Object.keys(playMap).forEach(key => {
playFrom.append(key);
playList.append(playMap[key])
});
VOD.vod_play_from = playFrom.join('$$$');
VOD.vod_play_url = playList.join('$$$');
} catch (e) {
log("获取二级详情页发生错误:" + e.message);
}
`,
// 搜索:'json:data;*;thumbnail;mask;*',
搜索: `js:
var d = [];
let html = request(input);
html = JSON.parse(html).data;
html.forEach(it => {
d.push({
title: it.title,
img: it.thumbnail,
desc: it.mask + ' ⭐' + it.score,
url: it.id
})
});
setResult(d);
`,
}
+1
View File
@@ -0,0 +1 @@
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
+1
View File
@@ -0,0 +1 @@
H4sIAIioBmcC/4VTy24TMRTd8xVWhTIzJbEF3aCJAit+gMeqrSJn7GRcPGPXvpOHSLYgEAsW3UEXZUPFAgkJJKiE+jNpAn+B5xF1kgjqxYx9fc655869M6QGmUxy1EEvbiG3Fudni9PLEHm/X32+enPuNWvR+eWXxcnPEN0+shjUEzAiHfh+gDoPKnK+kqxHU1yy8fzi7fLiEwbasy6DhxPFXLKWO7cE8ASvNl77Jn4X+BhyDSaGrZZNqJSNxlMXq6izoHQKAiR39uc/Xv95/3J58v3q19f9Uu2wKiZWFhwiBtA2JGQ0GuG9IzbBkUoqRGakAxCRMj7GOtZkqBiBieZEMNKfRJJai2NIZIUvAl1Njc1T45QOe9QUhVkkRTgA/24QSvDvB21aus7fseH9NvEPDtidoK5mOTVR/GzTg7G2Oo0T+XDEOru7q+68+7D89vGGvkgOKE/ivqHhxxm34ItUZxC01yCl6Q7SrE/9HN9EnsvcaBRtqoEJQVIN/AK/ocEcf//wOlZgcF+ZRzSKHWPdWIlwFAHYcC1pxH1StHEqRfp8SjOIlZnqrMco8CnjNjJCg1ApGThzum5q5cA1sKwhT5eDQn7selBNzAaBYZ3Z2F93VJulmsxKoLmFLUbGPbZvcsPhppe94N9SkUqBp7DFufcfjhZRt7Cws7N+OasVW99bDo+5zdxQsuD6D5r9BWlL0cwQBAAA
+1
View File
@@ -0,0 +1 @@
T2JqZWN0LmFzc2lnbihtdWJhbi7pppblm74yLuS6jOe6pywgewogICAgdGFiczogJ2Rpdi5ib3R0b20tbGluZSBoMycsCn0pOwp2YXIgcnVsZSA9IHsKICAgIOaooeadvzogJ+mmluWbvjInLAogICAgdGl0bGU6ICfkurrkurrlvbHop4YnLAogICAgaG9zdDogJ2h0dHBzOi8vd3d3LnJ0dGtzLmNvbScsCiAgICB1cmw6ICcvcnJ0b3AvZnljbGFzc2Z5ZmlsdGVyLmh0bWwnLAogICAgZmlsdGVyX3VybDogJ3t7ZmwuYXJlYX19e3tmbC5ieX19L3BhZ2UvZnlwYWdle3tmbC55ZWFyfX0nLAogICAgZmlsdGVyOiAnSDRzSUFBQUFBQUFBQSsyV3kyN2FRQlNHMzhWckpNYWt1VFJ2MEdlb3NqQmdnVW5pcEZ6YW1paFNxMXdFb1ExdDFVQnBTQzlTQ0NBbHdpaTlFRWZBeXpCMmVJdU9ZWmc1bnE1WWRGTm1oLy92Y0dibTkvQWY5cFM0b1ptV1lTYVU5YWQ3eXFadUtldEtUTXZxVCtKS1NERzFiWjA4ZTkxNy9LVkVuZzNUeUpKbjh1bTV0cFhUSjE4eGlZQ1BXdU9EbGkvN2REOUUxV0xUUFRpaWF1clpMZ2VWT21FVXZFd0JjTklhOWVzVXhQTWNlSVV1YjZXQlZsN3pQYjY3cDJBenlZSDcrcDM3cWpJRFVRQUtuMFpPa1lLOHY4YUdqNlluMTlLNnhzK042elorNDh4OTdsSHZCcC8zOFdWelhEdW1MT3czRGxNcFdEZStxcm05VHFDT1NrSy9zdTNlRFlMOXBoTHpZbkJLNmdJVlZKcFZqTCsyeFFvcU1YZXFEYmQrSGFpZ0VxdTR0Y1VlVkdJVkZSdWZmTU1YMzRORlRHVzdhVis3RjQySHhuRGtmQTd1Q1FKMk45N2EyTGtLbm44cXpTb2VTbDF4WjFUaWV6LzdlKzluc0lKczBTME55WXNLTHNSVXRsWmo2SlZ2dkdJdHVCeFQyYnNiSG5yOXFsc0p2bUN1c3AwTmJrbDdYR2lMWGdRQXZLcVdycVg1VlhXcnY4YlZIM05mMVFpS1BKb3Q1emNNVHdSQWwwUzZCR2xFcEJGSVZaR3FrQ0tSSWtEVnh3SWxBcUJySWwyRGRGV2txNUN1aUhRRjBtV1JMa01xZXFWQ3IxVFJLeFY2cFlwZXFkQXJWZlJLaFY2cG9sY3E5QXFKWGlIb0ZSSzlRdEFySkhxRm9GZEk5QXBCcjVEb0ZSSGdCWTFhNEhxZWZzQk9lZTdyeVc3MVpKbW9GYzRhcEIzN2JUbU9hMzhFTkdsa00vd1gyam5FaFdOQU03R2R0Tzd2Y0NNMEdYcVpwSkhLL1lPcGQ5NGZPVTArM3hLeEZEOVByME15RzdBc1lOV0duOFdNcFpPQS9meU5MeXVjSlYrazVOaVNZMHVPTFRtMjVOaGFwTEcxWXlhMk5STU1MWm44TXZsbDhzdmtsOG4vZnlkL25pUy9aY2pnbDhFdmcxOEd2d3oraFFuK2xMR1YyelhrZjM0Wi9UTDZaZlRMNkYrWTZOLy9BNU9aeHVxYkh3QUEnLAogICAgc2VhcmNoVXJsOiAnL3JyY3oqKi9wYWdlL2Z5cGFnZS5odG1sJywKfQ==
+39
View File
@@ -0,0 +1,39 @@
var rule = {
title:'优酷',
host:'https://www.%79%6f%75%6b%75.com',
homeUrl:'',
searchUrl:'https://search.%79%6f%75%6b%75.com/api/search?pg=fypage&keyword=**',
searchable:2,
quickSearch:0,
filterable:1,
multi:1,
// 分类链接fypage参数支持1个()表达式
url:'/category/data?optionRefresh=1&pageNo=fypage&params=fyfilter',
// url:'/category/data?pageNo=fypage&params=fyfilter',
// filter_url:'&u=fyarea&s=fyyear={{fl.order}}',
// filter_url:'{{fl|safe}}',
filter_url:'{{fl}}',
// filter_url:'{{fl}}',
// filter_url:'{{fl}}',
filter:{"电视剧": [{"key": "main_area", "name": "全部地区", "value": [{"n": "全部地区", "v": ""}, {"n": "内地剧", "v": "中国内地"}, {"n": "港剧", "v": "中国香港"}, {"n": "台剧", "v": "中国台湾"}, {"n": "韩剧", "v": "韩国"}, {"n": "美剧", "v": "美国"}, {"n": "英剧", "v": "英国"}, {"n": "日剧", "v": "日本"}, {"n": "泰剧", "v": "泰国"}]}, {"key": "tags", "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": "历史"}, {"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-2011", "v": "2011-2014"}, {"n": "更早", "v": "-2010"}]}, {"key": "status", "name": "全部规格", "value": [{"n": "全部规格", "v": ""}, {"n": "全网独播", "v": "1"}, {"n": "优酷自制", "v": "2"}, {"n": "已完结", "v": "3"}, {"n": "即将上线", "v": "4"}, {"n": "短剧", "v": "5"}]}, {"key": "pay_type", "name": "付费类型", "value": [{"n": "付费类型", "v": ""}, {"n": "免费", "v": "0"}, {"n": "VIP", "v": "2"}, {"n": "付费", "v": "1"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "热度最高", "v": "7"}, {"n": "最新上线", "v": "1"}, {"n": "最好评", "v": "3"}, {"n": "最多播放", "v": "2"}]}], "电影": [{"key": "main_area", "name": "全部地区", "value": [{"n": "全部地区", "v": ""}, {"n": "内地", "v": "中国内地"}, {"n": "中国香港", "v": "中国香港"}, {"n": "中国台湾", "v": "中国台湾"}, {"n": "美国", "v": "美国"}, {"n": "印度", "v": "印度"}, {"n": "日韩", "v": "韩国,日本"}, {"n": "泰国", "v": "泰国"}, {"n": "欧洲", "v": "欧洲"}]}, {"key": "tags", "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": "纪录片"}, {"n": "传记", "v": "传记"}, {"n": "歌舞", "v": "歌舞"}, {"n": "短片", "v": "短片"}, {"n": "其他", "v": "其他"}]}, {"key": "source", "name": "全部规格", "value": [{"n": "全部规格", "v": ""}, {"n": "院线", "v": "1"}, {"n": "网络电影", "v": "0"}, {"n": "独播", "v": "2"}, {"n": "高清修复", "v": "3"}, {"n": "1080P", "v": "4"}]}, {"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-2010", "v": "2010-2014"}, {"n": "2009-2000", "v": "2000-2009"}, {"n": "90年代", "v": "1990-1999"}, {"n": "80年代", "v": "1980-1989"}, {"n": "70年代", "v": "1970-1979"}, {"n": "更早", "v": "-1969"}]}, {"key": "pay_type", "name": "付费类型", "value": [{"n": "付费类型", "v": ""}, {"n": "免费", "v": "0"}, {"n": "会员", "v": "2"}, {"n": "点播", "v": "1"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "热度最高", "v": "7"}, {"n": "最多播放", "v": "2"}, {"n": "最新上线", "v": "1"}, {"n": "最好评", "v": "3"}]}, {"key": "tag_label_name", "name": "为你推荐", "value": [{"n": "为你推荐", "v": ""}, {"n": "高分必看", "v": "高分必看"}, {"n": "卖座电影", "v": "卖座电影"}, {"n": "小说改编", "v": "小说改编"}, {"n": "铁血硬汉", "v": "铁血硬汉"}, {"n": "视效大片", "v": "视效大片"}, {"n": "漫画改编", "v": "漫画改编"}, {"n": "绝地求生", "v": "绝地求生"}, {"n": "真人真事改编", "v"Line truncated
headers:{
'User-Agent':'PC_UA',
'Cookie':'cna=VvNvGX3e0ywCAavVEXlnA2bg; __ysuid=1626676228345Rl1; __ayft=1652434048647; __arycid=dm-1-00; __arcms=dm-1-00; __ayvstp=85; __arpvid=1667204023100cWWdgM-1667204023112; __ayscnt=10; __aypstp=60; isg=BBwcqxvvk3BxkWQGugbLpUSf7TrOlcC_U7GAj_YdfYfvQbzLHqYGT4Hgp6m5TvgX; tfstk=c3JOByYUH20ilVucLOhh0pCtE40lZfGc-PjLHLLfuX7SWNyAiQvkeMBsIw7PWDC..; l=eBQguS-PjdJFGJT-BOfwourza77OSIRA_uPzaNbMiOCPOb1B5UxfW6yHp4T6C3GVhsGJR3rp2umHBeYBqQd-nxvOF8qmSVDmn',
},
timeout:5000,
class_name:'电视剧&电影&综艺&动漫&少儿&纪录片&文化&亲子&教育&搞笑&生活&体育&音乐&游戏',
class_url:'电视剧&电影&综艺&动漫&少儿&纪录片&文化&亲子&教育&搞笑&生活&体育&音乐&游戏',
limit:20,
play_parse:true,
// 手动调用解析请求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};',
lazy:'js:input={parse:1,jx:1,url:input};',
// 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
// 一级:'json:data.filterData.listData;title;img;subTitle;videoLink;summary',
一级:'',
一级:'js:let d=[];MY_FL.type=MY_CATE;let fl=stringify(MY_FL);fl=encodeUrl(fl);input=input.split("{")[0]+fl;if(MY_PAGE>1){let old_session=getItem("yk_session_"+MY_CATE,"{}");if(MY_PAGE===2){input=input.replace("optionRefresh=1","session="+encodeUrl(old_session))}else{input=input.replace("optionRefresh=1","session="+encodeUrl(old_session))}}let html=fetch(input,fetch_params);try{html=JSON.parse(html);let lists=html.data.filterData.listData;let session=html.data.filterData.session;session=stringify(session);if(session!==getItem("yk_session_"+MY_CATE,"{}")){setItem("yk_session_"+MY_CATE,session)}lists.forEach(function(it){let vid;if(it.videoLink.includes("id_")){vid=it.videoLink.split("id_")[1].split(".html")[0]}else{vid="msearch:"}d.push({title:it.title,img:it.img,desc:it.summary,url:"https://search.youku.com/api/search?appScene=show_episode&showIds="+vid,content:it.subTitle})})}catch(e){log("一级列表解析发生错误:"+e.message)}setResult(d);',
二级:'',
二级:'js:var d=[];VOD={};let html=request(input);let json=JSON.parse(html);if(/keyword/.test(input)){input="https://search.youku.com/api/search?appScene=show_episode&showIds="+json.pageComponentList[0].commonData.showId;json=JSON.parse(fetch(MY_URL,fetch_params))}let video_lists=json.serisesList;var name=json.sourceName;if(/优酷/.test(name)&&video_lists.length>0){let ourl="https://v.youku.com/v_show/id_"+video_lists[0].videoId+".html";let _img=video_lists[0].thumbUrl;let html=fetch(ourl,{headers:{Referer:"https://v.youku.com/","User-Agent":PC_UA}});let json=/__INITIAL_DATA__/.test(html)?html.split("window.__INITIAL_DATA__ =")[1].split(";")[0]:"{}";if(json==="{}"){log("触发了优酷人机验证");VOD.vod_remarks=ourl;VOD.vod_pic=_img;VOD.vod_name=video_lists[0].title.replace(/(\\d+)/g,"");VOD.vod_content="触发了优酷人机验证,本次未获取详情,但不影响播放("+ourl+")"}else{try{json=JSON.parse(json);let data=json.data.data;let data_extra=data.data.extra;let img=data_extra.showImgV;let model=json.data.model;let m=model.detail.data.nodes[0].nodes[0].nodes[0].data;let _type=m.showGenre;let _desc=m.updateInfo||m.subtitle;let JJ=m.desc;let _title=m.introTitle;VOD.vod_pic=img;VOD.vod_name=_title;VOD.vod_type=_type;VOD.vod_remarks=_desc;VOD.vod_content=JJ}catch(e){log("海报渲染发生错误:"+e.message);print(json);VOD.vod_remarks=name}}}if(!/优酷/.test(name)){VOD.vod_content="非自家播放源,暂无视频简介及海报";VOD.vod_remarks=name}function adhead(url){return urlencode(url)}play_url=play_url.replace("&play_url=","&type=json&play_url=");video_lists.forEach(function(it){let url="https://v.youku.com/v_show/id_"+it.videoId+".html";if(it.thumbUrl){d.push({desc:it.showVideoStage?it.showVideoStage.replace("期","集"):it.displayName,pic_url:it.thumbUrl,title:it.title,url:play_url+adhead(url)})}else if(name!=="优酷"){d.push({title:it.displayName?it.displayName:it.title,url:play_url+adhead(it.url)})}});VOD.vod_play_from=name;VOD.vod_play_url=d.map(function(it){return it.title+"$"+it.url}).join("#");',
搜索:'',
搜索:'js:var d=[];let html=request(input);let json=JSON.parse(html);json.pageComponentList.forEach(function(it){if(it.hasOwnProperty("commonData")){it=it.commonData;d.push({title:it.titleDTO.displayName,img:it.posterDTO.vThumbUrl,desc:it.stripeBottom,content:it.updateNotice+" "+it.feature,url:"https://search.youku.com/api/search?appScene=show_episode&showIds="+it.showId+"&appCaller=h5"})}});setResult(d);',
}
+1
View File
@@ -0,0 +1 @@
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 truncated
+27
View File
@@ -0,0 +1,27 @@
var rule = {
title: '六月听书',
host: 'http://m.6yueting.com',
url: '/ys/fyclass/o2/pfypage',
searchUrl: '/search/index/search?content=**&type=1&pageNum=fypage&pageSize=40',
searchable: 2,
quickSearch: 0,
filterable:0,//是否启用分类筛选,
headers:{'User-Agent':'MOBILE_UA'},
class_name:'全部分类&玄幻奇幻&修真武侠&恐怖灵异&古今言情&都市言情&穿越重生&粤语古仔&网游小说&通俗文学&历史纪实&军事&悬疑推理&ebc5系列&官场商战&儿童读物&广播剧&外文原版&评书大全&相声小品&百家讲坛&健康养生&教材&期刊头条&戏曲&脱口秀',
class_url:'t0&t1&t2&t3&t4&t28&t5&t6&t7&t11&t12&t13&t14&t18&t15&t16&t17&t22&t8&t9&t10&t20&t21&t23&t24&t27',
play_parse:true,
lazy:'',
limit:6,
图片来源:'@Referer=http://m.6yueting.com/@User-Agent=MOBILE_UA',
推荐:'*',
一级: '.list-wrapper&&.item-link;h2--span&&Text;img&&src;.status&&Text;a&&href',
二级:{
"title":".book-title&&Text;.text:eq(0)&&Text",
"img":".img&&src",
"desc":".text:eq(3)&&Text;;;.text:eq(1)&&Text;.text:eq(2)&&Text",
"content":".book-intro&&Text",
"tabs":".operate-bar&&.total-num",
"lists":".book-list:eq(#id)&&.list-item"
},
搜索:'js:let d=[];let MY_HOME="http://m.6yueting.com";let html=request(input);html=JSON.parse(html);let list=html.data.content;list.forEach(function(it){d.push({title:it.name.replace(/<.*?>/g,""),img:"http://img.6yueting.com:20001/"+it.coverUrlLocal,url:MY_HOME+"/list/"+it.code,desc:it.cdate,content:it.descXx.replace(/&nbsp;/g,"")})});setResult(d);',
}
+1
View File
@@ -0,0 +1 @@
H4sIAIioBmcC/22Qv07DMBCHZ/IUntqkND5GlIhnYIGtUuXEbm3kJJbt/AN1RQx9BQamMrCwRkK8DG15DJwQpA54Ofnu9306+zq5Y6nFxBixzv2sTEiOs0bpAn9122O3m6MHD7ljSbK0rLERmlJRhaHJiJSTyY1rTefeJoi9imikS8nQ1YgcXl8Oz58OGHwuNXiElcz19k/dcfu2/3j/3j2OI16YXs+tVSYCaA1Oa2Nw097DmCi1dAEQOWUNVlxBVVAwvKhBUFi1qXTPAEXWzF36grnN5MgaRnTKb/81DKNTEGoKs9kpPriXimjTb49zUiVEh8KyzCAporX1L4JIWv8yiMnvt/SVa7aKwV8s6HnwZzvzNj9JKAuRdQEAAA==
+1
View File
@@ -0,0 +1 @@
dmFyIHJ1bGUgPSB7CiAgdGl0bGU6ICfliqrliqrlvbHpmaInLAogIGhvc3Q6ICdodHRwOi8vd3d3LmlqaWFucGluLmNvbScsCiAgLy91cmw6ICcvdm9kc2hvdy9meWNsYXNzLS0tLS0tLS1meXBhZ2UtLS0vJywKICB1cmw6Jy92b2RzaG93L2Z5Y2xhc3MtZnlmaWx0ZXIvJywKICBzZWFyY2hVcmw6ICcvdm9kc2VhcmNoLyoqLS0tLS0tLS0tLWZ5cGFnZS0tLS8nLAogIHNlYXJjaGFibGU6IDIscXVpY2tTZWFyY2g6IDAsZmlsdGVyYWJsZTogMSwKICBoZWFkZXJzOiB7J1VzZXItQWdlbnQnOiAnTU9CSUxFX1VBJ30sCiAgY2xhc3NfcGFyc2U6ICcubmF2YmFyLWl0ZW1zIGxpOmd0KDApOmx0KDgpO2EmJlRleHQ7YSYmaHJlZjsuKi8oLio/KS8nLAogIGZpbHRlcl91cmw6ICd7e2ZsLmFyZWF9fS17e2ZsLmJ5fX0te3tmbC5jbGFzc319LS0tLS1meXBhZ2UtLS17e2ZsLnllYXJ9fScsCiAgcGxheV9wYXJzZTogdHJ1ZSxsaW1pdDogNixkb3VibGU6IHRydWUsCiAgbGF6eTogImpzOlxuICBsZXQgaHRtbCA9IHJlcXVlc3QoaW5wdXQpO1xuICBsZXQgaGNvbmYgPSBodG1sLm1hdGNoKC9yIHBsYXllcl8uKj89KC4qPyk8LylbMV07XG4gIGxldCBqc29uID0gSlNPTjUucGFyc2UoaGNvbmYpO1xuICBsZXQgdXJsID0ganNvbi51cmw7XG4gIGlmIChqc29uLmVuY3J5cHQgPT0gJzEnKSB7XG4gICAgdXJsID0gdW5lc2NhcGUodXJsKTtcbiAgfSBlbHNlIGlmIChqc29uLmVuY3J5cHQgPT0gJzInKSB7XG4gICAgdXJsID0gdW5lc2NhcGUoYmFzZTY0RGVjb2RlKHVybCkpO1xuICB9XG4gIGlmICgvXFwuKG0zdTh8bXA0fG00YXxtcDMpLy50ZXN0KHVybCkpIHtcbiAgICBpbnB1dCA9IHtcbiAgICAgIHBhcnNlOiAwLFxuICAgICAgang6IDAsXG4gICAgICB1cmw6IHVybCxcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIGlucHV0ID0gdXJsICYmIHVybC5zdGFydHNXaXRoKCdodHRwJykgJiYgdGVsbElzSngodXJsKSA/IHtwYXJzZTowLGp4OjEsdXJsOnVybH06aW5wdXQ7XG4gIH0iLAogIOaOqOiNkDogJy50YWItbGlzdC5hY3RpdmU7YS5tb2R1bGUtcG9zdGVyLWl0ZW0ubW9kdWxlLWl0ZW07Lm1vZHVsZS1wb3N0ZXItaXRlbS10aXRsZSYmVGV4dDsubGF6eWxvYWQmJmRhdGEtb3JpZ2luYWw7Lm1vZHVsZS1pdGVtLW5vdGUmJlRleHQ7YSYmaHJlZicsCiAg5LiA57qnOiAnYm9keSBhLm1vZHVsZS1wb3N0ZXItaXRlbS5tb2R1bGUtaXRlbTthJiZ0aXRsZTsubGF6eWxvYWQmJmRhdGEtb3JpZ2luYWw7Lm1vZHVsZS1pdGVtLW5vdGUmJlRleHQ7YSYmaHJlZicsCiAg5LqM57qnOiB7CiAgICB0aXRsZTogJ2gxJiZUZXh0Oy5tb2R1bGUtaW5mby10YWctbGluazplcSgtMSkmJlRleHQnLAogICAgaW1nOiAnLmxhenlsb2FkJiZkYXRhLW9yaWdpbmFsfHxkYXRhLXNyY3x8c3JjJywKICAgIGRlc2M6ICcubW9kdWxlLWluZm8taXRlbTplcSgtMikmJlRleHQ7Lm1vZHVsZS1pbmZvLXRhZy1saW5rJiZUZXh0Oy5tb2R1bGUtaW5mby10YWctbGluazplcSgxKSYmVGV4dDsubW9kdWxlLWluZm8taXRlbTplcSgyKSYmVGV4dDsubW9kdWxlLWluZm8taXRlbTplcSgxKSYmVGV4dCcsCiAgICBjb250ZW50OiAnLm1vZHVsZS1pbmZvLWludHJvZHVjdGlvbiYmVGV4dCcsCiAgICB0YWJzOiAnLm1vZHVsZS10YWItaXRlbScsCiAgICBsaXN0czogJy5tb2R1bGUtcGxheS1saXN0OmVxKCNpZCkgYScsCiAgICB0YWJfdGV4dDogJ2Rpdi0tc21hbGwmJlRleHQnLAogIH0sCiAg5pCc57SiOiAnYm9keSAubW9kdWxlLWl0ZW07Lm1vZHVsZS1jYXJkLWl0ZW0tdGl0bGUmJlRleHQ7Lmxhenlsb2FkJiZkYXRhLW9yaWdpbmFsOy5tb2R1bGUtaXRlbS1ub3RlJiZUZXh0O2EmJmhyZWY7Lm1vZHVsZS1pbmZvLWl0ZW0tY29udGVudCYmVGV4dCcsCiAgZmlsdGVyOidINHNJQUFBQUFBQUFBKzJZM1c0YVJ4VEg3L3NVRWRlKzJIV2FqK1pWcWx6UUdEbWtDWkZNM01xTkxObkdFQ0F1WU9UZ1VQQlhZeHZITlRiWXJndExnWmZabVlXMzZNRE0rVUF0SzlSYWxocHhCYi96MzVrOTU4ek9PYlA3TmpBWERrYVd3cEg1d0pOdjN3YStEeTBGbmdTZXZReEdvNEdaUUNUNEtxUlFwQ295RmxmOFEvRGxZbWg0WFdSZ2pwLzBZeWNrS2xOZ2VjWm9oYklTak5VQWFGNnlUaU1NZ0NaWGMzS2xZRFFET0dmNnhHMlhZVTROT0dkbFV6UmJNS2NHSE1jOU5JRDNTMzUwblJUY1R3Tm92ZXF4MkRnMW1nRzhYL3JDYTRObWdQbnBiYlhJendHZ2R2U08vRFNBdmxTUDNjNCsrS0lCeHlYeS9lSm5HS2NCeCsyZUtzOWhuQWJVMXM2OHdpWm9HbENMcGVYYUw2QnB3UGhhV1JGdlFId2FRT3Z2NU9YSEk2TVp3RGtMNzNvcEIrYlVnREYwenIydDMwVzdEbUVnNHhYWnc5NG5YQ2tOcUdVU0luc0ptZ1pjcVc1TzVSbFdTZ05scml4M05qRnpRMEJ0dmV2OUJwRVl3QXkwTjcxV2VjVGhFZFB5MDhHVmVyOEVGMEpCdGwzS05iSGhqTnN1S0k1c2w4Tkt2NWdBUnpSZ3VvK0xzbkVCNmRaQUNhdkpaZ2NUTmdRTW9KTVJwVGE0cmdHWDZlb0RhUVl3bWUvcnBCbkFjZHRIc253RzR6U2duM3VmYVp3Qld2by9TRE5BdnRTNEw3V1JjVC9YaEhNTTR6VGd1UFdzeXBSSXdxNGd4a2lPdWw2MjZxV0tFQXd5YmRWOStiNnJodUZ1QmNZcjRqZHVDd3FTQWI3MFM2SGdBbHY2NXJYYmFvOWJlaFQ1MHM5YXMxOGIyL0F2czk4biszMXVueVg3TExmYlpMZTUzU0s3eGV6Mk4yaFhmNW45TWRrZmMvc2pzai9pOW9ka2Y4anREOGorZ05zcFhwdkhhMU84Tm8vWHBuaHRIcTlOOGRvOFhwdml0WG04RnNWcjhYZ3RpdGZpOFZvVXI4WGp0U2hlaThkclVid1dqOWVpZU5WZi92Qjh0MFNQanN6a2haUDkyNk1qdDIvNjI5ZG1namRoZFNsTTdEcU9yRzBaNVhuNFRaU2UrNHQxa1lScUVuMzJlaUUwdU92VG1hL3UzUXZNUlYvY2JxUDNLZGwrelZYM0RiRjZJMkxaa1ZhaVRmeTg0SGVXRU9jM3dxbUNwbUhDSGozMkxPSFhvLzNPRW40ZHlxK2Z1czBENmxBR3FFZkhaUkdLdndHODM0Y0U5WDBEckh0UnpneE1XdEwrZXpkTHhKV0FMWGNJazNTSmY5dnAvTHFTZnhjYzMzbDh1MkNocGhxRjJEbkFjdzd3dEd0TXU4YVgyRFYrZWgyWlh3cmZhdVBvcjZTOHlncHNkZzI4NnEzdnNhcW5BTjA4Ny9acVNkaVlHbkJjdmlyVGNKNDNRRVVpTGh0UWdRMVFVYnB5bXprc1NrTmdCYVQvQ1h3eGdKcHpLczUzUWRPQTl5dGRzamNoRFRodWEwOWU0OXVxQmh6WGFNaGsxblh5OUVZellzSThYUCtxK2dqa1FRUE9VVi9yclc3QWFBMTNWdUZWMVZiMUdWMGZBcXZVcXVaVHBSNEFhbWNWbFY3UU5FeHI1clJtL2w5cjVweXFtYStDa1ZzdG1uNkYwZThUbUJlcjlnNmcyQnJBT1RNblhnNWlNSUJhYnRjN3c4OUhHcWdHalA4azFjdnQ5REp3OGplQWMrNGZpQkljMlExTWNpeVhaWWQ5NXRLQTkvUDVBT1QzRmlKcUtrMnc1Z2E0ZG5URk5BV1l6OE9PK3lkOE9qTkFyd0Y3SWxuQzE0QWgwSk4wS2FyUWFBemduS1cwTEVLbE5VQjVxWXZ1TnVabENIZDNuQysxWFFmZnZ6Uk1jdlQreDRJK1BTQlBpLzBYV095anp4ZURrZmtmUTVFNTlmdGlrUlg5dTNWbStTK1YyYmE3MEJrQUFBPT0nCn0=
+51
View File
@@ -0,0 +1,51 @@
var rule = {
title: '博看听书',
host: 'https://api.bookan.com.cn',
homeUrl: '/voice/book/list?instance_id=25304&page=1&category_id=1305&num=24',
url: '/voice/book/list?instance_id=25304&page=fypage&category_id=fyclass&num=24',
detailUrl: '/voice/album/units?album_id=fyid&page=1&num=200&order=1',
searchUrl: 'https://es.bookan.com.cn/api/v3/voice/book?instanceId=25304&keyword=**&pageNum=fypage&limitNum=20',
searchable: 2,
quickSearch: 0,
class_name: '少年读物&儿童文学&国学经典&文艺少年&育儿心经&心理哲学&青春励志&历史小说&故事会&音乐戏剧&相声评书',
class_url: '1305&1304&1320&1306&1309&1310&1307&1312&1303&1317&1319',
headers: {'User-Agent': 'MOBILE_UA'},
推荐: '*',
一级: 'json:data.list;name;cover;extra.author;id',
二级: `js:
let d = [];
VOD = {
vod_url: input,
vod_name: "",
vod_actor: "",
vod_year: "",
vod_director: ""
};
let playlists = [];
let data = JSON.parse(request(input)).data;
VOD.vod_name = data.list[0].id;
VOD.vod_actor = "▶️创建于" + data.list[0].created_at;
VOD.vod_year = data.list[0].created_at.split("-")[0];
VOD.vod_director = "▶️更新于" + data.list[0].updated_at;
let total = data.total;
playlists = data.list;
if (total > 200) {
for (let i = 2; i < total / 200 + 1; i++) {
let listUrl = input.split("&")[0] + "&page=" + i + "&num=200&order=1";
let data = JSON.parse(request(listUrl)).data;
playlists = playlists.concat(data.list)
}
}
playlists.forEach(function(it) {
d.push({
title: it.title,
url: it.file
})
});
VOD.vod_play_from = "bookan";
VOD.vod_play_url = d.map(function(it) {
return it.title + "$" + it.url
}).join("#");
`,
搜索: '*',
}
+1
View File
@@ -0,0 +1 @@
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
+1
View File
@@ -0,0 +1 @@
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
+1
View File
@@ -0,0 +1 @@
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
+1
View File
@@ -0,0 +1 @@
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 truncated
+1
View File
@@ -0,0 +1 @@
qz2VfkB3O9fqiff5MjJa/ASdotKRYPNu8cLtwdABO3MDeyNp8SITwKEVrcmMRsD6s0DQiKXK91uXHy81Bhzh8xPZzDl/A9cOXQrBxH+Qn2Zl2eNL3Ogzx+kAqZMq7TDGW7Ndfho+4VAcQyAx6N07mJYHA4x94WwszBgxbsp7GcesErxMHMjHWXdbImOCfpVcqeg26DzBb3cpa28wYefQF2s+fbNlwlWJeQnLBSLuK1wKAMahZyys0ERilTj+fvCQ8zuZJVbNUihk76uwf3UQavFn1W7Yibs4uOA38Dj51sLDEiJ1PqwXYzqROsYmoyDpdY1sJaRwR7x0BaXYmWdOEh7L0Vhceq2evj8POwVz8IDWoWtid/DbhgheQm7605g96VV+C4FGYtYWcJ65Nj1XPiFWIRVgDVkkHHRXheO41qBtS/avLHDaCR7MTTGqg2cB0iYCKDum7FHVREC0obqjy/6p98w16Q87B0LE3ZT1VcAKVqaq9eN4bDH3Q0SPWx2h0MdMQM40iWh+BPIBGL91D1e2cQTz6fNAJRhN4k4t2rHv+6JIhzke1ABiy2JPzZvlcNJmpcZZASG/0iFtBscSaXEmplHb+7F1uwhM+Dof6ygZ857d7WdlpBEMF+MkiZfZ8jUfHr4xbdK/fjHBvAbLntFiaVQuoTWtwFOJvK2Z9EImQQKcrcGsgvK6ciouPOndiWdWXB/uhkekWBgSSqFRkmgPfjl8D55qxTHrK10Y6/Ba5c7JXte02gYYYmN8dC2wiqN63S3ss4Q7BBQHpIIz7vnBFgu1SW+ArR4YOpm4KVU/h3CaghPa1hj7k/VSyVy5eWrzH/r5F+VZgIxyhhOyOQjv+QuvRwJUsWDo8/v31c9qQMKFpREllODOPa8O8fBqVS/zaeYjSqLbIssLQyk9VdgIvvWZwroiussZfvYYcrzQy0dzR3/YhSQZEsIzFYNr0A5+E2xypU1JJ6L7H8fvoM7aLM5XlSIiRhB5NVfBrVtUZV7TC61pn4zVet55VnPbGzGMJ+AZxlaqj6BKiFCEmSkELk1OUY/g2oEGmDHNvBJbNzBYfHhUopYtfjGwWRavramw1nau28VDNn3eDjZQzFFFspx/TFeZJEj0mUfIsQlVlFHPct0q0o9aDe0E+mbVFLervzMiL6lCqp5LNQuDmABtzgPUKI+tnJDsawN1ooRxJVXGtdbse96sfMv2uHkd6S4lYx7m7QoS8Sj5BnW/iZyIKegaBS9pGTTLxfJ1BTF3A45/r7P9kDKhlx4/hoNkz/WSNlYP+KWuM0ljZ5pRnvrTMEIrOrfd6ngQMr0+uhqVdWJtkriSCGCttddxdAtl8V/K69rFaI27RYKSrW73H4sEz9sbQ+Fj9k8NvutV75ojXdxncNqLyAbf9uTd1T0sKK/s9+8/MPRR/EUH7GA8VsGux9poJKPuxhNDuFVCdZdWEfs5Qx7ZNc+1YYbIe5qUofNHW6g8Y7vVZj6DaFzx+2pdvmrABXQZyILxs+oiCd2bAKXR/pkBWFbe2jiSTJviSyq7/6y0qBR0Rc9moINlCbs0Znmab2GMtiaUYKWaT0LZJdws29r54AA9NHvpQZJua83Tei7Xu683zalMzXNhX7iFlbYDHU1iNJIVVnUqYO042/8UObnpGNa8uWW8e4ejJ/rM6jNDy+ELyV3b25p42IOiWyFm0/kS7HOM9DLPmk3qb/tUJsgzLnTuNGl1QcyZ
+1
View File
@@ -0,0 +1 @@
dmFyIHJ1bGUgPSB7CiAgICB0aXRsZTogJ+WkmuWkmui/veWJp1vkvJhdJywKICAgIOaooeadvzogJ+mmluWbvicsCiAgICBob3N0OiAnaHR0cHM6Ly93d3cuZGRray50dicsCiAgICB1cmw6ICcvY2hhbm5lbC9meWNsYXNzLWZ5cGFnZS5odG1sJywKICAgIC8vc2VhcmNoVXJsOiAnL3NlYXJjaC8tLS0tLS0tLS0tLS0tLmh0bWw/d2Q9KionLAogICAgZGV0YWlsVXJsOiAnL2RldGFpbC9meWlkLmh0bWwnLAogICAgc2VhcmNoVXJsOiAnL2luZGV4LnBocC9hamF4L3N1Z2dlc3Q/bWlkPTEmd2Q9KionLAogICAg5pCc57SiOiAnanNvbjpsaXN0O25hbWU7cGljO2VuO2lkJywKICAgIHNlYXJjaGFibGU6IDEsCiAgICBoZWFkZXJzOiB7CiAgICAgICAgJ1VzZXItQWdlbnQnOiAnUENfVUEnLAogICAgfSwKICAgIGNsYXNzX3BhcnNlOiAnLm15dWktaGVhZGVyX19tZW51IGxpO2EmJlRleHQ7YSYmaHJlZjsvKFxcZCspLmh0bWwnLAogICAgbGF6eTogJGpzLnRvU3RyaW5nKCgpID0+IHsKICAgICAgICBpbnB1dCA9IHsKICAgICAgICAgICAgcGFyc2U6IDEsCiAgICAgICAgICAgIHVybDogaW5wdXQsCiAgICAgICAgICAgIGhlYWRlcjogewogICAgICAgICAgICAgICAgJ1VzZXItQWdlbnQnOiBQQ19VQQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSksCn0=
+234
View File
@@ -0,0 +1,234 @@
var rule = {
title:'央视频',
host:'https://api.cntv.cn',
homeUrl: '/lanmu/columnSearch?&fl=&fc=&cid=&p=1&n=500&serviceId=tvcctv&t=json',
//lanmu/columnSearch?&fl=&fc=&cid=&p=1&n=20&serviceId=tvcctv&t=jsonp&cb=Callback
url:'/list/getVideoAlbumList?fyfilter&area=&letter=&n=24&serviceId=tvcctv&t=json',
// searchUrl:'https://search.cctv.com/search.php?qtext=**&type=video',
// https://search.cctv.com/m/if3g_search.php?page=fypage&qtext=**&type=video&sort=SCORE&pageSize=20&channel=
searchUrl:'https://search.cctv.com/m/if3g_search.php?page=fypage&qtext=**&type=video&sort=SCORE&pageSize=20&channel=',
searchable:1,
quickSearch:1,
class_name: '4K专区&栏目大全&特别节目&纪录片&电视剧&动画片',
class_url: '4K专区&栏目大全&特别节目&纪录片&电视剧&动画片',
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/4000/0303000a/3/default/' + id + '/4000.m3u8';
} else {
input = 'https://cntv.playdreamer.cn/proxy/asp/hls/2000/0303000a/3/default/' + id + '/2000.m3u8';
}
}),
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 if(MY_CATE==='4K专区') {
var list = JSON.parse(request(HOST+'/NewVideo/getLastVideoList4K?serviceId=cctv4k&cid=&p='+MY_PAGE+'&n=500&serviceId=tvcctv&t=json')).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
})
})
}
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 = {
"4K专区": "0",
"特别节目": "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 + "|" + it.type + "|" + it.fc
}).join("#"))
});
// 最后封装所有线路
// let vod_content = playUrls;
let vod_play_from = playFrom.join('$$$');
let vod_play_url = playList.join('$$$');
VOD['vod_play_from'] = vod_play_from;
VOD['vod_play_url'] = vod_play_url;
}),
搜索:'',
}
+1
View File
@@ -0,0 +1 @@
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
+1
View File
@@ -0,0 +1 @@
dmFyIHJ1bGU9ewogIHRpdGxlOiAi5aaW54uQ5b2x6KeGIiwKICDmqKHmnb86ICLoh6rliqgiLAogIGhvc3Q6ICJodHRwczovL3d3dy5taWRpYW5zaGkuY29tIiwKICB1cmw6ICIvdm9kc2hvdy9meWZpbHRlci5odG1sIiwKICBzZWFyY2hVcmw6ICIvdm9kc2VhcmNoKiovcGFnZS9meXBhZ2UuaHRtbCIsCiAgc2VhcmNoYWJsZTogMiwKICBxdWlja1NlYXJjaDogMCwKICBmaWx0ZXJhYmxlOiAxLAogIGZpbHRlcjogIkg0c0lBQUFBQUFBQUErMWEyMVlUU1JUOWx6dzdpdzZNMXpmdjkvdmRXVDYwa29GR1NNWmNSc0hsV2lna0pxZ0VXRWhrQ0NBakVFUkN3a1dFWU9CblV0M0pYMHdsVlRsVmRab3hjYUV6UHZSajc3MXpxdXJVNmU2eksvM0UxV3pvM2s3RDIrSTY5TnNUMXdOUHArdVF5MXJhSkJNdlhYdGNYcjNESTEvL3FiZUhQQldobDhJa1BGZnFtU3ZEOU1MdGVycUh3eU5KRWt0WnNSZWNlV3kwaGY2Z2d3aEIzMXdobnhTQ1pwKzNwU3ZrVXpSV2RNbnNDUXVOYmp5a2MxUWxxVUd5c1Nra0R6eXRJZDJyU014bkEyYjNpQ1NoSTkxRGs0bWxsSUhhUXJhQnpPamJRaTRtSkYydHVyZXIxWU5Wenhlc2tVRnAyYUZ5WHRVWjkyV3MvTHlRL0U3amhGUUppUXlWUmo4SVNZZnVlMnlnVmRIOFdjT2JhdjdvMHRYWjlQU1p6LytTbGtVWEZmQ2hLWk9aRjBvR0h4cTJERnE1ZVpKL0k4ZHA1L203VzVhd2VtRTVGUFVDMTErcEYxUXVIRzI0MzY0SEFnMGNVNHRCbFhCTTNXbFZ3akcxN05CQURGTkxDZzNFTUxWZVVCU0dxZldDNXNLd3FxU1luaVd2NWxVSng5UmlRWE5obUZvSXRoV1ZNWFdMa1lSaE1OMzBiR0hySFpvdXc5U3FSRkVZQmxFbTV1a2FVUlNHZmNNZXNac0lTUmltVmphU01BeFN0eGtuNFhXVU9vWlZKYVh4SWZQdGpDcmhHQXcwOHFJWXk2R0JHQVo1MlZxMGhqK1IvQkpLRGNBZ2pFOFgzK09xWVJoSStpTWt2b3drRElPcTJSNmcyNHVxaG1GaXA1TG0rQ0RlcVFvR2t0NXQ2eU5hT3NjZ2dmbEJhek81MDlJVVJua0dKTFBrVlU1NkJsU3Y2M29HVEtkS281SHFTTHJmb3pkd0NQWnJkdFJjenlnS0Rva1VaODJOTFRVR2cyQlZXLzFrTEs4b09BUmJ2dklHS3pnRVcvQnlDU3M0QkRFU00yWnlRWTNCSUZqTDVBY2NnME9pcmo1akJZZkVUTFAybVdhVkdLK3pKRGVyeG1BUXhPaU4weXlUNkFjMURLQ3c1cGx0SzU2MllxUHFzZ0VWajZOMzVzdHQrbU4xVUVCQkYxNHJiSTZvSWdiSkJWWE1wSXR6M2FLZzRMcXVnaHJMVTMxMWlIYmQyOUxBSVdranNZSkRVQzdMMDFqQklkaklSSjY4VG1DUlFLVU50NGtZSkJVTlZuQklLazJiZ2tGUzBkald6Q0FwOFdTeFIxVXdTTG1UTjFZTG0zbnBUcTVlMTVQNFJxM3gxK29BblI3ZDMxQUJKTFlKczAweTI0alpScGwxWTlZdHN4cG1OWWwxSDBRc0JTVDJBR1lQeU94K3pPNlgyWDJZM1NlemV6RzdWMlp4cnR4eXJ0dzRWMjQ1VjI2Y0s3ZWNLemZPbFZ2T2xSdm55aTNuU3NPNTB1UmNhVGhYbXB3ckRlZEtrM09sNFZ4cGNxNDBuQ3ROenBXR2MwVUJwV3pUQ1RQeldpcmI2alVxVzREbHNqME1ONFVuR1BUNEd3NERjd1F4UjRBNWlwaWp3QnhEekRGZ2ppUG1PREFuRUhNQ21KT0lPUW5NS2NTY0F1WTBZazREY3dZeFo0QTVpNWl6d0p4RHpEbGd6aVBtUERBWEVITUJtSXVJdVFqTUpjUmNBdVl5WWk0RGN3VXhWNEM1aXBpcndGeER6RFZncmlQbU9qQTNFSE1EbUp1SXVRbk1MY1RjQXVZMlltNERjd2N4ZDREUmZqbUl1RElpM3dKbS94REp4Y1V0QU5mcUxXQW0xa3FKVlVHV0k5N3JiQWdhOUVmVndRcTVuSmtkdG1sYWpXQkF2RUl6dlNRYXNXa0M5MzErVDNsZWQvZTRtZ050dXp4WEVBODErZ0l2NUZMQ0s3YUVmUGVwRTI4TGlYZmtRcXJjMElIQ0YrcndHREtmbUJHa1gyYksvUmN3S09oNlJocVR2ak1samphWWdndnF5bGdyLzA1OStreW1SK1R4akVlS3dJcm1xZEd3SnROQ0V5Zzc4NVpISG05emlNM3V1OW52MnM2a0RqL0xyQk41dGtaNjRxcFFZYjdCODVQRk5aSkxJd25EdnMwaDEvTDhkVGprT2p4L0hlNnREbGRhMkppeXVUZU9DZnNiTmtjemFETVlCbk41RTdGWmNZNUpCcysyQVJ6YnVVdm5VZXh0K3U1OFh5Uk05YW9UWUZEOVh1bDdPTVBhbnEwZTcxakxrZFhoSFVleTFDNlI4U2sxREtDT2c5cUZnM0xjaitOK1hJNzdjZHlQeERqdXgzRS9QODc5ZFBtOExaMkdaSUIyMWFtWHVtTldxaHQxMXd5VG04UGVTWHR6U0RHWTl1SjJNUnRWSlJ5REtFTnBzdy85UWNBeDhiWU5tK3VvbCtXWWVHV3ZGRFlHMEhRWkpqVlZwZmRvdWh3RFNXNmVMRTRnQ2NOZ0xtUEw5djlwR0FaUmhpZk5WZnkvSHNPRXpWczNvL0ZDYnNqMkQ0dkNRQnBYLzZhOU8wb2p3eURpMHZQaXMxY29Gc1Ard3dhNmJGL2pxb0pEVXVkRWV5bmMvSlloMVZlckNnWTU3YWJUYmpydHB0TnVPdTJteERqdHB0TnUvaStIN2JUZDdOQzl1enh3Rnc5RmZ1RGVOMmQrK2NoSmZ1WmVIVWx0SVJTbDM5aEp4dzdvWlYzbGpONm1xM1FvNnNqMEJSclU3VXAybGk0cjJYRTZDTC9YUVhrZHZYVWRuNDlaUGVuaUZHcmlPUVlEOWM5WkF4RTBFTU5BTWpCaExlRFBwQmdtT3NPYW4yd1ZCOGFML2VoY24yTXcwTHNwTW9aTzRUa0dBOVUrWWplVE9mdTNZUXlEdWRUK3RLbU92eUZJbGlaN0ZjMkZZYkprWnNVdW9SanMwZlJXNFF2NndveGpFS1Yva2tUSFVCU0dpWnQ2bWFTUi8rRVlERFRXWjQ0aTU4SXhrZDBsc3AzQTJhMWdVcVA1NHcvcUs0OEMxV2N3U0hvRTFEaEMvNHFMMkhFbHpyRzJ5L0VaanM5d2ZJYmpNeHlmNGZpTW44ZG4rRDBkOEIyS2RMYnQzS3JPcmVyY3FqL1hyUm8wT2tNQjNRaTBHcnM4RldnU2ZZaVZXYlFHcWcwbjdUY2ZHdUxMdGVMYWl1QzZRaFhLZVowN3p3am5HZkd6UGlPZS9nTkhjOUZzQWp3QUFBPT0iLAogIGZpbHRlcl91cmw6ICJ7e2ZsLuexu+Wei319e3tmbC7lnLDljLp9fXt7Zmwu5o6S5bqPfX17e2ZsLuWJp+aDhX19e3tmbC7or63oqIB9fXt7Zmwu5a2X5q+NfX0vcGFnZS9meXBhZ2V7e2ZsLuW5tOS7vX19IiwKICBmaWx0ZXJfZGVmOiB7CiAgICBkaWFueWluZzogewogICAgICDnsbvlnos6ICJkaWFueWluZyIKICAgIH0sCiAgICBkc2o6IHsKICAgICAg57G75Z6LOiAiZHNqIgogICAgfSwKICAgIHpvbmd5aTogewogICAgICDnsbvlnos6ICJ6b25neWkiCiAgICB9LAogICAgZG9uZ21hbjogewogICAgICDnsbvlnos6ICJkb25nbWFuIgogICAgfSwKICAgIHJlbWVuZHVhbmp1OiB7CiAgICAgIOexu+WeizogInJlbWVuZHVhbmp1IgogICAgfSwKICAgIHRpeXVzYWlzaGk6IHsKICAgICAg57G75Z6LOiAidGl5dXNhaXNoaSIKICAgIH0KICB9LAogIGhlYWRlcnM6IHsKICAgICJVc2VyLUFnZW50IjogIk1PQklMRV9VQSIKICB9LAogIHRpbWVvdXQ6IDUwMDAsCiAgY2xhc3NfcGFyc2U6ICIubmF2YmFyLWl0ZW1zJiZsaTthJiZUZXh0O2EmJmhyZWY7LiovKC4qPykuaHRtbCIsCiAgY2F0ZV9leGNsdWRlOiAi5pu05pawfOeDreamnCIsCiAgcGxheV9wYXJzZTogdHJ1ZSwKICBsYXp5OiRqcy50b1N0cmluZygoKT0+ewogICAgaW5wdXQgPSB7cGFyc2U6MSx1cmw6aW5wdXQsanM6Jyd9OwogIH0pLAogIGRvdWJsZTogdHJ1ZSwKICAvL+aOqOiNkDogIuWIl+ihqDE75YiX6KGoMjvmoIfpopg75Zu+54mHO+aPj+i/sDvpk77mjqU76K+m5oOFIiwKIC8vIOS4gOe6pzogIuWIl+ihqDvmoIfpopg75Zu+54mHO+aPj+i/sDvpk77mjqU76K+m5oOFIiwKIC8vIOS6jOe6pzogewogIC8vICB0aXRsZTogInZvZF9uYW1lO3ZvZF90eXBlIiwKICAvLyAgaW1nOiAi5Zu+54mH6ZO+5o6lIiwKICAgLy8gZGVzYzogIuS4u+imgeS/oeaBrzvlubTku6M75Zyw5Yy6O+a8lOWRmDvlr7zmvJQiLAogIC8vICBjb250ZW50OiAi566A5LuLIiwKICAgLy8gdGFiczogIiIsCiAgIC8vIGxpc3RzOiAiIiwKIC8vICALine truncated
+1
View File
@@ -0,0 +1 @@
h36A5I5KdeB29zb3iwNWV1rUilFeFskkfZs2YVNfJLTgPjeCtnlxlbyLQaZtTrOqKRHRUo2GvTn/aQJZ2Fzfb+wiwYm7gEQQxLnYklTn4NPF3T5SEUxcKxkud2bI4swgKRBDpe9cDtVuim23WDBTEy2woNw+MHN6PR9CdmzQZk1eNVH/CM56sg3wNbmL8wXhR+fNAJRCrfU0EFRmEBRZMwcn0fnURUPefKNmh2x9GWTOlOoFKXHXc/pooWghACRhRnmGmbTRkggTAZf9hRbxhzDBqcHFv9X/VOs3WppcFqZWG9ciyg/uR8Gz4YGYr6xt6PmuvlPr+rW2S7RHjHVzWLEoaEGkjR+wbckBPTNowitD8qVvvGlw3SyikFheHles5T4qVUmEXZpgYiP3bNuw0M65ckrrAFWcdq0SC72grUineGy9tPciY3a/eyOMYlCAFIiv8nsB0o0vLICyJYV+5rruIcx6FJ43atNfigQnSfE9yq7qSrCGpi+pJDC+l7l7+BrGTAg4RE0cZBMGRo9VvD8cP7dplrNdQvGXhDVZbdo24YeBK5l6yovR/gBLQL/4aGfwISPIaFs2yIUcKgeaqhIgdq5xhD+4IvdrQuY9ImJeAkopDsDXi6PHgfqx4/N+vntg8FVo7IXNOmcqMqfI1YL8E1XavryH8rFg41ti57t1AWSKwii1iy/X3ZlJ8T9a3CvLMsw1bgUUtxLIOSIs92cKF2A63yNAHNCWEeH2iW04DwVplS2C4Q7BJXGXoWBJNVac7V+F/VeVfDZDoQZcE9ECWp4qsjxtNA2wMJq2tkqucmk4mOTFpO8sBbUmPMKD9M/Eur/WtGZHOhYgFSM6KZb3aAOYP4P0Ng2Jd8lqhrj8omzDdatqoYxUoB4G2ly6IjEuQVbca97wQJP9Oy1/umk10gMGXdwAXFt0n6eTyc085N7MZlzxvw6ZRPK1pYrX7bmTJqub8x3MyTjR1FA0OJKmbSovRhK9t9Qu35XshGck/eL3PZBSlTVqRSVd9gPQN7xMOY8HJYyMmORptj+LuwaBoD9IGaFVj5GDzLaFDddSfJBC26tzSlMOw8Dxb2+t6JgezLJsSRAiaDwuUueFK+n1XAsUvcnJFGJysI46yqzrXZs/goy+ocARIFAjWbkkGYbht0l913Erlpl1ca5yKmZScZlFyUggNRT/ycxxnpl3vmokKP+JxM4XuljFs5c7o463kjiqynuXXydyCaphNi7unndvLbYlyAIVkWbScS8lEUQqhOnqLMKhBQOpzOjUHXe+juGh1yTklxW79K7+pLUFb4pr1QYinGwwDmxdeKuqWTlfsRww96aaep+unMJ5RwEKR/ht2afFFM4iVSxIYxsPysi6pGeoi+G4AIzUgJ8SNR6jZm9T2ecGATbSUV4inE3kgIvB8S/FW7JZTC+3bESg4IDIMq99G0sInvGHtwVX/39ohyaWLTqK7q/EotkCj4Yy0K2FJ22Bu4tNPKgqCxGQOjp/LDNC+WPD1NgNNc3eI/qw0pkPyUN7QLql0Xnm
+1
View File
@@ -0,0 +1 @@
dmFyIHJ1bGUgPSB7CiAgICBhdXRob3I6ICflsI/lj6/kuZAvMjQwNzAxL+esrOS4gOeJiCcsCiAgICB0aXRsZTogJ+Wkqem+meW9semZoicsCiAgICDnsbvlnos6ICflvbHop4YnLAogICAgaG9zdDogJ2h0dHBzOi8vbS44Mm1hby5jb20nLAogICAgaG9zdEpzOiAnJywKICAgIGhlYWRlcnM6IHsnVXNlci1BZ2VudCc6ICdNT0JJTEVfVUEnfSwKICAgIOe8lueggTogJ3V0Zi04JywKICAgIHRpbWVvdXQ6IDUwMDAsCiAgICBob21lVXJsOiAnLycsCiAgICB1cmw6ICcvTGlzdC9meWZpbHRlci5odG1sJywKICAgIGZpbHRlcl91cmw6ICd7e2ZsLmNhdGVJZH19LXt7ZmwuYXJlYX19LXt7ZmwuYnl9fS17e2ZsLmNsYXNzfX0tLXt7ZmwubGV0dGVyfX0tLS1meXBhZ2UtLS17e2ZsLnllYXJ9fScsCiAgICBkZXRhaWxVcmw6ICcnLAogICAgc2VhcmNoVXJsOiAnL1NlYXJjaC8qKi0tLS0tLS0tLS1meXBhZ2UtLS0uaHRtbCcsCiAgICBzZWFyY2hhYmxlOiAxLAogICAgcXVpY2tTZWFyY2g6IDAsCiAgICBmaWx0ZXJhYmxlOiAxLAoKICAgIGNsYXNzX25hbWU6ICfnlLXlvbEm5Ymn6ZuGJue7vOiJuibliqjmvKsnLAogICAgY2xhc3NfdXJsOiAnMTcmMTgmMjAmNDgnLAogICAgZmlsdGVyX2RlZjogewogICAgICAgIDE3OiB7Y2F0ZUlkOiAnMTcnfSwKICAgICAgICAxODoge2NhdGVJZDogJzE4J30sCiAgICAgICAgMjA6IHtjYXRlSWQ6ICcyMCd9LAogICAgICAgIDQ4OiB7Y2F0ZUlkOiAnNDgnfQogICAgfSwKCiAgICBwbGF5X3BhcnNlOiB0cnVlLAogICAgcGFyc2VfdXJsOiAnaHR0cDovL2Nkbi4xMTMyNzYueHl6L2NzMS8/aWQ9JywKICAgIGxhenk6IGBqczoKdmFyIGtjb2RlID0gSlNPTi5wYXJzZShyZXF1ZXN0KGlucHV0KS5tYXRjaCgvdmFyIHBsYXllcl8uKj89KC4qPyk8LylbMV0pOwp2YXIga3VybCA9IGtjb2RlLnVybDsKaWYgKC9tM3U4fG1wNC8udGVzdChrdXJsKSkgewppbnB1dCA9IHsgang6IDAsIHBhcnNlOiAwLCB1cmw6IGt1cmwgfQp9IGVsc2UgewppbnB1dCA9IHsgang6IDAsIHBhcnNlOiAxLCB1cmw6IHJ1bGUucGFyc2VfdXJsK2t1cmwgfQp9YCwKCiAgICBsaW1pdDogOSwKICAgIGRvdWJsZTogZmFsc2UsCiAgICDmjqjojZA6ICcqJywKICAgIOS4gOe6pzogJy5saXN0LWl0ZW07aDMmJlRleHQ7aW1nJiZzcmM7c3BhbjplcSgwKSYmVGV4dDthJiZocmVmJywKICAgIOS6jOe6pzogewovL+WQjeensDvnsbvlnosKICAgICAgICB0aXRsZTogJy5icmVhZCYmVGV4dDsuaW5mby0tbGFiZWw6ZXEoMikmJlRleHQnLAovL+WbvueJhwogICAgICAgIGltZzogJy5waWMmJmltZyYmc3JjJywKLy/kuLvopoHmj4/ov7A75bm05Lu9O+WcsOWMujvmvJTlkZg75a+85ryUCiAgICAgICAgZGVzYzogJy5pbmZvLS1sYWJlbDplcSgtMikmJlRleHQ7LmluZm8tLWxhYmVsOmVxKC0xKSYmVGV4dDsuaW5mby0tbGFiZWw6ZXEoMikmJmE6ZXEoLTEpJiZUZXh0Oy5pbmZvLS1sYWJlbDplcSgxKSYmVGV4dDsuaW5mby0tbGFiZWw6ZXEoMCkmJlRleHQnLAovL+eugOS7iwogICAgICAgIGNvbnRlbnQ6ICcuZGV0YWlsLWludHJvOmVxKC0xKSYmcCYmVGV4dCcsCi8v57q/6Lev5pWw57uECiAgICAgICAgdGFiczogJ2xpLnRhYi1pdGVtJywKLy/nur/ot6/moIfpopgKICAgICAgICB0YWJfdGV4dDogJ2ZvbnQtLWk6ZXEoMCkmJlRleHQnLAovL+aSreaUvuaVsOe7hCDpgInpm4bliJfooagKICAgICAgICBsaXN0czogJy5zZXJpZXMtbGlzdDplcSgjaWQpJiZhJywKLy/pgInpm4bmoIfpopgKICAgICAgICBsaXN0X3RleHQ6ICdib2R5JiZUZXh0JywKLy/pgInpm4bpk77mjqUKICAgICAgICBsaXN0X3VybDogJ2EmJmhyZWYnLAovL+mTvuaOpeWkhOeQhgogICAgICAgIGxpc3RfdXJsX3ByZWZpeDogJycKICAgIH0sCiAgICDmkJzntKI6ICcqJywKCiAgICBmaWx0ZXI6IHt9Cn0K
+1
View File
@@ -0,0 +1 @@
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
+1
View File
@@ -0,0 +1 @@
Ly8g5pCc57Si5a6J5YWo6aqM6K+BCm11YmFuLummluWbvjIu5LqM57qnLnRpdGxlID0gJ2gxLS1zcGFuJiZUZXh0Oy5kYXRhLS1zcGFuOmVxKDApJiZUZXh0JzsKbXViYW4u6aaW5Zu+Mi7kuoznuqcuZGVzYyA9ICcuZGF0YTplcSgzKSYmVGV4dDs7Oy5kYXRhLS1zcGFuOmVxKDEpJiZUZXh0Oy5kYXRhLS1zcGFuOmVxKDIpJiZUZXh0JzsKbXViYW4u6aaW5Zu+Mi7kuoznuqcuY29udGVudCA9ICcuZGVzYy0tc3Bhbi0tYSYmVGV4dCc7Cm11YmFuLummluWbvjIu5LqM57qnLnRhYnMgPSAnLm5hdi10YWJzIGxpJzsKdmFyIHJ1bGUgPSB7CiAgICB0aXRsZTogJ+Wwj+eZveiPnOeUteW9sScsCiAgICDmqKHmnb86ICfpppblm74yJywKICAgIGhvc3Q6ICdodHRwczovL3d3dy54YmNkeS5jb20nLAogICAgLy8gdXJsOiAnL3ZvZHNob3cvZnljbGFzcy0tLS0tLS0tZnlwYWdlLS0tLmh0bWwnLAogICAgdXJsOiAnL3ZvZHNob3cvZnlmaWx0ZXIuaHRtbCcsCiAgICBmaWx0ZXJhYmxlOiAxLC8v5piv5ZCm5ZCv55So5YiG57G7562b6YCJLAogICAgZmlsdGVyX3VybDogJ3t7ZmwuY2F0ZUlkfX0te3tmbC5hcmVhfX0te3tmbC5ieSBvciAidGltZSJ9fS17e2ZsLmNsYXNzfX0te3tmbC5sYW5nfX0te3tmbC5sZXR0ZXJ9fS0tLWZ5cGFnZS0tLXt7ZmwueWVhcn19JywKICAgIGZpbHRlcjogJ0g0c0lBQUFBQUFBQUErMWFXMU1UU1JUK0wzbjJ3ZUI2V2QrODMrOTN0M3dZTlFYeGt1d0MyVnF3ckFKQ01JQWt3Q0lSQVFHNVd3UVNSRFpNRFB5WmRNL2tYOWlaUG4xT3o2cFRLWTJXdXpWditiN1RwN3RQWCtaODZlNG5nZnRoSTlJV2pqUUdEdjcySlBBdzFCWTRHTGhudElaTzNRL3NDa1NNeHlHQnJYeVJ2ZTRYK0UvalVTemtGSXdJbWlXV0t2R2xLaTBBVnZOMEYxajdsc3FsQ2F2M21Tb1FqVFMyeDZLL2kzSlVablNDOVM1U21iL0NEMkt1QWxZeXorTUpLbUNFL3hCdHVJc3NEckd0SWhWNUdHcUtHUkZYRWQ0NXlEdEd0U0tpSzNmZERZbHV1QnA2RVB1a0laNThXVFo3cVVoN2t4RnBid3FwVW5lcTVXRDhIaGt0TFRSOHNtN3Y0Y05XS2wzdmVTNXRqYnhucFR6WVhKUzd3MUFDZ0h0WWxVMEM5N1FvbXdUdTBRWWJBSXcrM3NlN1hvRU5BUHIxclZtbHQ4cFBBdlRyV3JGR2g1U2ZCTzRSVlRZSjNOT3E2cFJBaThFYUtWSU1WZUNlYTFXbkJPaTN1c25NclBLVFFObktINmJ0MVJ6WUFLQmZ6M0JsYkZuNVNZQzIrV2ZVVHdEWWwreENlWHRhOVVVQzlFdjFzUFM2OHBOQTJleWRRUkVWMkFCUW5jL3Q1R3VzMHdHNGRxYmVsYmNHMWFxUkFNZlRmTXRLTDlSNFNrQ3hMMWlEUFJpN0E3QXY4enUwU2dIb2E5MW9EaG5hVXAvSXNlZG1qVXVkelMxV3hsU3pBRENVaFRGZVdGT2hTSUIrNlJ6ZjJsWitFbUNZMnlrMlhsSmhTb0JEOSs0RjJRQmdtUDE1c2dGQXY4dzhuMWhSZmhMUWtDK1RId0RzNS9ZL1pBTkFmY25wZmNtNS9BWnl6RnhRZmhLZ1gzZGFqQlJMcXRWSVdKc3dLNTIxZXNkb3pnRFQ5cG5tL1R2Q0RYZVF3bGdpc1ZrdXFrMEVRSi8wdHBEUnJFMzYxa2E1V0tweDBodDJOL3dDblBOVDQvY1F2MGZuRzRodjBQa2c4VUdkMzAzOGJvMFAvb3E4K0tueEI0Zy9vUFA3aWQrdjgvdUkzNmZ6ZTRuZnEvTVViMUNQTjBqeEJ2VjRneFJ2VUk4M1NQR0tuL3AwUERKRTNzWHBzTmV5OWxKSHJYdHd2Q1RLcTVtV1FOc1RaQU9BKzJ4OWptd0FjRTlrU213Z1EyYkMycTdSekJKb3U0MXNBTFFkck5razBIYWJGb2tFMm5wbXEzRmF6MVhnR3NCUWEydElYOUhaREY4YnFIRUlEd0Z4Q0puRHdCeEc1Z2d3UjVBNUNzeFJaSTRCY3d5WjQ4QWNSK1lFTUNlUU9Rbk1TV1JPQVhNS21kUEFuRWJtRERCbmtEa0x6RmxremdGekRwbnp3SnhINWdJd0Y1QzVDTXhGWkM0QmN3bVp5OEJjUnVZS01GZVF1UXJNVldTdUFYTU5tZXZBWEVmbUJqQTNrTGtKekUxa2JnRnpDNW5id054R0J1ZFlXeVIzMjJpQjhOUXdNOU9mTEJDZTJheGtOc0M1TlN5S1lvbzFUWjRiQVV0VHVMV0ZkdGxhTjB1cUxOaHlMOW9jcXJaNlo1ZWpxRnVhaENLdWd6S1g5V2lidm13dWtrUnNqRVh2Q1RHcmxSRHBWaVJXcllUNHdyUWFlaDFpWjFiVEhaWm9EdityaHBYRmF2cEZlelQyT09UNDEwa25zL1NjUFl2NlY0SmFkR1ZsY3BpL25HZWRteXllVmg4Z25hcEpRM3ZvU0M4dDdLVzl2WFNrcDliMzBKRldNYzBTQmRVWENYQkJiczN3U2FYTEFaRFdUL0F4SmI0QVlIc3Zlc1NJcXZZa3dQWktRelJtQUdxVkZOK2lJM3NTb2p6S2N3ZlVvcysrVm1ONjZVRnYvZmxsemVlcFAwZHpRcUt4eVJubGl0alhhNzVlKzVuMW1xKzdmTjMxMzlOZE1VZklhS0xyVzQ3ek9ucnNON2h6SktBY00yQ1hWQjRCZ0g3eEVpdDAyZDFEZkVNZDlyZ29qS0x6T1pzdzJmSXIzdG12ZHI1TzBTN2R0SmJOOGxZL3p5Z2g0YUpxa1RhZU1pUTlWNWxOa1J5ckFuY3M0dFBBQ2dWWExFRFZJa21rUm5NSk5vck40NGpSeVhXenFsOFNvTi8wREJ2SEw1Y0VhTXNOYWJsYUF2L1lxeVpaNVI5NytUTHFaNWRSbjhzenZoanh4VWpnWnhNajdkRklZMXU0VG1LRWZ4aGhJL255Qjd6R1EwemY5ZXFsMFRrMXBnaHhPVnd2Ri82R1ZLZERranU5MW1JSHloMEhZT3Z4Qk8rZVVrMUxnUEd2N3RpNXBQcDBTNEIrdzFuZXAxSS9BTXBSQ1k2aUFvQTdGbGNrZXI2c3pLcStBRUNiK1phdEt0RUZBTnNiWDdkN1ZmUUEwRzlraW0vZ2phVUU2RmNvOEdTNmJBN1R2WjZMd25IWWVHTVYxYmtVQUt3ajN5V2tuZktXNEFlY29NaWpRT3kwQXpTSklKSS9TWVFxUUp0ekFLaHNFdmpKOVArWVRQMHpDVjhHQkh3WjhGM1BKSVFNZUd4RTZxUURQTi9QZUdScHJ6YzVWanhyejZqTUR3RHJUQzNSK3hJQWFCdDhiYTNnbjNjSktDMTkrZDJOUFRocHA5UWREd0NzMCtPUHZkY2RESjh3Nlc0REFMYm45U2JINDc2SjVjUXdxV1VBUUxmTnY5TnNBdUI0em0yVFVBT0FmcWtwbGh4WGZoTFE0bHBuV2FWNkFHQ2Q0MzE4VEtrWEFEUXVlYmFUd1hGeGdQYkovRzUzTjg1VkpPV09LdEMrNGw4OGdQaXN1cWl4dTc3eThKV0hyeng4NWVFcmoxb09JSnJDZDZQMTBoMyttK1hQYTY2dmZMUDhvOThsMS9YdHNYK1pvdVVUL3pMRlYyRytDdlBmRVB2cXpWZHY5Vk52VHo4Q2UyNStNdDQzQUFBPScsCiAgICBmaWx0ZXJfZGVmOiB7CiAgICAgICAgZGlhbnlpbmc6IHtjYXRlSWQ6ICdkaWFueWluZyd9LAogICAgICAgIGRpYW5zaGlqdToge2NhdGVJZDogJ2RpYW5zaGlqdSd9LAogICAgICAgIGR1YW5qdToge2NhdGVJZDogJ2R1YW5qdSd9LAogICAgICAgIHpvbmd5aToge2NhdGVJZDogJ3pvbmd5aSd9LAogICAgICAgIGRvbmdtYW46IHtjYXRlSWQ6ICdkb25nbWFuJ30sCiAgICAgICAgemhpYm86IHtjYXRlSWQ6ICd6aGlibyd9CiAgICB9LAogICAgY2xhc3NfcGFyc2U6ICcuc3R1aS1oZWFkZXJfX21lbnUgbGk6Z3QoMCk6bHQoOCk7YSYmVGV4dDthJiZocmVmOy4qLyguKj8pLmh0bWwnLAogICAgcGFnZWNvdW50OiB7InpoaWJvIjogMX0sCiAgICBsYXp5OiBganM6CiAgICAgICAgdmFyIGh0bWwgPSBKU09OLnBhcnNlKHJlcXVlc3QoaW5wdXQpLm1hdGNoKC9yIHBsYXllcl8uKj89KC4qPyk8LylbMV0pOwogICAgICAgIHZhciB1cmwgPSBodG1sLnVybDsKICAgICAgICBpZiAoaHRtbC5lbmNyeXB0ID09ICcxJykgewogICAgICAgICAgICB1cmwgPSB1bmVzY2FwZSh1cmwpCiAgICAgICAgfSBlbHNlIGlmIChodG1sLmVuY3J5cHQgPT0gJzInKSB7CiAgICAgICAgICAgIHVybCA9IHVuZXNjYXBlKGJhc2U2NERlY29kZSh1cmwpKQogICAgICAgIH0KICAgICAgICBpZiAoL20zdTh8bXA0Ly50ZXN0KHVybCkpIHsKICAgICAgICAgICAgaW5wdXQgPSB7CiAgICAgICAgICAgICAgICBqeDogMCwKICAgICAgICAgICAgICAgIHVybDogdXJsLAogICAgICALine truncated
+1
View File
@@ -0,0 +1 @@
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 truncated
+66
View File
@@ -0,0 +1,66 @@
var rule = {
title:'菜狗',
host:'https://waptv.sogou.com',
homeUrl:'',
searchUrl:'/film/result?ie=utf8&query=**',
searchable:2,
quickSearch:0,
filterable:1,
multi:1,
// 分类链接fypage参数支持1个()表达式
url:'/napi/video/classlist?abtest=0&iploc=CN1304&spver=&listTab=fyclass&filter=&start=((fypage-1)*15)&len=15&fr=filter',
filter_url:'style={{fl.style}}&zone={{fl.zone}}&year={{fl.year}}&fee={{fl.fee}}&order={{fl.order}}',
headers:{
'User-Agent':'PC_UA'
},
timeout:5000,
class_name:'电视剧&电影&动漫&综艺&纪录片',
class_url:'teleplay&film&cartoon&tvshow&documentary',
filter:{'teleplay': [{'key': 'style', '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': '其他'}]}, {'key': 'zone', 'name': '地区', 'value': [{'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': '更早', 'v': '更早'}]}, {'key': 'fee', 'name': '资源', 'value': [{'n': '全部', 'v': ''}, {'n': '正片', 'v': '正片'}, {'n': '免费正片', 'v': '免费正片'}, {'n': '付费正片', 'v': '付费正片'}]}, {'key': 'order', 'name': '排序', 'value': [{'n': '全部', 'v': ''}, {'n': '最新', 'v': '最新'}, {'n': '好评', 'v': '好评'}]}], 'film': [{'key': 'style', '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': '其他'}]}, {'key': 'zone', 'name': '地区', 'value': [{'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': '更早', 'v': '更早'}]}, {'key': 'fee', 'name': '资源', 'value': [{'n': '全部', 'v': ''}, {'n': '正片', 'v': '正片'}, {'n': '免费正片', 'v': '免费正片'}, {'n': '付费正片', 'v': '付费正片'}]}, {'key': 'order', 'name': '排序', 'value': [{'n': '全部', 'v': ''}, {'n': '最新', 'v': '最新'}, {'n': '好评', 'v': '好评'}]}], 'cartoon': [{'key': 'style', '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': '魔幻'}, {'n': '其他', 'v': '其他'}]}, {'key': 'zone', 'name': '地区', 'value': [{'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': '更早', 'v': '更早'}]}, {'key': 'fee', 'name': '资源', 'value': [{'n': '全部', 'v': ''}, {'n': '正片', 'v': '正片'}, {'n': '免费正片', 'v': '免费正片'}, {'n': '付费正片', 'v': 'Line truncated
limit:20,
play_parse:true,
play_json:1,
// 手动调用解析请求json的url,此lazy不方便
lazy:'',
lazy:`js:
print(input);
fetch_params.headers["User-Agent"]=MOBILE_UA;
print(fetch_params);
let html=request(input);
let rurl=html.match(/window\\.open\\('(.*?)',/)[1];
rurl=urlDeal(rurl);
input={parse:1,jx:1,url:rurl};
`,
// 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
一级:'js:let d=[];let html=request(input);html=JSON.parse(html);let list=html.listData.results;list.forEach(function(it){let desc1=it.ipad_play_for_list.finish_episode?it.ipad_play_for_list.episode===it.ipad_play_for_list.finish_episode?"全集"+it.ipad_play_for_list.finish_episode:"连载"+it.ipad_play_for_list.episode+"/"+it.ipad_play_for_list.finish_episode:"";let desc2=it.score?"评分:"+it.score:"";let desc3=it.date?"更至:"+it.date:"";d.push({title:it.name,img:it.v_picurl,url:"https://v.sogou.com"+it.url.replace("teleplay","series").replace("cartoon","series"),desc:desc1||desc2||desc3})});setResult(d);',
二级:'',
二级:'js:VOD={};let html=request(input);function adhead(url){let hd="https://v.sogou.com";if(!url.startsWith(hd)){url=hd+url}return urlencode(url)}try{let json=JSON.parse(html.match(/INITIAL_STATE.*?({.*});/)[1]).detail.itemData;let key=json.dockey;let name=json.name;let zone=json.zone;let score=json.score?json.score:"暂无";let style=json.style;let emcee=json.emcee?"主持:"+json.emcee:json.name;let director=json.director?"导演:"+json.director:name;director=director.replace(/;/g,"\\t");let starring=json.starring?"演员:"+json.starring:"声优:"+json.shengyou;starring=starring.replace(/.*undefined/,"").replace(/;/g,"\\t");let update=json.update_wordstr?json.update_wordstr:"";let tv_station=json.tv_station?json.tv_station:zone;let introduction=json.introduction;let shengyou=json.shengyou;let shows=json.play_from_open_index;let plays=json.play.item_list;if(shows){VOD.vod_name=name;VOD.vod_area=emcee+","+tv_station;VOD.vod_director=director;VOD.vod_actor=starring;VOD.vod_pic=jsp.pd(html,"#thumb_img&&img&&src");VOD.vod_remarks=style+" 评分:"+score+","+update;VOD.vod_content=introduction}else{VOD.vod_name=name;VOD.vod_director=director;VOD.vod_actor=starring;VOD.vod_pic=jsp.pd(html,"#thumb_img&&img&&src");VOD.vod_content=introduction}let tp="&type=json";try{let tabs=[];let lists=[];plays.forEach(function(it){lists.push(it.info);let tbn=it.sitename[0]||it.site.replace(".com","");tbn=tbn.split("").join(" ");tabs.push(tbn)});VOD.vod_play_from=tabs.join("$$$");let vod_lists=[];print("play_url1:"+play_url);play_url=play_url.replace("&play_url=","&type=json&play_url=");print("play_url2:"+play_url);lists.forEach(function(item,idex){if(item||shows){if(item&&Array.isArray(item)&&item.length>1){let tmp=item.slice(1).map(function(its){return its.index+"$"+play_url+base64Encode(adhead(its.url))});vod_lists.push(tmp.join("#"))}if(shows){let arr=[];let tmp=[];let zy=shows.item_list[idex];zy.date.forEach(function(date){let day=date.day;for(let j=0;j<day.length;j++){let dayy=day[j][0]>=10?day[j][0]:"0"+day[j][0];let Tdate=date.year+date.month+dayy;arr.push(Tdate)}});for(let k=0;k<arr.length;k++){let url="https://v.sogou.com/vc/eplay?query="+arr[k]+"&date="+arr[k]+"&key="+key+"&st=5&tvsite="+plays[idex].site;tmp.push("第"+arr[k]+"期"+"$"+play_url+base64Encode(adhead(url)))}vod_lists.push(tmp.join("#"))}}else if(plays[idex].site){let tmp=[];if(!plays[idex].flag_list.includes("trailer")){tmp.push(plays[idex].sitename[0]+"$"+play_url+base64Encode(adhead(plays[idex].url)))}else{tmp.push(plays[idex].sitename[0]+"—预告"+"$"+play_url+base64Encode(adhead(plays[idex].url)))}vod_lists.push(tmp.join("#"))}});VOD.vod_play_url=vod_lists.join("$$$")}catch(e){let img=json.photo.item_list;VOD.vod_name="本片无选集";VOD.vod_pic=img.length>0?img[0]:""}}catch(e){print("发生了错误:"+e.message)}',
// 二级:'js:var vod={vod_id:input};let html=request(input);function adhead(url){let hd="https://v.sogou.com";if(!url.startsWith(hd)){url=hd+url}return url}try{let json=JSON.parse(html.match(/INITIAL_STATE.*?({.*});/)[1]).detail.itemData;let key=json.dockey;let name=json.name;let zone=json.zone;let score=json.score?json.score:"暂无";let style=json.style;let emcee=json.emcee?"主持:"+json.emcee:json.name;let director=json.director?"导演:"+json.director:name;director=director.replace(/;/g,"\\t");let starring=json.starring?"演员:"+json.starring:"声优:"+json.shengyou;starring=starring.replace(/.*undefined/,"").replace(/;/g,"\\t");let update=json.update_wordstr?json.update_wordstr:"";let tv_station=json.tv_station?json.tv_station:zone;let introduction=json.introduction;let shengyou=json.shengyou;let shows=json.play_from_open_index;let plays=json.play.item_list;if(shows){vod.vod_name=name;vod.vod_area=emcee+","+tv_station;vod.vod_director=director;vod.vod_actor=starring;vod.vod_pic=jsp.pd(html,"#thumb_img&&img&&src");vod.vod_remarks=style+" 评分:"+score+","+update;vod.vod_content=introduction}else{vod.vod_name=name;vod.vod_director=director;vod.vod_actor=starring;vod.vod_pic=jsp.pd(html,"#thumb_img&&img&&src");vod.vod_content=introduction}let tp="&type=json";try{let tabs=[];let lists=[];plays.forEach(function(it){lists.push(it.info);let tbn=it.sitename[0]||it.site.replace(".com","");tbn=tbn.split("").join(" ");tabs.push(tbn)});vod.vod_play_from=tabs.join("$$$");vod_lists=[];play_url=play_url.replace("&play_url=","&type=json&play_url=");lists.forEach(function(item,idex){if(item||shows){if(item&&Array.isArray(item)&&item.length>1){let tmp=item.slice(1).map(function(its){return its.index+"$"+play_url+base64Encode(adhead(its.url))});vod_lists.push(tmp.join("#"))}if(shows){let arr=[];let tmp=[];let zy=shows.item_list[idex];zy.date.forEach(function(date){let day=date.day;for(let j=0;j<day.length;j++){let dayy=day[j][0]>=10?day[j][0]:"0"+day[j][0];let Tdate=date.year+date.month+dayy;arr.push(Tdate)}});for(let k=0;k<arr.length;k++){let url="https://v.sogou.com/vc/eplay?query="+arr[k]+"&date="+arr[k]+"&key="+key+"&st=5&tvsite="+plays[idex].site;tmp.push("第"+arr[k]+"期"+"$"+play_url+base64Encode(adhead(url)))}vod_lists.push(tmp.join("#"))}}else if(plays[idex].site){let tmp=[];if(!plays[idex].flag_list.includes("trailer")){tmp.push(plays[idex].sitename[0]+"$"+play_url+base64Encode(adhead(plays[idex].url)))}else{tmp.push(plays[idex].sitename[0]+"—预告"+"$"+play_url+base64Encode(adhead(plays[idex].url)))}vod_lists.push(tmp.join("#"))}});vod.vod_play_url=vod_lists.join("$$$")}catch(e){let img=json.photo.item_list;vod.vod_name="本片无选集";vod.vod_pic=img.length>0?img[0]:""}}catch(e){}',
搜索:'',
搜索:`js:
let d = [];
let html = request(input);
let jsonA = JSON.parse(html.match(/INITIAL_STATE.*?({.*});/)[1]);
print(jsonA);
jsonA = jsonA.result.resultData.searchData.results;
jsonA.forEach(function(it) {
let name = it.name;
let introduction = it.introduction;
let pic = it.v_picurl;
let url = it.tiny_url;
let zone = it.zone;
let score = it.score || "暂无";
let style = it.style;
if (it.play_info && it.play_info.play_list) {
let r = {};
r.title = name.replace(//, "").replace(//, "");
r.url = "https://v.sogou.com" + url.replace(/teleplay|cartoon/g, 'series');
r.desc = it.listCategory.join(",");
r.content = introduction;
r.pic_url = pic;
d.push(r)
}
});
setResult(d);`,
}
+5
View File
@@ -0,0 +1,5 @@
var rule={title:"斗鱼直播",host:"https://m.douyu.com",homeUrl:"/api/home/mix",url:"/api/room/list?page=fypage&type=fyfilter",filterable:1,filter_url:"{{fl.cateId}}",filter:{yl:[{key:"cateId",name:"分类",value:[{n:"原创IP",v:"ip"},{n:"一起看",v:"yqk"},{n:"二次元",v:"ecy"},{n:"音乐",v:"music"},{n:"户外",v:"HW"},{n:"美食",v:"ms"},{n:"心动派对",v:"xdpd"},{n:"音遇恋人",v:"yinyu"},{n:"星秀",v:"xingxiu"},{n:"心动FM",v:"dtxs"},{n:"娱乐推荐",v:"yltj"},{n:"新选",v:"xinxuan"}]}],PCgame:[{key:"cateId",name:"分类",value:[{n:"英雄联盟",v:"LOL"},{n:"热门游戏",v:"rmyx"},{n:"穿越火线",v:"CF"},{n:"重生边缘",v:"CSBYOL"},{n:"无畏契约",v:"VALORANT"},{n:"CFHD",v:"CFHD"},{n:"命运方舟",v:"LostArk"},{n:"DNF",v:"DNF"},{n:"DOTA2",v:"DOTA2"},{n:"使命召唤",v:"COD"},{n:"炉石传说",v:"How"},{n:"CS2",v:"CounterStrike"},{n:"lol云顶之弈",v:"ydzhy"},{n:"魔兽争霸",v:"mszb"},{n:"魔兽怀旧服",v:"wowclassic"},{n:"全民街篮",v:"qmjl"},{n:"自走棋",v:"dota2rpg"},{n:"传奇",v:"cq"},{n:"跑跑卡丁车",v:"Popkart"},{n:"网易游戏",v:"wyyx"},{n:"星际争霸",v:"SC"},{n:"守望先锋",v:"Overwatch"},{n:"DOTA",v:"DOTA"},{n:"魔兽世界",v:"WOW"},{n:"剑网3",v:"JX3"},{n:"魔域",v:"EudemonsOnline"},{n:"我的世界",v:"MC"},{n:"超激斗梦境",v:"cjdmj"},{n:"冒险岛",v:"mxd"},{n:"三国杀",v:"sanguosha"},{n:"梦幻西游",v:"MHXYOL"},{n:"天涯明月刀",v:"tianya"},{n:"街头篮球",v:"jtlq"},{n:"NBA2KOL2",v:"NBA2KOL2"},{n:"QQ飞车端游",v:"qqfcdy"},{n:"战地之王",v:"AVA"},{n:"军事游戏",v:"jsyx"},{n:"棋牌娱乐",v:"qipai"},{n:"FC ONLINE",v:"FCOL"},{n:"热门网游",v:"rmwy"},{n:"卡拉彼丘",v:"klbq"},{n:"诛仙世界",v:"zxsj"},{n:"千古风流",v:"qgflpc"},{n:"APEX",v:"APEX"},{n:"流放之路POE",v:"PathofExile"},{n:"剑网3缘起",v:"JW3YQ"},{n:"逆水寒",v:"nsh"},{n:"风暴英雄",v:"HOTS"},{n:"逆战",v:"NZ"},{n:"坦克世界",v:"TKSJ"},{n:"战舰世界",v:"wfws"},{n:"巫师之昆特牌",v:"wszktp"},{n:"反恐精英Online",v:"CS"},{n:"暗黑破坏神",v:"DIABLO"},{n:"梦三国2",v:"msg2"},{n:"传奇世界",v:"cqsj"},{n:"方舟:生存进化",v:"fzscjh"},{n:"神武4电脑版",v:"swdnb"},{n:"群雄逐鹿",v:"qxzl"},{n:"堡垒之夜",v:"blzy"},{n:"无限法则",v:"roe"},{n:"问道电脑版",v:"wddnb"},{n:"西山居游戏",v:"Seasun"},{n:"最终幻想14",v:"FF14"},{n:"战意",v:"WYZY"},{n:"剑灵",v:"BladeSoul"},{n:"星际战甲",v:"Warframe"},{n:"龙之谷",v:"DragonNest"},{n:"铁甲雄兵",v:"tjxb"},{n:"古剑奇谭网络版",v:"gjqtwlb"},{n:"轩辕传奇",v:"XYCQ"},{n:"神途",v:"shentu"},{n:"激战2",v:"GuildWars2"},{n:"高达文化区",v:"gdyxq"},{n:"忍者村大战2",v:"rzcdz2"},{n:"RPG网游专区",v:"rpgwyzq"},{n:"诛仙3",v:"zhuxian3"},{n:"笑傲江湖OL",v:"xajhol"},{n:"冒险岛2",v:"MXD2"},{n:"超击突破",v:"SuperPeople"},{n:"无尽战区",v:"WJZQ"},{n:"斗战神",v:"dzs"},{n:"永恒之塔",v:"AION"},{n:"九阴真经",v:"JYZJ"},{n:"FPS综合网游",v:"FPSOL"},{n:"劲舞团",v:"jwt"},{n:"天下",v:"tianxai"},{n:"泡泡堂",v:"ppt"},{n:"武侠乂",v:"wxy"},{n:"音乐游戏",v:"MG"},{n:"新倩女幽魂",v:"ONLINE"},{n:"天谕",v:"tianyu"},{n:"征途2",v:"zhengtu2"},{n:"QQ炫舞",v:"qqxw"},{n:"泰亚史诗",v:"tyss"},{n:"怪物猎人ol",v:"MHol"},{n:"手工星球",v:"sgxq"},{n:"星战前夜:晨曦",v:"EVE"},{n:"热血传奇:本源",v:"rxcqhjsgb"},{n:"枪火重生",v:"qhcs"},{n:"彩虹岛",v:"CHD"},{n:"御龙在天",v:"YLZT"},{n:"英魂之刃",v:"YHZR"},{n:"自由篮球",v:"ZYLQ"},{n:"洛奇英雄传",v:"LQYXZ"},{n:"封印者",v:"FYZ"},{n:"合金弹头",v:"HJDT"},{n:"新英雄年代",v:"XYXSD"},{n:"星尘传说",v:"XCCS"},{n:"盛趣游戏",v:"SQYX"},{n:"新热血英豪",v:"XRXYH"},{n:"沙盒游戏",v:"SHYX"},{n:"我的世界:地下城",v:"MD"},{n:"恐鬼症",v:"KGZ"},{n:"领地人生",v:"LDRS"},{n:"梦塔防",v:"TDOTK"},{n:"大话西游2",v:"dhxy2"},{n:"猎人",v:"lr"},{n:"热血江湖online",v:"rxjhol"},{n:"千年3",v:"qn3"},{n:"逍遥情缘",v:"xyqy"},{n:"快乐西游",v:"klxy"},{n:"鹿鼎记",v:"ldj"},{n:"新桃花源记",v:"xthyj"},{n:"疾风之刃电脑版",v:"jfzr1"},{n:"武魂2电脑版",v:"wh2pc"},{n:"奇迹世界sun",v:"qjsjsun"},{n:"剑侠世界2电脑版",v:"jxsj2pc"},{n:"斩魂",v:"zhpc"},{n:"大唐2",v:"dt2pc"},{n:"蜀山:初章",v:"ssczpc"},{n:"狼人对决网游",v:"lrdjpc"},{n:"武林群侠传",v:"wlqxzpc"},{n:"飘流幻境",v:"plhjpc"},{n:"破天一剑",v:"ptyj"},{n:"四国军棋",v:"sgjq"},{n:"新大话西游3",v:"xy3"},{n:"装甲战争",v:"zjzz"},{n:"暴雪游戏综合",v:"g_bliz"},{n:"长尾4部虚拟分区",v:"cw4bxnfq"},{n:"燕云十六声",v:"WHEREWINDSMEET"},{n:"THE FINALS",v:"THEFINALS"},{n:"NBA2K Online",v:"NBA2KOL"},{n:"塔瑞斯世界",v:"Tarisland"},{n:"跑跑卡丁车:漂移",v:"KartRiderDrift"},{n:"传奇永恒",v:"EternalLegend"},{n:"全境封锁2",v:"TheDivision2"},{n:"盛趣传奇",v:"sqcq"},{n:"火爆热游",v:"hbry"},{n:"火爆传奇",v:"hbcq"}]}],djry:[{key:"cateId",name:"分类",valuLine truncated
二级:'*',
"搜索":"js:\n var d = [];\n let rurls = input.split(';')[0].split('#');\n let rurl = rurls[0];\n let params = rurls.length > 1 ?rurls[1]:'';\n let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params));\n let postData = {body:params};\n Object.assign(_fetch_params,postData);\n let jo = JSON.parse(post(rurl,_fetch_params)).data.list;\n jo.forEach(it => {\n d.push({\n url: it.roomId,\n title: it.roomName,\n img: it.roomSrc,\n desc: '👁' + it.hn + ' 🆙' + it.nickname,\n })\n });\n setResult(d);\n ",sniffer:1,isVideo:"js:\n log(input);\n if(/\\/huya/.test(input)) {\n input = true\n } else if(/\\.flv?|\\.m3u8?|\\.mp4?/.test(input)){\n input = true\n }else{\n input = false\n }\n "};
+1
View File
@@ -0,0 +1 @@
H4sIAIioBmcC/5VU62/bVBT/zl8Riclulia28+xDBeXRtGnjJc1zKaDq2rl+JI7t+l4nTrZKCKShMRhFTEKIiQ8D0UkgwWAg6Nb/pq/9F7t+lCbrpA1/sn+Pc+49PucMgRWybA2GVkK33gmR5+zJs5Mf7i2F6JOjJ+cHd+h5hvHfbp/s/3r878+3T5//cvbg2e2T3786/+2pZ8Eq1iBxnH5778WP94n0xaOv6XmPUgyECaNgbKIlhhmowOBYLiYaAyZQ2JZGBAwGMiONJVXD0AoYBIElKk2f9z/e3125fn2GBoKbOu5Du7Yq9usevhRifcwP6cu4aYhEXU+iUvbiScUbYzaT38rV1xLplqUbuZt83emgYnkbtDf41WRrBJr91WGxVjMUeyTz9Xxuo5WH27vx5mImz/UzTEWE3XJ5YZJgJ4wY305bhi5sw8INLE1y9s3tTgVXxwNTHcoR2NZwddOBfD3VrapsUzdb48l6SsyKkVZKWitxfUVYg/2k0CqMxsJapcCv8lyqvcmaW5NV3nZsxKGtbHI8LOR6fHOUVqRMwux1jOyklJkgJQfbvNIo7G6YSmp7tdPJqa1dIZ92svlecZGvJYwGm+1v10WnZiewwm+I/EgodBxH7NWkaq4rR7aypaSYyQujTF+uoCJTy5f1fq3filcbi5les+GkhgOkt+PNBbEqOIk2GjLroGnUemvjSQ/W5NGobU5AR7e1At/sNBOobVmdfs5R9ESWKTBmXcx2gDMor4qq3e5w5rAkVmGHFQtwEZpjnHTW6+OakihYk3ZWg9VyJt5bt1lnU1qrtsxNm92VEjeSCT2SGmipSBsWrQGqlYe6brOLFRHzpUg7mY8zsrFe9PQMXByke+MFibGNhUgxXWxodq08sif6EPTZPGeN7HYT5dQ6q4t4LHPIUmWzgiIyU1HV4k1bbpIGWVmhp/tnx+/cW7ckLeYPzd4eaWETyHBW14XSUjBc3oA9+IsMFEEuJ+3zx8dHD8/ufkbvzU/LyCSd3D2YUX5/dHx4QMAZ5bPn53cPZ2Q/Hbz47o6PTytJIjK9rwno4dPK46Nvzj/5Y1p5/vefZ/uf0nueJFAqEHShhaZvRzcRtKJZGeqYJi6+kiuVV3ea2aAkgRGrA2jYZDOkWDaYU1EDCO3oYOBuEr9G1H81oPy7UP5BKf909LTR/xn/ywcw3IGOqNldN2WAmhoY75jAQgTDlg19VAOT8VLoWg/FsFHHlqrLc3Ph0Mp7UxdXddPG7hYNzNy8v9o8fD7UQ26OvWW/CmE/bNewvb0kAQ0FmU7vPz7/cp9oL9bc8T8fnx2SJqBjcjROUV11SLanFk0vx0RgdaPe7o1GkQl0impABy+rA5mikCUux5AtBBigKMWC0kXIwy+8kJeHv9jgSjowxCxjFBsI0cQS3J3jwhQVE0BXhj5LX/YJSUZsFymniC5EonvoK3EuD+VxpmLoJGxM0qATlQkS5SjKdNWJ8Nvpkm+p495SFw9fuaVo6Jg0tHsfTJioYEHQv6LCQECXjeS1jYowekPfeDqIQ6R863igkQ4yu5Iyp5D3+RD9rpsaqDq0SIFFSzUxRbkyOrw8E4FhNEOeC2K8wrnRuwADtzn3Zik4BNqFKxQJ0R/qrnBlaCxfTRByM7j0a8K7F+VIfJeOiZpqotgAmHOqe1U11jNUfY6+RodfcZZL9UaduD7w7B9dkhfzEVR1xy06qaxgdMdXqu563yzw18PsGEyTOybBVefy9wWL6nT/4dnTR8E47r0EQ6Iuny0JAAA=
Loaded 100 of 555 files, more files were not shown because too many files have changed in this diff. Show more