From 924b3aa6a95e7eaaaef9fbf357b290469502ff22 Mon Sep 17 00:00:00 2001 From: alantang Date: Thu, 24 Oct 2024 10:52:15 +0300 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/libvio.js | 137 ++++++++++++++++++++++ js/meijumi.js | 307 +++++++++++++++++++++++++++++++++++++++++++++++++ js/meijumip.js | 307 +++++++++++++++++++++++++++++++++++++++++++++++++ js/meow.js | 91 +++++++++++++++ js/mp4us.js | 178 ++++++++++++++++++++++++++++ 5 files changed, 1020 insertions(+) create mode 100644 js/libvio.js create mode 100644 js/meijumi.js create mode 100644 js/meijumip.js create mode 100644 js/meow.js create mode 100644 js/mp4us.js diff --git a/js/libvio.js b/js/libvio.js new file mode 100644 index 0000000..167b13a --- /dev/null +++ b/js/libvio.js @@ -0,0 +1,137 @@ +// 永久网址:https://libvio.app +muban.首图2.二级.title = 'h1&&Text;.data:eq(0)&&Text' +muban.首图2.二级.desc = '.data.hidden-xs&&Text;;;.data:eq(1)&&Text;.data:eq(4)&&Text' +muban.首图2.二级.content = '.detail-content&&Text' +var rule = { + title:'LIBVIO', + 模板:'首图2', + // host:'https://tv.libvio.cc', + host:'https://tv.libvio.cc', + //hostJs:'print(HOST);let html=request(HOST,{headers:{"User-Agent":PC_UA}});let src=jsp.pdfh(html,"li:eq(0)&&a:eq(0)&&href");print(src);HOST=src', + // url:'/type/fyclass-fypage.html', + url:'/show/fyclassfyfilter.html', + // url:'/show_fyclassfyfilter.html', + filterable:1,//是否启用分类筛选, + filter_url:'-{{fl.area}}-{{fl.by}}--{{fl.lang}}----fypage---{{fl.year}}', + filter: { + "1":[{"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":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"法语","v":"法语"},{"n":"德语","v":"德语"},{"n":"其它","v":"其它"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}], + "2":[{"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":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}], + "4":[{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"中国","v":"中国"},{"n":"日本","v":"日本"},{"n":"欧美","v":"欧美"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}], + "27":[{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}], + "15":[{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"日本","v":"日本"},{"n":"韩国","v":"韩国"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}], + "16":[{"key":"area","name":"地区","value":[{"n":"全部","v":""},{"n":"美国","v":"美国"},{"n":"英国","v":"英国"},{"n":"德国","v":"德国"},{"n":"加拿大","v":"加拿大"},{"n":"其他","v":"其他"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2023","v":"2023"},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"}]},{"key":"lang","name":"语言","value":[{"n":"全部","v":""},{"n":"国语","v":"国语"},{"n":"英语","v":"英语"},{"n":"粤语","v":"粤语"},{"n":"闽南语","v":"闽南语"},{"n":"韩语","v":"韩语"},{"n":"日语","v":"日语"},{"n":"其它","v":"其它"}]},{"key":"by","name":"排序","value":[{"n":"时间","v":"time"},{"n":"人气","v":"hits"},{"n":"评分","v":"score"}]}] + }, + headers:{//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent':'MOBILE_UA' + }, + class_parse:'.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html', + // class_parse:'.stui-header__menu li;a&&Text;a&&href;/.*_(\\d+).html', + tab_exclude: '百度', + pagecount:{"27":1}, + 二级: { + "title": ".stui-content__detail .title&&Text;.stui-content__detail p:eq(-2)&&Text", + "img": ".stui-content__thumb .lazyload&&data-original", + "desc": ".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text", + "content": ".detail&&Text", + "tabs": `js: +pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd; +TABS=[]; +let tabsq=[]; +let tabsm3u8=[]; +let d = pdfa(html, 'div.stui-vodlist__head'); +d.forEach(function(it) { + let name = pdfh(it, 'h3&&Text'); + if (!/(猜你|喜欢|剧情|热播)/.test(name)){ + log("libvio tabs name>>>>>>>>>>>>>>>" + name); + if (name.includes("夸克")){ + tabsq.push("夸克網盤"); + }else if (name.includes("阿里")){ + tabsq.push("阿里雲盤"); + }else{ + tabsm3u8.push(name); + } + } +}); +if (tabsq.length==1){ + TABS=TABS.concat(tabsq); +}else{ + let tmpIndex=1; + tabsq.forEach(function(it){ + TABS.push(it+tmpIndex); + tmpIndex++; + }); +} +TABS=TABS.concat(tabsm3u8); +log('libvio TABS >>>>>>>>>>>>>>>>>>' + TABS); +`, + "lists":`js: +pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd; +LISTS = []; +let listq=[]; +let listm3u8=[]; +let d = pdfa(html, 'div.stui-vodlist__head'); +d.forEach(function(it){ + let name = pdfh(it, 'h3&&Text'); + if (!/(猜你|喜欢|剧情|热播)/.test(name)){ + log("libvio tabs name>>>>>>>>>>>>>>>" + name); + let durl = pdfa(it, 'ul li'); + let dd = []; + durl.forEach(function(it1){ + let dhref = pd(it1, 'a&&href', HOST); + let dname = pdfh(it1, 'a&&Text'); + dd.push(dname + "$" + dhref); + }); + if (/(夸克|阿里)/.test(name)){ + listq.push(dd); + }else{ + listm3u8.push(dd); + } + } +}); +LISTS=LISTS.concat(listq); +LISTS=LISTS.concat(listm3u8); +`, + }, + lazy:`js: +log("libvio lazy player input>>>>>>>>>>>>"+input); +var html = JSON.parse(request(input).match(/r player_.*?=(.*?)>>>>>>>>>>>"+JSON.stringify(html)); +var url = html.url; +var from = html.from; +var next = html.link_next; +var id = html.id; +var nid = html.nid; +if (/(aliyundrive.com|quark.cn|alipan.com)/.test(url)){ + let confirm = ""; + if (TABS.length==1){ + confirm="&confirm=0"; + } + let type="ali"; + if (url.includes("aliyundrive.com") || url.includes("alipan.com")){ + type = "ali"; + }else if (url.includes("quark.cn")){ + type = "quark"; + } + input = { + jx: 0, + url: 'http://127.0.0.1:9978/proxy?do=' + type +'&type=push' + confirm + '&url=' + encodeURIComponent(url), + parse: 0 + } +}else{ + var paurl = request("https://libvio.cc/static/player/" + from + ".js").match(/ src="(.*?)'/)[1]; + if (/https/.test(paurl)) { + var purl = paurl + url + "&next=" + next + "&id=" + id + "&nid=" + nid; + input = { + jx: 0, + url: request(purl).match(/var .* = '(.*?)'/)[1], + parse: 0 + } + } +} +`, + searchUrl:'/index.php/ajax/suggest?mid=1&wd=**&limit=50', + detailUrl:'/detail/fyid.html', //非必填,二级详情拼接链接 + // detailUrl:'/detail_fyid.html', //非必填,二级详情拼接链接 + // searchUrl:'/search/**----------fypage---.html', + 搜索:'json:list;name;pic;;id', +} diff --git a/js/meijumi.js b/js/meijumi.js new file mode 100644 index 0000000..1ae6890 --- /dev/null +++ b/js/meijumi.js @@ -0,0 +1,307 @@ +var rule = { + title:'美剧迷[磁]', + //host:'https://www.meijumi.net', + //homeUrl:'/', + //url: '/fyclass/page/fypage/?', + host:'http://127.0.0.1:10078', + homeUrl:'/p/0/s/https://www.meijumi.net/', + url: '/p/0/s/https://www.meijumi.net/fyclass/page/fypage/?', + filter_url:'{{fl.class}}', + filter:{ + }, + searchUrl: '/p/0/s/https://www.meijumi.net/?s=**', + searchable:2, + quickSearch:0, + filterable:0, + headers:{ + 'User-Agent': 'PC_UA', + 'Accept': '*/*', + 'Referer': 'https://www.meijumi.net/' + }, + timeout:5000, + class_name:'最近更新&美剧&灵异/惊悚&魔幻/科幻&罪案/动作谍战&剧情/历史&喜剧&律政/医务&动漫/动画&纪录片&综艺/真人秀&英剧&韩剧', + class_url:'news&usa&usa/xuanyi&usa/mohuan&usa/zuian&usa/qinggan&usa/xiju&usa/yiwu&usa/katong&usa/jilu&usa/zongyi&en&hanju', + play_parse:true, + play_json:[{ + re:'*', + json:{ + parse:0, + jx:0 + } + }], + lazy:'', + limit:6, + 推荐:'', + 推荐:`js: +pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd; +let d = []; +let html = request(input); +let items; +items = pdfa(html, 'main#main div.hd ul li:has(>a>img)'); +items.forEach(it => { + let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'a&&href').replace(rule.host, "https://www.meijumi.net"); + d.push({ + title: pdfh(it, 'li&&Text'), + desc: '', + pic_url: pd(it, 'img&&src', HOST), + url: burl + }); +}); +items = pdfa(html, 'main#main div.hd div.huandeng span:has(>a>img)'); +if (typeof items !== "undefined") { + items.forEach(it => { + let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'a&&href').replace(rule.host, "https://www.meijumi.net"); + d.push({ + title: pdfh(it, 'span&&Text'), + desc: '', + pic_url: pd(it, 'img&&src', HOST), + url: burl + }); + }); +} +items = pdfa(html, 'main#main div#pingbi_gg div:has(>div>a>img)'); +if (typeof items !== "undefined") { + items.forEach(it => { + let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'a&&href').replace(rule.host, "https://www.meijumi.net"); + d.push({ + title: pdfh(it, 'a&&title'), + desc: pdfh(it, 'div&&span b&&Text'), + pic_url: pd(it, 'img&&src', HOST), + url: burl + }); + }); +} +items = pdfa(html, 'main#main div#pingbi_gg div:has(>header>div>a)'); +if (typeof items !== "undefined") { + items.forEach(it => { + let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'header a&&href').replace(rule.host, "https://www.meijumi.net"); + d.push({ + title: pdfh(it, 'header a&&Text'), + desc: pdfh(it, 'header&&div span&&Text'), + pic_url: pd(it, 'figure img&&src', HOST), + url: burl + }); + }); +} +setResult(d); +`, + 一级:'', + 一级:`js: +pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd; +let d = []; +if (MY_CATE !== "news" ){ + let html = request(input); + let list = pdfa(html, 'div#post_list_box article'); + list.forEach(it => { + let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'header a&&href').replace(rule.host, "https://www.meijumi.net"); + d.push({ + title: pdfh(it, 'header a&&Text'), + desc: pdfh(it, 'div.entry-content span:eq(1)&&Text'), + pic_url: pd(it, 'figure img&&src', HOST), + url: burl + }); + }) +}else{ + input = rule.homeUrl + MY_CATE + '/'; + let html = request(input); + let list = pdfa(html, 'article ol&&li'); + list.forEach(it => { + let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'a&&href').replace(rule.host, "https://www.meijumi.net"); + d.push({ + title: pdfh(it, 'a&&Text'), + desc: pdfh(it, 'li&&span:eq(3)&&Text') + ' / 更新' + pdfh(it, 'li&&span:eq(1)&&Text'), + pic_url: '', + url: burl + }); + }) +} +setResult(d); + `, + 二级:{ + title:"article&&header&&h1&&Text", + img:"article div.single-content img&&src", + desc:"article div.single-content blockquote&&Text", + content:"article div.single-content table&&Text", + tabs:`js: +pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd; +TABS=[] +let playGroups = []; +let d = pdfa(html, 'article div.single-content&&p:has(>a)'); +d.forEach(function(it) { + let playObj = {"ali":{},"quark":{},"magnet":{}}; + let playUrls = pdfa(it, 'a'); + let title=""; + playUrls.forEach(function(playUrl) { + let purl = pdfh(playUrl, 'a&&href'); + if (true || title === ""){ + title = pdfh(playUrl, 'a&&Text'); + } + if (purl.startsWith("magnet")){ + let magfn = title; + try { + magfn = purl.match(/(^|&)dn=([^&]*)(&|$)/)[2]; + }catch(e){ + magfn = title; + } + let resolution = "unknown"; + try { + resolution = magfn.match(/(1080|720|2160|4k|4K)/)[1]; + }catch(e){ + resolution = "unknown"; + } + magfn = resolution + "." + magfn; + log("tabs magnet filename>>>>>>>>>>>" + magfn); + playObj["magnet"][purl]=magfn; + }else if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){ + playObj["ali"][purl]=title; + }else if (purl.startsWith("https://pan.quark.cn/s/")){ + playObj["quark"][purl]=title; + } + }); + playGroups.push(playObj); + +}); +LISTS.push(playGroups); +let groupIndex = 1; +let haveDelay = false; +playGroups.forEach(function (it) { + let magCount = Object.keys(it["magnet"]).length; + let aliCount = Object.keys(it["ali"]).length; + let quarkCount = Object.keys(it["quark"]).length; + let haveMag = false; + if (magCount==0 && aliCount!==1 && quarkCount!==1 ){ + + }else{ + if (magCount>0){ + TABS.push("磁力" + groupIndex); + haveMag = true; + haveDelay = true; + } + if (aliCount === 1){ + if (false && !haveMag && !haveDelay){ + haveDelay = true; + TABS.push("選擇右側綫路"); + } + TABS.push("阿里雲盤" + groupIndex); + } + if (quarkCount === 1){ + if (false && !haveMag && !haveDelay){ + haveDelay = true; + TABS.push("選擇右側綫路"); + } + TABS.push("夸克網盤" + groupIndex); + } + groupIndex = groupIndex + 1; + } +}); +log('meijumi TABS >>>>>>>>>>>>>>>>>>' + TABS); +`, + lists:`js: +log(TABS); +pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd; +let playGroups = []; +if (false && LISTS.length>0 && typeof LISTS[0] === "object"){ + playGroups = LISTS.shift(); +}else{ + let d = pdfa(html, 'article div.single-content&&p:has(>a)'); + d.forEach(function(it) { + let playObj = {"ali":{},"quark":{},"magnet":{}}; + let playUrls = pdfa(it, 'a'); + let title=""; + playUrls.forEach(function(playUrl) { + let purl = pdfh(playUrl, 'a&&href'); + if (true || title === ""){ + title = pdfh(playUrl, 'a&&Text'); + } + if (purl.startsWith("magnet")){ + let magfn = title; + try { + magfn = purl.match(/(^|&)dn=([^&]*)(&|$)/)[2]; + }catch(e){ + magfn = title; + } + let resolution = "unknown"; + try { + resolution = magfn.match(/(1080|720|2160|4k|4K)/)[1]; + }catch(e){ + resolution = "unknown"; + } + magfn = resolution + "." + magfn; + log("tabs magnet filename>>>>>>>>>>>" + magfn); + playObj["magnet"][purl]=magfn; + }else if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){ + playObj["ali"][purl]=title; + }else if (purl.startsWith("https://pan.quark.cn/s/")){ + playObj["quark"][purl]=title; + } + }); + playGroups.push(playObj); + + }); +} +LISTS = []; +let haveDelay = false; +playGroups.forEach(function(it){ + let haveMag = false; + if (Object.keys(it["magnet"]).length>0){ + haveMag = true; + haveDelay = true; + let d = []; + for(const key in it["magnet"]){ + if (it["magnet"].hasOwnProperty(key)){ + let title = it["magnet"][key]; + let burl = key; + log('meijumi magnet title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title); + log('meijumi magnet burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl); + d.push(title + '$' + burl); + } + } + d.sort(); + let newd = []; + d.forEach(it=>{ + newd.push(it.substring(it.indexOf(".")+1)); + }); + LISTS.push(newd); + } + if (Object.keys(it["ali"]).length==1){ + let d = []; + for(const key in it["ali"]){ + if (it["ali"].hasOwnProperty(key)){ + let title = it["ali"][key]; + let burl = "http://127.0.0.1:9978/proxy?do=ali&type=push&url=" + encodeURIComponent(key); + //let burl = "push://" + key; + log('meijumi ali title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title); + log('meijumi ali burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl); + d.push(title + '$' + burl); + if (false && !haveMag && !haveDelay){ + haveDelay = true; + LISTS.push(["選擇右側綫路,或3秒後自動跳過$http://127.0.0.1:10079/delay/"]); + } + } + } + LISTS.push(d); + } + if (Object.keys(it["quark"]).length==1){ + let d = []; + for(const key in it["quark"]){ + if (it["quark"].hasOwnProperty(key)){ + let title = it["quark"][key]; + let burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&url=" + encodeURIComponent(key); + //let burl = "push://" + key; + log('meijumi quark title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title); + log('meijumi quark burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl); + d.push(title + '$' + burl); + if (false && !haveMag && !haveDelay){ + haveDelay = true; + LISTS.push(["選擇右側綫路,或3秒後自動跳過$http://127.0.0.1:10079/delay/"]); + } + } + } + LISTS.push(d); + } +}); +`, + + }, + 搜索:'ul.search-page article;h2&&Text;a img&&src;div.entry-content span:eq(1)&&Text;a&&href;div.entry-content div.archive-content&&Text', +} diff --git a/js/meijumip.js b/js/meijumip.js new file mode 100644 index 0000000..6ba67c9 --- /dev/null +++ b/js/meijumip.js @@ -0,0 +1,307 @@ +var rule = { + title:'美剧迷[磁]', + //host:'https://www.meijumi.xyz', + //homeUrl:'/', + //url: '/fyclass/page/fypage/?', + host:'http://192.168.101.1:10078', + homeUrl:'/p/0/socks5%253A%252F%252F192.168.101.1%253A1080/https://www.meijumi.net/', + url: '/p/0/socks5%253A%252F%252F192.168.101.1%253A1080/https://www.meijumi.net/fyclass/page/fypage/?', + filter_url:'{{fl.class}}', + filter:{ + }, + searchUrl: '/p/0/socks5%253A%252F%252F192.168.101.1%253A1080/https://www.meijumi.net/?s=**', + searchable:2, + quickSearch:0, + filterable:0, + headers:{ + 'User-Agent': 'PC_UA', + 'Accept': '*/*', + 'Referer': 'https://www.meijumi.net/' + }, + timeout:5000, + class_name:'最近更新&美剧&灵异/惊悚&魔幻/科幻&罪案/动作谍战&剧情/历史&喜剧&律政/医务&动漫/动画&纪录片&综艺/真人秀&英剧&韩剧', + class_url:'news&usa&usa/xuanyi&usa/mohuan&usa/zuian&usa/qinggan&usa/xiju&usa/yiwu&usa/katong&usa/jilu&usa/zongyi&en&hanju', + play_parse:true, + play_json:[{ + re:'*', + json:{ + parse:0, + jx:0 + } + }], + lazy:'', + limit:6, + 推荐:'', + 推荐:`js: +pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd; +let d = []; +let html = request(input); +let items; +items = pdfa(html, 'main#main div.hd ul li:has(>a>img)'); +items.forEach(it => { + let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'a&&href').replace(rule.host, "https://www.meijumi.net"); + d.push({ + title: pdfh(it, 'li&&Text'), + desc: '', + pic_url: pd(it, 'img&&src', HOST), + url: burl + }); +}); +items = pdfa(html, 'main#main div.hd div.huandeng span:has(>a>img)'); +if (typeof items !== "undefined") { + items.forEach(it => { + let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'a&&href').replace(rule.host, "https://www.meijumi.net"); + d.push({ + title: pdfh(it, 'span&&Text'), + desc: '', + pic_url: pd(it, 'img&&src', HOST), + url: burl + }); + }); +} +items = pdfa(html, 'main#main div#pingbi_gg div:has(>div>a>img)'); +if (typeof items !== "undefined") { + items.forEach(it => { + let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'a&&href').replace(rule.host, "https://www.meijumi.net"); + d.push({ + title: pdfh(it, 'a&&title'), + desc: pdfh(it, 'div&&span b&&Text'), + pic_url: pd(it, 'img&&src', HOST), + url: burl + }); + }); +} +items = pdfa(html, 'main#main div#pingbi_gg div:has(>header>div>a)'); +if (typeof items !== "undefined") { + items.forEach(it => { + let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'header a&&href').replace(rule.host, "https://www.meijumi.net"); + d.push({ + title: pdfh(it, 'header a&&Text'), + desc: pdfh(it, 'header&&div span&&Text'), + pic_url: pd(it, 'figure img&&src', HOST), + url: burl + }); + }); +} +setResult(d); +`, + 一级:'', + 一级:`js: +pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd; +let d = []; +if (MY_CATE !== "news" ){ + let html = request(input); + let list = pdfa(html, 'div#post_list_box article'); + list.forEach(it => { + let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'header a&&href').replace(rule.host, "https://www.meijumi.net"); + d.push({ + title: pdfh(it, 'header a&&Text'), + desc: pdfh(it, 'div.entry-content span:eq(1)&&Text'), + pic_url: pd(it, 'figure img&&src', HOST), + url: burl + }); + }) +}else{ + input = rule.homeUrl + MY_CATE + '/'; + let html = request(input); + let list = pdfa(html, 'article ol&&li'); + list.forEach(it => { + let burl = rule.homeUrl.replace("https://www.meijumi.net/","") + pd(it, 'a&&href').replace(rule.host, "https://www.meijumi.net"); + d.push({ + title: pdfh(it, 'a&&Text'), + desc: pdfh(it, 'li&&span:eq(3)&&Text') + ' / 更新' + pdfh(it, 'li&&span:eq(1)&&Text'), + pic_url: '', + url: burl + }); + }) +} +setResult(d); + `, + 二级:{ + title:"article&&header&&h1&&Text", + img:"article div.single-content img&&src", + desc:"article div.single-content blockquote&&Text", + content:"article div.single-content table&&Text", + tabs:`js: +pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd; +TABS=[] +let playGroups = []; +let d = pdfa(html, 'article div.single-content&&p:has(>a)'); +d.forEach(function(it) { + let playObj = {"ali":{},"quark":{},"magnet":{}}; + let playUrls = pdfa(it, 'a'); + let title=""; + playUrls.forEach(function(playUrl) { + let purl = pdfh(playUrl, 'a&&href'); + if (true || title === ""){ + title = pdfh(playUrl, 'a&&Text'); + } + if (purl.startsWith("magnet")){ + let magfn = title; + try { + magfn = purl.match(/(^|&)dn=([^&]*)(&|$)/)[2]; + }catch(e){ + magfn = title; + } + let resolution = "unknown"; + try { + resolution = magfn.match(/(1080|720|2160|4k|4K)/)[1]; + }catch(e){ + resolution = "unknown"; + } + magfn = resolution + "." + magfn; + log("tabs magnet filename>>>>>>>>>>>" + magfn); + playObj["magnet"][purl]=magfn; + }else if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){ + playObj["ali"][purl]=title; + }else if (purl.startsWith("https://pan.quark.cn/s/")){ + playObj["quark"][purl]=title; + } + }); + playGroups.push(playObj); + +}); +LISTS.push(playGroups); +let groupIndex = 1; +let haveDelay = false; +playGroups.forEach(function (it) { + let magCount = Object.keys(it["magnet"]).length; + let aliCount = Object.keys(it["ali"]).length; + let quarkCount = Object.keys(it["quark"]).length; + let haveMag = false; + if (magCount==0 && aliCount!==1 && quarkCount!==1 ){ + + }else{ + if (magCount>0){ + TABS.push("磁力" + groupIndex); + haveMag = true; + haveDelay = true; + } + if (aliCount === 1){ + if (false && !haveMag && !haveDelay){ + haveDelay = true; + TABS.push("選擇右側綫路"); + } + TABS.push("阿里雲盤" + groupIndex); + } + if (quarkCount === 1){ + if (false && !haveMag && !haveDelay){ + haveDelay = true; + TABS.push("選擇右側綫路"); + } + TABS.push("夸克網盤" + groupIndex); + } + groupIndex = groupIndex + 1; + } +}); +log('meijumi TABS >>>>>>>>>>>>>>>>>>' + TABS); +`, + lists:`js: +log(TABS); +pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd; +let playGroups = []; +if (false && LISTS.length>0 && typeof LISTS[0] === "object"){ + playGroups = LISTS.shift(); +}else{ + let d = pdfa(html, 'article div.single-content&&p:has(>a)'); + d.forEach(function(it) { + let playObj = {"ali":{},"quark":{},"magnet":{}}; + let playUrls = pdfa(it, 'a'); + let title=""; + playUrls.forEach(function(playUrl) { + let purl = pdfh(playUrl, 'a&&href'); + if (true || title === ""){ + title = pdfh(playUrl, 'a&&Text'); + } + if (purl.startsWith("magnet")){ + let magfn = title; + try { + magfn = purl.match(/(^|&)dn=([^&]*)(&|$)/)[2]; + }catch(e){ + magfn = title; + } + let resolution = "unknown"; + try { + resolution = magfn.match(/(1080|720|2160|4k|4K)/)[1]; + }catch(e){ + resolution = "unknown"; + } + magfn = resolution + "." + magfn; + log("tabs magnet filename>>>>>>>>>>>" + magfn); + playObj["magnet"][purl]=magfn; + }else if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){ + playObj["ali"][purl]=title; + }else if (purl.startsWith("https://pan.quark.cn/s/")){ + playObj["quark"][purl]=title; + } + }); + playGroups.push(playObj); + + }); +} +LISTS = []; +let haveDelay = false; +playGroups.forEach(function(it){ + let haveMag = false; + if (Object.keys(it["magnet"]).length>0){ + haveMag = true; + haveDelay = true; + let d = []; + for(const key in it["magnet"]){ + if (it["magnet"].hasOwnProperty(key)){ + let title = it["magnet"][key]; + let burl = key; + log('meijumi magnet title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title); + log('meijumi magnet burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl); + d.push(title + '$' + burl); + } + } + d.sort(); + let newd = []; + d.forEach(it=>{ + newd.push(it.substring(it.indexOf(".")+1)); + }); + LISTS.push(newd); + } + if (Object.keys(it["ali"]).length==1){ + let d = []; + for(const key in it["ali"]){ + if (it["ali"].hasOwnProperty(key)){ + let title = it["ali"][key]; + let burl = "http://127.0.0.1:9978/proxy?do=ali&type=push&url=" + encodeURIComponent(key); + //let burl = "push://" + key; + log('meijumi ali title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title); + log('meijumi ali burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl); + d.push(title + '$' + burl); + if (false && !haveMag && !haveDelay){ + haveDelay = true; + LISTS.push(["選擇右側綫路,或3秒後自動跳過$http://127.0.0.1:10079/delay/"]); + } + } + } + LISTS.push(d); + } + if (Object.keys(it["quark"]).length==1){ + let d = []; + for(const key in it["quark"]){ + if (it["quark"].hasOwnProperty(key)){ + let title = it["quark"][key]; + let burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&url=" + encodeURIComponent(key); + //let burl = "push://" + key; + log('meijumi quark title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title); + log('meijumi quark burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl); + d.push(title + '$' + burl); + if (false && !haveMag && !haveDelay){ + haveDelay = true; + LISTS.push(["選擇右側綫路,或3秒後自動跳過$http://127.0.0.1:10079/delay/"]); + } + } + } + LISTS.push(d); + } +}); +`, + + }, + 搜索:'ul.search-page article;h2&&Text;a img&&src;div.entry-content span:eq(1)&&Text;a&&href;div.entry-content div.archive-content&&Text', +} diff --git a/js/meow.js b/js/meow.js new file mode 100644 index 0000000..1beea41 --- /dev/null +++ b/js/meow.js @@ -0,0 +1,91 @@ +var rule = { + title:'meow.tg[搜]', + host:'https://meow.tg', + homeUrl:'/', + url:'*', + filter_url:'{{fl.class}}', + filter:{ + }, + searchUrl: '/api/results/query?page=fypage&perPage=20&keyword=**', + searchable:2, + quickSearch:0, + filterable:0, + headers:{ + 'User-Agent': PC_UA, + 'Accept': '*/*', + 'Referer': 'https://meow.tg/', + }, + timeout:5000, + class_name:'', + class_url:'', + play_parse:true, + play_json:[{ + re:'*', + json:{ + parse:0, + jx:0 + } + }], + lazy:'', + limit:6, + 推荐:'', + 一级:'', + 二级:`js: +VOD.vod_play_from = "雲盤"; +VOD.vod_remarks = detailUrl; +VOD.vod_actor = "沒有二級,只有一級鏈接直接推送播放"; +VOD.vod_content = MY_URL; +VOD.vod_play_url = "雲盤$" + detailUrl; +`, + 搜索:`js: +pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd; +let newurl = rule.homeUrl + 'api/results/query?page=' + MY_PAGE+ '&perPage=20&keyword=' + encodeURIComponent(KEY); +let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); +log("meow search param>>>>>>>>>>>>>>>" + JSON.stringify(_fetch_params)); +let new_html=request(newurl, _fetch_params); +let json=JSON.parse(new_html); +let d=[]; +for(const it in json.finalList){ + if (json.finalList.hasOwnProperty(it)){ + //log("meow search it>>>>>>>>>>>>>>>" + JSON.stringify(json.finalList[it])); + let text = json.finalList[it]["results"]["text"]; + let high = json.finalList[it]["results"]["highLight"]; + if (/(www.aliyundrive.com|pan.quark.cn|www.alipan.com)/.test(text)){ + text = text; + }else if (/(www.aliyundrive.com|pan.quark.cn|www.alipan.com)/.test(high)){ + text = high; + }else{ + text = ""; + } + if (text.length>0){ + let title = ""; + if (/.*名称(:|:)([^\\n]*)/.test(text)){ + title = text.match(/.*名称(:|:)([^\\n]*)/)[2].trim(); + } + let content = ""; + if (/.*描述(:|:)([^\\n]*)/.test(text)){ + content = text.match(/.*描述(:|:)([^\\n]*)/)[2].trim(); + } + let desc = json.finalList[it]["source"]["name_zh"]; + let img = json.finalList[it]["source"]["avatar"]; + let matches = text.match(/(www.aliyundrive.com|pan.quark.cn|www.alipan.com)([\\/0-9a-zA-Z\\+\\-_]*)/); + let burl = "https://" + matches[1] + matches[2]; + if (title.includes(KEY)){ + log("meow search title,url,img>>>>>>>>>>>>>>>" + title + ",[" + burl + "], " + img); + if (searchObj.quick === true){ + title = KEY; + } + d.push({ + title:title, + img:img, + content:content, + desc:desc, + url:'push://'+burl + }); + } + } + } +} +setResult(d); +`, +} diff --git a/js/mp4us.js b/js/mp4us.js new file mode 100644 index 0000000..92a1d67 --- /dev/null +++ b/js/mp4us.js @@ -0,0 +1,178 @@ +var rule = { + title:'MP4电影[磁]', + host:'https://www.mp4us.com', + homeUrl: '/', + url: '/list/fyclass-fypage.html?', + filter_url:'{{fl.class}}', + filter:{ + }, + searchUrl: '/search/**-1.html', + searchable:2, + quickSearch:0, + filterable:0, + headers:{ + 'User-Agent': 'PC_UA', + 'Cookie':'' + }, + timeout:5000, + class_name: '动作片&科幻片&爱情片&喜剧片&恐怖片&战争片&剧情片&纪录片&动画片&电视剧', + class_url: '1&2&3&4&5&6&7&8&9&10', + play_parse:true, + play_json:[{ + re:'*', + json:{ + parse:0, + jx:0 + } + }], + lazy:'', + limit:6, + 推荐:'div.index_update ul li;a&&Text;;b&&Text;a&&href', + 一级:'div#list_all ul li;img.lazy&&alt;img.lazy&&data-original;span.update_time&&Text;a&&href', + 二级:{ + title:"div.article-header h1&&Text", + img:"div.article-header div.pic img&&src", + desc:'div.article-header div.text&&Text', + content:'div.article-related.info p&&Text', + tabs:`js: +pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd; +TABS=[] +let d = pdfa(html, 'ul.down-list&&li a'); +let tabsa = []; +let tabsq = []; +let tabsm = false; +let tabse = false; +d.forEach(function(it) { + let burl = pdfh(it, 'a&&href'); + if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){ + tabsa.push("阿里雲盤"); + }else if (burl.startsWith("https://pan.quark.cn/s/")){ + tabsq.push("夸克網盤"); + }else if (burl.startsWith("magnet")){ + tabsm = true; + }else if (burl.startsWith("ed2k")){ + tabse = true; + } +}); +if (tabsm === true){ + TABS.push("磁力"); +} +if (tabse === true){ + TABS.push("電驢"); +} +if (false && tabsa.length + tabsq.length > 1){ + TABS.push("選擇右側綫路"); +} +let tmpIndex; +tmpIndex=1; +tabsa.forEach(function(it){ + TABS.push(it + tmpIndex); + tmpIndex = tmpIndex + 1; +}); +tmpIndex=1; +tabsq.forEach(function(it){ + TABS.push(it + tmpIndex); + tmpIndex = tmpIndex + 1; +}); +log('mp4us TABS >>>>>>>>>>>>>>>>>>' + TABS); +`, + lists:`js: +log(TABS); +pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd; +LISTS = []; +let d = pdfa(html, 'ul.down-list&&li a'); +let lista = []; +let listq = []; +let listm = []; +let liste = []; +d.forEach(function(it){ + let burl = pdfh(it, 'a&&href'); + let title = pdfh(it, 'a&&Text'); + log('dygang title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title); + log('dygang burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl); + let loopresult = title + '$' + burl; + if (burl.startsWith("https://www.aliyundrive.com/s/") || burl.startsWith("https://www.alipan.com/s/")){ + if (true){ + if (TABS.length==1){ + burl = "http://127.0.0.1:9978/proxy?do=ali&type=push&confirm=0&url=" + encodeURIComponent(burl); + }else{ + burl = "http://127.0.0.1:9978/proxy?do=ali&type=push&url=" + encodeURIComponent(burl); + } + }else{ + burl = "push://" + burl; + } + loopresult = title + '$' + burl; + lista.push(loopresult); + }else if (burl.startsWith("https://pan.quark.cn/s/")){ + if (true){ + if (TABS.length==1){ + burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&confirm=0&url=" + encodeURIComponent(burl); + }else{ + burl = "http://127.0.0.1:9978/proxy?do=quark&type=push&url=" + encodeURIComponent(burl); + } + }else{ + burl = "push://" + burl; + } + loopresult = title + '$' + burl; + listq.push(loopresult); + }else if (burl.startsWith("magnet")){ + listm.push(loopresult); + }else if (burl.startsWith("ed2k")){ + liste.push(loopresult); + } +}); +if (listm.length>0){ + LISTS.push(listm.reverse()); +} +if (liste.length>0){ + LISTS.push(liste.reverse()); +} +if (false && lista.length + listq.length > 1){ + LISTS.push(["選擇右側綫路,或3秒後自動跳過$http://127.0.0.1:10079/delay/"]); +} +lista.forEach(function(it){ + LISTS.push([it]); +}); +listq.forEach(function(it){ + LISTS.push([it]); +}); +`, + + }, + 搜索:`js: +pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd; +if (rule_fetch_params.headers.Cookie.startsWith("http")){ + rule_fetch_params.headers.Cookie=fetch(rule_fetch_params.headers.Cookie); + let cookie = rule_fetch_params.headers.Cookie; + setItem(RULE_CK, cookie); +}; +log('mp4us seach cookie>>>>>>>>>>>>>' + rule_fetch_params.headers.Cookie); +let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); +//log("mp4us search params>>>>>>>>>>>>>>>" + JSON.stringify(_fetch_params)); +let search_html = request( HOST + '/search/' + encodeURIComponent(KEY) + '-1.html', _fetch_params) +//log("mp4us search result>>>>>>>>>>>>>>>" + search_html); +let d=[]; +//'div#list_all li;img.lazy&&alt;img.lazy&&src;div.text_info h2&&Text;a&&href;p.info&&Text', +let dlist = pdfa(search_html, 'div#list_all li'); +dlist.forEach(function(it){ + let title = pdfh(it, 'img.lazy&&alt'); + if (title.includes(KEY)){ + if (searchObj.quick === true){ + title = KEY; + } + let img = pd(it, 'img.lazy&&src', HOST); + let content = pdfh(it, 'div.text_info h2&&Text'); + let desc = pdfh(it, 'p.info&&Text'); + let url = pd(it, 'a&&href', HOST); + d.push({ + title:title, + img:img, + content:content, + desc:desc, + url:url + }) + } +}); +setResult(d); +`, +}