mirror of
https://github.com/ls125781003/tvboxtg.git
synced 2026-11-02 17:53:22 +00:00
Initial commit
This commit is contained in:
commit
8406372599
555 files changed
+435441
No files matched your search
@@ -0,0 +1,2 @@
|
|||||||
|
# Auto detect text files and perform LF normalization
|
||||||
|
* text=auto
|
||||||
+1140
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);
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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
|
||||||
Binary file not shown.
@@ -0,0 +1 @@
|
|||||||
|
**dmFyIHJ1bGUgPSB7CiAgICB0aXRsZTonMzEw55u05pKtJywKICAgIGhvc3Q6J2h0dHA6Ly93d3cuMzEwLnR2JywKICAgIHVybDonLz9zPTAmdD0xJmE9ZnljbGFzcyZnPWZ5cGFnZScsCiAgICBzZWFyY2hVcmw6JycsCiAgICBzZWFyY2hhYmxlOjAsCiAgICBxdWlja1NlYXJjaDowLAogICAgY2xhc3NfbmFtZTon54Ot6ZeoJui2s+eQgybnr67nkIMnLAogICAgY2xhc3NfdXJsOicwJjEmMicsCiAgICBoZWFkZXJzOnsKICAgICAgICAnVXNlci1BZ2VudCc6J01PQklMRV9VQScKICAgIH0sCiAgICB0aW1lb3V0OjUwMDAsCiAgICBwbGF5X3BhcnNlOmZhbHNlLAogICAgbGF6eTonJywKICAgIGxpbWl0OjYsCiAgICBkb3VibGU6ZmFsc2UsCiAgICDmjqjojZA6JyonLAogICAg5LiA57qnOicubGlzdF9jb250ZW50IGE7LmppYWJpZmVuZyYmcDpsdCg1KSYmVGV4dDsuZmVsZWltZyBpbWcmJnNyYzthJiZ0LW56Zi1vO2EmJmhyZWYnLAogICAg5LqM57qnOicqJywKICAgIOaQnOe0ojonJywKfQ==
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
**dmFyIGxpc3RzID0gYGpzOgpsb2coVEFCUyk7CmxldCBkID0gW107CnBkZmggPSBqc3AucGRmaDsKcGRmYSA9IGpzcC5wZGZhOwppZiAodHlwZW9mIHBsYXlfdXJsID09PSAidW5kZWZpbmVkIikgewoJdmFyIHBsYXlfdXJsID0gIiIKfQoKZnVuY3Rpb24gZ2V0TGlzdHMoaHRtbCkgewoJbGV0IHNyYyA9IHBkZmgoaHRtbCwgIi53cC1wbGF5bGlzdC1zY3JpcHQmJkh0bWwiKTsKCXNyYyA9IEpTT04ucGFyc2Uoc3JjKS50cmFja3M7CglsZXQgbGlzdDEgPSBbXTsKCWxldCBsaXN0MiA9IFtdOwoJbGV0IHVybDEgPSAiIjsKCWxldCB1cmwyID0gIiI7CglzcmMuZm9yRWFjaChmdW5jdGlvbihpdCkgewoJCWxldCBzcmMwID0gaXQuc3JjMDsKCQlsZXQgc3JjMSA9IGl0LnNyYzE7CgkJbGV0IHRpdGxlID0gaXQuY2FwdGlvbjsKCQl1cmwxID0gImh0dHBzOi8vdi5kZHlzLnBybyIgKyBzcmMwOwoJCXVybDIgPSAiaHR0cHM6Ly9kZHlzLnByby9nZXR2ZGRyMi92aWRlbz9pZD0iICsgc3JjMSArICImdHlwZT1taXgiOwoJCWxldCB6bSA9ICJodHRwczovL2RkeXMucHJvL3N1YmRkci8iICsgaXQuc3Vic3JjOwoJCWxpc3QxLnB1c2goewoJCQl0aXRsZTogdGl0bGUsCgkJCXVybDogdXJsMSwKCQkJZGVzYzogem0KCQl9KTsKCQlsaXN0Mi5wdXNoKHsKCQkJdGl0bGU6IHRpdGxlLAoJCQl1cmw6IHVybDIsCgkJCWRlc2M6IHptCgkJfSkKCX0pOwoJcmV0dXJuIHsKCQlsaXN0MTogbGlzdDEsCgkJbGlzdDI6IGxpc3QyCgl9Cn0KdmFyIGRhdGEgPSBnZXRMaXN0cyhodG1sKTsKdmFyIGxpc3QxID0gZGF0YS5saXN0MTsKdmFyIGxpc3QyID0gZGF0YS5saXN0MjsKbGV0IG51bXMgPSBwZGZhKGh0bWwsICJib2R5JiYucG9zdC1wYWdlLW51bWJlcnMiKTsKbnVtcy5mb3JFYWNoKGZ1bmN0aW9uKGl0KSB7CglsZXQgbnVtID0gcGRmaChpdCwgImJvZHkmJlRleHQiKTsKCWxvZyhudW0pOwoJbGV0IG51cmwgPSBpbnB1dCArIG51bSArICIvIjsKCWlmIChudW0gPT0gMSkgewoJCXJldHVybgoJfQoJbG9nKG51cmwpOwoJbGV0IGh0bWwgPSByZXF1ZXN0KG51cmwpOwoJbGV0IGRhdGEgPSBnZXRMaXN0cyhodG1sKTsKCWxpc3QxID0gbGlzdDEuY29uY2F0KGRhdGEubGlzdDEpOwoJbGlzdDIgPSBsaXN0Mi5jb25jYXQoZGF0YS5saXN0MikKfSk7Cmxpc3QxID0gbGlzdDEubWFwKGZ1bmN0aW9uKGl0ZW0pIHsKCXJldHVybiBpdGVtLnRpdGxlICsgIiQiICsgcGxheV91cmwgKyB1cmxlbmNvZGUoaXRlbS51cmwgKyAifCIgKyBpbnB1dCArICJ8IiArIGl0ZW0uZGVzYykKfSk7Cmxpc3QyID0gbGlzdDIubWFwKGZ1bmN0aW9uKGl0ZW0pIHsKCXJldHVybiBpdGVtLnRpdGxlICsgIiQiICsgcGxheV91cmwgKyB1cmxlbmNvZGUoaXRlbS51cmwgKyAifCIgKyBpbnB1dCArICJ8IiArIGl0ZW0uZGVzYykKfSk7CkxJU1RTID0gW2xpc3QxLCBsaXN0Ml07CmA7Cgp2YXIgbGF6eSA9IGBqczoKbGV0IHB1cmwgPSBpbnB1dC5zcGxpdCgifCIpWzBdOwpsZXQgcmVmZXJlciA9IGlucHV0LnNwbGl0KCJ8IilbMV07CmxldCB6bSA9IGlucHV0LnNwbGl0KCJ8IilbMl07CnByaW50KCJwdXJsOiIgKyBwdXJsKTsKcHJpbnQoInJlZmVyZXI6IiArIHJlZmVyZXIpOwpwcmludCgiem06IiArIHptKTsKaWYgKC9nZXR2ZGRyLy50ZXN0KHB1cmwpKSB7CiAgICBsZXQgaHRtbCA9IHJlcXVlc3QocHVybCwgewogICAgICAgIGhlYWRlcnM6IHsKICAgICAgICAgICAgUmVmZXJlcjogSE9TVCwKICAgICAgICAgICAgIlVzZXItQWdlbnQiOiBNT0JJTEVfVUEKICAgICAgICB9CiAgICB9KTsKICAgIHByaW50KGh0bWwpOwogICAgdHJ5IHsKICAgICAgICBpbnB1dCA9IHtqeDowLHVybDpKU09OLnBhcnNlKGh0bWwpLnVybCxwYXJzZTowfSB8fCB7fQogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGlucHV0ID0gcHVybAogICAgfQp9IGVsc2UgewogICAgaW5wdXQgPSB7CiAgICAgICAgang6IDAsCiAgICAgICAgdXJsOiBwdXJsLAogICAgICAgIHBhcnNlOiAwLAogICAgICAgIGhlYWRlcjogSlNPTi5zdHJpbmdpZnkoewogICAgICAgICAgICAndXNlci1hZ2VudCc6IE1PQklMRV9VQSwKICAgICAgICAgICAgJ3JlZmVyZXInOiBIT1NUCiAgICAgICAgfSkKICAgIH0KfQpgOwoKLy8g572R5Z2A5Y+R5biD6aG1IGh0dHBzOi8vZGR5cy5zaXRlCi8vIOe9keWdgOWPkeW4g+mhtSBodHRwczovL2RkeXMud2lraQp2YXIgcnVsZT17CiAgICB0aXRsZTonZGR5cycsCiAgICAvLyBob3N0OidodHRwczovL2RkeXMud2lraScsIAogICAgLy8gaG9zdEpzOidwcmludChIT1NUKTtsZXQgaHRtbD1yZXF1ZXN0KEhPU1Qse2hlYWRlcnM6eyJVc2VyLUFnZW50IjpNT0JJTEVfVUF9fSk7SE9TVCA9IGpzcC5wZGZoKGh0bWwsImE6ZXEoMSkmJmhyZWYiKScsCiAgICBob3N0OidodHRwczovL2RkeXMucHJvJywKICAgIC8vIGhvc3Q6J2h0dHBzOi8vZGR5cy5tb3YnLAogICAgdXJsOicvZnljbGFzcy9wYWdlL2Z5cGFnZS8nLAogICAgc2VhcmNoVXJsOicvP3M9KiomcG9zdF90eXBlPXBvc3QnLAogICAgc2VhcmNoYWJsZToyLAogICAgcXVpY2tTZWFyY2g6MCwKICAgIGZpbHRlcmFibGU6MCwKICAgIGhlYWRlcnM6ewogICAgICAgICdVc2VyLUFnZW50JzonTU9CSUxFX1VBJywKICAgIH0sCiAgICBjbGFzc19wYXJzZTonI3ByaW1hcnktbWVudSBsaS5tZW51LWl0ZW07YSYmVGV4dDthJiZocmVmO1wucHJvLyguKiknLAogICAgY2F0ZV9leGNsdWRlOifnq5nplb98XuWFtuS7liR85YWz5LqOfF7nlLXlvbEkfF7liafpm4YkfF7nsbvlnoskJywKICAgIHBsYXlfcGFyc2U6dHJ1ZSwKICAgIC8vIGxhenk6J2pzOmxldCBwdXJsPWlucHV0LnNwbGl0KCJ8IilbMF07bGV0IHJlZmVyZXI9aW5wdXQuc3BsaXQoInwiKVsxXTtsZXQgem09aW5wdXQuc3BsaXQoInwiKVsyXTtwcmludCgicHVybDoiK3B1cmwpO3ByaW50KCJyZWZlcmVyOiIrcmVmZXJlcik7cHJpbnQoInptOiIrem0pO2xldCBteXVhPSJva2h0dHAvMy4xNSI7aWYoL2RkcmtleS8udGVzdChwdXJsKSl7bGV0IHJldD1yZXF1ZXN0KHB1cmwse1JlZmVyZXI6cmVmZXJlcix3aXRoSGVhZGVyczp0cnVlLCJVc2VyLUFnZW50IjpteXVhfSk7bG9nKHJldCk7aW5wdXQ9cHVybH1lbHNle2xldCBodG1sPXJlcXVlc3QocHVybCx7aGVhZGVyczp7UmVmZXJlcjpyZWZlcmVyLCJVc2VyLUFnZW50IjpteXVhfX0pO3ByaW50KGh0bWwpO3RyeXtpbnB1dD1KU09OLnBhcnNlKGh0bWwpLnVybHx8e319Y2F0Y2goZSl7aW5wdXQ9cHVybH19JywKICAgIGxhenk6bGF6eSwKICAgIGxpbWl0OjYsCiAgICDmjqjojZA6JyonLAogICAgZG91YmxlOnRydWUsIC8vIOaOqOiNkOWGheWuueaYr+WQpuWPjOWxguWumuS9jQogICAg5LiA57qnOicucG9zdC1ib3gtbGlzdCYmYXJ0aWNsZTthOmVxKC0xKSYmVGV4dDsucG9zdC1ib3gtaW1hZ2UmJnN0eWxlO2E6ZXEoMCkmJlRleHQ7YTplcSgtMSkmJmhyZWYnLAogICAg5LqM57qnOnsKICAgICAgICAidGl0bGUiOiIucG9zdC10aXRsZSYmVGV4dDsuY2F0LWxpbmtzJiZUZXh0IiwKICAgICAgICAiaW1nIjoiLmRvdWxpc3QtaXRlbSYmaW1nJiZkYXRhLWNmc3JjIiwKICAgICAgICAiZGVzYyI6Ii5wdWJsaXNoZWQmJlRleHQiLAogICAgICAgICJjb250ZW50IjoiLmFic3RyYWN0JiZUZXh0IiwKICAgICAgICAvLyAidGFicyI6ImpzOlRBQlM9Wyflm73lhoUnLCfmtbflpJYo6LKM5Ly85LiN6IO95pKt5pS+KSddIiwKICAgICAgICAidGFicyI6ImpzOlRBQlM9Wyflm73lhoUo5pS5RXhv5pKt5pS+5ZmoKScsJ+WbveWGhTInXSIsCiAgILine truncated
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
**dmFyIHJ1bGUgPSB7CiAgICB0aXRsZTogIuaWl+mxvOebtOaSrSIsCiAgICBob3N0OiAiaHR0cHM6Ly9tLmRvdXl1LmNvbSIsCiAgICBob21lVXJsOiAiL2FwaS9ob21lL21peCIsCiAgICB1cmw6ICIvYXBpL3Jvb20vbGlzdD9wYWdlPWZ5cGFnZSZ0eXBlPWZ5ZmlsdGVyIiwKICAgIGZpbHRlcmFibGU6IDEsCiAgICBmaWx0ZXJfdXJsOiAie3tmbC5jYXRlSWR9fSIsCiAgICBmaWx0ZXI6IHsKICAgICAgICB5bDogW3sKICAgICAgICAgICAga2V5OiAiY2F0ZUlkIiwKICAgICAgICAgICAgbmFtZTogIuWIhuexuyIsCiAgICAgICAgICAgIHZhbHVlOiBbewogICAgICAgICAgICAgICAgbjogIuWOn+WIm0lQIiwKICAgICAgICAgICAgICAgIHY6ICJpcCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIuS4gOi1t+eciyIsCiAgICAgICAgICAgICAgICB2OiAieXFrIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBuOiAi5LqM5qyh5YWDIiwKICAgICAgICAgICAgICAgIHY6ICJlY3kiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLpn7PkuZAiLAogICAgICAgICAgICAgICAgdjogIm11c2ljIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBuOiAi5oi35aSWIiwKICAgICAgICAgICAgICAgIHY6ICJIVyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIue+jumjnyIsCiAgICAgICAgICAgICAgICB2OiAibXMiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLlv4PliqjmtL7lr7kiLAogICAgICAgICAgICAgICAgdjogInhkcGQiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLpn7PpgYfmgYvkuroiLAogICAgICAgICAgICAgICAgdjogInlpbnl1IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBuOiAi5pif56eAIiwKICAgICAgICAgICAgICAgIHY6ICJ4aW5neGl1IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBuOiAi5b+D5YqoRk0iLAogICAgICAgICAgICAgICAgdjogImR0eHMiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLlqLHkuZDmjqjojZAiLAogICAgICAgICAgICAgICAgdjogInlsdGoiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLmlrDpgIkiLAogICAgICAgICAgICAgICAgdjogInhpbnh1YW4iCiAgICAgICAgICAgIH1dCiAgICAgICAgfV0sCiAgICAgICAgUENnYW1lOiBbewogICAgICAgICAgICBrZXk6ICJjYXRlSWQiLAogICAgICAgICAgICBuYW1lOiAi5YiG57G7IiwKICAgICAgICAgICAgdmFsdWU6IFt7CiAgICAgICAgICAgICAgICBuOiAi6Iux6ZuE6IGU55ufIiwKICAgICAgICAgICAgICAgIHY6ICJMT0wiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLng63pl6jmuLjmiI8iLAogICAgICAgICAgICAgICAgdjogInJteXgiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLnqb/otorngavnur8iLAogICAgICAgICAgICAgICAgdjogIkNGIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBuOiAi6YeN55Sf6L6557yYIiwKICAgICAgICAgICAgICAgIHY6ICJDU0JZT0wiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLml6DnlY/lpZHnuqYiLAogICAgICAgICAgICAgICAgdjogIlZBTE9SQU5UIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBuOiAiQ0ZIRCIsCiAgICAgICAgICAgICAgICB2OiAiQ0ZIRCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIuWRvei/kOaWueiInyIsCiAgICAgICAgICAgICAgICB2OiAiTG9zdEFyayIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIkRORiIsCiAgICAgICAgICAgICAgICB2OiAiRE5GIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBuOiAiRE9UQTIiLAogICAgICAgICAgICAgICAgdjogIkRPVEEyIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBuOiAi5L2/5ZG95Y+s5ZSkIiwKICAgICAgICAgICAgICAgIHY6ICJDT0QiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLngonnn7PkvKDor7QiLAogICAgICAgICAgICAgICAgdjogIkhvdyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIkNTMiIsCiAgICAgICAgICAgICAgICB2OiAiQ291bnRlclN0cmlrZSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogImxvbOS6kemhtuS5i+W8iCIsCiAgICAgICAgICAgICAgICB2OiAieWR6aHkiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLprZTlhb3kuonpnLgiLAogICAgICAgICAgICAgICAgdjogIm1zemIiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLprZTlhb3mgIDml6fmnI0iLAogICAgICAgICAgICAgICAgdjogIndvd2NsYXNzaWMiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLlhajmsJHooZfnr64iLAogICAgICAgICAgICAgICAgdjogInFtamwiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLoh6rotbDmo4siLAogICAgICAgICAgICAgICAgdjogImRvdGEycnBnIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBuOiAi5Lyg5aWHIiwKICAgICAgICAgICAgICAgIHY6ICJjcSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIui3kei3keWNoeS4gei9piIsCiAgICAgICAgICAgICAgICB2OiAiUG9wa2FydCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIue9keaYk+a4uOaIjyIsCiAgICAgICAgICAgICAgICB2OiAid3l5eCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIuaYn+mZheS6iemcuCIsCiAgICAgICAgICAgICAgICB2OiAiU0MiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLlrojmnJvlhYjplIsiLAogICAgICAgICAgICAgICAgdjogIk92ZXJ3YXRjaCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIkRPVEEiLAogICAgICAgICAgICAgICAgdjogIkRPVEEiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLprZTlhb3kuJbnlYwiLAogICAgICAgICAgICAgICAgdjogIldPVyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIuWJkee9kTMiLAogICAgICAgICAgICAgICAgdjogIkpYMyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIumtlOWfnyIsCiAgICAgICAgICAgICAgICB2OiAiRXVkZW1vbnNPbmxpbmUiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLmiJHnmoTkuJbnlYwiLAogICAgICAgICAgICAgICAgdjogIk1DIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBuOiAi6LaF5r+A5paX5qKm5aKDIiwKICAgICAgICAgICAgICAgIHY6ICJjamRtaiIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIuWGkumZqeWymyIsCiAgICAgICAgICAgICAgICB2OiAibXhkIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICBuOiAi5LiJ5Zu95p2AIiwKICAgICAgICAgICAgICAgIHY6ICJzYW5ndW9zaGEiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgIG46ICLmoqblubvopb/muLgiLAogICAgICAgICAgICAgICAgdjogIk1IWFlPTCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgbjogIuWkqea2r+aYjuaciLine truncated
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
**dmFyIHJ1bGU9e3RpdGxlOiLnn63op4bpopEiLGhvc3Q6Imh0dHA6Ly93d3cuc2hhcmVuaWNlLm5ldCIsdXJsOiIvZnljbGFzcz9wYWdlPWZ5cGFnZSIsc2VhcmNoYWJsZTowLHF1aWNrU2VhcmNoOjAsaGVhZGVyczp7IlVzZXItQWdlbnQiOiJQQ19VQSJ9LHRpbWVvdXQ6NWUzLGNsYXNzX25hbWU6IuaKlumfsyblv6vmiYsm5b6u6KeGJueBq+WxsSblnLrlupMm576O5ouNJuenkuaLjSblhajmsJEm5r6O5rmDJuWlveWFlCblvIDnnLwm576O5aWzJuaQnueskSbnpL7kvJom5b2x6KeGJumfs+S5kCblqLHkuZAm5q2j6IO96YePJueUn+a0uybliqjmvKsm5L2T6IKyJue+jumjnybokIzns7sm5peF5ri4Jua4uOaIjybmmI7mmJ8m5pe25bCaIixjbGFzc191cmw6ImRvdXlpbiZrdWFpc2hvdSZ3ZWlzaGkmaHVvc2hhbiZjaGFuZ2t1Jm1laXBhaSZtaWFvcGFpJnF1YW5taW4mbGlzaGlwaW4maGFvdHUma2FpeWFuJnQtNTc2TzVhV3omdC01cENlNTZ5UiZ0LTU2Uys1THlhJnQtNWIyeDZLZUcmdC02Wit6NUxtUSZ0LTVhaXg1TG1RJnQtNXEyajZJTzk2WWVQJnQtNTVTZjVyUzcmdC01WXFvNXJ5ciZ0LTVMMlQ2SUt5JnQtNTc2TzZhT2YmdC02SkNNNTdPNyZ0LTVwZUY1cmk0JnQtNXJpNDVvaVAmdC01cGlPNXBpZiZ0LTVwZTI1YkNhIixwbGF5X3BhcnNlOiEwLGxhenk6J2pzOi9rdWFpc2hvdS8udGVzdChpbnB1dCk/aW5wdXQ9anNwLnBkZmgocmVxdWVzdCgiaHR0cDovL20uc2hhcmVuaWNlLm5ldC9tb2JpbGUiK2lucHV0LnNwbGl0KCJuZXQiKVsxXSksIi52aWRlby1wbGF5LWJveCYmdmlkZW8mJnNyYyIpOmlucHV0PWpzcC5wZGZoKHJlcXVlc3QoImh0dHA6Ly9tLnNoYXJlbmljZS5uZXQvbW9iaWxlIitpbnB1dC5zcGxpdCgibmV0IilbMV0pLCIudmlkZW8tcGxheS1ib3gmJnZpZGVvJiZzcmMiKSsiIy5tcDQiJyxsaW1pdDo2LGRvdWJsZTohMSwi5o6o6I2QIjoiKiIsIuS4gOe6pyI6Ii5pdGVtLWJveCYmdWwmJmxpO2EmJnRpdGxlO2ltZyYmZGF0YS1vcmlnaW5hbDs7YSYmaHJlZiIsIuS6jOe6pyI6IioifTs=
|
||||||
@@ -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
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
**dmFyIHJ1bGUgPSB7CiAgICB0aXRsZTonSlJLQU7nm7Tmkq0nLAogICAgaG9zdDonaHR0cDovL3d3dy5qcmthbjIwMjIuY29tLz9sYW49MScsCiAgICAvLyBKUktBTuWkh+eUqOWfn+WQjTp3d3cuanJrYW5rYW4uY29tIC8gd3d3Lmpya2FuMzY1LmNvbSAvIGpyc3l5ZHMuY29tIC8gd3d3LmpyeXlkcy5jb20gLyBqcnNrYW4uY29tIC8ganJzYnhqLmNvbSAvSnJrYW7lpIfnlKjln5/lkI0xOiB3d3cuanJrYW4yMDIyLmNvbSDlpIfnlKjln5/lkI0yOiB3d3cuanJzMjMuY29tIOWkh+eUqOWfn+WQjTI6IHd3dy5qcnNray5jb20g5pyA5paw572R5Z2A5Y+R5biDOnd3dy5xaXVtaTEzMTQuY28KICAgIHVybDonL2Z5Y2xhc3MnLAogICAgc2VhcmNoVXJsOicnLAogICAgc2VhcmNoYWJsZTowLAogICAgcXVpY2tTZWFyY2g6MCwKICAgIGNsYXNzX25hbWU6J+WFqOmDqCcsCiAgICBjbGFzc191cmw6Jy8nLAogICAgLy9jbGFzc191cmw6Jz9saXZlJywKICAgIGhlYWRlcnM6ewogICAgICAgICdVc2VyLUFnZW50JzonUENfVUEnCiAgICB9LAogICAgdGltZW91dDo1MDAwLAogICAgcGxheV9wYXJzZTp0cnVlLAogICAgbGF6eToiIiwKICAgIGxpbWl0OjYsCiAgICBkb3VibGU6ZmFsc2UsCiAgICDmjqjojZA6JyonLAogICAgLy8g5LiA57qnOicubG9jX21hdGNoOmVxKDIpIHVsO2xpOmd0KDEpOmx0KDQpJiZUZXh0O2ltZyYmc3JjO2xpOmx0KDIpJiZUZXh0O2E6ZXEoMSkmJmhyZWYnLC8vcGxheS5zcG9ydHN0ZWFtMzMzLmNvbQogICAg5LiA57qnOiJqczp2YXIgaXRlbXM9W107cGRmaD1qc3AucGRmaDtwZGZhPWpzcC5wZGZhO3BkPWpzcC5wZDt2YXIgaHRtbD1yZXF1ZXN0KGlucHV0KTt2YXIgdGFicz1wZGZhKGh0bWwsJ2JvZHkmJi5kLXRvdWNoJyk7dGFicy5mb3JFYWNoKGZ1bmN0aW9uKGl0KXt2YXIgcHo9cGRmaChpdCwnLm5hbWU6ZXEoMSkmJlRleHQnKTt2YXIgcHM9cGRmaChpdCwnLm5hbWU6ZXEoMCkmJlRleHQnKTt2YXIgcGs9cGRmaChpdCwnLm5hbWU6ZXEoMikmJlRleHQnKTt2YXIgaW1nPXBkKGl0LCdpbWcmJnNyYycpO3ZhciB0aW1lcj1wZGZoKGl0LCcubGFiX3RpbWUmJlRleHQnKTt2YXIgdXJsPXBkKGl0LCdhLm1lJiZocmVmJyk7aXRlbXMucHVzaCh7ZGVzYzp0aW1lcisnIC0gJytwcyx0aXRsZTpweisnIFZTICcrcGsscGljX3VybDppbWcsdXJsOnVybH0pfSk7c2V0UmVzdWx0KGl0ZW1zKTsiLAogICAg5LqM57qnOnsKICAgICAgICAidGl0bGUiOiIuc3ViX2xpc3QgbGk6bHQoMikmJlRleHQ7LnN1Yl9saXN0IGxpOmVxKDApJiZUZXh0IiwKICAgICAgICAiaW1nIjoiaW1nJiZzcmMiLAogICAgICAgICJkZXNjIjoiOzs7LmxhYl90ZWFtX2hvbWUmJlRleHQ7LmxhYl90ZWFtX2F3YXkmJlRleHQiLAogICAgICAgICJjb250ZW50IjoiLnN1Yl9saXN0IHVsJiZUZXh0IiwKICAgICAgICAidGFicyI6ImpzOlRBQlM9Wyflrp7ml7bnm7Tmkq0nXSIsCiAgICAgICAgImxpc3RzIjoianM6TElTVFM9W107cGRmaD1qc3AucGRmaDtwZGZhPWpzcC5wZGZhO3BkPWpzcC5wZDtsZXQgaHRtbD1yZXF1ZXN0KGlucHV0KTtsZXQgZGF0YT1wZGZhKGh0bWwsJy5zdWJfcGxheWxpc3QmJmEnKTtUQUJTLmZvckVhY2goZnVuY3Rpb24odGFiKXtsZXQgZD1kYXRhLm1hcChmdW5jdGlvbihpdCl7bGV0IG5hbWU9cGRmaChpdCwnc3Ryb25nJiZUZXh0Jyk7bGV0IHVybD1wZChpdCwnYSYmZGF0YS1wbGF5Jyk7cmV0dXJuIG5hbWUrJyQnK3VybH0pO0xJU1RTLnB1c2goZCl9KTsiLAogICAgfSwKICAgIOaQnOe0ojonJywKfQ==
|
||||||
@@ -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": "少儿频道"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -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
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
Vendored
+1
@@ -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__;
|
||||||
|
/******/ })()
|
||||||
|
;
|
||||||
|
});
|
||||||
@@ -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)
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
搜索: "",
|
||||||
|
};
|
||||||
@@ -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'},
|
||||||
|
搜索:'',
|
||||||
|
}
|
||||||
@@ -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 "};
|
||||||
@@ -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',
|
||||||
|
},
|
||||||
|
搜索:'*',
|
||||||
|
}
|
||||||
@@ -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',
|
||||||
|
}
|
||||||
+4643
File diff suppressed because it is too large.
Load diff
@@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
+1168
File diff suppressed because it is too large.
Load diff
@@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -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": "动物世界"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
}
|
||||||
+3635
File diff suppressed because it is too large.
Load diff
+1051
File diff suppressed because it is too large.
Load diff
@@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
+3687
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
Binary file not shown.
+2631
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);
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
Vendored
+73
@@ -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
|
||||||
@@ -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,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('&')
|
||||||
|
.split('<').join('<')
|
||||||
|
.split('>').join('>')
|
||||||
|
.split('"').join('"');
|
||||||
|
},
|
||||||
|
safe: function (val) {
|
||||||
|
return val;
|
||||||
|
},
|
||||||
|
toJson: function (val) {
|
||||||
|
if (typeof val === 'object') {
|
||||||
|
return JSON.stringify(val);
|
||||||
|
}
|
||||||
|
return toString(val);
|
||||||
|
}
|
||||||
|
}, opts.filters || {});
|
||||||
|
var stack = [create(data || {})], output = [];
|
||||||
|
return {
|
||||||
|
get: get,
|
||||||
|
set: set,
|
||||||
|
push: push,
|
||||||
|
pop: pop,
|
||||||
|
write: write,
|
||||||
|
filter: filter,
|
||||||
|
each: each,
|
||||||
|
block: block,
|
||||||
|
render: render
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
var runtime;
|
||||||
|
|
||||||
|
jinja.compile = function (markup, opts) {
|
||||||
|
opts = opts || {};
|
||||||
|
var parser = new Parser();
|
||||||
|
parser.readTemplateFile = this.readTemplateFile;
|
||||||
|
var code = [];
|
||||||
|
code.push('function render($) {');
|
||||||
|
code.push('var get = $.get, set = $.set, push = $.push, pop = $.pop, write = $.write, filter = $.filter, each = $.each, block = $.block;');
|
||||||
|
code.push.apply(code, parser.parse(markup));
|
||||||
|
code.push('return $.render();');
|
||||||
|
code.push('}');
|
||||||
|
code = code.join('\n');
|
||||||
|
if (opts.runtime === false) {
|
||||||
|
var fn = new Function('data', 'options', 'return (' + code + ')(runtime(data, options))');
|
||||||
|
} else {
|
||||||
|
runtime = runtime || (runtime = getRuntime.toString());
|
||||||
|
fn = new Function('data', 'options', 'return (' + code + ')((' + runtime + ')(data, options))');
|
||||||
|
}
|
||||||
|
return {render: fn};
|
||||||
|
};
|
||||||
|
|
||||||
|
jinja.render = function (markup, data, opts) {
|
||||||
|
var tmpl = jinja.compile(markup);
|
||||||
|
return tmpl.render(data, opts);
|
||||||
|
};
|
||||||
|
|
||||||
|
jinja.templateFiles = [];
|
||||||
|
|
||||||
|
jinja.readTemplateFile = function (name) {
|
||||||
|
var templateFiles = this.templateFiles || [];
|
||||||
|
var templateFile = templateFiles[name];
|
||||||
|
if (templateFile == null) {
|
||||||
|
throw new Error('Template file not found: ' + name);
|
||||||
|
}
|
||||||
|
return templateFile;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* Helpers
|
||||||
|
*/
|
||||||
|
|
||||||
|
function trimLeft(str) {
|
||||||
|
return str.replace(LEADING_SPACE, '');
|
||||||
|
}
|
||||||
|
|
||||||
|
function trimRight(str) {
|
||||||
|
return str.replace(TRAILING_SPACE, '');
|
||||||
|
}
|
||||||
|
|
||||||
|
function matchAll(str, reg, fn) {
|
||||||
|
//copy as global
|
||||||
|
reg = new RegExp(reg.source, 'g' + (reg.ignoreCase ? 'i' : '') + (reg.multiline ? 'm' : ''));
|
||||||
|
var match;
|
||||||
|
while ((match = reg.exec(str))) {
|
||||||
|
var result = fn(match[0], match.index, str);
|
||||||
|
if (typeof result == 'number') {
|
||||||
|
reg.lastIndex = result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}));
|
||||||
@@ -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__;
|
||||||
|
/******/ })()
|
||||||
|
;
|
||||||
|
});
|
||||||
+1737
File diff suppressed because it is too large.
Load diff
@@ -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
|
||||||
@@ -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
|
||||||
Vendored
+2
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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);
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
+1737
File diff suppressed because it is too large.
Load diff
@@ -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('&')
|
||||||
|
.split('<').join('<')
|
||||||
|
.split('>').join('>')
|
||||||
|
.split('"').join('"');
|
||||||
|
},
|
||||||
|
safe: function (val) {
|
||||||
|
return val;
|
||||||
|
},
|
||||||
|
toJson: function (val) {
|
||||||
|
if (typeof val === 'object') {
|
||||||
|
return JSON.stringify(val);
|
||||||
|
}
|
||||||
|
return toString(val);
|
||||||
|
}
|
||||||
|
}, opts.filters || {});
|
||||||
|
var stack = [create(data || {})], output = [];
|
||||||
|
return {
|
||||||
|
get: get,
|
||||||
|
set: set,
|
||||||
|
push: push,
|
||||||
|
pop: pop,
|
||||||
|
write: write,
|
||||||
|
filter: filter,
|
||||||
|
each: each,
|
||||||
|
block: block,
|
||||||
|
render: render
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
var runtime;
|
||||||
|
|
||||||
|
jinja.compile = function (markup, opts) {
|
||||||
|
opts = opts || {};
|
||||||
|
var parser = new Parser();
|
||||||
|
parser.readTemplateFile = this.readTemplateFile;
|
||||||
|
var code = [];
|
||||||
|
code.push('function render($) {');
|
||||||
|
code.push('var get = $.get, set = $.set, push = $.push, pop = $.pop, write = $.write, filter = $.filter, each = $.each, block = $.block;');
|
||||||
|
code.push.apply(code, parser.parse(markup));
|
||||||
|
code.push('return $.render();');
|
||||||
|
code.push('}');
|
||||||
|
code = code.join('\n');
|
||||||
|
if (opts.runtime === false) {
|
||||||
|
var fn = new Function('data', 'options', 'return (' + code + ')(runtime(data, options))');
|
||||||
|
} else {
|
||||||
|
runtime = runtime || (runtime = getRuntime.toString());
|
||||||
|
fn = new Function('data', 'options', 'return (' + code + ')((' + runtime + ')(data, options))');
|
||||||
|
}
|
||||||
|
return {render: fn};
|
||||||
|
};
|
||||||
|
|
||||||
|
jinja.render = function (markup, data, opts) {
|
||||||
|
var tmpl = jinja.compile(markup);
|
||||||
|
return tmpl.render(data, opts);
|
||||||
|
};
|
||||||
|
|
||||||
|
jinja.templateFiles = [];
|
||||||
|
|
||||||
|
jinja.readTemplateFile = function (name) {
|
||||||
|
var templateFiles = this.templateFiles || [];
|
||||||
|
var templateFile = templateFiles[name];
|
||||||
|
if (templateFile == null) {
|
||||||
|
throw new Error('Template file not found: ' + name);
|
||||||
|
}
|
||||||
|
return templateFile;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* Helpers
|
||||||
|
*/
|
||||||
|
|
||||||
|
function trimLeft(str) {
|
||||||
|
return str.replace(LEADING_SPACE, '');
|
||||||
|
}
|
||||||
|
|
||||||
|
function trimRight(str) {
|
||||||
|
return str.replace(TRAILING_SPACE, '');
|
||||||
|
}
|
||||||
|
|
||||||
|
function matchAll(str, reg, fn) {
|
||||||
|
//copy as global
|
||||||
|
reg = new RegExp(reg.source, 'g' + (reg.ignoreCase ? 'i' : '') + (reg.multiline ? 'm' : ''));
|
||||||
|
var match;
|
||||||
|
while ((match = reg.exec(str))) {
|
||||||
|
var result = fn(match[0], match.index, str);
|
||||||
|
if (typeof result == 'number') {
|
||||||
|
reg.lastIndex = result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}));
|
||||||
+412
@@ -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};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
dmFyIHJ1bGU9ewogIHRpdGxlOiAiMTExdHYiLAogIOaooeadvzogIuiHquWKqCIsCiAgaG9zdDogImh0dHBzOi8vd3d3LjExMXR2cy5jb20iLAogIHVybDogIi92b2RzaG93L2Z5ZmlsdGVyLmh0bWwiLAogIGZpbHRlcmFibGU6IDEsCiAgZmlsdGVyOiAiSDRzSUFBQUFBQUFBQSsyYmEwOGJSeFNHLzh0K2FpVXFlVzNNSmQ5Qzd2Zjd0Y3FIdEVJcWFwcEtUVnFwaXBBQVkyTk1zQUVCRHNHQk51RFlVSHlCRU5mWVhmZ3plL08vNk5wejVweXpyUlE1aGJUUXpJZEllWjkzZDNablptZk9xM0h5VEFzR3RHTmZQdE8rN2Y5Wk82WTVtM1ZyYVVMcjBCNC8vSzZmNjU4ZVB2cXh2M1hoWXc5YjBYd2prbTlpVDNnTkRIWUk3c3krYzNNeGF6ejNXZC9BbzRHdnZEK2Z3MFZkT2w1a0xScG1MZWRkSk84bnE3Rzh4bmlRMnQxTk1oNmlwbEpseGp1UjI5VVM0ejNFMDFuR3c4ak5hc2FhVEp1MWw4enRvcWRFSzJaOUh2c21MK2pXQmg4MEx4RWo1eGwySkVvamgvbzlJMGRQbU05UXd5Q3c3L0ZOYUlnRTltZDR5aDZhQnc4RXRwbkltMFpHdGlrRXRwbWJ0bmJxc2swaDhENThjUkw0dlBnTHN6WXVueWVFOU56Q0crdjVPbmdnOEhtSmttTklEd1RONGFxN2dzOFRBcitIVnpQMmk2dzFYTEVpS2JqQ2g3Q05Zc1dxRldRYlFxQ1hIYU8rZ2tBdkdiTlNXOUlUQXQrNW5yS2lWZm5PUXVEM3N2T3IvV29hUEJBNFJwR292VkNTWXlRRVBtOHU1bzJhZko0US9DTnlTd1UzUDBRZkVlcTJQcUpGdzd0ZU5pNEVUczdFSm5rZ3NLTmJxK1NCd0FsSUc5N0NJSnMwVzdMTUZvSXROL0pBc0VWbEZTUHliWVh3cmFlZGJiTnVzUFVrZFR0REVReDRtNEhjbmRpKzRJa1E4UkRuUWVKQnpuWGlPdWNCNGdIRzlWN2szbDhaN3lIZXczazM4VzdPdTRoM2NSNG1IdWFjK3F2ei91clVYNTMzVjZmKzZyeS9PdlZYNS8zVnFiODY3MitBK3V2OTFUZUJoYlJkbW1RVEtQVmZKaEF4bjhEakFJNGo2UVBTaCtRRWtCTklUZ0k1aWVRVWtGTklUZ001amVRTWtETkl6Z0k1aStRY2tITkl6Z001aitRQ2tBdElMZ0s1aU9RU2tFdElMZ081ak9RS2tDdElyZ0s1aXVRYWtHdElyZ081anVRR2tCdEliZ0s1aWVRV2tGdEliZ081amVRT2tEdEk3Z0s1aStRZWtIdEk3Z081anlUd2hmeFdBcjRQeFU3T1dMVVVmU2lvL1IrS25hNDAwdHRrZXVqcGdIY0Q3c20xbWwyZTlmbmZERHg5UWx0Z2FkU0t4M3orazYrLy82Ry8rUzRQT3JSZzczNWpFQzEzVVcyZDhUR3dRclJpUkhGbkZpMHlVZHVaeGZKUHEwUXppNWF5cVByTW90VXZpamV6YU1NUXRadFp0TWU0eGJKbHpER0x0aVV2QWxuRzV0K3pIWFhQamlUc2taZDBjeGZyUTZ2c000dkZ1TmhNWTJHTldTekpqV3c0ODlQTUNxdlVkU0NwSzVGM1p1djBuazNSVG1LeUMyL00zVi9rdXdqaG4wWjVueEI0MzlJNkpSOFE3WXlubUgvcENlSC8yREJwdFVRNzZVMUVTRitlcERibng5enhtbXhUQ096ZmJsR3NBTmxGMU8xazJmZGxUWGR2eXBzRE9ZdEMwS2htS0d1Q1FHOTB6L2xOOWdRRWpvQXg3ZFF6dmhmMm9VODBkOXB2NTVnbkJFM3c3NnduUXRCOVpYNWZXV1ZabFdWVmxsVlo5akJtMlZEUFByTnNpSmExdFpwckxNU2MraDlVRmtPMEdUUVAybEpsbjl2SjBtQTY2KzNNZnBjV29yMlJjM2FUZmpkNGNPbXVNVFR1NUlaa2dSQ0Nra1BVSGwzRzVOQVNsSC8zM0hKY2xpd2g4TDZaZ3AyUTlSWUVkVFpxVjJYaUFFSEY2cTI1TTRYRnFpV3dETzRtR3l2eVhVQ2dWMXUzaWt2U0V3S2Z0N2pGa29vUUZOU1g3VzFNbWtMUWxGWHRlTXFzelZEaThDRWNoKzNYWG02UzR5QUV0ckU1NGc0L2wzY0w4WW5tQ1ZYN05WWDdOVlg3VmUwL0hMVy9NN1RQMnQvSnpwYlNXVHV6NFRzcTZHUkhNNjM2N1hkcEtjT3ZmRDZYTmdDUkcvd3ViUnZpQnplL1M1dU5NN2RPeHpiaFhuVWVwTTZEWktwVDUwSHFQT2dEODVzNkQxS1pVR1ZDbFFuLzE1bVEvN2FwSXBLS1NDb2lxWWgweUNPU3FyQ3F3aDZkQ2h2V1ZZVlZGVlpWV0ZWaGowNkZWWWNRa3F0RENFMUZKQldSUG5KRUN1N3poNmt3TFNNck5la2FHMDdjWUQ4RThmOFYxcXh4Wm4yQlFrR1kvV3lWcmpock5XZHR6NjBrcEVzTDNSMmR0cmVYZkFVK1ROdURreXliOVpWR3hMQ3FJOUtsVGFVeDhzNHVwM3pGTGR4emtQK2dKZWEreHVJaUJIcVpxajBrMHhFSWZPbmhzdVhsdXJ3TU9xUnh3TW9wSzF0eEp0S3lXcURHTm1ZelZsRU9Kb2ovS3JIKzY2bjBZeVJQbFM3L1licjhrQVNwS3FTcWtOcFJxWkNEZndKNk9wVkRpejBBQUE9PSIsCiAgZmlsdGVyX3VybDogInt7Zmwu57G75Z6LfX0tLXt7Zmwu5o6S5bqPfX0te3tmbC7liafmg4V9fS17e2ZsLuivreiogH19LXt7Zmwu5a2X5q+NfX0tLS1meXBhZ2UtLS17e2ZsLuW5tOS7vX19IiwKICBmaWx0ZXJfZGVmOiB7CiAgICAyMDogewogICAgICDnsbvlnos6ICIyMCIKICAgIH0sCiAgICAyOTogewogICAgICDnsbvlnos6ICIyOSIKICAgIH0sCiAgICAzODogewogICAgICDnsbvlnos6ICIzOCIKICAgIH0sCiAgICA0MzogewogICAgICDnsbvlnos6ICI0MyIKICAgIH0sCiAgICA0OTogewogICAgICDnsbvlnos6ICI0OSIKICAgIH0sCiAgICA1MTogewogICAgICDnsbvlnos6ICI1MSIKICAgIH0sCiAgICA1MjogewogICAgICDnsbvlnos6ICI1MiIKICAgIH0KICB9LAogIGNsYXNzX3BhcnNlOiAiLm5hdmJhci1pdGVtcyYmbGk7YSYmVGV4dDthJiZocmVmOy4qLyhcXGQrKS5odG1sIiwKICAgIOaQnOe0ojogIi5tb2R1bGUtaXRlbXMmJi5tb2R1bGUtaXRlbTtzdHJvbmcmJlRleHQ7aW1nJiZkYXRhLW9yaWdpbmFsOy5tb2R1bGUtaXRlbS1ub3RlJiZUZXh0O2EmJmhyZWY7Lm1vZHVsZS1jYXJkLWl0ZW0taW5mby0tc3Ryb25nJiZUZXh0IiwKfQ==
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Z2xvYmFsVGhpcy5nZXRWaWRlb3MgPSBmdW5jdGlvbiAobGluaywga2V5KSB7CiAgICBsZXQgaHRtbCA9IHJlcXVlc3QobGluayk7CiAgICBsZXQganNvbiA9IEpTT04ucGFyc2UoaHRtbCk7CiAgICBsZXQgZGF0YSA9IGpzb24uZGF0YTsKICAgIGRhdGEgPSBkYXRhW2tleV07CiAgICBsZXQgdmlkZW9zID0gZGF0YS5tYXAoKG4pID0+IHsKICAgICAgICBsZXQgaWQgPSBuLnVybDsKICAgICAgICBsZXQgbmFtZSA9IG4ubGVhZ3VlX25hbWVfemggKyAnICcgKyBuLmhvbWVfdGVhbV96aCArICcgVlMgJyArIG4uYXdheV90ZWFtX3poOwogICAgICAgIGxldCBwaWMgPSBuLmNvdmVyOwogICAgICAgIGxldCByZW1hcmtzID0gbi5uaWNrbmFtZTsKICAgICAgICByZXR1cm4gewogICAgICAgICAgICB2b2RfaWQ6IGlkLAogICAgICAgICAgICB2b2RfbmFtZTogbmFtZSwKICAgICAgICAgICAgdm9kX3BpYzogcGljLAogICAgICAgICAgICB2b2RfcmVtYXJrczogcmVtYXJrcywKICAgICAgICB9OwogICAgfSk7CiAgICByZXR1cm4gdmlkZW9zCn0KdmFyIHJ1bGUgPSB7CiAgICDnsbvlnos6ICflvbHop4YnLC8v5b2x6KeGfOWQrOS5pnzmvKvnlLt85bCP6K+0CiAgICB0aXRsZTogJzM2MOWQp1vnkINdJywKICAgIGhvc3Q6ICdodHRwczovL20uMzYwYmEuY28vJywKICAgIGhvbWVVcmw6ICcvYXBpL3dlYi9oNV9pbmRleCcsCiAgICB1cmw6ICcvYXBpL3dlYi9saXZlX2xpc3RzL2Z5Y2xhc3MnLAogICAgc2VhcmNoVXJsOiAnL2FwaS93ZWIvc2VhcmNoP2tleXdvcmQ9KionLAogICAgc2VhcmNoYWJsZTogMiwKICAgIHF1aWNrU2VhcmNoOiAwLAogICAgZmlsdGVyYWJsZTogMCwKICAgIGhlYWRlcnM6IHsKICAgICAgICAnVXNlci1BZ2VudCc6ICdNT0JJTEVfVUEnLAogICAgfSwKICAgIHRpbWVvdXQ6IDUwMDAsCiAgICBjbGFzc19uYW1lOiAn5YWo6YOoJui2s+eQgybnr67nkIMm57u85ZCIJywKICAgIGNsYXNzX3VybDogJzEmMiYzJjk5JywKICAgIHBsYXlfcGFyc2U6IHRydWUsCiAgICBwYWdlY291bnQ6IHsKICAgICAgICAiMSI6IDEsCiAgICAgICAgIjIiOiAxLAogICAgICAgICIzIjogMSwKICAgICAgICAiOTkiOiAxLAogICAgfSwKICAgIGxhenk6ICRqcy50b1N0cmluZygoKSA9PiB7CiAgICAgICAgaW5wdXQgPSB7cGFyc2U6IDAsIHVybDogaW5wdXQsIGhlYWRlcjogcnVsZS5oZWFkZXJzfTsKICAgIH0pLAogICAg6aKE5aSE55CGOiAkanMudG9TdHJpbmcoKCkgPT4gewogICAgICAgIE9iamVjdC5hc3NpZ24ocnVsZS5oZWFkZXJzLCB7CiAgICAgICAgICAgICdSZWZlcmVyJzogcnVsZS5ob3N0LAogICAgICAgICAgICAnT3JpZ2luJzogcnVsZS5ob3N0LAogICAgICAgIH0pOwogICAgfSksCiAgICDmjqjojZA6ICRqcy50b1N0cmluZygoKSA9PiB7CiAgICAgICAgVk9EUyA9IGdldFZpZGVvcyhpbnB1dCwgJ2hvdF9tYXRjaGVzJyk7CgogICAgfSksCiAgICDkuIDnuqc6ICRqcy50b1N0cmluZygoKSA9PiB7CiAgICAgICAgVk9EUyA9IFtdOwogICAgICAgIGlmIChNWV9QQUdFIDw9IDEpIHsKICAgICAgICAgICAgVk9EUyA9IGdldFZpZGVvcyhpbnB1dCwgJ2RhdGEnKTsKICAgICAgICB9CiAgICB9KSwKICAgIOS6jOe6pzogJyonLAogICAg5pCc57SiOiAkanMudG9TdHJpbmcoKCkgPT4gewogICAgICAgIFZPRFMgPSBbXTsKICAgICAgICBpZiAoTVlfUEFHRSA8PSAxKSB7CiAgICAgICAgICAgIFZPRFMgPSBnZXRWaWRlb3MoaW5wdXQsICdiYWxsJyk7CiAgICAgICAgfQogICAgfSksCn0=
|
||||||
@@ -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"}]}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
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
Line truncated
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
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
|
||||||
@@ -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==
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Z2xvYmFsVGhpcy5wb3N0MiA9IGZ1bmN0aW9uIChfdXJsLCBfZGF0YSkgewogICAgLy8gbGV0IGRhdGEgPSBidWlsZFVybChfdXJsLF9kYXRhKS5zcGxpdCgnPycpWzFdOwogICAgLy8gcmV0dXJuIHBvc3QoX3VybCx7Ym9keTplbmNvZGVVUklDb21wb25lbnQoZGF0YSksaGVhZGVyczpydWxlLmhlYWRlcnN9KTsKICAgIHJldHVybiBwb3N0KF91cmwsIHtkYXRhOiBfZGF0YSwgaGVhZGVyczogcnVsZS5oZWFkZXJzfSk7Cn0KdmFyIHJ1bGUgPSB7CiAgICDnsbvlnos6ICflkKzmrYwnLC8v5b2x6KeGfOWQrOS5pnzmvKvnlLt85bCP6K+0CiAgICB0aXRsZTogJ0tUVuatjOWOhVvlkKxdJywKICAgIC8vIGhvc3Q6ICdodHRwczovL3Zwc2RuLmxldXNlLnRvcCcsCiAgICBob3N0OiAnaHR0cHM6Ly9hcGkuY2xvdWRmbGFyZS5jb20nLAogICAgcm9vdDogJ2h0dHBzOi8vYXBpLmNsb3VkZmxhcmUuY29tL2NsaWVudC92NC9hY2NvdW50cy8xZWNjNGE5NDdjNWE1MTg0MjcxNDFmNGE2OGM4NmVhMS9kMS9kYXRhYmFzZS80ZjEzODVhYi1mOTUyLTQwNGEtODcwYS1lNGNmZWY0YmQ5ZmQvcXVlcnknLAogICAgbWt0dlVybDogJ2h0dHA6Ly90eHlzb25nLm15c290by5jYy9zb25ncy8nLAogICAgdXJsOiAnL3NlYXJjaG12P3RhYmxlPWZ5Y2xhc3MmcGc9ZnlwYWdlI2Z5ZmlsdGVyJywKICAgIHNlYXJjaFVybDogJy9zZWFyY2htdj9rZXl3b3Jkcz0qKiZwZz1meXBhZ2UnLAogICAgcGljOiAnaHR0cHM6Ly9hcGkucGF1Z3JhbS5jb20vd2FsbHBhcGVyLz9zb3VyY2U9c2luYSZjYXRlZ29yeT11cycsCiAgICBzZWFyY2hhYmxlOiAyLAogICAgcXVpY2tTZWFyY2g6IDAsCiAgICBmaWx0ZXJhYmxlOiAxLAogICAgZmlsdGVyOiAnSDRzSUFBQUFBQUFBQTUyU1RVL0NNQmpIdjB2UEhBVGZ1ZXJGa3dlUGhnT0hTUlpobUlFbWhKQmdCTElJQkVnSTAvQnFBZ0ZFd2dZUkRiandaV3pwdm9VcjJ0R2xYT1RXL3ArbjdhKy9OZzRpb2hRUVpPQzlqSU5ySVFhOFFCWUNZbGdDTGlENVE0STFoelVONW1iV1hKVEVxRFczUm5mKzRLMndXaUtSaG5UUGZPaVJtRlFUcnZocTRDWTdrR3E3YXo1bjdOanpGNlBQRVN4b2RyeEx1NnNHYkZkQXdrY0t2enhYWVRtMHBsbnFjNmdNdHFaWmxqODRGTmlaY0J6TGVRb1dGY0xoYzRGSVdBb3dnb0oreGc0ZURYRXZ1ZWJ4L0JNSXF3VnJDNTZwYXJBeHhUS2JmVGJlb3pMVkRodnYwMjdWZ0htVnJSelFVN002R3gvU1c0L2JiSHhFWWRMVDczbkZqby9wOXYwM1ZIY2M3TjZoUUJQTmtkdWZJYTlCN2N0Um9qZkcwMGNLeXp4K05IWWpPQisva2QzNjhkSDdQWDdKOGE2TENpenJuR3VVVENLMXk3bUdxUVVhNW5qWDlUNHNHWnhvcEpYWWJpb2FLdzFVSGZPaUt6VTR5M0NpOGVMVkhEeHRzS3kyVUw1NWVuWnhjcjVCdGFIamJtYjFneE0vOHNpOVRPWURBQUE9JywKICAgIGZpbHRlcl91cmw6ICd7e2ZsfX0nLAogICAgaGVhZGVyczogewogICAgICAgICdVc2VyLUFnZW50JzogJ01PQklMRV9VQScsCiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAnQXV0aG9yaXphdGlvbic6ICdCZWFyZXIgTHVlTnJ5Y1ctNmprczd4QmpQcVg5bWpGcTJBMk01S3VsNklnM0Q4eicsCiAgICB9LAogICAgdGltZW91dDogNTAwMCwKICAgIGNsYXNzX25hbWU6ICfmrYzmiYsm5puy5bqTJywKICAgIGNsYXNzX3VybDogJ3NpbmdlciZzb25nJywKICAgIOS4gOe6pzogJGpzLnRvU3RyaW5nKCgpID0+IHsKICAgICAgICBsZXQgZCA9IFtdOwogICAgICAgIC8vIGxldCBfdXJsID0gaW5wdXQuc3BsaXQoJyMnKVswXTsKICAgICAgICBsZXQgX3VybCA9IHJ1bGUucm9vdDsKICAgICAgICBsZXQgcGFyYW1zID0gW107CiAgICAgICAgbGV0IHNxbCA9ICcnOwogICAgICAgIGxldCBzaXplID0gMjA7CiAgICAgICAgbGV0IHBnID0gTVlfUEFHRTsKICAgICAgICBpZiAoTVlfQ0FURSA9PT0gJ3NpbmdlcicpIHsKICAgICAgICAgICAgc3FsID0gJ3NlbGVjdCBuYW1lLCBpZCBmcm9tIHNpbmdlciB3aGVyZSAxPTEnOwogICAgICAgICAgICBpZiAoTVlfRkwucmVnaW9uKSB7CiAgICAgICAgICAgICAgICBwYXJhbXMucHVzaChNWV9GTC5yZWdpb24pOwogICAgICAgICAgICAgICAgc3FsICs9ICcgYW5kIHJlZ2lvbl9pZCA9ID8nOwogICAgICAgICAgICAgICAgLy8gX3VybCArPSAnJndoZXJlPXJlZ2lvbl9pZCZrZXl3b3Jkcz0nICsgTVlfRkwucmVnaW9uICsgJyZzaXplPTIxJzsKICAgICAgICAgICAgfSBlbHNlIGlmIChNWV9GTC5mb3JtKSB7CiAgICAgICAgICAgICAgICBwYXJhbXMucHVzaChNWV9GTC5mb3JtKTsKICAgICAgICAgICAgICAgIHNxbCArPSAnIGFuZCBmb3JtX2lkID0gPyc7CiAgICAgICAgICAgICAgICAvLyBfdXJsICs9ICcmd2hlcmU9Zm9ybV9pZCZrZXl3b3Jkcz0nICsgTVlfRkwuZm9ybSArICcmc2l6ZT0yMSc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgc3FsICs9IGAgb3JkZXIgYnkgaWQgbGltaXQgJHsocGcgLSAxKSAqIHNpemV9LCR7c2l6ZX07YDsKICAgICAgICAgICAgbGV0IGh0bWwgPSBwb3N0MihfdXJsLCB7cGFyYW1zOiBwYXJhbXMsIHNxbDogc3FsfSk7CiAgICAgICAgICAgIGxldCBqc29uID0gSlNPTi5wYXJzZShodG1sKTsKICAgICAgICAgICAgZCA9IGpzb24ucmVzdWx0WzBdLnJlc3VsdHMubWFwKGl0ZW0gPT4gewogICAgICAgICAgICAgICAgbGV0IHBpYyA9IHJ1bGUubWt0dlVybCArIGl0ZW0uaWQgKyAnLmpwZyc7CiAgICAgICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgICAgIHZvZF9pZDogaXRlbS5uYW1lICsgJ0BAJyArIGl0ZW0ubmFtZSArICdAQCcgKyBwaWMsCiAgICAgICAgICAgICAgICAgICAgdm9kX25hbWU6IGl0ZW0ubmFtZSwKICAgICAgICAgICAgICAgICAgICB2b2RfcGljOiBwaWMsCiAgICAgICAgICAgICAgICAgICAgdm9kX3JlbWFya3M6ICcnLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9IGVsc2UgaWYgKE1ZX0NBVEUgPT09ICdzb25nJykgewogICAgICAgICAgICBzcWwgPSAnc2VsZWN0IG51bWJlciwgbmFtZSBmcm9tIHNvbmcgd2hlcmUgMT0xJzsKICAgICAgICAgICAgaWYgKE1ZX0ZMLmxhbikgewogICAgICAgICAgICAgICAgcGFyYW1zLnB1c2goTVlfRkwubGFuKTsKICAgICAgICAgICAgICAgIHNxbCArPSAnIGFuZCBsYW5ndWFnZV9pZCA9ID8nOwogICAgICAgICAgICAgICAgLy8gX3VybCArPSAnJndoZXJlPWxhbmd1YWdlX2lkJmtleXdvcmRzPScgKyBNWV9GTC5sYW4gKyAnJnNpemU9MjEnOwogICAgICAgICAgICB9IGVsc2UgaWYgKE1ZX0ZMLnR5cGUpIHsKICAgICAgICAgICAgICAgIHBhcmFtcy5wdXNoKE1ZX0ZMLnR5cGUpOwogICAgICAgICAgICAgICAgc3FsICs9ICcgYW5kIHR5cGVfaWQgPSA/JzsKICAgICAgICAgICAgICAgIC8vIF91cmwgKz0gJyZ3aGVyZT10eXBlX2lkJmtleXdvcmRzPScgKyBNWV9GTC50eXBlICsgJyZzaXplPTIxJzsKICAgICAgICAgICAgfQogICAgICAgICAgICBzcWwgKz0gYCBvcmRlciBieSBudW1iZXIgbGltaXQgJHsocGcgLSAxKSAqIHNpemV9LCR7c2l6ZX07YDsKICAgICAgICAgICAgbGV0IGh0bWwgPSBwb3N0MihfdXJsLCB7cGFyYW1zOiBwYXJhbXMsIHNxbDogc3FsfSk7CiAgICAgICAgICAgIGxldCBqc29uID0gSlNPTi5wYXJzZShodG1sKTsKICAgICAgICAgICAgZCA9IGpzb24ucmVzdWx0WzBdLnJlc3VsdHMubWFwKGl0ZW0gPT4gewogICAgICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgICAgICB2b2RfaWQ6IHJ1bGUubWt0dlVLine truncated
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
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 truncated
|
||||||
@@ -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;*;*;*;*',
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
dmFyIHJ1bGUgPSB7CiAgICDmqKHmnb86ICfoh6rliqgnLAogICAg5qih5p2/5L+u5pS5OiAkanMudG9TdHJpbmcoKCkgPT4gewogICAgICAgIG11YmFuLuiHquWKqC7kuoznuqcudGFicyA9ICcubW9kdWxlLXRhYi1pdGVtLnRhYi1pdGVtJzsKICAgIH0pLAogICAgdGl0bGU6ICdiaWxmdW4o6Ieq5YqoKScsCiAgICBob3N0OiAnaHR0cDovL2JpbGZ1bi5jYycsCiAgICB1cmw6ICcvYmlsZnVuc2hvdy9meWNsYXNzZnlmaWx0ZXIuaHRtbCcsCiAgICBjbGFzc19wYXJzZTogJy5uYXZiYXItaXRlbXMgbGk6Z3QoMSk6bHQoOSk7YSYmVGV4dDthJiZocmVmOy9iaWxmdW4vKFxcZCspLmh0bWwnLAogICAgZmlsdGVyYWJsZTogMSwKICAgIGZpbHRlcl91cmw6ICcte3tmbC7lnLDljLp9fS17e2ZsLuaOkuW6j319LXt7Zmwu5Ymn5oOFfX0te3tmbC7or63oqIB9fS17e2ZsLuWtl+avjX19LS0tZnlwYWdlLS0te3tmbC7lubTku6N9fScsCiAgICBmaWx0ZXI6ICdINHNJQUFBQUFBQUFBKzJaVzA4YlJ4VEgzL3NwSWo5VGlZWGNtcmZjNy9kN3FqeEVGVktqdHFuVXBKV3FDQWt3ZGd3QjJ5Q0M0OXJjR202aEdNeWxGSllhZnhuUHJ2MHRNdmFjOHovanRxeXNscVF2NnlmLy9tZG45c3labloyL1pnKzkvT3lRL2tXY3lJa3ZYMGErNmZvNWNpS2lCaGE4YUN6U0ZubjI1THN1bTM5Njh1MlBYWTBMbjlYbDJHSXR1bGlYTlVTNjIwZ2R6K3ZyU1NYZ21KOVlvNDRFT09iMXByMmVjWW9Sb00vQnhVb3B6MzBhUUo4TEkycG5sL3MwZ0haSVhBRDNTN3l0dUFOOFB3TWNxeGJtMWRBU3hRaHd2OEZWdjhReEFpdFBmMnhYOHF3RFluT3ZKRThDNUZLWXIreE5jeTRHMEM0K1dzdSs1M1lHMEc1eVNXZk83UXkwVWsrdmI5a2ZIK0dZQWNTaWcxN2ZMeHd6Z0xIdnBsUnNtOGR1Z0dPMWlWSHY3UnpGQ05EbitLdnFnTXQ5R3NENDlsYjhzZDlWYVkySENNWVZxZG5xTzh5aUFjU1NjWlZhNTVnQnpHSTVyZWVBWjlHQVZEWHZUWXlncWcxQXJML3MvOFlqSVVBRlNpUCticjRwNFNhcCszSDlTbHBHK2FJYWNxMWx4TnpTTXBwZHFHWGpuSVFCbEhvKzYyMnZjcWtOU0xHSzNzNGVpdFVBSkwrWFZMa1NwMjBBVTdUeFJtSUVLT1RyTllrUm9GMW16c3N2Y3pzRHlIUHF2YlFqa0duL1EySUVra3ZSenFYWTFHNjRxTng1Ym1jQTdmcFR1bElxd2F0RkdDT1pLL3VwZ2orUTVjR0FaUWxQZTYvTHVobFdNVE91aUcxVmRubGhFZGpUWGwwdFZCZDdaTnJCTFUxN3JxU3Y1ODROV05NZ01RSk03ZnFzeEFnd0RabVNHczVJV05pYUtDdHN3SnBnaVJGWUQ0MFZNMkJOc0RVU0ExWUoxVXBVU2xpSHBwV3pzMW5aTFZrcmg3bVZFbmEwZHh3bXJmSFgwanRGNzdUMUR0RTdiTjBSM2JIMWR0SGJMZDM1QXJyK2ErbkhSVDl1NjhkRVAyYnJSMFUvYXV0SFJEOWk2ekpleHg2dkkrTjE3UEU2TWw3SEhxOGo0M1hzOFRveVh2MjNhYUlLR1c5MTJKb281cjlNRkdSN29rNlNjQkxLS1ZKT1FUbE55bWtvWjBnNUErVXNLV2VobkNQbEhKVHpwSnlIY29HVUMxQXVrbklSeWlWU0xrRzVUTXBsS0ZkSXVRTGxLaWxYb1Z3ajVScVU2NlJjaDNLRGxCdFFicEp5RThvdFVtNUJ1VTNLYlNoM1NMa0Q1UzRwZDZIY0krVWVsUHVrM0lmeWdKUUhVQjZTOGhES0kxSWVRV24vbk5kQTg0UGlKVWVWbTVJSEJkejhvSGlaclZwbVU0SmFldkZVTitEdUs2N3JGY2VhNGw4L2ZmRmNYcEdyL1NvUmI0by8vK3I3SDdycXVUeHVNMDYzNDhDY2JvQXZDWEtYeGh5cDNpMFY1U1NicEZhY3RGclpVaTdlcmdaYWRLajdPdWtnaHhya3BJTThXSkJqck96TWlBY2pFQmNhODdKc2NRaHd2emR4Y2IwRWxqK1RtaEcwdW5IL043OFdqK25yWVNnYjBJb1ArcmRlTHNoM0JmdTgvYjFWb004Ykwyb3JwQ1ptNE9LWlExLzBOMThVK3B0STZHOUNmeE1KL2MzLzRHODZEOHJmMUhvRy9JVWVmdnNac1Bmbi9pbHJmOWFBSkZmSzFXS0MzOGNHMEc2MDRBM3kyUXFCdkZGajNqWjdCUUo1RTI5VWR0SjRFemZBMnU1cTd6Z1hBc1RjSmJVeXlURUR1Rjl1M1RxVk1vQjJZMVBlSms0VkRhRGQ5cmFYU0ZYY1VUbGRhcEpRaDgxZnRlUGhPaGhBSDJ0OTFkNGhibTNnazNnUjdTKzBrMERhRGJDMk5MM0p5WlpXQjhTV0YzUnBPV1lnM04zRDNUMFM3dTdoN2g3dTdwOXNkejk4VUx0NzBBNGU5RTNOanhhcU0rd0tDTkJuY3RGUDgwY0xBc1RTay80eXZqa1prQTFyLzI5YzFmUkVOY2tuS1FUb2MzcEc1ZkNXTm9BK0EwNDZ2THhyZlRjemdQc0ZmRFVLT3RWUlJWMm1UYjZmQVRzMnQySEZOS0NlczN1VlAvbDdHd0hhSmFkVUlzZnRETWpEdEs0SzdJZ0kwR2R1ME11eXN5R1F1cXlwY2daMWFZQzFzMzNFRTVKY3FlTGlPTXVBdGQzdWU1cnhqODZqeFlSRFZ4SzZrdENWaEs0a2RDVWZ5WlZvVTlMOUFUc0RtUFZESkFBQScsCiAgICBmaWx0ZXJfZGVmOiB7CiAgICAgICAg5Yqo5ryrOiB757G75Z6LOiAnNCd9LAogICAgICAgIOeUteW9sToge+exu+WeizogJzEnfSwKICAgICAgICDov57nu63liac6IHvnsbvlnos6ICcyJ30sCiAgICAgICAg57u86Im6OiB757G75Z6LOiAnMyd9LAogICAgICAgIOeIveaWh+efreWJpzoge+exu+WeizogJzIyJ30sCiAgICAgICAg57qq5b2V54mHOiB757G75Z6LOiAnMTknfSwKICAgICAgICDkvZPogrLotZvkuos6IHvnsbvlnos6ICcyMCd9LAogICAgICAgIOW9seinhuino+ivtDoge+exu+WeizogJzIxJ30KICAgIH0sCiAgICBzZWFyY2hVcmw6ICcvYmlsZnVuc2VhcmNoLyoqLS0tLS0tLS0tLWZ5cGFnZS0tLS5odG1sJywKfQ==
|
||||||
+112
@@ -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)',
|
||||||
|
}
|
||||||
@@ -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
@@ -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);
|
||||||
|
`,
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
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
|
||||||
@@ -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
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
T2JqZWN0LmFzc2lnbihtdWJhbi7pppblm74yLuS6jOe6pywgewogICAgdGFiczogJ2Rpdi5ib3R0b20tbGluZSBoMycsCn0pOwp2YXIgcnVsZSA9IHsKICAgIOaooeadvzogJ+mmluWbvjInLAogICAgdGl0bGU6ICfkurrkurrlvbHop4YnLAogICAgaG9zdDogJ2h0dHBzOi8vd3d3LnJ0dGtzLmNvbScsCiAgICB1cmw6ICcvcnJ0b3AvZnljbGFzc2Z5ZmlsdGVyLmh0bWwnLAogICAgZmlsdGVyX3VybDogJ3t7ZmwuYXJlYX19e3tmbC5ieX19L3BhZ2UvZnlwYWdle3tmbC55ZWFyfX0nLAogICAgZmlsdGVyOiAnSDRzSUFBQUFBQUFBQSsyV3kyN2FRQlNHMzhWckpNYWt1VFJ2MEdlb3NqQmdnVW5pcEZ6YW1paFNxMXdFb1ExdDFVQnBTQzlTQ0NBbHdpaTlFRWZBeXpCMmVJdU9ZWmc1bnE1WWRGTm1oLy92Y0dibTkvQWY5cFM0b1ptV1lTYVU5YWQ3eXFadUtldEtUTXZxVCtKS1NERzFiWjA4ZTkxNy9LVkVuZzNUeUpKbjh1bTV0cFhUSjE4eGlZQ1BXdU9EbGkvN2REOUUxV0xUUFRpaWF1clpMZ2VWT21FVXZFd0JjTklhOWVzVXhQTWNlSVV1YjZXQlZsN3pQYjY3cDJBenlZSDcrcDM3cWpJRFVRQUtuMFpPa1lLOHY4YUdqNlluMTlLNnhzK042elorNDh4OTdsSHZCcC8zOFdWelhEdW1MT3czRGxNcFdEZStxcm05VHFDT1NrSy9zdTNlRFlMOXBoTHpZbkJLNmdJVlZKcFZqTCsyeFFvcU1YZXFEYmQrSGFpZ0VxdTR0Y1VlVkdJVkZSdWZmTU1YMzRORlRHVzdhVis3RjQySHhuRGtmQTd1Q1FKMk45N2EyTGtLbm44cXpTb2VTbDF4WjFUaWV6LzdlKzluc0lKczBTME55WXNLTHNSVXRsWmo2SlZ2dkdJdHVCeFQyYnNiSG5yOXFsc0p2bUN1c3AwTmJrbDdYR2lMWGdRQXZLcVdycVg1VlhXcnY4YlZIM05mMVFpS1BKb3Q1emNNVHdSQWwwUzZCR2xFcEJGSVZaR3FrQ0tSSWtEVnh3SWxBcUJySWwyRGRGV2txNUN1aUhRRjBtV1JMa01xZXFWQ3IxVFJLeFY2cFlwZXFkQXJWZlJLaFY2cG9sY3E5QXFKWGlIb0ZSSzlRdEFySkhxRm9GZEk5QXBCcjVEb0ZSSGdCWTFhNEhxZWZzQk9lZTdyeVc3MVpKbW9GYzRhcEIzN2JUbU9hMzhFTkdsa00vd1gyam5FaFdOQU03R2R0Tzd2Y0NNMEdYcVpwSkhLL1lPcGQ5NGZPVTArM3hLeEZEOVByME15RzdBc1lOV0duOFdNcFpPQS9meU5MeXVjSlYrazVOaVNZMHVPTFRtMjVOaGFwTEcxWXlhMk5STU1MWm44TXZsbDhzdmtsOG4vZnlkL25pUy9aY2pnbDhFdmcxOEd2d3oraFFuK2xMR1YyelhrZjM0Wi9UTDZaZlRMNkYrWTZOLy9BNU9aeHVxYkh3QUEnLAogICAgc2VhcmNoVXJsOiAnL3JyY3oqKi9wYWdlL2Z5cGFnZS5odG1sJywKfQ==
|
||||||
@@ -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¶ms=fyfilter',
|
||||||
|
// url:'/category/data?pageNo=fypage¶ms=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);',
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
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 truncated
|
||||||
@@ -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(/ /g,"")})});setResult(d);',
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
H4sIAIioBmcC/22Qv07DMBCHZ/IUntqkND5GlIhnYIGtUuXEbm3kJJbt/AN1RQx9BQamMrCwRkK8DG15DJwQpA54Ofnu9306+zq5Y6nFxBixzv2sTEiOs0bpAn9122O3m6MHD7ljSbK0rLERmlJRhaHJiJSTyY1rTefeJoi9imikS8nQ1YgcXl8Oz58OGHwuNXiElcz19k/dcfu2/3j/3j2OI16YXs+tVSYCaA1Oa2Nw097DmCi1dAEQOWUNVlxBVVAwvKhBUFi1qXTPAEXWzF36grnN5MgaRnTKb/81DKNTEGoKs9kpPriXimjTb49zUiVEh8KyzCAporX1L4JIWv8yiMnvt/SVa7aKwV8s6HnwZzvzNj9JKAuRdQEAAA==
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
dmFyIHJ1bGUgPSB7CiAgdGl0bGU6ICfliqrliqrlvbHpmaInLAogIGhvc3Q6ICdodHRwOi8vd3d3LmlqaWFucGluLmNvbScsCiAgLy91cmw6ICcvdm9kc2hvdy9meWNsYXNzLS0tLS0tLS1meXBhZ2UtLS0vJywKICB1cmw6Jy92b2RzaG93L2Z5Y2xhc3MtZnlmaWx0ZXIvJywKICBzZWFyY2hVcmw6ICcvdm9kc2VhcmNoLyoqLS0tLS0tLS0tLWZ5cGFnZS0tLS8nLAogIHNlYXJjaGFibGU6IDIscXVpY2tTZWFyY2g6IDAsZmlsdGVyYWJsZTogMSwKICBoZWFkZXJzOiB7J1VzZXItQWdlbnQnOiAnTU9CSUxFX1VBJ30sCiAgY2xhc3NfcGFyc2U6ICcubmF2YmFyLWl0ZW1zIGxpOmd0KDApOmx0KDgpO2EmJlRleHQ7YSYmaHJlZjsuKi8oLio/KS8nLAogIGZpbHRlcl91cmw6ICd7e2ZsLmFyZWF9fS17e2ZsLmJ5fX0te3tmbC5jbGFzc319LS0tLS1meXBhZ2UtLS17e2ZsLnllYXJ9fScsCiAgcGxheV9wYXJzZTogdHJ1ZSxsaW1pdDogNixkb3VibGU6IHRydWUsCiAgbGF6eTogImpzOlxuICBsZXQgaHRtbCA9IHJlcXVlc3QoaW5wdXQpO1xuICBsZXQgaGNvbmYgPSBodG1sLm1hdGNoKC9yIHBsYXllcl8uKj89KC4qPyk8LylbMV07XG4gIGxldCBqc29uID0gSlNPTjUucGFyc2UoaGNvbmYpO1xuICBsZXQgdXJsID0ganNvbi51cmw7XG4gIGlmIChqc29uLmVuY3J5cHQgPT0gJzEnKSB7XG4gICAgdXJsID0gdW5lc2NhcGUodXJsKTtcbiAgfSBlbHNlIGlmIChqc29uLmVuY3J5cHQgPT0gJzInKSB7XG4gICAgdXJsID0gdW5lc2NhcGUoYmFzZTY0RGVjb2RlKHVybCkpO1xuICB9XG4gIGlmICgvXFwuKG0zdTh8bXA0fG00YXxtcDMpLy50ZXN0KHVybCkpIHtcbiAgICBpbnB1dCA9IHtcbiAgICAgIHBhcnNlOiAwLFxuICAgICAgang6IDAsXG4gICAgICB1cmw6IHVybCxcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIGlucHV0ID0gdXJsICYmIHVybC5zdGFydHNXaXRoKCdodHRwJykgJiYgdGVsbElzSngodXJsKSA/IHtwYXJzZTowLGp4OjEsdXJsOnVybH06aW5wdXQ7XG4gIH0iLAogIOaOqOiNkDogJy50YWItbGlzdC5hY3RpdmU7YS5tb2R1bGUtcG9zdGVyLWl0ZW0ubW9kdWxlLWl0ZW07Lm1vZHVsZS1wb3N0ZXItaXRlbS10aXRsZSYmVGV4dDsubGF6eWxvYWQmJmRhdGEtb3JpZ2luYWw7Lm1vZHVsZS1pdGVtLW5vdGUmJlRleHQ7YSYmaHJlZicsCiAg5LiA57qnOiAnYm9keSBhLm1vZHVsZS1wb3N0ZXItaXRlbS5tb2R1bGUtaXRlbTthJiZ0aXRsZTsubGF6eWxvYWQmJmRhdGEtb3JpZ2luYWw7Lm1vZHVsZS1pdGVtLW5vdGUmJlRleHQ7YSYmaHJlZicsCiAg5LqM57qnOiB7CiAgICB0aXRsZTogJ2gxJiZUZXh0Oy5tb2R1bGUtaW5mby10YWctbGluazplcSgtMSkmJlRleHQnLAogICAgaW1nOiAnLmxhenlsb2FkJiZkYXRhLW9yaWdpbmFsfHxkYXRhLXNyY3x8c3JjJywKICAgIGRlc2M6ICcubW9kdWxlLWluZm8taXRlbTplcSgtMikmJlRleHQ7Lm1vZHVsZS1pbmZvLXRhZy1saW5rJiZUZXh0Oy5tb2R1bGUtaW5mby10YWctbGluazplcSgxKSYmVGV4dDsubW9kdWxlLWluZm8taXRlbTplcSgyKSYmVGV4dDsubW9kdWxlLWluZm8taXRlbTplcSgxKSYmVGV4dCcsCiAgICBjb250ZW50OiAnLm1vZHVsZS1pbmZvLWludHJvZHVjdGlvbiYmVGV4dCcsCiAgICB0YWJzOiAnLm1vZHVsZS10YWItaXRlbScsCiAgICBsaXN0czogJy5tb2R1bGUtcGxheS1saXN0OmVxKCNpZCkgYScsCiAgICB0YWJfdGV4dDogJ2Rpdi0tc21hbGwmJlRleHQnLAogIH0sCiAg5pCc57SiOiAnYm9keSAubW9kdWxlLWl0ZW07Lm1vZHVsZS1jYXJkLWl0ZW0tdGl0bGUmJlRleHQ7Lmxhenlsb2FkJiZkYXRhLW9yaWdpbmFsOy5tb2R1bGUtaXRlbS1ub3RlJiZUZXh0O2EmJmhyZWY7Lm1vZHVsZS1pbmZvLWl0ZW0tY29udGVudCYmVGV4dCcsCiAgZmlsdGVyOidINHNJQUFBQUFBQUFBKzJZM1c0YVJ4VEg3L3NVRWRlKzJIV2FqK1pWcWx6UUdEbWtDWkZNM01xTkxObkdFQ0F1WU9UZ1VQQlhZeHZITlRiWXJndExnWmZabVlXMzZNRE0rVUF0SzlSYWxocHhCYi96MzVrOTU4ek9PYlA3TmpBWERrYVd3cEg1d0pOdjN3YStEeTBGbmdTZXZReEdvNEdaUUNUNEtxUlFwQ295RmxmOFEvRGxZbWg0WFdSZ2pwLzBZeWNrS2xOZ2VjWm9oYklTak5VQWFGNnlUaU1NZ0NaWGMzS2xZRFFET0dmNnhHMlhZVTROT0dkbFV6UmJNS2NHSE1jOU5JRDNTMzUwblJUY1R3Tm92ZXF4MkRnMW1nRzhYL3JDYTRObWdQbnBiYlhJendHZ2R2U08vRFNBdmxTUDNjNCsrS0lCeHlYeS9lSm5HS2NCeCsyZUtzOWhuQWJVMXM2OHdpWm9HbENMcGVYYUw2QnB3UGhhV1JGdlFId2FRT3Z2NU9YSEk2TVp3RGtMNzNvcEIrYlVnREYwenIydDMwVzdEbUVnNHhYWnc5NG5YQ2tOcUdVU0luc0ptZ1pjcVc1TzVSbFdTZ05scml4M05qRnpRMEJ0dmV2OUJwRVl3QXkwTjcxV2VjVGhFZFB5MDhHVmVyOEVGMEpCdGwzS05iSGhqTnN1S0k1c2w4Tkt2NWdBUnpSZ3VvK0xzbkVCNmRaQUNhdkpaZ2NUTmdRTW9KTVJwVGE0cmdHWDZlb0RhUVl3bWUvcnBCbkFjZHRIc253RzR6U2duM3VmYVp3Qld2by9TRE5BdnRTNEw3V1JjVC9YaEhNTTR6VGd1UFdzeXBSSXdxNGd4a2lPdWw2MjZxV0tFQXd5YmRWOStiNnJodUZ1QmNZcjRqZHVDd3FTQWI3MFM2SGdBbHY2NXJYYmFvOWJlaFQ1MHM5YXMxOGIyL0F2czk4biszMXVueVg3TExmYlpMZTUzU0s3eGV6Mk4yaFhmNW45TWRrZmMvc2pzai9pOW9ka2Y4anREOGorZ05zcFhwdkhhMU84Tm8vWHBuaHRIcTlOOGRvOFhwdml0WG04RnNWcjhYZ3RpdGZpOFZvVXI4WGp0U2hlaThkclVid1dqOWVpZU5WZi92Qjh0MFNQanN6a2haUDkyNk1qdDIvNjI5ZG1namRoZFNsTTdEcU9yRzBaNVhuNFRaU2UrNHQxa1lScUVuMzJlaUUwdU92VG1hL3UzUXZNUlYvY2JxUDNLZGwrelZYM0RiRjZJMkxaa1ZhaVRmeTg0SGVXRU9jM3dxbUNwbUhDSGozMkxPSFhvLzNPRW40ZHlxK2Z1czBENmxBR3FFZkhaUkdLdndHODM0Y0U5WDBEckh0UnpneE1XdEwrZXpkTHhKV0FMWGNJazNTSmY5dnAvTHFTZnhjYzMzbDh1MkNocGhxRjJEbkFjdzd3dEd0TXU4YVgyRFYrZWgyWlh3cmZhdVBvcjZTOHlncHNkZzI4NnEzdnNhcW5BTjA4Ny9acVNkaVlHbkJjdmlyVGNKNDNRRVVpTGh0UWdRMVFVYnB5bXprc1NrTmdCYVQvQ1h3eGdKcHpLczUzUWRPQTl5dGRzamNoRFRodWEwOWU0OXVxQmh6WGFNaGsxblh5OUVZellzSThYUCtxK2dqa1FRUE9VVi9yclc3QWFBMTNWdUZWMVZiMUdWMGZBcXZVcXVaVHBSNEFhbWNWbFY3UU5FeHI1clJtL2w5cjVweXFtYStDa1ZzdG1uNkYwZThUbUJlcjlnNmcyQnJBT1RNblhnNWlNSUJhYnRjN3c4OUhHcWdHalA4azFjdnQ5REp3OGplQWMrNGZpQkljMlExTWNpeVhaWWQ5NXRLQTkvUDVBT1QzRmlKcUtrMnc1Z2E0ZG5URk5BV1l6OE9PK3lkOE9qTkFyd0Y3SWxuQzE0QWgwSk4wS2FyUWFBemduS1cwTEVLbE5VQjVxWXZ1TnVabENIZDNuQysxWFFmZnZ6Uk1jdlQreDRJK1BTQlBpLzBYV095anp4ZURrZmtmUTVFNTlmdGlrUlg5dTNWbStTK1YyYmE3MEJrQUFBPT0nCn0=
|
||||||
@@ -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("#");
|
||||||
|
`,
|
||||||
|
搜索: '*',
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
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
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
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
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
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
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
H4sIAEqSbWYC/+0aaXcT1/U7v2L6Si0JyxpJ2JCOIjgESJqFhIMhTY6iKmPpSRp7pJnMjLzg6BwSEsJisJPgYBInDSQtbmiANKQBGeL/0npG8qf+hd63zKbFoVl6enriA9K8u7x3393evW8k7tq1Q9gl2A+/6tw4c/xFwX5w376/7Fy+7Sy8IewQ4G+XULUs3ZRE0UrUsFjW6pWaUtDKZaUoq2IXSUWxqo2JRFGriU8C4RFFPIZVLJtYtAyMxZqs1EVZnyJLHtS0KQV3bn3XfniLz8JBl761Fz9wPrjvfL3sT1zVDW12LlHHlujCDHkmwRZsmNgoanUL1y269ol66aA2jQ3x6Jwh15TSuKUZfHVVMWEfpW4J2HIpSTh0bOToy4K9dMlevNO+da29dKa9vLD18XVXxCPjQZywT2D8m/e+tDdOw7B96bZ9/bS9uLL1ziIM59GEoiqFIl0KSegl9ofiaBrk8gCoCbSbGx/bX670lywtCc65C/b5NeejDefidUbAZbJby5v3Lmyuf9b+9A2hiuUSNsz2h29xLDrorr0zKArHBifdvNfq4bHvnGH2gAkZcGt9sXP3rr261tm4iqjv3LrunP22ffP21vKGs/rHkOzLV9trFyRC5Zx/3154237/sv3+X2BRZ7UFHM7SavvudblYxKZZmMJzcVhoc33deWtx6/3vnEt/2npnAdb18fZ7C7Kuk4fVtZKhzwWVTSxw/RP7/Kf20oK9dBH4glj74tf24m0qyJefO1f+zgRJTJqwi817X3RufOZ8sgQU7ctrm61LhKa1BFMweLu10fmWoIBf3LFjWjYEo6FiISvMU4VZiqViKcLmZKGUs2+t5CNxiq5qpiVFXK+VdSVBDEH+E2flRA1DlSJiea6oyqY5Up7T5QoeIj6S3Uk+OVUJW7KinqC0eqUoTit4RpzBE6IJQabV97OvAnCV5zymsqJa2CjQFcpqdn6+rDabHEfm5gHHbBVpX123Hy6Dk3dubWxduTVIbHGWrDuiQNAZZbmIxbo8HWf2hCntO185K7fjzNe2Vk91/vyGQL1vsmjFD+ESPgER+/Sh+Pjh8fFDB44fsBffdJbvcJlgE0axyjbZvQrDidacjveDH8xoRim7a9cQ0VaWK42RFAhJNjSjPAFWSgV1EoS81lCKU+OUUEpyw7FYkpiVyV+EyD1yoAKJJiJFjh4snDjAlyB/6BguYwMbSBKQq7eZmZmQ3lCAfJvIbDIyS54owBaxIeUi7iyReOSJ9s2rkXxcFJlnbl1r2a3FuLNwDgIGchU4LgNtPlix3z77rwcLzt+u2WeuAnzzu4+dv15zLr0HBnazmqXUsNawpLFkkm+cOmGhLtfAq9vLX9jnbgzZHz20z3401L78DTg4+QInJ/B26wtwl/a5d4ba6w8651pD9ttrW6fXhjobD4GTfBEqiLitK3c719YiwQWoR6aGRofSQ2NDu4f2PhovM500jxg1knLzCFwB1GhBRo0jIjbJXGfPtL9aJ4lWVhuYUtUBzLZDwDBIoWacgdn2OHjUA7PtcnA6CGbb55gxD9O5dYepg2N2+zxUPRy8FzXzBMHkphb2JSfWaS32SO6896Vz+TsIE0hnPRI5H911PrjDVMWRSR+5emrr5krn9lugk54t8hM/OK2vFmKJ1QubrRbge3ZkPzhFZAqu6Sti8955Z+XTEHJPaNM8VZmWbDVMf/Ob6yudu/d7Ns9tzSYaCdjt7YucPCS3PwvR0m/SB/f4HJ/f2Hzwof3uiqsJhs0383HkudrP41R5sn/qw7oqzxV02TCxZBkNzICiyOCToBeY2YDg2xWJC3Q4PzkLiUpgLMk4y0zSM+MvPJ8wLUOpV5TyXHQekUJoRCbpCVak6Qk1Y03YGlsVMEWtUbcgeFII5gMHIp+76eco/Ryjn3vpZ0AdKS64Kp+ckyI8ElWlpkDaYAPn0lrn4pKHc4eTpqRiSyhlc/lMuVEvWopWFyrYKhjYbKhWFHJAbJ5QTCslrJmEjIyqVk3NGvi1BjYZDYVOalm6ZaqGKKGJZZRydFLLoaJWwiifzWaTfDqt9ByUetlJLcFW2u89JUgNKMGwJFsyHWQ4daKsGYflYjXqShoFBJtPhjOVjHLIO2NRfhihWALUX4sy+WghkKVU9BHlg1ilVmG4IqlNwzgD12RjiqChxJ0pYH0/pWTPKJ9DSr2EZwtmVZtBeYnigpAM015Cb5jV6DygQTwJRI6TR5rHqTx0qCtFCUShz2xZU2Lf4CqxpoGthlHn5miGTSbXp6IQD3G9EpvndAFTooG1AilVSJVCJqAVuFuo0EMaDcOcw4ge4qZyEmfTSXago2G9AvCSPJfdjWK9sqR/sDBseSYPEezHy1TVarhAlRYN+bOnt1QsYapKEUeT8bFYJjcaT8fH4rvje/O9TqfE5jk3Nyv0NkXZivr7VoKTgdUyYau9+MKh8WxQogyPys17p9qtG16QusNgkFLZSd2p1PWGlTB1VQFtUgiK5VJ5FzIEo+QvMf1LTP//xjRZ+mS1oUT1SrwGvsi8Bjw3i7Zpi0ydNCoTcr3SqCliWVNVbYYJw6UgU8FyDMMLoCyIUncF0c1sKsmaPzRMvjK9uiDxE5ZUVlWuuzgtKOOhCutRZA9okTqiyKOMTgei0O8uBdI9pYYG6dndUkgWAIbGj7Q90qWoSh17/tGbYL5/d8Qv3InE6XRf9wA3KExgyBqwPzqQy9BvZEfRT5TEqMgpL9V257SEKlv4fyt95ZDemChQlyAL/PPUKXBLAmYubAKfgaF0hfMItb9et89egZoXxXgCS/0EGSzjay5NK0nNiFL5s8mM8vjejDI83H1E5BDTJ0m0rsnhWYEh1hUTrGKSHLutlsGE7vYhgKuY6RdsCc3Vf8UGcJph3wIWkThgGoIdRuQmYbjbSlz36R+ve/gXKkbSbjXCrTvwdAEaXGDNerTEr4KoSo+8XDh44PhhosYUCud5chhxdBy+jx546nCsiVUTC8CXg3aFNCukVSGNCmlT8gmlXlQbYEyXL9YzY3rwlAFReIfJzAqZIAu4J59LwNPrr4OcVO8sETIEfQZUmqHCCY6RhGBACn1rMNW5CZtL1Tdr95OUXY+ENUePKXei1CA20qQOZkv3ZfObwIGqCUwYytIhdfNlc/kmK0+D7uHXp60FUpD6F26Kydphv0v2L1yRmzHpMOOOzKps4IJJ4oUGm88GPu4zsWjzkeBCRR/LirQEAXoT8yyQoKEI+/RXbEx0L8XfRvgTYnJjAFsO0FjyhCkhqL31UlnOTpp6gjxkjh94Yjyb43d8AXJSQpiBCd0kFqYoWHjWkiJUnkgXit63Fb174WZI55GwCUhP4IXyyWq03qgx++tZhMjZ9nyjNgGmI/B9KfxYbF7PkoFInhOW9qQyi0vRdGwYbbY2kOdYYa7RANdoF9e9dxgXUACBm2T0Zs8hTPuUgccwVxfLtCV6LgQydSA9EwzPzhQKSTHLzm+alSkMHEs2KZQ+wXGShOOE3g3xqaCQeB6GbJ0uR8z7KZ2guTuR88n1KEhnQG5aBvR1o/wEwEwMz39CJwDB+P0E8VaOJ+mDCQEPARgpvtiNnwSnBtiVAIFTrtfkqQbsKEbP9/ab9zvffBIiUZUp7OGd88v2vTdC+KKm1D08S1Es44SoyvK0ZigWnYkJVSSFFlQ/Vdl8YaZ+1NB0bFhzUWTIllKvoNh+xC4uyTT0VGdw2C5l9QoSulk3EPMScj5807nyKb/07Evj1l9Z93gcfDrC/zixLcdxK1P0HJYNiRiVjohfSNQ5+pymjKJoaYbEbEEBJcXADEb2Q0Fu9gDjN5ljy8wJ/MKFuqgqz0FM+8WkC6A10qTcW9VYNf0ZjcUxhmigQ+g63Ugo+rCiB4R0PuVCybO7uGxYLtitarwq8NdwOI8g8AUwmsuq1SteIHiSs/qEzDWMdqJhTCrwAhqG1WMeUbqLiAjh1oSE5gSU/f6Ek+CHRABYfOdOoPZn8TAZWi1R25L71rKh1aBCRyTjAovbNKAuMpgEqPiCGTjDSGHmHlzszZd/+8mH/GIFWFPsPmUY1XBJkQu8PURu35IOo8tW/24jxXZdMyu9ia6GTRM6LpKbAf8rXqTSszY37/n1s4dfHkb/+OQ6tKEmq/jA8VFdK5CLExRyWmSfvQmJIN5+0LLvvBt8ReXFBfph7+erk6VqfVYsGQV9jr2WH02OJib1Crkjp0mfZfNU7y6JmJlutaTd9J8ewNDbK7qNAgxpo5aCRNqoHaOHhen2a343kfbbCe8so9DtmFJdTP1Rbj0dWgSK7p+y//Ot3qcL8cL2lcjjuMbezWURf7uK9r0SIc2cH9uPi7i2jzV4/0kL+fNcbWWof/PWI9LvHQUZvApx6FeBZSEq/oE4qZiw/AIiJvhVJyUjUO8Vf/BvclYSUvEeMKmuGFcvjr23EZK9GP4mR+h+ldNDSN8YB9/vCOiIdlJRVVkcSyRRD30zFgI1vVFToA4cXoGVRybsN3TtWwAj99BBsQB0kW2uwKZTYqnGfmpjavs18NOIMEzmz6XyvfMxnyeqbvYiQauA2f5Wh+RkbNDLHZ7t979Wz6ZSe4awTn4LgfjiyTw8oKFiANRPHpI3YM3QJU8P0eQxTSMy91z7hJ0IfI1S5hBPzygvQGoWoAyhv2pBsT4OpoMXgPLZ7ya895XOx6e3ri455y52Tj/s3HizvXqh2zhBt0Vhj+hrdG8vGjBwMd0ElOlPKRNKOM1L9DTsT1STZ8eVk+TnMSOp/hS6Ziq0sehPMrByiQtKP325mnYXflzgbQYvPchdJaTUQazkz5e5L2tmIGNgK0pfomafyOyvFe7qqI9RiRvJCRXXK1ZV2Cckt9OCL1GWqHe7XQeETz6i8DzTETeQcy4/FOPUH3Z8Pz/zL2h5SMhAMMDKmcFErNiiZP304tI1OA18DyZimZbS9dcI//XOo/14J5SW/V8FdaVlIXpELkIwa2Y1IzwNBZAqAEB4YVx4SUgLine truncated
|
||||||
@@ -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
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
dmFyIHJ1bGUgPSB7CiAgICB0aXRsZTogJ+WkmuWkmui/veWJp1vkvJhdJywKICAgIOaooeadvzogJ+mmluWbvicsCiAgICBob3N0OiAnaHR0cHM6Ly93d3cuZGRray50dicsCiAgICB1cmw6ICcvY2hhbm5lbC9meWNsYXNzLWZ5cGFnZS5odG1sJywKICAgIC8vc2VhcmNoVXJsOiAnL3NlYXJjaC8tLS0tLS0tLS0tLS0tLmh0bWw/d2Q9KionLAogICAgZGV0YWlsVXJsOiAnL2RldGFpbC9meWlkLmh0bWwnLAogICAgc2VhcmNoVXJsOiAnL2luZGV4LnBocC9hamF4L3N1Z2dlc3Q/bWlkPTEmd2Q9KionLAogICAg5pCc57SiOiAnanNvbjpsaXN0O25hbWU7cGljO2VuO2lkJywKICAgIHNlYXJjaGFibGU6IDEsCiAgICBoZWFkZXJzOiB7CiAgICAgICAgJ1VzZXItQWdlbnQnOiAnUENfVUEnLAogICAgfSwKICAgIGNsYXNzX3BhcnNlOiAnLm15dWktaGVhZGVyX19tZW51IGxpO2EmJlRleHQ7YSYmaHJlZjsvKFxcZCspLmh0bWwnLAogICAgbGF6eTogJGpzLnRvU3RyaW5nKCgpID0+IHsKICAgICAgICBpbnB1dCA9IHsKICAgICAgICAgICAgcGFyc2U6IDEsCiAgICAgICAgICAgIHVybDogaW5wdXQsCiAgICAgICAgICAgIGhlYWRlcjogewogICAgICAgICAgICAgICAgJ1VzZXItQWdlbnQnOiBQQ19VQQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSksCn0=
|
||||||
+234
@@ -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;
|
||||||
|
}),
|
||||||
|
|
||||||
|
搜索:'',
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
h36A5I5KdeB29zb3iwNWV+ivYa4oBqPZNoS0NjdPyxOapsJMcwg0CyD1jehxmvEobaSr4S3oiFL3T6lckGMI73BPTfprH0w1j0LDiDdq6ZIzZT6wjGD8S2XljfQnbvUvj0376XLs/G9vOy1eS/VAMZr0NnM9QkPYyhXrjM3v9xLa/1sShojAvs53SgzWMBveLDJ5Kin9zzzwO0gCw/T8Eo0k4IfafZm0zaj1la+8mhw31oRXPt/a8mVjmybY7POxBx/Euvez4FnWwVK8KHb4UV6kHj/Bm++BXtO0G4SlJqcDzkjffwtAcgvso+hES4ruCs33K3Wmj8gokw19ubtgcml+c4BBoujFLN2+zl/HHKwiPZwzuhb69O4IZoc3wZzcsznDyISuCXDKI88XuQuwhqQ2Vj5nl5kL2k7RAPQhSGML171NohnFBHPoj20XUbB6zVuwyOXHvLlHvJRnbIKpAvSmoV0CKwt7SB+RYSUQwLsrDg5UrQpKjsM7Hwt20o1hMhSyVhtb6j5tFMGC53gp5m8qyUIt8TCGWWffLMYkAbHiLUrvfFuhPBHzf9MuU9IkXWdih4u9E4j6HC/b4wYfyNE73gELiCs/rPt9c5t43koU4WvgkalSWgKMvb49bqtM52THgTglvNYT4wLA4KGcDaKzpJ4Mi6PFaAWaeABRYOiVDyX8cXv8uXKDXZE0EqEmgU0jacf/37YjXvVsXWP88yBNip1hLkl/JtlQLzHavHyLpaioUKD1YQ3Ok3d/DkS6Eg2/YowqfWx9+8RfLMKqJj+CVlZbbPHXQ5HBmW6/CUz9zX36QX86MOe7o5KSJYoY+sUYWksC3WcGcssYc/M6V97SMcXedCnp3OBIWrkrA761x0rSNLOd7NN4TxwrCcKUtcm9p8YLLIDlf17+90kJXUmLvHIXljLHlDVHmc1Zj7Hh5uoy/pNDvLVprA88f3uccHMmvFwxMT0F6qV9zArW9afaYxH6+6G/dz/uj/DxPvMBrFuPup7ommhIADQbaEGvw5OK7QhTF5oo6DIH0MZ7aiCr/TnhaVxpC7oZcY/7HGo9R1Uvc9v6O2D37/qvNj/7FHq3CHivWRMh9nIhVQhrBuIrTjxJN2cvkKDJTxruDvFWVEGaflu9PMkrhSmUKqYEdt3vHUxa/iv8NSZRZ+Q46pkr5SZKohSlu7PeAvNuRzJg4rR9H6sgALJVnsEjGwgJ86Ynrsbzoovw3gVvowu76GIikjfMi2VgYH6lkXIbLxzHJ3iFMqZ+0oQFlMQut37FXn5nY/0zSbmoJ6B1YlWL9e3NkvLe38YBDSNRmztP1+1H02mZ04WxrJSec74zWMKvg5PEHOUFCEmNhgGZfuz7AgaX8ea0llQk0uPPT7jGiMmq4JF9T5DLyVFqFU1KHMRdjtQbgXrDE7vDZoeK0W+8SNJNyD2/vELqOmDC/pEV+Jy70o0pTsQsfSbzfl3V2fyNAk0ZEN/AXa50C0bJe25mZ+YWyLD87hqA8usszHgSRgjMgT1+0tbDy58qWWEaLZU9rDCtRcQ4vWaybi7Bac2UnwGnR+t58A7pViq6rjhZRXrbHP/3yWZ64sA5G/nnxF6J9cdZQaOjqzHILp+SdpxqRgIjqeBvXhlw2BhXAuOGQnFnjE0BIwqhU60129tDVkE0pPTouFTeWIQBGzDfvqfuIJ/QTnnaMWFpzoygNUFI0wlErF4cSGUTGXGOG3hgJSvqIgyY8zeH33BGD5n8IrbFTVVU92lXpKfBL1Szcn9lG440gU1xIjBdCjG6jZybUA+KH8M27+D44jPbL72RPKzLc29lDqcMc3O86l3Wj9VrzHqI6Fd65HtpH2YfMAw67xJMPkcTHpd0KUpiwYru8tIXZgJfXMuRZe7AVKeSTfE9RB3Yclb7nnVZCJpSTwo/HGER0r61J+85Bf/Pz2wXLAzxaMDCteLLIWRFARdpaHUCqwBuwSnxFtsq+gZ7CwCazAk56xGocsZbUP2G8yltSRz/w12AMwwMPHk5o6jy1Sd1HGc6wXn0vegtAXdPPXQ2lriUNtFmQ9zJIcsA863f7JvwRgLWTgDHKnhgRC/TZj88p4BY/6NKQ2F5YgHamVPDmWNuB2skUimjHNsPh7EJc5I2jADPLaId15MvtA9ymSaIUJBh4nJG5vXcV8wJYo4xeykgxYmnuc43C7Z58nUMfCU9C+2p4YG9vFYb/f0tl9a5FBWHDgNjMPR7H1WvWqqOvSAivpiguvcc/YaK6QCgtRij8JjVqOSk11wjdZtfnKKbq4yGn+pvNKTg7nKl8x1ShiqyFu/ZtG9+66Fd8Ba7IFJ5fs/J8vef3VitoecRtwa8b9XmlcAehwhmBMLwd/B0XtA5cXLWGcqSQ+2r1Tt0Wfur+kaIq84sR5KrHQ6DJuLvJg4Mpv3xg2CTuzFzJAqr+xcRrEnNHBTq4OzutmGC/7oVaBasE0EAa/BNQLnfzRCzXDK0DguAFi7w9M/XDKobjJy2NS2PoG9zbtdWfs7j7KIJ62OId1EuP8j2Oro9YFSJYhrfLEt9vgflNGrgRyshq+9mjDOp+xRMHI5ypAtPwTIftbFftXzOqTzXUVD/kmpsv9w/zWbtXgHgwfq7jSYiQDul1WrTGS79Ia+N1iy01EnZbzPqNKRtpWbv4O52DBMAn4k6P7iOxb547ZERLkXWcdpeHFo/s9O+4iPkmjHQbWR/riznS09gshuL/Ta2CVa4jsBh3+lEu/H1BpdqflVbz4ziCTvF7Qs+6KQ4CU3h4+UEuZeZKD2nEUNvnWABBPxG8EasLwtl8947KeCAaqwjYLR3vn6236QwCWXAEbFTYOx2hPpK1K0nbFzmtEwzQsgmYqcr62ze1Sw70AWrIunMtpwPx9SOrI2DRsAkJRwPwUy96QpdTuiUpQMqAwgMWU+wI/hxCY9oshkvJ6Hzdct3fraJHztr5JiqNER6a/w1mz7D+zXj6FaIhC56/wQsp2cKUiMxcwJHmD669+Ppdv03CvvS5p0U6tOliZeshTThKmINxC6sxUgS0rV/exskHv7UksBLl2aHKStIJiw7yNYKZqjODd4s4bKOTroLxEI9dCHTcnAXI7Y3cAlco1Bd2Cuf/7NaMEX8QR2r/Q/aQDZiFHQjiO6nkcmLdolHkHLCJ4lWFLqE+DXRLAFVxDecXOrtGBeOFPf6SeiBCboAMY9eGBAMxXXG0phgWDlfOmV3q9EJ2Kgr8hn+eL2HkKuZhGOHMPYbliEqSnuzAqWQwrIQ9GobKdcMCwyokEm2tx6uH6leJg==
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
IhQ4qYXbEH8CuG28d+KFO70Q6aksObURFEDZrfbNfOmolDSbB9g4/KTYLbt8V0dd7Qx9qnJ3iOkB4lnD2nQTSYoDFmtTnmlpLT/977sKvYSRf7vzqWbhpx/TJNP7wohrFPmZixTZM5b9tPP+oS8BTogKBnRMA7DfpGFYQ0R7rdVWb9OnVYtCisaih+GHfgk8uaZPninKBl1aP6v8Cv7Pk//N1H4bYygkqkmFP4AaPCgpEoyVnLdAfH9V2ACAXquoKjv5or31amzbneypWPWQO1/m8CVHnS0lHfgZgPoiCLO4/5fp0Tx+ajJqeYDpHHaEkC1yiDFh7Xe9v22RRfDQs0O/ODRsiVwixuTud5jpGzPO1dRvrFmSIljmlJMthYuqNKEK6cBsWzzZLhLUVxMtKHvnONqSRcDTiHi77nIPgwGGnZgKLkJhrhwQdcvcse2Mq2vpiaPtojjiGaaygp/OQuBw8eqMhAC5xxs+fex8TfOA+tigj3F98Sy3qnKygyd8/uvwHURaB6nTIZE5gmMg4LOSy66TpgQDrv2cG6aDdjtz6vwixwny+E8SMuQGZuVPqP178qJayF4JIJvEMpEClMy0GRwCaW0Ti2YwbmMzrkqiJ70E9IIO1vSG8FOAirAR+Bigm1VS2BDgG9dmtikLHMo+cTA9121TiTTLTIzqcJKZwTX3fYbtXWBkQkYRq2nx722f2wKRbEiF0ZJJc1GvzDQgVL7J9D3WcpVFSxvc6Muvh20B7mQW/oy0KBIfcunj5Wy6KPXgC6VL1MaaISrRaJWu41Ioej7OqpNItZ+8v3X0j49xkIfATrDcPJmvek8vC7OkZ9wYod1A/xAPq6a98xcLFWiIXSLjCgzd9RwYnbTqk27fjvSGMM+6buYTYxh0Yf2qgP2vzWcUgoCdszb/+pM82+UXnt7UexlRANApOPMbT1GK+W4N9UbLfrhQaA8HEIi/fDE6J89BO4pKXx0/1xLDXb+Fw/vTuNs0eFcTNVazLrCfJzwvKRTXevwTtAanFizRM6RglCSDfLeCBg55POHHczBvoIrwbRQMS8VEKRXU/i9HjSes1xD2wpFcpIFWJzoyvs+bl7k18zSviIuZOeKBRlsK3XbHkwFR0Hy08jmpWZ4TAMgeyayQAL5Us1PSL9QOmO223CR1Y1IZza0OH++z9aAve3h/EmazwCq67+ALZnQjFg+PN2Ps1pBl/rZquRESXftqTSZoSqyBwvqQb3nShJyy5Pcc8j0o1qIGl9oTxZpnIEN116LfzmWxDEex5su1DwVIBHm07rNeZAYSsJ5wqyYPE7JjhMib8JV3Xm8JKamCsssCwy5BcNBH0DeNmRKSPmVakR2ftYfSWr3155uoaONWTqOzWcWwhlfLG4ABntZ7TJvSOZkbcHxMF2x8lb3y63Ki+KO2ps9aVCQ1XiaAsnBol3TGbG/xSnBxndtbHy32EnAFcyxxY4+jWFH7pgVfU6orV5NnVEvgcObq/hWs3knr3DWZ7BCg4U00/nrfZEOJ02K5aCNcyxRbzEQtHzETeB4lXD92ExFUHcUjkrcCKDljsguD9Ska1zniQMpSmAxUVvgRfLZtNTL3llQ+Aj6CKwGVObyC75Hd8kIj9vtz62GUFXMaaLsePb4v32RN2VPgUY05kjnaleIjzPMzg8PlRX8ntbo9AjfFsz5Z680nOzLvvJJrnmHtfpODfSVSXu8xwmfi5l+gGW5h/hUrqwfVSswWoc8FGV2/r6Wf9hQEhnjhn2iYjbLjVRoP+ko5p1BH1t//9BCKkINa8Hyl0uJsf+psYKn9buKD/QyZZYoTUSlX3zWjZo2sen81y+TKsZOYSvbK2XZIJXZrGi1VUh5rki6TRwkKMbyfauC5vvC7BBgPEjrjZsj7YyXPXKcm73JGgnA/74Ohmh3okUZ4hZEWF8/EYrBQzcD7FJvlhTL2VptLZdtQLR/e1iiw70cvs4MPCSXIWJN6fvL76tCObkXpoubXO3seRUUwuIX1Gm53Tb2DFTB8wtQMOEPw1Lj0OmEyQ2CwS9rSESNSHOsPZS7mfBPgWYh9aj1g3u7HO+2+JXqAdFxz1NnN6b9U3jBLIfzzPip62Kh5D0L5yqowBErfWKcvgnw0Bsy8mjUF+wLqC/vRP5Z41iIQuy/wEXun2Ycy07TL1Ujy9GZSA+2AylWyuIxRVl62lj7HbNnMr4tCsSlRS/et4sMW2PMuz/4XxDRrmQ1FNZhioDzcoFJq+x4ddzzNc+5+L5ha0Ha6u5pQU1a0pi1NMIE1WHxRlMfN5IlqOB0ZgxSo7RtlgPAp2i9hCy8O2ZgOkTgTe8Tl/4z6T2sSOfbm49OePrQXECJmtQp5XNmidXXD16WrQISNbpgqjkTVqbZgvLLVomD+v4iX9a+TC8j07spoXo3t6v9YCRFeRLwz9STCIKPNLtKXG3hnXSI22lYKhJge6Exs4d8mUBW5WbyO9oxkZuM5e5cEOYpcKYR7YLGZUIL0iTCo8TmzvueUAxf3upWrJYu1pNCDQ9EEbf/8S8RWTwUNoHxZcdGUnRElU/ZadkI0EqlWLngfs/sMyrN26eN10fK9Emn1ofcTeBquwWM4K9bb2n2Dw6j3rC5Aspu6pk87i/0RS9vOK1HhYkRI9Xf+jZKfNdjRcKfAaOFfw4/vUhUhPTK1AcZkR9vWAWjRxFPW1OWL5j2NeXodWtU1c1GnDA3QguR+76ckINFyLDP55gTG2+tae7IOEFm0X6cR0i28C6b2q9fb8vfQPFkzRjmJ/JWQCKs64SxeFuMUiMC4T468TZ27OBL5HRu0GhTW+gK494GnJfkZS/rhdYmR0vfjI6xtmEMs6DyvI8GzG6Pc70jcoCCxoGeL2k3Yryu6ett+whYwDHEBRTZxUV3u1ZGsCuJQD7lEFN8mxxCiQ5UYfNg8bQ0kBYG7mGYsW8igqsD/tjKwkr5I6VCjgwMcCGn7Z0ZeynWQyPDa/9hf94BEvVCqBk273FaxBVVlzV+mSelVx0W+sBvi1lgBAXLsmotWIeSH77o/7hYkEc3LcqeyvQrK7PLCMuYTTZ9MJss7wX7LXPwCPqKT+xJZybYfby06fMdzIv/GzqFE0G/UHMU+uU2zcvf4l79Yv6Nz7VKwbhzXPO0zE3ZwPMt+E0AN4Es6baU+mvFBmn/NjnB6tclIP+JqCDz29cs7pG4LV0gQjKWgnSwtHFkVv5DoBEtYfGJvEngu98MMG4LQLQtQ+SQweObU4+PGs6ImmOGGuNpxE2BVBEfoLv7glm5Eeu1kfJ00L7VdwmnWDIIgcGXOsDqsP7EU3NHCvG+WA8pwnyjm5MymvqJhba21je4+rTJnQg2n81M/SZjRTnYWM3Cmmk00mJg7YRfDVkiVMOazc99KLiz/qUjY9LKqUPlvg79OLCprzsUB+/xURwz2M78LhB1JPM5OM2XJOi730cI1ICaHbC7LU7S5jwP2/PZDG0oh/Qg0KGCuTAINVAJ2cMZXTlukwDN5I9wdkPtFExD9bIxsIrQT8GOQKr7aATDbj29QD8hdzTxPcMH6LL/fPI9zX35IyDGEq9MwBEtcTeE2HhINyEL0zP9/olocNKKm76fnrTzLY2yai/KfRBS6pQt+vinR70Oyd5TZjj84/JWNtAVVbsH8qoFeAK4Y1ZxJBa5GpT7TF98sDm1T/cWDnx500tx7eT77aa0pWOJXJOZV6ajsKEJuI1S5D9l/sa7qD9pGxPAaMCCnOHF+bUao4Ko1J0COBIiKfayuaBo27LcyTVmS6bwB5lv2VRrPeyD35iDVuny7qU/QyKDwSH8kN5Q+Y15KUN/9ig+wiIZ5zT4wUL0nJ/iSr5I6Lmqdt4UVHJD4F+T/1cILp6wAnb8wOxG41ruVAvRzmxB5kcnUZMi8Hrgiz/UhZz2/Bri8ic1RuQ5vOkcqqO5iS3/krdp4fA+7Ox0q0NbVb2zDYryP4ZpR4FqapdVksCeQKEY/Wm+hGe19TSh7Diulyv1meK3TDV2AUVqxCYmjF5iT2cOTdwbHzHYBxpFytea4
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Ly8g5pCc57Si5a6J5YWo6aqM6K+BCm11YmFuLummluWbvjIu5LqM57qnLnRpdGxlID0gJ2gxLS1zcGFuJiZUZXh0Oy5kYXRhLS1zcGFuOmVxKDApJiZUZXh0JzsKbXViYW4u6aaW5Zu+Mi7kuoznuqcuZGVzYyA9ICcuZGF0YTplcSgzKSYmVGV4dDs7Oy5kYXRhLS1zcGFuOmVxKDEpJiZUZXh0Oy5kYXRhLS1zcGFuOmVxKDIpJiZUZXh0JzsKbXViYW4u6aaW5Zu+Mi7kuoznuqcuY29udGVudCA9ICcuZGVzYy0tc3Bhbi0tYSYmVGV4dCc7Cm11YmFuLummluWbvjIu5LqM57qnLnRhYnMgPSAnLm5hdi10YWJzIGxpJzsKdmFyIHJ1bGUgPSB7CiAgICB0aXRsZTogJ+Wwj+eZveiPnOeUteW9sScsCiAgICDmqKHmnb86ICfpppblm74yJywKICAgIGhvc3Q6ICdodHRwczovL3d3dy54YmNkeS5jb20nLAogICAgLy8gdXJsOiAnL3ZvZHNob3cvZnljbGFzcy0tLS0tLS0tZnlwYWdlLS0tLmh0bWwnLAogICAgdXJsOiAnL3ZvZHNob3cvZnlmaWx0ZXIuaHRtbCcsCiAgICBmaWx0ZXJhYmxlOiAxLC8v5piv5ZCm5ZCv55So5YiG57G7562b6YCJLAogICAgZmlsdGVyX3VybDogJ3t7ZmwuY2F0ZUlkfX0te3tmbC5hcmVhfX0te3tmbC5ieSBvciAidGltZSJ9fS17e2ZsLmNsYXNzfX0te3tmbC5sYW5nfX0te3tmbC5sZXR0ZXJ9fS0tLWZ5cGFnZS0tLXt7ZmwueWVhcn19JywKICAgIGZpbHRlcjogJ0g0c0lBQUFBQUFBQUErMWFXMU1UU1JUK0wzbjJ3ZUI2V2QrODMrOTN0M3dZTlFYeGt1d0MyVnF3ckFKQ01JQWt3Q0lSQVFHNVd3UVNSRFpNRFB5WmRNL2tYOWlaUG4xT3o2cFRLWTJXdXpWditiN1RwN3RQWCtaODZlNG5nZnRoSTlJV2pqUUdEdjcySlBBdzFCWTRHTGhudElaTzNRL3NDa1NNeHlHQnJYeVJ2ZTRYK0UvalVTemtGSXdJbWlXV0t2R2xLaTBBVnZOMEYxajdsc3FsQ2F2M21Tb1FqVFMyeDZLL2kzSlVablNDOVM1U21iL0NEMkt1QWxZeXorTUpLbUNFL3hCdHVJc3NEckd0SWhWNUdHcUtHUkZYRWQ0NXlEdEd0U0tpSzNmZERZbHV1QnA2RVB1a0laNThXVFo3cVVoN2t4RnBid3FwVW5lcTVXRDhIaGt0TFRSOHNtN3Y0Y05XS2wzdmVTNXRqYnhucFR6WVhKUzd3MUFDZ0h0WWxVMEM5N1FvbXdUdTBRWWJBSXcrM3NlN1hvRU5BUHIxclZtbHQ4cFBBdlRyV3JGR2g1U2ZCTzRSVlRZSjNOT3E2cFJBaThFYUtWSU1WZUNlYTFXbkJPaTN1c25NclBLVFFObktINmJ0MVJ6WUFLQmZ6M0JsYkZuNVNZQzIrV2ZVVHdEWWwreENlWHRhOVVVQzlFdjFzUFM2OHBOQTJleWRRUkVWMkFCUW5jL3Q1R3VzMHdHNGRxYmVsYmNHMWFxUkFNZlRmTXRLTDlSNFNrQ3hMMWlEUFJpN0E3QXY4enUwU2dIb2E5MW9EaG5hVXAvSXNlZG1qVXVkelMxV3hsU3pBRENVaFRGZVdGT2hTSUIrNlJ6ZjJsWitFbUNZMnlrMlhsSmhTb0JEOSs0RjJRQmdtUDE1c2dGQXY4dzhuMWhSZmhMUWtDK1RId0RzNS9ZL1pBTkFmY25wZmNtNS9BWnl6RnhRZmhLZ1gzZGFqQlJMcXRWSVdKc3dLNTIxZXNkb3pnRFQ5cG5tL1R2Q0RYZVF3bGdpc1ZrdXFrMEVRSi8wdHBEUnJFMzYxa2E1V0tweDBodDJOL3dDblBOVDQvY1F2MGZuRzRodjBQa2c4VUdkMzAzOGJvMFAvb3E4K0tueEI0Zy9vUFA3aWQrdjgvdUkzNmZ6ZTRuZnEvTVViMUNQTjBqeEJ2VjRneFJ2VUk4M1NQR0tuL3AwUERKRTNzWHBzTmV5OWxKSHJYdHd2Q1RLcTVtV1FOc1RaQU9BKzJ4OWptd0FjRTlrU213Z1EyYkMycTdSekJKb3U0MXNBTFFkck5razBIYWJGb2tFMm5wbXEzRmF6MVhnR3NCUWEydElYOUhaREY4YnFIRUlEd0Z4Q0puRHdCeEc1Z2d3UjVBNUNzeFJaSTRCY3d5WjQ4QWNSK1lFTUNlUU9Rbk1TV1JPQVhNS21kUEFuRWJtRERCbmtEa0x6RmxremdGekRwbnp3SnhINWdJd0Y1QzVDTXhGWkM0QmN3bVp5OEJjUnVZS01GZVF1UXJNVldTdUFYTU5tZXZBWEVmbUJqQTNrTGtKekUxa2JnRnpDNW5id054R0J1ZFlXeVIzMjJpQjhOUXdNOU9mTEJDZTJheGtOc0M1TlN5S1lvbzFUWjRiQVV0VHVMV0ZkdGxhTjB1cUxOaHlMOW9jcXJaNlo1ZWpxRnVhaENLdWd6S1g5V2lidm13dWtrUnNqRVh2Q1RHcmxSRHBWaVJXcllUNHdyUWFlaDFpWjFiVEhaWm9EdityaHBYRmF2cEZlelQyT09UNDEwa25zL1NjUFl2NlY0SmFkR1ZsY3BpL25HZWRteXllVmg4Z25hcEpRM3ZvU0M4dDdLVzl2WFNrcDliMzBKRldNYzBTQmRVWENYQkJiczN3U2FYTEFaRFdUL0F4SmI0QVlIc3Zlc1NJcXZZa3dQWktRelJtQUdxVkZOK2lJM3NTb2p6S2N3ZlVvcysrVm1ONjZVRnYvZmxsemVlcFAwZHpRcUt4eVJubGl0alhhNzVlKzVuMW1xKzdmTjMxMzlOZE1VZklhS0xyVzQ3ek9ucnNON2h6SktBY00yQ1hWQjRCZ0g3eEVpdDAyZDFEZkVNZDlyZ29qS0x6T1pzdzJmSXIzdG12ZHI1TzBTN2R0SmJOOGxZL3p5Z2g0YUpxa1RhZU1pUTlWNWxOa1J5ckFuY3M0dFBBQ2dWWExFRFZJa21rUm5NSk5vck40NGpSeVhXenFsOFNvTi8wREJ2SEw1Y0VhTXNOYWJsYUF2L1lxeVpaNVI5NytUTHFaNWRSbjhzenZoanh4VWpnWnhNajdkRklZMXU0VG1LRWZ4aGhJL255Qjd6R1EwemY5ZXFsMFRrMXBnaHhPVnd2Ri82R1ZLZERranU5MW1JSHloMEhZT3Z4Qk8rZVVrMUxnUEd2N3RpNXBQcDBTNEIrdzFuZXAxSS9BTXBSQ1k2aUFvQTdGbGNrZXI2c3pLcStBRUNiK1phdEt0RUZBTnNiWDdkN1ZmUUEwRzlraW0vZ2phVUU2RmNvOEdTNmJBN1R2WjZMd25IWWVHTVYxYmtVQUt3ajN5V2tuZktXNEFlY29NaWpRT3kwQXpTSklKSS9TWVFxUUp0ekFLaHNFdmpKOVArWVRQMHpDVjhHQkh3WjhGM1BKSVFNZUd4RTZxUURQTi9QZUdScHJ6YzVWanhyejZqTUR3RHJUQzNSK3hJQWFCdDhiYTNnbjNjSktDMTkrZDJOUFRocHA5UWREd0NzMCtPUHZkY2RESjh3Nlc0REFMYm45U2JINDc2SjVjUXdxV1VBUUxmTnY5TnNBdUI0em0yVFVBT0FmcWtwbGh4WGZoTFE0bHBuV2FWNkFHQ2Q0MzE4VEtrWEFEUXVlYmFUd1hGeGdQYkovRzUzTjg1VkpPV09LdEMrNGw4OGdQaXN1cWl4dTc3eThKV0hyeng4NWVFcmoxb09JSnJDZDZQMTBoMyttK1hQYTY2dmZMUDhvOThsMS9YdHNYK1pvdVVUL3pMRlYyRytDdlBmRVB2cXpWZHY5Vk52VHo4Q2UyNStNdDQzQUFBPScsCiAgICBmaWx0ZXJfZGVmOiB7CiAgICAgICAgZGlhbnlpbmc6IHtjYXRlSWQ6ICdkaWFueWluZyd9LAogICAgICAgIGRpYW5zaGlqdToge2NhdGVJZDogJ2RpYW5zaGlqdSd9LAogICAgICAgIGR1YW5qdToge2NhdGVJZDogJ2R1YW5qdSd9LAogICAgICAgIHpvbmd5aToge2NhdGVJZDogJ3pvbmd5aSd9LAogICAgICAgIGRvbmdtYW46IHtjYXRlSWQ6ICdkb25nbWFuJ30sCiAgICAgICAgemhpYm86IHtjYXRlSWQ6ICd6aGlibyd9CiAgICB9LAogICAgY2xhc3NfcGFyc2U6ICcuc3R1aS1oZWFkZXJfX21lbnUgbGk6Z3QoMCk6bHQoOCk7YSYmVGV4dDthJiZocmVmOy4qLyguKj8pLmh0bWwnLAogICAgcGFnZWNvdW50OiB7InpoaWJvIjogMX0sCiAgICBsYXp5OiBganM6CiAgICAgICAgdmFyIGh0bWwgPSBKU09OLnBhcnNlKHJlcXVlc3QoaW5wdXQpLm1hdGNoKC9yIHBsYXllcl8uKj89KC4qPyk8LylbMV0pOwogICAgICAgIHZhciB1cmwgPSBodG1sLnVybDsKICAgICAgICBpZiAoaHRtbC5lbmNyeXB0ID09ICcxJykgewogICAgICAgICAgICB1cmwgPSB1bmVzY2FwZSh1cmwpCiAgICAgICAgfSBlbHNlIGlmIChodG1sLmVuY3J5cHQgPT0gJzInKSB7CiAgICAgICAgICAgIHVybCA9IHVuZXNjYXBlKGJhc2U2NERlY29kZSh1cmwpKQogICAgICAgIH0KICAgICAgICBpZiAoL20zdTh8bXA0Ly50ZXN0KHVybCkpIHsKICAgICAgICAgICAgaW5wdXQgPSB7CiAgICAgICAgICAgICAgICBqeDogMCwKICAgICAgICAgICAgICAgIHVybDogdXJsLAogICAgICALine truncated
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
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 truncated
|
||||||
@@ -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);`,
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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 "};
|
||||||
@@ -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
Reference in new issue
Block a user