diff --git a/js/4khdr.js b/js/4khdr.js new file mode 100644 index 0000000..2c1da8f --- /dev/null +++ b/js/4khdr.js @@ -0,0 +1,158 @@ +var rule = { + title:'4KHDR[磁]', + host:'https://www.4khdr.cn', + homeUrl: "/forum.php?mod=forumdisplay&fid=2&page=1", + url: '/forum.php?mod=forumdisplay&fid=2&filter=typeid&typeid=fyclass&page=fypage', + filter_url:'{{fl.class}}', + filter:{ + }, + searchUrl: '/search.php#searchsubmit=yes&srchtxt=**;post', + searchable:2, + quickSearch:1, + filterable:0, + headers:{ + 'User-Agent': 'PC_UA', + 'Cookie':'http://127.0.0.1:9978/file:///tvbox/JS/lib/4khdr.txt', + }, + timeout:5000, + class_name: "4K电影&4K美剧&4K华语&4K动画&4K纪录片&4K日韩印&蓝光电影&蓝光美剧&蓝光华语&蓝光动画&蓝光日韩印", + class_url:"3&8&15&6&11&4&29&31&33&32&34", + play_parse:true, + play_json:[{ + re:'*', + json:{ + parse:0, + jx:0 + } + }], + lazy:'', + limit:6, + 推荐:'ul#waterfall li;a&&title;img&&src;div.auth.cl&&Text;a&&href', + 一级:'ul#waterfall li;a&&title;img&&src;div.auth.cl&&Text;a&&href', + 二级:{ + title:"#thead_subject&&Text", + img:"img.zoom&&src", + desc:'td[id^="postmessage_"] font&&Text', + content:'td[id^="postmessage_"] font&&Text', + tabs:`js: +pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd; +TABS=[] +// log("4khdr 二级 html>>>>>>>>>>" + html); +var d = pdfa(html, 'table.t_table'); +let magnetIndex=0; +let aliIndex=0; +d.forEach(function(it) { +let burl = pdfh(it, 'a&&href'); +log("burl >>>>>>" + burl); +if (burl.startsWith("https://www.aliyundrive.com/s/")){ + let result = 'aliyun' + aliIndex; + aliIndex = aliIndex + 1; + TABS.push(result); +} +}); +d.forEach(function(it) { +let burl = pdfh(it, 'a&&href'); +log("burl >>>>>>" + burl); +if (burl.startsWith("magnet")){ + let result = 'magnet' + magnetIndex; + magnetIndex = magnetIndex + 1; + TABS.push(result); +} +}); +log('4khdr TABS >>>>>>>>>>>>>>>>>>' + TABS); +`, + lists:`js: +log(TABS); +pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd; +LISTS = []; +var d = pdfa(html, 'table.t_table'); +TABS.forEach(function(tab) { +log('tab >>>>>>>>' + tab); +if (/^aliyun/.test(tab)) { + let targetindex = parseInt(tab.substring(6)); + let index = 0; + d.forEach(function(it){ + let burl = pdfh(it, 'a&&href'); + if (burl.startsWith("https://www.aliyundrive.com/s/")){ + if (index == targetindex){ + let title = pdfh(it, 'a&&Text'); + log('title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title); + burl = "http://127.0.0.1:9978/proxy?do=ali&type=push&url=" + encodeURIComponent(burl); + log('burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl); + let loopresult = title + '$' + burl; + LISTS.push([loopresult]); + } + index = index + 1; + } + }); +} +}); +TABS.forEach(function(tab) { +log('tab >>>>>>>>' + tab); +if (/^magnet/.test(tab)) { + let targetindex = parseInt(tab.substring(6)); + let index = 0; + d.forEach(function(it){ + let burl = pdfh(it, 'a&&href'); + if (burl.startsWith("magnet")){ + if (index == targetindex){ + let title = pdfh(it, 'a&&Text'); + log('title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title); + log('burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl); + let loopresult = title + '$' + burl; + LISTS.push([loopresult]); + } + index = index + 1; + } + }); +} +}); +`, + + }, + 一级:'ul#waterfall li;a&&title;img&&src;div.auth.cl&&Text;a&&href', + 搜索:`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('4khdr search cookie>>>>>>>>>>>>>>>' + rule_fetch_params.headers.Cookie); +let new_host= HOST + '/search.php'; +let new_html=request(new_host); +let formhash = pdfh(new_html, 'input[name="formhash"]&&value'); +log("4khdr formhash>>>>>>>>>>>>>>>" + formhash); +let params = 'formhash=' + formhash + '&searchsubmit=yes&srchtxt=' + KEY; +let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); +let postData = { + body: params +}; +Object.assign(_fetch_params, postData); +log("4khdr search postData>>>>>>>>>>>>>>>" + JSON.stringify(_fetch_params)); +let search_html = post( HOST + '/search.php', _fetch_params) +//log("4khdr search result>>>>>>>>>>>>>>>" + search_html); +let d=[]; +let dlist = pdfa(search_html, 'div#threadlist ul li'); +dlist.forEach(function(it){ + let title = pdfh(it, 'h3&&Text'); + if (searchObj.quick === true){ + if (title.includes(KEY)){ + title = KEY; + } + } + let img = ""; + let content = pdfh(it, 'p:eq(3)&&Text'); + let desc = pdfh(it, 'p:eq(2)&&Text'); + let url = pd(it, 'a&&href', HOST); + d.push({ + title:title, + img:img, + content:content, + desc:desc, + url:url + }) +}); +setResult(d); + `, +} diff --git a/js/dygang.js b/js/dygang.js new file mode 100644 index 0000000..afdc651 --- /dev/null +++ b/js/dygang.js @@ -0,0 +1,88 @@ +var rule = { + title:'电影港[磁]', + 编码:'gb2312', + 搜索编码:'gb2312', + host:'https://www.dygang.tv', + homeUrl:'/', + url: '/fyclass/index_fypage.htm?', + filter_url:'{{fl.class}}', + filter:{ + }, + searchUrl: '/e/search/index.php#tbname=article&show=title%2Csmalltext&tempid=1&Submit=%CB%D1%CB%F7&keyboard=**;post', + searchable:2, + quickSearch:0, + filterable:0, + headers:{ + 'User-Agent': 'PC_UA' + }, + timeout:5000, + class_name:'最新电影&经典高清&国配电影&经典港片&国剧&日韩剧&美剧&综艺&动漫&纪录片&高清原盘&4K高清区&3D电影&电影专题', + class_url:'ys&bd&gy&gp&dsj&dsj1&yx&zy&dmq&jilupian&1080p&4K&3d&dyzt', + play_parse:false, + lazy:'', + limit:6, + 推荐:'div#tl table.border1;img&&alt;img&&src;;a&&href', + 一级:'table.border1;img&&alt;img&&src;;a&&href', + 二级:{ + title:"div.title a&&Text", + img:"#dede_content img&&src", + desc:"#dede_content p:eq(3)&&Text", + content:"#dede_content p:eq(2)&&Text", + tabs:`js: + pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd; + TABS=[] + var d = pdfa(html, '#dede_content&&a'); + var index=0; + d.forEach(function(it) { + let burl = pdfh(it, 'a&&href'); + log("burl >>>>>>" + burl); + if (burl.startsWith("magnet")){ + let result = 'magnet' + index; + index = index + 1; + TABS.push(result); + } + }); + log('TABS >>>>>>>>>>>>>>>>>>' + TABS); + `, + lists:`js: + log(TABS); + pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd; + LISTS = []; + var d = pdfa(html, '#dede_content&&a'); + TABS.forEach(function(tab) { + log('tab >>>>>>>>' + tab); + if (/^magnet/.test(tab)) { + let targetindex = parseInt(tab.substring(6)); + let index = 0; + d.forEach(function(it){ + let burl = pdfh(it, 'a&&href'); + if (burl.startsWith("magnet")){ + if (index == targetindex){ + let title = pdfh(it, 'a&&Text'); + log('title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title); + log('burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl); + let loopresult = title + '$' + burl; + LISTS.push([loopresult]); + } + index = index + 1; + } + }); + } + }); + `, + + }, + 搜索:'table.border1;img&&alt;img&&src;img&&alt;a&&href;img&&alt', + 预处理:` + let new_host=HOST+'/'; + let new_html=request(new_host, {withHeaders:true}); + let json=JSON.parse(new_html); + let setCk=Object.keys(json).find(it=>it.toLowerCase()==="set-cookie"); + let cookie=setCk?json[setCk].split(";")[0]:""; + log("dygang cookie:"+cookie); + if (cookie !== ""){ + rule_fetch_params.headers.Cookie=cookie; + setItem(RULE_CK,cookie); + } + `, +} diff --git a/js/jiyingw.js b/js/jiyingw.js new file mode 100644 index 0000000..259efa9 --- /dev/null +++ b/js/jiyingw.js @@ -0,0 +1,108 @@ +var rule = { + title:'极影网[磁]', + host:'https://www.jiyingw.net', + homeUrl:'/', + url: '/fyclass/page/fypage?', + filter_url:'{{fl.class}}', + filter:{ + "movie":[{"key":"class","name":"标签","value":[{"n":"全部","v":"movie"},{"n":"4k","v":"tag/4k"}, {"n":"人性","v":"tag/人性"}, {"n":"传记","v":"tag/chuanji"}, {"n":"儿童","v":"tag/儿童"}, {"n":"冒险","v":"tag/adventure"}, {"n":"剧情","v":"tag/剧情"}, {"n":"加拿大","v":"tag/加拿大"}, {"n":"动作","v":"tag/dongzuo"}, {"n":"动漫","v":"tag/动漫"}, {"n":"励志","v":"tag/励志"}, {"n":"历史","v":"tag/history"}, {"n":"古装","v":"tag/古装"}, {"n":"同性","v":"tag/gay"}, {"n":"喜剧","v":"tag/comedy"}, {"n":"国剧","v":"tag/国剧"}, {"n":"奇幻","v":"tag/qihuan"}, {"n":"女性","v":"tag/女性"}, {"n":"家庭","v":"tag/family"}, {"n":"德国","v":"tag/德国"}, {"n":"恐怖","v":"tag/kongbu"}, {"n":"悬疑","v":"tag/xuanyi"}, {"n":"惊悚","v":"tag/jingsong"}, {"n":"意大利","v":"tag/意大利"}, {"n":"战争","v":"tag/zhanzheng"}, {"n":"战斗","v":"tag/战斗"}, {"n":"搞笑","v":"tag/搞笑"}, {"n":"故事","v":"tag/故事"}, {"n":"文艺","v":"tag/文艺"}, {"n":"日常","v":"tag/日常"}, {"n":"日本","v":"tag/日本"}, {"n":"日语","v":"tag/日语"}, {"n":"校园","v":"tag/校园"}, {"n":"武侠","v":"tag/wuxia"}, {"n":"法国","v":"tag/法国"}, {"n":"游戏","v":"tag/游戏"}, {"n":"灾难","v":"tag/zainan"}, {"n":"爱情","v":"tag/爱情"}, {"n":"犯罪","v":"tag/crime"}, {"n":"真人秀","v":"tag/zhenrenxiu"}, {"n":"短片","v":"tag/duanpian"}, {"n":"科幻","v":"tag/kehuan"}, {"n":"纪录","v":"tag/jilu"}, {"n":"美剧","v":"tag/meiju"}, {"n":"舞台","v":"tag/stage"}, {"n":"西部","v":"tag/xibu"}, {"n":"运动","v":"tag/yundong"}, {"n":"韩剧","v":"tag/韩剧"}, {"n":"韩国","v":"tag/韩国"}, {"n":"音乐","v":"tag/yinyue"}, {"n":"高清电影","v":"tag/高清电影"}]}] + }, + searchUrl: '/?s=**', + searchable:2, + quickSearch:0, + filterable:1, + headers:{ + 'User-Agent': 'PC_UA', + 'Referer': 'https://www.jiyingw.net/' + }, + timeout:5000, + class_name:'电影&电视剧&动漫&综艺&影评', + class_url:'movie&tv&cartoon&movie/variety&yingping', + play_parse:true, + play_json:[{ + re:'*', + json:{ + parse:0, + jx:0 + } + }], + lazy:'', + limit:6, + 推荐:'ul#post_container li;a&&title;img&&src;.article entry_post&&Text;a&&href', + 一级:'ul#post_container li;a&&title;img&&src;.article entry_post&&Text;a&&href', + 二级:{ + title:"h1&&Text", + img:"#post_content img&&src", + desc:"#post_content&&Text", + content:".movie-introduce&&Text", + tabs:`js: +pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd; +TABS=[] +var d = pdfa(html, '.movie-introduce p'); +var index=1; +d.forEach(function(it) { + let burl = pdfh(it, 'a[href^="magnet"]&&href'); + if (burl.startsWith("magnet")){ + log("jiyingw burl >>>>>>" + burl); + let result = 'magnet' + index; + index = index + 1; + TABS.push(result); + } +}); +log('jiyingw TABS >>>>>>>>>>>>>>>>>>' + TABS); +`, + lists:`js: +log(TABS); +pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd; +LISTS = []; +var d = pdfa(html, '.movie-introduce p'); +TABS.forEach(function(tab) { +log('jiyingw tab >>>>>>>>' + tab); +if (/^magnet/.test(tab)) { + let targetindex = parseInt(tab.substring(6)); + let index = 1; + d.forEach(function(it){ + let burl = pdfh(it, 'a[href^="magnet"]&&href'); + if (burl.startsWith("magnet")){ + if (index == targetindex){ + let title = pdfh(it, 'a[href^="magnet"]&&Text'); + log('jiyingw title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title); + log('jiyingw burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl); + let loopresult = title + '$' + burl; + LISTS.push([loopresult]); + } + index = index + 1; + } + }); +} +}); +`, + + }, + 搜索:`js: +pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd; +let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); +let search_html=request(HOST + '/?s=' + KEY, _fetch_params); +let d=[]; +let dlist = pdfa(search_html, 'h2'); +log("jiyingw dlist.length>>>>>>>"+dlist.length); +dlist.forEach(function(it){ + let title = pdfh(it, 'a&&title'); + //if (searchObj.quick === true){ + // title = KEY; + //} + let img = ''; + let content = title; + let desc = title; + let url = pd(it, 'a&&href', HOST); + d.push({ + title:title, + img:img, + content:content, + desc:desc, + url:url + }) +}); +setResult(d); +`, +} diff --git a/js/mp4us.js b/js/mp4us.js new file mode 100644 index 0000000..60d2570 --- /dev/null +++ b/js/mp4us.js @@ -0,0 +1,147 @@ +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=[] +var d = pdfa(html, 'ul.down-list&&li'); +let magnetIndex=0; +let ed2kIndex=0; +d.forEach(function(it) { + let burl = pdfh(it, 'a&&href'); + log("burl >>>>>>" + burl); + if (burl.startsWith("magnet")){ + let result = 'magnet' + magnetIndex; + magnetIndex = magnetIndex + 1; + TABS.push(result); + } +}); +d.forEach(function(it) { + let burl = pdfh(it, 'a&&href'); + log("burl >>>>>>" + burl); + if (burl.startsWith("ed2k")){ + let result = 'ed2k' + ed2kIndex; + ed2kIndex = ed2kIndex + 1; + TABS.push(result); + } +}); +log('TABS >>>>>>>>>>>>>>>>>>' + TABS); +`, + lists:`js: +log(TABS); +pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd; +LISTS = []; +var d = pdfa(html, 'ul.down-list&&li'); +TABS.forEach(function(tab) { + log('tab >>>>>>>>' + tab); + if (/^magnet/.test(tab)) { + let targetindex = parseInt(tab.substring(6)); + let index = 0; + d.forEach(function(it){ + let burl = pdfh(it, 'a&&href'); + if (burl.startsWith("magnet")){ + if (index == targetindex){ + let title = pdfh(it, 'a&&Text'); + log('title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title); + log('burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl); + let loopresult = title + '$' + burl; + LISTS.push([loopresult]); + } + index = index + 1; + } + }); + } +}); +TABS.forEach(function(tab) { + log('tab >>>>>>>>' + tab); + if (/^ed2k/.test(tab)) { + let targetindex = parseInt(tab.substring(4)); + let index = 0; + d.forEach(function(it){ + let burl = pdfh(it, 'a&&href'); + if (burl.startsWith("ed2k")){ + if (index == targetindex){ + let title = pdfh(it, 'a&&Text'); + log('title >>>>>>>>>>>>>>>>>>>>>>>>>>' + title); + log('burl >>>>>>>>>>>>>>>>>>>>>>>>>>' + burl); + let loopresult = title + '$' + burl; + LISTS.push([loopresult]); + } + index = index + 1; + } + }); + } +}); +`, + + }, + 搜索:`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/' + 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 (searchObj.quick === true){ + if (title.includes(KEY)){ + 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); +`, +}