From d1f8f2cb5f62838fcb39c026199b78a16a8ebe58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8E=AB=E5=90=8D=E7=9A=84=E6=82=B2=E4=BC=A4?= <598500782@qq.com> Date: Sat, 17 Dec 2022 17:13:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JS/fm.jar | Bin 0 -> 250191 bytes JS/js/188看.js | 18 +++++-- JS/js/JRKAN直播.js | 4 +- JS/js/LIBVIO.js | 31 ++++++++---- JS/js/NFM影视.js | 18 +++++++ JS/js/Voflix.js | 23 +++++++-- JS/js/YOKE影视.js | 18 +++++++ JS/js/alist.json | 2 +- JS/js/alistjar.json | 80 +++++++++++++++++++++++++++++++ JS/js/cokemv.js | 24 ++++++++-- JS/js/fositv.js | 14 ++++++ JS/js/乐猪TV.js | 8 +++- JS/js/九酷.js | 20 ++++++++ JS/js/剧白白.js | 26 +++++++--- JS/js/剧荒TV.js | 33 +++++++++++++ JS/js/南柯电影网.js | 17 +++++++ JS/js/厂长资源.js | 27 ++++++----- JS/js/双十电影.js | 25 ++++++---- JS/js/哔嘀影视.js | 32 +++++++++++++ JS/js/回响影视.js | 19 ++++++-- JS/js/在线之家.js | 15 ++++-- JS/js/城市影视.js | 24 ++++++++++ JS/js/城市电影.js | 26 ++++++++++ JS/js/大米星球.js | 4 +- JS/js/天空影视.js | 44 ++++++++++------- JS/js/宅腐影视2.js | 12 +++-- JS/js/小猫咪.js | 12 +++-- JS/js/干饭影视.js | 11 +++-- JS/js/异世界动漫.js | 19 ++++++-- JS/js/影视工场.js | 13 +++++ JS/js/快看.js | 24 +++++++--- JS/js/新视觉影视.js | 43 ++++++++++------- JS/js/有声小说吧.js | 25 ++++++---- JS/js/歪片星球.js | 8 ++-- JS/js/海外看影院.js | 23 +++++++++ JS/js/溪谷影视.js | 13 ++++- JS/js/爱看.js | 30 ++++++++++++ JS/js/番茄影视.js | 24 +++++++--- JS/js/看一看影视.js | 38 +++++++++++++++ JS/js/看了么.js | 12 +++-- JS/js/真不卡.js | 26 +++++++--- JS/js/石榴影院.js | 37 +++++++++----- JS/js/神马影视.js | 35 ++++++++++---- JS/js/胖虎.js | 12 +++++ JS/js/莫扎兔.js | 18 +++---- JS/js/落攻阁影视.js | 11 +++-- JS/js/蓝光影院.js | 27 ++++++++--- JS/js/蜥蜴影视.js | 26 ++++++++++ JS/js/追剧达人.js | 35 ++++++++------ JS/js/酷客影院.js | 7 +-- JS/js/音乐演唱.json | 114 ++++++++++++++++++++++++++++++++++++++++++++ JS/js/饭团.js | 16 +++++-- JS/js/骚火.js | 27 +++++++++++ JS/js/鸭奈飞.js | 41 +++++++--------- JS/js/麦豆com.js | 23 +++------ JS/lib/alist.min.js | 2 +- JS/lib/drpy.min.js | 2 +- JS/lib/drpy2.min.js | 2 +- JS/lib/token.txt | 1 + JS/w.jar | Bin 22660 -> 0 bytes 60 files changed, 1062 insertions(+), 259 deletions(-) create mode 100644 JS/fm.jar create mode 100644 JS/js/NFM影视.js create mode 100644 JS/js/YOKE影视.js create mode 100644 JS/js/alistjar.json create mode 100644 JS/js/fositv.js create mode 100644 JS/js/九酷.js create mode 100644 JS/js/剧荒TV.js create mode 100644 JS/js/南柯电影网.js create mode 100644 JS/js/哔嘀影视.js create mode 100644 JS/js/城市影视.js create mode 100644 JS/js/城市电影.js create mode 100644 JS/js/影视工场.js create mode 100644 JS/js/海外看影院.js create mode 100644 JS/js/爱看.js create mode 100644 JS/js/看一看影视.js create mode 100644 JS/js/胖虎.js create mode 100644 JS/js/蜥蜴影视.js create mode 100644 JS/js/音乐演唱.json create mode 100644 JS/js/骚火.js create mode 100644 JS/lib/token.txt delete mode 100644 JS/w.jar diff --git a/JS/fm.jar b/JS/fm.jar new file mode 100644 index 0000000000000000000000000000000000000000..d8dfe1c81c6c0bca03445c90b19516ef3e83077b GIT binary patch literal 250191 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

VrV4MoJMmV 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"https://player.buyaotou.xyz/?url="+url;d.saveParse(input,real_url);input=real_url}}catch(e){print("网络请求发生错误:"+e.message)}}', - // lazy:'js:cacheUrl=getParse(input);if(cacheUrl){input=cacheUrl}else{try{let html=fetch(input,fetch_params);let ret=html.match(/var player_(.*?)=(.*?)10){real_url="https://player.buyaotou.xyz/?url="+url;saveParse(input,real_url);input=real_url}}catch(e){print("网络请求发生错误:"+e.message)}}', + // lazy:'js:cacheUrl=d.getParse(input);if(cacheUrl){input=cacheUrl}else{try{let html=fetch(input,{headers:d.headers,timeout:d.timeout,encoding:d.encoding});let ret=html.match(/var player_(.*?)=(.*?)10){real_url="https://player.6080kan.cc/player/play.php?url="+url;d.saveParse(input,real_url);input=real_url}}catch(e){print("网络请求发生错误:"+e.message)}}', + // lazy:'js:cacheUrl=getParse(input);if(cacheUrl){input=cacheUrl}else{try{let html=fetch(input,fetch_params);let ret=html.match(/var player_(.*?)=(.*?)10){real_url="https://player.6080kan.cc/player/play.php?url="+url;saveParse(input,real_url);input=real_url}}catch(e){print("网络请求发生错误:"+e.message)}}', limit:5, 推荐:'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text.text-right&&Text;a&&href', double:true, // 推荐内容是否双层定位 一级:'body .stui-vodlist__box;a&&title;.lazyload&&data-original;.pic-text.text-right&&Text;a&&href', - 二级:{"title":"h1.title&&Text;.stui-content__detail p:eq(1)&&Text","img":".lazyload&&data-original","desc":".stui-content__detail p:eq(-3)&&Text;.stui-content__detail p:eq(-2)&&Text","content":".stui-content__detail p.detail&&Text","tabs":".stui-vodlist__head h3","lists":".stui-vodlist__head:eq(#id)&&.stui-content__playlist li"}, + // 二级:{"title":"h1.title&&Text;.stui-content__detail p:eq(1)&&Text","img":".lazyload&&data-original","desc":".stui-content__detail p:eq(-3)&&Text;.stui-content__detail p:eq(-2)&&Text","content":".stui-content__detail p.detail&&Text","tabs":".stui-vodlist__head h3","lists":".stui-vodlist__head:eq(#id)&&.stui-content__playlist li"}, + 二级:{"title":"h1.title&&Text;.stui-content__detail p:eq(1)&&Text","img":".lazyload&&data-original","desc":";;;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text","content":".detail-content&&Text","tabs":".stui-vodlist__head h3.icon-iconfontplay2","lists":".stui-vodlist__head:eq(#id)&&.stui-content__playlist li"}, // 搜索:'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text', } diff --git a/JS/js/胖虎.js b/JS/js/胖虎.js new file mode 100644 index 0000000..a0c09bc --- /dev/null +++ b/JS/js/胖虎.js @@ -0,0 +1,12 @@ +muban.mxpro.二级.desc = ';;;.module-info-item:eq(2) .module-info-item-content&&Text;.module-info-item:eq(1) .module-info-item-content&&Text' +var rule = { + title:'胖虎', + 模板:'mxpro', + host:'http://panghuys.com', + url:'/vodshow/fyclassfyfilter.html', + filterable:1,//是否启用分类筛选, + filter_url:'{{fl.area}}{{fl.by}}{{fl.class}}/page/fypage{{fl.year}}', + filter: {"1":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"动作","v":"/class/动作"},{"n":"喜剧","v":"/class/喜剧"},{"n":"爱情","v":"/class/爱情"},{"n":"科幻","v":"/class/科幻"},{"n":"剧情","v":"/class/剧情"},{"n":"悬疑","v":"/class/悬疑"},{"n":"惊悚","v":"/class/惊悚"},{"n":"恐怖","v":"/class/恐怖"},{"n":"犯罪","v":"/class/犯罪"},{"n":"谍战","v":"/class/谍战"},{"n":"冒险","v":"/class/冒险"},{"n":"奇幻","v":"/class/奇幻"},{"n":"灾难","v":"/class/灾难"},{"n":"战争","v":"/class/战争"},{"n":"动画","v":"/class/动画"},{"n":"歌舞","v":"/class/歌舞"},{"n":"历史","v":"/class/历史"},{"n":"传记","v":"/class/传记"},{"n":"其他","v":"/class/其他"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"/area/中国大陆"},{"n":"中国香港","v":"/area/中国香港"},{"n":"中国台湾","v":"/area/中国台湾"},{"n":"美国","v":"/area/美国"},{"n":"法国","v":"/area/法国"},{"n":"英国","v":"/area/英国"},{"n":"日本","v":"/area/日本"},{"n":"韩国","v":"/area/韩国"},{"n":"德国","v":"/area/德国"},{"n":"泰国","v":"/area/泰国"},{"n":"印度","v":"/area/印度"},{"n":"意大利","v":"/area/意大利"},{"n":"西班牙","v":"/area/西班牙"},{"n":"加拿大","v":"/area/加拿大"},{"n":"其他","v":"/area/其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"},{"n":"2009","v":"/year/2009"},{"n":"2008","v":"/year/2008"},{"n":"2007","v":"/year/2007"},{"n":"2006","v":"/year/2006"},{"n":"2005","v":"/year/2005"},{"n":"2004","v":"/year/2004"},{"n":"2003","v":"/year/2003"},{"n":"2002","v":"/year/2002"},{"n":"2001","v":"/year/2001"},{"n":"2000","v":"/year/2000"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"/by/time"},{"n":"人气","v":"/by/hits"},{"n":"评分","v":"/by/score"}]}],"2":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"武侠","v":"/class/武侠"},{"n":"喜剧","v":"/class/喜剧"},{"n":"爱情","v":"/class/爱情"},{"n":"剧情","v":"/class/剧情"},{"n":"青春","v":"/class/青春"},{"n":"悬疑","v":"/class/悬疑"},{"n":"科幻","v":"/class/科幻"},{"n":"军事","v":"/class/军事"},{"n":"警匪","v":"/class/警匪"},{"n":"谍战","v":"/class/谍战"},{"n":"奇幻","v":"/class/奇幻"},{"n":"偶像","v":"/class/偶像"},{"n":"年代","v":"/class/年代"},{"n":"乡村","v":"/class/乡村"},{"n":"都市","v":"/class/都市"},{"n":"家庭","v":"/class/家庭"},{"n":"古装","v":"/class/古装"},{"n":"历史","v":"/class/历史"},{"n":"神话","v":"/class/神话"},{"n":"其他","v":"/class/其他"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"/area/中国大陆"},{"n":"中国香港","v":"/area/中国香港"},{"n":"中国台湾","v":"/area/中国台湾"},{"n":"美国","v":"/area/美国"},{"n":"韩国","v":"/area/韩国"},{"n":"日本","v":"/area/日本"},{"n":"法国","v":"/area/法国"},{"n":"英国","v":"/area/英国"},{"n":"德国","v":"/area/德国"},{"n":"泰国","v":"/area/泰国"},{"n":"印度","v":"/area/印度"},{"n":"其他","v":"/area/其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"},{"n":"2009","v":"/year/2009"},{"n":"2008","v":"/year/2008"},{"n":"2007","v":"/year/2007"},{"n":"2006","v":"/year/2006"},{"n":"2005","v":"/year/2005"},{"n":"2004","v":"/year/2004"},{"n":"2003","v":"/year/2003"},{"n":"2002","v":"/year/2002"},{"n":"2001","v":"/year/2001"},{"n":"2000","v":"/year/2000"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"/by/time"},{"n":"人气","v":"/by/hits"},{"n":"评分","v":"/by/score"}]}],"3":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"脱口秀","v":"/class/脱口秀"},{"n":"真人秀","v":"/class/真人秀"},{"n":"搞笑","v":"/class/搞笑"},{"n":"访谈","v":"/class/访谈"},{"n":"生活","v":"/class/生活"},{"n":"晚会","v":"/class/晚会"},{"n":"美食","v":"/class/美食"},{"n":"游戏","v":"/class/游戏"},{"n":"亲子","v":"/class/亲子"},{"n":"旅游","v":"/class/旅游"},{"n":"文化","v":"/class/文化"},{"n":"体育","v":"/class/体育"},{"n":"时尚","v":"/class/时尚"},{"n":"纪实","v":"/class/纪实"},{"n":"益智","v":"/class/益智"},{"n":"演艺","v":"/class/演艺"},{"n":"歌舞","v":"/class/歌舞"},{"n":"音乐","v":"/class/音乐"},{"n":"播报","v":"/class/播报"},{"n":"其他","v":"/class/其他"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"/area/中国大陆"},{"n":"中国香港","v":"/area/中国香港"},{"n":"中国台湾","v":"/area/中国台湾"},{"n":"美国","v":"/area/美国"},{"n":"韩国","v":"/area/韩国"},{"n":"日本","v":"/area/日本"},{"n":"法国","v":"/area/法国"},{"n":"英国","v":"/area/英国"},{"n":"德国","v":"/area/德国"},{"n":"泰国","v":"/area/泰国"},{"n":"印度","v":"/area/印度"},{"n":"其他","v":"/area/其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"},{"n":"2009","v":"/year/2009"},{"n":"2008","v":"/year/2008"},{"n":"2007","v":"/year/2007"},{"n":"2006","v":"/year/2006"},{"n":"2005","v":"/year/2005"},{"n":"2004","v":"/year/2004"},{"n":"2003","v":"/year/2003"},{"n":"2002","v":"/year/2002"},{"n":"2001","v":"/year/2001"},{"n":"2000","v":"/year/2000"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"/by/time"},{"n":"人气","v":"/by/hits"},{"n":"评分","v":"/by/score"}]}],"4":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"热血","v":"/class/热血"},{"n":"格斗","v":"/class/格斗"},{"n":"恋爱","v":"/class/恋爱"},{"n":"少女","v":"/class/少女"},{"n":"校园","v":"/class/校园"},{"n":"搞笑","v":"/class/搞笑"},{"n":"神魔","v":"/class/神魔"},{"n":"机战","v":"/class/机战"},{"n":"科幻","v":"/class/科幻"},{"n":"真人","v":"/class/真人"},{"n":"青春","v":"/class/青春"},{"n":"魔法","v":"/class/魔法"},{"n":"神话","v":"/class/神话"},{"n":"冒险","v":"/class/冒险"},{"n":"运动","v":"/class/运动"},{"n":"竞技","v":"/class/竞技"},{"n":"童话","v":"/class/童话"},{"n":"亲子","v":"/class/亲子"},{"n":"教育","v":"/class/教育"},{"n":"励志","v":"/class/励志"},{"n":"剧情","v":"/class/剧情"},{"n":"其他","v":"/class/其他"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"/area/中国大陆"},{"n":"日本","v":"/area/日本"},{"n":"美国","v":"/area/美国"},{"n":"其他","v":"/area/其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"},{"n":"2009","v":"/year/2009"},{"n":"2008","v":"/year/2008"},{"n":"2007","v":"/year/2007"},{"n":"2006","v":"/year/2006"},{"n":"2005","v":"/year/2005"},{"n":"2004","v":"/year/2004"},{"n":"2003","v":"/year/2003"},{"n":"2002","v":"/year/2002"},{"n":"2001","v":"/year/2001"},{"n":"2000","v":"/year/2000"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"/by/time"},{"n":"人气","v":"/by/hits"},{"n":"评分","v":"/by/score"}]}]}, + searchUrl:'/search-**----------fypage---/', + class_parse:'.navbar-items li:gt(1):lt(7);a&&Text;a&&href;/(\\d+).html', +} \ No newline at end of file diff --git a/JS/js/莫扎兔.js b/JS/js/莫扎兔.js index 39d95dc..beb3f98 100644 --- a/JS/js/莫扎兔.js +++ b/JS/js/莫扎兔.js @@ -1,8 +1,10 @@ -var rule = Object.assign(muban.mxpro,{ -title:'莫扎兔', -host:'https://www.mozhatu.com', -tab_exclude:'排序', -url:'/index.php/vod/show/id/fyclass/page/fypage.html', -searchUrl:'/index.php/vod/search/page/fypage/wd/**.html', -class_parse:'.navbar-items li:gt(2):lt(8);a&&Text;a&&href;.*/(.*?).html', -}); \ No newline at end of file +muban.mxpro.二级.desc = ';;;.module-info-item-content:eq(1)&&Text;.module-info-item-content:eq(0)&&Text'; +muban.mxpro.二级.tabs = '#y-playList .module-tab-item'; +var rule = { + title:'莫扎兔', + 模板:'mxpro', + host:'https://www.mozhatu.com', + url:'/index.php/vod/show/id/fyclass/page/fypage.html', + searchUrl:'/index.php/vod/search/page/fypage/wd/**.html', + class_parse:'.navbar-items li:gt(2):lt(8);a&&Text;a&&href;.*/(.*?).html', +} \ No newline at end of file diff --git a/JS/js/落攻阁影视.js b/JS/js/落攻阁影视.js index 106cdba..c42b407 100644 --- a/JS/js/落攻阁影视.js +++ b/JS/js/落攻阁影视.js @@ -2,11 +2,13 @@ var rule = { title:'落攻阁影视', host:'https://www.mfxs0.cn', // homeUrl:'/', - url:'/index.php/vod/show/id/fyclass/page/fypage.html', + // url:'/index.php/vod/show/id/fyclass/page/fypage.html', + url:'/index.php/vod/show/id/fyclassfyfilter.html', + filterable:1,//是否启用分类筛选, + filter_url:'{{fl.area}}{{fl.by}}{{fl.class}}/page/fypage{{fl.year}}', + filter: {"1":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"喜剧","v":"/class/喜剧"},{"n":"爱情","v":"/class/爱情"},{"n":"恐怖","v":"/class/恐怖"},{"n":"动作","v":"/class/动作"},{"n":"科幻","v":"/class/科幻"},{"n":"剧情","v":"/class/剧情"},{"n":"战争","v":"/class/战争"},{"n":"警匪","v":"/class/警匪"},{"n":"犯罪","v":"/class/犯罪"},{"n":"动画","v":"/class/动画"},{"n":"奇幻","v":"/class/奇幻"},{"n":"武侠","v":"/class/武侠"},{"n":"冒险","v":"/class/冒险"},{"n":"枪战","v":"/class/枪战"},{"n":"恐怖","v":"/class/恐怖"},{"n":"悬疑","v":"/class/悬疑"},{"n":"惊悚","v":"/class/惊悚"},{"n":"经典","v":"/class/经典"},{"n":"青春","v":"/class/青春"},{"n":"文艺","v":"/class/文艺"},{"n":"微电影","v":"/class/微电影"},{"n":"古装","v":"/class/古装"},{"n":"历史","v":"/class/历史"},{"n":"运动","v":"/class/运动"},{"n":"农村","v":"/class/农村"},{"n":"儿童","v":"/class/儿童"},{"n":"网络电影","v":"/class/网络电影"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"/area/大陆"},{"n":"香港","v":"/area/香港"},{"n":"台湾","v":"/area/台湾"},{"n":"美国","v":"/area/美国"},{"n":"法国","v":"/area/法国"},{"n":"英国","v":"/area/英国"},{"n":"日本","v":"/area/日本"},{"n":"韩国","v":"/area/韩国"},{"n":"德国","v":"/area/德国"},{"n":"泰国","v":"/area/泰国"},{"n":"印度","v":"/area/印度"},{"n":"意大利","v":"/area/意大利"},{"n":"西班牙","v":"/area/西班牙"},{"n":"加拿大","v":"/area/加拿大"},{"n":"其他","v":"/area/其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"},{"n":"2009","v":"/year/2009"},{"n":"2008","v":"/year/2008"},{"n":"2006","v":"/year/2006"},{"n":"2005","v":"/year/2005"},{"n":"2004","v":"/year/2004"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"/by/time"},{"n":"人气","v":"/by/hits"},{"n":"评分","v":"/by/score"}]}],"2":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"古装","v":"/class/古装"},{"n":"战争","v":"/class/战争"},{"n":"青春偶像","v":"/class/青春偶像"},{"n":"喜剧","v":"/class/喜剧"},{"n":"家庭","v":"/class/家庭"},{"n":"犯罪","v":"/class/犯罪"},{"n":"动作","v":"/class/动作"},{"n":"奇幻","v":"/class/奇幻"},{"n":"剧情","v":"/class/剧情"},{"n":"历史","v":"/class/历史"},{"n":"经典","v":"/class/经典"},{"n":"乡村","v":"/class/乡村"},{"n":"情景","v":"/class/情景"},{"n":"商战","v":"/class/商战"},{"n":"网剧","v":"/class/网剧"},{"n":"其他","v":"/class/其他"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"内地","v":"/area/内地"},{"n":"韩国","v":"/area/韩国"},{"n":"香港","v":"/area/香港"},{"n":"台湾","v":"/area/台湾"},{"n":"日本","v":"/area/日本"},{"n":"美国","v":"/area/美国"},{"n":"泰国","v":"/area/泰国"},{"n":"英国","v":"/area/英国"},{"n":"新加坡","v":"/area/新加坡"},{"n":"其他","v":"/area/其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"},{"n":"2009","v":"/year/2009"},{"n":"2008","v":"/year/2008"},{"n":"2006","v":"/year/2006"},{"n":"2005","v":"/year/2005"},{"n":"2004","v":"/year/2004"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"/by/time"},{"n":"人气","v":"/by/hits"},{"n":"评分","v":"/by/score"}]}],"3":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"选秀","v":"/class/选秀"},{"n":"情感","v":"/class/情感"},{"n":"访谈","v":"/class/访谈"},{"n":"播报","v":"/class/播报"},{"n":"旅游","v":"/class/旅游"},{"n":"音乐","v":"/class/音乐"},{"n":"美食","v":"/class/美食"},{"n":"纪实","v":"/class/纪实"},{"n":"曲艺","v":"/class/曲艺"},{"n":"生活","v":"/class/生活"},{"n":"游戏互动","v":"/class/游戏互动"},{"n":"财经","v":"/class/财经"},{"n":"求职","v":"/class/求职"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"内地","v":"/area/内地"},{"n":"港台","v":"/area/港台"},{"n":"日韩","v":"/area/日韩"},{"n":"欧美","v":"/area/欧美"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"},{"n":"2009","v":"/year/2009"},{"n":"2008","v":"/year/2008"},{"n":"2006","v":"/year/2006"},{"n":"2005","v":"/year/2005"},{"n":"2004","v":"/year/2004"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"/by/time"},{"n":"人气","v":"/by/hits"},{"n":"评分","v":"/by/score"}]}],"4":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"情感","v":"/class/情感"},{"n":"科幻","v":"/class/科幻"},{"n":"热血","v":"/class/热血"},{"n":"推理","v":"/class/推理"},{"n":"搞笑","v":"/class/搞笑"},{"n":"冒险","v":"/class/冒险"},{"n":"萝莉","v":"/class/萝莉"},{"n":"校园","v":"/class/校园"},{"n":"动作","v":"/class/动作"},{"n":"机战","v":"/class/机战"},{"n":"运动","v":"/class/运动"},{"n":"战争","v":"/class/战争"},{"n":"少年","v":"/class/少年"},{"n":"少女","v":"/class/少女"},{"n":"社会","v":"/class/社会"},{"n":"原创","v":"/class/原创"},{"n":"亲子","v":"/class/亲子"},{"n":"益智","v":"/class/益智"},{"n":"励志","v":"/class/励志"},{"n":"其他","v":"/class/其他"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"国产","v":"/area/国产"},{"n":"日本","v":"/area/日本"},{"n":"欧美","v":"/area/欧美"},{"n":"其他","v":"/area/其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"},{"n":"2009","v":"/year/2009"},{"n":"2008","v":"/year/2008"},{"n":"2006","v":"/year/2006"},{"n":"2005","v":"/year/2005"},{"n":"2004","v":"/year/2004"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"/by/time"},{"n":"人气","v":"/by/hits"},{"n":"评分","v":"/by/score"}]}]}, searchUrl:'/index.php/vod/search/page/fypage/wd/**.html', searchable:2,//是否启用全局搜索, - quickSearch:0,//是否启用快速搜索, - filterable:0,//是否启用分类筛选, headers:{//网站的请求头,完整支持所有的,常带ua和cookies 'User-Agent':'MOBILE_UA', // "Cookie": "searchneed=ok" @@ -21,6 +23,7 @@ var rule = { 推荐:'.tab-list.active;.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href', double:true, // 推荐内容是否双层定位 一级:'.module-poster-item.module-item;a&&title;img&&data-original;.module-item-note&&Text;a&&href', - 二级:{"title":"h1&&Text;.module-info-tag-link:eq(2)&&Text","img":".module-item-pic&&img&&data-original","desc":".module-info-content&&.module-info-item:eq(-2)&&Text;.module-info-content&&.module-info-item:eq(-4)&&Text;.module-info-content&&.module-info-item:eq(5)&&Text;.module-info-content&&.module-info-item:eq(3)&&.module-info-item-content&&Text;.module-info-content&&.module-info-item:eq(1)&&.module-info-item-content&&Text","content":".module-info-introduction-content&&Text","tabs":".module-tab-items-box:eq(0)&&.module-tab-item","lists":".module-list:eq(#id)&&.module-play-list-content a"}, + // 二级:{"title":"h1&&Text;.module-info-tag-link:eq(2)&&Text","img":".module-item-pic&&img&&data-original","desc":".module-info-content&&.module-info-item:eq(-2)&&Text;.module-info-content&&.module-info-item:eq(-4)&&Text;.module-info-content&&.module-info-item:eq(5)&&Text;.module-info-content&&.module-info-item:eq(3)&&.module-info-item-content&&Text;.module-info-content&&.module-info-item:eq(1)&&.module-info-item-content&&Text","content":".module-info-introduction-content&&Text","tabs":".module-tab-items-box:eq(0)&&.module-tab-item","lists":".module-list:eq(#id)&&.module-play-list-content a"}, + 二级:{"title":"h1&&Text;.module-info-tag-link:eq(2)&&Text","img":".module-item-pic&&img&&data-original","desc":".module-info-content&&.module-info-item:eq(-2)&&Text;.module-info-content&&.module-info-item:eq(-4)&&Text;.module-info-content&&.module-info-item:eq(5)&&Text;.module-info-content&&.module-info-item:eq(2)&&.module-info-item-content&&Text;.module-info-content&&.module-info-item:eq(1)&&.module-info-item-content&&Text","content":".module-info-introduction-content&&Text","tabs":".module-tab-items-box:eq(0)&&.module-tab-item","lists":".module-list:eq(#id)&&.module-play-list-content a"}, 搜索:'.module-card-item.module-item;.module-card-item-title&&Text;img&&data-original;.module-item-note&&Text;a.play-btn-o&&href', } diff --git a/JS/js/蓝光影院.js b/JS/js/蓝光影院.js index 43dff7d..d1b3aee 100644 --- a/JS/js/蓝光影院.js +++ b/JS/js/蓝光影院.js @@ -1,7 +1,20 @@ -var rule = Object.assign(muban.mxpro,{ -title:'蓝光影院', -host:'https://lgyy.cc', -url:'/vodshow/fyclass--------fypage---.html', -searchUrl:'/vodsearch/**-------------.html', -class_parse:'.navbar-items li:gt(1):lt(6);a&&Text;a&&href;.*/(.*?).html', -}); \ No newline at end of file +muban.mxpro.二级.desc = ';;;.module-info-item-content:eq(1)&&Text;.module-info-item-content:eq(0)&&Text' +var rule = { + title:'蓝光影院', + 模板:'mxpro', + host:'https://www.lgyy.tv', + // url:'/vodshow/fyclass--------fypage---.html', + url:'/vodshow/fyfilter.html', + filterable:1,//是否启用分类筛选, + filter_url:'{{fl.cateId}}-{{fl.area}}-{{fl.by}}-{{fl.class}}-----fypage---{{fl.year}}', + filter: {"1":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":"1"},{"n":"动作片","v":"6"},{"n":"喜剧片","v":"7"},{"n":"爱情片","v":"8"},{"n":"科幻片","v":"9"},{"n":"恐怖片","v":"10"},{"n":"剧情片","v":"11"},{"n":"战争片","v":"12"},{"n":"惊悚片","v":"20"},{"n":"犯罪片","v":"21"},{"n":"冒险片","v":"22"},{"n":"悬疑片","v":"23"},{"n":"武侠片","v":"24"},{"n":"奇幻片","v":"25"}]},{"key":"class","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":"网络电影"}]},{"key":"area","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":"year","name":"年份","value":[{"n":"全部","v":""},{"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"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}],"2":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":"2"},{"n":"国产剧","v":"13"},{"n":"港台剧","v":"14"},{"n":"日韩剧","v":"15"},{"n":"欧美剧","v":"16"},{"n":"泰国剧","v":"26"}]},{"key":"class","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":"area","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":"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"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}],"3":[{"key":"class","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":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"港台","v":"港台"},{"n":"日韩","v":"日韩"},{"n":"欧美","v":"欧美"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"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"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}],"5":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":"5"},{"n":"番剧","v":"17"},{"n":"国创","v":"18"},{"n":"动画片","v":"27"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"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"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}],"4":[{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"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"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}]}, + filter_def:{ + 1:{cateId:'1'}, + 2:{cateId:'2'}, + 4:{cateId:'4'}, + 3:{cateId:'3'}, + 5:{cateId:'5'} + }, + searchUrl:'/vodsearch/**-------------.html', + class_parse:'.navbar-items li:gt(1):lt(6);a&&Text;a&&href;.*/(.*?).html', +} \ No newline at end of file diff --git a/JS/js/蜥蜴影视.js b/JS/js/蜥蜴影视.js new file mode 100644 index 0000000..b4008c1 --- /dev/null +++ b/JS/js/蜥蜴影视.js @@ -0,0 +1,26 @@ +var rule={ + title:'蜥蜴影视', + host:'https://xi1.net', + // homeUrl:'/', + url:'/tvshow/fyclassXXXXXXXfypageXXX.html', + searchUrl:'/tvsearch/**XXXXXXXXXXfypageXXX.html', + searchable:2,//是否启用全局搜索, + quickSearch:0,//是否启用快速搜索, + filterable:0,//是否启用分类筛选, + headers:{//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent':'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + //class_parse:'.conch-nav&&ul&&li;a&&Text;a&&href;./(\\d+).html', + //cate_exclude:'', + class_name:'电影&电视剧&综艺&动漫&体育赛事', + class_url:'FilmX&TVshowX&VarietyX&AnimeX&tiyuX', + play_parse:true, + lazy:'', + limit:6, + 推荐:'body&&.hl-list-wrap;ul&&li;a&&title;.hl-lazy&&data-original;.hl-pic-text&&Text;a&&href', + double:true, // 推荐内容是否双层定位 + 一级:'.hl-vod-list&&li;a&&title;.hl-lazy&&data-original;.hl-pic-text&&Text;a&&href', + 二级:{"title":".hl-dc-title&&Text;.hl-col-xs-12&&em&&.hl-text-muted:eq(-2)&&Text","img":".hl-lazy&&data-original","desc":";;.hl-col-xs-12:eq(5)&&Text;.hl-col-xs-12:eq(3)&&Text;.hl-col-xs-12:eq(4)&&Text","content":".hl-content-text&&Text","tabs":".hl-plays-from a","lists":".hl-plays-list:eq(#id) li"}, + 搜索:'.hl-list-wrap&&ul&&li;.hl-item-thumb&&title;.hl-lazy&&data-original;.hl-pic-text&&Text;a&&href', +} diff --git a/JS/js/追剧达人.js b/JS/js/追剧达人.js index 3f97c71..f40a924 100644 --- a/JS/js/追剧达人.js +++ b/JS/js/追剧达人.js @@ -1,16 +1,23 @@ +muban.mxpro.二级.desc = ';;;.module-info-item-content:eq(1)&&Text;.module-info-item-content:eq(0)&&Text' +muban.mxpro.二级.tabs = '.module-tab-items-box .module-tab-item' var rule={ -title:'追剧达人', -host:'http://zjdr.tv', -url:'/vodshow/id/fyclass/page/fypage.html', -searchUrl:'/vod/search/page/fypage/wd/**.html', -searchable:2, -quickSearch:1, -filterable:0, -headers:{'User-Agent':'MOBILE_UA', }, -class_name:'电影&电视剧&综艺&动漫', -class_url:'1&2&3&4', -推荐:'.module-main;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href', -一级:'.module-poster-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href', -二级:{"title":"h1&&Text;.module-info-items div:eq(5) p&&Text","img":".lazyload&&data-original","desc":";;;.module-info-items div:eq(4) a&&Text;.module-info-items div:eq(3) a&&Text","content":".show-desc&&Text","tabs":".module-tab-items-box div","lists":".module-play-list:eq(#id) a"}, -搜索:'.module-poster-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href', + title:'追剧达人', + 模板:'mxpro', + host:'http://zjdr.tv', + url:'/vodshowfyfilter.html', + filterable:1,//是否启用分类筛选, + filter_url:'{{fl.area}}{{fl.by}}{{fl.class}}/id/{{fl.cateId}}/page/fypage{{fl.year}}', + filter: {"1":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":"1"},{"n":"动作片","v":"6"},{"n":"喜剧片","v":"7"},{"n":"爱情片","v":"8"},{"n":"科幻片","v":"9"},{"n":"恐怖片","v":"10"},{"n":"剧情片","v":"11"},{"n":"战争片","v":"12"}]},{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"喜剧","v":"/class/喜剧"},{"n":"爱情","v":"/class/爱情"},{"n":"恐怖","v":"/class/恐怖"},{"n":"动作","v":"/class/动作"},{"n":"科幻","v":"/class/科幻"},{"n":"剧情","v":"/class/剧情"},{"n":"战争","v":"/class/战争"},{"n":"警匪","v":"/class/警匪"},{"n":"犯罪","v":"/class/犯罪"},{"n":"动画","v":"/class/动画"},{"n":"奇幻","v":"/class/奇幻"},{"n":"武侠","v":"/class/武侠"},{"n":"冒险","v":"/class/冒险"},{"n":"枪战","v":"/class/枪战"},{"n":"恐怖","v":"/class/恐怖"},{"n":"悬疑","v":"/class/悬疑"},{"n":"惊悚","v":"/class/惊悚"},{"n":"经典","v":"/class/经典"},{"n":"青春","v":"/class/青春"},{"n":"文艺","v":"/class/文艺"},{"n":"微电影","v":"/class/微电影"},{"n":"古装","v":"/class/古装"},{"n":"历史","v":"/class/历史"},{"n":"运动","v":"/class/运动"},{"n":"农村","v":"/class/农村"},{"n":"儿童","v":"/class/儿童"},{"n":"网络电影","v":"/class/网络电影"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"/area/大陆"},{"n":"香港","v":"/area/香港"},{"n":"台湾","v":"/area/台湾"},{"n":"美国","v":"/area/美国"},{"n":"法国","v":"/area/法国"},{"n":"英国","v":"/area/英国"},{"n":"日本","v":"/area/日本"},{"n":"韩国","v":"/area/韩国"},{"n":"德国","v":"/area/德国"},{"n":"泰国","v":"/area/泰国"},{"n":"印度","v":"/area/印度"},{"n":"意大利","v":"/area/意大利"},{"n":"西班牙","v":"/area/西班牙"},{"n":"加拿大","v":"/area/加拿大"},{"n":"其他","v":"/area/其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"},{"n":"2009","v":"/year/2009"},{"n":"2008","v":"/year/2008"},{"n":"2007","v":"/year/2007"},{"n":"2006","v":"/year/2006"},{"n":"2005","v":"/year/2005"},{"n":"2004","v":"/year/2004"},{"n":"2003","v":"/year/2003"},{"n":"2002","v":"/year/2002"},{"n":"2001","v":"/year/2001"},{"n":"2000","v":"/year/2000"},{"n":"1999","v":"/year/1999"},{"n":"1998","v":"/year/1998"},{"n":"1997","v":"/year/1997"},{"n":"1996","v":"/year/1996"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"/by/time"},{"n":"人气","v":"/by/hits"},{"n":"评分","v":"/by/score"}]}],"2":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":"2"},{"n":"国产剧","v":"13"},{"n":"港台剧","v":"14"},{"n":"日韩剧","v":"15"},{"n":"欧美剧","v":"16"}]},{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"古装","v":"/class/古装"},{"n":"战争","v":"/class/战争"},{"n":"青春偶像","v":"/class/青春偶像"},{"n":"喜剧","v":"/class/喜剧"},{"n":"家庭","v":"/class/家庭"},{"n":"犯罪","v":"/class/犯罪"},{"n":"动作","v":"/class/动作"},{"n":"奇幻","v":"/class/奇幻"},{"n":"剧情","v":"/class/剧情"},{"n":"历史","v":"/class/历史"},{"n":"经典","v":"/class/经典"},{"n":"乡村","v":"/class/乡村"},{"n":"情景","v":"/class/情景"},{"n":"商战","v":"/class/商战"},{"n":"网剧","v":"/class/网剧"},{"n":"其他","v":"/class/其他"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"大陆","v":"/area/大陆"},{"n":"中国大陆","v":"/area/中国大陆"},{"n":"内地","v":"/area/内地"},{"n":"韩国","v":"/area/韩国"},{"n":"香港","v":"/area/香港"},{"n":"台湾","v":"/area/台湾"},{"n":"日本","v":"/area/日本"},{"n":"美国","v":"/area/美国"},{"n":"泰国","v":"/area/泰国"},{"n":"英国","v":"/area/英国"},{"n":"新加坡","v":"/area/新加坡"},{"n":"其他","v":"/area/其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"},{"n":"2009","v":"/year/2009"},{"n":"2008","v":"/year/2008"},{"n":"2007","v":"/year/2007"},{"n":"2006","v":"/year/2006"},{"n":"2005","v":"/year/2005"},{"n":"2004","v":"/year/2004"},{"n":"2003","v":"/year/2003"},{"n":"2002","v":"/year/2002"},{"n":"2001","v":"/year/2001"},{"n":"2000","v":"/year/2000"},{"n":"1999","v":"/year/1999"},{"n":"1998","v":"/year/1998"},{"n":"1997","v":"/year/1997"},{"n":"1996","v":"/year/1996"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"/by/time"},{"n":"人气","v":"/by/hits"},{"n":"评分","v":"/by/score"}]}],"3":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"选秀","v":"/class/选秀"},{"n":"情感","v":"/class/情感"},{"n":"访谈","v":"/class/访谈"},{"n":"播报","v":"/class/播报"},{"n":"旅游","v":"/class/旅游"},{"n":"音乐","v":"/class/音乐"},{"n":"美食","v":"/class/美食"},{"n":"纪实","v":"/class/纪实"},{"n":"曲艺","v":"/class/曲艺"},{"n":"生活","v":"/class/生活"},{"n":"游戏互动","v":"/class/游戏互动"},{"n":"财经","v":"/class/财经"},{"n":"求职","v":"/class/求职"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"内地","v":"/area/内地"},{"n":"港台","v":"/area/港台"},{"n":"日韩","v":"/area/日韩"},{"n":"欧美","v":"/area/欧美"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"},{"n":"2009","v":"/year/2009"},{"n":"2008","v":"/year/2008"},{"n":"2007","v":"/year/2007"},{"n":"2006","v":"/year/2006"},{"n":"2005","v":"/year/2005"},{"n":"2004","v":"/year/2004"},{"n":"2003","v":"/year/2003"},{"n":"2002","v":"/year/2002"},{"n":"2001","v":"/year/2001"},{"n":"2000","v":"/year/2000"},{"n":"1999","v":"/year/1999"},{"n":"1998","v":"/year/1998"},{"n":"1997","v":"/year/1997"},{"n":"1996","v":"/year/1996"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"/by/time"},{"n":"人气","v":"/by/hits"},{"n":"评分","v":"/by/score"}]}],"4":[{"key":"class","name":"剧情","value":[{"n":"全部","v":""},{"n":"情感","v":"/class/情感"},{"n":"科幻","v":"/class/科幻"},{"n":"热血","v":"/class/热血"},{"n":"推理","v":"/class/推理"},{"n":"搞笑","v":"/class/搞笑"},{"n":"冒险","v":"/class/冒险"},{"n":"萝莉","v":"/class/萝莉"},{"n":"校园","v":"/class/校园"},{"n":"动作","v":"/class/动作"},{"n":"机战","v":"/class/机战"},{"n":"运动","v":"/class/运动"},{"n":"战争","v":"/class/战争"},{"n":"少年","v":"/class/少年"},{"n":"少女","v":"/class/少女"},{"n":"社会","v":"/class/社会"},{"n":"原创","v":"/class/原创"},{"n":"亲子","v":"/class/亲子"},{"n":"益智","v":"/class/益智"},{"n":"励志","v":"/class/励志"},{"n":"其他","v":"/class/其他"}]},{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"中国大陆","v":"/area/中国大陆"},{"n":"内地","v":"/area/内地"},{"n":"国产","v":"/area/国产"},{"n":"日本","v":"/area/日本"},{"n":"欧美","v":"/area/欧美"},{"n":"其他","v":"/area/其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"/year/2022"},{"n":"2021","v":"/year/2021"},{"n":"2020","v":"/year/2020"},{"n":"2019","v":"/year/2019"},{"n":"2018","v":"/year/2018"},{"n":"2017","v":"/year/2017"},{"n":"2016","v":"/year/2016"},{"n":"2015","v":"/year/2015"},{"n":"2014","v":"/year/2014"},{"n":"2013","v":"/year/2013"},{"n":"2012","v":"/year/2012"},{"n":"2011","v":"/year/2011"},{"n":"2010","v":"/year/2010"},{"n":"2009","v":"/year/2009"},{"n":"2008","v":"/year/2008"},{"n":"2007","v":"/year/2007"},{"n":"2006","v":"/year/2006"},{"n":"2005","v":"/year/2005"},{"n":"2004","v":"/year/2004"},{"n":"2003","v":"/year/2003"},{"n":"2002","v":"/year/2002"},{"n":"2001","v":"/year/2001"},{"n":"2000","v":"/year/2000"},{"n":"1999","v":"/year/1999"},{"n":"1998","v":"/year/1998"},{"n":"1997","v":"/year/1997"},{"n":"1996","v":"/year/1996"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"/by/time"},{"n":"人气","v":"/by/hits"},{"n":"评分","v":"/by/score"}]}]}, + filter_def:{ + 1:{cateId:'1'}, + 2:{cateId:'2'}, + 4:{cateId:'4'}, + 3:{cateId:'3'} + }, + class_parse: '.navbar-items li:gt(1):lt(8);a&&Text;a&&href;/(\\d+).html', + tab_exclude:'App专享', + // searchUrl:'/vod/search/page/fypage/wd/**.html', + searchUrl:'/index.php/ajax/suggest?mid=1&wd=**', + detailUrl:'/Moviedetail/fyid.html', //非必填,二级详情拼接链接 + 搜索:'json:list;name;pic;;id', } \ No newline at end of file diff --git a/JS/js/酷客影院.js b/JS/js/酷客影院.js index f1fb3e6..e72125d 100644 --- a/JS/js/酷客影院.js +++ b/JS/js/酷客影院.js @@ -3,8 +3,8 @@ var rule = { host:'http://www.2kuke.com', // homeUrl:'/', url:'/list/fyclass_fypage.html', - //searchUrl:'/vodsearch/**----------fypage---.html', - searchable:0,//是否启用全局搜索, + searchUrl:'/search.php#searchword=**;post', + searchable:2,//是否启用全局搜索, quickSearch:0,//是否启用快速搜索, filterable:0,//是否启用分类筛选, headers:{//网站的请求头,完整支持所有的,常带ua和cookies @@ -20,6 +20,7 @@ var rule = { 推荐:'.stui-vodlist.clearfix;.stui-vodlist__box;a&&title;a&&data-original;.pic-text&&Text;a&&href', double:true, // 推荐内容是否双层定位 一级:'.stui-vodlist.clearfix li;a&&title;a&&data-original;.pic-text&&Text;a&&href', - 二级:{"title":"h1.line1&&Text;.stui-content__detail p:eq(0)&&Text","img":".lazyload&&data-original","desc":";;;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text","content":".stui-content__detail p:eq(4)&&Text","tabs":".nav.nav-tabs.pull-right&&li","lists":".stui-content__playlist:eq(#id) li"}, + 二级:{"title":"h1.line1&&Text;.stui-content__detail p:eq(0)&&Text","img":".lazyload&&data-original","desc":";;;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text","content":".stui-content__detail p:eq(-1)&&Text","tabs":".nav.nav-tabs.pull-right&&li","lists":".stui-content__playlist:eq(#id) li"}, + 搜索:'ul.stui-vodlist__media&&li;*;*;*;*' } \ No newline at end of file diff --git a/JS/js/音乐演唱.json b/JS/js/音乐演唱.json new file mode 100644 index 0000000..54a6c5d --- /dev/null +++ b/JS/js/音乐演唱.json @@ -0,0 +1,114 @@ +{"cookie" : "", + "classes":[ + {"type_name":"我的","type_id":"经典无损音乐合集"}, + {"type_name":"粤语","type_id":"粤语歌曲超清"}, + {"type_name":"热榜","type_id":"2022年热们歌曲"}, + {"type_name":"经典","type_id":"经典老歌"}, + {"type_name":"古风","type_id":"古风歌曲"}, + {"type_name":"闽南","type_id":"闽南语歌曲"}, + {"type_name":"舞曲","type_id":"DJ歌曲"}, + {"type_name":"翻唱","type_id":"网红翻唱歌曲"}, + {"type_name":"音乐","type_id":"音乐 4k"}, + +{"type_name":"阿黛尔","type_id":"阿黛尔演唱会超清超清"}, +{"type_name":"Blackpink","type_id":"blackpink演唱会超清"}, +{"type_name":"Beyond","type_id":"beyond演唱会超清"}, +{"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":"Coldplay","type_id":"coldplay演唱会超清"}, +{"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":"H黑豹乐队"}, +{"type_name":"降央卓玛","type_id":"降央卓玛演唱会超清"}, +{"type_name":"江慧","type_id":"江慧歌曲"}, +{"type_name":"吉永小百合","type_id":"吉永小百合歌曲"}, +{"type_name":"金庸","type_id":"金庸影视歌曲"}, +{"type_name":"刘德华","type_id":"刘德华演唱会超清"}, +{"type_name":"Lady Gaga","type_id":"Lady Gaga演唱会超清"}, +{"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":"McHotdog","type_id":"MC Hotdog演唱会超清"}, +{"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":"TFBOYS","type_id":"TFBOYS演唱会超清"}, +{"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":"周传雄演唱会超清"}], + +"filter" : { + + }} \ No newline at end of file diff --git a/JS/js/饭团.js b/JS/js/饭团.js index 5492ad4..475aa7b 100644 --- a/JS/js/饭团.js +++ b/JS/js/饭团.js @@ -1,8 +1,16 @@ -var rule={ +var rule = { title:'饭团', - 模板:'首图', host:'https://fositv.com', - url:'/vod____type/fyclass-fypage.html', + url:'/vod_____type/fyclass-fypage.html', + searchUrl:'/vod_____search/-------------.html?wd=**&submit=', + searchable:2, + quickSearch:0, + filterable:0, + headers:{'User-Agent':'MOBILE_UA',}, + class_name:'电影&电视剧&综艺&动漫&记录', + class_url:'1&2&3&4&5', + 推荐:'.myui-vodlist__thumb.lazyload;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href', + 一级:'.myui-vodlist__thumb;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href', 二级:{"title":".text-fff&&Text;.myui-player__data p&&Text","img":"","desc":".myui-player__data p&&Text;;;.text-collapse p:eq(1)&&Text;.text-collapse p:eq(0)&&Text","content":".data&&Text","tabs":".nav-tabs:eq(0) li","lists":".myui-content__list:eq(#id) li"}, - searchUrl:'/vod_search/-------------.html?wd=**', + 搜索:'.myui-vodlist__thumb;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href', } \ No newline at end of file diff --git a/JS/js/骚火.js b/JS/js/骚火.js new file mode 100644 index 0000000..50a1b27 --- /dev/null +++ b/JS/js/骚火.js @@ -0,0 +1,27 @@ +var rule={ +title:'骚火', +host:'https://shdy3.com', +// url:'/list/fyclass-fypage.html', +url:'/list/fyfilter.html', +filterable:1,//是否启用分类筛选, +filter_url:'{{fl.cateId}}-{{fl.area}}-{{fl.by}}-{{fl.class}}-{{fl.lang}}-{{fl.letter}}---fypage---{{fl.year}}', +filter: {"1":[{"key":"cateId","name":"类型","value":[{"v":"1","n":"全部"},{"v":"6","n":"喜剧"},{"v":"7","n":"爱情"},{"v":"8","n":"恐怖"},{"v":"9","n":"动作"},{"v":"10","n":"科幻"},{"v":"11","n":"战争"},{"v":"12","n":"犯罪"},{"v":"13","n":"动画"},{"v":"14","n":"奇幻"},{"v":"15","n":"剧情"},{"v":"16","n":"冒险"},{"v":"17","n":"悬疑"},{"v":"18","n":"惊悚"},{"v":"19","n":"其它"}]}],"2":[{"key":"cateId","name":"类型","value":[{"v":"2","n":"全部"},{"v":"20","n":"大陆"},{"v":"21","n":"TVB"},{"v":"22","n":"韩剧"},{"v":"23","n":"美剧"},{"v":"24","n":"日剧"},{"v":"25","n":"英剧"},{"v":"26","n":"台剧"},{"v":"27","n":"其它"}]}],"4":[{"key":"cateId","name":"类型","value":[{"v":"4","n":"全部"},{"v":"38","n":"搞笑"},{"v":"39","n":"恋爱"},{"v":"40","n":"热血"},{"v":"41","n":"格斗"},{"v":"42","n":"美少女"},{"v":"43","n":"魔法"},{"v":"44","n":"机战"},{"v":"45","n":"校园"},{"v":"46","n":"亲子"},{"v":"47","n":"童话"},{"v":"48","n":"冒险"},{"v":"49","n":"真人"},{"v":"50","n":"LOLI"},{"v":"51","n":"其它"}]}]}, +filter_def:{ + 1:{cateId:'1'}, + 2:{cateId:'2'}, + 4:{cateId:'4'} +}, +searchUrl:'/search.php?searchword=**', +searchable:2, +quickSearch:1, +filterable:0, +headers:{'User-Agent':'MOBILE_UA', }, +class_name:'电影&电视剧&动漫', +class_url:'1&2&4', +// 推荐:'.v_list li;a&&title;.lazyload&&data-original;.v_note&&Text;a&&href', +推荐:'*', +一级:'.v_list li;a&&title;.lazyload&&data-original;.v_note&&Text;a&&href', +二级:{"title":"h1&&Text;","img":".lazyload&&data-original","desc":";;;.v_info_box&&p&&Text","content":".p_txt.show_part&&Text","tabs":".from_list li","lists":"#play_link:eq(#id) li a"}, +// 搜索:'.v_list li;a&&title;.lazyload&&data-original;.v_note&&Text;a&&href', +搜索:'*', +} \ No newline at end of file diff --git a/JS/js/鸭奈飞.js b/JS/js/鸭奈飞.js index c37de7a..d9f38c2 100644 --- a/JS/js/鸭奈飞.js +++ b/JS/js/鸭奈飞.js @@ -1,26 +1,19 @@ +muban.mxpro.二级.desc = ';;;.module-info-item-content:eq(1)&&Text;.module-info-item-content:eq(0)&&Text' var rule = { - title:'鸭奈飞', - //host:'https://yanetflix.com', - host:'https://yanetflix.tv/', - url:'/vodshow/fyclass--------fypage---.html', - //class_parse:'.navbar-items&&li;a&&Text;a&&href;.*/(.*?).html', - class_name:'电视剧&电影&综艺&动漫', - class_url:'lianxuju&dianying&zongyi&dongman', - - searchable:2,//是否启用全局搜索, - quickSearch:0,//是否启用快速搜索, - filterable:0,//是否启用分类筛选, - headers:{//网站的请求头,完整支持所有的,常带ua和cookies - 'User-Agent':'MOBILE_UA', - // "Cookie": "searchneed=ok" + title:'鸭奈飞', + 模板:'mxpro', + host:'https://yanetflix.com', + // url:'/vodshow/fyclass--------fypage---.html', + url:'/vodshow/fyfilter.html', + filterable:1,//是否启用分类筛选, + filter_url:'{{fl.cateId}}-{{fl.area}}-{{fl.by}}-{{fl.class}}-----fypage---{{fl.year}}', + filter: {"dianying":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":"dianying"},{"n":"动作片","v":"dongzuopian"},{"n":"喜剧片","v":"xijupian"},{"n":"爱情片","v":"aiqingpian"},{"n":"科幻片","v":"kehuanpian"},{"n":"恐怖片","v":"kongbupian"},{"n":"剧情片","v":"juqingpian"},{"n":"战争片","v":"zhanzhengpian"},{"n":"悬疑片","v":"xuanyipian"},{"n":"冒险片","v":"maoxianpian"},{"n":"犯罪片","v":"fanzuipian"},{"n":"奇幻片","v":"qihuanpian"},{"n":"惊悚片","v":"jingsongpian"},{"n":"纪录片","v":"jilupian"},{"n":"灾难片","v":"zainanpian"},{"n":"古装片","v":"guzhuangpian"},{"n":"动画片","v":"donghuapian"}]},{"key":"class","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":"网络电影"}]},{"key":"area","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":"year","name":"年份","value":[{"n":"全部","v":""},{"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"},{"n":"1996","v":"1996"},{"n":"1995","v":"1995"},{"n":"1994","v":"1994"},{"n":"1993","v":"1993"},{"n":"1992","v":"1992"},{"n":"1991","v":"1991"},{"n":"1990","v":"1990"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}],"lianxuju":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":"lianxuju"},{"n":"港台剧","v":"gangtaiju"},{"n":"日韩剧","v":"rihanju"},{"n":"欧美剧","v":"oumeiju"},{"n":"泰国剧","v":"taiguoju"},{"n":"海外剧","v":"haiwaiju"}]},{"key":"class","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":"area","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":"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"},{"n":"1996","v":"1996"},{"n":"1995","v":"1995"},{"n":"1994","v":"1994"},{"n":"1993","v":"1993"},{"n":"1992","v":"1992"},{"n":"1991","v":"1991"},{"n":"1990","v":"1990"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}],"zongyi":[{"key":"class","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":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"内地","v":"内地"},{"n":"港台","v":"港台"},{"n":"日韩","v":"日韩"},{"n":"欧美","v":"欧美"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"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"},{"n":"1996","v":"1996"},{"n":"1995","v":"1995"},{"n":"1994","v":"1994"},{"n":"1993","v":"1993"},{"n":"1992","v":"1992"},{"n":"1991","v":"1991"},{"n":"1990","v":"1990"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}],"dongman":[{"key":"cateId","name":"类型","value":[{"n":"全部","v":"dongman"},{"n":"日本动漫","v":"ribendongman"},{"n":"大陆动漫","v":"daludongman"},{"n":"欧美动漫","v":"oumeidongman"}]},{"key":"class","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":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"国产","v":"国产"},{"n":"日本","v":"日本"},{"n":"欧美","v":"欧美"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"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"},{"n":"1996","v":"1996"},{"n":"1995","v":"1995"},{"n":"1994","v":"1994"},{"n":"1993","v":"1993"},{"n":"1992","v":"1992"},{"n":"1991","v":"1991"},{"n":"1990","v":"1990"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}]}, + filter_def:{ + dianying:{cateId:'dianying'}, + lianxuju:{cateId:'lianxuju'}, + zongyi:{cateId:'zongyi'}, + dongman:{cateId:'dongman'} }, - play_parse:true, - lazy:'', - limit:6, - //推荐:'.module-item;.module-item-cover&&.module-item-pic;a&&title;.lazyloaded&&data-src;.module-item-text&&Text;a&&href', - 推荐:'.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(5)&&.module-info-item-content&&Text;.module-info-item:eq(3)&&.module-info-item-content&&Text;.module-info-item:eq(1)&&.module-info-item-content&&Text","content":".module-info-introduction&&Text","tabs":".module-tab-item","lists":".module-play-list:eq(#id) a"}, - 搜索:'.module-card-item.module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text', -} + class_parse:'.navbar-items li:gt(1):lt(6);a&&Text;a&&href;.*/(.*?).html', + cate_exclude:'赢世界杯', +} \ No newline at end of file diff --git a/JS/js/麦豆com.js b/JS/js/麦豆com.js index 7e835a6..7d52993 100644 --- a/JS/js/麦豆com.js +++ b/JS/js/麦豆com.js @@ -1,25 +1,16 @@ var rule = { title:'麦豆com', host:'https://www.mdoutv.com', - // homeUrl:'/', url:'/movie_bt_series/fyclass/page/fypage', searchUrl:'/search/**/page/fypage', - searchable:2,//是否启用全局搜索, - quickSearch:0,//是否启用快速搜索, - filterable:0,//是否启用分类筛选, - headers:{//网站的请求头,完整支持所有的,常带ua和cookies - 'User-Agent':'MOBILE_UA', - // "Cookie": "searchneed=ok" - }, - class_parse:'.submenu_mi&&li;a&&Text;a&&href;.*/(.*)', - //class_name:'国产&港台&欧美&韩剧&日剧&泰剧&剧集&电影&动漫&综艺', - //class_url:'guocanju&gangtai&en&hanju&riju&taiju&tv&movie&ac&zongyi', + searchable:2, + quickSearch:0, + filterable:0, + headers:{'User-Agent':'MOBILE_UA',}, + class_name:'国产&港台&欧美&韩剧&日剧&泰剧&剧集&电影&动漫&综艺', +class_url:'guocanju&gangtai&en&hanju&riju&taiju&tv&movie&ac&zongyi', cate_exclude:'留言|幸运码|更多播放线路|蚂蚁导航|迷历史', - play_parse:true, - lazy:'', - limit:6, - 推荐:'body&&.mi_btcon;ul&&li;img&&alt;img&&data-original;.jidi&&Text;a&&href', - double:true, // 推荐内容是否双层定位 + 推荐:'.newindex&&ul&&li;img&&alt;img&&data-original;.jidi&&Text;a&&href', 一级:'.mrb&&ul&&li;img&&alt;img&&data-original;.jidi&&Text;a&&href', 二级:{"title":"h1&&Text;.moviedteail_list&&li:eq(2)&&Text;","img":".dyxingq&&img&&src","desc":".moviedteail_list&&li:eq(3)&&Text;.moviedteail_list&&li:eq(4)&&Text","content":".yp_context&&Text","tabs":".fr&&a","lists":".paly_list_btn:eq(#id) a"}, 搜索:'.search_list&&ul&&li;h3&&Text;img&&data-original;.hdinfo&&span&&Text;a&&href', diff --git a/JS/lib/alist.min.js b/JS/lib/alist.min.js index fade12b..2fbecd6 100644 --- a/JS/lib/alist.min.js +++ b/JS/lib/alist.min.js @@ -1 +1 @@ -import{distance}from"./mod.js";import{sortListByCN}from"./sortName.js";String.prototype.rstrip=function(chars){let regex=new RegExp(chars+"$");return this.replace(regex,"")};var showMode="single";var searchDriver="";var limit_search_show=200;var search_type="";var detail_order="name";const request_timeout=5e3;const VERSION="alist v2/v3 20221204";function print(any){any=any||"";if(typeof any=="object"&&Object.keys(any).length>0){try{any=JSON.stringify(any);console.log(any)}catch(e){console.log(typeof any+":"+any.length)}}else if(typeof any=="object"&&Object.keys(any).length<1){console.log("null object")}else{console.log(any)}}const http=function(url,options={}){if(options.method==="POST"&&options.data){options.body=JSON.stringify(options.data);options.headers=Object.assign({"content-type":"application/json"},options.headers)}options.timeout=request_timeout;try{const res=req(url,options);res.json=()=>res&&res.content?JSON.parse(res.content):null;res.text=()=>res&&res.content?res.content:"";return res}catch(e){return{json(){return null},text(){return""}}}};["get","post"].forEach(method=>{http[method]=function(url,options={}){return http(url,Object.assign(options,{method:method.toUpperCase()}))}});const __drives={};function isMedia(file){return/\.(dff|dsf|mp3|aac|wav|wma|cda|flac|m4a|mid|mka|mp2|mpa|mpc|ape|ofr|ogg|ra|wv|tta|ac3|dts|tak|webm|wmv|mpeg|mov|ram|swf|mp4|avi|rm|rmvb|flv|mpg|mkv|m3u8|ts|3gp|asf)$/.test(file.toLowerCase())}function get_drives_path(tid){const index=tid.indexOf("$");const name=tid.substring(0,index);const path=tid.substring(index+1);return{drives:get_drives(name),path:path}}function get_drives(name){const{settings,api,server}=__drives[name];if(settings.v3==null){settings.v3=false;const data=http.get(server+"/api/public/settings").json().data;if(Array.isArray(data)){settings.title=data.find(x=>x.key==="title")?.value;settings.v3=false;settings.version=data.find(x=>x.key==="version")?.value;settings.enableSearch=data.find(x=>x.key==="enable search")?.value==="true"}else{settings.title=data.title;settings.v3=true;settings.version=data.version;settings.enableSearch=false}api.path=settings.v3?"/api/fs/list":"/api/public/path";api.file=settings.v3?"/api/fs/get":"/api/public/path";api.search=settings.v3?"/api/public/search":"/api/public/search"}return __drives[name]}function init(ext){console.log("当前版本号:"+VERSION);let data;if(typeof ext=="object"){data=ext;print("alist ext:object")}else if(typeof ext=="string"){if(ext.startsWith("http")){let alist_data=ext.split(";");let alist_data_url=alist_data[0];limit_search_show=alist_data.length>1?Number(alist_data[1])||limit_search_show:limit_search_show;search_type=alist_data.length>2?alist_data[2]:search_type;print(alist_data_url);data=http.get(alist_data_url).json()}else{print("alist ext:json string");data=JSON.parse(ext)}}let drives=[];if(Array.isArray(data)&&data.length>0&&data[0].hasOwnProperty("server")&&data[0].hasOwnProperty("name")){drives=data}else if(!Array.isArray(data)&&data.hasOwnProperty("drives")&&Array.isArray(data.drives)){drives=data.drives.filter(it=>it.type&&it.type==="alist"||!it.type)}print(drives);searchDriver=(drives.find(x=>x.search)||{}).name||"";if(!searchDriver&&drives.length>0){searchDriver=drives[0].name}print(searchDriver);drives.forEach(item=>{let _path_param=[];if(item.params){_path_param=Object.keys(item.params);_path_param.sort((a,b)=>a.length-b.length)}__drives[item.name]={name:item.name,server:item.server.endsWith("/")?item.server.rstrip("/"):item.server,startPage:item.startPage||"/",showAll:item.showAll===true,search:!!item.search,params:item.params||{},_path_param:_path_param,settings:{},api:{},getParams(path){const key=this._path_param.find(x=>path.startsWith(x));return Object.assign({},this.params[key],{path:path})},getPath(path){const res=http.post(this.server+this.api.path,{data:this.getParams(path)}).json();return this.settings.v3?res.data.content:res.data.files},getFile(path){let raw_url=this.server+"/d"+path;raw_url=encodeURI(raw_url);return{raw_url:raw_url}},isFolder(data){return data.type===1},isVideo(data){return this.settings.v3?data.type===2||data.type===0||data.type===3:data.type===3||data.type===0||data.type===4},is_subt(data){if(data.type===1){return false}const ext=/\.(srt|ass|scc|stl|ttml)$/;return ext.test(data.name)},getPic(data){let pic=this.settings.v3?data.thumb:data.thumbnail;return pic||(this.isFolder(data)?"http://img1.3png.com/281e284a670865a71d91515866552b5f172b.png":"")},getTime(data,isStandard){isStandard=isStandard||false;try{let tTime=data.updated_at||data.time_str||data.modified||"";let date="";if(tTime){tTime=tTime.split("T");date=tTime[0];if(isStandard){date=date.replace(/-/g,"/")}tTime=tTime[1].split(/Z|\./);date+=" "+tTime[0]}return date}catch(e){return""}}}});print("init执行完毕")}function home(filter){let classes=Object.keys(__drives).map(key=>({type_id:`${key}$${__drives[key].startPage}`,type_name:key,type_flag:"1"}));let filter_dict={};let filters=[{key:"order",name:"排序",value:[{n:"名称⬆️",v:"vod_name_asc"},{n:"名称⬇️",v:"vod_name_desc"},{n:"中英⬆️",v:"vod_cn_asc"},{n:"中英⬇️",v:"vod_cn_desc"},{n:"时间⬆️",v:"vod_time_asc"},{n:"时间⬇️",v:"vod_time_desc"},{n:"大小⬆️",v:"vod_size_asc"},{n:"大小⬇️",v:"vod_size_desc"},{n:"无",v:"none"}]},{key:"show",name:"播放展示",value:[{n:"单集",v:"single"},{n:"全集",v:"all"}]}];classes.forEach(it=>{filter_dict[it.type_id]=filters});print("----home----");print(classes);return JSON.stringify({class:classes,filters:filter_dict})}function homeVod(params){let _post_data={pageNum:0,pageSize:100};let _post_url="https://pbaccess.video.qq.com/trpc.videosearch.hot_rank.HotRankServantHttp/HotRankHttp";let data=http.post(_post_url,{data:_post_data}).json();let _list=[];try{data=data["data"]["navItemList"][0]["hotRankResult"]["rankItemList"];data.forEach(it=>{_list.push({vod_name:it.title,vod_id:"msearch:"+it.title,vod_pic:"https://avatars.githubusercontent.com/u/97389433?s=120&v=4",vod_remarks:it.changeOrder})})}catch(e){print("Alist获取首页推荐发送错误:"+e.message)}return JSON.stringify({list:_list})}function category(tid,pg,filter,extend){let orid=tid.replace(/#all#|#search#/g,"");let{drives,path}=get_drives_path(orid);const id=orid.endsWith("/")?orid:orid+"/";const list=drives.getPath(path);let subList=[];let vodFiles=[];let allList=[];let fl=filter?extend:{};if(fl.show){showMode=fl.show}list.forEach(item=>{if(drives.is_subt(item)){subList.push(item.name)}if(!drives.showAll&&!drives.isFolder(item)&&!drives.isVideo(item)){return}let vod_time=drives.getTime(item);let vod_size=get_size(item.size);let remark=vod_time.split(" ")[0].substr(3)+"\t"+vod_size;let vod_id=id+item.name+(drives.isFolder(item)?"/":"");if(showMode==="all"){vod_id+="#all#"}print(vod_id);const vod={vod_id:vod_id,vod_name:item.name.replaceAll("$","").replaceAll("#",""),vod_pic:drives.getPic(item),vod_time:vod_time,vod_size:item.size,vod_tag:drives.isFolder(item)?"folder":"file",vod_remarks:drives.isFolder(item)?remark+" 文件夹":remark};if(drives.isVideo(item)){vodFiles.push(vod)}allList.push(vod)});if(vodFiles.length===1&&subList.length>0){let sub;if(subList.length===1){sub=subList[0]}else{let subs=JSON.parse(JSON.stringify(subList));subs.sort((a,b)=>{let a_similar=(a.includes("chs")?100:0)+levenshteinDistance(a,vodFiles[0].vod_name);let b_similar=(b.includes("chs")?100:0)+levenshteinDistance(b,vodFiles[0].vod_name);if(a_similar>b_similar){return 1}else{return-1}});sub=subs.slice(-1)[0]}vodFiles[0].vod_id+="@@@"+sub;vodFiles[0].vod_remarks+="🏷️"}else{vodFiles.forEach(item=>{const lh=0;let sub;subList.forEach(s=>{const l=levenshteinDistance(s,item.vod_name);if(l>60&&l>lh){sub=s}});if(sub){item.vod_id+="@@@"+sub;item.vod_remarks+="🏷️"}})}if(fl.order){let key=fl.order.split("_").slice(0,-1).join("_");let order=fl.order.split("_").slice(-1)[0];print(`排序key:${key},排序order:${order}`);if(key.includes("name")){detail_order="name";allList=sortListByName(allList,key,order)}else if(key.includes("cn")){detail_order="cn";allList=sortListByCN(allList,"vod_name",order)}else if(key.includes("time")){detail_order="time";allList=sortListByTime(allList,key,order)}else if(key.includes("size")){detail_order="size";allList=sortListBySize(allList,key,order)}else if(fl.order.includes("none")){detail_order="none";print("不排序")}}else{if(detail_order!=="none"){allList=sortListByName(allList,"vod_name","asc")}}print("----category----"+`tid:${tid},detail_order:${detail_order},showMode:${showMode}`);return JSON.stringify({page:1,pagecount:1,limit:allList.length,total:allList.length,list:allList})}function getAll(otid,tid,drives,path){try{const content=category(tid,null,false,null);const isFile=isMedia(otid.replace(/#all#|#search#/g,"").split("@@@")[0]);const{list}=JSON.parse(content);let vod_play_url=[];list.forEach(x=>{if(x.vod_tag==="file"){let vid=x.vod_id.replace(/#all#|#search#/g,"");vod_play_url.push(`${x.vod_name}$${vid.substring(vid.indexOf("$")+1)}`)}});const pl=path.split("/").filter(it=>it);let vod_name=pl[pl.length-1]||drives.name;if(vod_name===drives.name){print(pl)}if(otid.includes("#search#")){vod_name+="[搜]"}let vod={vod_id:otid,vod_name:vod_name,type_name:"文件夹",vod_pic:"https://avatars.githubusercontent.com/u/97389433?s=120&v=4",vod_content:tid,vod_tag:"folder",vod_play_from:drives.name,vod_play_url:vod_play_url.join("#"),vod_remarks:drives.settings.title};print("----detail1----");print(vod);return JSON.stringify({list:[vod]})}catch(e){print(e.message);return JSON.stringify({list:[{}]})}}function detail(tid){let isSearch=tid.includes("#search#");let isAll=tid.includes("#all#");let otid=tid;tid=tid.replace(/#all#|#search#/g,"");let isFile=isMedia(tid.split("@@@")[0]);print(`isFile:${tid}?${isFile}`);let{drives,path}=get_drives_path(tid);print(`drives:${drives},path:${path}`);if(path.endsWith("/")){return getAll(otid,tid,drives,path)}else{if(isSearch&&!isFile){return getAll(otid,tid,drives,path)}else if(isAll){let new_tid;if(isFile){new_tid=tid.split("/").slice(0,-1).join("/")+"/"}else{new_tid=tid}print(`全集模式 tid:${tid}=>tid:${new_tid}`);let{drives,path}=get_drives_path(new_tid);return getAll(otid,new_tid,drives,path)}else if(isFile){let paths=path.split("@@@");let vod_name=paths[0].substring(paths[0].lastIndexOf("/")+1);let vod_title=vod_name;if(otid.includes("#search#")){vod_title+="[搜]"}let vod={vod_id:otid,vod_name:vod_title,type_name:"文件",vod_pic:"https://avatars.githubusercontent.com/u/97389433?s=120&v=4",vod_content:tid,vod_play_from:drives.name,vod_play_url:vod_name+"$"+path,vod_remarks:drives.settings.title};print("----detail2----");print(vod);return JSON.stringify({list:[vod]})}else{return JSON.stringify({list:[]})}}}function play(flag,id,flags){const drives=get_drives(flag);const urls=id.split("@@@");let vod={parse:0,playUrl:"",url:drives.getFile(urls[0]).raw_url};if(urls.length>=2){const path=urls[0].substring(0,urls[0].lastIndexOf("/")+1);vod.subt=drives.getFile(path+urls[1]).raw_url}print("----play----");print(vod);return JSON.stringify(vod)}function search(wd,quick){print(__drives);print("可搜索的alist驱动:"+searchDriver);if(!searchDriver||!wd){return JSON.stringify({list:[]})}else{let driver=__drives[searchDriver];wd=wd.split(" ").filter(it=>it.trim()).join("+");print(driver);let surl=driver.server+"/search?box="+wd+"&url=";if(search_type){surl+="&type="+search_type}print("搜索链接:"+surl);let html=http.get(surl).text();let lists=[];try{lists=pdfa(html,"div&&ul&&a")}catch(e){}print(`搜索结果数:${lists.length},搜索结果显示数量限制:${limit_search_show}`);let vods=[];let excludeReg=/\.(pdf|epub|mobi|txt|doc|lrc)$/;let cnt=0;lists.forEach(it=>{let vhref=pdfh(it,"a&&href");if(vhref){vhref=unescape(vhref)}if(excludeReg.test(vhref)){return}if(cnt1024*1024*1024*1024){sz/=1024*1024*1024*1024;filesize="TB"}else if(sz>1024*1024*1024){sz/=1024*1024*1024;filesize="GB"}else if(sz>1024*1024){sz/=1024*1024;filesize="MB"}else if(sz>1024){sz/=1024;filesize="KB"}else{filesize="B"}let sizeStr=sz.toFixed(2)+filesize,index=sizeStr.indexOf("."),dou=sizeStr.substr(index+1,2);if(dou==="00"){return sizeStr.substring(0,index)+sizeStr.substr(index+3,2)}else{return sizeStr}}function levenshteinDistance(str1,str2){return 100-100*distance(str1,str2)/Math.max(str1.length,str2.length)}function naturalSort(options){if(!options){options={}}return function(a,b){if(options.key){a=a[options.key];b=b[options.key]}var EQUAL=0;var GREATER=options.order==="desc"?-1:1;var SMALLER=-GREATER;var re=/(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi;var sre=/(^[ ]*|[ ]*$)/g;var dre=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/;var hre=/^0x[0-9a-f]+$/i;var ore=/^0/;var normalize=function normalize(value){var string=""+value;return options.caseSensitive?string:string.toLowerCase()};var x=normalize(a).replace(sre,"")||"";var y=normalize(b).replace(sre,"")||"";var xN=x.replace(re,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0");var yN=y.replace(re,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0");if(!x&&!y)return EQUAL;if(!x&&y)return GREATER;if(x&&!y)return SMALLER;var xD=parseInt(x.match(hre))||xN.length!=1&&x.match(dre)&&Date.parse(x);var yD=parseInt(y.match(hre))||xD&&y.match(dre)&&Date.parse(y)||null;var oFxNcL,oFyNcL;if(yD){if(xDyD)return GREATER}for(var cLoc=0,numS=Math.max(xN.length,yN.length);cLocoFyNcL)return GREATER}return EQUAL}}const sortListByName=(vodList,key,order)=>{if(!key){return vodList}order=order||"asc";return vodList.sort(naturalSort({key:key,order:order,caseSensitive:true}))};const getTimeInt=timeStr=>{return new Date(timeStr).getTime()};const sortListByTime=(vodList,key,order)=>{if(!key){return vodList}let ASCarr=vodList.sort((a,b)=>{a=a[key];b=b[key];return getTimeInt(a)-getTimeInt(b)});if(order==="desc"){ASCarr.reverse()}return ASCarr};const sortListBySize=(vodList,key,order)=>{if(!key){return vodList}let ASCarr=vodList.sort((a,b)=>{a=a[key];b=b[key];return(Number(a)||0)-(Number(b)||0)});if(order==="desc"){ASCarr.reverse()}return ASCarr};export default{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search}; \ No newline at end of file +import{distance}from"./mod.js";import{sortListByCN}from"./sortName.js";String.prototype.rstrip=function(chars){let regex=new RegExp(chars+"$");return this.replace(regex,"")};var showMode="single";var searchDriver="";var limit_search_show=200;var search_type="";var detail_order="name";var playRaw=1;const request_timeout=5e3;const VERSION="alist v2/v3 20221209";function print(any){any=any||"";if(typeof any=="object"&&Object.keys(any).length>0){try{any=JSON.stringify(any);console.log(any)}catch(e){console.log(typeof any+":"+any.length)}}else if(typeof any=="object"&&Object.keys(any).length<1){console.log("null object")}else{console.log(any)}}const http=function(url,options={}){if(options.method==="POST"&&options.data){options.body=JSON.stringify(options.data);options.headers=Object.assign({"content-type":"application/json"},options.headers)}options.timeout=request_timeout;try{const res=req(url,options);res.json=()=>res&&res.content?JSON.parse(res.content):null;res.text=()=>res&&res.content?res.content:"";return res}catch(e){return{json(){return null},text(){return""}}}};["get","post"].forEach(method=>{http[method]=function(url,options={}){return http(url,Object.assign(options,{method:method.toUpperCase()}))}});const __drives={};function isMedia(file){return/\.(dff|dsf|mp3|aac|wav|wma|cda|flac|m4a|mid|mka|mp2|mpa|mpc|ape|ofr|ogg|ra|wv|tta|ac3|dts|tak|webm|wmv|mpeg|mov|ram|swf|mp4|avi|rm|rmvb|flv|mpg|mkv|m3u8|ts|3gp|asf)$/.test(file.toLowerCase())}function get_drives_path(tid){const index=tid.indexOf("$");const name=tid.substring(0,index);const path=tid.substring(index+1);return{drives:get_drives(name),path:path}}function get_drives(name){const{settings,api,server}=__drives[name];if(settings.v3==null){settings.v3=false;const data=http.get(server+"/api/public/settings").json().data;if(Array.isArray(data)){settings.title=data.find(x=>x.key==="title")?.value;settings.v3=false;settings.version=data.find(x=>x.key==="version")?.value;settings.enableSearch=data.find(x=>x.key==="enable search")?.value==="true"}else{settings.title=data.title;settings.v3=true;settings.version=data.version;settings.enableSearch=false}api.path=settings.v3?"/api/fs/list":"/api/public/path";api.file=settings.v3?"/api/fs/get":"/api/public/path";api.search=settings.v3?"/api/public/search":"/api/public/search"}return __drives[name]}function init(ext){console.log("当前版本号:"+VERSION);let data;if(typeof ext=="object"){data=ext;print("alist ext:object")}else if(typeof ext=="string"){if(ext.startsWith("http")){let alist_data=ext.split(";");let alist_data_url=alist_data[0];limit_search_show=alist_data.length>1?Number(alist_data[1])||limit_search_show:limit_search_show;search_type=alist_data.length>2?alist_data[2]:search_type;print(alist_data_url);data=http.get(alist_data_url).json()}else{print("alist ext:json string");data=JSON.parse(ext)}}let drives=[];if(Array.isArray(data)&&data.length>0&&data[0].hasOwnProperty("server")&&data[0].hasOwnProperty("name")){drives=data}else if(!Array.isArray(data)&&data.hasOwnProperty("drives")&&Array.isArray(data.drives)){drives=data.drives.filter(it=>it.type&&it.type==="alist"||!it.type)}print(drives);searchDriver=(drives.find(x=>x.search)||{}).name||"";if(!searchDriver&&drives.length>0){searchDriver=drives[0].name}print(searchDriver);drives.forEach(item=>{let _path_param=[];if(item.params){_path_param=Object.keys(item.params);_path_param.sort((a,b)=>a.length-b.length)}if(item.password){let pwdObj={password:item.password};if(!item.params){item.params={"/":pwdObj}}else{item.params["/"]=pwdObj}_path_param.unshift("/")}__drives[item.name]={name:item.name,server:item.server.endsWith("/")?item.server.rstrip("/"):item.server,startPage:item.startPage||"/",showAll:item.showAll===true,search:!!item.search,params:item.params||{},_path_param:_path_param,settings:{},api:{},getParams(path){const key=this._path_param.find(x=>path.startsWith(x));return Object.assign({},this.params[key],{path:path})},getPath(path){const res=http.post(this.server+this.api.path,{data:this.getParams(path)}).json();return this.settings.v3?res.data.content:res.data.files},getFile(path){let raw_url=this.server+"/d"+path;raw_url=encodeURI(raw_url);let data={raw_url:raw_url,raw_url1:raw_url};if(playRaw===1){try{const res=http.post(this.server+this.api.file,{data:this.getParams(path)}).json();data=this.settings.v3?res.data:res.data.files[0];if(!this.settings.v3){data.raw_url=data.url}data.raw_url1=raw_url;return data}catch(e){return data}}else{return data}},isFolder(data){return data.type===1},isVideo(data){return this.settings.v3?data.type===2||data.type===0||data.type===3:data.type===3||data.type===0||data.type===4},is_subt(data){if(data.type===1){return false}const ext=/\.(srt|ass|scc|stl|ttml)$/;return ext.test(data.name)},getPic(data){let pic=this.settings.v3?data.thumb:data.thumbnail;return pic||(this.isFolder(data)?"http://img1.3png.com/281e284a670865a71d91515866552b5f172b.png":"")},getTime(data,isStandard){isStandard=isStandard||false;try{let tTime=data.updated_at||data.time_str||data.modified||"";let date="";if(tTime){tTime=tTime.split("T");date=tTime[0];if(isStandard){date=date.replace(/-/g,"/")}tTime=tTime[1].split(/Z|\./);date+=" "+tTime[0]}return date}catch(e){return""}}}});print("init执行完毕")}function home(filter){let classes=Object.keys(__drives).map(key=>({type_id:`${key}$${__drives[key].startPage}`,type_name:key,type_flag:"1"}));let filter_dict={};let filters=[{key:"order",name:"排序",value:[{n:"名称⬆️",v:"vod_name_asc"},{n:"名称⬇️",v:"vod_name_desc"},{n:"中英⬆️",v:"vod_cn_asc"},{n:"中英⬇️",v:"vod_cn_desc"},{n:"时间⬆️",v:"vod_time_asc"},{n:"时间⬇️",v:"vod_time_desc"},{n:"大小⬆️",v:"vod_size_asc"},{n:"大小⬇️",v:"vod_size_desc"},{n:"无",v:"none"}]},{key:"show",name:"播放展示",value:[{n:"单集",v:"single"},{n:"全集",v:"all"}]}];classes.forEach(it=>{filter_dict[it.type_id]=filters});print("----home----");print(classes);return JSON.stringify({class:classes,filters:filter_dict})}function homeVod(params){let _post_data={pageNum:0,pageSize:100};let _post_url="https://pbaccess.video.qq.com/trpc.videosearch.hot_rank.HotRankServantHttp/HotRankHttp";let data=http.post(_post_url,{data:_post_data}).json();let _list=[];try{data=data["data"]["navItemList"][0]["hotRankResult"]["rankItemList"];data.forEach(it=>{_list.push({vod_name:it.title,vod_id:"msearch:"+it.title,vod_pic:"https://avatars.githubusercontent.com/u/97389433?s=120&v=4",vod_remarks:it.changeOrder})})}catch(e){print("Alist获取首页推荐发送错误:"+e.message)}return JSON.stringify({list:_list})}function category(tid,pg,filter,extend){let orid=tid.replace(/#all#|#search#/g,"");let{drives,path}=get_drives_path(orid);const id=orid.endsWith("/")?orid:orid+"/";const list=drives.getPath(path);let subList=[];let vodFiles=[];let allList=[];let fl=filter?extend:{};if(fl.show){showMode=fl.show}list.forEach(item=>{if(drives.is_subt(item)){subList.push(item.name)}if(!drives.showAll&&!drives.isFolder(item)&&!drives.isVideo(item)){return}let vod_time=drives.getTime(item);let vod_size=get_size(item.size);let remark=vod_time.split(" ")[0].substr(3)+"\t"+vod_size;let vod_id=id+item.name+(drives.isFolder(item)?"/":"");if(showMode==="all"){vod_id+="#all#"}print(vod_id);const vod={vod_id:vod_id,vod_name:item.name.replaceAll("$","").replaceAll("#",""),vod_pic:drives.getPic(item),vod_time:vod_time,vod_size:item.size,vod_tag:drives.isFolder(item)?"folder":"file",vod_remarks:drives.isFolder(item)?remark+" 文件夹":remark};if(drives.isVideo(item)){vodFiles.push(vod)}allList.push(vod)});if(vodFiles.length===1&&subList.length>0){let sub;if(subList.length===1){sub=subList[0]}else{let subs=JSON.parse(JSON.stringify(subList));subs.sort((a,b)=>{let a_similar=(a.includes("chs")?100:0)+levenshteinDistance(a,vodFiles[0].vod_name);let b_similar=(b.includes("chs")?100:0)+levenshteinDistance(b,vodFiles[0].vod_name);if(a_similar>b_similar){return 1}else{return-1}});sub=subs.slice(-1)[0]}vodFiles[0].vod_id+="@@@"+sub;vodFiles[0].vod_remarks+="🏷️"}else{vodFiles.forEach(item=>{const lh=0;let sub;subList.forEach(s=>{const l=levenshteinDistance(s,item.vod_name);if(l>60&&l>lh){sub=s}});if(sub){item.vod_id+="@@@"+sub;item.vod_remarks+="🏷️"}})}if(fl.order){let key=fl.order.split("_").slice(0,-1).join("_");let order=fl.order.split("_").slice(-1)[0];print(`排序key:${key},排序order:${order}`);if(key.includes("name")){detail_order="name";allList=sortListByName(allList,key,order)}else if(key.includes("cn")){detail_order="cn";allList=sortListByCN(allList,"vod_name",order)}else if(key.includes("time")){detail_order="time";allList=sortListByTime(allList,key,order)}else if(key.includes("size")){detail_order="size";allList=sortListBySize(allList,key,order)}else if(fl.order.includes("none")){detail_order="none";print("不排序")}}else{if(detail_order!=="none"){allList=sortListByName(allList,"vod_name","asc")}}print("----category----"+`tid:${tid},detail_order:${detail_order},showMode:${showMode}`);return JSON.stringify({page:1,pagecount:1,limit:allList.length,total:allList.length,list:allList})}function getAll(otid,tid,drives,path){try{const content=category(tid,null,false,null);const isFile=isMedia(otid.replace(/#all#|#search#/g,"").split("@@@")[0]);const{list}=JSON.parse(content);let vod_play_url=[];list.forEach(x=>{if(x.vod_tag==="file"){let vid=x.vod_id.replace(/#all#|#search#/g,"");vod_play_url.push(`${x.vod_name}$${vid.substring(vid.indexOf("$")+1)}`)}});const pl=path.split("/").filter(it=>it);let vod_name=pl[pl.length-1]||drives.name;if(vod_name===drives.name){print(pl)}if(otid.includes("#search#")){vod_name+="[搜]"}let vod={vod_id:otid,vod_name:vod_name,type_name:"文件夹",vod_pic:"https://avatars.githubusercontent.com/u/97389433?s=120&v=4",vod_content:tid,vod_tag:"folder",vod_play_from:drives.name,vod_play_url:vod_play_url.join("#"),vod_remarks:drives.settings.title};print("----detail1----");print(vod);return JSON.stringify({list:[vod]})}catch(e){print(e.message);return JSON.stringify({list:[{}]})}}function detail(tid){let isSearch=tid.includes("#search#");let isAll=tid.includes("#all#");let otid=tid;tid=tid.replace(/#all#|#search#/g,"");let isFile=isMedia(tid.split("@@@")[0]);print(`isFile:${tid}?${isFile}`);let{drives,path}=get_drives_path(tid);print(`drives:${drives},path:${path}`);if(path.endsWith("/")){return getAll(otid,tid,drives,path)}else{if(isSearch&&!isFile){return getAll(otid,tid,drives,path)}else if(isAll){let new_tid;if(isFile){new_tid=tid.split("/").slice(0,-1).join("/")+"/"}else{new_tid=tid}print(`全集模式 tid:${tid}=>tid:${new_tid}`);let{drives,path}=get_drives_path(new_tid);return getAll(otid,new_tid,drives,path)}else if(isFile){let paths=path.split("@@@");let vod_name=paths[0].substring(paths[0].lastIndexOf("/")+1);let vod_title=vod_name;if(otid.includes("#search#")){vod_title+="[搜]"}let vod={vod_id:otid,vod_name:vod_title,type_name:"文件",vod_pic:"https://avatars.githubusercontent.com/u/97389433?s=120&v=4",vod_content:tid,vod_play_from:drives.name,vod_play_url:vod_name+"$"+path,vod_remarks:drives.settings.title};print("----detail2----");print(vod);return JSON.stringify({list:[vod]})}else{return JSON.stringify({list:[]})}}}function play(flag,id,flags){const drives=get_drives(flag);const urls=id.split("@@@");let vod={parse:0,playUrl:"",url:drives.getFile(urls[0]).raw_url};if(urls.length>=2){const path=urls[0].substring(0,urls[0].lastIndexOf("/")+1);vod.subt=drives.getFile(path+urls[1]).raw_url1}print("----play----");print(vod);return JSON.stringify(vod)}function search(wd,quick){print(__drives);print("可搜索的alist驱动:"+searchDriver);if(!searchDriver||!wd){return JSON.stringify({list:[]})}else{let driver=__drives[searchDriver];wd=wd.split(" ").filter(it=>it.trim()).join("+");print(driver);let surl=driver.server+"/search?box="+wd+"&url=";if(search_type){surl+="&type="+search_type}print("搜索链接:"+surl);let html=http.get(surl).text();let lists=[];try{lists=pdfa(html,"div&&ul&&a")}catch(e){}print(`搜索结果数:${lists.length},搜索结果显示数量限制:${limit_search_show}`);let vods=[];let excludeReg=/\.(pdf|epub|mobi|txt|doc|lrc)$/;let cnt=0;lists.forEach(it=>{let vhref=pdfh(it,"a&&href");if(vhref){vhref=unescape(vhref)}if(excludeReg.test(vhref)){return}if(cnt1024*1024*1024*1024){sz/=1024*1024*1024*1024;filesize="TB"}else if(sz>1024*1024*1024){sz/=1024*1024*1024;filesize="GB"}else if(sz>1024*1024){sz/=1024*1024;filesize="MB"}else if(sz>1024){sz/=1024;filesize="KB"}else{filesize="B"}let sizeStr=sz.toFixed(2)+filesize,index=sizeStr.indexOf("."),dou=sizeStr.substr(index+1,2);if(dou==="00"){return sizeStr.substring(0,index)+sizeStr.substr(index+3,2)}else{return sizeStr}}function levenshteinDistance(str1,str2){return 100-100*distance(str1,str2)/Math.max(str1.length,str2.length)}function naturalSort(options){if(!options){options={}}return function(a,b){if(options.key){a=a[options.key];b=b[options.key]}var EQUAL=0;var GREATER=options.order==="desc"?-1:1;var SMALLER=-GREATER;var re=/(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi;var sre=/(^[ ]*|[ ]*$)/g;var dre=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/;var hre=/^0x[0-9a-f]+$/i;var ore=/^0/;var normalize=function normalize(value){var string=""+value;return options.caseSensitive?string:string.toLowerCase()};var x=normalize(a).replace(sre,"")||"";var y=normalize(b).replace(sre,"")||"";var xN=x.replace(re,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0");var yN=y.replace(re,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0");if(!x&&!y)return EQUAL;if(!x&&y)return GREATER;if(x&&!y)return SMALLER;var xD=parseInt(x.match(hre))||xN.length!=1&&x.match(dre)&&Date.parse(x);var yD=parseInt(y.match(hre))||xD&&y.match(dre)&&Date.parse(y)||null;var oFxNcL,oFyNcL;if(yD){if(xDyD)return GREATER}for(var cLoc=0,numS=Math.max(xN.length,yN.length);cLocoFyNcL)return GREATER}return EQUAL}}const sortListByName=(vodList,key,order)=>{if(!key){return vodList}order=order||"asc";return vodList.sort(naturalSort({key:key,order:order,caseSensitive:true}))};const getTimeInt=timeStr=>{return new Date(timeStr).getTime()};const sortListByTime=(vodList,key,order)=>{if(!key){return vodList}let ASCarr=vodList.sort((a,b)=>{a=a[key];b=b[key];return getTimeInt(a)-getTimeInt(b)});if(order==="desc"){ASCarr.reverse()}return ASCarr};const sortListBySize=(vodList,key,order)=>{if(!key){return vodList}let ASCarr=vodList.sort((a,b)=>{a=a[key];b=b[key];return(Number(a)||0)-(Number(b)||0)});if(order==="desc"){ASCarr.reverse()}return ASCarr};export default{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search}; \ No newline at end of file diff --git a/JS/lib/drpy.min.js b/JS/lib/drpy.min.js index 7b7e9c8..df28022 100644 --- a/JS/lib/drpy.min.js +++ b/JS/lib/drpy.min.js @@ -1 +1 @@ -import "assets://js/lib/util.ym.js";import cheerio from"assets://js/lib/cheerio.min.js";import"assets://js/lib/crypto-js.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={};const VERSION="3.9.20beta7";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="猜你|喜欢|APP|下载|剧情|热播";const OCR_RETRY=3;const OCR_API="http://cms.nokia.press:5706/parse/ocr";if(typeof MY_URL==="undefined"){var MY_URL}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)$/;const SELECT_REGEX=/:eq|:lt|:gt|#/g;const SELECT_REGEX_A=/:eq|:lt|:gt/g;if(typeof Object.assign!="function"){Object.assign=function(){var target=arguments[0];for(var i=1;ithis.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-1){let sp=parse.split("&&");option=sp[sp.length-1];sp.splice(sp.length-1);if(sp.length>1){for(let i in sp){if(sp.hasOwnProperty(i)){if(!SELECT_REGEX.test(sp[i])){sp[i]=sp[i]+":eq(0)"}}}}else{if(!SELECT_REGEX.test(sp[0])){sp[0]=sp[0]+":eq(0)"}}parse=sp.join(" ")}let result="";const $=eleFind?html.rr:cheerio.load(html);let ret=eleFind?parse==="*=*"||$(html.ele).is(parse)?html.ele:$(html.ele).find(parse):$(parse);if(option){if(option==="Text"){result=$(ret).text()}else if(option==="Html"){result=$(ret).html()}else{result=$(ret).attr(option);if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1]}catch(e){}}}if(result&&base_url&&DOM_CHECK_ATTR.test(option)){if(/http/.test(result)){result=result.substr(result.indexOf("http"))}else{result=urljoin(base_url,result)}}}else{result=$(ret).toString()}return result},pdfa(html,parse){if(!parse||!parse.trim()){print("!parse");return[]}let eleFind=typeof html==="object";if(parse.indexOf("&&")>-1){let sp=parse.split("&&");for(let i in sp){if(sp.hasOwnProperty(i)){if(!SELECT_REGEX_A.test(sp[i])&&iit.toLowerCase()==="set-cookie");cookie=setCk?json[setCk].split(";")[0]:""}console.log("cookie:"+cookie);let img=json.body;let code=OcrApi.classification(img);console.log(`第${cnt+1}次验证码识别结果:${code}`);let submit_url=`${host}/index.php/ajax/verify_check?type=search&verify=${code}`;console.log(submit_url);let html=request(submit_url,{headers:{Cookie:cookie,"User-Agent":MOBILE_UA},method:"POST"});html=JSON.parse(html);if(html.msg==="ok"){console.log(`第${cnt+1}次验证码提交成功`);return cookie}else if(html.msg!=="ok"&&cnt+1>=OCR_RETRY){cookie=""}}catch(e){console.log(`第${cnt+1}次验证码提交失败:${e.message}`);if(cnt+1>=OCR_RETRY){cookie=""}}cnt+=1}return cookie}function setItem(k,v){local.set(RKEY,k,v);console.log(`规则${RKEY}设置${k} => ${v}`)}function getItem(k,v){return local.get(RKEY,k)||v}function clearItem(k){local.delete(RKEY,k)}function getHome(url){if(!url){return""}let tmp=url.split("//");url=tmp[0]+"//"+tmp[1].split("/")[0];try{url=decodeURIComponent(url)}catch(e){}return url}function buildUrl(url,obj){obj=obj||{};if(url.indexOf("?")<0){url+="?"}let param_list=[];let keys=Object.keys(obj);keys.forEach(it=>{param_list.push(it+"="+obj[it])});let prs=param_list.join("&");if(keys.length>0&&!url.endsWith("?")){url+="&"}url+=prs;return url}function require(url){eval(request(url))}function request(url,obj,ocr_flag){ocr_flag=ocr_flag||false;if(typeof obj==="undefined"||!obj||obj==={}){if(!fetch_params||!fetch_params.headers){let headers={"User-Agent":MOBILE_UA};if(rule.headers){Object.assign(headers,rule.headers)}if(!fetch_params){fetch_params={}}fetch_params.headers=headers}if(!fetch_params.headers.Referer){fetch_params.headers.Referer=getHome(url)}obj=fetch_params}else{let headers=obj.headers||{};let keys=Object.keys(headers).map(it=>it.toLowerCase());if(!keys.includes("user-agent")){headers["User-Agent"]=MOBILE_UA}if(!keys.includes("referer")){headers["Referer"]=getHome(url)}obj.headers=headers}if(rule.encoding&&rule.encoding!=="utf-8"&&!ocr_flag){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="text/html; charset="+rule.encoding}}if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="string"){let data={};obj.body.split("&").forEach(it=>{data[it.split("=")[0]]=it.split("=")[1]});obj.data=data;delete obj.body}else if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="object"){obj.data=obj.body;delete obj.body}if(!url){return obj.withHeaders?"{}":""}if(obj.toBase64){obj.buffer=2;delete obj.toBase64}console.log(JSON.stringify(obj.headers));console.log("request:"+url);let res=req(url,obj);let html=res.content||"";if(obj.withHeaders){let htmlWithHeaders=res.headers;htmlWithHeaders.body=html;return JSON.stringify(htmlWithHeaders)}else{return html}}function post(url,obj){obj.method="POST";return request(url,obj)}fetch=request;print=function(data){data=data||"";if(typeof data=="object"&&Object.keys(data).length>0){try{data=JSON.stringify(data);console.log(data)}catch(e){console.log(typeof data+":"+data.length);return}}else if(typeof data=="object"&&Object.keys(data).length<1){console.log("null object")}else{console.log(data)}};log=print;function checkHtml(html,url,obj){if(/\?btwaf=/.test(html)){let btwaf=html.match(/btwaf(.*?)"/)[1];url=url.split("#")[0]+"?btwaf"+btwaf;print("宝塔验证访问链接:"+url);html=request(url,obj)}return html}function getCode(url,obj){let html=request(url,obj);html=checkHtml(html,url,obj);return html}function getHtml(url){let obj={};if(rule.headers){obj.headers=rule.headers}let cookie=getItem(RULE_CK,"");if(cookie){if(obj.headers&&!Object.keys(obj.headers).map(it=>it.toLowerCase()).includes("cookie")){obj.headers["Cookie"]=cookie}else if(!obj.headers){obj.headers={Cookie:cookie}}}let html=getCode(url,obj);return html}function homeParse(homeObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let classes=[];if(homeObj.class_name&&homeObj.class_url){let names=homeObj.class_name.split("&");let urls=homeObj.class_url.split("&");let cnt=Math.min(names.length,urls.length);for(let i=0;i=3){try{let html=getHtml(homeObj.MY_URL);if(html){homeHtmlCache=html;let list=_pdfa(html,p[0]);if(list&&list.length>0){list.forEach((it,idex)=>{try{let name=_pdfh(it,p[1]);if(homeObj.cate_exclude&&new RegExp(homeObj.cate_exclude).test(name)){return}let url=_pd(it,p[2]);if(p.length>3&&p[3]){let exp=new RegExp(p[3]);url=url.match(exp)[1]}classes.push({type_id:url.trim(),type_name:name.trim()})}catch(e){console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`)}})}}}catch(e){console.log(e.message)}}}classes=classes.filter(it=>!homeObj.cate_exclude||!new RegExp(homeObj.cate_exclude).test(it.type_name));let resp={class:classes};if(homeObj.filter){resp.filters=homeObj.filter}console.log(JSON.stringify(resp));return JSON.stringify(resp)}function getPP(p,pn,pp,ppn){let ps=p[pn]==="*"&&pp.length>ppn?pp[ppn]:p[pn];return ps}function homeVodParse(homeVodObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];MY_URL=homeVodObj.homeUrl;console.log(MY_URL);let t1=(new Date).getTime();let p=homeVodObj.推荐;print("p:"+p);if(p==="*"&&rule.一级){p=rule.一级;homeVodObj.double=false}if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");if(p.startsWith("js:")){const TYPE="home";var input=MY_URL;const HOST=rule.host;eval(p.replace("js:",""));d=VODS}else{p=p.split(";");if(!homeVodObj.double&&p.length<5){return"{}"}else if(homeVodObj.double&&p.length<6){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");let html=homeHtmlCache||getHtml(MY_URL);homeHtmlCache=undefined;if(is_json){html=dealJson(html)}try{console.log("double:"+homeVodObj.double);if(homeVodObj.double){let items=_pdfa(html,p0);for(let item of items){let items2=_pdfa(item,p[1]);for(let item2 of items2){try{let p2=getPP(p,2,pp,1);let title=_pdfh(item2,p2);let img="";try{let p3=getPP(p,3,pp,2);img=_pd(item2,p3)}catch(e){}let desc="";try{let p4=getPP(p,4,pp,3);desc=_pdfh(item2,p4)}catch(e){}let p5=getPP(p,5,pp,4);let links=[];for(let _p5 of p5.split("+")){let link=!homeVodObj.detailUrl?_pd(item2,_p5,MY_URL):_pdfh(item2,_p5);links.push(link)}let content;if(p.length>6&&p[6]){let p6=getPP(p,6,pp,5);content=_pdfh(item2,p6)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log("首页列表处理发生错误:"+e.message)}}}}else{let items=_pdfa(html,p0);for(let item of items){try{let p1=getPP(p,1,pp,1);let title=_pdfh(item,p1);let img="";try{let p2=getPP(p,2,pp,2);img=_pd(item,p2,MY_URL)}catch(e){}let desc="";try{let p3=getPP(p,3,pp,3);desc=_pdfh(item,p3)}catch(e){}let p4=getPP(p,4,pp,4);let links=[];for(let _p5 of p4.split("+")){let link=!homeVodObj.detailUrl?_pd(item,_p5,MY_URL):_pdfh(item,_p5);links.push(link)}let content;if(p.length>5&&p[5]){let p5=getPP(p,5,pp,5);content=_pdfh(item,p5)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){}}}}catch(e){}}let t2=(new Date).getTime();console.log("加载首页推荐耗时:"+(t2-t1)+"毫秒");if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}return JSON.stringify({list:d})}function categoryParse(cateObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let p=cateObj.一级;if(!p||typeof p!=="string"){return"{}"}let d=[];let url=cateObj.url.replaceAll("fyclass",cateObj.tid);if(rule.filter_url){if(!/fyfilter/.test(url)){if(!url.endsWith("&")&&!rule.filter_url.startsWith("&")){url+="&"}url+=rule.filter_url}else{url=url.replace("fyfilter",rule.filter_url)}let fl=cateObj.filter?cateObj.extend:{};if(rule.filter_def&&typeof rule.filter_def==="object"){try{if(Object.keys(rule.filter_def).length>0&&rule.filter_def.hasOwnProperty(cateObj.tid)){let self_fl_def=rule.filter_def[cateObj.tid];if(self_fl_def&&typeof self_fl_def==="object"){let fl_def=JSON.parse(JSON.stringify(self_fl_def));fl=Object.assign(fl_def,fl)}}}catch(e){print("合并不同分类对应的默认筛选出错:"+e.message)}}let new_url;new_url=cheerio.jinja2(url,{fl:fl});if(/object Object/.test(new_url)){new_url=drT.renderText(url,fl)}url=new_url}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",cateObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",cateObj.pg)}}if(cateObj.pg===1&&url.includes("[")&&url.includes("]")){url=url.split("[")[1].split("]")[0]}else if(cateObj.pg>1&&url.includes("[")&&url.includes("]")){url=url.split("[")[0]}MY_URL=url;console.log(MY_URL);p=p.trim();const MY_CATE=cateObj.tid;if(p.startsWith("js:")){var MY_FL=cateObj.extend;const TYPE="cate";var input=MY_URL;const MY_PAGE=cateObj.pg;var desc="";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let _ps=parseTags.getParse(p[0]);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p[0].startsWith("json:");p[0]=p[0].replace(/^(jsp:|json:|jq:)/,"");try{let html=getHtml(MY_URL);if(html){if(is_json){html=dealJson(html)}let list=_pdfa(html,p[0]);list.forEach(it=>{let links=p[4].split("+").map(p4=>{return!rule.detailUrl?_pd(it,p4,MY_URL):_pdfh(it,p4)});let link=links.join("$");let vod_id=rule.detailUrl?MY_CATE+"$"+link:link;let vod_name=_pdfh(it,p[1]).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p[2],MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}d.push({vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p[3]).replace(/\n|\t/g,"").trim()})})}}catch(e){console.log(e.message)}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}return d.length<1?"{}":JSON.stringify({page:parseInt(cateObj.pg),pagecount:999,limit:20,total:999,list:d})}function searchParse(searchObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];if(!searchObj.searchUrl){return"{}"}let p=searchObj.搜索==="*"&&rule.一级?rule.一级:searchObj.搜索;if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");let url=searchObj.searchUrl.replaceAll("**",searchObj.wd).replaceAll("fypage",searchObj.pg);MY_URL=url;console.log(MY_URL);if(p.startsWith("js:")){const TYPE="search";const MY_PAGE=searchObj.pg;const KEY=searchObj.wd;var input=MY_URL;var detailUrl=rule.detailUrl||"";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");try{let html=getHtml(MY_URL);if(html){if(/系统安全验证|输入验证码/.test(html)){let cookie=verifyCode(MY_URL);if(cookie){console.log(`本次成功过验证,cookie:${cookie}`);setItem(RULE_CK,cookie)}else{console.log(`本次自动过搜索验证失败,cookie:${cookie}`)}html=getHtml(MY_URL)}if(!html.includes(searchObj.wd)){console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码");console.log(html)}if(is_json){html=dealJson(html)}console.log(JSON.stringify(html));console.log(html);let list=_pdfa(html,p0);list.forEach(it=>{let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let links=p4.split("+").map(_p4=>{return!rule.detailUrl?_pd(it,_p4,MY_URL):_pdfh(it,_p4)});let link=links.join("$");let content;if(p.length>5&&p[5]){let p5=getPP(p,5,pp,5);content=_pdfh(it,p5)}else{content=""}let vod_id=link;let vod_name=_pdfh(it,p1).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p2,MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}let ob={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p3).replace(/\n|\t/g,"").trim(),vod_content:content.replace(/\n|\t/g,"").trim()};d.push(ob)})}}catch(e){print("搜索发生错误:"+e.message);return"{}"}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}return JSON.stringify({page:parseInt(searchObj.pg),pagecount:10,limit:20,total:100,list:d})}function detailParse(detailObj){let t1=(new Date).getTime();fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let orId=detailObj.orId;let vod_name="片名";let vod_pic="";let vod_id=orId;if(rule.二级==="*"){let extra=orId.split("@@");vod_name=extra.length>1?extra[1]:vod_name;vod_pic=extra.length>2?extra[2]:vod_pic}let vod={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,type_name:"类型",vod_year:"年份",vod_area:"地区",vod_remarks:"更新信息",vod_actor:"主演",vod_director:"导演",vod_content:"简介"};let p=detailObj.二级;let url=detailObj.url;let detailUrl=detailObj.detailUrl;let fyclass=detailObj.fyclass;let tab_exclude=detailObj.tab_exclude;let html=detailObj.html||"";MY_URL=url;if(p==="*"){vod.vod_play_from="道长在线";vod.vod_remarks=detailUrl;vod.vod_actor="没有二级,只有一级链接直接嗅探播放";vod.vod_content=MY_URL;vod.vod_play_url="嗅探播放$"+MY_URL.split("@@")[0]}else if(typeof p==="string"&&p.trim().startsWith("js:")){const TYPE="detail";var input=MY_URL;var play_url="";eval(p.trim().replace("js:",""));vod=VOD;console.log(JSON.stringify(vod))}else if(p&&typeof p==="object"){let tt1=(new Date).getTime();if(!html){html=getHtml(MY_URL)}print(`二级${MY_URL}仅获取源码耗时:${(new Date).getTime()-tt1}毫秒`);let _impJQP=false;let _ps;if(p.is_json){print("二级是json");_ps=parseTags.json;html=dealJson(html)}else if(p.is_jsp){print("二级是jsp");_ps=parseTags.jsp}else if(p.is_jq){print("二级是jq");_ps=parseTags.jq}else{print("二级默认jq");_ps=parseTags.jq}if(_ps===parseTags.jq){_impJQP=true}if(_impJQP){let ttt1=(new Date).getTime();let c$=cheerio.load(html);html={rr:c$,ele:c$("html")[0]};print(`二级${MY_URL}仅cheerio.load源码耗时:${(new Date).getTime()-ttt1}毫秒`)}let tt2=(new Date).getTime();print(`二级${MY_URL}获取并装载源码耗时:${tt2-tt1}毫秒`);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;if(p.title){let p1=p.title.split(";");vod.vod_name=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();let type_name=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").replace(/ /g,"").trim():"";vod.type_name=type_name||vod.type_name}if(p.desc){try{let p1=p.desc.split(";");vod.vod_remarks=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();vod.vod_year=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").trim():"";vod.vod_area=p1.length>2?_pdfh(html,p1[2]).replace(/\n|\t/g,"").trim():"";vod.vod_actor=p1.length>3?_pdfh(html,p1[3]).replace(/\n|\t/g,"").trim():"";vod.vod_director=p1.length>4?_pdfh(html,p1[4]).replace(/\n|\t/g,"").trim():""}catch(e){}}if(p.content){try{let p1=p.content.split(";");vod.vod_content=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim()}catch(e){}}if(p.img){try{let p1=p.img.split(";");vod.vod_pic=_pd(html,p1[0],MY_URL)}catch(e){}}let vod_play_from="$$$";let playFrom=[];if(p.重定向&&p.重定向.startsWith("js:")){print("开始执行重定向代码:"+p.重定向);html=eval(p.重定向.replace("js:",""));if(_impJQP){let c$=cheerio.load(html);html={rr:c$,ele:c$("html")[0]}}}if(p.tabs){if(p.tabs.startsWith("js:")){print("开始执行tabs代码:"+p.tabs);if(html&&_impJQP&&typeof html!=="string"){try{html=html.rr(html.ele).toString()}catch(e){}}var input=MY_URL;eval(p.tabs.replace("js:",""));playFrom=TABS}else{let p_tab=p.tabs.split(";")[0];let vHeader=_pdfa(html,p_tab);console.log(vHeader.length);let tab_text=p.tab_text||"body&&Text";for(let v of vHeader){let v_title=_pdfh(v,tab_text).trim();console.log(v_title);if(tab_exclude&&new RegExp(tab_exclude).test(v_title)){continue}playFrom.push(v_title)}}console.log(JSON.stringify(playFrom))}else{playFrom=["道长在线"]}vod.vod_play_from=playFrom.join(vod_play_from);let vod_play_url="$$$";let vod_tab_list=[];if(p.lists){if(p.lists.startsWith("js:")){print("开始执行lists代码:"+p.lists);try{if(html&&_impJQP&&typeof html!=="string"){try{html=html.rr(html.ele).toString()}catch(e){}}var input=MY_URL;var play_url="";eval(p.lists.replace("js:",""));for(let i in LISTS){if(LISTS.hasOwnProperty(i)){try{LISTS[i]=LISTS[i].map(it=>it.split("$").slice(0,2).join("$"))}catch(e){print("格式化LISTS发生错误:"+e.message)}}}vod_play_url=LISTS.map(it=>it.join("#")).join(vod_play_url)}catch(e){print("js执行lists: 发生错误:"+e.message)}}else{let list_text=p.list_text||"body&&Text";let list_url=p.list_url||"a&&href";let is_tab_js=p.tabs.trim().startsWith("js:");for(let i=0;i1&&!is_tab_js?p.tabs.split(";")[1]:"";let p1=p.lists.replaceAll("#idv",tab_name).replaceAll("#id",i);tab_ext=tab_ext.replaceAll("#idv",tab_name).replaceAll("#id",i);let vodList=[];try{vodList=_pdfa(html,p1);console.log("len(vodList):"+vodList.length)}catch(e){}let new_vod_list=[];let tabName=tab_ext?_pdfh(html,tab_ext):tab_name;console.log(tabName);let tt1=(new Date).getTime();vodList.forEach((it,idex)=>{new_vod_list.push(_pdfh(it,list_text).trim()+"$"+_pd(it,list_url,MY_URL))});if(vodList.length>0){console.log(`drpy影响性能代码共计列表数循环次数:${vodList.length},耗时:${(new Date).getTime()-tt1}毫秒`)}let vlist=new_vod_list.join("#");vod_tab_list.push(vlist)}vod_play_url=vod_tab_list.join(vod_play_url)}}vod.vod_play_url=vod_play_url}if(rule.图片来源&&vod.vod_pic&&vod.vod_pic.startsWith("http")){vod.vod_pic=vod.vod_pic+rule.图片来源}if(!vod.vod_id){vod.vod_id=vod_id}let t2=(new Date).getTime();console.log(`加载二级界面${MY_URL}耗时:${t2-t1}毫秒`);return JSON.stringify({list:[vod]})}function tellIsJx(url){try{let is_vip=!/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0])&&是否正版(url);return is_vip?1:0}catch(e){return 1}}function playParse(playObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));MY_URL=playObj.url;if(!/http/.test(MY_URL)){try{MY_URL=base64Decode(MY_URL)}catch(e){}}MY_URL=decodeURIComponent(MY_URL);var input=MY_URL;let common_play={parse:1,url:input,jx:tellIsJx(input)};let lazy_play;if(!rule.play_parse||!rule.lazy){lazy_play=common_play}else if(rule.play_parse&&rule.lazy&&typeof rule.lazy==="string"){try{let lazy_code=rule.lazy.replace("js:","").trim();print("开始执行js免嗅=>"+lazy_code);eval(lazy_code);lazy_play=typeof input==="object"?input:{parse:1,jx:tellIsJx(input),url:input}}catch(e){print("js免嗅错误:"+e.message);lazy_play=common_play}}else{lazy_play=common_play}if(Array.isArray(rule.play_json)&&rule.play_json.length>0){let web_url=lazy_play.url;for(let pjson of rule.play_json){if(pjson.re&&(pjson.re==="*"||web_url.match(new RegExp(pjson.re)))){if(pjson.json&&typeof pjson.json==="object"){let base_json=pjson.json;lazy_play=Object.assign(lazy_play,base_json);break}}}}else if(rule.play_json&&!Array.isArray(rule.play_json)){let base_json={jx:1,parse:1};lazy_play=Object.assign(lazy_play,base_json)}else if(!rule.play_json){let base_json={jx:0,parse:1};lazy_play=Object.assign(lazy_play,base_json)}console.log(JSON.stringify(lazy_play));return JSON.stringify(lazy_play)}function init(ext){console.log("init");try{if(typeof globalThis.mubanJs==="undefined"){let mubanJs=request("https://gitcode.net/qq_32394351/dr_py/-/raw/master/js/模板.js",{"User-Agent":MOBILE_UA});mubanJs=mubanJs.replace("export default","(function() {return muban;}()) // export default");globalThis.mubanJs=mubanJs}let muban=eval(globalThis.mubanJs);if(typeof ext=="object"){rule=ext}else if(typeof ext=="string"){if(ext.startsWith("http")){let js=request(ext,{method:"GET"});if(js){eval(js.replace("var rule","rule"))}}}else{eval(ext.replace("var rule","rule"))}if(rule.模板&&muban.hasOwnProperty(rule.模板)){print("继承模板:"+rule.模板);rule=Object.assign(muban[rule.模板],rule)}let rule_cate_excludes=(rule.cate_exclude||"").split("|").filter(it=>it.trim());let rule_tab_excludes=(rule.tab_exclude||"").split("|").filter(it=>it.trim());rule_cate_excludes=rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter(it=>it.trim()));rule_tab_excludes=rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter(it=>it.trim()));rule.cate_exclude=rule_cate_excludes.join("|");rule.tab_exclude=rule_tab_excludes.join("|");rule.host=(rule.host||"").rstrip("/");rule.url=rule.url||"";rule.double=rule.double||false;rule.homeUrl=rule.homeUrl||"";rule.detailUrl=rule.detailUrl||"";rule.searchUrl=rule.searchUrl||"";rule.homeUrl=rule.host&&rule.homeUrl?urljoin(rule.host,rule.homeUrl):rule.homeUrl||rule.host;rule.detailUrl=rule.host&&rule.detailUrl?urljoin(rule.host,rule.detailUrl):rule.detailUrl;if(rule.url.includes("[")&&rule.url.includes("]")){let u1=rule.url.split("[")[0];let u2=rule.url.split("[")[1].split("]")[0];rule.url=rule.host&&rule.url?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.url}else{rule.url=rule.host&&rule.url?urljoin(rule.host,rule.url):rule.url}rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,rule.searchUrl):rule.searchUrl;rule.timeout=rule.timeout||5e3;rule.encoding=rule.编码||rule.encoding||"utf-8";rule.图片来源=rule.图片来源||"";rule.play_json=rule.hasOwnProperty("play_json")?rule.play_json:[];if(rule.headers&&typeof rule.headers==="object"){try{let header_keys=Object.keys(rule.headers);for(let k of header_keys){if(k.toLowerCase()==="user-agent"){let v=rule.headers[k];console.log(v);if(["MOBILE_UA","PC_UA","UC_UA","IOS_UA","UA"].includes(v)){rule.headers[k]=eval(v)}}}}catch(e){console.log("处理headers发生错误:"+e.message)}}rule_fetch_params={headers:rule.headers||false,timeout:rule.timeout,encoding:rule.encoding};oheaders=rule.headers||{};RKEY=typeof key!=="undefined"&&key?key:"drpy_"+(rule.title||rule.host);pre();init_test()}catch(e){console.log("init_test发生错误:"+e.message)}}let homeHtmlCache=undefined;function home(filter){console.log("home");let homeObj={filter:rule.filter||false,MY_URL:rule.homeUrl,class_name:rule.class_name||"",class_url:rule.class_url||"",class_parse:rule.class_parse||"",cate_exclude:rule.cate_exclude};return homeParse(homeObj)}function homeVod(params){console.log("homeVod");let homeVodObj={"推荐":rule.推荐,double:rule.double,homeUrl:rule.homeUrl,detailUrl:rule.detailUrl};return homeVodParse(homeVodObj)}function category(tid,pg,filter,extend){let cateObj={url:rule.url,"一级":rule.一级,tid:tid,pg:parseInt(pg),filter:filter,extend:extend};return categoryParse(cateObj)}function detail(vod_url){let orId=vod_url;let fyclass="";if(vod_url.indexOf("$")>-1){let tmp=vod_url.split("$");fyclass=tmp[0];vod_url=tmp[1]}let detailUrl=vod_url.split("@@")[0];let url;if(!detailUrl.startsWith("http")&&!detailUrl.includes("/")){url=rule.detailUrl.replaceAll("fyid",detailUrl).replaceAll("fyclass",fyclass)}else if(detailUrl.includes("/")){url=urljoin(rule.homeUrl,detailUrl)}else{url=detailUrl}let detailObj={orId:orId,url:url,"二级":rule.二级,detailUrl:detailUrl,fyclass:fyclass,tab_exclude:rule.tab_exclude};return detailParse(detailObj)}function play(flag,id,flags){let playObj={url:id,flag:flag,flags:flags};return playParse(playObj)}function search(wd,quick){let searchObj={searchUrl:rule.searchUrl,"搜索":rule.搜索,wd:wd,pg:1,quick:quick};return searchParse(searchObj)}function DRPY(){return{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search}}export default{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,DRPY:DRPY}; \ No newline at end of file +import cheerio from"assets://js/lib/cheerio.min.js";import"assets://js/lib/crypto-js.js";import 模板 from"./模板.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={};const VERSION="drpy1 3.9.30 20221204";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="猜你|喜欢|APP|下载|剧情|热播";const OCR_RETRY=3;const OCR_API="http://cms.nokia.press:5706/parse/ocr";if(typeof MY_URL==="undefined"){var MY_URL}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)$/;const SELECT_REGEX=/:eq|:lt|:gt|#/g;const SELECT_REGEX_A=/:eq|:lt|:gt/g;if(typeof Object.assign!="function"){Object.assign=function(){var target=arguments[0];for(var i=1;ithis.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=end){return lists}let first=lists[start];let second=lists[end];if(key){try{first=first[key];second=second[key]}catch(e){}}if(option&&typeof option==="function"){try{first=option(first);second=option(second)}catch(e){}}first+="";second+="";if(first.match(/(\d+)/)&&second.match(/(\d+)/)){let num1=Number(first.match(/(\d+)/)[1]);let num2=Number(second.match(/(\d+)/)[1]);if(num1>num2){lists.reverse()}}return lists}let VODS=[];let VOD={};let TABS=[];let LISTS=[];globalThis.encodeUrl=urlencode;globalThis.urlencode=urlencode;function urljoin(fromPath,nowPath){fromPath=fromPath||"";nowPath=nowPath||"";return joinUrl(fromPath,nowPath)}var urljoin2=urljoin;const defaultParser={pdfh:pdfh,pdfa:pdfa,pd(html,parse,uri){let ret=this.pdfh(html,parse);if(typeof uri==="undefined"||!uri){uri=""}if(DOM_CHECK_ATTR.test(parse)){if(/http/.test(ret)){ret=ret.substr(ret.indexOf("http"))}else{ret=urljoin(MY_URL,ret)}}return ret}};function pdfh2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print("html对象转文本发生了错误:"+e.message)}let result=defaultParser.pdfh(html2,parse);let option=parse.includes("&&")?parse.split("&&").slice(-1)[0]:parse.split(" ").slice(-1)[0];if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1]}catch(e){}}return result}function pdfa2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print("html对象转文本发生了错误:"+e.message)}return defaultParser.pdfa(html2,parse)}function pd2(html,parse,uri){let ret=pdfh2(html,parse);if(typeof uri==="undefined"||!uri){uri=""}if(DOM_CHECK_ATTR.test(parse)){if(/http/.test(ret)){ret=ret.substr(ret.indexOf("http"))}else{ret=urljoin(MY_URL,ret)}}return ret}const parseTags={jsp:{pdfh:pdfh2,pdfa:pdfa2,pd:pd2},json:{pdfh(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}parse=parse.split("||");for(let ps of parse){let ret=cheerio.jp(ps,html);if(Array.isArray(ret)){ret=ret[0]||""}else{ret=ret||""}if(ret&&typeof ret!=="string"){ret=ret.toString()}if(ret){return ret}}return""},pdfa(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}let ret=cheerio.jp(parse,html);if(Array.isArray(ret)&&Array.isArray(ret[0])&&ret.length===1){return ret[0]||[]}return ret||[]},pd(html,parse){let ret=parseTags.json.pdfh(html,parse);if(ret){return urljoin(MY_URL,ret)}return ret}},jq:{pdfh(html,parse,base_url){if(!parse||!parse.trim()){return""}let eleFind=typeof html==="object";let option=undefined;if(eleFind&&parse.startsWith("body&&")){parse=parse.substr(6);if(parse.indexOf("&&")<0){option=parse.trim();parse="*=*"}}if(parse.indexOf("&&")>-1){let sp=parse.split("&&");option=sp[sp.length-1];sp.splice(sp.length-1);if(sp.length>1){for(let i in sp){if(sp.hasOwnProperty(i)){if(!SELECT_REGEX.test(sp[i])){sp[i]=sp[i]+":eq(0)"}}}}else{if(!SELECT_REGEX.test(sp[0])){sp[0]=sp[0]+":eq(0)"}}parse=sp.join(" ")}let result="";const $=eleFind?html.rr:cheerio.load(html);let ret=eleFind?parse==="*=*"||$(html.ele).is(parse)?html.ele:$(html.ele).find(parse):$(parse);if(option){if(option==="Text"){result=$(ret).text()}else if(option==="Html"){result=$(ret).html()}else{result=$(ret).attr(option);if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1]}catch(e){}}}if(result&&base_url&&DOM_CHECK_ATTR.test(option)){if(/http/.test(result)){result=result.substr(result.indexOf("http"))}else{result=urljoin(base_url,result)}}}else{result=$(ret).toString()}return result},pdfa(html,parse){if(!parse||!parse.trim()){print("!parse");return[]}let eleFind=typeof html==="object";if(parse.indexOf("&&")>-1){let sp=parse.split("&&");for(let i in sp){if(sp.hasOwnProperty(i)){if(!SELECT_REGEX_A.test(sp[i])&&iit.toLowerCase()==="set-cookie");cookie=setCk?json[setCk].split(";")[0]:""}console.log("cookie:"+cookie);let img=json.body;let code=OcrApi.classification(img);console.log(`第${cnt+1}次验证码识别结果:${code}`);let submit_url=`${host}/index.php/ajax/verify_check?type=search&verify=${code}`;console.log(submit_url);let html=request(submit_url,{headers:{Cookie:cookie,"User-Agent":MOBILE_UA},method:"POST"});html=JSON.parse(html);if(html.msg==="ok"){console.log(`第${cnt+1}次验证码提交成功`);return cookie}else if(html.msg!=="ok"&&cnt+1>=OCR_RETRY){cookie=""}}catch(e){console.log(`第${cnt+1}次验证码提交失败:${e.message}`);if(cnt+1>=OCR_RETRY){cookie=""}}cnt+=1}return cookie}function setItem(k,v){local.set(RKEY,k,v);console.log(`规则${RKEY}设置${k} => ${v}`)}function getItem(k,v){return local.get(RKEY,k)||v}function clearItem(k){local.delete(RKEY,k)}function getHome(url){if(!url){return""}let tmp=url.split("//");url=tmp[0]+"//"+tmp[1].split("/")[0];try{url=decodeURIComponent(url)}catch(e){}return url}function buildUrl(url,obj){obj=obj||{};if(url.indexOf("?")<0){url+="?"}let param_list=[];let keys=Object.keys(obj);keys.forEach(it=>{param_list.push(it+"="+obj[it])});let prs=param_list.join("&");if(keys.length>0&&!url.endsWith("?")){url+="&"}url+=prs;return url}function require(url){eval(request(url))}function request(url,obj,ocr_flag){ocr_flag=ocr_flag||false;if(typeof obj==="undefined"||!obj||obj==={}){if(!fetch_params||!fetch_params.headers){let headers={"User-Agent":MOBILE_UA};if(rule.headers){Object.assign(headers,rule.headers)}if(!fetch_params){fetch_params={}}fetch_params.headers=headers}if(!fetch_params.headers.Referer){fetch_params.headers.Referer=getHome(url)}obj=fetch_params}else{let headers=obj.headers||{};let keys=Object.keys(headers).map(it=>it.toLowerCase());if(!keys.includes("user-agent")){headers["User-Agent"]=MOBILE_UA}if(!keys.includes("referer")){headers["Referer"]=getHome(url)}obj.headers=headers}if(rule.encoding&&rule.encoding!=="utf-8"&&!ocr_flag){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="text/html; charset="+rule.encoding}}if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="string"){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="application/x-www-form-urlencoded; charset="+rule.encoding}}else if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="object"){obj.data=obj.body;delete obj.body}if(!url){return obj.withHeaders?"{}":""}if(obj.toBase64){obj.buffer=2;delete obj.toBase64}console.log(JSON.stringify(obj.headers));console.log("request:"+url+`|method:${obj.method||"GET"}|body:${obj.body||""}`);let res=req(url,obj);let html=res.content||"";if(obj.withHeaders){let htmlWithHeaders=res.headers;htmlWithHeaders.body=html;return JSON.stringify(htmlWithHeaders)}else{return html}}function post(url,obj){obj.method="POST";return request(url,obj)}fetch=request;print=function(data){data=data||"";if(typeof data=="object"&&Object.keys(data).length>0){try{data=JSON.stringify(data);console.log(data)}catch(e){console.log(typeof data+":"+data.length);return}}else if(typeof data=="object"&&Object.keys(data).length<1){console.log("null object")}else{console.log(data)}};log=print;function checkHtml(html,url,obj){if(/\?btwaf=/.test(html)){let btwaf=html.match(/btwaf(.*?)"/)[1];url=url.split("#")[0]+"?btwaf"+btwaf;print("宝塔验证访问链接:"+url);html=request(url,obj)}return html}function getCode(url,obj){let html=request(url,obj);html=checkHtml(html,url,obj);return html}function getHtml(url){let obj={};if(rule.headers){obj.headers=rule.headers}let cookie=getItem(RULE_CK,"");if(cookie){if(obj.headers&&!Object.keys(obj.headers).map(it=>it.toLowerCase()).includes("cookie")){obj.headers["Cookie"]=cookie}else if(!obj.headers){obj.headers={Cookie:cookie}}}let html=getCode(url,obj);return html}function homeParse(homeObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let classes=[];if(homeObj.class_name&&homeObj.class_url){let names=homeObj.class_name.split("&");let urls=homeObj.class_url.split("&");let cnt=Math.min(names.length,urls.length);for(let i=0;i=3){try{let html=getHtml(homeObj.MY_URL);if(html){homeHtmlCache=html;let list=_pdfa(html,p[0]);if(list&&list.length>0){list.forEach((it,idex)=>{try{let name=_pdfh(it,p[1]);if(homeObj.cate_exclude&&new RegExp(homeObj.cate_exclude).test(name)){return}let url=_pd(it,p[2]);if(p.length>3&&p[3]){let exp=new RegExp(p[3]);url=url.match(exp)[1]}classes.push({type_id:url.trim(),type_name:name.trim()})}catch(e){console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`)}})}}}catch(e){console.log(e.message)}}}classes=classes.filter(it=>!homeObj.cate_exclude||!new RegExp(homeObj.cate_exclude).test(it.type_name));let resp={class:classes};if(homeObj.filter){resp.filters=homeObj.filter}console.log(JSON.stringify(resp));return JSON.stringify(resp)}function getPP(p,pn,pp,ppn){try{let ps=p[pn]==="*"&&pp.length>ppn?pp[ppn]:p[pn];return ps}catch(e){return""}}function homeVodParse(homeVodObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];MY_URL=homeVodObj.homeUrl;console.log(MY_URL);let t1=(new Date).getTime();let p=homeVodObj.推荐;print("p:"+p);if(p==="*"&&rule.一级){p=rule.一级;homeVodObj.double=false}if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");if(p.startsWith("js:")){const TYPE="home";var input=MY_URL;const HOST=rule.host;eval(p.replace("js:",""));d=VODS}else{p=p.split(";");if(!homeVodObj.double&&p.length<5){return"{}"}else if(homeVodObj.double&&p.length<6){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");let html=homeHtmlCache||getHtml(MY_URL);homeHtmlCache=undefined;if(is_json){html=dealJson(html)}try{console.log("double:"+homeVodObj.double);if(homeVodObj.double){let items=_pdfa(html,p0);let p1=getPP(p,1,pp,0);let p2=getPP(p,2,pp,1);let p3=getPP(p,3,pp,2);let p4=getPP(p,4,pp,3);let p5=getPP(p,5,pp,4);let p6=getPP(p,6,pp,5);for(let item of items){let items2=_pdfa(item,p1);for(let item2 of items2){try{let title=_pdfh(item2,p2);let img="";try{img=_pd(item2,p3)}catch(e){}let desc="";try{desc=_pdfh(item2,p4)}catch(e){}let links=[];for(let _p5 of p5.split("+")){let link=!homeVodObj.detailUrl?_pd(item2,_p5,MY_URL):_pdfh(item2,_p5);links.push(link)}let content;if(p.length>6&&p[6]){content=_pdfh(item2,p6)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log("首页列表处理发生错误:"+e.message)}}}}else{let items=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);for(let item of items){try{let title=_pdfh(item,p1);let img="";try{img=_pd(item,p2,MY_URL)}catch(e){}let desc="";try{desc=_pdfh(item,p3)}catch(e){}let links=[];for(let _p5 of p4.split("+")){let link=!homeVodObj.detailUrl?_pd(item,_p5,MY_URL):_pdfh(item,_p5);links.push(link)}let content;if(p.length>5&&p[5]){content=_pdfh(item,p5)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){}}}}catch(e){}}let t2=(new Date).getTime();console.log("加载首页推荐耗时:"+(t2-t1)+"毫秒");if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}return JSON.stringify({list:d})}function categoryParse(cateObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let p=cateObj.一级;if(!p||typeof p!=="string"){return"{}"}let d=[];let url=cateObj.url.replaceAll("fyclass",cateObj.tid);if(rule.filter_url){if(!/fyfilter/.test(url)){if(!url.endsWith("&")&&!rule.filter_url.startsWith("&")){url+="&"}url+=rule.filter_url}else{url=url.replace("fyfilter",rule.filter_url)}let fl=cateObj.filter?cateObj.extend:{};if(rule.filter_def&&typeof rule.filter_def==="object"){try{if(Object.keys(rule.filter_def).length>0&&rule.filter_def.hasOwnProperty(cateObj.tid)){let self_fl_def=rule.filter_def[cateObj.tid];if(self_fl_def&&typeof self_fl_def==="object"){let fl_def=JSON.parse(JSON.stringify(self_fl_def));fl=Object.assign(fl_def,fl)}}}catch(e){print("合并不同分类对应的默认筛选出错:"+e.message)}}let new_url;new_url=cheerio.jinja2(url,{fl:fl});if(/object Object/.test(new_url)){new_url=drT.renderText(url,fl)}url=new_url}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",cateObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",cateObj.pg)}}if(cateObj.pg===1&&url.includes("[")&&url.includes("]")){url=url.split("[")[1].split("]")[0]}else if(cateObj.pg>1&&url.includes("[")&&url.includes("]")){url=url.split("[")[0]}MY_URL=url;console.log(MY_URL);p=p.trim();const MY_CATE=cateObj.tid;if(p.startsWith("js:")){var MY_FL=cateObj.extend;const TYPE="cate";var input=MY_URL;const MY_PAGE=cateObj.pg;var desc="";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let _ps=parseTags.getParse(p[0]);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p[0].startsWith("json:");p[0]=p[0].replace(/^(jsp:|json:|jq:)/,"");try{let html=getHtml(MY_URL);if(html){if(is_json){html=dealJson(html)}let list=_pdfa(html,p[0]);list.forEach(it=>{let links=p[4].split("+").map(p4=>{return!rule.detailUrl?_pd(it,p4,MY_URL):_pdfh(it,p4)});let link=links.join("$");let vod_id=rule.detailUrl?MY_CATE+"$"+link:link;let vod_name=_pdfh(it,p[1]).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p[2],MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}d.push({vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p[3]).replace(/\n|\t/g,"").trim()})})}}catch(e){console.log(e.message)}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}let pagecount=0;if(rule.pagecount&&typeof rule.pagecount==="object"&&rule.pagecount.hasOwnProperty(MY_CATE)){print(`MY_CATE:${MY_CATE},pagecount:${JSON.stringify(rule.pagecount)}`);pagecount=parseInt(rule.pagecount[MY_CATE])}let nodata={list:[{vod_name:"无数据,防无限请求",vod_id:"no_data",vod_remarks:"不要点,会崩的",vod_pic:"https://ghproxy.com/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg"}],total:1,pagecount:1,page:1,limit:1};let vod=d.length<1?JSON.stringify(nodata):JSON.stringify({page:parseInt(cateObj.pg),pagecount:pagecount||999,limit:20,total:999,list:d});return vod}function searchParse(searchObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];if(!searchObj.searchUrl){return"{}"}let p=searchObj.搜索==="*"&&rule.一级?rule.一级:searchObj.搜索;if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");let url=searchObj.searchUrl.replaceAll("**",searchObj.wd).replaceAll("fypage",searchObj.pg);MY_URL=url;console.log(MY_URL);if(p.startsWith("js:")){const TYPE="search";const MY_PAGE=searchObj.pg;const KEY=searchObj.wd;var input=MY_URL;var detailUrl=rule.detailUrl||"";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");try{let req_method=MY_URL.split(";").length>1?MY_URL.split(";")[1].toLowerCase():"get";let html;if(req_method==="post"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`post=》rurl:${rurl},params:${params}`);let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else if(req_method==="postjson"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`postjson-》rurl:${rurl},params:${params}`);try{params=JSON.parse(params)}catch(e){params="{}"}let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else{html=getHtml(MY_URL)}if(html){if(/系统安全验证|输入验证码/.test(html)){let cookie=verifyCode(MY_URL);if(cookie){console.log(`本次成功过验证,cookie:${cookie}`);setItem(RULE_CK,cookie)}else{console.log(`本次自动过搜索验证失败,cookie:${cookie}`)}html=getHtml(MY_URL)}if(!html.includes(searchObj.wd)){console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码");console.log(html)}if(is_json){html=dealJson(html)}let list=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);list.forEach(it=>{let links=p4.split("+").map(_p4=>{return!rule.detailUrl?_pd(it,_p4,MY_URL):_pdfh(it,_p4)});let link=links.join("$");let content;if(p.length>5&&p[5]){content=_pdfh(it,p5)}else{content=""}let vod_id=link;let vod_name=_pdfh(it,p1).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p2,MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}let ob={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p3).replace(/\n|\t/g,"").trim(),vod_content:content.replace(/\n|\t/g,"").trim()};d.push(ob)})}}catch(e){print("搜索发生错误:"+e.message);return"{}"}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}return JSON.stringify({page:parseInt(searchObj.pg),pagecount:10,limit:20,total:100,list:d})}function detailParse(detailObj){let t1=(new Date).getTime();fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let orId=detailObj.orId;let vod_name="片名";let vod_pic="";let vod_id=orId;if(rule.二级==="*"){let extra=orId.split("@@");vod_name=extra.length>1?extra[1]:vod_name;vod_pic=extra.length>2?extra[2]:vod_pic}let vod={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,type_name:"类型",vod_year:"年份",vod_area:"地区",vod_remarks:"更新信息",vod_actor:"主演",vod_director:"导演",vod_content:"简介"};let p=detailObj.二级;let url=detailObj.url;let detailUrl=detailObj.detailUrl;let fyclass=detailObj.fyclass;let tab_exclude=detailObj.tab_exclude;let html=detailObj.html||"";MY_URL=url;if(p==="*"){vod.vod_play_from="道长在线";vod.vod_remarks=detailUrl;vod.vod_actor="没有二级,只有一级链接直接嗅探播放";vod.vod_content=MY_URL;vod.vod_play_url="嗅探播放$"+MY_URL.split("@@")[0]}else if(typeof p==="string"&&p.trim().startsWith("js:")){const TYPE="detail";var input=MY_URL;var play_url="";eval(p.trim().replace("js:",""));vod=VOD;console.log(JSON.stringify(vod))}else if(p&&typeof p==="object"){let tt1=(new Date).getTime();if(!html){html=getHtml(MY_URL)}print(`二级${MY_URL}仅获取源码耗时:${(new Date).getTime()-tt1}毫秒`);let _impJQP=false;let _ps;if(p.is_json){print("二级是json");_ps=parseTags.json;html=dealJson(html)}else if(p.is_jsp){print("二级是jsp");_ps=parseTags.jsp}else if(p.is_jq){print("二级是jq");_ps=parseTags.jq}else{print("二级默认jq");_ps=parseTags.jq}if(_ps===parseTags.jq){_impJQP=true}if(_impJQP){let ttt1=(new Date).getTime();let c$=cheerio.load(html);html={rr:c$,ele:c$("html")[0]};print(`二级${MY_URL}仅cheerio.load源码耗时:${(new Date).getTime()-ttt1}毫秒`)}let tt2=(new Date).getTime();print(`二级${MY_URL}获取并装载源码耗时:${tt2-tt1}毫秒`);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;if(p.title){let p1=p.title.split(";");vod.vod_name=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();let type_name=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").replace(/ /g,"").trim():"";vod.type_name=type_name||vod.type_name}if(p.desc){try{let p1=p.desc.split(";");vod.vod_remarks=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();vod.vod_year=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").trim():"";vod.vod_area=p1.length>2?_pdfh(html,p1[2]).replace(/\n|\t/g,"").trim():"";vod.vod_actor=p1.length>3?_pdfh(html,p1[3]).replace(/\n|\t/g,"").trim():"";vod.vod_director=p1.length>4?_pdfh(html,p1[4]).replace(/\n|\t/g,"").trim():""}catch(e){}}if(p.content){try{let p1=p.content.split(";");vod.vod_content=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim()}catch(e){}}if(p.img){try{let p1=p.img.split(";");vod.vod_pic=_pd(html,p1[0],MY_URL)}catch(e){}}let vod_play_from="$$$";let playFrom=[];if(p.重定向&&p.重定向.startsWith("js:")){print("开始执行重定向代码:"+p.重定向);html=eval(p.重定向.replace("js:",""));if(_impJQP){let c$=cheerio.load(html);html={rr:c$,ele:c$("html")[0]}}}if(p.tabs){if(p.tabs.startsWith("js:")){print("开始执行tabs代码:"+p.tabs);if(html&&_impJQP&&typeof html!=="string"){try{html=html.rr(html.ele).toString()}catch(e){}}var input=MY_URL;eval(p.tabs.replace("js:",""));playFrom=TABS}else{let p_tab=p.tabs.split(";")[0];let vHeader=_pdfa(html,p_tab);console.log(vHeader.length);let tab_text=p.tab_text||"body&&Text";let new_map={};for(let v of vHeader){let v_title=_pdfh(v,tab_text).trim();console.log(v_title);if(tab_exclude&&new RegExp(tab_exclude).test(v_title)){continue}if(!new_map.hasOwnProperty(v_title)){new_map[v_title]=1}else{new_map[v_title]+=1}if(new_map[v_title]>1){v_title+=Number(new_map[v_title]-1)}playFrom.push(v_title)}}console.log(JSON.stringify(playFrom))}else{playFrom=["道长在线"]}vod.vod_play_from=playFrom.join(vod_play_from);let vod_play_url="$$$";let vod_tab_list=[];if(p.lists){if(p.lists.startsWith("js:")){print("开始执行lists代码:"+p.lists);try{if(html&&_impJQP&&typeof html!=="string"){try{html=html.rr(html.ele).toString()}catch(e){}}var input=MY_URL;var play_url="";eval(p.lists.replace("js:",""));for(let i in LISTS){if(LISTS.hasOwnProperty(i)){try{LISTS[i]=LISTS[i].map(it=>it.split("$").slice(0,2).join("$"))}catch(e){print("格式化LISTS发生错误:"+e.message)}}}vod_play_url=LISTS.map(it=>it.join("#")).join(vod_play_url)}catch(e){print("js执行lists: 发生错误:"+e.message)}}else{let list_text=p.list_text||"body&&Text";let list_url=p.list_url||"a&&href";let is_tab_js=p.tabs.trim().startsWith("js:");for(let i=0;i1&&!is_tab_js?p.tabs.split(";")[1]:"";let p1=p.lists.replaceAll("#idv",tab_name).replaceAll("#id",i);tab_ext=tab_ext.replaceAll("#idv",tab_name).replaceAll("#id",i);let vodList=[];try{vodList=_pdfa(html,p1);console.log("len(vodList):"+vodList.length)}catch(e){}let new_vod_list=[];let tabName=tab_ext?_pdfh(html,tab_ext):tab_name;console.log(tabName);let tt1=(new Date).getTime();if(vodList.length>0){for(let i=0;ix.split("$")[0]);console.log(`drpy影响性能代码共计列表数循环次数:${vodList.length},耗时:${(new Date).getTime()-tt1}毫秒`)}let vlist=new_vod_list.join("#");vod_tab_list.push(vlist)}vod_play_url=vod_tab_list.join(vod_play_url)}}vod.vod_play_url=vod_play_url}if(rule.图片来源&&vod.vod_pic&&vod.vod_pic.startsWith("http")){vod.vod_pic=vod.vod_pic+rule.图片来源}if(!vod.vod_id){vod.vod_id=vod_id}let t2=(new Date).getTime();console.log(`加载二级界面${MY_URL}耗时:${t2-t1}毫秒`);return JSON.stringify({list:[vod]})}function tellIsJx(url){try{let is_vip=!/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0])&&是否正版(url);return is_vip?1:0}catch(e){return 1}}function playParse(playObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));MY_URL=playObj.url;if(!/http/.test(MY_URL)){try{MY_URL=base64Decode(MY_URL)}catch(e){}}MY_URL=decodeURIComponent(MY_URL);var input=MY_URL;let common_play={parse:1,url:input,jx:tellIsJx(input)};let lazy_play;if(!rule.play_parse||!rule.lazy){lazy_play=common_play}else if(rule.play_parse&&rule.lazy&&typeof rule.lazy==="string"){try{let lazy_code=rule.lazy.replace("js:","").trim();print("开始执行js免嗅=>"+lazy_code);eval(lazy_code);lazy_play=typeof input==="object"?input:{parse:1,jx:tellIsJx(input),url:input}}catch(e){print("js免嗅错误:"+e.message);lazy_play=common_play}}else{lazy_play=common_play}if(Array.isArray(rule.play_json)&&rule.play_json.length>0){let web_url=lazy_play.url;for(let pjson of rule.play_json){if(pjson.re&&(pjson.re==="*"||web_url.match(new RegExp(pjson.re)))){if(pjson.json&&typeof pjson.json==="object"){let base_json=pjson.json;lazy_play=Object.assign(lazy_play,base_json);break}}}}else if(rule.play_json&&!Array.isArray(rule.play_json)){let base_json={jx:1,parse:1};lazy_play=Object.assign(lazy_play,base_json)}else if(!rule.play_json){let base_json={jx:0,parse:1};lazy_play=Object.assign(lazy_play,base_json)}console.log(JSON.stringify(lazy_play));return JSON.stringify(lazy_play)}function init(ext){console.log("init");try{let muban=模板.getMubans();if(typeof ext=="object"){rule=ext}else if(typeof ext=="string"){if(ext.startsWith("http")){let js=request(ext,{method:"GET"});if(js){eval(js.replace("var rule","rule"))}}else{eval(ext.replace("var rule","rule"))}}if(rule.模板&&muban.hasOwnProperty(rule.模板)){print("继承模板:"+rule.模板);rule=Object.assign(muban[rule.模板],rule)}let rule_cate_excludes=(rule.cate_exclude||"").split("|").filter(it=>it.trim());let rule_tab_excludes=(rule.tab_exclude||"").split("|").filter(it=>it.trim());rule_cate_excludes=rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter(it=>it.trim()));rule_tab_excludes=rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter(it=>it.trim()));rule.cate_exclude=rule_cate_excludes.join("|");rule.tab_exclude=rule_tab_excludes.join("|");rule.host=(rule.host||"").rstrip("/");rule.url=rule.url||"";rule.double=rule.double||false;rule.homeUrl=rule.homeUrl||"";rule.detailUrl=rule.detailUrl||"";rule.searchUrl=rule.searchUrl||"";rule.homeUrl=rule.host&&rule.homeUrl?urljoin(rule.host,rule.homeUrl):rule.homeUrl||rule.host;rule.detailUrl=rule.host&&rule.detailUrl?urljoin(rule.host,rule.detailUrl):rule.detailUrl;if(rule.url.includes("[")&&rule.url.includes("]")){let u1=rule.url.split("[")[0];let u2=rule.url.split("[")[1].split("]")[0];rule.url=rule.host&&rule.url?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.url}else{rule.url=rule.host&&rule.url?urljoin(rule.host,rule.url):rule.url}rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,rule.searchUrl):rule.searchUrl;rule.timeout=rule.timeout||5e3;rule.encoding=rule.编码||rule.encoding||"utf-8";rule.图片来源=rule.图片来源||"";rule.play_json=rule.hasOwnProperty("play_json")?rule.play_json:[];rule.pagecount=rule.hasOwnProperty("pagecount")?rule.pagecount:{};if(rule.headers&&typeof rule.headers==="object"){try{let header_keys=Object.keys(rule.headers);for(let k of header_keys){if(k.toLowerCase()==="user-agent"){let v=rule.headers[k];console.log(v);if(["MOBILE_UA","PC_UA","UC_UA","IOS_UA","UA"].includes(v)){rule.headers[k]=eval(v)}}}}catch(e){console.log("处理headers发生错误:"+e.message)}}rule_fetch_params={headers:rule.headers||false,timeout:rule.timeout,encoding:rule.encoding};oheaders=rule.headers||{};RKEY=typeof key!=="undefined"&&key?key:"drpy_"+(rule.title||rule.host);pre();init_test()}catch(e){console.log("init_test发生错误:"+e.message)}}let homeHtmlCache=undefined;function home(filter){console.log("home");let homeObj={filter:rule.filter||false,MY_URL:rule.homeUrl,class_name:rule.class_name||"",class_url:rule.class_url||"",class_parse:rule.class_parse||"",cate_exclude:rule.cate_exclude};return homeParse(homeObj)}function homeVod(params){console.log("homeVod");let homeVodObj={"推荐":rule.推荐,double:rule.double,homeUrl:rule.homeUrl,detailUrl:rule.detailUrl};return homeVodParse(homeVodObj)}function category(tid,pg,filter,extend){let cateObj={url:rule.url,"一级":rule.一级,tid:tid,pg:parseInt(pg),filter:filter,extend:extend};return categoryParse(cateObj)}function detail(vod_url){let orId=vod_url;let fyclass="";if(vod_url.indexOf("$")>-1){let tmp=vod_url.split("$");fyclass=tmp[0];vod_url=tmp[1]}let detailUrl=vod_url.split("@@")[0];let url;if(!detailUrl.startsWith("http")&&!detailUrl.includes("/")){url=rule.detailUrl.replaceAll("fyid",detailUrl).replaceAll("fyclass",fyclass)}else if(detailUrl.includes("/")){url=urljoin(rule.homeUrl,detailUrl)}else{url=detailUrl}let detailObj={orId:orId,url:url,"二级":rule.二级,detailUrl:detailUrl,fyclass:fyclass,tab_exclude:rule.tab_exclude};return detailParse(detailObj)}function play(flag,id,flags){let playObj={url:id,flag:flag,flags:flags};return playParse(playObj)}function search(wd,quick){let searchObj={searchUrl:rule.searchUrl,"搜索":rule.搜索,wd:wd,pg:1,quick:quick};return searchParse(searchObj)}function DRPY(){return{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search}}export default{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,DRPY:DRPY}; \ No newline at end of file diff --git a/JS/lib/drpy2.min.js b/JS/lib/drpy2.min.js index a6da1f8..02db966 100644 --- a/JS/lib/drpy2.min.js +++ b/JS/lib/drpy2.min.js @@ -1 +1 @@ -import cheerio from"assets://js/lib/cheerio.min.js";import"assets://js/lib/crypto-js.js";import 模板 from"./模板.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={};const VERSION="drpy2 3.9.29beta3 20221204";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="猜你|喜欢|APP|下载|剧情|热播";const OCR_RETRY=3;const OCR_API="http://cms.nokia.press:5706/parse/ocr";if(typeof MY_URL==="undefined"){var MY_URL}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)$/;const NOADD_INDEX=/:eq|:lt|:gt|:first|:last|^body$|^#/;const URLJOIN_ATTR=/(url|src|href|-original|-src|-play|-url)$/;const SELECT_REGEX=/:eq|:lt|:gt|#/g;const SELECT_REGEX_A=/:eq|:lt|:gt/g;if(typeof Object.assign!="function"){Object.assign=function(){var target=arguments[0];for(var i=1;ithis.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=end){return lists}let first=lists[start];let second=lists[end];if(key){try{first=first[key];second=second[key]}catch(e){}}if(option&&typeof option==="function"){try{first=option(first);second=option(second)}catch(e){}}first+="";second+="";if(first.match(/(\d+)/)&&second.match(/(\d+)/)){let num1=Number(first.match(/(\d+)/)[1]);let num2=Number(second.match(/(\d+)/)[1]);if(num1>num2){lists.reverse()}}return lists}let VODS=[];let VOD={};let TABS=[];let LISTS=[];globalThis.encodeUrl=urlencode;globalThis.urlencode=urlencode;function urljoin(fromPath,nowPath){fromPath=fromPath||"";nowPath=nowPath||"";return joinUrl(fromPath,nowPath)}var urljoin2=urljoin;const defaultParser={pdfh:pdfh,pdfa:pdfa,pd:pd};function pdfh2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print("html对象转文本发生了错误:"+e.message)}let result=defaultParser.pdfh(html2,parse);let option=parse.includes("&&")?parse.split("&&").slice(-1)[0]:parse.split(" ").slice(-1)[0];if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1]}catch(e){}}return result}function pdfa2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print("html对象转文本发生了错误:"+e.message)}return defaultParser.pdfa(html2,parse)}function pd2(html,parse,uri){let ret=pdfh2(html,parse);if(typeof uri==="undefined"||!uri){uri=""}if(DOM_CHECK_ATTR.test(parse)){if(/http/.test(ret)){ret=ret.substr(ret.indexOf("http"))}else{ret=urljoin(MY_URL,ret)}}return ret}const parseTags={jsp:{pdfh:pdfh2,pdfa:pdfa2,pd:pd2},json:{pdfh(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}parse=parse.split("||");for(let ps of parse){let ret=cheerio.jp(ps,html);if(Array.isArray(ret)){ret=ret[0]||""}else{ret=ret||""}if(ret&&typeof ret!=="string"){ret=ret.toString()}if(ret){return ret}}return""},pdfa(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}let ret=cheerio.jp(parse,html);if(Array.isArray(ret)&&Array.isArray(ret[0])&&ret.length===1){return ret[0]||[]}return ret||[]},pd(html,parse){let ret=parseTags.json.pdfh(html,parse);if(ret){return urljoin(MY_URL,ret)}return ret}},jq:{pdfh(html,parse){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();let result=defaultParser.pdfh(html,parse);return result},pdfa(html,parse){if(!html||!parse||!parse.trim()){return[]}parse=parse.trim();let result=defaultParser.pdfa(html,parse);print(`pdfa解析${parse}=>${result.length}`);return result},pd(html,parse,base_url){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();base_url=base_url||MY_URL;return defaultParser.pd(html,parse,base_url)}},getParse(p0){if(p0.startsWith("jsp:")){return this.jsp}else if(p0.startsWith("json:")){return this.json}else if(p0.startsWith("jq:")){return this.jq}else{return this.jq}}};const stringify=JSON.stringify;const jsp=parseTags.jsp;const jq=parseTags.jq;function readFile(filePath){filePath=filePath||"./uri.min.js";var fd=os.open(filePath);var buffer=new ArrayBuffer(1024);var len=os.read(fd,buffer,0,1024);console.log(len);let text=String.fromCharCode.apply(null,new Uint8Array(buffer));console.log(text);return text}function dealJson(html){try{html=html.trim();if(!(html.startsWith("{")&&html.endsWith("}")||html.startsWith("[")&&html.endsWith("]"))){html="{"+html.match(/.*?\{(.*)\}/m)[1]+"}"}}catch(e){}try{html=JSON.parse(html)}catch(e){}return html}var OcrApi={api:OCR_API,classification:function(img){let code="";try{let html=request(this.api,{data:{img:img},headers:{"User-Agent":PC_UA},method:"POST"},true);html=JSON.parse(html);code=html.url||""}catch(e){}return code}};function verifyCode(url){let cnt=0;let host=getHome(url);let cookie="";while(cntit.toLowerCase()==="set-cookie");cookie=setCk?json[setCk].split(";")[0]:""}console.log("cookie:"+cookie);let img=json.body;let code=OcrApi.classification(img);console.log(`第${cnt+1}次验证码识别结果:${code}`);let submit_url=`${host}/index.php/ajax/verify_check?type=search&verify=${code}`;console.log(submit_url);let html=request(submit_url,{headers:{Cookie:cookie,"User-Agent":MOBILE_UA},method:"POST"});html=JSON.parse(html);if(html.msg==="ok"){console.log(`第${cnt+1}次验证码提交成功`);return cookie}else if(html.msg!=="ok"&&cnt+1>=OCR_RETRY){cookie=""}}catch(e){console.log(`第${cnt+1}次验证码提交失败:${e.message}`);if(cnt+1>=OCR_RETRY){cookie=""}}cnt+=1}return cookie}function setItem(k,v){local.set(RKEY,k,v);console.log(`规则${RKEY}设置${k} => ${v}`)}function getItem(k,v){return local.get(RKEY,k)||v}function clearItem(k){local.delete(RKEY,k)}function getHome(url){if(!url){return""}let tmp=url.split("//");url=tmp[0]+"//"+tmp[1].split("/")[0];try{url=decodeURIComponent(url)}catch(e){}return url}function buildUrl(url,obj){obj=obj||{};if(url.indexOf("?")<0){url+="?"}let param_list=[];let keys=Object.keys(obj);keys.forEach(it=>{param_list.push(it+"="+obj[it])});let prs=param_list.join("&");if(keys.length>0&&!url.endsWith("?")){url+="&"}url+=prs;return url}function require(url){eval(request(url))}function request(url,obj,ocr_flag){ocr_flag=ocr_flag||false;if(typeof obj==="undefined"||!obj||obj==={}){if(!fetch_params||!fetch_params.headers){let headers={"User-Agent":MOBILE_UA};if(rule.headers){Object.assign(headers,rule.headers)}if(!fetch_params){fetch_params={}}fetch_params.headers=headers}if(!fetch_params.headers.Referer){fetch_params.headers.Referer=getHome(url)}obj=fetch_params}else{let headers=obj.headers||{};let keys=Object.keys(headers).map(it=>it.toLowerCase());if(!keys.includes("user-agent")){headers["User-Agent"]=MOBILE_UA}if(!keys.includes("referer")){headers["Referer"]=getHome(url)}obj.headers=headers}if(rule.encoding&&rule.encoding!=="utf-8"&&!ocr_flag){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="text/html; charset="+rule.encoding}}if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="string"){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="application/x-www-form-urlencoded; charset="+rule.encoding}}else if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="object"){obj.data=obj.body;delete obj.body}if(!url){return obj.withHeaders?"{}":""}if(obj.toBase64){obj.buffer=2;delete obj.toBase64}console.log(JSON.stringify(obj.headers));console.log("request:"+url+`|method:${obj.method||"GET"}|body:${obj.body||""}`);let res=req(url,obj);let html=res.content||"";if(obj.withHeaders){let htmlWithHeaders=res.headers;htmlWithHeaders.body=html;return JSON.stringify(htmlWithHeaders)}else{return html}}function post(url,obj){obj.method="POST";return request(url,obj)}fetch=request;print=function(data){data=data||"";if(typeof data=="object"&&Object.keys(data).length>0){try{data=JSON.stringify(data);console.log(data)}catch(e){console.log(typeof data+":"+data.length);return}}else if(typeof data=="object"&&Object.keys(data).length<1){console.log("null object")}else{console.log(data)}};log=print;function checkHtml(html,url,obj){if(/\?btwaf=/.test(html)){let btwaf=html.match(/btwaf(.*?)"/)[1];url=url.split("#")[0]+"?btwaf"+btwaf;print("宝塔验证访问链接:"+url);html=request(url,obj)}return html}function getCode(url,obj){let html=request(url,obj);html=checkHtml(html,url,obj);return html}function getHtml(url){let obj={};if(rule.headers){obj.headers=rule.headers}let cookie=getItem(RULE_CK,"");if(cookie){if(obj.headers&&!Object.keys(obj.headers).map(it=>it.toLowerCase()).includes("cookie")){obj.headers["Cookie"]=cookie}else if(!obj.headers){obj.headers={Cookie:cookie}}}let html=getCode(url,obj);return html}function homeParse(homeObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let classes=[];if(homeObj.class_name&&homeObj.class_url){let names=homeObj.class_name.split("&");let urls=homeObj.class_url.split("&");let cnt=Math.min(names.length,urls.length);for(let i=0;i=3){try{let html=getHtml(homeObj.MY_URL);if(html){homeHtmlCache=html;let list=_pdfa(html,p[0]);if(list&&list.length>0){list.forEach((it,idex)=>{try{let name=_pdfh(it,p[1]);if(homeObj.cate_exclude&&new RegExp(homeObj.cate_exclude).test(name)){return}let url=_pd(it,p[2]);if(p.length>3&&p[3]){let exp=new RegExp(p[3]);url=url.match(exp)[1]}classes.push({type_id:url.trim(),type_name:name.trim()})}catch(e){console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`)}})}}}catch(e){console.log(e.message)}}}classes=classes.filter(it=>!homeObj.cate_exclude||!new RegExp(homeObj.cate_exclude).test(it.type_name));let resp={class:classes};if(homeObj.filter){resp.filters=homeObj.filter}console.log(JSON.stringify(resp));return JSON.stringify(resp)}function getPP(p,pn,pp,ppn){try{let ps=p[pn]==="*"&&pp.length>ppn?pp[ppn]:p[pn];return ps}catch(e){return""}}function homeVodParse(homeVodObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];MY_URL=homeVodObj.homeUrl;console.log(MY_URL);let t1=(new Date).getTime();let p=homeVodObj.推荐;print("p:"+p);if(p==="*"&&rule.一级){p=rule.一级;homeVodObj.double=false}if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");if(p.startsWith("js:")){const TYPE="home";var input=MY_URL;const HOST=rule.host;eval(p.replace("js:",""));d=VODS}else{p=p.split(";");if(!homeVodObj.double&&p.length<5){return"{}"}else if(homeVodObj.double&&p.length<6){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");let html=homeHtmlCache||getHtml(MY_URL);homeHtmlCache=undefined;if(is_json){html=dealJson(html)}try{console.log("double:"+homeVodObj.double);if(homeVodObj.double){let items=_pdfa(html,p0);let p1=getPP(p,1,pp,0);let p2=getPP(p,2,pp,1);let p3=getPP(p,3,pp,2);let p4=getPP(p,4,pp,3);let p5=getPP(p,5,pp,4);let p6=getPP(p,6,pp,5);for(let item of items){let items2=_pdfa(item,p1);for(let item2 of items2){try{let title=_pdfh(item2,p2);let img="";try{img=_pd(item2,p3)}catch(e){}let desc="";try{desc=_pdfh(item2,p4)}catch(e){}let links=[];for(let _p5 of p5.split("+")){let link=!homeVodObj.detailUrl?_pd(item2,_p5,MY_URL):_pdfh(item2,_p5);links.push(link)}let content;if(p.length>6&&p[6]){content=_pdfh(item2,p6)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log("首页列表双层定位处理发生错误:"+e.message)}}}}else{let items=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);for(let item of items){try{let title=_pdfh(item,p1);let img="";try{img=_pd(item,p2,MY_URL)}catch(e){}let desc="";try{desc=_pdfh(item,p3)}catch(e){}let links=[];for(let _p5 of p4.split("+")){let link=!homeVodObj.detailUrl?_pd(item,_p5,MY_URL):_pdfh(item,_p5);links.push(link)}let content;if(p.length>5&&p[5]){content=_pdfh(item,p5)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log("首页列表单层定位处理发生错误:"+e.message)}}}}catch(e){}}let t2=(new Date).getTime();console.log("加载首页推荐耗时:"+(t2-t1)+"毫秒");if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}return JSON.stringify({list:d})}function categoryParse(cateObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let p=cateObj.一级;if(!p||typeof p!=="string"){return"{}"}let d=[];let url=cateObj.url.replaceAll("fyclass",cateObj.tid);if(rule.filter_url){if(!/fyfilter/.test(url)){if(!url.endsWith("&")&&!rule.filter_url.startsWith("&")){url+="&"}url+=rule.filter_url}else{url=url.replace("fyfilter",rule.filter_url)}let fl=cateObj.filter?cateObj.extend:{};if(rule.filter_def&&typeof rule.filter_def==="object"){try{if(Object.keys(rule.filter_def).length>0&&rule.filter_def.hasOwnProperty(cateObj.tid)){let self_fl_def=rule.filter_def[cateObj.tid];if(self_fl_def&&typeof self_fl_def==="object"){let fl_def=JSON.parse(JSON.stringify(self_fl_def));fl=Object.assign(fl_def,fl)}}}catch(e){print("合并不同分类对应的默认筛选出错:"+e.message)}}let new_url;new_url=cheerio.jinja2(url,{fl:fl});url=new_url}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",cateObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",cateObj.pg)}}if(cateObj.pg===1&&url.includes("[")&&url.includes("]")){url=url.split("[")[1].split("]")[0]}else if(cateObj.pg>1&&url.includes("[")&&url.includes("]")){url=url.split("[")[0]}MY_URL=url;console.log(MY_URL);p=p.trim();const MY_CATE=cateObj.tid;if(p.startsWith("js:")){var MY_FL=cateObj.extend;const TYPE="cate";var input=MY_URL;const MY_PAGE=cateObj.pg;var desc="";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let _ps=parseTags.getParse(p[0]);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p[0].startsWith("json:");p[0]=p[0].replace(/^(jsp:|json:|jq:)/,"");try{let html=getHtml(MY_URL);if(html){if(is_json){html=dealJson(html)}let list=_pdfa(html,p[0]);list.forEach(it=>{let links=p[4].split("+").map(p4=>{return!rule.detailUrl?_pd(it,p4,MY_URL):_pdfh(it,p4)});let link=links.join("$");let vod_id=rule.detailUrl?MY_CATE+"$"+link:link;let vod_name=_pdfh(it,p[1]).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p[2],MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}d.push({vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p[3]).replace(/\n|\t/g,"").trim()})})}}catch(e){console.log(e.message)}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}let pagecount=0;if(rule.pagecount&&typeof rule.pagecount==="object"&&rule.pagecount.hasOwnProperty(MY_CATE)){print(`MY_CATE:${MY_CATE},pagecount:${JSON.stringify(rule.pagecount)}`);pagecount=parseInt(rule.pagecount[MY_CATE])}let nodata={list:[{vod_name:"无数据,防无限请求",vod_id:"no_data",vod_remarks:"不要点,会崩的",vod_pic:"https://ghproxy.com/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg"}],total:1,pagecount:1,page:1,limit:1};let vod=d.length<1?JSON.stringify(nodata):JSON.stringify({page:parseInt(cateObj.pg),pagecount:pagecount||999,limit:20,total:999,list:d});return vod}function searchParse(searchObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];if(!searchObj.searchUrl){return"{}"}let p=searchObj.搜索==="*"&&rule.一级?rule.一级:searchObj.搜索;if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");let url=searchObj.searchUrl.replaceAll("**",searchObj.wd).replaceAll("fypage",searchObj.pg);MY_URL=url;console.log(MY_URL);if(p.startsWith("js:")){const TYPE="search";const MY_PAGE=searchObj.pg;const KEY=searchObj.wd;var input=MY_URL;var detailUrl=rule.detailUrl||"";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");try{let req_method=MY_URL.split(";").length>1?MY_URL.split(";")[1].toLowerCase():"get";let html;if(req_method==="post"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`post=》rurl:${rurl},params:${params}`);let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else if(req_method==="postjson"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`postjson-》rurl:${rurl},params:${params}`);try{params=JSON.parse(params)}catch(e){params="{}"}let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else{html=getHtml(MY_URL)}if(html){if(/系统安全验证|输入验证码/.test(html)){let cookie=verifyCode(MY_URL);if(cookie){console.log(`本次成功过验证,cookie:${cookie}`);setItem(RULE_CK,cookie)}else{console.log(`本次自动过搜索验证失败,cookie:${cookie}`)}html=getHtml(MY_URL)}if(!html.includes(searchObj.wd)){console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码");console.log(html)}if(is_json){html=dealJson(html)}let list=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);list.forEach(it=>{let links=p4.split("+").map(_p4=>{return!rule.detailUrl?_pd(it,_p4,MY_URL):_pdfh(it,_p4)});let link=links.join("$");let content;if(p.length>5&&p[5]){content=_pdfh(it,p5)}else{content=""}let vod_id=link;let vod_name=_pdfh(it,p1).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p2,MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}let ob={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p3).replace(/\n|\t/g,"").trim(),vod_content:content.replace(/\n|\t/g,"").trim()};d.push(ob)})}}catch(e){print("搜索发生错误:"+e.message);return"{}"}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}return JSON.stringify({page:parseInt(searchObj.pg),pagecount:10,limit:20,total:100,list:d})}function detailParse(detailObj){let t1=(new Date).getTime();fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let orId=detailObj.orId;let vod_name="片名";let vod_pic="";let vod_id=orId;if(rule.二级==="*"){let extra=orId.split("@@");vod_name=extra.length>1?extra[1]:vod_name;vod_pic=extra.length>2?extra[2]:vod_pic}let vod={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,type_name:"类型",vod_year:"年份",vod_area:"地区",vod_remarks:"更新信息",vod_actor:"主演",vod_director:"导演",vod_content:"简介"};let p=detailObj.二级;let url=detailObj.url;let detailUrl=detailObj.detailUrl;let fyclass=detailObj.fyclass;let tab_exclude=detailObj.tab_exclude;let html=detailObj.html||"";MY_URL=url;if(p==="*"){vod.vod_play_from="道长在线";vod.vod_remarks=detailUrl;vod.vod_actor="没有二级,只有一级链接直接嗅探播放";vod.vod_content=MY_URL;vod.vod_play_url="嗅探播放$"+MY_URL.split("@@")[0]}else if(typeof p==="string"&&p.trim().startsWith("js:")){const TYPE="detail";var input=MY_URL;var play_url="";eval(p.trim().replace("js:",""));vod=VOD;console.log(JSON.stringify(vod))}else if(p&&typeof p==="object"){let tt1=(new Date).getTime();if(!html){html=getHtml(MY_URL)}print(`二级${MY_URL}仅获取源码耗时:${(new Date).getTime()-tt1}毫秒`);let _ps;if(p.is_json){print("二级是json");_ps=parseTags.json;html=dealJson(html)}else if(p.is_jsp){print("二级是jsp");_ps=parseTags.jsp}else if(p.is_jq){print("二级是jq");_ps=parseTags.jq}else{print("二级默认jq");_ps=parseTags.jq}let tt2=(new Date).getTime();print(`二级${MY_URL}获取并装载源码耗时:${tt2-tt1}毫秒`);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;if(p.title){let p1=p.title.split(";");vod.vod_name=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();let type_name=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").replace(/ /g,"").trim():"";vod.type_name=type_name||vod.type_name}if(p.desc){try{let p1=p.desc.split(";");vod.vod_remarks=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();vod.vod_year=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").trim():"";vod.vod_area=p1.length>2?_pdfh(html,p1[2]).replace(/\n|\t/g,"").trim():"";vod.vod_actor=p1.length>3?_pdfh(html,p1[3]).replace(/\n|\t/g,"").trim():"";vod.vod_director=p1.length>4?_pdfh(html,p1[4]).replace(/\n|\t/g,"").trim():""}catch(e){}}if(p.content){try{let p1=p.content.split(";");vod.vod_content=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim()}catch(e){}}if(p.img){try{let p1=p.img.split(";");vod.vod_pic=_pd(html,p1[0],MY_URL)}catch(e){}}let vod_play_from="$$$";let playFrom=[];if(p.重定向&&p.重定向.startsWith("js:")){print("开始执行重定向代码:"+p.重定向);html=eval(p.重定向.replace("js:",""))}if(p.tabs){if(p.tabs.startsWith("js:")){print("开始执行tabs代码:"+p.tabs);var input=MY_URL;eval(p.tabs.replace("js:",""));playFrom=TABS}else{let p_tab=p.tabs.split(";")[0];let vHeader=_pdfa(html,p_tab);console.log(vHeader.length);let tab_text=p.tab_text||"body&&Text";let new_map={};for(let v of vHeader){let v_title=_pdfh(v,tab_text).trim();console.log(v_title);if(tab_exclude&&new RegExp(tab_exclude).test(v_title)){continue}if(!new_map.hasOwnProperty(v_title)){new_map[v_title]=1}else{new_map[v_title]+=1}if(new_map[v_title]>1){v_title+=Number(new_map[v_title]-1)}playFrom.push(v_title)}}console.log(JSON.stringify(playFrom))}else{playFrom=["道长在线"]}vod.vod_play_from=playFrom.join(vod_play_from);let vod_play_url="$$$";let vod_tab_list=[];if(p.lists){if(p.lists.startsWith("js:")){print("开始执行lists代码:"+p.lists);try{var input=MY_URL;var play_url="";eval(p.lists.replace("js:",""));for(let i in LISTS){if(LISTS.hasOwnProperty(i)){try{LISTS[i]=LISTS[i].map(it=>it.split("$").slice(0,2).join("$"))}catch(e){print("格式化LISTS发生错误:"+e.message)}}}vod_play_url=LISTS.map(it=>it.join("#")).join(vod_play_url)}catch(e){print("js执行lists: 发生错误:"+e.message)}}else{let list_text=p.list_text||"body&&Text";let list_url=p.list_url||"a&&href";let is_tab_js=p.tabs.trim().startsWith("js:");for(let i=0;i1&&!is_tab_js?p.tabs.split(";")[1]:"";let p1=p.lists.replaceAll("#idv",tab_name).replaceAll("#id",i);tab_ext=tab_ext.replaceAll("#idv",tab_name).replaceAll("#id",i);let vodList=[];try{vodList=_pdfa(html,p1);console.log("len(vodList):"+vodList.length)}catch(e){}let new_vod_list=[];let tabName=tab_ext?_pdfh(html,tab_ext):tab_name;console.log(tabName);let tt1=(new Date).getTime();if(vodList.length>0){for(let i=0;ix.split("$")[0]);console.log(`drpy影响性能代码共计列表数循环次数:${vodList.length},耗时:${(new Date).getTime()-tt1}毫秒`)}let vlist=new_vod_list.join("#");vod_tab_list.push(vlist)}vod_play_url=vod_tab_list.join(vod_play_url)}}vod.vod_play_url=vod_play_url}if(rule.图片来源&&vod.vod_pic&&vod.vod_pic.startsWith("http")){vod.vod_pic=vod.vod_pic+rule.图片来源}if(!vod.vod_id){vod.vod_id=vod_id}let t2=(new Date).getTime();console.log(`加载二级界面${MY_URL}耗时:${t2-t1}毫秒`);return JSON.stringify({list:[vod]})}function tellIsJx(url){try{let is_vip=!/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0])&&是否正版(url);return is_vip?1:0}catch(e){return 1}}function playParse(playObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));MY_URL=playObj.url;if(!/http/.test(MY_URL)){try{MY_URL=base64Decode(MY_URL)}catch(e){}}MY_URL=decodeURIComponent(MY_URL);var input=MY_URL;let common_play={parse:1,url:input,jx:tellIsJx(input)};let lazy_play;if(!rule.play_parse||!rule.lazy){lazy_play=common_play}else if(rule.play_parse&&rule.lazy&&typeof rule.lazy==="string"){try{let lazy_code=rule.lazy.replace("js:","").trim();print("开始执行js免嗅=>"+lazy_code);eval(lazy_code);lazy_play=typeof input==="object"?input:{parse:1,jx:tellIsJx(input),url:input}}catch(e){print("js免嗅错误:"+e.message);lazy_play=common_play}}else{lazy_play=common_play}if(Array.isArray(rule.play_json)&&rule.play_json.length>0){let web_url=lazy_play.url;for(let pjson of rule.play_json){if(pjson.re&&(pjson.re==="*"||web_url.match(new RegExp(pjson.re)))){if(pjson.json&&typeof pjson.json==="object"){let base_json=pjson.json;lazy_play=Object.assign(lazy_play,base_json);break}}}}else if(rule.play_json&&!Array.isArray(rule.play_json)){let base_json={jx:1,parse:1};lazy_play=Object.assign(lazy_play,base_json)}else if(!rule.play_json){let base_json={jx:0,parse:1};lazy_play=Object.assign(lazy_play,base_json)}console.log(JSON.stringify(lazy_play));return JSON.stringify(lazy_play)}function init(ext){console.log("init");try{let muban=模板.getMubans();if(typeof ext=="object"){rule=ext}else if(typeof ext=="string"){if(ext.startsWith("http")){let js=request(ext,{method:"GET"});if(js){eval(js.replace("var rule","rule"))}}else{eval(ext.replace("var rule","rule"))}}if(rule.模板&&muban.hasOwnProperty(rule.模板)){print("继承模板:"+rule.模板);rule=Object.assign(muban[rule.模板],rule)}let rule_cate_excludes=(rule.cate_exclude||"").split("|").filter(it=>it.trim());let rule_tab_excludes=(rule.tab_exclude||"").split("|").filter(it=>it.trim());rule_cate_excludes=rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter(it=>it.trim()));rule_tab_excludes=rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter(it=>it.trim()));rule.cate_exclude=rule_cate_excludes.join("|");rule.tab_exclude=rule_tab_excludes.join("|");rule.host=(rule.host||"").rstrip("/");rule.url=rule.url||"";rule.double=rule.double||false;rule.homeUrl=rule.homeUrl||"";rule.detailUrl=rule.detailUrl||"";rule.searchUrl=rule.searchUrl||"";rule.homeUrl=rule.host&&rule.homeUrl?urljoin(rule.host,rule.homeUrl):rule.homeUrl||rule.host;rule.detailUrl=rule.host&&rule.detailUrl?urljoin(rule.host,rule.detailUrl):rule.detailUrl;if(rule.url.includes("[")&&rule.url.includes("]")){let u1=rule.url.split("[")[0];let u2=rule.url.split("[")[1].split("]")[0];rule.url=rule.host&&rule.url?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.url}else{rule.url=rule.host&&rule.url?urljoin(rule.host,rule.url):rule.url}rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,rule.searchUrl):rule.searchUrl;rule.timeout=rule.timeout||5e3;rule.encoding=rule.编码||rule.encoding||"utf-8";rule.图片来源=rule.图片来源||"";rule.play_json=rule.hasOwnProperty("play_json")?rule.play_json:[];rule.pagecount=rule.hasOwnProperty("pagecount")?rule.pagecount:{};if(rule.headers&&typeof rule.headers==="object"){try{let header_keys=Object.keys(rule.headers);for(let k of header_keys){if(k.toLowerCase()==="user-agent"){let v=rule.headers[k];console.log(v);if(["MOBILE_UA","PC_UA","UC_UA","IOS_UA","UA"].includes(v)){rule.headers[k]=eval(v)}}}}catch(e){console.log("处理headers发生错误:"+e.message)}}rule_fetch_params={headers:rule.headers||false,timeout:rule.timeout,encoding:rule.encoding};oheaders=rule.headers||{};RKEY=typeof key!=="undefined"&&key?key:"drpy_"+(rule.title||rule.host);pre();init_test()}catch(e){console.log("init_test发生错误:"+e.message)}}let homeHtmlCache=undefined;function home(filter){console.log("home");let homeObj={filter:rule.filter||false,MY_URL:rule.homeUrl,class_name:rule.class_name||"",class_url:rule.class_url||"",class_parse:rule.class_parse||"",cate_exclude:rule.cate_exclude};return homeParse(homeObj)}function homeVod(params){console.log("homeVod");let homeVodObj={"推荐":rule.推荐,double:rule.double,homeUrl:rule.homeUrl,detailUrl:rule.detailUrl};return homeVodParse(homeVodObj)}function category(tid,pg,filter,extend){let cateObj={url:rule.url,"一级":rule.一级,tid:tid,pg:parseInt(pg),filter:filter,extend:extend};return categoryParse(cateObj)}function detail(vod_url){let orId=vod_url;let fyclass="";if(vod_url.indexOf("$")>-1){let tmp=vod_url.split("$");fyclass=tmp[0];vod_url=tmp[1]}let detailUrl=vod_url.split("@@")[0];let url;if(!detailUrl.startsWith("http")&&!detailUrl.includes("/")){url=rule.detailUrl.replaceAll("fyid",detailUrl).replaceAll("fyclass",fyclass)}else if(detailUrl.includes("/")){url=urljoin(rule.homeUrl,detailUrl)}else{url=detailUrl}let detailObj={orId:orId,url:url,"二级":rule.二级,detailUrl:detailUrl,fyclass:fyclass,tab_exclude:rule.tab_exclude};return detailParse(detailObj)}function play(flag,id,flags){let playObj={url:id,flag:flag,flags:flags};return playParse(playObj)}function search(wd,quick){let searchObj={searchUrl:rule.searchUrl,"搜索":rule.搜索,wd:wd,pg:1,quick:quick};return searchParse(searchObj)}function DRPY(){return{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search}}export default{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,DRPY:DRPY}; \ No newline at end of file +import cheerio from"assets://js/lib/cheerio.min.js";import"assets://js/lib/crypto-js.js";import 模板 from"./模板.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.30 20221204";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="猜你|喜欢|APP|下载|剧情|热播";const OCR_RETRY=3;const OCR_API="http://cms.nokia.press:5706/parse/ocr";if(typeof MY_URL==="undefined"){var MY_URL}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)$/;const NOADD_INDEX=/:eq|:lt|:gt|:first|:last|^body$|^#/;const URLJOIN_ATTR=/(url|src|href|-original|-src|-play|-url)$/;const SELECT_REGEX=/:eq|:lt|:gt|#/g;const SELECT_REGEX_A=/:eq|:lt|:gt/g;if(typeof Object.assign!="function"){Object.assign=function(){var target=arguments[0];for(var i=1;ithis.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=end){return lists}let first=lists[start];let second=lists[end];if(key){try{first=first[key];second=second[key]}catch(e){}}if(option&&typeof option==="function"){try{first=option(first);second=option(second)}catch(e){}}first+="";second+="";if(first.match(/(\d+)/)&&second.match(/(\d+)/)){let num1=Number(first.match(/(\d+)/)[1]);let num2=Number(second.match(/(\d+)/)[1]);if(num1>num2){lists.reverse()}}return lists}let VODS=[];let VOD={};let TABS=[];let LISTS=[];globalThis.encodeUrl=urlencode;globalThis.urlencode=urlencode;function urljoin(fromPath,nowPath){fromPath=fromPath||"";nowPath=nowPath||"";return joinUrl(fromPath,nowPath)}var urljoin2=urljoin;const defaultParser={pdfh:pdfh,pdfa:pdfa,pd:pd};function pdfh2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print("html对象转文本发生了错误:"+e.message)}let result=defaultParser.pdfh(html2,parse);let option=parse.includes("&&")?parse.split("&&").slice(-1)[0]:parse.split(" ").slice(-1)[0];if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1]}catch(e){}}return result}function pdfa2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print("html对象转文本发生了错误:"+e.message)}return defaultParser.pdfa(html2,parse)}function pd2(html,parse,uri){let ret=pdfh2(html,parse);if(typeof uri==="undefined"||!uri){uri=""}if(DOM_CHECK_ATTR.test(parse)){if(/http/.test(ret)){ret=ret.substr(ret.indexOf("http"))}else{ret=urljoin(MY_URL,ret)}}return ret}const parseTags={jsp:{pdfh:pdfh2,pdfa:pdfa2,pd:pd2},json:{pdfh(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}parse=parse.split("||");for(let ps of parse){let ret=cheerio.jp(ps,html);if(Array.isArray(ret)){ret=ret[0]||""}else{ret=ret||""}if(ret&&typeof ret!=="string"){ret=ret.toString()}if(ret){return ret}}return""},pdfa(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}let ret=cheerio.jp(parse,html);if(Array.isArray(ret)&&Array.isArray(ret[0])&&ret.length===1){return ret[0]||[]}return ret||[]},pd(html,parse){let ret=parseTags.json.pdfh(html,parse);if(ret){return urljoin(MY_URL,ret)}return ret}},jq:{pdfh(html,parse){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();let result=defaultParser.pdfh(html,parse);return result},pdfa(html,parse){if(!html||!parse||!parse.trim()){return[]}parse=parse.trim();let result=defaultParser.pdfa(html,parse);print(`pdfa解析${parse}=>${result.length}`);return result},pd(html,parse,base_url){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();base_url=base_url||MY_URL;return defaultParser.pd(html,parse,base_url)}},getParse(p0){if(p0.startsWith("jsp:")){return this.jsp}else if(p0.startsWith("json:")){return this.json}else if(p0.startsWith("jq:")){return this.jq}else{return this.jq}}};const stringify=JSON.stringify;const jsp=parseTags.jsp;const jq=parseTags.jq;function readFile(filePath){filePath=filePath||"./uri.min.js";var fd=os.open(filePath);var buffer=new ArrayBuffer(1024);var len=os.read(fd,buffer,0,1024);console.log(len);let text=String.fromCharCode.apply(null,new Uint8Array(buffer));console.log(text);return text}function dealJson(html){try{html=html.trim();if(!(html.startsWith("{")&&html.endsWith("}")||html.startsWith("[")&&html.endsWith("]"))){html="{"+html.match(/.*?\{(.*)\}/m)[1]+"}"}}catch(e){}try{html=JSON.parse(html)}catch(e){}return html}var OcrApi={api:OCR_API,classification:function(img){let code="";try{let html=request(this.api,{data:{img:img},headers:{"User-Agent":PC_UA},method:"POST"},true);html=JSON.parse(html);code=html.url||""}catch(e){}return code}};function verifyCode(url){let cnt=0;let host=getHome(url);let cookie="";while(cntit.toLowerCase()==="set-cookie");cookie=setCk?json[setCk].split(";")[0]:""}console.log("cookie:"+cookie);let img=json.body;let code=OcrApi.classification(img);console.log(`第${cnt+1}次验证码识别结果:${code}`);let submit_url=`${host}/index.php/ajax/verify_check?type=search&verify=${code}`;console.log(submit_url);let html=request(submit_url,{headers:{Cookie:cookie,"User-Agent":MOBILE_UA},method:"POST"});html=JSON.parse(html);if(html.msg==="ok"){console.log(`第${cnt+1}次验证码提交成功`);return cookie}else if(html.msg!=="ok"&&cnt+1>=OCR_RETRY){cookie=""}}catch(e){console.log(`第${cnt+1}次验证码提交失败:${e.message}`);if(cnt+1>=OCR_RETRY){cookie=""}}cnt+=1}return cookie}function setItem(k,v){local.set(RKEY,k,v);console.log(`规则${RKEY}设置${k} => ${v}`)}function getItem(k,v){return local.get(RKEY,k)||v}function clearItem(k){local.delete(RKEY,k)}function getHome(url){if(!url){return""}let tmp=url.split("//");url=tmp[0]+"//"+tmp[1].split("/")[0];try{url=decodeURIComponent(url)}catch(e){}return url}function buildUrl(url,obj){obj=obj||{};if(url.indexOf("?")<0){url+="?"}let param_list=[];let keys=Object.keys(obj);keys.forEach(it=>{param_list.push(it+"="+obj[it])});let prs=param_list.join("&");if(keys.length>0&&!url.endsWith("?")){url+="&"}url+=prs;return url}function require(url){eval(request(url))}function request(url,obj,ocr_flag){ocr_flag=ocr_flag||false;if(typeof obj==="undefined"||!obj||obj==={}){if(!fetch_params||!fetch_params.headers){let headers={"User-Agent":MOBILE_UA};if(rule.headers){Object.assign(headers,rule.headers)}if(!fetch_params){fetch_params={}}fetch_params.headers=headers}if(!fetch_params.headers.Referer){fetch_params.headers.Referer=getHome(url)}obj=fetch_params}else{let headers=obj.headers||{};let keys=Object.keys(headers).map(it=>it.toLowerCase());if(!keys.includes("user-agent")){headers["User-Agent"]=MOBILE_UA}if(!keys.includes("referer")){headers["Referer"]=getHome(url)}obj.headers=headers}if(rule.encoding&&rule.encoding!=="utf-8"&&!ocr_flag){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="text/html; charset="+rule.encoding}}if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="string"){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="application/x-www-form-urlencoded; charset="+rule.encoding}}else if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="object"){obj.data=obj.body;delete obj.body}if(!url){return obj.withHeaders?"{}":""}if(obj.toBase64){obj.buffer=2;delete obj.toBase64}console.log(JSON.stringify(obj.headers));console.log("request:"+url+`|method:${obj.method||"GET"}|body:${obj.body||""}`);let res=req(url,obj);let html=res.content||"";if(obj.withHeaders){let htmlWithHeaders=res.headers;htmlWithHeaders.body=html;return JSON.stringify(htmlWithHeaders)}else{return html}}function post(url,obj){obj.method="POST";return request(url,obj)}fetch=request;print=function(data){data=data||"";if(typeof data=="object"&&Object.keys(data).length>0){try{data=JSON.stringify(data);console.log(data)}catch(e){console.log(typeof data+":"+data.length);return}}else if(typeof data=="object"&&Object.keys(data).length<1){console.log("null object")}else{console.log(data)}};log=print;function checkHtml(html,url,obj){if(/\?btwaf=/.test(html)){let btwaf=html.match(/btwaf(.*?)"/)[1];url=url.split("#")[0]+"?btwaf"+btwaf;print("宝塔验证访问链接:"+url);html=request(url,obj)}return html}function getCode(url,obj){let html=request(url,obj);html=checkHtml(html,url,obj);return html}function getHtml(url){let obj={};if(rule.headers){obj.headers=rule.headers}let cookie=getItem(RULE_CK,"");if(cookie){if(obj.headers&&!Object.keys(obj.headers).map(it=>it.toLowerCase()).includes("cookie")){obj.headers["Cookie"]=cookie}else if(!obj.headers){obj.headers={Cookie:cookie}}}let html=getCode(url,obj);return html}function homeParse(homeObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let classes=[];if(homeObj.class_name&&homeObj.class_url){let names=homeObj.class_name.split("&");let urls=homeObj.class_url.split("&");let cnt=Math.min(names.length,urls.length);for(let i=0;i=3){try{let html=getHtml(homeObj.MY_URL);if(html){homeHtmlCache=html;let list=_pdfa(html,p[0]);if(list&&list.length>0){list.forEach((it,idex)=>{try{let name=_pdfh(it,p[1]);if(homeObj.cate_exclude&&new RegExp(homeObj.cate_exclude).test(name)){return}let url=_pd(it,p[2]);if(p.length>3&&p[3]){let exp=new RegExp(p[3]);url=url.match(exp)[1]}classes.push({type_id:url.trim(),type_name:name.trim()})}catch(e){console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`)}})}}}catch(e){console.log(e.message)}}}classes=classes.filter(it=>!homeObj.cate_exclude||!new RegExp(homeObj.cate_exclude).test(it.type_name));let resp={class:classes};if(homeObj.filter){resp.filters=homeObj.filter}console.log(JSON.stringify(resp));return JSON.stringify(resp)}function getPP(p,pn,pp,ppn){try{let ps=p[pn]==="*"&&pp.length>ppn?pp[ppn]:p[pn];return ps}catch(e){return""}}function homeVodParse(homeVodObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];MY_URL=homeVodObj.homeUrl;console.log(MY_URL);let t1=(new Date).getTime();let p=homeVodObj.推荐;print("p:"+p);if(p==="*"&&rule.一级){p=rule.一级;homeVodObj.double=false}if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");if(p.startsWith("js:")){const TYPE="home";var input=MY_URL;const HOST=rule.host;eval(p.replace("js:",""));d=VODS}else{p=p.split(";");if(!homeVodObj.double&&p.length<5){return"{}"}else if(homeVodObj.double&&p.length<6){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");let html=homeHtmlCache||getHtml(MY_URL);homeHtmlCache=undefined;if(is_json){html=dealJson(html)}try{console.log("double:"+homeVodObj.double);if(homeVodObj.double){let items=_pdfa(html,p0);let p1=getPP(p,1,pp,0);let p2=getPP(p,2,pp,1);let p3=getPP(p,3,pp,2);let p4=getPP(p,4,pp,3);let p5=getPP(p,5,pp,4);let p6=getPP(p,6,pp,5);for(let item of items){let items2=_pdfa(item,p1);for(let item2 of items2){try{let title=_pdfh(item2,p2);let img="";try{img=_pd(item2,p3)}catch(e){}let desc="";try{desc=_pdfh(item2,p4)}catch(e){}let links=[];for(let _p5 of p5.split("+")){let link=!homeVodObj.detailUrl?_pd(item2,_p5,MY_URL):_pdfh(item2,_p5);links.push(link)}let content;if(p.length>6&&p[6]){content=_pdfh(item2,p6)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log("首页列表双层定位处理发生错误:"+e.message)}}}}else{let items=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);for(let item of items){try{let title=_pdfh(item,p1);let img="";try{img=_pd(item,p2,MY_URL)}catch(e){}let desc="";try{desc=_pdfh(item,p3)}catch(e){}let links=[];for(let _p5 of p4.split("+")){let link=!homeVodObj.detailUrl?_pd(item,_p5,MY_URL):_pdfh(item,_p5);links.push(link)}let content;if(p.length>5&&p[5]){content=_pdfh(item,p5)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log("首页列表单层定位处理发生错误:"+e.message)}}}}catch(e){}}let t2=(new Date).getTime();console.log("加载首页推荐耗时:"+(t2-t1)+"毫秒");if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}return JSON.stringify({list:d})}function categoryParse(cateObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let p=cateObj.一级;if(!p||typeof p!=="string"){return"{}"}let d=[];let url=cateObj.url.replaceAll("fyclass",cateObj.tid);if(rule.filter_url){if(!/fyfilter/.test(url)){if(!url.endsWith("&")&&!rule.filter_url.startsWith("&")){url+="&"}url+=rule.filter_url}else{url=url.replace("fyfilter",rule.filter_url)}let fl=cateObj.filter?cateObj.extend:{};if(rule.filter_def&&typeof rule.filter_def==="object"){try{if(Object.keys(rule.filter_def).length>0&&rule.filter_def.hasOwnProperty(cateObj.tid)){let self_fl_def=rule.filter_def[cateObj.tid];if(self_fl_def&&typeof self_fl_def==="object"){let fl_def=JSON.parse(JSON.stringify(self_fl_def));fl=Object.assign(fl_def,fl)}}}catch(e){print("合并不同分类对应的默认筛选出错:"+e.message)}}let new_url;new_url=cheerio.jinja2(url,{fl:fl});url=new_url}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",cateObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",cateObj.pg)}}if(cateObj.pg===1&&url.includes("[")&&url.includes("]")){url=url.split("[")[1].split("]")[0]}else if(cateObj.pg>1&&url.includes("[")&&url.includes("]")){url=url.split("[")[0]}MY_URL=url;console.log(MY_URL);p=p.trim();const MY_CATE=cateObj.tid;if(p.startsWith("js:")){var MY_FL=cateObj.extend;const TYPE="cate";var input=MY_URL;const MY_PAGE=cateObj.pg;var desc="";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let _ps=parseTags.getParse(p[0]);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p[0].startsWith("json:");p[0]=p[0].replace(/^(jsp:|json:|jq:)/,"");try{let html=getHtml(MY_URL);if(html){if(is_json){html=dealJson(html)}let list=_pdfa(html,p[0]);list.forEach(it=>{let links=p[4].split("+").map(p4=>{return!rule.detailUrl?_pd(it,p4,MY_URL):_pdfh(it,p4)});let link=links.join("$");let vod_id=rule.detailUrl?MY_CATE+"$"+link:link;let vod_name=_pdfh(it,p[1]).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p[2],MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}d.push({vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p[3]).replace(/\n|\t/g,"").trim()})})}}catch(e){console.log(e.message)}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}let pagecount=0;if(rule.pagecount&&typeof rule.pagecount==="object"&&rule.pagecount.hasOwnProperty(MY_CATE)){print(`MY_CATE:${MY_CATE},pagecount:${JSON.stringify(rule.pagecount)}`);pagecount=parseInt(rule.pagecount[MY_CATE])}let nodata={list:[{vod_name:"无数据,防无限请求",vod_id:"no_data",vod_remarks:"不要点,会崩的",vod_pic:"https://ghproxy.com/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg"}],total:1,pagecount:1,page:1,limit:1};let vod=d.length<1?JSON.stringify(nodata):JSON.stringify({page:parseInt(cateObj.pg),pagecount:pagecount||999,limit:20,total:999,list:d});return vod}function searchParse(searchObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];if(!searchObj.searchUrl){return"{}"}let p=searchObj.搜索==="*"&&rule.一级?rule.一级:searchObj.搜索;if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");let url=searchObj.searchUrl.replaceAll("**",searchObj.wd).replaceAll("fypage",searchObj.pg);MY_URL=url;console.log(MY_URL);if(p.startsWith("js:")){const TYPE="search";const MY_PAGE=searchObj.pg;const KEY=searchObj.wd;var input=MY_URL;var detailUrl=rule.detailUrl||"";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");try{let req_method=MY_URL.split(";").length>1?MY_URL.split(";")[1].toLowerCase():"get";let html;if(req_method==="post"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`post=》rurl:${rurl},params:${params}`);let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else if(req_method==="postjson"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`postjson-》rurl:${rurl},params:${params}`);try{params=JSON.parse(params)}catch(e){params="{}"}let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else{html=getHtml(MY_URL)}if(html){if(/系统安全验证|输入验证码/.test(html)){let cookie=verifyCode(MY_URL);if(cookie){console.log(`本次成功过验证,cookie:${cookie}`);setItem(RULE_CK,cookie)}else{console.log(`本次自动过搜索验证失败,cookie:${cookie}`)}html=getHtml(MY_URL)}if(!html.includes(searchObj.wd)){console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码");console.log(html)}if(is_json){html=dealJson(html)}let list=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);list.forEach(it=>{let links=p4.split("+").map(_p4=>{return!rule.detailUrl?_pd(it,_p4,MY_URL):_pdfh(it,_p4)});let link=links.join("$");let content;if(p.length>5&&p[5]){content=_pdfh(it,p5)}else{content=""}let vod_id=link;let vod_name=_pdfh(it,p1).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p2,MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}let ob={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p3).replace(/\n|\t/g,"").trim(),vod_content:content.replace(/\n|\t/g,"").trim()};d.push(ob)})}}catch(e){print("搜索发生错误:"+e.message);return"{}"}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}return JSON.stringify({page:parseInt(searchObj.pg),pagecount:10,limit:20,total:100,list:d})}function detailParse(detailObj){let t1=(new Date).getTime();fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let orId=detailObj.orId;let vod_name="片名";let vod_pic="";let vod_id=orId;if(rule.二级==="*"){let extra=orId.split("@@");vod_name=extra.length>1?extra[1]:vod_name;vod_pic=extra.length>2?extra[2]:vod_pic}let vod={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,type_name:"类型",vod_year:"年份",vod_area:"地区",vod_remarks:"更新信息",vod_actor:"主演",vod_director:"导演",vod_content:"简介"};let p=detailObj.二级;let url=detailObj.url;let detailUrl=detailObj.detailUrl;let fyclass=detailObj.fyclass;let tab_exclude=detailObj.tab_exclude;let html=detailObj.html||"";MY_URL=url;if(p==="*"){vod.vod_play_from="道长在线";vod.vod_remarks=detailUrl;vod.vod_actor="没有二级,只有一级链接直接嗅探播放";vod.vod_content=MY_URL;vod.vod_play_url="嗅探播放$"+MY_URL.split("@@")[0]}else if(typeof p==="string"&&p.trim().startsWith("js:")){const TYPE="detail";var input=MY_URL;var play_url="";eval(p.trim().replace("js:",""));vod=VOD;console.log(JSON.stringify(vod))}else if(p&&typeof p==="object"){let tt1=(new Date).getTime();if(!html){html=getHtml(MY_URL)}print(`二级${MY_URL}仅获取源码耗时:${(new Date).getTime()-tt1}毫秒`);let _ps;if(p.is_json){print("二级是json");_ps=parseTags.json;html=dealJson(html)}else if(p.is_jsp){print("二级是jsp");_ps=parseTags.jsp}else if(p.is_jq){print("二级是jq");_ps=parseTags.jq}else{print("二级默认jq");_ps=parseTags.jq}let tt2=(new Date).getTime();print(`二级${MY_URL}获取并装载源码耗时:${tt2-tt1}毫秒`);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;if(p.title){let p1=p.title.split(";");vod.vod_name=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();let type_name=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").replace(/ /g,"").trim():"";vod.type_name=type_name||vod.type_name}if(p.desc){try{let p1=p.desc.split(";");vod.vod_remarks=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();vod.vod_year=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").trim():"";vod.vod_area=p1.length>2?_pdfh(html,p1[2]).replace(/\n|\t/g,"").trim():"";vod.vod_actor=p1.length>3?_pdfh(html,p1[3]).replace(/\n|\t/g,"").trim():"";vod.vod_director=p1.length>4?_pdfh(html,p1[4]).replace(/\n|\t/g,"").trim():""}catch(e){}}if(p.content){try{let p1=p.content.split(";");vod.vod_content=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim()}catch(e){}}if(p.img){try{let p1=p.img.split(";");vod.vod_pic=_pd(html,p1[0],MY_URL)}catch(e){}}let vod_play_from="$$$";let playFrom=[];if(p.重定向&&p.重定向.startsWith("js:")){print("开始执行重定向代码:"+p.重定向);html=eval(p.重定向.replace("js:",""))}if(p.tabs){if(p.tabs.startsWith("js:")){print("开始执行tabs代码:"+p.tabs);var input=MY_URL;eval(p.tabs.replace("js:",""));playFrom=TABS}else{let p_tab=p.tabs.split(";")[0];let vHeader=_pdfa(html,p_tab);console.log(vHeader.length);let tab_text=p.tab_text||"body&&Text";let new_map={};for(let v of vHeader){let v_title=_pdfh(v,tab_text).trim();console.log(v_title);if(tab_exclude&&new RegExp(tab_exclude).test(v_title)){continue}if(!new_map.hasOwnProperty(v_title)){new_map[v_title]=1}else{new_map[v_title]+=1}if(new_map[v_title]>1){v_title+=Number(new_map[v_title]-1)}playFrom.push(v_title)}}console.log(JSON.stringify(playFrom))}else{playFrom=["道长在线"]}vod.vod_play_from=playFrom.join(vod_play_from);let vod_play_url="$$$";let vod_tab_list=[];if(p.lists){if(p.lists.startsWith("js:")){print("开始执行lists代码:"+p.lists);try{var input=MY_URL;var play_url="";eval(p.lists.replace("js:",""));for(let i in LISTS){if(LISTS.hasOwnProperty(i)){try{LISTS[i]=LISTS[i].map(it=>it.split("$").slice(0,2).join("$"))}catch(e){print("格式化LISTS发生错误:"+e.message)}}}vod_play_url=LISTS.map(it=>it.join("#")).join(vod_play_url)}catch(e){print("js执行lists: 发生错误:"+e.message)}}else{let list_text=p.list_text||"body&&Text";let list_url=p.list_url||"a&&href";let is_tab_js=p.tabs.trim().startsWith("js:");for(let i=0;i1&&!is_tab_js?p.tabs.split(";")[1]:"";let p1=p.lists.replaceAll("#idv",tab_name).replaceAll("#id",i);tab_ext=tab_ext.replaceAll("#idv",tab_name).replaceAll("#id",i);let tabName=tab_ext?_pdfh(html,tab_ext):tab_name;console.log(tabName);let new_vod_list=[];let tt1=(new Date).getTime();if(typeof pdfl==="function"){new_vod_list=pdfl(html,p1,list_text,list_url,MY_URL)}else{let vodList=[];try{vodList=_pdfa(html,p1);console.log("len(vodList):"+vodList.length)}catch(e){}for(let i=0;i0){new_vod_list=forceOrder(new_vod_list,"",x=>x.split("$")[0]);console.log(`drpy影响性能代码共计列表数循环次数:${new_vod_list.length},耗时:${(new Date).getTime()-tt1}毫秒`)}let vlist=new_vod_list.join("#");vod_tab_list.push(vlist)}vod_play_url=vod_tab_list.join(vod_play_url)}}vod.vod_play_url=vod_play_url}if(rule.图片来源&&vod.vod_pic&&vod.vod_pic.startsWith("http")){vod.vod_pic=vod.vod_pic+rule.图片来源}if(!vod.vod_id){vod.vod_id=vod_id}let t2=(new Date).getTime();console.log(`加载二级界面${MY_URL}耗时:${t2-t1}毫秒`);return JSON.stringify({list:[vod]})}function tellIsJx(url){try{let is_vip=!/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0])&&是否正版(url);return is_vip?1:0}catch(e){return 1}}function playParse(playObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));MY_URL=playObj.url;if(!/http/.test(MY_URL)){try{MY_URL=base64Decode(MY_URL)}catch(e){}}MY_URL=decodeURIComponent(MY_URL);var input=MY_URL;let common_play={parse:1,url:input,jx:tellIsJx(input)};let lazy_play;if(!rule.play_parse||!rule.lazy){lazy_play=common_play}else if(rule.play_parse&&rule.lazy&&typeof rule.lazy==="string"){try{let lazy_code=rule.lazy.replace("js:","").trim();print("开始执行js免嗅=>"+lazy_code);eval(lazy_code);lazy_play=typeof input==="object"?input:{parse:1,jx:tellIsJx(input),url:input}}catch(e){print("js免嗅错误:"+e.message);lazy_play=common_play}}else{lazy_play=common_play}if(Array.isArray(rule.play_json)&&rule.play_json.length>0){let web_url=lazy_play.url;for(let pjson of rule.play_json){if(pjson.re&&(pjson.re==="*"||web_url.match(new RegExp(pjson.re)))){if(pjson.json&&typeof pjson.json==="object"){let base_json=pjson.json;lazy_play=Object.assign(lazy_play,base_json);break}}}}else if(rule.play_json&&!Array.isArray(rule.play_json)){let base_json={jx:1,parse:1};lazy_play=Object.assign(lazy_play,base_json)}else if(!rule.play_json){let base_json={jx:0,parse:1};lazy_play=Object.assign(lazy_play,base_json)}console.log(JSON.stringify(lazy_play));return JSON.stringify(lazy_play)}function init(ext){console.log("init");try{let muban=模板.getMubans();if(typeof ext=="object"){rule=ext}else if(typeof ext=="string"){if(ext.startsWith("http")){let js=request(ext,{method:"GET"});if(js){eval(js.replace("var rule","rule"))}}else{eval(ext.replace("var rule","rule"))}}if(rule.模板&&muban.hasOwnProperty(rule.模板)){print("继承模板:"+rule.模板);rule=Object.assign(muban[rule.模板],rule)}let rule_cate_excludes=(rule.cate_exclude||"").split("|").filter(it=>it.trim());let rule_tab_excludes=(rule.tab_exclude||"").split("|").filter(it=>it.trim());rule_cate_excludes=rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter(it=>it.trim()));rule_tab_excludes=rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter(it=>it.trim()));rule.cate_exclude=rule_cate_excludes.join("|");rule.tab_exclude=rule_tab_excludes.join("|");rule.host=(rule.host||"").rstrip("/");rule.url=rule.url||"";rule.double=rule.double||false;rule.homeUrl=rule.homeUrl||"";rule.detailUrl=rule.detailUrl||"";rule.searchUrl=rule.searchUrl||"";rule.homeUrl=rule.host&&rule.homeUrl?urljoin(rule.host,rule.homeUrl):rule.homeUrl||rule.host;rule.detailUrl=rule.host&&rule.detailUrl?urljoin(rule.host,rule.detailUrl):rule.detailUrl;if(rule.url.includes("[")&&rule.url.includes("]")){let u1=rule.url.split("[")[0];let u2=rule.url.split("[")[1].split("]")[0];rule.url=rule.host&&rule.url?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.url}else{rule.url=rule.host&&rule.url?urljoin(rule.host,rule.url):rule.url}rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,rule.searchUrl):rule.searchUrl;rule.timeout=rule.timeout||5e3;rule.encoding=rule.编码||rule.encoding||"utf-8";rule.图片来源=rule.图片来源||"";rule.play_json=rule.hasOwnProperty("play_json")?rule.play_json:[];rule.pagecount=rule.hasOwnProperty("pagecount")?rule.pagecount:{};if(rule.headers&&typeof rule.headers==="object"){try{let header_keys=Object.keys(rule.headers);for(let k of header_keys){if(k.toLowerCase()==="user-agent"){let v=rule.headers[k];console.log(v);if(["MOBILE_UA","PC_UA","UC_UA","IOS_UA","UA"].includes(v)){rule.headers[k]=eval(v)}}}}catch(e){console.log("处理headers发生错误:"+e.message)}}rule_fetch_params={headers:rule.headers||false,timeout:rule.timeout,encoding:rule.encoding};oheaders=rule.headers||{};RKEY=typeof key!=="undefined"&&key?key:"drpy_"+(rule.title||rule.host);pre();init_test()}catch(e){console.log("init_test发生错误:"+e.message)}}let homeHtmlCache=undefined;function home(filter){console.log("home");let homeObj={filter:rule.filter||false,MY_URL:rule.homeUrl,class_name:rule.class_name||"",class_url:rule.class_url||"",class_parse:rule.class_parse||"",cate_exclude:rule.cate_exclude};return homeParse(homeObj)}function homeVod(params){console.log("homeVod");let homeVodObj={"推荐":rule.推荐,double:rule.double,homeUrl:rule.homeUrl,detailUrl:rule.detailUrl};return homeVodParse(homeVodObj)}function category(tid,pg,filter,extend){let cateObj={url:rule.url,"一级":rule.一级,tid:tid,pg:parseInt(pg),filter:filter,extend:extend};return categoryParse(cateObj)}function detail(vod_url){let orId=vod_url;let fyclass="";if(vod_url.indexOf("$")>-1){let tmp=vod_url.split("$");fyclass=tmp[0];vod_url=tmp[1]}let detailUrl=vod_url.split("@@")[0];let url;if(!detailUrl.startsWith("http")&&!detailUrl.includes("/")){url=rule.detailUrl.replaceAll("fyid",detailUrl).replaceAll("fyclass",fyclass)}else if(detailUrl.includes("/")){url=urljoin(rule.homeUrl,detailUrl)}else{url=detailUrl}let detailObj={orId:orId,url:url,"二级":rule.二级,detailUrl:detailUrl,fyclass:fyclass,tab_exclude:rule.tab_exclude};return detailParse(detailObj)}function play(flag,id,flags){let playObj={url:id,flag:flag,flags:flags};return playParse(playObj)}function search(wd,quick){let searchObj={searchUrl:rule.searchUrl,"搜索":rule.搜索,wd:wd,pg:1,quick:quick};return searchParse(searchObj)}function DRPY(){return{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search}}export default{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,DRPY:DRPY}; \ No newline at end of file diff --git a/JS/lib/token.txt b/JS/lib/token.txt new file mode 100644 index 0000000..69c8251 --- /dev/null +++ b/JS/lib/token.txt @@ -0,0 +1 @@ +55c39cb673654d2baf5929c1cbe59a95 \ No newline at end of file diff --git a/JS/w.jar b/JS/w.jar deleted file mode 100644 index 00a53493e32412b524fd9d6082c526a64342e376..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22660 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