[{"last_chapter_rule":"","title":"酷短剧","author":"Thomas喲","version":0,"type":"video","url":"http://wapi.kuwo.cn/openapi/v1/shortplay/moduleMore?currentPage=fypage&moduleId=fyAll&rn=12","col_type":"movie_3","class_name":"猜你想看&土味爱情&更多精彩&霸道总裁的人生&赘婿当道&漫漫追妻路&家庭情感","class_url":"10&11&12&13&14&15&16","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nd = [];\nJSON.parse(getResCode()).data.list.map(_ => {\n d.push({\n title: _.title,\n desc: _.currrentDesc,\n img: _.img,\n url: \"http://wapi.kuwo.cn/openapi/v1/shortplay/videoList?albumId=\" + _.url + $(\"\").rule(() => {\n d = [];\n JSON.parse(getResCode()).data.list.map(_ => {\n t = _.duration;\n s = t % 60;\n m = (t - s) / 60;\n desc = '🔥 ' + _.listencnt + '\\n📼 0' + m + ':' + s;\n d.push({\n title: _.name,\n desc: desc,\n img: _.img,\n url: \"http://nmobi.kuwo.cn/mobi.s?f=web&type=get_url_by_vid&vid=\" + _.mvpayinfo.vid + $(\"\").lazyRule(() => {\n res = String(fetch(input));\n return res.split('url=')[1].split(/\\s*\\n/)[0];\n }),\n col_type: 'movie_1_vertical_pic'\n });\n });\n setResult(d);\n })\n });\n});\nsetResult(d);","searchFind":"","search_url":"","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"","pages":"[]","proxy":"","icon":"https://ghproxy.com/https://raw.githubusercontent.com/ls125781003/lmtubiao/main/music/82.svg"},{"last_chapter_rule":"","title":"短剧迷","author":"","version":0,"type":"video","url":"hiker://empty##https://www.cchsxk.com/ju/fyclass-fypage.html","col_type":"movie_3","class_name":"短剧&快手短剧&抖音短剧","class_url":"31&29&30","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = []\naddListener(\"onClose\", $.toString(() => {\n let keys = listMyVarKeys();\n for (let it of keys) {\n clearMyVar(it);\n }\n}));\n\n//动态分类\n\nconst 大类定位 = 'body&&.item';\nconst 拼接分类 = '';\nconst 小类定位 = 'body&&a:not(:matches(首页|预告|留言|APP|口碑|优惠|女性|美容|服饰|顶部|专题|演员))';\n\n\n//翻页\nconst page = MY_PAGE;\nconst 下一页 = \"pd(html, 'a:matches(下一页)&&href')\";\nconst 状态标记 = MY_RULE.url;\nMY_URL = MY_URL.replace('hiker://empty##', '');\nlet true_url = getMyVar(MY_RULE.url, MY_URL)\ntrue_url=true_url.replace('fypage',page).replace(/typehtml\\/(\\d+).*/,'show/-----------/id/$1.html');\nvar html = request(true_url)\neval(JSON.parse(request('hiker://page/method', {})).rule)\ncreateNextPage();\n//eval(JSON.parse(request('hiker://page/dtfl')).rule);\n\n//页面内容填充\nvar 一级列表 = 'body&&li[class*=\"p1\"]'\nvar 一级标题 = 'a&&title'\nvar 一级描述1 = '.sb-list-score&&Text'\nvar 一级描述2 = '.info&&Text'\nvar 一级图片 = 'img&&data-original'\nvar 一级链接 = 'a&&href'\neval(JSON.parse(fetch('hiker://page/PrimaryTemplate', {})).rule);\nsetHomeResult(d)","searchFind":"js:\nvar d = [];\nvar html = getResCode();\nvar list = pdfa(html,'body&&li[class*=\"p1\"]');\nfor (var j in list) {\n  d.push({\n     title: pdfh(list[j], 'a&&title'),\n     desc:pdfh(list[j], '.sb-list-score&&Text'),\n     pic_url: pd(list[j], 'img&&data-original')+ '@Referer=',\n     url: pd(list[j], 'a&&href'),\n  });\n}\nsetResult(d);","search_url":"https://www.cchsxk.com/search.php?page=fypage&searchword=**&searchtype=","group":"⑧短剧","detail_col_type":"movie_3","detail_find_rule":"js:\nvar d = [];\nvar html = getResCode();\nvar lazy = $('').lazyRule(() => {\n return \"video://\"+input\n})\nvar Color = \"#19B89D\";\n\nvar tabs = parseDomForArray(html, '.playfrom&&li'); //线路\nvar conts = parseDomForArray(html, 'body&&.videourl'); //选集\nvar des_pic = parseDom(html, '.lazy&&data-original') + '@Referer=';\ntry {\n var des_desc = parseDomForHtml(html, '.ee&&Text').replace('……', '。').replace(' ', '').replace('展开', '').replace('收起', '').replace('详情:', '').replace('[收起部分]', '').replace('©豆瓣', '').replace('介绍:', '');\n var des_title = parseDomForHtml(html, 'dt,3&&Text').replace(':', ': ').substring(0, 15) + '\\n' + parseDomForHtml(html, 'dt,1&&Text').replace(':', ': ').substring(0, 15) + '\\n' + parseDomForHtml(html, 'dt,2&&Text').replace(':', ': ').substring(0, 15);\n\n d.push({\n title: des_title,\n desc: pdfh(html, 'dl&&dd&&Text').replace('地区:', ''),\n pic_url: des_pic,\n url: MY_URL,\n col_type: 'movie_1_vertical_pic'\n });\n d.push({\n title: '‘‘’’简介:' + des_desc.substr(0, 50) + '...',\n url: 'hiker://empty#' + '\\n' + des_desc + `@rule=js:var res = {}; var d = [];d.push({title:'影片简介:'+ MY_URL.split('hiker://empty#')[1],col_type: 'long_text'});res.data = d; setHomeResult(res);`,\n col_type: 'text_1'\n });\n} catch (e) {\n var des_desc = parseDomForHtml(html, '.ee&&div&&Text');\n\n d.push({\n title: '共有' + tabs.length + '条线路',\n desc: des_desc,\n pic_url: des_pic,\n url: MY_URL,\n col_type: 'pic_1_card'\n });\n}\n\nfor (var i = 0; i < conts.length; i++) {\n var icon_s = 'http://43.140.249.219/weisyr/icon/';\n if (getVar('shsort', '1') == '1') {\n var list = parseDomForArray(conts[i], 'ul&&li');\n var avatar = icon_s + '反序.svg'\n } else {\n var list = parseDomForArray(conts[i], 'ul&&li').reverse();\n var avatar = icon_s + '正序.svg'\n } //正逆序排序判断\n var line = parseDomForHtml(tabs[i], 'li&&Text');\n //线路名称及替换\n var num = '' + (i + 1) + '/' + conts.length + '';\n if (list != null) {\n d.push({\n title: line + '\\t\\t' + num.sup().fontcolor(Color),\n url: \"hiker://empty@lazyRule=.js:putVar('shsort', getVar('shsort','1')=='1'?'0':'1');refreshPage();'hiker://empty'\",\n col_type: 'avatar',\n img: avatar\n });\n //输出线路信息\n\n for (var j = 0; j < list.length; j++) {\n var jm = parseDomForHtml(list[j], 'a&&Text').replace(/第|集|话|期/g, '').replace(/预告/g, '');\n var url = parseDom(list[j], 'a&&href') + lazy;\n if (list[j].length < 5) {\n var col = 'text_2'\n } else {\n var col = jm.length > 5 ? 'text_2' : 'text_4'\n }\n d.push({\n title: jm,\n url: url,\n col_type: col,\n extra: {\n id: url\n }\n }); //输出选集\n }\n }\n}\nsetResult(d)","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"一级动态分类\",\"path\":\"dtfl\",\"rule\":\"\\n/*\\nVer 2023-5-30 改 模板M\\n备注:不要用海阔代码格式化 内容会出错\\n必须参数:\\n分类颜色 大类定位 \\n小类定位 分类标题 分类链接\\nhtml =>源码 page =>页码\\n可选参数:\\n拼接分类 折叠标记 展开标记 排除\\n大类链接 大类标题 清除键 开启折叠\\n附加定位\\n说明:\\n外面用getMyVar(MY_RULE.url) 或者 状态 取链接\\n魔改:α\\n*/\\n\\n\\nvar getRangeColors = function() {       \\n return '#' + ('00000' + (Math.random() * 0x1000000 << 0).toString(16)).substr(-6);     \\n}\\nconst 分类颜色 = getRangeColors()\\nvar 搜索按钮 = 'Search'\\nvar 动态收缩 = '⋁'\\nvar 动态展开 = '⋀'\\nconst 分类标题 = 'a&&Text';\\nconst 分类链接 = 'a&&href';\\nconst 开启搜索 = true;\\n\\n\\n\\nlet empty  = \\\"hiker://empty\\\";\\r\\nlet categories = [];\\r\\nif (typeof(拼接分类) != 'undefined' && 拼接分类 != ''){    \\r\\n categories = [pdfa(html,  大类定位).join('\\\\n')].concat(pdfa(html,  拼接分类));\\n if(typeof(附加定位)!='undefined' && 附加定位.length>0){\\n 附加定位.forEach(x=>{\\n var 一级=pdfa(html,x.一级定位).map(s=>{\\n var 定位=pdfa(s,x.小类).map(q=>{\\n var title=pdfh(q,x.标题);\\n var url='a'\\n if(x.链接.includes('@@')){\\n state=x.链接.split('@@')[0]\\n value=pdfh(q,x.链接.split('@@')[1]);\\n return `${title}`;\\n }else{\\n href=pd(q,x.链接);\\n return `${title}`;\\n }\\n \\n });\\n return 定位;\\n });\\n categories.push(一级.join('\\\\n'));\\n });\\n }\\r\\n} else {     \\r\\n categories = pdfa(html,  大类定位);\\r\\n}\\r\\nlet init_cate = new Array(20).fill(\\\"0\\\");\\r\\nconst fold = getMyVar(MY_RULE.group, \\\"0\\\");\\r\\nconst cate_temp = JSON.parse(getMyVar(\\\"head.cate\\\", JSON.stringify(init_cate)));\\nvar 折叠状态=(typeof(开启折叠) != 'undefined')?开启折叠:true;\\r\\nvar 折叠=(typeof(折叠标记) != 'undefined' && 折叠标记 != '')?折叠标记:\\\"““””\\\" + 动态收缩 + \\\"\\\";\\nvar 展开=(typeof(展开标记) != 'undefined' && 展开标记 != '')?展开标记:\\\"““””\\\" + 动态展开 + \\\"\\\";\\nvar 清除=(typeof(清除键) != 'undefined' && 清除键 != '')?清除键:[];\\nvar 状态=(typeof(状态标记) != 'undefined' && 状态标记 != '')?状态标记:MY_RULE.url;\\nvar 大类处理=typeof(一级分类处理)=='function'?true:false;\\nvar 搜索=typeof(开启搜索)!='undefined'?开启搜索:false;\\n\\r\\nif (parseInt(page) === 1) {\\n if(搜索){\\n d.push({\\n title: 搜索按钮,\\n url: \\\"'hiker://search?rule=\\\" + MY_RULE.title + \\\"&s='+input\\\",\\n desc: \\\"网页无搜索\\\",\\n col_type: \\\"input\\\",\\n extra: {\\n defaultValue: getMyVar('keyword', ''),\\n onChange: $.toString(() => {\\n putMyVar('keyword', input);\\n })\\n }\\n })\\n }\\n if(折叠状态){\\r\\n     d.push({\\r\\n        title: fold === '1' ?  折叠 : 展开,\\r\\n        url: $().lazyRule((fold) => {\\r\\n            putMyVar(MY_RULE.group, fold === '1' ? '0' : '1');\\r\\n            refreshPage(false);\\r\\n            return \\\"hiker://empty\\\";\\r\\n        }, fold),\\r\\n        //col_type: 'scroll_button',\\n extra:{\\n longClick:[{\\n title:'清除状态',\\n js:$.toString((x)=>{\\n clearMyVar(x);\\n refreshPage();\\n },状态)\\n }]\\n }\\r\\n     })\\n }\\r\\n let setTitle=(k,i,t)=>{ \\n return k==i?\\\"““””\\\" +t.fontcolor(分类颜色):t\\r\\n }\\r\\n    categories.forEach((category, index) => {\\r\\n        let sub_categories = pdfa(category, 小类定位);\\r\\n        if (index === 0) {\\r\\n            sub_categories.forEach((item, key) => {\\n let _大类链接=(typeof(大类链接) != 'undefined' && 大类链接 != '')?大类链接:分类链接;\\n \\r\\n let _大类标题=(typeof(大类标题) != 'undefined' && 大类标题 != '')?大类标题:分类标题; \\n \\r\\n                let title = pdfh(item, _大类标题);\\r\\n                if (typeof(排除) != 'undefined' && 排除 != '') {\\r\\n                    title = title.replace(new RegExp(排除, \\\"g\\\"), \\\"\\\");\\r\\n                }\\n let params={\\r\\n                        cate_temp: cate_temp,key: key,page: page,clears:清除,state:状态\\r\\n                } \\n \\n let url=pd(item, _大类链接);\\n if(大类处理){\\n url=一级分类处理(url)\\n }\\n //log(url)\\n                d.push({ \\r\\n                    title: setTitle(key.toString(),cate_temp[index],title),\\n col_type: 'scroll_button',\\r\\n                    url: $(url + '#noLoading#').lazyRule((params) => {\\r\\n                        let new_cate = [];\\n params.clears.forEach((item)=>{ \\n clearMyVar(item)\\n })\\n \\r\\n                        params.cate_temp.forEach((cate, index) => {\\r\\n                            new_cate.push(index === 0 ? params.key.toString() : \\\"0\\\")\\r\\n                        })\\r\\n                        putMyVar(\\\"head.cate\\\", JSON.stringify(new_cate));\\r\\n                        putMyVar(params.state, input);\\r\\n                        refreshPage(true);\\r\\n                        return \\\"hiker://empty\\\";\\r\\n                    },params)\\r\\n                });\\r\\n            });\\r\\n            d.push({\\r\\n                col_type: \\\"blank_block\\\",\\r\\n            })\\r\\n        } else if (fold === '1'||折叠状态==false) {\\r\\n            sub_categories.forEach((item, key) => {\\n var extrapos=false;\\n if(item.includes('type=\\\"@extra\\\"')){\\n extrapos=true;\\n //log('附加定位')\\n } \\n \\n if(extrapos){\\n var title = pdfh(item, 'a&&Text');\\r\\n                if (typeof(排除) != 'undefined' && 排除 != '') {\\r\\n                    title = title.replace(new RegExp(排除, \\\"g\\\"), \\\"\\\");\\r\\n                 }\\n var json={\\n type:pdfh(item,'a&&state'),\\n value:pdfh(item,'a&&value'),\\n }\\n }else{\\n \\r\\n                 var title = pdfh(item, 分类标题);\\r\\n                if (typeof(排除) != 'undefined' && 排除 != '') {\\r\\n                    title = title.replace(new RegExp(排除, \\\"g\\\"), \\\"\\\");\\r\\n                }\\n var json=分类链接.includes('@@@')?{\\n type:pdfh(item,分类链接.split('@@@')[0]),\\n value:pdfh(item,分类链接.split('@@@')[1]),\\n }:pd(item,分类链接);\\n \\n }\\n \\n let params= {\\r\\n                    cate_temp: cate_temp,index: index,key: key, page: page,json:json,state:状态\\r\\n                }\\r\\n                d.push({\\r\\n                    title: setTitle(key.toString(),cate_temp[index],title),\\r\\n                    url: $('hiker://empty' + '#noLoading#').lazyRule((params) => {\\r\\n                        params.cate_temp[params.index] = params.key.toString();\\r\\n                        putMyVar(\\\"head.cate\\\", JSON.stringify(params.cate_temp));\\n if(params.json.constructor === Object){\\n putMyVar(params.json.type,params.json.value);\\n }else{\\n putMyVar(params.state, params.json);\\n }   \\r\\n                        refreshPage(true);\\r\\n                        return \\\"hiker://empty\\\";\\r\\n                    },params),\\r\\n                    col_type: 'scroll_button',\\r\\n                });\\r\\n            });\\r\\n            d.push({\\r\\n                col_type: \\\"blank_block\\\",\\r\\n            });\\r\\n        }\\r\\n    })\\r\\n}\\n\\n\\nfunction getBackImage(imgurl){\\n return /url(?:\\\\s+)?\\\\((.*?)\\\\)/g.exec(imgurl)[1].replace(/('|\\\"|")/gm,'');\\n}\\n\"},{\"col_type\":\"movie_1_vertical_pic_blur\",\"name\":\"一级列表框架\",\"path\":\"PrimaryTemplate\",\"rule\":\"\\nlet list = pdfa(html, 一级列表);\\nfor (let j in list) {\\n var 标题 = parseDomForHtml(list[j], 一级标题);\\n var 描述1 = parseDomForHtml(list[j], 一级描述1).slice(-5).replace(':','');\\n var 描述2 = parseDomForHtml(list[j], 一级描述2).replace('新','').replace('第','').replace(/\\\\/.*/,'');\\n var 图片 = parseDom(list[j], 一级图片) + '@Referer=';\\n var 链接 = parseDom(list[j], 一级链接); \\n \\n d.push({\\n title: 标题,\\n desc: 描述1 + ' ' + 描述2,\\n img: 图片,\\n url: 链接, \\n col_type: 'movie_1_left_pic',\\n extra: {\\n img: 图片,\\n }\\n });\\n}\\n\"},{\"col_type\":\"movie_3\",\"name\":\"一级搜索框架\",\"path\":\"SearchFrame\",\"rule\":\"\\r\\nvar d = [];\\nvar html = getResCode()\\nlet list = parseDomForArray(html, 框架列表);\\nfor (let j in list) {\\n var 标题 = parseDomForHtml(list[j], 框架标题);\\n var 简介1 = parseDomForHtml(list[j], 框架简介1);\\n var 简介2 = parseDomForHtml(list[j], 框架简介2);\\n var 描述1 = parseDomForHtml(list[j], 框架描述1);\\n var 描述2 = parseDomForHtml(list[j], 框架描述2);\\n var 图片 = parseDom(list[j], 框架图片) + '@Referer=';\\n var 链接 = parseDom(list[j], 框架链接) + '#immersiveTheme#'; \\n \\n d.push({\\n title: 标题, \\n content: 简介1 + '\\\\n' + 简介2,\\n desc: 描述1 + ' ' + 描述2,\\n img: 图片,\\n url: 链接,\\n extra: {\\n img: 图片,\\n }\\n });\\n }\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"一级翻页方法\",\"path\":\"method\",\"rule\":\"js:\\n/*\\nVer 2023-5-25 1.3\\n*/\\n\\n//url解析\\nfunction urlParse(u) {\\n var dict = {}\\n dict.Source = u;\\n let params = (url) => {\\n let queryParams = {};\\n let reg = /([^?=&]+)=([^?=&]+)/g;\\n url.replace(reg, function() {\\n queryParams[arguments[1]] = arguments[2];\\n })\\n return queryParams\\n }\\n var javaUrl = JavaImporter(java.net.URL);\\n with(javaUrl) {\\n var url = new URL(u);\\n dict.Protocol = url.getProtocol();\\n dict.Host = url.getHost();\\n dict.Port = url.getPort();\\n dict.File = url.getFile();\\n dict.Path = url.getPath();\\n dict.Ref = url.getRef();\\n dict.Hosts = `${dict.Protocol}://${url.getHost()}`\\n }\\n dict.Params = params(u);\\n return dict;\\n}\\n\\n//对象转查询字符串\\nObject.ToParams = function() {\\n var json = arguments[0];\\n return Object.keys(json).map(key => key + '=' + json[key]).join('&');\\n}\\n\\n//判断两个对象是否相同\\nfunction isEqual(x, y) {\\n const ok = Object.keys,\\n tx = typeof x,\\n ty = typeof y;\\n return x && y && tx === 'object' && tx === ty ? (\\n ok(x).length === ok(y).length &&\\n ok(x).every(key => isEqual(x[key], y[key]))\\n ) : (x === y);\\n}\\n\\n\\n\\n//查询两个字符串不同处\\nfunction findDifferentIndex(str1, str2) {\\n const diffChars = [];\\n for (let i = 0; i < str2.length; i++) {\\n if (str1[i] !== str2[i]) {\\n diffChars.push({\\n index: i,\\n s1: str1[i],\\n s2: str2[i]\\n });\\n }\\n }\\n return diffChars;\\n}\\n\\n//替换字符串指定位置的字符串\\nfunction replaceCharAt(str, index, replacement) {\\n if (index < 0 || index >= str.length) {\\n return str;\\n }\\n //log(index)\\n const arr = str.split(\\\"\\\");\\n arr[index] = replacement;\\n return arr.join(\\\"\\\");\\n}\\n\\n//构建下一页\\n//参数1 源\\n//参数2 目标\\n//参数3 额外参数\\nfunction getNextUrl(source, target, params) {\\n var u1 = urlParse(source);\\n var u2 = urlParse(target);\\n var pa=undefined;\\n if(typeof(params)=='object'){\\n pa = params.hasOwnProperty('特征')?params.特征:undefined;\\n }\\n var nexturl = source;\\n var ca = Object.keys(u2.Params).length == 0 ? '' : '?';\\n if (pa != undefined) {\\n var rs = String(u2.Path).replace(new RegExp(pa), '$1fypage');\\n nexturl = u2.Hosts + rs + ca + Object.ToParams(u2.Params);\\n } else {\\n if (isEqual(u1.Params, u2.Params)) {\\n //log(u1.Path)\\n //log(u2.Path)\\n var df = findDifferentIndex(String(u1.Path), String(u2.Path));\\n //log(df)\\n if(df.length==1){\\n var re=df[0].index\\n }else{\\n var f=df.filter(x=>/\\\\d+/.test(x.s2));\\n var re=f[0].index;\\n }\\n var eq = replaceCharAt(String(u2.Path), re, 'fypage');\\n nexturl = u2.Hosts + eq + ca + Object.ToParams(u2.Params);\\n } else {\\n var eq = String(u1.Path).replace(/\\\\d+/, 'fypage');\\n nexturl = u1.Hosts + eq + ca+ Object.ToParams(u1.Params);\\n }\\n }\\n //log('next:'+nexturl)\\n return nexturl;\\n}\\n\\n//构建\\nfunction createNextPage() {\\n let startnum = 1;\\n var obj = arguments[0];\\n if (true_url != getMyVar('pageurl', '')) {\\n clearMyVar('pageurl');\\n }\\n if (page == startnum && getMyVar('pageurl') == '') {\\n //log('start')\\n var next = eval(下一页);\\n //log('next:' + next)\\n if (next != '') {\\n var nxurl = getNextUrl(true_url, next, obj);\\n putMyVar(状态标记, nxurl);\\n putMyVar('pageurl', nxurl);\\n }\\n }\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"通用猫函数\",\"path\":\"lazy\",\"rule\":\"var lazy = $(\\\"\\\").lazyRule(() => {\\n\\n //猫函数\\n function maoss(jxurl, ref, key) {\\n eval(getCryptoJS());\\n try {\\n var getVideoInfo = function(text) {\\n return CryptoJS.AES.decrypt(text, key, {\\n iv: iv,\\n padding: CryptoJS.pad.Pkcs7\\n }).toString(CryptoJS.enc.Utf8);\\n };\\n var token_key = key == undefined ? 'dvyYRQlnPRCMdQSe' : key;\\n if (ref) {\\n var html = request(jxurl, {\\n headers: {\\n 'Referer': ref\\n }\\n });\\n } else {\\n var html = request(jxurl);\\n }\\n if (html.indexOf('&btwaf=') != -1) {\\n html = request(jxurl + '&btwaf' + html.match(/&btwaf(.*?)\\\"/)[1], {\\n headers: {\\n 'Referer': ref\\n }\\n })\\n }\\n var token_iv = html.split('_token = \\\"')[1].split('\\\"')[0];\\n var key = CryptoJS.enc.Utf8.parse(token_key);\\n var iv = CryptoJS.enc.Utf8.parse(token_iv);\\n // log(\\\"iv:\\\"+iv);\\n // log(html);\\n eval(html.match(/var config = {[\\\\s\\\\S]*?}/)[0] + '');\\n if (config.url.slice(0, 4) != 'http') {\\n //config.url = decodeURIComponent(AES(config.url, key, iv));\\n config.url = CryptoJS.AES.decrypt(config.url, key, {\\n iv: iv,\\n padding: CryptoJS.pad.Pkcs7\\n }).toString(CryptoJS.enc.Utf8)\\n }\\n return config.url;\\n } catch (e) {\\n return '';\\n }\\n }\\n\\n\\nfunction bl(vipUrl) {\\n try {\\n var html = request(\\\"https://blbfq.f3322.net/player/analysis.php?v=\\\" + vipUrl, {timeout: 5000});\\n url = html.match(/var urls = \\\"(.*?)\\\"/)[1].replace(/\\\\\\\\/g, \\\"\\\");\\n return url;\\n }\\n catch (e) {\\n return \\\"\\\";\\n }\\n}\\n\\n\\n var player = JSON.parse(request(input).match(/r player_.*?=(.*?) -1) {\\n return jsurl\\n } else if (jsurl.match(/O0O0O/)) {\\n let playurl = maoss(\\\"https://bfq.xdys.vip/?url=\\\" + jsurl, false, \\\"A42EAC0C2B408472\\\");\\n // return bl(jsurl)+ '#isVideo=true#'\\n return playurl+ '#isVideo=true#'\\n } else {\\n requireCache('https://agit.ai/lzk23559/PublicRule/raw/branch/master/x5rule.js', 24);\\n return x5rule(input, input);\\n }\\n});\"}]","proxy":"","icon":"http://m.yule.com.cn/favicon.ico"},{"firstHeader":"class","last_chapter_rule":"","title":"美拍","author":"","version":0,"type":"video","url":"https://www.meipai.com/squares/new_timeline?page=fypage&count=24&tid=fyAll","col_type":"movie_3_marquee","class_name":"搞笑&爱豆&高颜值&舞蹈&音乐&美食&美妆&萌宠&旅行&手工&游戏&运动&穿秀","class_url":"13&16&474&63&62&59&27&6&426&450&480&487&460","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar res = {};\nvar d = [];\ntry {\n var json = JSON.parse(getResCode());\n //log(json.medias.length);\n\tfor (var i = 0; i < json.medias.length; i++) {\n\t\tvar j = json.medias[i];\n\t\t\n\t\td.push({\n\t\t\ttitle: j.caption,\n\t\t\tpic_url: j.cover_pic,\n\t\t\tdesc: j.cover_title,\n\t\t\turl: j.cover_pic.replace('mvimg10','mvvideo10').replace('jpg','mp4'),\n\t\t});\n\t}\n} catch (e) {}\nres.data = d;\nsetHomeResult(res);","searchFind":"","search_url":"","group":"⑧短剧","detail_col_type":"text_3","detail_find_rule":"","sdetail_col_type":"text_3","sdetail_find_rule":"*","ua":"pc","preRule":"","pages":"[]","proxy":"","icon":""},{"last_chapter_rule":"","title":"VS影院","author":"缘分","version":2,"type":"video","url":"https://m.91doutu.com/vodlist/dj___fyyear__fysort_fypage.html","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"人气&时间&评分","year_name":"全部&2023&2022&2021","sort_url":"hits&gold&addtime","year_url":"&2023&2022&2021","find_rule":"js:\nvar d = [];\nvar html = getResCode();\nvar list = pdfa(html, '.video-list&&li')\ntry {\n list.forEach(data => {\n d.push({\n title: pdfh(data, 'a&&title'),\n desc: pdfh(data, '.text-center&&Text'),\n img: pd(data, 'a&&data-original') + '@Referer=',\n url: pd(data, 'a&&href') + \"#immersiveTheme#\",\n col_type: '',\n })\n })\n} catch (e) {}\nsetResult(d)","searchFind":"js:\nvar d = [];\nvar html = getResCode();\neval(JSON.parse(request('hiker://page/yzm')).rule);\nvar list = pdfa(html, '.hot-card-list&&li')\ntry {\n list.forEach(data => {\n d.push({\n title: pdfh(data, 'a&&title'),\n desc: pdfh(data, '.txt-hidden&&Text'),\n img: pd(data, 'a&&data-original') + '@Referer=',\n url: pd(data, 'a&&href') + \"#immersiveTheme#\",\n col_type: '',\n })\n })\n} catch (e) {}\nsetResult(d)","search_url":"/search/**-fypage.html","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar d = [];\nvar html = getResCode();\neval(JSON.parse(fetch('hiker://page/lazy', {})).rule);\n\nlet xl = pdfa(html, '.min-player&&a')\nif (xl.length > 1) {\n线路 = '.min-player&&a,1:'\n}else \nif (xl.length == 1) {\n线路 = '.min-player&&a'\n}\nlet 线路名 = 'Text'\nlet 选集 = 'body&&.fade-in'\nlet 选集列表 = 'body&&a'\nlet 详情1 = '.vod-info&&p,5&&Text'\nlet 详情 = '.vod-info&&p,2&&Text'\nlet 详情2 = '.vod-info&&p,1&&Text'\nlet 封面 = '.vod-image&&img&&src'\nlet tabs = []\nlet lists = []\npdfa(html, 线路).forEach(data => {\n tabs.push(pdfh(data, 线路名).replace(/(.*?)号线.*/,'$1'))\n})\npdfa(html, 选集).forEach(data => {\n lists.push(pdfa(data, 选集列表))\n})\ntry {\n d.push({\n title: pdfh(html, 详情).substring(0, 18),\n desc: pdfh(html, 详情1) +\n '\\n' +\n '\\n' +\n pdfh(html, 详情2).substring(0, 18),\n img: pd(html,\n 封面) + '@Referer=',\n url: MY_URL,\n col_type: 'movie_1_vertical_pic_blur',\n extra: {\n gradient: true\n }\n });\n} catch (e) {\n d.push({\n img: pd(html, 封面) + '@Referer=',\n url: MY_URL,\n col_type: 'movie_1_vertical_pic_blur',\n });\n}\n\naddListener(\"onClose\", $.toString(() => {\n clearMyVar(\"lists\");\n}));\nstorage0.putMyVar(\"lists\", lists);\nvar list = lists[getMyVar(MY_URL, '0')];\nvar 排序 = getMyVar(MY_URL + \"章节排序\", '#1aad19\">正序');\nvar 提示 = 排序 == '#FF0000\">倒序' ? '#1aad19\">正序' : '#FF0000\">倒序';\nvar 排序名 = '““””'\n\nd.push({\n title: '““””',\n url: $(\"#noLoading#\").lazyRule((tabs, 排序名, lazy, d) => {\n var lists = storage0.getMyVar(\"lists\");\n let 章节 = lists[getMyVar(MY_URL, '0')];\n var 排序 = getMyVar(MY_URL + \"章节排序\", '#1aad19\">正序');\n var 提示 = 排序 == '#FF0000\">倒序' ? '#1aad19\">正序' : '#FF0000\">倒序';\n updateItem({\n extra: {\n id: MY_URL + \"_排序\",\n },\n title: 排序名.replace('排序', 提示)\n })\n 章节 = 排序 == '#1aad19\">正序' ?章节 : 章节.reverse() ;\n let cp = 章节.map((data, ssid) => {\n return {\n title: pdfh(data, 'a&&Text'),\n url: pd(data, 'a&&href') + lazy,\n col_type: 章节.length > 3 ? 'text_4' : 'text_2',\n extra: {\n cls: MY_URL + \"_选集\",\n id: pd(data, 'a&&href'),\n js: ` document.querySelector(\"button\").click()` \n }\n };\n });\n deleteItemByCls(MY_URL + \"_选集\");\n addItemBefore(MY_URL + \"footer\", cp);\n putMyVar(MY_URL + \"章节排序\", 提示)\n return \"hiker://empty\"\n }, tabs, 排序名, lazy, d[0]),\n col_type: 'scroll_button',\n extra: {\n id: MY_URL + \"_排序\",\n }\n})\n\ntabs.forEach((data, id) => {\n d.push({\n title: getMyVar(MY_URL, '0') == id ? '““' + data + '””' : data,\n url: $(\"#noLoading#\").lazyRule((线路, lazy, id) => {\n var lists = storage0.getMyVar(\"lists\");\n var 排序 = getMyVar(MY_URL + \"章节排序\", '#1aad19\">正序');\n var 提示 = 排序 == '#FF0000\">倒序' ? '#1aad19\">正序' : '#FF0000\">倒序';\n 线路.forEach((data, xlid) => {\n updateItem({\n title: id == xlid ? '““' + data + '””' : data,\n extra: {\n id: MY_URL + \"_线路\" + xlid\n }\n });\n })\n putMyVar(MY_URL, id)\n let 章节 = lists[getMyVar(MY_URL, '0')];\n 章节 = 排序 == '#FF0000\">倒序' ? 章节 : 章节.reverse() ;\n let cp = 章节.map((data, ssid) => {\n return {\n title: pdfh(data, 'a&&Text'),\n url: pd(data, 'a&&href') + lazy,\n col_type: 章节.length > 3 ? 'text_4' : 'text_2',\n extra: {\n cls: MY_URL + \"_选集\",\n id: pd(data, 'a&&href'),\n js: ` document.querySelector(\"button\").click()` \n }\n };\n });\n deleteItemByCls(MY_URL + \"_选集\");\n addItemBefore(MY_URL + \"footer\", cp);\n return \"hiker://empty\"\n }, tabs, lazy, id),\n col_type: 'scroll_button',\n extra: {\n id: MY_URL + \"_线路\" + id\n }\n });\n})\nlet list = 排序 === '#FF0000\">倒序' ? list : list.reverse();\nlist.forEach((data, id) => {\n d.push({\n title: pdfh(data, 'a&&Text'),\n url: pd(data, 'a&&href') + lazy,\n col_type: list.length > 3 ? 'text_4' : 'text_2',\n extra: {\n cls: MY_URL + \"_选集\",\n id: pd(data, 'a&&href'),\n js: ` document.querySelector(\"button\").click()` \n },\n });\n})\nd.push({\n col_type: \"big_blank_block\",\n extra: {\n id: MY_URL + \"footer\"\n }\n});\nsetResult(d);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"lazy\",\"path\":\"lazy\",\"rule\":\"var lazy = $('').lazyRule((MY_HOME)=> {\\n var html = request(input).match(/var.*?_player = (.*?)-1) {\\nif (/ffzy|lz/.test(url)) {\\r\\n evalPrivateJS('TuSJdpnZaqXGRvvOFRR+3S7eZUjeC1CffFbHhoo0e5+aZ7Kav9KZVZsfkwKkUFf4wzkTrio4jARH6ZwTXpRlH3kI43rWCTU4PdYam15pPYiq5cW0H6gUXhJW7tmJtyLKdje1KapBIGvWaXI0WmoHoMEFBV/MAicmPgpyAJZjsc5Emvdh1n72WPPiyhYNCoMnZ9JpP6aEsWQEmQMcAjPxgs6UMvsO/POw5Ccr79sJzicst/Ll3IOj5M+PvqKrTd6147VGPEztjsUeEudASzTcn+95C9Vg1uwUvd9z0w5qsPboQh5oZhTys4RQEzBGIqulQMAAQY4IFkanWX95EINZDX50mAiOSGyId06HsprAel/fh7wyMXdmeu+S15XncO7UuujMOmGgSAEN/Ssc2ezkxlGvpdyhbl4p4DaQug/nrgswhZj75/M53sKYX2zRgOST7CMjV/+pPJd1KP934uu/VsBQUG69mWN+KaFWhKnwBPhV9qdqGz/LSJnFxIvQ8kBx')\\n return u + \\\"?url=\\\" + base64Encode(url) + \\\"#.m3u8\\\";\\r\\n } \\n return url\\n}else\\n if(url.match(/youku|mgtv|ixigua|qq.com|qiyi|migu|bili|sohu|pptv|le/)&&url.match(/.html/)){\\n let config = fetch('hiker://files/cache/MyParseSet.json');\\n let DnV2 = 'https://code.aliyun.com/AI957/Hiker/raw/master/v/CloudParse-V2_Dn.js';\\n if (config && fetch(JSON.parse(config).cj)) {\\n DnV2 = JSON.parse(config).cj;\\n }\\n eval(fetch(DnV2));\\n return aytmParse(url);\\nshowLoading('√解析中,请稍候...');\\n }\\n\\n}, MY_HOME)\"},{\"col_type\":\"movie_3\",\"name\":\"验证码\",\"path\":\"yzm\",\"rule\":\"while (/输入验证码|系统安全验证/.test(html)) {\\nrc('https://gitcode.net/liuzaoyue/hai/-/raw/master/juyue.js', 24); \\n let headers = {\\n \\\"User-Agent\\\": MOBILE_UA,\\n \\\"Referer\\\": MY_URL\\n }\\n let sz = ocr(MY_HOME + '/?s=home-verify-index.html', headers); \\n fetch(MY_HOME + '/index.php?s=/home/verify/check/', {\\n headers: headers,\\n method: 'POST',\\n body: 'type=search&verify='+sz\\n }) \\n var yz = MY_URL\\n // log(MY_URL)\\n html = request(yz, {\\n //headers: headers\\n })\\n}\\nif (/频繁操作/.test(html)) {\\n d.push({\\n title: '网站搜索时间间隔',\\n desc: \\\"下拉重试\\\"\\n})\\n\\n}\"}]","proxy":"","icon":""},{"firstHeader":"class","last_chapter_rule":"","title":"网易公版影像","author":"Arise","version":20240506,"type":"video","url":"https://active.163.com/service/form/v1/9347/view/1618.jsonp?param_entry_kinds=fyAll&page=fypage&pageSize=20","col_type":"movie_3","class_name":"电影&纪录片&动画片&珍贵史料","class_url":"movie&doc&ani&his","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar res = {};\nvar d = [];\nvar lazy = $(\"\").lazyRule(() => {\n\tvar playJsonUrl =\"https://so.v.163.com/mobile/getBatchOnlineVideo.do?vidstr=\";\n\tvar reqUrl = playJsonUrl+input;\n\tvar reqJson = JSON.parse(request(reqUrl)).data.video_list[0];\n\t//log(reqJson.mp4SdUrl);\n return reqJson.mp4SdUrl;\n});\n\ntry {\n var jsonStr = getResCode();\n //log(jsonStr.substring(10,jsonStr.length-2));\n var json = JSON.parse(jsonStr.substring(10,jsonStr.length-2));\n\t\n for (var i = 0; i < json.list.length; i++) {\n var j = json.list[i];\n d.push({\n title: j.title,\n pic_url: j.cover_pic,\n desc: j.meida_type,\n url: j.vid+lazy,\n });\n } \n} \ncatch (e) {\n\t\n}\nres.data = d;\nsetHomeResult(res);","searchFind":"js:\nvar d = [];\n\nvar lazy = $(\"\").lazyRule(() => {\n var playJsonUrl = \"https://so.v.163.com/mobile/getBatchOnlineVideo.do?vidstr=\";\n var reqUrl = playJsonUrl + input;\n var reqJson = JSON.parse(request(reqUrl)).data.video_list[0];\n log(reqJson.mp4SdUrl);\n return reqJson.mp4SdUrl;\n});\n\ntry {\n var jsonStr = getResCode();\n //log(jsonStr.substring(10,jsonStr.length-2));\n var json = JSON.parse(jsonStr.substring(10, jsonStr.length - 2));\n for (var i = 0; i < json.list.length; i++) {\n var j = json.list[i];\n d.push({\n title: j.title,\n pic_url: j.cover_pic,\n content: j.desc,\n desc: j.meida_type,\n url: j.vid + lazy,\n });\n\n }\n} catch (e) {\n\n}\nsetResult(d);","search_url":"https://active.163.com/service/form/v1/9347/view/1619.jsonp?_charset=UTF-8&_decode=UTF-8¶m_title=**&page=fypage&pageSize=6","group":"⑧短剧","detail_col_type":"text_3","detail_find_rule":"","sdetail_col_type":"text_3","sdetail_find_rule":"*","ua":"pc","preRule":"registerDNS({ 'active.163.com': 'https://dns.google/dns-query' })","pages":"[]","proxy":"","icon":"https://img.vinua.cn/images/aM1H1.th.png"},{"last_chapter_rule":"","title":"播视网","author":"香雅情","version":0,"type":"video","url":"https://search.boosj.com/search_fyAll___fypage_.html","col_type":"movie_1_vertical_pic","class_name":"全部&娱乐&时尚&生活&汽车世界&旅游&公益&酷玩&儿童频道&童星体验站&健康&格子星动画&综艺","class_url":"res_&res_14&res_19&res_23&res_402&res_462&res_1222&res_2922&res_3362&res_4302&res_4711&res_4983&cinema__","area_name":"广场舞&广场舞公开课&广场舞队视频大全&健身舞&瑜伽","area_url":"res_1362&res_3642&res_3424&res_3408&res_3410","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar items = [];\nvar html = getResCode();\n\nvar list = parseDomForArray(html, 'body&&.bj-col4:has(.imgtext)');\n\nfor (var i = 0; i < list.length; i++) {\n var title = parseDomForHtml(list[i], 'a&&title');\n var img = parseDom(list[i], 'img&&data-original');\n var url = parseDom(list[i], 'a&&href');\n var desc = parseDomForHtml(list[i], '.imgtext--h3&&Text');\n items.push({\n title: title,\n pic_url: img,\n url: $(url).lazyRule(() => {\n var vid = request(input).match(/vid:\\\"(.*?)\\\"/)[1];\n var rip = request('https://gslb.boosj.com/ipv2.json', {});\n //log(rip);\n let url = buildUrl('https://gslb.boosj.com/gslb?_id=' + vid, JSON.parse(rip))\n //log(url)\n var json = JSON.parse(fetch(url, {\n headers: {\n \"User-Agent\": MOBILE_UA,\n \"Referer\": \"https://www.boosj.com/\"\n }\n }));\n //log(json);\n return json.url + '?' + json.t + ';{Referer@https://www.boosj.com/}'\n }),\n desc: desc\n });\n}\n\nsetHomeResult({\n data: items\n});","searchFind":"js:\nvar res = {};\r\nvar items = [];\r\nvar html = JSON.parse(getResCode());\r\n\r\nvar list = html.body.result;\r\n\r\nfor (var i = 0; i < list.length; i++) {\r\n var title = list[i].resourceName;\r\n var img = list[i].imageUrl;\r\n var cont = list[i].intro;\r\n var url = list[i].resourceId;\r\n var score = list[i].score;\r\n\r\n items.push({\r\n title: title,\r\n pic_url: img + '@Referer=',\r\n url: $(url).lazyRule(() => {\r\n var vid = input;\r\n var rip = request('https://gslb.boosj.com/ipv2.json', {});\r\n //log(rip);\r\n let url = buildUrl('https://gslb.boosj.com/gslb?_id=' + vid, JSON.parse(rip))\r\n //log(url)\r\n var json = JSON.parse(fetch(url, {\r\n headers: {\r\n \"User-Agent\": MOBILE_UA,\r\n \"Referer\": \"https://www.boosj.com/\"\r\n }\r\n }));\r\n //log(json);\r\n return json.url + '?' + json.t + ';{Referer@https://www.boosj.com/}'\r\n }),\r\n content: cont,\r\n desc: '评分:' + score\r\n });\r\n}\r\n\r\nres.data = items;\r\nsetSearchResult(res);","search_url":"https://search.boosj.com/m_ajax?q=**&p=fypage","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"pc","preRule":"","pages":"[]","proxy":"","icon":"https://img.vinua.cn/images/OS1RQ.png"},{"last_chapter_rule":"","title":"开眼·发现","author":"","version":0,"type":"video","url":"http://baobab.kaiyanapp.com/api/v1/tag/videos?start=fypage@-1@*10@&num=10&strategy=date&id=fyclass","col_type":"pic_1","class_name":"广告&剧情&运动&创意&旅行&记录&音乐&影视&科技&开胃&游戏&搞笑&时尚&综艺&生活&","class_url":"16&12&1022&2&1019&24&1018&1025&1024&1020&30&140&26&28&666&","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:var s=getResCode();var json={};eval('json='+s);var res={};var d=[];for(var i=0;i {\n\tif(input.indexOf('detail.html') != -1){\n\t\tvar vid = input.split('~')[1];\n\t\t//log(vid);\n\t\tvar reqUrl =\"https://news-stream.lsttnews.com/topic/recommend/vinfo?vid=\"+vid;\n\t\tvar playUrl = JSON.parse(request(reqUrl)).data.video.src;\n\t\t//log(playUrl);\n\t\treturn playUrl;\n\t}else{\n\t\treturn input+'#isVideo=true#'\n\t}\n});\n\n\n\nlog(MY_URL);\n\ntry {\n var jsonStr = getResCode();\n var json = JSON.parse(jsonStr);\n for (var i = 0; i < json.data.length; i++) {\n var j = json.data[i];\n d.push({\n title: j.title,\n pic_url: j.picPath,\n desc: j.publisher,\n url: j.playUrl+lazy,\n });\n } \n} \ncatch (e) {\n\t\n}\nres.data = d;\nsetHomeResult(res);","searchFind":"","search_url":"","group":"⑧短剧","detail_col_type":"text_3","detail_find_rule":"","sdetail_col_type":"text_3","sdetail_find_rule":"*","ua":"pc","preRule":"","pages":"[]","proxy":"","icon":"https://img.vinua.cn/images/OSx14.png"},{"last_chapter_rule":"","title":"找样片","author":"明月照","version":0,"type":"video","url":"https://m.zhipianbang.com/video-fypage.html","col_type":"movie_1_left_pic","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = []\nvar list = pdfa(getResCode(), '.video_c&&a');\nfor (var j in list) {\n d.push({\n title: pdfh(list[j], '.title_&&Text'),\n desc: pdfh(list[j], '.cate&&Text'),\n img: pd(list[j], '.pic&&img&&src'),\n url: 'video://'+pd(list[j], 'a&&href')\n })\n}\nsetResult(d)","searchFind":"","search_url":"","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"解析\",\"path\":\"lazy\",\"rule\":\"var lazy = $('').lazyRule(() => {\\n return \\\"video://\\\"+input\\n})\"}]","proxy":"","icon":""},{"last_chapter_rule":"","title":"ts短剧","author":"炎喵","version":1,"type":"video","url":"https://www.tosent.com/search.php?page=fypage&searchtype=5&order=fyclass&tid=29","col_type":"movie_3","class_name":"时间&人气&推荐","class_url":"time&hit&commend","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nconst {\n autoPage\n} = $.require(\"hiker://page/auto?rule=模板·Q\");\nautoPage(getResCode())","searchFind":"js:\nconst {\n autoPage\n} = $.require(\"hiker://page/auto?rule=模板·Q\");\nautoPage(getResCode())","search_url":"","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar lazy = $('').lazyRule(() => {\n try {\n var html = JSON.parse(request(input).match(/r player_.*?=(.*?) {\n return \"海阔视界首页频道规则【模板·Q】¥home_rule_url¥http://hiker.nokia.press/hikerule/rulelist.json?id=3055\"\n }\n })\n}","pages":"[]","proxy":"","icon":""},{"last_chapter_rule":"","title":"短剧库(夸)","author":"","version":1,"type":"video","url":"hiker://empty","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar 网站 = 'http://duanjuku.top/';\neval(JSON.parse(fetch('hiker://page/home')).rule)","searchFind":"","search_url":"","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"ysfx\",\"path\":\"ysfx\",\"rule\":\"js:\\nvar d = [];\\nlet rule = getParam(\\\"r\\\").split(\\\"##\\\")[0];\\nlet url = MY_URL.split(\\\"##\\\")[1];\\nlet ite = $.require(\\\"hiker://page/u\\\")(rule, getHome(url));\\nlet js = $.toString(() => {\\n try {\\n if (document.title && document.title.length) {\\n let r = $$$().lazyRule((t) => {\\n setPageTitle(t);\\n }, document.title);\\n fy_bridge_app.parseLazyRule(r);\\n }\\n } catch (e) {\\n fy_bridge_app.log(e.toString());\\n }\\n});\\nd.push({\\n title: \\\"\\\",\\n url: url,\\n col_type: \\\"x5_webview_single\\\",\\n desc: \\\"100%&&float\\\",\\n pic_url: \\\"\\\",\\n extra: {\\n urlInterceptor: ite,\\n js: js,\\n canBack: true,\\n jsLoadingInject: true,\\n floatVideo: false,\\n blockRules: [\\\"/ad/\\\", \\\"/ads/\\\", \\\"google\\\", \\\".gif\\\"]\\n }\\n});\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"u\",\"path\":\"u\",\"rule\":\"$.exports = function(rule, origin) {\\n return $.toString((rule, origin) => {\\n let host = origin.replace(new RegExp(\\\"http://|https://\\\"), \\\"\\\").split(\\\"/\\\")[0];\\n let hosts = host.split(\\\".\\\");\\n if (hosts.length > 2) {\\n host = hosts[hosts.length - 2] + \\\".\\\" + hosts[hosts.length - 1];\\n }\\n if (input.startsWith(\\\"magnet\\\")) {\\n confirm({\\n title: \\\"温馨提示\\\",\\n content: \\\"检测到新的磁链地址,点击确定按钮即可播放,点击取消按钮可以复制链接\\\",\\n confirm: $.toString((mag) => {\\n return mag;\\n }, input),\\n cancel: $.toString((mag) => {\\n return \\\"copy://\\\" + mag\\n }, input)\\n })\\n return true;\\n } else if (!input.startsWith(\\\"http\\\")) {\\n log(input);\\n //能唤起APP的白名单\\n let white = [\\n \\\"qklink\\\",\\n \\\"bdnetdisk\\\",\\n \\\"xunleiapp\\\",\\n \\\"smartdrive\\\"\\n ];\\n let inWhite = white.filter(it => input.startsWith(it)).length > 0;\\n if (!inWhite) {\\n return false;\\n }\\n return $.toString((url, rule) => {\\n fy_bridge_app.openThirdApp && fy_bridge_app.openThirdApp(url);\\n }, input, rule)\\n } else if (input.includes(\\\"aliyundrive.com/\\\") || input.includes(\\\"aliyundrive.net/\\\")|| input.includes(\\\"alipan.com/\\\")) {\\n if (fetch(\\\"hiker://home@\\\\u4e91\\\\u76d8\\\\u541b.\\\\u7b80\\\").length < 15) {\\n return false;\\n }\\n return $.toString((url, rule) => {\\n fy_bridge_app.open(JSON.stringify({\\n title: \\\"阿里云盘\\\",\\n url: \\\"hiker://page/aliyun?page=fypage&realurl=\\\" + encodeURIComponent(url) + \\\"&rule=\\\\u4e91\\\\u76d8\\\\u541b.\\\\u7b80\\\",\\n }))\\n }, input, rule);\\n } else if (input.includes(\\\"quark.cn\\\") && fetch(\\\"hiker://home@Quark.简\\\").length > 15) { \\n return $.toString((url, rule) => {\\n fy_bridge_app.open(JSON.stringify({\\n title: \\\"夸克网盘\\\",\\n url: \\\"hiker://page/quarkList?realurl=\\\" + encodeURIComponent(url) + \\\"&rule=Quark.简&sharePwd=\\\",\\n }))\\n }, input, rule);\\n } else {\\n let white = [\\n \\\"url=\\\",\\n \\\"fsou.com\\\",\\n \\\"bing.\\\",\\n \\\"codelicence.cn\\\"\\n ];\\n let inWhite = white.filter(it => input.includes(it)).length > 0;\\n if (inWhite) {\\n return false;\\n }\\n let reg = new RegExp(\\\"[\\\\u4e00-\\\\u9fa5]+\\\", \\\"g\\\");\\n let r = decodeURIComponent(input);\\n if (reg.test(r) || (input.startsWith(origin) && input.length - origin.length > 2)) {\\n //有中文,应该是在搜索,跳新页面\\n return $.toString((url, rule) => {\\n fy_bridge_app.open(JSON.stringify({\\n title: \\\"详情\\\",\\n url: \\\"hiker://page/ysfx?rule=\\\" + rule + \\\"&r=\\\" + rule + \\\"##\\\" + url,\\n }));\\n }, input, rule);\\n }\\n }\\n }, rule, origin);\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"首页\",\"path\":\"home\",\"rule\":\"var d = [];\\nlet url = 网站;\\nlet ite = $.require(\\\"hiker://page/u\\\")(MY_RULE.title, getHome(url));\\nd.push({\\n title: \\\"\\\",\\n url: url,\\n col_type: \\\"x5_webview_single\\\",\\n desc: \\\"100%&&float\\\",\\n pic_url: \\\"\\\",\\n extra: {\\n urlInterceptor: ite,\\n canBack: true,\\n floatVideo: false,\\n jsLoadingInject: true,\\n blockRules: [\\\"/ad/\\\", \\\"/ads/\\\", \\\"google\\\"]\\n }\\n});\\nsetResult(d);\"}]","proxy":"","icon":"#fff7a97b"},{"last_chapter_rule":"","title":"短剧一","author":"@LoyDgIk","version":0,"type":"video","url":"https://www.duanju001.com/show/duanju--fyarea------fypage---fyclass.html","col_type":"movie_3","class_name":"2024&2023&2022","class_url":"2024&2023&2022","area_name":"时间&热门&评分","area_url":"time&hits&score","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"#rizhuti_v2_module_lastpost_item-2&&.post-grid;a&&title;img&&data-src;.meta-post-type1&&Text+\" \"+.meta-post-type2&&Text;a&&href","searchFind":".content-column&&.post-list;a&&title;a&&href;.meta-category-dot&&Text;;img&&data-src","search_url":"https://www.duanju001.com/search/**----------fypage---.html","group":"⑧短剧","detail_col_type":"text_2","detail_find_rule":".sort-list&&li;a&&Text;;;a&&href.js:input+`@lazyRule=.col-lg-9&&&&script&&&&Html.js:eval(\"(\"+input.replace(\"var player_aaaa=\",\"\")+\")\").url`","sdetail_col_type":"text_2","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[]","proxy":"","icon":""},{"last_chapter_rule":"","title":"短剧大全","author":"","version":0,"type":"video","url":"hiker://empty##http://mp5.hz.cz/index.php/vod/show/id/1/page/fypage.html","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\nvar getRangeColors = function() {\n return '#' + ('00000' + (Math.random() * 0x1000000 << 0).toString(16)).substr(-6);\n}\n\nconst 分类颜色 = getRangeColors()\nconst 大类定位 = 'body&&.scroll-content&&.library-list'\nconst 拼接分类 = 'body--.library-box.scroll-box&&.library-box.scroll-box'\nconst 小类定位 = 'body&&a:not(:matches(首页|今日更新|热榜|APP))'\nconst 分类标题 = 'a&&title||a&&Text'\nconst 分类链接 = 'a&&href'\nMY_URL = MY_URL.replace('hiker://empty##', '')\n\nlet true_url = getVar(MY_RULE.url, MY_URL)\nconst page = MY_PAGE\nif (getVar(MY_RULE.url)) {\n true_url = true_url.replace(/type(\\/\\d+)\\.html/, 'show$1-----------.html').replace('---.html', page + '---.html').replace(/(---\\d+.html)/, page + '$1')\n}\n\nvar html = request(true_url)\n\neval(JSON.parse(request('hiker://page/dt')).rule)\n\nvar list = pdfa(html, '.module-items&&.module-item');\nfor (var j in list) {\n d.push({\n title: pdfh(list[j], 'img&&alt'),\n desc: pdfh(list[j], '.module-item-note||.module-item-text&&Text'),\n pic_url: pd(list[j], 'img||.lazy&&data-original||data-src') + '@Referer=',\n \n url: pd(list[j], 'a&&href') + \"#immersiveTheme#\"\n });\n}\nsetResult(d);","searchFind":"js:\r\nvar d = [];\n\nvar list = parseDomForArray(getResCode(), 'body&&.module-item-cover');\r\nfor (var j in list) {\r\n d.push({\r\n title: parseDomForHtml(list[j], 'img&&alt'),\r\n desc: parseDomForHtml(list[j], ''),\n content: parseDomForHtml(list[j], ''),\n img: parseDom(list[j], '.lazyload&&data-src')+'@Referer=',\n \r\n url: parseDom(list[j], 'a&&href')+\"#immersiveTheme#\"\n });\r\n}\r\nsetResult(d);","search_url":"http://mp5.hz.cz/index.php/vod/search/page/fypage/wd/**.html","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar d = [];\nvar html = getResCode();\n\nvar lazy = $('').lazyRule(() => {\n try {\n function toUrl(playUrl) {\n if (/mgtv|sohu/.test(playUrl)) {\n return playUrl + \";{User-Agent@Mozilla/5.0 (Windows NT 10.0)}\";\n } else if (/bili/.test(playUrl)) {\n return playUrl + \";{User-Agent@Mozilla/5.0&&Referer@https://www.bilibili.com}\";\n } else if (/ixigua/.test(playUrl)) {\n return playUrl + \"#isVideo=true#\" + \"#.mp4;{Referer@https://www.ixigua.com/&&User-Agent@Mozilla/5.0}\";\n } else {\n return playUrl;\n }\n }\n\n var html = request(input, {});\n var player_data = JSON.parse(html.match(/r player_.*?=(.*?) {\n //fba.log(fba.getUrls())\n var urls = _getUrls()\n var exclude = /playm3u8|m3u8\\.tv|min\\.css|404\\.m3u8|\\.css/;\n var contain = /\\.mp4|\\.m3u8|\\.flv|\\.avi|\\.mpeg|\\.wmv|\\.mov|\\.rmvb|\\.dat|qqBFdownload|mime=video%2F|video_mp4/;\n for (var i in urls) {\n if (!exclude.test(urls[i]) && contain.test(urls[i])) {\n // fy_bridge_app.log(urls[i])\n if (/mgtv|sohu/.test(urls[i])) {\n return urls[i] + \";{User-Agent@Mozilla/5.0 (Windows NT 10.0)}\";\n } else if (/bili/.test(urls[i])) {\n return urls[i] + \";{User-Agent@Mozilla/5.0&&Referer@https://www.bilibili.com}\";\n } else if (/ixigua/.test(urls[i])) {\n return urls[i] + \"#isVideo=true#\" + \"#.mp4;{Referer@https://www.ixigua.com/&&User-Agent@Mozilla/5.0}\";\n } else {\n return urls[i]\n }\n }\n }\n });\n return video;\n }\n});\n\n//线路名列表的定位\nvar arts = parseDomForArray(html, 'body&&.tab-item');\n\n//线路名列表名称的定位\nvar tabs = [];\nfor (var i in arts) {\n tabs.push(parseDomForHtml(arts[i], 'span&&Text'))\n}\n\n//播放列表的列表的定位\nvar conts = parseDomForArray(html, 'body&&.module-play-list-content||.module-sorttab');\nvar lists = [];\nfor (var i in conts) {\n var temp = parseDomForArray(conts[i], 'body&&a:not(:contains(排序))')\n lists.push(temp)\n}\n\nvar 导演 = parseDomForHtml(html, '.video-info-items:contains(导演:)&&Text').replace(/\\//g, ' ');\n\nvar 主演 = parseDomForHtml(html, '.video-info-items:contains(主演:)&&Text').replace(/\\//g, ' ');\n\nvar 更新 = parseDomForHtml(html, '.video-info-items:contains(年代)&&Text');\n\nvar 状态 = parseDomForHtml(html, '.video-info-items:contains(连载:)&&Text');\n\nvar 图片 = parseDom(html, '.lazyload&&data-src||data-original');\n\nvar 简介 = parseDomForHtml(html, '.video-info-content&&Text').replace('收起', '');\n\nvar Color = \"#f13b66a\";\nvar Color1 = \"#098AC1\";\n\nfunction getHead(title) {\n return '‘‘’’' + title + '';\n}\nlet line_model = 8;\nlet line_type_model = 'blank_block';\nd.push({\n title: 导演 + '\\n' + 主演,\n desc: 更新 + '\\n' + 状态,\n pic_url: 图片,\n url: MY_URL,\n col_type: 'movie_1_vertical_pic_blur'\n});\nd.push({\n title: '‘‘’’简介:' + 简介.substr(0, 55) + '...详情',\n url: 'hiker://empty#' + '\\n' + 简介 + `@rule=js:var res = {}; var d = [];d.push({title:'影片简介:'+ MY_URL.split('hiker://empty#')[1],col_type: 'long_text'});res.data = d; setHomeResult(res);`,\n col_type: 'text_1'\n});\nfor (let i = 0; i < line_model; i++) {\n d.push({\n col_type: line_type_model\n })\n}\n\n//处理推送TVBox start\nlet tfpush = getItem('webpush', '0');\nd.push({\n title: (getItem('webpush', '0') == '1' ? '单集推送🟢' : '单集推送🔴'),\n url: `hiker://empty@lazyRule=.js:getItem('webpush','0')=='1'?setItem('webpush','0'):setItem('webpush','1');refreshPage();'toast://切换成功!'`,\n\n col_type: 'scroll_button'\n});\nd.push({\n title: '设置电视IP',\n url: \"input://\" + getItem('hikertvboxset', 'http://' + getIP() + ':9978') + \"////请输入tvbox推送IP地址,如http://\" + getIP() + \":9978.js:setItem('hikertvboxset',input);refreshPage()\",\n col_type: 'scroll_button'\n});\nd.push({\n title: getItem('hikertvboxset', ''),\n //url: 'hiker://empty',\n url: \"input://\" + getItem('hikertvboxset', 'http://' + getIP() + ':9978') + \"////请输入tvbox推送IP地址,如http://\" + getIP() + \":9978.js:setItem('hikertvboxset',input);refreshPage()\",\n col_type: 'scroll_button'\n});\n\nvar playUrls = '';\nfor (var i = 0; i < lists.length; i++) {\n var list = lists[i];\n for (var j = 0; j < list.length; j++) {\n if (j == list.length - 1) {\n playUrls += parseDomForHtml(list[j], 'a&&Text') + \"$\" + parseDom(list[j], 'a&&href') + \"$$$\";\n } else {\n playUrls += parseDomForHtml(list[j], 'a&&Text') + \"$\" + parseDom(list[j], 'a&&href') + \"#\";\n }\n }\n}\n\nplayUrls = playUrls.substring(0, playUrls.length - 3);\n//log(playUrls);\n\nlet push = JSON.stringify({\n \"name\": MY_PARAMS.mytitle,\n \"pic\": parseDom(html, '.lazyload&&data-src||data-original'),\n \"content\": parseDomForHtml(html, '.video-info-content&&Text').replace('收起', ''),\n \"from\": tabs.join('$$$'),\n \"url\": playUrls.replace(/\\&/g, '&&')\n});\n//log(push);\n\nd.push({\n title: \"推送当前页列表到TVBox\",\n url: $(push).lazyRule(() => {\n return 'hiker://page/push?pushurl=' + encodeURIComponent(input);\n }),\n col_type: \"scroll_button\"\n});\n\nd.push({\n col_type: 'line_blank'\n })\n //处理推送TVBox end\n\nfunction setTabs(tabs, vari) {\n for (var i in tabs) {\n var url = \"#noLoading#@lazyRule=.js:putVar('\" + vari + \"', '\" + i + \"');refreshPage(false);'toast://切换成功!';'#noHistory#hiker://empty'\";\n d.push({\n title: getVar(vari, '0') == i ? getHead(tabs[i]) : tabs[i],\n url: url,\n col_type: 'scroll_button'\n })\n }\n d.push({\n col_type: 'line_blank'\n })\n}\n\nfunction setLists(lists, index) {\n d.push({\n col_type: 'line_blank'\n })\n}\nif (getVar('shsort') == '1') {\n var sx = '‘‘’’排序' + '' + '';\n} else {\n var sx = '‘‘’’排序' + '' + '';\n}\n\nfunction setLists(lists, index) {\n d.push({\n title: '‘‘’’选集列表' + '\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t' + '' + sx + '',\n url: `#noLoading#@lazyRule=.js:let conf = getVar('shsort');if(conf=='1'){putVar({key:'shsort', value:'0'});}else{putVar({key:'shsort', value:'1'})};refreshPage();'toast://切换排序成功';'#noHistory#hiker://empty'`,\n col_type: 'text_center_1'\n })\n var list = lists[index];\n\n if (getVar('shsort') == '1') {\n try {\n for (var j = list.length - 1; j >= 0; j--) {\n if (tfpush == '0') {\n d.push({\n title: parseDomForHtml(list[j], 'a&&Text').replace(/第|集|话|期/g, ''),\n url: parseDom(list[j], 'a&&href') + lazy,\n col_type: list.length > 4 ? 'text_5' : 'text_2'\n });\n } else {\n var urlx = 'hiker://page/push?pushurl=' + encodeURIComponent(JSON.stringify({\n \"name\": getPageTitle() + parseDomForHtml(list[j], 'a&&Text'),\n \"pic\": parseDom(html, '.lazyload&&data-src||data-original'),\n \"content\": parseDomForHtml(html, '.video-info-content&&Text').replace('收起', ''),\n \"from\": getPageTitle() + parseDomForHtml(list[j], 'a&&Text'),\n \"url\": parseDom(list[j], 'a&&href')\n }));\n var extrax = {\n id: parseDom(list[j], 'a&&href')\n };\n d.push({\n title: parseDomForHtml(list[j], 'a&&Text').replace(/第|集|话|期/g, ''),\n url: urlx,\n col_type: list.length > 4 ? 'text_5' : 'text_2',\n extra: extrax\n });\n }\n\n }\n } catch (e) {\n d.push({\n title: '没有选集哟,不信点图片去看看👀',\n col_type: 'text_center_1'\n });\n }\n } else {\n try {\n for (var j = 0; j < list.length; j++) {\n if (tfpush == '0') {\n d.push({\n title: parseDomForHtml(list[j], 'a&&Text').replace(/第|集|话|期/g, ''),\n url: parseDom(list[j], 'a&&href') + lazy,\n col_type: list.length > 4 ? 'text_5' : 'text_2'\n });\n } else {\n var urlx = 'hiker://page/push?pushurl=' + encodeURIComponent(JSON.stringify({\n \"name\": getPageTitle() + parseDomForHtml(list[j], 'a&&Text'),\n \"pic\": parseDom(html, '.lazyload&&data-src||data-original'),\n \"content\": parseDomForHtml(html, '.video-info-content&&Text').replace('收起', ''),\n \"from\": getPageTitle() + parseDomForHtml(list[j], 'a&&Text'),\n \"url\": parseDom(list[j], 'a&&href')\n }));\n var extrax = {\n id: parseDom(list[j], 'a&&href')\n };\n d.push({\n title: parseDomForHtml(list[j], 'a&&Text').replace(/第|集|话|期/g, ''),\n url: urlx,\n col_type: list.length > 4 ? 'text_5' : 'text_2',\n extra: extrax\n });\n }\n }\n } catch (e) {\n d.push({\n title: '没有选集哟,不信点图片去看看👀',\n col_type: 'text_center_1'\n });\n }\n\n }\n}\nsetTabs(tabs, MY_URL);\nsetLists(lists, getVar(MY_URL, '0'));\nd.push({\n title: '
',\n col_type: 'rich_text'\n});\nsetResult(d);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"pc","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"推送\",\"path\":\"push\",\"rule\":\"js:\\nlet items = [];\\nlet pushin = decodeURIComponent(getParam(\\\"pushurl\\\"));\\nlet tvip = getItem('hikertvboxset', '');\\n\\nitems.push({\\n title: '当前IP:' + tvip,\\n url: \\\"input://\\\" + getItem('hikertvboxset', 'http://' + getIP() + ':9978') + \\\"////请输入TVBox端的IP地址,如http://\\\" + getIP() + \\\":9978.js:setItem('hikertvboxset',input);refreshPage()\\\",\\n col_type: 'flex_button'\\n});\\nvar purl = pushin;\\n\\nif (pushin.includes('\\\\n') && !pushin.startsWith('{')) {\\n purl = pushin.replace(\\\"\\\\n\\\", '$');\\n}\\nif (pushin.startsWith('http') && pushin.includes(';{')) {\\n purl = JSON.stringify({\\n \\\"name\\\": \\\"海阔直链推送\\\",\\n \\\"url\\\": pushin\\n })\\n}\\nif (pushin.startsWith('https://www.aliyundrive.com/s/')) {\\n let reftoken = JSON.parse(fetch('hiker://files/rules/icy/icy-ali-token.json', {}))[0].refresh_token;\\n purl = JSON.stringify({\\n \\\"url\\\": pushin,\\n \\\"refresh_token\\\": reftoken\\n })\\n}\\nif (pushin.includes(':52020')) {\\n if (pushin.includes('redirectPlayUrl')) {\\n purl = JSON.stringify({\\n \\\"name\\\": \\\"海阔投屏直链\\\",\\n \\\"url\\\": pushin\\n })\\n } else {\\n purl = JSON.stringify({\\n \\\"name\\\": \\\"海阔网页投屏\\\",\\n \\\"url\\\": pushin\\n })\\n }\\n}\\n\\n//log('推送'+purl);\\nvar state = request(tvip + '/action', {\\n headers: {\\n 'Content-Type': 'application/x-www-form-urlencoded',\\n //'X-Requested-With': 'XMLHttpRequest',\\n 'Referer': tvip\\n },\\n timeout: 2000,\\n body: 'do=push&url=' + purl.replace(/\\\\&/g, '&&'),\\n method: 'POST'\\n});\\n//log(state);\\nif (state == 'ok') {\\n //log(state);\\n items.push({\\n title: \\\"✅\\\" + state,\\n url: \\\"hiker://empty\\\",\\n col_type: \\\"text_center_1\\\"\\n });\\n} else {\\n //log(state);\\n items.push({\\n title: \\\"❎\\\" + state,\\n url: \\\"hiker://empty\\\",\\n col_type: \\\"text_center_1\\\"\\n });\\n\\n}\\nsetResult(items);\"},{\"col_type\":\"movie_3\",\"name\":\"动态\",\"path\":\"dt\",\"rule\":\"const empty = \\\"hiker://empty\\\"\\n\\ntry {\\n var categories = pdfa(html, 大类定位).concat(pdfa(html, 拼接分类))\\n} catch (e) {\\n var categories = pdfa(html, 大类定位)\\n}\\n\\nlet init_cate = []\\n\\nfor (let i = 0; i < 20; i++) {\\n init_cate.push(\\\"0\\\")\\n}\\n\\nconst fold = getVar(MY_RULE.group, \\\"0\\\")\\nconst cate_temp_json = getVar(MY_RULE.title, JSON.stringify(init_cate))\\nconst cate_temp = JSON.parse(cate_temp_json)\\n\\nif (parseInt(page) === 1) {\\n\\n d.push({\\n title: \\\"🔍\\\",\\n url: \\\"'hiker://search?rule=\\\" + MY_RULE.title + \\\"&s='+input\\\",\\n desc: \\\"搜你想看...\\\",\\n col_type: \\\"input\\\"\\n });\\n\\n d.push({\\n title: fold === '1' ? '““””: (' : '““””: )',\\n url: $().lazyRule((fold) => {\\n putVar(MY_RULE.group, fold === '1' ? '0' : '1');\\n refreshPage(false);\\n return \\\"hiker://empty\\\"\\n }, fold),\\n col_type: 'scroll_button',\\n })\\n\\ncategories.forEach((category, index) => {\\n let sub_categories = pdfa(category, 小类定位);\\n if (index === 0) {\\n sub_categories.forEach((item, key) => {\\n let title = pdfh(item, 分类标题)\\n d.push({\\n title: key.toString() === cate_temp[index] ? '““””' + title + '' : title,\\n url: $(pd(item, 分类链接) + '#noLoading#').lazyRule((params) => {\\n let new_cate = []\\n params.cate_temp.forEach((cate, index) => {\\n new_cate.push(index === 0 ? params.key.toString() : \\\"0\\\")\\n })\\n putVar(MY_RULE.title, JSON.stringify(new_cate))\\n putVar(MY_RULE.url, input)\\n refreshPage(true)\\n return \\\"hiker://empty\\\"\\n }, {\\n cate_temp: cate_temp,\\n key: key,\\n page: page,\\n }),\\n col_type: 'scroll_button',\\n })\\n })\\n d.push({\\n col_type: \\\"blank_block\\\"\\n });\\n } else if (fold === '1') {\\n sub_categories.forEach((item, key) => {\\n let title = pdfh(item, 分类标题)\\n d.push({\\n title: key.toString() === cate_temp[index] ? '““””' + title + '' : title,\\n url: $(pd(item, 分类链接) + '#noLoading#').lazyRule((params) => {\\n params.cate_temp[params.index] = params.key.toString()\\n\\n putVar(MY_RULE.title, JSON.stringify(params.cate_temp))\\n putVar(MY_RULE.url, input)\\n refreshPage(true)\\n return \\\"hiker://empty\\\"\\n }, {\\n cate_temp: cate_temp,\\n index: index,\\n key: key,\\n page: page,\\n }),\\n col_type: 'scroll_button',\\n })\\n })\\n d.push({\\n col_type: \\\"blank_block\\\"\\n });\\n }\\n })\\n}\\n\"}]","proxy":"","icon":"http://mp5.hz.cz/upload/dycms/20240509-1/7d46556c0df5498fe6713f07ae2720b5.png"},{"last_chapter_rule":"","title":"短剧剧场","author":"Aries","version":1,"type":"video","url":"hiker://empty##{\"channelId\":fyAll,\"cnxhFlag\":fypage}","col_type":"movie_2","class_name":"推荐&新剧&逆袭&恋爱&强者回归&豪门恩怨&古装&重生&萌宝&复仇&神医&高手下山&超能悬疑&传承觉醒&神豪&民国","class_url":"308&309&310&311&312&313&314&315&316&317&318&319&320&321&322&323","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js: \nvar d = [];\neval(JSON.parse(request('hiker://page/aes')).rule);\nvar bodys = MY_URL.replace('hiker://empty##', ''); //log(bodys)\nvar body = Encrypt(bodys); //log(body)\nvar url = 'https://freevideo.zqqds.cn/free-video-portal/portal/1121';\nvar html = fetch(url, {\n headers: {\n 'datas': 'e5f22c6e2c82fe001738cb9ce4696eab0556d064a55aef402e0fbe6b29a083f6538e4567de38e67de2071a49d9751526bfba45314e1fd4702b11c76ab9a3b5f873262854ba66e6715ed51364dbc6ee62c7180e047fcbcdbfd49874fc8f28674b16d90ca71a02de76c70598e0b75e647c37c2c19287e49be5f2a259d727dfc4df3d28802388bf3c356576b342e17e30a2ab74859263dba4d1c8eba79990d22d60d60927fdacb2addf2f0eaadd8887585ca2eb87f603faf0c207dda18cf67dc25b2199d303baff9e6605b3314a7d2631f62864f48619daceb9452f2b7b0667773553741856df030cca68af3c57810f983d452bb428ef5fc32206aef4865ae06c629bee7f5135547304acc7ef4e7c6df887308f2e79c493fd2ee03488722861b5bb51b09cb8911dfc92c288d94e601c066d2f9d612ad2c8d4eeb4920b1d44aff3e13fd75229b857f64925df1cf12f75a00d438c422ec1726462b915903f1dd1f4bb7cdf82cc15a6d507f80c789903e710f39a62aef073f3f93a6c681e75d295428aa290d7e98f82e7e9ad6e2b23d9086dfe8c63c5d8550b13fd61a77291473a8bdd43c7c2639f264be69d9d07f0585de4342a399275a64e7d1d4400b8ed4421a2f289f622e40cdd1cfc916a0b9ce747c924ac33e32d24b91ed5d64772d6ad6896412f52724006eabf12aaecfd6e81dad432c7b3800bbf793a1c375e3e7b4fb3b097724b5fc88a8c9bcf3dbc10cbdb252965',\n 'content-type': 'text/plain'\n },\n body: body,\n method: 'POST'\n}); //log(html) //html内容需要解密 AES/CBC/PKCS5Padding key(Hex):647a6b6a67667978677368796c677a6d iv(Hex):6170697570646f776e65646372797074\nvar htmll = JSON.parse(html).data; //log(hrmll)\nvar htmlll = Decrypt(htmll); //log(htmlll)\nvar list = JSON.parse(htmlll).columnData; //log(list)\nlist.forEach(videoDataArray => { // 遍历columnData数组\n videoDataArray.videoData.forEach(video => { // 遍历videoData数组\n d.push({\n title: video.bookName,\n desc: video.updateNum,\n img: video.coverWap + '@Referer=',\n url: \"hiker://page/ej\" + \"#immersiveTheme#\",\n extra: {\n bookId: video.bookId,\n chapterId: video.chapterId,\n chapterMin: video.updateNum,\n chapterMax: video.chapterIndex\n }\n });\n });\n});\nsetResult(d)","searchFind":"js: \nvar d = [];\neval(JSON.parse(request('hiker://page/aes')).rule);\nvar bodys = MY_URL.replace('hiker://empty##', ''); //log(bodys)\nvar body = Encrypt(bodys); //log(body)\nvar url = 'https://freevideo.zqqds.cn/free-video-portal/portal/1803';\nvar html = fetch(url, {\n headers: {\n 'datas': 'e5f22c6e2c82fe001738cb9ce4696eab0556d064a55aef402e0fbe6b29a083f6538e4567de38e67de2071a49d9751526bfba45314e1fd4702b11c76ab9a3b5f873262854ba66e6715ed51364dbc6ee62c7180e047fcbcdbfd49874fc8f28674b16d90ca71a02de76c70598e0b75e647c37c2c19287e49be5f2a259d727dfc4df3d28802388bf3c356576b342e17e30a2ab74859263dba4d1c8eba79990d22d60d60927fdacb2addf2f0eaadd8887585ca2eb87f603faf0c207dda18cf67dc25b2199d303baff9e6605b3314a7d2631f62864f48619daceb9452f2b7b0667773553741856df030cca68af3c57810f983d452bb428ef5fc32206aef4865ae06c629bee7f5135547304acc7ef4e7c6df887308f2e79c493fd2ee03488722861b5bb51b09cb8911dfc92c288d94e601c066d2f9d612ad2c8d4eeb4920b1d44aff3e13fd75229b857f64925df1cf12f75a00d438c422ec1726462b915903f1dd1f4bb7cdf82cc15a6d507f80c789903e710f39a62aef073f3f93a6c681e75d295428aa290d7e98f82e7e9ad6e2b23d9086dfe8c63c5d8550b13fd61a77291473a8bdd43c7c2639f264be69d9d07f0585de4342a399275a64e7d1d4400b8ed4421a2f289f622e40cdd1cfc916a0b9ce747c924ac33e32d24b91ed5d64772d6ad6896412f52724006eabf12aaecfd6e81dad432c7b3800bbf793a1c375e3e7b4fb3b097724b5fc88a8c9bcf3dbc10cbdb252965',\n 'content-type': 'text/plain'\n },\n body: body,\n method: 'POST'\n}); //log(html) //html内容需要解密 AES/CBC/PKCS5Padding key(Hex):647a6b6a67667978677368796c677a6d iv(Hex):6170697570646f776e65646372797074\nvar htmll = JSON.parse(html).data; //log(hrmll)\nvar htmlll = Decrypt(htmll); //log(htmlll)\nvar list = JSON.parse(htmlll).searchVos; //log(list)\nlist.forEach(video => { // 遍历searchVos数组\n d.push({\n title: video.bookName,\n desc: video.updateNum,\n content: video.introduction,\n img: video.coverWap + '@Referer=',\n url: \"hiker://page/ej\" + \"#immersiveTheme#\",\n extra: {\n bookId: video.bookId,\n chapterId: video.chapterId,\n chapterMin: video.updateNum,\n chapterMax: video.chapterIndex\n }\n });\n});\nsetResult(d)","search_url":"hiker://empty##{\"keyword\":\"**\",\"page\":fypage,\"size\":15}","group":"⑧短剧","detail_col_type":"movie_3","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"aes\",\"path\":\"aes\",\"rule\":\"eval(getCryptoJS())\\nconst key = CryptoJS.enc.Hex.parse(\\\"647a6b6a67667978677368796c677a6d\\\");\\nconst iv = CryptoJS.enc.Hex.parse(\\\"6170697570646f776e65646372797074\\\");\\nfunction Decrypt(word) {\\n let encryptedHexStr = CryptoJS.enc.Hex.parse(word);\\n let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);\\n let decrypt = CryptoJS.AES.decrypt(srcs, key, {\\n iv: iv,\\n mode: CryptoJS.mode.CBC,\\n padding: CryptoJS.pad.Pkcs7,\\n });\\n let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);\\n return decryptedStr.toString();\\n}\\n\\nvar keyBytes = CryptoJS.enc.Hex.parse(\\\"647a6b6a67667978677368796c677a6d\\\");\\nvar ivBytes = CryptoJS.enc.Hex.parse(\\\"6170697570646f776e65646372797074\\\");\\nfunction Encrypt(plaintext) {\\n var encrypted = CryptoJS.AES.encrypt(plaintext, keyBytes, {\\n iv: ivBytes,\\n mode: CryptoJS.mode.CBC,\\n padding: CryptoJS.pad.Pkcs7\\n });\\n var ciphertext = encrypted.ciphertext.toString(CryptoJS.enc.Hex);\\n return ciphertext.toUpperCase();\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"二级\",\"path\":\"ej\",\"rule\":\"js:\\nvar d = [];\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar bookId = MY_PARAMS.bookId; //log(bookId)\\nvar chapterId = MY_PARAMS.chapterId; //log(chapterId)\\nvar chapterMin = MY_PARAMS.chapterMin; \\nvar chapterMax = MY_PARAMS.chapterMax; \\n\\nvar body1 = JSON.stringify({\\\"bookId\\\":bookId}); //log(body1)\\nvar body11 = Encrypt(body1); //log(body11)\\nvar url = 'https://freevideo.zqqds.cn/free-video-portal/portal/1131';\\nvar html1 = fetch(url, {\\n headers: {\\n 'datas': 'e5f22c6e2c82fe001738cb9ce4696eab0556d064a55aef402e0fbe6b29a083f6538e4567de38e67de2071a49d9751526bfba45314e1fd4702b11c76ab9a3b5f873262854ba66e6715ed51364dbc6ee62c7180e047fcbcdbfd49874fc8f28674b16d90ca71a02de76c70598e0b75e647c37c2c19287e49be5f2a259d727dfc4df3d28802388bf3c356576b342e17e30a2ab74859263dba4d1c8eba79990d22d60d60927fdacb2addf2f0eaadd8887585ca2eb87f603faf0c207dda18cf67dc25b2199d303baff9e6605b3314a7d2631f62864f48619daceb9452f2b7b0667773553741856df030cca68af3c57810f983d452bb428ef5fc32206aef4865ae06c629bee7f5135547304acc7ef4e7c6df887308f2e79c493fd2ee03488722861b5bb51b09cb8911dfc92c288d94e601c066d2f9d612ad2c8d4eeb4920b1d44aff3e13fd75229b857f64925df1cf12f75a00d438c422ec1726462b915903f1dd1f4bb7cdf82cc15a6d507f80c789903e710f39a62aef073f3f93a6c681e75d295428aa290d7e98f82e7e9ad6e2b23d9086dfe8c63c5d8550b13fd61a77291473a8bdd43c7c2639f264be69d9d07f0585de4342a399275a64e7d1d4400b8ed4421a2f289f622e40cdd1cfc916a0b9ce747c924ac33e32d24b91ed5d64772d6ad6896412f52724006eabf12aaecfd6e81dad432c7b3800bbf793a1c375e3e7b4fb3b097724b5fc88a8c9bcf3dbc10cbdb252965',\\n 'content-type': 'application/json; charset=utf-8'\\n },\\n body: body11,\\n method: 'POST'\\n}); //log(html1)\\nvar html11 = JSON.parse(html1).data; //log(hrml11)\\nvar html111 = Decrypt(html11); //log(html111)\\nvar data = JSON.parse(html111).videoInfo; //log(data)\\n\\nvar body2 = JSON.stringify({\\\"bookId\\\":bookId,\\\"chapterMin\\\":chapterMin,\\\"chapterMax\\\":chapterMax}); //log(body2)\\nvar body22 = Encrypt(body2); //log(body22)\\nvar url = 'https://freevideo.zqqds.cn/free-video-portal/portal/1132';\\nvar html2 = fetch(url, {\\n headers: {\\n 'datas': 'e5f22c6e2c82fe001738cb9ce4696eab0556d064a55aef402e0fbe6b29a083f6538e4567de38e67de2071a49d9751526bfba45314e1fd4702b11c76ab9a3b5f873262854ba66e6715ed51364dbc6ee62c7180e047fcbcdbfd49874fc8f28674b16d90ca71a02de76c70598e0b75e647c37c2c19287e49be5f2a259d727dfc4df3d28802388bf3c356576b342e17e30a2ab74859263dba4d1c8eba79990d22d60d60927fdacb2addf2f0eaadd8887585ca2eb87f603faf0c207dda18cf67dc25b2199d303baff9e6605b3314a7d2631f62864f48619daceb9452f2b7b0667773553741856df030cca68af3c57810f983d452bb428ef5fc32206aef4865ae06c629bee7f5135547304acc7ef4e7c6df887308f2e79c493fd2ee03488722861b5bb51b09cb8911dfc92c288d94e601c066d2f9d612ad2c8d4eeb4920b1d44aff3e13fd75229b857f64925df1cf12f75a00d438c422ec1726462b915903f1dd1f4bb7cdf82cc15a6d507f80c789903e710f39a62aef073f3f93a6c681e75d295428aa290d7e98f82e7e9ad6e2b23d9086dfe8c63c5d8550b13fd61a77291473a8bdd43c7c2639f264be69d9d07f0585de4342a399275a64e7d1d4400b8ed4421a2f289f622e40cdd1cfc916a0b9ce747c924ac33e32d24b91ed5d64772d6ad6896412f52724006eabf12aaecfd6e81dad432c7b3800bbf793a1c375e3e7b4fb3b097724b5fc88a8c9bcf3dbc10cbdb252965',\\n 'content-type': 'application/json; charset=utf-8'\\n },\\n body: body22,\\n method: 'POST'\\n}); //log(html2)\\nvar html22 = JSON.parse(html2).data; //log(hrml22)\\nvar html222 = Decrypt(html22); //log(html222)\\nvar data1 = JSON.parse(html222).chapterList; //log(data1)\\n\\nvar lazy = $('').lazyRule((bookId) => {\\n try {\\n eval(JSON.parse(request('hiker://page/aes')).rule);\\n var body1 = JSON.stringify({\\n \\\"bookId\\\": bookId,\\n \\\"chapterId\\\": input,\\n \\\"unClockType\\\": \\\"pay\\\",\\n \\\"confirmPay\\\": 2,\\n \\\"autoPayFlag\\\": true,\\n \\\"omap\\\": {\\n \\\"channelName\\\": \\\"精选\\\",\\n \\\"logId\\\": \\\"17a6500357709bb2547e1e122b438cfc\\\",\\n \\\"originName\\\": \\\"书城\\\",\\n \\\"recId\\\": \\\"bigdata_rec\\\",\\n \\\"scene\\\": \\\"nsc_727\\\",\\n \\\"sceneId\\\": \\\"dzmf_video_sc_reco\\\",\\n \\\"strategyId\\\": \\\"g6y6b5sq\\\"\\n }\\n }); //log(body1)\\n var body2 = JSON.stringify({\\n \\\"bookId\\\": bookId,\\n \\\"chapterId\\\": input,\\n \\\"unClockType\\\": \\\"ad\\\",\\n \\\"confirmPay\\\": 2,\\n \\\"autoPayFlag\\\": true,\\n \\\"omap\\\": {\\n \\\"channelName\\\": \\\"精选\\\",\\n \\\"logId\\\": \\\"17a6500357709bb2547e1e122b438cfc\\\",\\n \\\"originName\\\": \\\"书城\\\",\\n \\\"recId\\\": \\\"bigdata_rec\\\",\\n \\\"scene\\\": \\\"nsc_727\\\",\\n \\\"sceneId\\\": \\\"dzmf_video_sc_reco\\\",\\n \\\"strategyId\\\": \\\"g6y6b5sq\\\"\\n }\\n }); //log(body2)\\n var body11 = Encrypt(body1); //log(body11)\\n var body22 = Encrypt(body2); //log(body22)\\n var url = 'https://freevideo.zqqds.cn/free-video-portal/portal/1133';\\n var html = fetch(url, {\\n headers: {\\n 'datas': 'e5f22c6e2c82fe001738cb9ce4696eab0556d064a55aef402e0fbe6b29a083f6538e4567de38e67de2071a49d9751526bfba45314e1fd4702b11c76ab9a3b5f873262854ba66e6715ed51364dbc6ee62c7180e047fcbcdbfd49874fc8f28674b16d90ca71a02de76c70598e0b75e647c37c2c19287e49be5f2a259d727dfc4df3d28802388bf3c356576b342e17e30a2ab74859263dba4d1c8eba79990d22d60d60927fdacb2addf2f0eaadd8887585ca2eb87f603faf0c207dda18cf67dc25b2199d303baff9e6605b3314a7d2631f62864f48619daceb9452f2b7b0667773553741856df030cca68af3c57810f983d452bb428ef5fc32206aef4865ae06c629bee7f5135547304acc7ef4e7c6df887308f2e79c493fd2ee03488722861b5bb51b09cb8911dfc92c288d94e601c066d2f9d612ad2c8d4eeb4920b1d44aff3e13fd75229b857f64925df1cf12f75a00d438c422ec1726462b915903f1dd1f4bb7cdf82cc15a6d507f80c789903e710f39a62aef073f3f93a6c681e75d295428aa290d7e98f82e7e9ad6e2b23d9086dfe8c63c5d8550b13fd61a77291473a8bdd43c7c2639f264be69d9d07f0585de4342a399275a64e7d1d4400b8ed4421a2f289f622e40cdd1cfc916a0b9ce747c924ac33e32d24b91ed5d64772d6ad6896412f52724006eabf12aaecfd6e81dad432c7b3800bbf793a1c375e3e7b4fb3b097724b5fc88a8c9bcf3dbc10cbdb252965',\\n 'content-type': 'application/json; charset=utf-8'\\n },\\n body: body11,\\n method: 'POST'\\n }); //log(html)\\n var html1 = JSON.parse(html).data; //log(hrml1)\\n var html11 = Decrypt(html1); //log(html11)\\n var type = JSON.parse(html11).chaptersPayType; //log(type)\\n if (type == '免费') {\\n var data = JSON.parse(html11).chapterInfo; //log(data)\\n var d = [];\\n data.forEach(item => {\\n d.push(item.content);\\n });\\n var play = d[0].m3u8720p; //log(play)\\n return play\\n }\\n if (type == '按章付费') {\\n var html2 = fetch(url, {\\n headers: {\\n 'datas': 'e5f22c6e2c82fe001738cb9ce4696eab0556d064a55aef402e0fbe6b29a083f6538e4567de38e67de2071a49d9751526bfba45314e1fd4702b11c76ab9a3b5f873262854ba66e6715ed51364dbc6ee62c7180e047fcbcdbfd49874fc8f28674b16d90ca71a02de76c70598e0b75e647c37c2c19287e49be5f2a259d727dfc4df3d28802388bf3c356576b342e17e30a2ab74859263dba4d1c8eba79990d22d60d60927fdacb2addf2f0eaadd8887585ca2eb87f603faf0c207dda18cf67dc25b2199d303baff9e6605b3314a7d2631f62864f48619daceb9452f2b7b0667773553741856df030cca68af3c57810f983d452bb428ef5fc32206aef4865ae06c629bee7f5135547304acc7ef4e7c6df887308f2e79c493fd2ee03488722861b5bb51b09cb8911dfc92c288d94e601c066d2f9d612ad2c8d4eeb4920b1d44aff3e13fd75229b857f64925df1cf12f75a00d438c422ec1726462b915903f1dd1f4bb7cdf82cc15a6d507f80c789903e710f39a62aef073f3f93a6c681e75d295428aa290d7e98f82e7e9ad6e2b23d9086dfe8c63c5d8550b13fd61a77291473a8bdd43c7c2639f264be69d9d07f0585de4342a399275a64e7d1d4400b8ed4421a2f289f622e40cdd1cfc916a0b9ce747c924ac33e32d24b91ed5d64772d6ad6896412f52724006eabf12aaecfd6e81dad432c7b3800bbf793a1c375e3e7b4fb3b097724b5fc88a8c9bcf3dbc10cbdb252965',\\n 'content-type': 'application/json; charset=utf-8'\\n },\\n body: body22,\\n method: 'POST'\\n }); //log(html2)\\n var html22 = JSON.parse(html2).data; //log(hrml22)\\n var html222 = Decrypt(html22); //log(html222)\\n var ad = fetch('https://freevideo.zqqds.cn/free-video-portal/portal/1141', {\\n headers: {\\n 'datas': 'e5f22c6e2c82fe001738cb9ce4696eab0556d064a55aef402e0fbe6b29a083f6538e4567de38e67de2071a49d9751526bfba45314e1fd4702b11c76ab9a3b5f873262854ba66e6715ed51364dbc6ee62c7180e047fcbcdbfd49874fc8f28674b16d90ca71a02de76c70598e0b75e647c37c2c19287e49be5f2a259d727dfc4df3d28802388bf3c356576b342e17e30a2ab74859263dba4d1c8eba79990d22d60d60927fdacb2addf2f0eaadd8887585ca2eb87f603faf0c207dda18cf67dc25b2199d303baff9e6605b3314a7d2631f62864f48619daceb9452f2b7b0667773553741856df030cca68af3c57810f983d452bb428ef5fc32206aef4865ae06c629bee7f5135547304acc7ef4e7c6df887308f2e79c493fd2ee03488722861b5bb51b09cb8911dfc92c288d94e601c066d2f9d612ad2c8d4eeb4920b1d44aff3e13fd75229b857f64925df1cf12f75a00d438c422ec1726462b915903f1dd1f4bb7cdf82cc15a6d507f80c789903e710f39a62aef073f3f93a6c681e75d295428aa290d7e98f82e7e9ad6e2b23d9086dfe8c63c5d8550b13fd61a77291473a8bdd43c7c2639f264be69d9d07f0585de4342a399275a64e7d1d4400b8ed4421a2f289f622e40cdd1cfc916a0b9ce747c924ac33e32d24b91ed5d64772d6ad6896412f52724006eabf12aaecfd6e81dad432c7b3800bbf793a1c375e3e7b4fb3b097724b5fc88a8c9bcf3dbc10cbdb252965',\\n 'content-type': 'application/json; charset=utf-8'\\n },\\n body: `4e160fc6fecf9622f6eb724c0a93e153b7b0f0d48a5f27f02f36cefe52ba3496`,\\n method: 'POST'\\n }); //log(ad)\\n var html = fetch(url, {\\n headers: {\\n 'datas': 'e5f22c6e2c82fe001738cb9ce4696eab0556d064a55aef402e0fbe6b29a083f6538e4567de38e67de2071a49d9751526bfba45314e1fd4702b11c76ab9a3b5f873262854ba66e6715ed51364dbc6ee62c7180e047fcbcdbfd49874fc8f28674b16d90ca71a02de76c70598e0b75e647c37c2c19287e49be5f2a259d727dfc4df3d28802388bf3c356576b342e17e30a2ab74859263dba4d1c8eba79990d22d60d60927fdacb2addf2f0eaadd8887585ca2eb87f603faf0c207dda18cf67dc25b2199d303baff9e6605b3314a7d2631f62864f48619daceb9452f2b7b0667773553741856df030cca68af3c57810f983d452bb428ef5fc32206aef4865ae06c629bee7f5135547304acc7ef4e7c6df887308f2e79c493fd2ee03488722861b5bb51b09cb8911dfc92c288d94e601c066d2f9d612ad2c8d4eeb4920b1d44aff3e13fd75229b857f64925df1cf12f75a00d438c422ec1726462b915903f1dd1f4bb7cdf82cc15a6d507f80c789903e710f39a62aef073f3f93a6c681e75d295428aa290d7e98f82e7e9ad6e2b23d9086dfe8c63c5d8550b13fd61a77291473a8bdd43c7c2639f264be69d9d07f0585de4342a399275a64e7d1d4400b8ed4421a2f289f622e40cdd1cfc916a0b9ce747c924ac33e32d24b91ed5d64772d6ad6896412f52724006eabf12aaecfd6e81dad432c7b3800bbf793a1c375e3e7b4fb3b097724b5fc88a8c9bcf3dbc10cbdb252965',\\n 'content-type': 'application/json; charset=utf-8'\\n },\\n body: body11,\\n method: 'POST'\\n }); //log(html)\\n var html1 = JSON.parse(html).data; //log(hrml1)\\n var html11 = Decrypt(html1); //log(html11)\\n var data = JSON.parse(html11).chapterInfo; //log(data)\\n var d = [];\\n data.forEach(item => {\\n d.push(item.content);\\n });\\n var play = d[0].m3u8720p; //log(play)\\n return play\\n }\\n } catch (e) {\\n toast('已解锁全部剧集,请重新播放')\\n var url = \\\"hiker://empty\\\";\\n return url\\n }\\n}, bookId)\\n\\nd.push({\\n title: '片名:'+data.bookName+'\\\\n'+'类型:'+data.bookTags,\\n desc: '简介:'+data.introduction,\\n img: data.coverWap + '@Referer=',\\n url: data.coverWap,\\n col_type: 'movie_1_vertical_pic_blur',\\n})\\n\\n\\nvar list = data1; //log(list)\\n\\ntry {\\n list.forEach(data => {\\n d.push({\\n title: data.chapterName,\\n img: data.chapterImg,\\n url: data.chapterId+lazy,\\n col_type: 'movie_2',\\n })\\n })\\n} catch (e) {}\\nsetResult(d)\"}]","proxy":"","icon":"https://www.kuaikaw.cn/images/common/logo.png"},{"last_chapter_rule":"","title":"抖短剧APP","author":"zhao","version":1,"type":"video","url":"hiker://empty##fypage","col_type":"movie_3","class_name":"现言&古言&都市&热血&玄幻&历史","class_url":"现言&古言&都市&热血&玄幻&历史","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js: \nvar d = [];\n\neval(JSON.parse(request('hiker://page/aes')).rule);\n\nvar timestamp = new Date().getTime() / 1000; //log(timestamp)\nvar t10 = timestamp.toString().split('.')[0]; //log(t10)\nvar t13 = t10+'000'; //log(t13)\n\nvar key = '7e215d55721ec029';\nvar key1 = 'c11b42e542c84ac2c5ed7210183fc0b1';\nvar body = 'ac=mobile&os=Android&vod_version=1.10.21.6-tob&os_version=12&num=20&type=2&clientVersion=5.5.2&uuid=LN6SS47SESZEUSI7CBVGJRJ5QX6KGSVVEEYC7VPOFTTQGM36SDIA01&resolution=1080*2276&openudid=6fc50bed8200dea8&dt=22021211RC&sha1=A03F3CE220A3848E65415AB72EC23326ED168A70&os_api=31&install_id=957035142195658&device_brand=Redmi&sdk_version=1.1.3.0&package_name=cn.jufeng66.ddju&siteid=5437174&dev_log_aid=545036&page='+MY_PAGE+'&category='+MY_CLASS_URL+'&oaid=abec0dfff623201b×tamp='+t10; //log(body)\nvar body1 = aesEncryptECB(body, key); //log(body1)\nvar body2 = t10+'LfvqAfa24hCqNRZn'+body; //log(body2)\nvar signature = hmacSHA256(body2, key1); //log(signature)\nvar url = 'https://csj-sp.csjdeveloper.com/csj_sp/api/v1/shortplay/list?siteid=5437174'; //log(url)\n\nvar headers = {\n 'X-Salt': '2555D2C5F23',\n 'X-Nonce': 'LfvqAfa24hCqNRZn',\n 'X-Timestamp': t10,\n 'X-Access-Token': '9211d7c498cabc2db409e3fafb31e74ce4fa4657078a11cc3e51bf055f771591aca67dd0c7396a4f2713dbeb9511206977b9e11bb49207ba4fb2fd7688f686f0ae728ae3499f6789ab423e2a052b8a3daf2211cb38e6c7a4d1acd1d4cb550f17d624ccc45ef742af049df8298f617cd0826aed26ede0b88bcecbf973a5ea33a67eefd0ae39e560385d6be20b44095b33a1e05cd823e9a6d6c014faeafbff4e23ef954ed2df70cd42d2c755a99ee8f3a73b31388c9affe77e462683459043b01d697ef4b505d59d7bdeb7f4345ff19f5d9b09aae080bd8542d6c89efdd41fbc3d066697627a039c73d777a5c9bb5147763b68dff8923cbb360a737be5b471c89b9c441d91bf0364b73db7a90fe1d47a98c0e4f2ab34259863cb42274f8fcc72dd',\n 'X-Signature': signature,\n 'Content-Type': 'application/x-www-form-urlencoded; charset\\u003dutf-8',\n 'Content-Length': '649',\n 'Host': 'csj-sp.csjdeveloper.com',\n 'Connection': 'Keep-Alive',\n //'Accept-Encoding': 'gzip',\n 'User-Agent': 'Mozilla/5.0 (Linux; Android 12; 22021211RC Build/SKQ1.211006.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/99.0.4844.88 Mobile Safari/537.36 okhttp/3.9.1 djxsdk/1.1.3.0'\n }; //log(headers)\nvar html = fetch(url, {\n headers: headers,\n body:body1,\n method: 'POST',\n rejectCoding: true\n}); //log(html)\n\nvar html1 = aesDecryptECB(html, key); //log(html1)\nvar list = JSON.parse(html1).data.list; //log(list)\n\nlist.forEach(data => {\n d.push({\n title: data.title,\n desc: data.total,\n img: data.cover_image + '@Referer=',\n url: \"hiker://page/ej\" + \"#immersiveTheme#\",\n extra: {\n shortplay_id: data.shortplay_id\n }\n })\n })\n\nsetResult(d)","searchFind":"js: \nvar d = [];\n\neval(JSON.parse(request('hiker://page/aes')).rule);\n\nvar timestamp = new Date().getTime() / 1000; //log(timestamp)\nvar t10 = timestamp.toString().split('.')[0]; //log(t10)\nvar t13 = t10+'000'; //log(t13)\n\nvar key = '7e215d55721ec029';\nvar key1 = 'c11b42e542c84ac2c5ed7210183fc0b1';\nvar body = 'ac=mobile&os=Android&vod_version=1.10.21.6-tob&os_version=12&query='+MY_KEYWORD+'&num=20&type=1&clientVersion=5.5.2&uuid=LN6SS47SESZEUSI7CBVGJRJ5QX6KGSVVEEYC7VPOFTTQGM36SDIA01&resolution=1080*2276&is_fuzzy=1&openudid=6fc50bed8200dea8&dt=22021211RC&sha1=A03F3CE220A3848E65415AB72EC23326ED168A70&os_api=31&install_id=957035142195658&device_brand=Redmi&sdk_version=1.1.3.0&package_name=cn.jufeng66.ddju&siteid=5437174&dev_log_aid=545036&page='+MY_PAGE+'&oaid=abec0dfff623201b×tamp='+t10; //log(body)\nvar body1 = aesEncryptECB(body, key); //log(body1)\nvar body2 = t10+'LfvqAfa24hCqNRZn'+body; //log(body2)\nvar signature = hmacSHA256(body2, key1); //log(signature)\nvar url = 'https://csj-sp.csjdeveloper.com/csj_sp/api/v1/shortplay/search?siteid=5437174'; //log(url)\n\nvar headers = {\n 'X-Salt': '2555D2C5F23',\n 'X-Nonce': 'LfvqAfa24hCqNRZn',\n 'X-Timestamp': t10,\n 'X-Access-Token': '9211d7c498cabc2db409e3fafb31e74ce4fa4657078a11cc3e51bf055f771591aca67dd0c7396a4f2713dbeb9511206977b9e11bb49207ba4fb2fd7688f686f0ae728ae3499f6789ab423e2a052b8a3daf2211cb38e6c7a4d1acd1d4cb550f17d624ccc45ef742af049df8298f617cd0826aed26ede0b88bcecbf973a5ea33a67eefd0ae39e560385d6be20b44095b33a1e05cd823e9a6d6c014faeafbff4e23ef954ed2df70cd42d2c755a99ee8f3a73b31388c9affe77e462683459043b01d697ef4b505d59d7bdeb7f4345ff19f5d9b09aae080bd8542d6c89efdd41fbc3d066697627a039c73d777a5c9bb5147763b68dff8923cbb360a737be5b471c89b9c441d91bf0364b73db7a90fe1d47a98c0e4f2ab34259863cb42274f8fcc72dd',\n 'X-Signature': signature,\n 'Content-Type': 'application/x-www-form-urlencoded; charset\\u003dutf-8',\n 'Content-Length': '649',\n 'Host': 'csj-sp.csjdeveloper.com',\n 'Connection': 'Keep-Alive',\n //'Accept-Encoding': 'gzip',\n 'User-Agent': 'Mozilla/5.0 (Linux; Android 12; 22021211RC Build/SKQ1.211006.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/99.0.4844.88 Mobile Safari/537.36 okhttp/3.9.1 djxsdk/1.1.3.0'\n }; //log(headers)\nvar html = fetch(url, {\n headers: headers,\n body:body1,\n method: 'POST',\n rejectCoding: true\n}); //log(html)\n\nvar html1 = aesDecryptECB(html, key); //log(html1)\nvar list = JSON.parse(html1).data.list; //log(list)\n\nlist.forEach(data => {\n d.push({\n title: data.title,\n desc: data.total,\n img: data.cover_image + '@Referer=',\n url: \"hiker://page/ej\" + \"#immersiveTheme#\",\n extra: {\n shortplay_id: data.shortplay_id\n }\n })\n })\n\nsetResult(d)","search_url":"hiker://empty##**##fypage","group":"⑧短剧","detail_col_type":"movie_3","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"aes\",\"path\":\"aes\",\"rule\":\"//加载CryptoJS库\\neval(getCryptoJS())\\n\\n// 解密函数\\nfunction aesDecryptECB(encryptedData, key) {\\n // 将key转换为CryptoJS支持的格式\\n const keyCrypto = CryptoJS.enc.Utf8.parse(key);\\n // 将加密的Base64字符串转换为CryptoJS支持的格式\\n const encryptedCrypto = CryptoJS.enc.Base64.parse(encryptedData);\\n // 使用AES/ECB/PKCS5Padding进行解密\\n const decrypted = CryptoJS.AES.decrypt({\\n ciphertext: encryptedCrypto\\n }, keyCrypto, {\\n mode: CryptoJS.mode.ECB,\\n padding: CryptoJS.pad.Pkcs7\\n });\\n // 检查解密是否成功\\n if (decrypted) {\\n // 返回utf8格式的解密结果\\n return decrypted.toString(CryptoJS.enc.Utf8);\\n } else {\\n return \\\"解密失败\\\";\\n }\\n}\\n\\n// 加密函数\\nfunction aesEncryptECB(decrypteddata, key) {\\n // 将key转换为CryptoJS支持的格式\\n const keyCrypto = CryptoJS.enc.Utf8.parse(key);\\n // 将数据转换为CryptoJS支持的格式\\n const dataCrypto = CryptoJS.enc.Utf8.parse(decrypteddata);\\n // 使用AES/ECB/PKCS5Padding进行加密\\n const encrypted = CryptoJS.AES.encrypt(dataCrypto, keyCrypto, {\\n mode: CryptoJS.mode.ECB,\\n padding: CryptoJS.pad.Pkcs7\\n });\\n // 检查解密是否成功\\n if (encrypted) {\\n // 返回Base64格式的加密结果\\n return encrypted.toString();\\n } else {\\n return \\\"解密失败\\\";\\n }\\n}\\n\\nfunction generateUUID() {\\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\\n var r = Math.random() * 16 | 0;\\n var v = c === 'x' ? r : (r & 0x3 | 0x8);\\n return v.toString(16);\\n });\\n}\\n\\nfunction getCurrentTimestamp() {\\n return new Date().getTime();\\n}\\n\\nfunction md5(uuid) {\\n return CryptoJS.MD5(uuid).toString();\\n}\\n\\nfunction hmacSHA256(message, secretKey) {\\n // 使用CryptoJS库中的HmacSHA256方法进行加密\\n const hash = CryptoJS.HmacSHA256(message, secretKey);\\n\\n // 将加密结果转换为Hex格式\\n return hash.toString(CryptoJS.enc.Hex);\\n}\\n\\nfunction sha256(message) {\\n return CryptoJS.SHA256(message).toString();\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"二级\",\"path\":\"ej\",\"rule\":\"js:\\nvar d = [];\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar timestamp = new Date().getTime() / 1000; //log(timestamp)\\nvar t10 = timestamp.toString().split('.')[0]; //log(t10)\\nvar t13 = t10+'000'; //log(t13)\\nvar shortplay_id = MY_PARAMS.shortplay_id; \\n\\nvar key = '7e215d55721ec029';\\nvar key1 = 'c11b42e542c84ac2c5ed7210183fc0b1';\\nvar body = 'not_include=0&lock_free=1&type=1&clientVersion=5.5.2&uuid=LN6SS47SESZEUSI7CBVGJRJ5QX6KGSVVEEYC7VPOFTTQGM36SDIA01&resolution=1080*2276&openudid=6fc50bed8200dea8&dt=22021211RC&os_api=31&install_id=957035142195658&sdk_version=1.1.3.0&siteid=5437174&dev_log_aid=545036&oaid=abec0dfff623201b×tamp='+t10+'&direction=0&ac=mobile&os=Android&vod_version=1.10.21.6-tob&os_version=12&count=0&index=1&shortplay_id='+shortplay_id+'&sha1=A03F3CE220A3848E65415AB72EC23326ED168A70&device_brand=Redmi&package_name=cn.jufeng66.ddju'; //log(body)\\nvar body1 = aesEncryptECB(body, key); //log(body1)\\nvar body2 = t10+'LfvqAfa24hCqNRZn'+body; //log(body2)\\nvar signature = hmacSHA256(body2, key1); //log(signature)\\nvar url = 'https://csj-sp.csjdeveloper.com/csj_sp/api/v1/shortplay/detail?siteid=5437174'; //log(url)\\n\\nvar headers = {\\n 'X-Salt': '2555D2C5F23',\\n 'X-Nonce': 'LfvqAfa24hCqNRZn',\\n 'X-Timestamp': t10,\\n 'X-Access-Token': '9211d7c498cabc2db409e3fafb31e74ce4fa4657078a11cc3e51bf055f771591aca67dd0c7396a4f2713dbeb9511206977b9e11bb49207ba4fb2fd7688f686f0ae728ae3499f6789ab423e2a052b8a3daf2211cb38e6c7a4d1acd1d4cb550f17d624ccc45ef742af049df8298f617cd0826aed26ede0b88bcecbf973a5ea33a67eefd0ae39e560385d6be20b44095b33a1e05cd823e9a6d6c014faeafbff4e23ef954ed2df70cd42d2c755a99ee8f3a73b31388c9affe77e462683459043b01d697ef4b505d59d7bdeb7f4345ff19f5d9b09aae080bd8542d6c89efdd41fbc3d066697627a039c73d777a5c9bb5147763b68dff8923cbb360a737be5b471c89b9c441d91bf0364b73db7a90fe1d47a98c0e4f2ab34259863cb42274f8fcc72dd',\\n 'X-Signature': signature,\\n 'Content-Type': 'application/x-www-form-urlencoded; charset\\\\u003dutf-8',\\n 'Content-Length': '649',\\n 'Host': 'csj-sp.csjdeveloper.com',\\n 'Connection': 'Keep-Alive',\\n //'Accept-Encoding': 'gzip',\\n 'User-Agent': 'Mozilla/5.0 (Linux; Android 12; 22021211RC Build/SKQ1.211006.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/99.0.4844.88 Mobile Safari/537.36 okhttp/3.9.1 djxsdk/1.1.3.0'\\n }; //log(headers)\\nvar html = fetch(url, {\\n headers: headers,\\n body:body1,\\n method: 'POST',\\n rejectCoding: true\\n}); //log(html)\\nvar html1 = aesDecryptECB(html, key); //log(html1)\\nvar data = JSON.parse(html1).data.list[0]; //log(data)\\n\\nd.push({\\n title: '片名:'+data.title+'\\\\n'+'类型:'+data.category_name,\\n desc: data.desc,\\n img: data.cover_image + '@Referer=',\\n url: data.cover_image,\\n col_type: 'movie_1_vertical_pic_blur',\\n})\\n\\nvar lazy = $('').lazyRule((shortplay_id) => {\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar timestamp = new Date().getTime() / 1000; //log(timestamp)\\nvar t10 = timestamp.toString().split('.')[0]; //log(t10)\\nvar t13 = t10+'000'; //log(t13)\\n\\nvar key = '7e215d55721ec029';\\nvar key1 = 'c11b42e542c84ac2c5ed7210183fc0b1';\\n\\nvar bodyad = 'ac=mobile&os=Android&vod_version=1.10.21.6-tob&os_version=12&lock_ad=20&lock_free=20&type=1&clientVersion=5.5.2&uuid=LN6SS47SESZEUSI7CBVGJRJ5QX6KGSVVEEYC7VPOFTTQGM36SDIA01&resolution=1080*2276&openudid=6fc50bed8200dea8&shortplay_id='+shortplay_id+'&dt=22021211RC&sha1=A03F3CE220A3848E65415AB72EC23326ED168A70&lock_index='+input+'&os_api=31&install_id=957035142195658&device_brand=Redmi&sdk_version=1.1.3.0&package_name=cn.jufeng66.ddju&siteid=5437174&dev_log_aid=545036&oaid=abec0dfff623201b×tamp='+t10; //log(bodyad)\\nvar bodyad1 = aesEncryptECB(bodyad, key); //log(bodyad1)\\nvar bodyad2 = t10+'LfvqAfa24hCqNRZn'+bodyad; //log(bodyad2)\\nvar signaturead = hmacSHA256(bodyad2, key1); //log(signaturead)\\nvar url = 'https://csj-sp.csjdeveloper.com/csj_sp/api/v1/pay/ad_unlock?siteid=5437174'; //log(url)\\n\\nvar headers = {\\n 'X-Salt': '2555D2C5F23',\\n 'X-Nonce': 'LfvqAfa24hCqNRZn',\\n 'X-Timestamp': t10,\\n 'X-Access-Token': '9211d7c498cabc2db409e3fafb31e74ce4fa4657078a11cc3e51bf055f771591aca67dd0c7396a4f2713dbeb9511206977b9e11bb49207ba4fb2fd7688f686f0ae728ae3499f6789ab423e2a052b8a3daf2211cb38e6c7a4d1acd1d4cb550f17d624ccc45ef742af049df8298f617cd0826aed26ede0b88bcecbf973a5ea33a67eefd0ae39e560385d6be20b44095b33a1e05cd823e9a6d6c014faeafbff4e23ef954ed2df70cd42d2c755a99ee8f3a73b31388c9affe77e462683459043b01d697ef4b505d59d7bdeb7f4345ff19f5d9b09aae080bd8542d6c89efdd41fbc3d066697627a039c73d777a5c9bb5147763b68dff8923cbb360a737be5b471c89b9c441d91bf0364b73db7a90fe1d47a98c0e4f2ab34259863cb42274f8fcc72dd',\\n 'X-Signature': signaturead,\\n 'Content-Type': 'application/x-www-form-urlencoded; charset\\\\u003dutf-8',\\n 'Content-Length': '649',\\n 'Host': 'csj-sp.csjdeveloper.com',\\n 'Connection': 'Keep-Alive',\\n //'Accept-Encoding': 'gzip',\\n 'User-Agent': 'Mozilla/5.0 (Linux; Android 12; 22021211RC Build/SKQ1.211006.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/99.0.4844.88 Mobile Safari/537.36 okhttp/3.9.1 djxsdk/1.1.3.0'\\n }; //log(headers)\\nvar htmlad = fetch(url, {\\n headers: headers,\\n body:bodyad1,\\n method: 'POST',\\n rejectCoding: true\\n}); //log(html)\\nvar htmlad1 = aesDecryptECB(htmlad, key); //log(htmlad1)\\n\\nvar body = 'not_include=0&lock_free='+input+'&type=1&clientVersion=5.5.2&uuid=LN6SS47SESZEUSI7CBVGJRJ5QX6KGSVVEEYC7VPOFTTQGM36SDIA01&resolution=1080*2276&openudid=6fc50bed8200dea8&dt=22021211RC&os_api=31&install_id=957035142195658&sdk_version=1.1.3.0&siteid=5437174&dev_log_aid=545036&oaid=abec0dfff623201b×tamp='+t10+'&direction=0&ac=mobile&os=Android&vod_version=1.10.21.6-tob&os_version=12&count=0&index='+input+'&shortplay_id='+shortplay_id+'&sha1=A03F3CE220A3848E65415AB72EC23326ED168A70&device_brand=Redmi&package_name=cn.jufeng66.ddju'; //log(body)\\nvar body1 = aesEncryptECB(body, key); //log(body1)\\nvar body2 = t10+'LfvqAfa24hCqNRZn'+body; //log(body2)\\nvar signature = hmacSHA256(body2, key1); //log(signature)\\nvar url = 'https://csj-sp.csjdeveloper.com/csj_sp/api/v1/shortplay/detail?siteid=5437174'; //log(url)\\n\\nvar headers = {\\n 'X-Salt': '2555D2C5F23',\\n 'X-Nonce': 'LfvqAfa24hCqNRZn',\\n 'X-Timestamp': t10,\\n 'X-Access-Token': '9211d7c498cabc2db409e3fafb31e74ce4fa4657078a11cc3e51bf055f771591aca67dd0c7396a4f2713dbeb9511206977b9e11bb49207ba4fb2fd7688f686f0ae728ae3499f6789ab423e2a052b8a3daf2211cb38e6c7a4d1acd1d4cb550f17d624ccc45ef742af049df8298f617cd0826aed26ede0b88bcecbf973a5ea33a67eefd0ae39e560385d6be20b44095b33a1e05cd823e9a6d6c014faeafbff4e23ef954ed2df70cd42d2c755a99ee8f3a73b31388c9affe77e462683459043b01d697ef4b505d59d7bdeb7f4345ff19f5d9b09aae080bd8542d6c89efdd41fbc3d066697627a039c73d777a5c9bb5147763b68dff8923cbb360a737be5b471c89b9c441d91bf0364b73db7a90fe1d47a98c0e4f2ab34259863cb42274f8fcc72dd',\\n 'X-Signature': signature,\\n 'Content-Type': 'application/x-www-form-urlencoded; charset\\\\u003dutf-8',\\n 'Content-Length': '649',\\n 'Host': 'csj-sp.csjdeveloper.com',\\n 'Connection': 'Keep-Alive',\\n //'Accept-Encoding': 'gzip',\\n 'User-Agent': 'Mozilla/5.0 (Linux; Android 12; 22021211RC Build/SKQ1.211006.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/99.0.4844.88 Mobile Safari/537.36 okhttp/3.9.1 djxsdk/1.1.3.0'\\n }; //log(headers)\\nvar html = fetch(url, {\\n headers: headers,\\n body:body1,\\n method: 'POST',\\n rejectCoding: true\\n}); //log(html)\\nvar html1 = aesDecryptECB(html, key); //log(html1)\\nvar data = JSON.parse(html1).data.list[0]; //log(data)\\nvar play = data.video_model.video_list.video_1.main_url; //log(play)\\nvar play2 = base64Decode(play); \\nreturn play2\\n},shortplay_id)\\n\\nvar list = JSON.parse(html1).data.episode_right_list; //log(list)\\ntry {\\n list.forEach(data => {\\n d.push({\\n title: data.index,\\n url: data.index+lazy,\\n col_type: 'text_4',\\n })\\n })\\n} catch (e) {}\\n\\nsetResult(d)\"}]","proxy":"","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIoAAACKCAYAAAB1h9JkAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\nCHwIZIgAACAASURBVHic7Z1ZcFzXmd9/59y1u7GRBEASBHdCBDeRlLhTlCxKGmoZeSzbM66ZqYzj\nqkySl5RTlUlSfsnTJKk8pFKeGte4nIzt1MzYJdszdmx5kyxLtuURxUUUKYIEF3GBQIIgARBro5d7\nz8nD6SaxNLh13+4GjX/VqUb37b59cO+/v+185/tgDnOYwxzmMIc5zKH6ICo9AcACZO7RwszJzh2T\nuedWgc/Jssyu9FAFnuspfwe5xzD3WpgbFUM5iJK/0TYQBxYAjZ7nNWaz2SVKqcXAIqAZqAPqXdet\nB2JCCE8p5QL+xBOGYWgrpWYlUaSUyrKsIP9ca62FEGnLsrJa6zSQTKfTQ8AQMAzcAHqklFeFEFeE\nEP1BEPQBA8AYhlQht8kWCaIkig3EgCbP89aFYbhJKbVcKbVMSrlCStmqlKrRWgtAaB3p/zkrIYRA\na42UUgPasqyxMAy7lVKXgC7XdS8JITrS6fRpoBcYxxCn9HOJ4JwOUA+scV33pTAMdymllgkhliml\n/Lt9eA73DillCujWWl+Ox+NHxsbG/h9wBiOJIiFMqdAA7Kitrf0/lmVdFkKMYUTi3IhwCCG0ECIp\npexKJBJfB3Zg1HhVQQCu53lrYrHYf4jH49eogov3uzw8z7vqed5feJ7XBrhUgdMigcba2tpP+b7/\nhpQyb7XPjQoPIYSqr6//VSwWewVookgvsZDbeT+fXea67r8AvpTJZLYppSrO3DncgshkMssty9ou\npdRhGHYDIxgi3TcelCgWsMK27X+vlPq32Wx2yZzXUp0Iw3AesFUIEdNan8UYumW5WRawKhaL/YOU\nMiOEqLiYnRv3NDKxWOwfgFUUp0nuCRbQniPJnD0yy4aUUvu+/x1gHfdJlvt5swSWSSm/GATBn2mt\nI2flHEoLrTVKqUeEELbW+hQm+qvv5bP3erMF0Oi67p9prf+N1rrmQSc7h8pCa21JKVdbljWqlOoE\nkvfyuXslihuLxZ4TQnwpCIKWOcN11iPmuu5qx3HOBEFwnlItOHqe90h9ff2b+TWHuTH7hxBC+77/\nC6CNe8C9SJR627b/NJVK/au5OMnDhTAMV/q+3xMEQQeQKuZcNrDT87y5sPxDOnzfvwHswSzmzoi7\nhXXramtr/zydTi+8y/vmMEuRSqUaE4nEn2NW/GfEnYhiA21jY2PPlXRmc6g6pFKp/RhbxZ7pPTMe\nAGI1NTWfTCaTTSWf2d0gpRlCmDEjNHdeGL3f4/r2g9bTx0MKpVSj67q/n8lkTmLWg6ZhJqIIoGl8\nfHyHUioW2QwnfaMAxwHPg4XNsGghzGsAzwfHNjdKiAgfc6ms2RCyGRgfh7ExGByGoSEYGTbHggDC\nENTU1NdZjXg2m92JSUcd5dYv5jZmIooVj8fXpVKpZVHO7vYsLJg/Hzasg107YcUyaGqCmhpDHCnL\nk1GhtSFAJgvptCHL6CgMDcONG/DxFbh4ES5cgv5+yAbm/bNc2mitEUIstSyrPQzDyxTIjpuJKHYQ\nBBuEEEujnSJgWbB5M7zwHOzZBatWQjwOCJA5dkQqSQo8wuRHpSCVhpER6B+Anh44ew7ePQQnPoTB\noVkvYXJE2RSG4ZsUIMpMv9MmKeVfKqX+dWQzkxLqauHZ/fAHvw+bHzWqxqryJSStjeoZS0Lvdbh4\nCQ4dgXcPwoWL5vWwojsrisH/Br4E9E89MJNEmaeUik6a2DY0N8HvPWNIsn4dJBKGPAUg80MIpNbY\nQsBEASCI7LnKPQ81aJHblOM4qPo6dH0damkrtLfBzu1w/AS8d9iopsFByGRmm6RZCjRyr0SxbXsB\nsCIIIkjklhIWzId9e+CPPgNrHwHfn+bdCAw5fCGoQ7LQsqgXghohiSEMWSbYXAKBjuB5fvdVGk1K\nmzGuFUkNI0oxEo+RXraccNFiwg3rUI9tgcPvw9H34fwFGBiAbLZUVy9SCCFWWJa1oNB9L0gUy7Ia\nwzBsjWQ2vg8b1sPzB6C9HTy3IEl8YKG0abNsNrkuGy2HpZZNg5DEpERwe99LlI9KG/oEWjEODKuQ\nAa24HoRc1SHdQUCvVvTaDn2tPkONC8iuXUv46Eb0b/8ZDh6Cro+NSqpyWJbVqrVuLHSsIFGy2WwL\nkIhkNgub4RNPwrbHCpIEwEWw2/F43vN5youxxnKIS4kNWEJULKVcoVEIQq0J0WSUJonmWhjwURDQ\nGWY46cY4GUvQ1dzI2Kb16M2b4LWfGpU0Mlqhmd8bwjCMCyEWFTpWiCgWsCS3g6+0cF2jarY8CvX1\nBSVJDfCyH+dzfoLHXY9GIXGFQNwx8FYeSAQScmpPELegTmuapEWb7bBP+VxxAzrDLMe8OEdjCTpq\narm5aDHB4kXwi7fgWm81u9MiZ5taTEk9KEgUpVSziOLOxOOwdTMsW2piJ1MmslBKXvFq+FwszkbH\npVZIrCogyJ0ghSGPIywSQjPPslilHLY5Hvt9n6NejIM1dXzY2Mj1hc1kXv8l+tw5425XH2EEJugm\nuQeiSCHEgkiSkxY1Q9tq4wZP/kKahOAFN87nYwnWuS4xBLLKSTIVUgg8wLMsaqSkxbJZazvs8mIc\njtfwVk0tHQua6Hvtx2Q/OAHJZDWSZT5GokyywAtKFK31/EimsHy5Cc3bk7/WB7Y5Hq/4RpJ4VIeq\nKQaOEDhCkJAOLdJmwzyXxzbE+Xl9A6/HfC4oTer9YyYCXCXICYc8USahEFHypkLpsXxZQdtkibR4\nwY2xy/NxZzlBpkIiiEmBj6Q5UcOW1W1s+2wtf1tbx8H/9WXGO8+Y9aPqQR0FArGFIlyW53nREKWu\nBnxv0ksOsN122eJ61FTQo4ka+SIxzbbDS82L+S8HXuDlL3yBpjVrsBynaiSo53n13KtEkVLGI5mF\n406Lvs4Xksdcj1Zp4Qj50BIFTNxHAPW2zbamZv7zZz9Lm9L8+NVXOXv6NOPJJJVOXNdaF8wWKGij\nCCGiqWNiomSTXlpp26yxHOrlw02SiRBCkHAcNrQsoebTn6ZBCH74wx9y/IMPGBkZqTRZ4hTQNAUD\nbrlyWKXHxNXZHFZImxbLfuhsk7tBCIFn26xevpw/+sM/JB6LgdYcPnyYVKqoPOeioLW2KWCjFHSP\nlVJ3ynwrZhaTJIoAFlk284XAEbOyJFvRsCyL1tZWPv3pT+O6LkNDQ5w+fZpshdaHhBAOBXhR6O4I\nrXVEqmeyRLEx7pUvJbL64gllg5SS5uZmXnnlFb74xS/S3t6O69wxKT4yKKUK5nkUlByR6cgpEgVM\nOFzmFuBKAqVQqRR6dBSdE+HC85B1deB5iBlSGSoNKSX19fW8+OKLpNNpvv7Vr3Kqs5PxTGZ6XmIF\nEI2KmQlTJEreGZ64Wvug0EpBMkn28mXCs2fJXroEN2+ilMKaNw+5fDluezvW0qWGNFVoE9m2TWNj\nI598+WXSPT38UzrN++fPkwzDipOlvEQpIFHy5CiWJGpggMyRI6R++EOyR46g+vrQ4+PmDa6LbGjA\n3b4dd/9+3B07sFtbEX71Fam0bZvFixfzyqc+RayvDz0wwOEbN6h0/HYmYzYaBVnA6zGZZEWQRGv0\n8DDp3/yG5De/SebXv0aPjExLR1RdXYQXL5I+epTY88/jHTiAu3kz1NYiLauqJIy0LFoeeYQDL71E\neO4cI2+/zckgmFTiOioEQeBSwHYtZLjUaK3/IpJZ7NsDG9ebtEfAQvCU5/OY41LzoLZDNkvm0CHG\nvvIV0j//+Z0X2jIZ9PXrZE+cIHvyJCoIkLW1iHgc4TjVRRbbJlFby2IpqTl+nDNDQ4xStjrn/xOz\nbeMWChIFiIYoTz4B69vNNgwMUfY5Httc/4GJEl65wvirr5L6/vfN9oopyG+yzeTGuNakMxky164R\nHD9O8NFHiEwGPA8Zj4NtV0043fI8vFiMxqEh9MmTXAtDhpleTD8CTCNKxW0UxORc1fs7nSa4cIHM\noUPo4eFpkkRhtujfAD4CLmMq3aE1dZkMy65eZdVrr7G4s5P6ffuI79+Pu3s3csEChOtW1EMSQqBd\nF2/FClpeeIGXDh5k8PRp0uk0lyl/B4WKej0AFOPtaE3Q1UV44cK0bHcFDAIngN8CR4BLGKLkl8dX\nKMXmVIqdp06xvquLpceOUf/cc3hPPonV3o7V1GQIUyEJI4SAmhpiW7ey6plneP7GDfp7ehhWir4y\nz6XiEiXvGj8QlILhYdTQ0OSvwRQnOwh8H3gXQ5qJSAF9QCdwUin2DA+z4733WHf2LM1HjpB47jnc\nXbtw1qxBNDQgbbsiNoywLGRzMzX797Pu/fd5+uZNLieTDGNUablQcYmiteaBkwu0RmeziClxhjTw\nPoYkv8H0KpkJo9yWNse0ZvfAADtef522zk6aDh4k9uSTeHv3Yq9ejUgkoAL5u8JxcDZvZt6OHTx+\n/jwfp1J0K0UX0XtBeVRcohRjo8CtvVq3vwLowRDkGIYkdzt7CFzHNMA5DxwNQ566dInHb9ygraOD\nhqNH8Z9/HmfLFqzWVojFyksWIZCNjbjbt7Po3XfZ29vLxUyGVymfVKm4RHnQOEpeXWly6iv3ehYj\nHU5ibvy9UlBjNtxeyX2uS2s+HBtj95kz7Lh2jeWnTxPbswf3qadwt2/Ham5GlGn7q8hVenDa2/Ha\n21nZ0cGB/n4OA+coj2FbcYliuHP/EiVPDsFk0qQwN7uP+/+15WeRxNyAG1pzPgjo7O9n38gI665c\nYeHp0yQ6OvCefBJn82YTgymDdySkRC5ciLtxIzVvv836/n6ewUjPobt9uASouEQpykbhdimc/FnH\nMYZrsRkdIUayDANdQEcmw54rV9jZ10f7mTPMP3yY+IEDuLt3Y69ahYjFIpcwsq4Oq70de8kS5p0/\nz36lOAQcJ3oVVHGJUmobRWHUTymMPJ071w0MYS4qxQfj4zx16RL7entZ3tFBbPdu/AMH8Pbtw1q0\nyJAlKvvFcbCWLMFqa8M5dIi2sTH2YeyqUv3PM6HiEqWoOArTJcrE10uFvErrxhi9nUrx7tgYr5w7\nx67ubua9/z6Z994j9qlP4e7YYSK8EUDkjdr160nV1NAwNsZjwFsYqfLwEKXUcRQmkyRqV1FjXO/L\nwDXgrNbsTSY50NHBpu5u6o8cIfHSS/gvvGDc6XgcpCyph2Q1NGCtWYNsaED39rIa2IyJB01fwCgd\nKi5RSmmjlMthzUuYMxi1dFEpnrh5k52HD7Oyp4cFHR3En30WZ+dOxLKlWLG4kQalIIxtI5ubkcuW\nEZ47R4NSrMO0+Ooq/uwzf22E556OMtgo5YTGVJz5LXAROJHJsOfiRbbcuMHy06dxO08z/pnPEN+w\ngWY/hgdFk0VIiWxowFm7luxbb+ErxWrgEeBjorsWFZcopY6jVAJpTOzmBkYd7RgZYdcHH9CUzdC1\nfCli6WJ2Wo2sd1xqkEWTRdbWYq1cCZaFFQQsAdZggoxRJThVXKKUOo5SKWjMckAnRgUcUYq23l5G\ne67QM3yTg47NF+J17PZ8akVxbrSoqcFesQKkIV291qzAqJ/uov+Twqi4RJmNNsqdoJhMGKE1odb0\nZVK4UhAXgh1+DLeI2UrPQzY2IhwHlUrhAosxBdgeDqKU0UapNGkCYLi2FtHQgJCSDPBOOs1yK0WL\n7bDKfvBsU21ZtzPzRkextaYJWEJ0Nlt5M3MijKMUer2isCS0LkG3tqIclwxwVSveyaQ4H2bJFhMS\nkBIcB1FbC0JgYUoQLAQ8ovmRlJcoszyOcl/IV+JescyUaMe41JdVyIUgy3iRe6eEbZs4Te56xjF1\nP2uLm/WMqLhEKZWNApVXN7fguvDYVlPUsLlpUgWHpFL0K0VSF5n5KgTCMyVEBKZ8yDxML5UorsND\na6NUBFKa+i9bt8BnX4FHN5pa/hP/71tFjouPp2hunye/PTeqrqAV93oehjgKlgWxGLS2wM4d8Pxz\nsGmj2W0w5X/zECywLIrdeqaVMoWOc9fBwpAkwUMqUWZ1HEVKSMRh4UJTZHnndti1HZaaLLipRYMs\nYLFls0xaJIqo3qC1RgcBemxsElG83IgCFZcoszKOIoQxUOfPg/a1pivInt2wehXUJGZs/NAgJNts\nlzbHzdWqfcCvB3QmM4koAnAxtspDKVFmXRzFsgwZli2FvXvg2adh04aCamYiXARbbZcX/RjLpVXU\n/HQQQDJpts7miCIxUsUiGslacYkyG/JRADP3RByWLoXdO+GpJ2DHNqitnbErCJgbVyeNJPl38Tr2\nOD5+samT6TTh9evoCTbKxP/3oZQoVR9HEcJ4Lq1LTGn2XTth66Mz2iF5SKBWSNZYNntdj+e9ONsd\nj9oS5NeqsTHUxx9P2oivMembUW1kr7hEqWobxfOgqdH0E9q7GzZvMrVy5zWY/of5/2cK+RNCsExa\nPO76PGW7bPd8VkqbGstCFBlo01qjR0cJLlyYdC3zuwiiyp2tuESpyjiKENBQbxo87NkFT+yBNauh\ntsYQZKJUmPD/5Ov5b7U9nvVj7HE8Vlk2tULi5GvoliB5Kbx5k+DcuWkSJcXDQpRqj6MIYYzVlsVG\nxRx4xgTPGhdMK8s+ERKII1hj2/ye6/NyLEG75dAgJVaJy7XrbBbV328qSk3Ybx1gtplE1RWo4hKl\nauIotm06kz26EV5+yZTomNdgXr+TNyMErdLiE47Hp/wET7g+dVIiebAfwN2gR0YIzp+HmzcnvR5g\ndgoU7EVbAlRcolTURhHCrPIuWGDUzL69cOA5WLIYXM8cK0BiiYlXNFs222yH5704T7s+y2wHB5Pu\nGFXBxLCvj+D0adTI5D7WGcxGsCEeBqJUUxzFtk3sY/VK4+4+sQfWtZsg2sSA2ZS6uA6CRilYb7s8\n68Z42vNpsxzqLGtSVaJIpEk2i7p6leDsWZhQtDi/O6API1VmP1GqIY4ipYl9tLbAtsdh767bdohb\nuHUdmHjIAilpkzZPeDGedjx2eT41ZWo+pbU2aufMGVR396SOHAojSXqJbstGxSVK2eIoQpjGl83N\nsGm98Wb2PWEIcxeCJBAst2122C77vRh7XZ9Wyy5rdzIBZK9fJ+joILxxY9KxLEaaXInw+ysuUcpi\noziOkRgbN8DObWaFt2011NXd8dyJnKH6uOPxjOuzw/VZIS0SVnEh+PuF1hqdyRCeOUP25EnT0T1/\nDEOUq5jtGlGh4hIl0jiKlMZzaVsDu3cZNdO25rY3M9PHgBZpsdV2+YTn86Trs9Z2iQtRmR6HWqNv\n3iRz6BDhxYsmdD8BI5hE7msRTqHiEqWoOIoQaNtGWNZ0siQSZjV35zajZta1m2wzx5lxdVdicjq2\nuj6fsD32ej7rbIdmyzarshUgidbalEg9eZLs0aOE/f2TrmGAkSbniLaiQcUlSlFxFCkJFyxgvLkJ\nMTaGQjNaU8NoSwvhhnVm0W7rZrNOkyurVfBcGDWz2rLZ5/p8wvXZYrsstuxbzbgrBqUIBwbI/OpX\nZDs7TYnUCdcri9ml+BHR5uOUlyiU1kYRQjC8cSOH/uXnuXTxI5QQ9NbVcWLFCsYeWQNLWowLbM8s\nQSxghWWzw/bY78fY53i02DY+FVIzU6DGxsieOEH69dfR169Pq8g9AJzCFNSJEmWWKIppJmcxNooQ\n2G1r6PqTP+Z7Q/2MakXathl0PVKea1TMjN6MYJ4QbHNcDngx9roxVls29RFGVe8XOpNBdXeT+tnP\nCDo6bnULyUNhbJPjFF846G4oL1GCcFo92GLjKPM9n23NC3kv7vHPmRRZjDhWMCNJYkLwiLT5TCzB\ns47PWtelFoEtqqeNrtYaNThI+uBB0q+9ZrLZpmAM+AC4QPR13AoSRQihtdalv2KDg9P6/BYbR/Gk\nZIvj8afxWjRwNMiQnuF8HoJlls2zrseLvskPWSAtJMVXGSg19Pg4mRMnSP3gB4SXLk07rjB2yVvk\nqnFHjEJEUZZlZXNdFkqLnmuQL0WeuzHFxlEE0GBZPOHGcIWkeXyMI2GGHhWS0qC0xpOCBILHHI/9\nrs8+L8YqyyZehU2etNaIfOn2n/2MzOHD0+wSjalT9w5mj3Mpm8rZtp0JgmDapqPyqp4LF6H3BqwL\njJsKaCFQRS6gSaDRtnlSClotm5NBmo/CgP5QgYB6IVlp2WxwXNpshwZRfOmJyKAUYV8f6R//mNTP\nf47u65vmACQxBPkpJoZSjt0H5SXKtV44/xE8tsUsvpkcgZwzVJytIoE6abHJkbQ5DoNKkdLGTI4J\nQb2QJCrt6t4BWmuEUqibN0m/8QbJ732P8Pz5aV3Ws5iKBW8AZzFxlHJgJhslmm8bGYWjx0wQrKEe\nZVmEaCNRSvSdljBqJmFVn1q5E4TWhIODpF57jdEvf5ng9Olp9lxe5fwWeJ1oa7ZNRcGraVlWNEG+\nIIDOM/DBhzA0TAiMKE0ailY/sxpaE/b3k37jDUb/5m8ITp2aRhIwqQQngbeJNG4SUKAlUCGihEQV\nDdYart+Ad34LH36ITqfp04qbKix7/5mqgVKEV6+S+slPGPvmNwlPnoTM9MsfYML0v8QE2KLqiiyl\nvGeiaCFEdL0Ox5Nw8hT89A346AKXx0bpCUNSxe7un2XIr+Fku7oY/9GPSH7722QPH77dMDP/Pswv\n9yrGFT7I/dX4fwAU/M0WslFCpVR0gb5QQe91+NVvoL6OC38guLApxmOOS22RO+hmC7TW6FSK4OJF\nUj/6EeM/+AHBqVOTdv7lkW9Q9SuMAXuJaBf/hBBJCkiUQosgvuM4nw+CoCmy2ShlcirOnSc9cJOm\nhYtY29TEQj9WNeHzqKCVQqdSZDs6GPvrvyb5rW+hzp8vKEnABNPeBb6KKWUedajesqzeMAy/xpQC\nk4WI4gRB8MeYkmDRQWtIpVAXL5O+dJm2piZWL11KrAp7EZcMSqGHh0m9+SZjf/VXpH/yE3R//7SA\nWh7DmKZTX8MYsVHZJRMRhuFF4BtMEVwFiQJ8BlhZhnlBNkt6cBCdTrO0tZUlLS3IEpcFryTydUzC\ngQGyx48z9vd/z/jXv07m0CGYUI3g1vtzj32YyOu3MN3MytgWrhP4NlN4WdBGwdhLZcPY8DCHDh6k\nZdEiFjY3s3LlSnzfn71k0dqomHQaffMmQVcX2fffJ/X662SPH0f19BT0bPLbQvuBXwM/xpCknPES\nzL2fFscrJFGklPJprfXj0c/JQGvN2NgYPT09CCFYuHAhNTU1OLkw/2wgjFmzMiUp9Pg44fXrhJ2d\npH75S8a/+11S//iPBCdOzKhqFMYo6MZ4N68CH1KeBb88ctf5HeAnTPF+Cmb0aK23CyH2UcbaNEop\nhoeHOXHiBOl0mnnz5lFfW4vvuiXvUFEq3Fr1DkOz52Z0lLC7m+yxY6TfeIPxb3+b1He/S/boUfTA\ngCmlVQAhZoffGeAHwP/FZK1FbbhOhRBCAz8D3px6rKDqkVJeAaJJNbgDlFIMDg7yjW98gwtnz/In\nL77IS089xfy2NvB9hG2jK0SaWxJDKbMmEwQQBKhkEtXbS3DuHEFnJ9kTJwg6OgguXy5og0xFFrMf\n513MHfo1ZVc1t5BLL7lCgTDNTGs9V4QQY0qpqMqW3hGZTIbDhw7h9fRQ9+677Hv0UeLr1iFbWrAa\nGmBil/OJpJm6ZlSK5+QM0jBEp1Lo0VHUwACqv5+wp4fw6lVU7jHs6UEPDKDT6UmF+KYiv8XiJmZh\n7x3gPUzktdxSZCKEEOOWZV0NC6jGmYjSF4bhx8D6qCdXCFprhkZHOXb+PPOuXKHm2DHWL16Mt2AB\norbWdNiyrNtJT7ns/pI/x0g5whDSaUOUZNKMkRH00BDh4CCkUmYLRRDM6OrmkcVYi5eAoxj3txPT\nmSNNeVIGZoIQojsIgoJN2gsSJQiCfkyjq4oQBYxx15vN8nYQYI2O8rnublZKSdyyTFfziUlHUUiS\niVtLtDYkUOqWRyNyj/nX7oS8N9OHyXE9hiHIKYyHM557T6WXRYMgyHeTmYaZ8lH6gY+LTVMsFlmg\nW2te0xqVyfBJYC2m7nulkwjudlXyNz6J2Rd8FaNe3sGomJtE3zDyfiGl7FJKDRY6NhNRxmzbvqCU\nGtdaxyKc212hMBT/DiZH9AVgNyZsHKPyhMkjT4wsxoMZxBipZ4BDGDXTxwxr+FUAKWVKSnlBKTVS\n6PhMRAm01h9iJOXayGZ3HxjHXPCLGA9hG9CGqf9egynEK5m+BzmK52Bc2hBjV6QwGfEjmC6m3Rip\ncRFDljS3pUc1SZAp6HZdtyMIgoJJczMRJQzD8IwQ4mOqhChgwtg9GL14EFgEtADzMaW9JYU3rJfy\nef5m50mSxBBkiNsNtVMYyZEl+m0UpYIQoiuZTHZyH2kGYK7FdcdxDmUymT2YLh9VAYW5ESmMnu/k\ndtRwIkmiflQTHuH21a1GtXI3SCnHXdc9Mj4+fo0HEHo2sEtK2cXtH9LceAiHlPJjYC93SLa/ky0Y\nAOdisdgv7vCeOTwEiMVib2KE8wMn9TvAbt/3b+TWAebGQzY8z7sO7OEuW3fu1ldVAWOO46TDMNxP\nGRcJ5xA9pJQa+K9KqZ9ylxK199KANxUEQa/neRvCMFxVkhnOoeKQUlJTU/OOUuq/h2F49W7vv9dO\nzaOO44xalrUjDMOGIuc4hwpDCIHjOF1a679MpVKHuAcv/l6JooIg6JNmfWWL1rpq3OU53D+klAPA\nVzKZzD9hwkB3xf30fh8Pw7Bba10nhNhyn5+dQ/UgEEL8XS7T/irGqC05bGCd7/vfyRlCc2MWDSGE\njsVi38VkBUReoMACVsVise9IKTOV/Mfnxn2NTI4ka3gAbfAg6kMDw0EQfCiEsKWUqzELuXOoQggh\nkFIOCCH+LpvN/g/MIvx9L0E9qJ2hgUGt9SnLsoY9z1sZhuG8akyA/l2GlBLXdS9JKb8SBMHXKKLc\nWzEGqQKGlFKdjuN0xuPxhel0ejlzQbmqgBBCe573Synlf0un09/HGK4VXbMUgOt53lrP8/6j+R8R\nbAAAAVpJREFU7/tX58L9lR2xWKzXdd3/5HneGkw75Kr78dYBOxKJxNcty7qc2xlf8Qv3uzCEEEkp\n5ceJROKbwC5MTlfJEAXTbKAeWJtIJD6ZTCa3SymXaa1btdZ+JXNwHzZIKVNa624pZZdlWYcymcxr\nmOzLIUq8pz1KkWRjvKFFnuet01pvyGQyK4HlUsrlUsolSqm41lqUe6PZbEIuwV1LKbUQIqm1vqKU\nuiylvCylvKS1/jAMw9OYLMwkEdX/K8cNEhij2QZqgXm2bTdqredrrVuVUi2YrMYmjCSq8zyvQWsd\nk1L6uXq3jsi5VFprwjB0ZjG5tOM4t37tuWqYGSFEWgiR1lqPZzKZQWBYCDGktb6B6bBy1fO8q+l0\nuh+TDdqHyeMOMJ5MpKK6Gi62lRsCQyYx4Xk+sSqfDjv1c7MRhdzT/I1WU57nm6OHM3xuDnOYwxzm\nMIc5zOF3Gv8fy6x/Us0jOwEAAAAASUVORK5CYII="},{"last_chapter_rule":"","title":"爱你短剧·Q","author":"","version":0,"type":"video","url":"hiker://empty##https://www.ainidj.com/vodshwo/fenle--------fypage---.html","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\nvar getRangeColors = function() {       \n return '#' + ('00000' + (Math.random() * 0x1000000 << 0).toString(16)).substr(-6);     \n}\n\nconst 分类颜色 = getRangeColors()\nconst 大类定位 = 'body&&.navbar-items'\nconst 拼接分类 = 'body&&.scroll-content'\nconst 小类定位 = 'body&&a:not(:matches(首页))'\nconst 分类标题 = 'a&&Text'\nconst 分类链接 = 'a&&href'\nMY_URL = MY_URL.replace('hiker://empty##', '')\nvar 排除 = '片库'\nlet true_url = getVar(MY_RULE.url, MY_URL)\nvar page = MY_PAGE\nif(getVar(MY_RULE.url)){\ntrue_url = true_url.replace(/type\\/(.*?)\\.html/, 'show/$1--------.html').replace('---.html', page + '---.html').replace(/(---\\d+\\.html)/, page + '$1')}\nvar html = request(true_url)\n\neval(JSON.parse(request('hiker://page/dtfl?rule=模板·Q')).rule)\n\nvar list = pdfa(html, '.module-items&&.module-item');\nfor (var j in list) {\n d.push({\n title: pdfh(list[j], 'a&&title'),\n desc: pdfh(list[j], '.module-item-note&&Text'),\n img: pd(list[j], '.lazy&&data-src') + '@Referer=',\n url: pd(list[j], 'a&&href') + '#immersiveTheme#',\n })\n}\nsetResult(d);","searchFind":"js:\nconst {\n autoPage\n} = $.require(\"hiker://page/auto?rule=模板·Q\");\nautoPage(getResCode())","search_url":"/vodsearch/**----------fypage---.html","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar lazy = $('').lazyRule(() => {\n try {\n var html = JSON.parse(request(input).match(/r player_.*?=(.*?) {\n return \"海阔视界首页频道规则【模板·Q】¥home_rule_url¥http://hiker.nokia.press/hikerule/rulelist.json?id=3055\"\n }\n })\n}","pages":"[]","proxy":"","icon":"https://www.ainidj.com/favicon.ico"},{"last_chapter_rule":"","title":"爽剧吧","author":"zhao","version":1,"type":"video","url":"http://www.shuangjuba.com/index.php/vod/type/id/20/page/fypage.html","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar res = {};\nvar d = [];\nif (MY_PAGE == 1) {\n d.push({\n desc: \"搜你想要的...\",\n title: \"🔍\",\n url: \"'hiker://search?rule=\" + MY_RULE.title + \"&s='+input\",\n col_type: \"input\",\n });\n}\ntry{\nvar list = pdfa(getResCode(), '.hl-vod-list&&li');\nfor (var j in list) {\n d.push({\n title: pdfh(list[j], 'a&&title'),\n desc: pdfh(list[j], 'span&&Text'),\n pic_url: pd(list[j], 'a&&data-original')+'@Referer=',\n url: pd(list[j],'a&&href')+\"#immersiveTheme#\"\n });\n}}catch(e){}\nres.data = d;\nsetHomeResult(res);","searchFind":"js:\nvar d = [];\nvar html = getResCode();\nvar list = pdfa(html, '.hl-one-list&&li');\nfor (var j in list) {\n d.push({\n title: pdfh(list[j], 'a&&title'),\n desc: pdfh(list[j], 'span&&Text'),\n content: pdfh(list[j], '.hl-item-sub&&Text')+ '\\n' + pdfh(list[j], ''),\n img: pd(list[j], 'a&&data-original') + '@Referer=',\n url: pd(list[j], '.lazyload&&href') + '#immersiveTheme#'\n });\n}\nsetResult(d);","search_url":"http://www.shuangjuba.com/index.php/vod/search/page/fypage/wd/**.html","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar d = [];\nvar html = getResCode();\n\nvar lazy = $('').lazyRule(() => {\n try {\n var html = JSON.parse(request(input).match(/r player_.*?=(.*?)' + title + '';\n}\nlet line_model = 8;\nlet line_type_model = 'blank_block';\nd.push({\n title: 分类 + '\\n' + 主演,\n desc: 导演 + '\\n' + 更新,\n pic_url: 图片,\n url:MY_URL,\n col_type: 'movie_1_vertical_pic_blur',\n extra:{gradient: true}\n});\nd.push({\n title: '‘‘’’简介:' + 简介.substr(0, 55) + '...详情',\n url: 'hiker://empty#' + '\\n' + 简介 + `@rule=js:var res = {}; var d = [];d.push({title:'影片简介:'+ MY_URL.split('hiker://empty#')[1],col_type: 'long_text'});res.data = d; setHomeResult(res);`,\n col_type: 'text_1'\n});\n\n\nfor (let i = 0; i < line_model; i++) {\n d.push({\n col_type: line_type_model\n })\n}\nfunction setTabs(tabs, vari) {\n d.push({\n title: (getVar('shsort') == '1') ? '““””逆序' : '““””正序',\n url: `@lazyRule=.js:let conf = getVar('shsort');if(conf=='1'){putVar({key:'shsort', value:'0'});}else{putVar({key:'shsort', value:'1'})};refreshPage();'toast://切换排序成功'`,\n col_type: 'flex_button'\n })\n for (var i = 0; i < tabs.length; i++) {\n var url = \"#noLoading#@lazyRule=.js:putVar('\" + vari + \"', '\" + i + \"');refreshPage(false);'toast://切换成功!';'#noHistory#hiker://empty'\";\n d.push({\n title: getVar(vari, '0') == i ? '““' + tabs[i] + '””' : tabs[i],\n url: url,\n col_type: 'flex_button'\n })\n }\n}\n\nfunction setLists(lists, index) { \n var list = lists[index];\n if (getVar('shsort') == '1') {\n var list = lists[index].reverse();\n }\n for (var j in list) {\n d.push({\n title: pdfh(list[j], 'a&&Text')\n .replace(/第(\\d+)集/, '$1')\n .replace('第', '')\n .replace('期', ''),\n url: pd(list[j], 'a&&href') + '#' + tabs[index] + lazy,\n col_type: list.length > 3 ? 'text_4' : 'text_2'\n });\n }\n}\n\nsetTabs(tabs, MY_URL);\nsetLists(lists, getVar(MY_URL, '0'));\nsetResult(d);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[]","proxy":"","icon":"http://www.shuangjuba.com/upload/site/20240222-1/36b05c8b88e5863195c596d1f43bc869.png"},{"last_chapter_rule":"","title":"短劇天堂⛅","author":"Sky","version":1,"type":"video","url":"hiker://empty##https://duanjutt.tv/vodshow/1--------fypage---.html","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = []\nvar getRangeColors = function() {       \n return '#' + ('00000' + (Math.random() * 0x1000000 << 0).toString(16)).substr(-6);     \n}\n\nconst 分类颜色 = getRangeColors()\nconst 大类定位 = 'body&&.nav-list'\nconst 拼接分类 = 'body&&.myui-screen__list,1:'\nconst 小类定位 = 'body--a&&a:not(:matches(首|全))'\nconst 分类标题 = 'a&&Text'\nconst 分类链接 = 'a&&href'\nconst 排除 = '全部|片库'\nMY_URL = MY_URL.replace('hiker://empty##', '')\n\nlet true_url = getVar(MY_RULE.url, MY_URL)\nconst page = MY_PAGE\nif (getVar(MY_RULE.url)) {\n true_url = true_url.replace(/type\\/(.*?).html/, 'show/$1-----------.html').replace('---.html', page + '---.html').replace(/(---\\d+.html)/, page + '$1')\n}\n\nvar html = fetch(true_url, {\n headers: {\n 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0)'\n }\n})\n\neval(JSON.parse(request('hiker://page/dtfl?rule=模板·Q')).rule)\n\nconst list = pdfa(html, 'body&&.myui-vodlist__box')\nlist.forEach(video => {\n d.push({\n title: pdfh(video, 'a&&title'),\n desc: pdfh(video, '.pic-text&&Text'),\n img: pd(video, 'a&&data-original'),\n url: pd(video, 'a&&href') + '#immersiveTheme#',\n col_type: 'movie_3_marquee',extra:{img:pd(video, 'a&&data-original')}\n })\n})\nsetResult(d);","searchFind":"js:\nconst {\n autoPage\n} = $.require(\"hiker://page/auto?rule=模板·Q\");\nautoPage(getResCode())","search_url":"https://duanjutt.tv/vodsearch/**----------fypage---.html","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar d = [];\nvar html = getResCode()\nvar lazy=$('#noLoading#').lazyRule(() => {\n return 'video://'+input\n})\nd.push({\n title: pdfh(html, '.data&&Text').replace(/\\d+\\+/g,''),\n desc: pdfh(html, '.data,-1&&Text'),\n img: MY_PARAMS.img,\n url: MY_URL,\n col_type: 'movie_1_vertical_pic_blur'\n});\nvar 线路 = 'body&&.nav-tabs&&li'\nvar 选集 = 'body&&.myui-content__list'\nvar 线路名 = 'Text'\nvar 选集列表 = 'body&&a'\nrequire('hiker://page/erji?rule=模板·Q')\nsetResult(d);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[]","proxy":"","icon":"https://duanjutt.tv/template/reying//images/favicon.png"},{"last_chapter_rule":"","title":"短剧tv","author":"zhao","version":1,"type":"video","url":"http://www.duanjutv.cc/vodtype/fyclass-fypage.html","col_type":"movie_3","class_name":"抖音短剧&快手短剧&视频号短剧&热播短剧","class_url":"20&21&22&23","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar res = {};\nvar d = [];\nif (MY_PAGE == 1) {\n d.push({\n desc: \"搜你想要的...\",\n title: \"🔍\",\n url: \"'hiker://search?rule=\" + MY_RULE.title + \"&s='+input\",\n col_type: \"input\",\n });\n}\ntry{\nvar list = pdfa(getResCode(), 'body&&.stui-vodlist__thumb');\nfor (var j in list) {\n d.push({\n title: pdfh(list[j], 'a&&title'),\n desc: pdfh(list[j], '.pic-text&&Text'),\n pic_url: pd(list[j], 'img&&src')+'@Referer=',\n url: pd(list[j],'a&&href')+\"#immersiveTheme#\"\n });\n}}catch(e){}\nres.data = d;\nsetHomeResult(res);","searchFind":"js:\nvar d = [];\nvar html = getResCode();\nvar list = pdfa(html, '.stui-vodlist__media&&li');\nfor (var j in list) {\n d.push({\n title: pdfh(list[j], '.lazyload&&title'),\n desc: pdfh(list[j], '.pic-text&&Text'),\n content: pdfh(list[j], 'p,3&&Text')+ '\\n' + pdfh(list[j], ''),\n img: pd(list[j], 'img&&src') + '@Referer=',\n url: pd(list[j], '.lazyload&&href') + '#immersiveTheme#'\n });\n}\nsetResult(d);","search_url":"http://www.duanjutv.cc/vodsearch/**----------fypage---.html","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar d = [];\nvar html = getResCode();\n\nvar lazy = $('').lazyRule(() => {\n try {\n var html = JSON.parse(request(input).match(/r player_.*?=(.*?)' + title + '';\n}\nlet line_model = 8;\nlet line_type_model = 'blank_block';\nd.push({\n title: 分类 + '\\n' + 主演,\n desc: 导演 + '\\n' + 更新,\n pic_url: 图片,\n url:MY_URL,\n col_type: 'movie_1_vertical_pic_blur',\n extra:{gradient: true}\n});\nd.push({\n title: '‘‘’’简介:' + 简介.substr(0, 55) + '...详情',\n url: 'hiker://empty#' + '\\n' + 简介 + `@rule=js:var res = {}; var d = [];d.push({title:'影片简介:'+ MY_URL.split('hiker://empty#')[1],col_type: 'long_text'});res.data = d; setHomeResult(res);`,\n col_type: 'text_1'\n});\n\n\nfor (let i = 0; i < line_model; i++) {\n d.push({\n col_type: line_type_model\n })\n}\nfunction setTabs(tabs, vari) {\n d.push({\n title: (getVar('shsort') == '1') ? '““””逆序' : '““””正序',\n url: `@lazyRule=.js:let conf = getVar('shsort');if(conf=='1'){putVar({key:'shsort', value:'0'});}else{putVar({key:'shsort', value:'1'})};refreshPage();'toast://切换排序成功'`,\n col_type: 'flex_button'\n })\n for (var i = 0; i < tabs.length; i++) {\n var url = \"#noLoading#@lazyRule=.js:putVar('\" + vari + \"', '\" + i + \"');refreshPage(false);'toast://切换成功!';'#noHistory#hiker://empty'\";\n d.push({\n title: getVar(vari, '0') == i ? '““' + tabs[i] + '””' : tabs[i],\n url: url,\n col_type: 'flex_button'\n })\n }\n}\n\nfunction setLists(lists, index) { \n var list = lists[index];\n if (getVar('shsort') == '1') {\n var list = lists[index].reverse();\n }\n for (var j in list) {\n d.push({\n title: pdfh(list[j], 'a&&Text')\n .replace(/第(\\d+)集/, '$1')\n .replace('第', '')\n .replace('期', ''),\n url: pd(list[j], 'a&&href') + '#' + tabs[index] + lazy,\n col_type: list.length > 3 ? 'text_4' : 'text_2'\n });\n }\n}\n\nsetTabs(tabs, MY_URL);\nsetLists(lists, getVar(MY_URL, '0'));\nsetResult(d);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[]","proxy":"","icon":"http://www.duanjutv.cc/template/helen_bai/images/icon_1.png"},{"last_chapter_rule":"","title":"短剧搜索(夸)","author":"小棉袄🌞","version":11,"type":"video","url":"hiker://empty","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar 网站 = 'http://duanju.yingzi.ee/';\neval(JSON.parse(fetch('hiker://page/home')).rule)","searchFind":"","search_url":"","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"ysfx\",\"path\":\"ysfx\",\"rule\":\"js:\\nvar d = [];\\nlet rule = getParam(\\\"r\\\").split(\\\"##\\\")[0];\\nlet url = MY_URL.split(\\\"##\\\")[1];\\nlet ad = \\\"/ad/,/ads/,google\\\".split(\\\",\\\");\\nlet ite = $.require(\\\"hiker://page/u\\\")(rule, getHome(url));\\nlet js = $.toString(() => {\\n try {\\n if (document.title && document.title.length) {\\n let r = $$$().lazyRule((t) => {\\n setPageTitle(t);\\n }, document.title);\\n fy_bridge_app.parseLazyRule(r);\\n }\\n } catch (e) {\\n fy_bridge_app.log(e.toString());\\n }\\n});\\nd.push({\\n title: \\\"\\\",\\n url: url,\\n col_type: \\\"x5_webview_single\\\",\\n desc: \\\"100%&&float\\\",\\n pic_url: \\\"\\\",\\n extra: {\\n urlInterceptor: ite,\\n js: js,\\n canBack: true,\\n jsLoadingInject: true,\\n floatVideo: false,\\n blockRules: ad\\n }\\n});\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"u\",\"path\":\"u\",\"rule\":\"$.exports = function(rule, origin) {\\n return $.toString((rule, origin) => {\\n let host = origin.replace(new RegExp(\\\"http://|https://\\\"), \\\"\\\").split(\\\"/\\\")[0];\\n let hosts = host.split(\\\".\\\");\\n if (hosts.length > 2) {\\n host = hosts[hosts.length - 2] + \\\".\\\" + hosts[hosts.length - 1];\\n }\\n if (input.startsWith(\\\"magnet\\\")) {\\n confirm({\\n title: \\\"温馨提示\\\",\\n content: \\\"检测到新的磁链地址,点击确定按钮即可播放,点击取消按钮可以复制链接\\\",\\n confirm: $.toString((mag) => {\\n return mag;\\n }, input),\\n cancel: $.toString((mag) => {\\n return \\\"copy://\\\" + mag\\n }, input)\\n })\\n return true;\\n } else if (!input.startsWith(\\\"http\\\")) {\\n log(input);\\n //能唤起APP的白名单\\n let white = [\\n \\\"qklink\\\",\\n \\\"bdnetdisk\\\",\\n \\\"xunleiapp\\\",\\n \\\"smartdrive\\\"\\n ];\\n let inWhite = white.filter(it => input.startsWith(it)).length > 0;\\n if (!inWhite) {\\n return false;\\n }\\n return $.toString((url, rule) => {\\n fy_bridge_app.openThirdApp && fy_bridge_app.openThirdApp(url);\\n }, input, rule)\\n } else if (input.includes(\\\"aliyundrive.com/\\\") || input.includes(\\\"aliyundrive.net/\\\") || input.includes(\\\"alipan.com/\\\")) {\\n if (fetch(\\\"hiker://home@\\\\u4e91\\\\u76d8\\\\u541b.\\\\u7b80\\\").length < 15) {\\n return false;\\n }\\n return $.toString((url, rule) => {\\n fy_bridge_app.open(JSON.stringify({\\n title: \\\"阿里云盘\\\",\\n url: \\\"hiker://page/aliyun?page=fypage&realurl=\\\" + encodeURIComponent(url) + \\\"&rule=\\\\u4e91\\\\u76d8\\\\u541b.\\\\u7b80\\\",\\n }))\\n }, input, rule);\\n } else if (input.includes(\\\"quark.cn\\\") && fetch(\\\"hiker://home@Quark.简\\\").length > 15) {\\n return $.toString((url, rule) => {\\n fy_bridge_app.open(JSON.stringify({\\n title: \\\"夸克网盘\\\",\\n url: \\\"hiker://page/quarkList?realurl=\\\" + encodeURIComponent(url) + \\\"&rule=Quark.简&sharePwd=\\\",\\n }))\\n }, input, rule);\\n } else {\\n let white = [\\n \\\"url=\\\",\\n \\\"fsou.com\\\",\\n \\\"bing.\\\",\\n ];\\n let inWhite = white.filter(it => input.includes(it)).length > 0;\\n if (inWhite) {\\n return false;\\n }\\n let reg = new RegExp(\\\"[\\\\u4e00-\\\\u9fa5]+\\\", \\\"g\\\");\\n let r = decodeURIComponent(input);\\n if (reg.test(r) || (input.startsWith(origin) && input.length - origin.length > 2)) {\\n //有中文,应该是在搜索,跳新页面\\n return $.toString((url, rule) => {\\n fy_bridge_app.open(JSON.stringify({\\n title: \\\"详情\\\",\\n url: \\\"hiker://page/ysfx?rule=\\\" + rule + \\\"&r=\\\" + rule + \\\"##\\\" + url,\\n }));\\n }, input, rule);\\n }\\n }\\n }, rule, origin);\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"首页\",\"path\":\"home\",\"rule\":\"var d = [];\\nlet url = 网站;\\nlet ad = \\\"/ad/,/ads/,google\\\".split(\\\",\\\");\\nlet ite = $.require(\\\"hiker://page/u\\\")(MY_RULE.title, getHome(url));\\nd.push({\\n title: \\\"\\\",\\n url: url,\\n col_type: \\\"x5_webview_single\\\",\\n desc: \\\"100%&&float\\\",\\n pic_url: \\\"\\\",\\n extra: {\\n urlInterceptor: ite,\\n canBack: true,\\n floatVideo: false,\\n jsLoadingInject: true,\\n blockRules: ad\\n }\\n});\\nsetResult(d);\"}]","proxy":"","icon":""},{"last_chapter_rule":"","title":"新片场","author":"顺","version":20240425,"type":"video","url":"hiker://empty##noRefresh#","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\nif (MY_PAGE == 1) {\n eval(JSON.parse(fetch(\"hiker://page/首页固定JSON\")).rule)\n eval(JSON.parse(fetch(\"hiker://page/首页列表\")).rule)\n d = d.concat(D)\n}\nsetResult(d);","searchFind":"","search_url":"","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"indexOf","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"🔢首页列表\",\"path\":\"首页列表\",\"rule\":\"var tips_title = getMyVar(\\\"主标题\\\", '分类作品库')\\nvar D = [];\\nif (tips_title.indexOf(\\\"作品\\\") > -1) {\\n for (let i = 0; i < XPC.length; i++) {\\n var vm = XPC[i];\\n var app_links = vm.url.replace(/newstudios/, 'https');\\n var ID = app_links.split('id=')[1]\\n D.push({\\n title: vm.category_name,\\n img: vm.cover,\\n url: $('#noLoading#'+app_links).lazyRule(() => {\\n return eval(JSON.parse(fetch(\\\"hiker://page/app_二级列表\\\")).rule);\\n }),\\n col_type: 'card_pic_3_center',\\n desc: '0',\\n extra: {\\n cls: '首页'\\n }\\n })\\n }\\n putMyVar('首页_分类', JSON.stringify(D))\\n} else {\\n var appurl;\\n if (tips_title == '推荐') {\\n //appurl = 'https://app.xinpianchang.com/home/creativeRecommend';\\n appurl = 'https://app.xinpianchang.com/home/cateRecommend';\\n }\\n if (tips_title == '精选') {\\n appurl = 'https://app.xinpianchang.com/home/selection';\\n }\\n if (tips_title == '本地周边') {\\n appurl = 'https://app.xinpianchang.com/home/sameCity';\\n }\\n\\n var vmjson = JSON.parse(request(appurl, {\\n headers: {\\n 'User-Agent': \\\"NewStudios/2.4.2 (com.xinpianchang.newstudios; build:1260; Android 14; Xiaomi/2211133C/Android 14)\\\"\\n },\\n method: 'GET'\\n })).data;\\n if (tips_title == '推荐') {\\n // vmjson = vmjson.children.slice(1, vmjson.length);\\n vmjson = vmjson.list.slice(1);\\n } else if (tips_title == '精选') {\\n vmjson = vmjson.list.slice(1);\\n } else if (tips_title == '本地周边') {\\n vmjson = vmjson.children;\\n }\\n D.push({\\n col_type: 'line',\\n extra: {\\n id: '首页_空格',\\n cls: '首页'\\n }\\n })\\n for (let i = 0; i < vmjson.length; i++) {\\n if (['推荐','精选'].includes(tips_title)) {\\n var vm = vmjson[i].data.resource;\\n } else if (['本地周边'].includes(tips_title)) {\\n var vm = vmjson[i].children[0].model.resource;\\n }\\n var PLAY_LINKS = vm.url.replace(/newstudios/, 'https');\\n var USER_HOME = 'https://app.xinpianchang.com/user/' + vm.user_id;\\n D.push({\\n title: vm.author.userinfo.username,\\n pic_url: vm.author.userinfo.avatar,\\n url: $('#noLoading#'+USER_HOME).lazyRule(() => {\\n return eval(JSON.parse(fetch(\\\"hiker://page/创作人首页\\\")).rule);\\n }),\\n col_type: 'avatar',\\n extra: {\\n cls: '首页'\\n }\\n })\\n D.push({\\n title: vm.title,\\n url: $('#noLoading#'+PLAY_LINKS).lazyRule(() => {\\n putMyVar('详细类别', '简介');\\n return eval(JSON.parse(fetch(\\\"hiker://page/视频详情页\\\")).rule);\\n }),\\n col_type: 'text_1',\\n extra: {\\n cls: '首页'\\n }\\n })\\n D.push({\\n title: vm.title,\\n img: vm.cover,\\n url: $('#noLoading#'+PLAY_LINKS).lazyRule(() => {\\n return eval(JSON.parse(fetch(\\\"hiker://page/app播放链接\\\")).rule);\\n }),\\n col_type: 'pic_1_full',\\n extra: {\\n id: vm.title,\\n cls: '首页'\\n }\\n })\\n D.push({\\n title: vm.count.count_collect,\\n img: 'https://hikerfans.com/weisyr/icon/bbs收藏.svg',\\n url: \\\"hiker://empty\\\",\\n col_type: 'icon_small_3',\\n extra: {\\n cls: '首页'\\n }\\n })\\n D.push({\\n title: vm.count.count_comment,\\n img: 'https://hikerfans.com/weisyr/icon/bbs回复.svg',\\n url: $('#noLoading#'+PLAY_LINKS).lazyRule(() => {\\n putMyVar('详细类别', '评论');\\n return eval(JSON.parse(fetch(\\\"hiker://page/视频详情页\\\")).rule);\\n }),\\n col_type: 'icon_small_3',\\n extra: {\\n cls: '首页'\\n }\\n })\\n D.push({\\n title: vm.count.count_like,\\n img: 'https://hikerfans.com/weisyr/icon/bbs点赞.svg',\\n url: \\\"hiker://empty\\\",\\n col_type: 'icon_small_3',\\n extra: {\\n cls: '首页'\\n }\\n })\\n D.push({\\n col_type: 'line_blank',\\n extra: {\\n cls: '首页'\\n }\\n })\\n }\\n if (tips_title == '推荐') putMyVar('首页_推荐', JSON.stringify(D));\\n if (tips_title == '精选') putMyVar('首页_精选', JSON.stringify(D));\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"app分类与搜索列表\",\"path\":\"app分类与搜索列表\",\"rule\":\"var D = [];\\nif (app_lists.length >0) {\\n for (let i = 0; i < app_lists.length; i++) {\\n var PLAY_LINKS = app_lists[i].url.replace(/newstudios/, 'https');\\n var like = app_lists[i].count.count_like;\\n var view = app_lists[i].count.count_view;\\n if (like > 1000) like = (like / 1000).toFixed(1) + 'k';\\n if (view > 10000) view = (view / 10000).toFixed(1) + 'w';\\n D.push({\\n img: app_lists[i].cover,\\n title: app_lists[i].title,\\n desc: \\\"““”” \\\" + '播放量 ' + view + ' · ' + '喜欢 ' + like + '\\\\n' + app_lists[i]\\n .author.userinfo.username + \\\" \\\",\\n url: $('#noLoading#'+PLAY_LINKS).lazyRule(() => {\\n putMyVar('详细类别', '简介');\\n return eval(JSON.parse(fetch(\\\"hiker://page/视频详情页\\\")).rule);\\n }),\\n col_type: 'movie_1_left_pic',\\n extra: {\\n cls: '搜索'\\n }\\n })\\n }\\n} else {\\n eval(JSON.parse(fetch(\\\"hiker://page/END\\\")).rule)(D)\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"搜索页上部\",\"path\":\"搜索页上部\",\"rule\":\"if (PAGE == 1) {\\n eval(JSON.parse(fetch(\\\"hiker://page/TopImg\\\")).rule)\\n d.push({\\n /*url: $().lazyRule(() => {\\n putMyVar('搜关键字', input);\\n var tips_title = getMyVar('搜关键字');\\n var localData = request('hiker://files/cache/新片场历史搜索.json') || '[]';\\n var lishi = JSON.parse(localData);\\n let ccc = lishi.indexOf(input);\\n if (ccc > -1) {\\n lishi.splice(ccc, 1)\\n };\\n lishi.push(tips_title);\\n lishi = lishi.slice(-28);\\n writeFile('hiker://files/cache/新片场历史搜索.json', JSON.stringify(lishi));\\n refreshPage(false)\\n }),*/\\n url: \\\"putMyVar('搜关键字',input);var tips_title = getMyVar('搜关键字');var localData = request('hiker://files/cache/新片场历史搜索.json')||'[]';var lishi=JSON.parse(localData);let ccc = lishi.indexOf(input);if(ccc >-1){lishi.splice(ccc,1)};lishi.push(tips_title);lishi=lishi.slice(-28);writeFile('hiker://files/cache/新片场历史搜索.json', JSON.stringify(lishi));refreshPage(false)\\\",\\n desc: '搜索作品、创作人',\\n extra: {\\n defaultValue: tips_title,\\n onChange: \\\"putVar('搜关键字',input)\\\"\\n },\\n col_type: \\\"input\\\",\\n title: '搜索',\\n });\\n d.push({\\n col_type: 'line',\\n })\\n\\n if (!tips_title) {\\n if (request('hiker://files/cache/新片场历史搜索.json')) {\\n for (let i = 0; i < 10; i++) {\\n d.push({\\n col_type: \\\"blank_block\\\"\\n })\\n }\\n d.push({\\n title: '““””' + '🗑️ 历史搜索' + '',\\n url: $().lazyRule(() => {\\n writeFile('hiker://files/cache/新片场历史搜索.json', '');\\n refreshPage(false);\\n return \\\"hiker://empty\\\";\\n }),\\n col_type: \\\"text_1\\\",\\n extra: {\\n lineVisible: false\\n }\\n });\\n var localData = request('hiker://files/cache/新片场历史搜索.json');\\n if (!localData) localData = \\\"[]\\\";\\n var lishi = JSON.parse(localData).slice(-28);\\n var History = \\\"\\\";\\n for (let i = lishi.length - 1; i >= 0; i--) {\\n var cclishi = lishi[i];\\n d.push({\\n title: cclishi,\\n col_type: \\\"flex_button\\\",\\n url: $('#noLoading#').lazyRule((cclishi) => {\\n putMyVar('搜关键字', cclishi);\\n refreshPage();\\n return \\\"hiker://empty\\\";\\n }, cclishi),\\n });\\n }\\n }\\n for (let i = 0; i < 20; i++) {\\n d.push({\\n col_type: \\\"blank_block\\\"\\n })\\n }\\n d.push({\\n title: '““””' + '🔥 热门内容' + '',\\n url: \\\"hiker://empty\\\",\\n col_type: \\\"text_1\\\",\\n extra: {\\n lineVisible: false\\n }\\n });\\n let Rmurl = 'https://app.xinpianchang.com/v2/search/hotContents';\\n Rmjson = JSON.parse(request(Rmurl)).data.list;\\n for (let i in Rmjson) {\\n var tips = (parseInt(i) + 1) + ' ' + Rmjson[i].title;\\n var PLAY_LINKS = Rmjson[i].link.replace(/newstudios/, 'https');\\n var url = Rmjson[i].link;\\n d.push({\\n title: tips,\\n col_type: \\\"text_1\\\",\\n url: $('#noLoading#'+PLAY_LINKS).lazyRule(() => {\\n putMyVar('详细类别', '简介');\\n return eval(JSON.parse(fetch(\\\"hiker://page/视频详情页\\\")).rule);\\n }),\\n extra: {\\n lineVisible: false\\n },\\n });\\n }\\n d.push({\\n title: '““””' + '🔥 热门搜索' + '',\\n url: \\\"hiker://empty\\\",\\n col_type: \\\"text_1\\\",\\n extra: {\\n lineVisible: false\\n }\\n });\\n var url = 'https://app.xinpianchang.com/search_recommend_kws';\\n var Hotjson = JSON.parse(fetch(url)).data.list;\\n for (let i in Hotjson) {\\n var tips = Hotjson[i].name;\\n d.push({\\n title: tips,\\n col_type: \\\"flex_button\\\",\\n extra: {\\n lineVisible: false\\n },\\n url: $('#noLoading#').lazyRule((tips) => {\\n putMyVar('搜关键字', tips);\\n refreshPage();\\n return \\\"hiker://empty\\\";\\n }, tips),\\n });\\n }\\n }\\n var Color = \\\"#FA7298\\\";\\n\\n function getHead(titles) {\\n return '‘‘’’' + titles + '';\\n }\\n if (tips_title) {\\n for (let i = 0; i < 5; i++) {\\n d.push({\\n col_type: \\\"blank_block\\\"\\n })\\n }\\n d.push({\\n title: tips_select == 'article' ? getHead('作品') : '作品',\\n col_type: 'text_2',\\n url: $('#noLoading#').lazyRule((Color, PAGE) => {\\n\\n putMyVar('页码', '1');\\n if (getMyVar(\\\"作/创/文\\\") != 'article') {\\n putMyVar('作/创/文', 'article');\\n deleteItemByCls('搜索')\\n deleteItem('end')\\n updateItem('搜索_作品', {\\n title: '‘‘’’' + '作品' + ''\\n })\\n updateItem('搜索_创作人', {\\n title: '创作人'\\n })\\n var APP_URL = \\\"https://app.xinpianchang.com/v2/search?type=article\\\" + \\\"&kw=\\\" + getMyVar(\\\"搜关键字\\\") + '&page=' + PAGE;\\n var app_lists = JSON.parse(request(APP_URL)).data.list;\\n eval(JSON.parse(fetch(\\\"hiker://page/app分类与搜索列表\\\")).rule)\\n addItemAfter('搜索_创作人', D)\\n }\\n //refreshPage();\\n return \\\"hiker://empty\\\";\\n }, Color, PAGE),\\n extra: {\\n id: '搜索_作品'\\n }\\n })\\n d.push({\\n title: tips_select == 'creator' ? getHead('创作人') : '创作人',\\n col_type: 'text_2',\\n url: $('#noLoading#').lazyRule((Color, PAGE) => {\\n //putMyVar('作/创/文', 'creator');\\n putMyVar('页码', '1');\\n if (getMyVar(\\\"作/创/文\\\") != 'creator') {\\n putMyVar('作/创/文', 'creator');\\n deleteItemByCls('搜索')\\n deleteItem('end')\\n updateItem('搜索_创作人', {\\n title: '‘‘’’' + '创作人' + ''\\n })\\n updateItem('搜索_作品', {\\n title: '作品'\\n })\\n eval(JSON.parse(fetch(\\\"hiker://page/app创作人搜索列表\\\")).rule)\\n addItemAfter('搜索_创作人', D)\\n }\\n return \\\"hiker://empty\\\";\\n }, Color, PAGE),\\n extra: {\\n id: '搜索_创作人'\\n }\\n })\\n }\\n}\"},{\"col_type\":\"text_icon\",\"name\":\"首页四大按钮\",\"path\":\"首页四大按钮\",\"rule\":\"tips_title = getMyVar(\\\"主标题\\\", '分类作品库')\\naddListener('onClose', $.toString(() => {\\n clearMyVar('首页_分类');\\n clearMyVar('首页_精选');\\n clearMyVar('首页_热门');\\n}))\\nd.push({\\n title: \\\"发现\\\",\\n pic_url: 'https://oss-xpc0.xpccdn.com/Upload/edu/2023/03/24641d733b8df84.png',\\n col_type: 'icon_small_4',\\n url: $(\\\"#noLoading#\\\").lazyRule((XPC) => {\\n if (getMyVar('主标题') != '分类作品库') {\\n putMyVar('主标题', '分类作品库');\\n if (!getMyVar('首页_分类')) eval(JSON.parse(fetch(\\\"hiker://page/首页列表\\\")).rule);\\n deleteItemByCls('首页');\\n updateItem(\\\"四大金刚\\\", {\\n title: '分类作品库'\\n });\\n addItemAfter('四大金刚', JSON.parse(getMyVar('首页_分类')))\\n }\\n return \\\"hiker://empty\\\";\\n },XPC)\\n})\\n\\nd.push({\\n title: \\\"推荐\\\",\\n pic_url: 'https://oss-xpc6.xpccdn.com/default/O9njC35iecU0qt3zdvk7TqaNAnhU6o0VkaePtymy.png',\\n col_type: 'icon_small_4',\\n url: $(\\\"#noLoading#\\\").lazyRule(() => {\\n if (getMyVar('主标题') != '推荐') {\\n putMyVar('主标题', '推荐');\\n if (!getMyVar('首页_推荐')) eval(JSON.parse(fetch(\\\"hiker://page/首页列表\\\")).rule);\\n deleteItemByCls('首页');\\n updateItem(\\\"四大金刚\\\", {\\n title: '短片推荐'\\n });\\n addItemAfter('四大金刚', JSON.parse(getMyVar('首页_推荐')))\\n }\\n return \\\"hiker://empty\\\";\\n }),\\n})\\n\\nd.push({\\n title: '精选',\\n pic_url: 'https://oss-xpc0.xpccdn.com/Upload/edu/2023/03/24641d733b935b3.png',\\n col_type: 'icon_small_4',\\n url: $(\\\"#noLoading#\\\").lazyRule(() => {\\n if (getMyVar('主标题') != '精选') {\\n putMyVar('主标题', '精选');\\n if (!getMyVar('首页_精选')) eval(JSON.parse(fetch(\\\"hiker://page/首页列表\\\")).rule);\\n deleteItemByCls('首页');\\n updateItem(\\\"四大金刚\\\", {\\n title: '编辑精选'\\n });\\n addItemAfter('四大金刚', JSON.parse(getMyVar('首页_精选')))\\n }\\n //refreshPage();\\n return \\\"hiker://empty\\\";\\n }),\\n})\\n\\nlet city;\\nlet str=fetch('http://whois.pconline.com.cn/ipJson.jsp?callback=testJson&ip=');\\nconst matchedJson = str.match(/\\\\s*testJson\\\\s*\\\\((\\\\{.*?\\\\})\\\\)/);\\nif (matchedJson && matchedJson.length > 1) {\\n const jsonObj = JSON.parse(matchedJson[1]);\\n const province = jsonObj.pro.replace('省', '');\\n city=province;\\n //log(province);\\n} else {\\n console.error(\\\"获取位置出错\\\");\\n city='北京';\\n}\\nd.push({\\n title: city,\\n pic_url: 'https://oss-xpc0.xpccdn.com/Upload/edu/2023/03/24641d733b80079.png',\\n col_type: 'icon_small_4',\\n url: $(\\\"#noLoading#\\\").lazyRule(() => {\\n if (getMyVar('主标题') != '本地周边false') {\\n putMyVar('主标题', '本地周边');\\n eval(JSON.parse(fetch(\\\"hiker://page/首页列表\\\")).rule)\\n deleteItemByCls('首页');\\n updateItem(\\\"四大金刚\\\", {\\n title: '本地周边'\\n });\\n addItemAfter(\\\"四大金刚\\\", D);\\n }\\n return \\\"hiker://empty\\\";\\n }),\\n})\\n\\nd.push({\\n title: '' + tips_title + '',\\n url: $().lazyRule(() => {\\n return eval(JSON.parse(fetch(\\\"hiker://page/进入搜索页\\\")).rule)\\n }),\\n img: \\\"https://hikerfans.com/weisyr/icon/search.svg\\\",\\n col_type: \\\"text_icon\\\",\\n extra: {\\n lineVisible: false,\\n id: '四大金刚',\\n newWindow: true,\\n windowId: \\\"新片场搜索\\\"\\n }\\n});\"},{\"col_type\":\"movie_3\",\"name\":\"🔎进入搜索页\",\"path\":\"进入搜索页\",\"rule\":\"$('hiker://empty#fypage#gameTheme##noHistory##noRecordHistory##autoCache##noRefresh##noLoading#').rule(() => {\\n setPageTitle('新片场·搜索')\\n var d = [];\\n var PAGE = MY_PAGE;//MY_URL.split('#')[1]\\n /*\\n for (let i = 0; i < 30; i++) {\\n d.push({\\n col_type: \\\"blank_block\\\"\\n })\\n }\\n */\\n addListener('onClose', $.toString(() => {\\n clearMyVar('搜关键字');\\n clearMyVar('作/创/文');\\n clearMyVar('页码');\\n }))\\n var tips_title = getMyVar(\\\"搜关键字\\\")\\n var tips_select = getMyVar(\\\"作/创/文\\\", 'article');\\n //log(tips_select)\\n eval(JSON.parse(fetch(\\\"hiker://page/搜索页上部\\\")).rule)\\n //showLoading('Loading');\\n if (tips_title) {\\n if (tips_select == 'article') {\\n //搜作品\\n var APP_URL = \\\"https://app.xinpianchang.com/v2/search?type=\\\" + getMyVar(\\\"作/创/文\\\", 'article') + \\\"&kw=\\\" + getMyVar(\\\"搜关键字\\\") + '&page=' + PAGE;\\n var app_lists = JSON.parse(request(APP_URL)).data.list;\\n eval(JSON.parse(fetch(\\\"hiker://page/app分类与搜索列表\\\")).rule)\\n } else if (tips_select == 'creator') {\\n //搜人\\n eval(JSON.parse(fetch(\\\"hiker://page/app创作人搜索列表\\\")).rule)\\n }\\n d = d.concat(D)\\n }\\n //hideLoading();\\n setResult(d)\\n})\"},{\"col_type\":\"movie_3\",\"name\":\"app播放链接\",\"path\":\"app播放链接\",\"rule\":\"$('#noLoading#'+input).lazyRule(() => {\\n try {\\n showLoading('Loading');\\n var play_url_json = JSON.parse(request(input)).data;\\n let mid = play_url_json.video_library_id;\\n let play_urls = JSON.parse(request('https://mod-api.xinpianchang.com/mod/api/v2/media/'+mid+'?appKey=61a2f329348b3bf77')).data.resource.progressive;\\n // 开始获取弹幕\\n let danmu = 'https://oss-danmaku12.xpccdn.com/' + mid + '.txt';\\n let code = request(danmu);\\n let arr = code.split(\\\"\\\\n\\\");\\n let r = []\\n for (let i = 0; i < arr.length; i++) {\\n try {\\n var line = JSON.parse(arr[i])\\n if (line.content) {\\n r.push({\\n text: line.content,\\n time: line.offset\\n })\\n }\\n } catch (e) {}\\n }\\n writeFile(\\\"hiker://files/cache/danmu.json\\\", JSON.stringify(r))\\n // 结束弹幕获取\\n let urls = [];\\n let names = [];\\n let head = [];\\n for (let i in play_urls) {\\n urls.push(play_urls[i].url)\\n names.push(play_urls[i].profile)\\n head.push({'User-Agent': 'ExoPlayerLib'})\\n }\\n let all_url = JSON.stringify({\\n urls: urls,\\n names: names,\\n danmu: \\\"hiker://files/cache/danmu.json\\\",\\n headers: head\\n });\\n hideLoading();\\n return all_url\\n } catch (e) {\\n let url = input.split('url=')[1]\\n url = unescape(url)\\n return 'web://' + url\\n }\\n})\"},{\"col_type\":\"movie_3\",\"name\":\"app创作人搜索列表\",\"path\":\"app创作人搜索列表\",\"rule\":\"var D = [];\\nvar APP_URL = \\\"https://app.xinpianchang.com/v2/search?type=\\\" + getMyVar(\\\"作/创/文\\\", 'creator') + \\\"&kw=\\\" + getMyVar(\\\"搜关键字\\\") + '&page=' + PAGE;\\nvar app_lists = JSON.parse(request(APP_URL)).data.list;\\nif (app_lists.length > 0) {\\n for (let i = 0; i < app_lists.length; i++) {\\n setPageTitle(app_lists[i].username)\\n var USER_HOME = app_lists[i].url.replace(/newstudios/, 'https')\\n for (let i = 0; i < 10; i++) {\\n D.push({\\n col_type: \\\"blank_block\\\",\\n extra: {\\n cls: '搜索'\\n }\\n })\\n }\\n var url = $('#noLoading#' + USER_HOME).lazyRule(() => {\\n return eval(JSON.parse(fetch(\\\"hiker://page/创作人首页\\\")).rule);\\n });\\n D.push({\\n img: app_lists[i].avatar + '@Referer=' + app_lists[i].avatar,\\n title: app_lists[i].username,\\n desc: '',\\n url: url,\\n col_type: 'avatar',\\n extra: {\\n cls: '搜索'\\n }\\n })\\n\\n var occupation = app_lists[i].occupation;\\n var follower = '粉丝 ' + app_lists[i].count.count_follower;\\n if (!occupation) {\\n occupation = ''\\n } else {\\n occupation = occupation + ' · '\\n }\\n D.push({\\n title: \\\"““”” \\\" + '\\t\\t\\t\\t\\t' + occupation + follower + \\\" \\\",\\n url: url,\\n col_type: 'text_1',\\n extra: {\\n cls: '搜索'\\n }\\n })\\n }\\n} else {\\n eval(JSON.parse(fetch(\\\"hiker://page/END\\\")).rule)(D)\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"创作人首页\",\"path\":\"创作人首页\",\"rule\":\"$('hiker://empty#fypage#immersiveTheme#noHistory##noRecordHistory##noRefresh#').rule((input) => {\\n addListener('onClose', $.toString(() => {\\n clearMyVar('主页类别');\\n }))\\n var tips_select = getMyVar(\\\"主页类别\\\", 'new');\\n try {\\n var PAGE = MY_PAGE;\\n var d = [];\\n // 头部\\n var USER_JSON = JSON.parse(request(input)).data;\\n var ID = USER_JSON.id;\\n var app_background = USER_JSON.app_background;\\n if (!app_background) app_background = 'https://hikerfans.com/weisyr/img/xinpianchang.jpg';\\n var user_avatar = USER_JSON.avatar;\\n var user_name = USER_JSON.username;\\n setPageTitle(user_name)\\n var user_desc = USER_JSON.verify_description;\\n var user_about = USER_JSON.about;\\n //人气\\n var count_popularity = USER_JSON.count.count_popularity;\\n if (count_popularity > 10000) count_popularity = (count_popularity / 10000).toFixed(1) + 'w';\\n //粉丝\\n var count_follower = USER_JSON.count.count_follower;\\n if (count_follower > 1000) count_follower = (count_follower / 1000).toFixed(1) + 'k';\\n if (PAGE == 1) {\\n d.push({\\n col_type: 'pic_1_full',\\n title: '0',\\n img: app_background,\\n url: 'hiker://empty',\\n });\\n d.push({\\n col_type: 'avatar',\\n title: user_name + '\\\\t\\\\t\\\\t\\\\t' + \\\"\\\" + '人气 ' + count_popularity + ' · ' + '粉丝 ' + count_follower + \\\"\\\",\\n img: user_avatar,\\n url: 'hiker://empty',\\n });\\n d.push({\\n col_type: 'line',\\n });\\n for (let i = 0; i < 5; i++) {\\n d.push({\\n col_type: \\\"blank_block\\\",\\n })\\n }\\n var Color = \\\"#FA7298\\\";\\n\\n function getHead(titles) {\\n return '‘‘’’' + titles + '';\\n }\\n d.push({\\n col_type: 'text_3',\\n title: tips_select == 'new' ? getHead(\\\"最新\\\") : '最新',\\n url: $('#noLoading#' + input).lazyRule((PAGE) => {\\n if (getMyVar('主页类别') != 'new') {\\n putMyVar('主页类别', 'new');\\n updateItem('主页热门', {\\n title: \\\"热门\\\"\\n })\\n updateItem('主页专辑', {\\n title: \\\"专辑\\\"\\n });\\n updateItem('主页最新', {\\n title: '‘‘’’最新'\\n });\\n showLoading('Loading');\\n deleteItemByCls('end');\\n //eval(JSON.parse(fetch(\\\"hiker://page/创作人作品列表\\\")).rule)\\n deleteItemByCls('主页');\\n hideLoading();\\n //addItemAfter('主页专辑', D);\\n addItemAfter('主页专辑', JSON.parse(getMyVar('作品new' + input)));\\n }\\n return \\\"hiker://empty\\\";\\n }, PAGE),\\n extra: {\\n id: '主页最新'\\n }\\n });\\n d.push({\\n col_type: 'text_3',\\n title: tips_select == 'view' ? getHead(\\\"热门\\\") : '热门',\\n url: $('#noLoading#' + input).lazyRule((PAGE) => {\\n if (getMyVar('主页类别') != 'view') {\\n putMyVar('主页类别', 'view');\\n updateItem('主页最新', {\\n title: \\\"最新\\\"\\n });\\n updateItem('主页专辑', {\\n title: \\\"专辑\\\"\\n });\\n updateItem('主页热门', {\\n title: '‘‘’’热门'\\n });\\n\\n deleteItemByCls('end');\\n if (!getMyVar('作品view' + input)) {\\n showLoading('Loading');\\n eval(JSON.parse(fetch(\\\"hiker://page/创作人作品列表\\\")).rule);\\n deleteItemByCls('主页');\\n hideLoading();\\n addItemAfter('主页专辑', D);\\n } else {\\n deleteItemByCls('主页');\\n addItemAfter('主页专辑', JSON.parse(getMyVar('作品view' + input)));\\n }\\n }\\n return \\\"hiker://empty\\\";\\n }, PAGE),\\n extra: {\\n id: '主页热门'\\n }\\n });\\n d.push({\\n col_type: 'text_3',\\n title: tips_select == 'collections' ? getHead(\\\"专辑\\\") : '专辑',\\n url: $('#noLoading#' + input).lazyRule((PAGE) => {\\n if (getMyVar('主页类别') != 'collections') {\\n putMyVar('主页类别', 'collections');\\n updateItem('主页热门', {\\n title: \\\"热门\\\"\\n });\\n updateItem('主页最新', {\\n title: \\\"最新\\\"\\n });\\n updateItem('主页专辑', {\\n title: '‘‘’’专辑'\\n });\\n\\n deleteItemByCls('end');\\n if (!getMyVar('专辑' + input)) {\\n showLoading('Loading');\\n eval(JSON.parse(fetch(\\\"hiker://page/创作人专辑列表\\\")).rule)\\n\\n deleteItemByCls('主页');\\n hideLoading();\\n addItemAfter('主页专辑', D);\\n } else {\\n deleteItemByCls('主页');\\n addItemAfter('主页专辑', JSON.parse(getMyVar('专辑' + input)));\\n }\\n }\\n return \\\"hiker://empty\\\";\\n }, PAGE),\\n extra: {\\n id: '主页专辑'\\n }\\n });\\n\\n d.push({\\n col_type: 'pic_1_full',\\n title: '0',\\n img: 'https://hikerfans.com/weisyr/img/Loading2.gif',\\n url: 'hiker://empty',\\n extra: {\\n id: 'loading'\\n }\\n });\\n }\\n // 列表部分\\n if (['new', 'view'].includes(tips_select) && PAGE > 1) {\\n eval(JSON.parse(fetch(\\\"hiker://page/创作人作品列表\\\")).rule)\\n d = d.concat(D)\\n }\\n if (tips_select == 'collections' && PAGE > 1) {\\n eval(JSON.parse(fetch(\\\"hiker://page/创作人专辑列表\\\")).rule)\\n d = d.concat(D)\\n }\\n\\n setResult(d);\\n if (['new', 'view'].includes(tips_select) && PAGE == 1) {\\n eval(JSON.parse(fetch(\\\"hiker://page/创作人作品列表_多线程\\\")).rule)\\n }\\n } catch (e) {\\n back(false)\\n }\\n}, input)\"},{\"col_type\":\"movie_3\",\"name\":\"♨️首页固定JSON\",\"path\":\"首页固定JSON\",\"rule\":\"var index_url = 'https://app.xinpianchang.com/page/discovery';\\nvar index_JSON = JSON.parse(request(index_url, {\\n headers: {\\n 'User-Agent': \\\"NewStudios/2.3.5 (com.xinpianchang.newstudios; build:1150; Android 13)\\\"\\n },\\n method: 'GET'\\n})).data;\\nlet XPC = index_JSON.categories;\\nlet banners = index_JSON.banners;\\nvar t = Math.floor(Math.random() * banners.length);\\nbanners_0 = banners[t];\\nvar PLAY_LINKS = banners_0.url.replace(/newstudios/, 'https');\\n\\nregisterTask('新片场', 3000, $.toString((banners) => {\\n let i = getVar('新片场计时', '0');\\n if (i == banners.length) i = 0;\\n updateItem(\\\"banners\\\", {\\n img: banners[i].cover,\\n url: $('#noLoading#'+ banners[i].url.replace(/newstudios/, 'https')).lazyRule(() => {\\n return eval(JSON.parse(fetch(\\\"hiker://page/app播放链接\\\")).rule);\\n }),\\n });\\n i++\\n putVar('新片场计时', i);\\n}, banners))\\n\\nd.push({\\n //title:banners.title,\\n img: banners_0.cover,\\n col_type: 'card_pic_1',\\n desc: '0',\\n url: $('#noLoading#'+PLAY_LINKS).lazyRule(() => {\\n return eval(JSON.parse(fetch(\\\"hiker://page/app播放链接\\\")).rule);\\n }),\\n extra: {\\n id: 'banners'\\n }\\n})\\neval(JSON.parse(fetch(\\\"hiker://page/首页四大按钮\\\")).rule)\"},{\"col_type\":\"movie_3\",\"name\":\"创作人作品列表\",\"path\":\"创作人作品列表\",\"rule\":\"// 时间戳转换\\neval(JSON.parse(fetch(\\\"hiker://page/时间戳转换\\\")).rule);\\nvar list_url = input + '/articles?is_hide_in_space=0&order=' + getMyVar(\\\"主页类别\\\", 'new') + '&return_struct_type=user_home&type=public&page=' + PAGE;\\n//log(list_url)\\nvar D = [];\\nvar APP_JSON = JSON.parse(request(list_url)).data;\\n/*var total = APP_JSON.total;\\nputMyVar('作品数量',total);*/\\nAPP_JSON = APP_JSON.list;\\nif (APP_JSON.length > 0) {\\n for (let i = 0; i < APP_JSON.length; i++){\\n var app_cache = APP_JSON[i].resource;\\n var PLAY_LINKS = app_cache.url.replace(/newstudios/, 'https');\\n var like = app_cache.count.count_like;\\n var view = app_cache.count.count_view;\\n if (like > 1000) like = (like / 1000).toFixed(1) + 'k';\\n if (view > 10000) view = (view / 10000).toFixed(1) + 'w';\\n //var img = app_cache.cover;\\n var img = $(app_cache.cover).image(() => $.require(\\\"Img?rule=\\\" + MY_TITLE).compress());\\n var title = app_cache.title;\\n var publish_time = app_cache.publish_time;\\n // 时间戳转年月日\\n publish_time = timestampToTime(tm = publish_time, ts = 0)\\n D.push({\\n col_type: 'movie_1_left_pic',\\n title: title,\\n desc: \\\"““”” \\\" + publish_time + '\\\\n' + like + ' 喜欢' + ' · ' + view + ' 观看' + \\\" \\\",\\n img: img,\\n url: $(PLAY_LINKS).lazyRule(() => {\\n putMyVar('详细类别', '简介');\\n return eval(JSON.parse(fetch(\\\"hiker://page/视频详情页\\\")).rule);\\n }),\\n extra: {\\n cls: '主页'\\n }\\n });\\n }\\n} else {\\n eval(JSON.parse(fetch(\\\"hiker://page/END\\\")).rule)(D)\\n}\\nif(PAGE == 1) putMyVar('作品'+getMyVar(\\\"主页类别\\\", 'new')+input, JSON.stringify(D));\"},{\"col_type\":\"movie_3\",\"name\":\"创作人专辑列表\",\"path\":\"创作人专辑列表\",\"rule\":\"var D = [];\\nvar list_url = input + '/collections?page=' + PAGE;\\nvar APP_JSON = JSON.parse(request(list_url)).data;\\nvar total = APP_JSON.total;\\nAPP_JSON = APP_JSON.list\\nif (total == '0' && PAGE == 1) {\\n for (let i = 0; i < 30; i++) {\\n D.push({\\n col_type: \\\"blank_block\\\",\\n extra: {\\n cls: '主页',\\n }\\n })\\n }\\n D.push({\\n title: \\\"““”” \\\" + '—— 还没有创建专辑 ——' + \\\" \\\",\\n col_type: \\\"text_center_1\\\",\\n url: 'hiker://empty',\\n extra: {\\n lineVisible: false,\\n cls: '主页',\\n }\\n })\\n}\\nif (APP_JSON.length>0) {\\n for (let i = 0; i < APP_JSON.length; i++) {\\n var app_cache = APP_JSON[i];\\n var Album_url = app_cache.url.replace(/newstudios/, 'https') + '/articles?is_detail=true&page=';\\n var bg_img = app_cache.cover_url;\\n var desc = app_cache.description;\\n var article = app_cache.count.count_article;\\n var like = app_cache.count.count_liked;\\n var view = app_cache.count.count_viewed;\\n if (like > 1000) like = (like / 1000).toFixed(1) + 'k';\\n if (view > 10000) view = (view / 10000).toFixed(1) + 'w';\\n var img = app_cache.cover_url;\\n var title = app_cache.title;\\n var put_title = \\\"““”” \\\" + '作品 ' + article + ' · ' + '浏览 ' + view + ' · ' + '赞 ' + like + \\\" \\\";\\n D.push({\\n col_type: 'pic_1_card',\\n title: title,\\n img: bg_img + '@Referer=' + bg_img,\\n desc: '作品 ' + article + ' · ' + '浏览 ' + view + ' · ' + '赞 ' + like,\\n url: $('hiker://empty#fypage#immersiveTheme#noHistory##noRecordHistory##autoCache##noRefresh#').rule((bg_img, put_title, desc, Album_url) => {\\n var PAGE = MY_PAGE;\\n var d = [];\\n var url = Album_url + PAGE;\\n var APP_JSON = JSON.parse(request(url)).data.list;\\n if (PAGE == 1) {\\n d.push({\\n col_type: 'pic_1_full',\\n url: 'hiker://empty',\\n img: bg_img,\\n });\\n d.push({\\n col_type: 'text_1',\\n title: put_title,\\n url: 'hiker://empty',\\n extra: {\\n lineVisible: false\\n }\\n });\\n d.push({\\n col_type: 'rich_text',\\n title: \\\"\\\" + desc + \\\" \\\",\\n url: 'hiker://empty',\\n });\\n }\\n if (APP_JSON.length != \\\"\\\") {\\n for (let i in APP_JSON) {\\n var PLAY_LINKS = APP_JSON[i].url.replace(/newstudios/, 'https');\\n var title = APP_JSON[i].title;\\n var img = APP_JSON[i].cover;\\n var cat = APP_JSON[i].categories;\\n var cat_all = []\\n for (var i in cat) {\\n var cat_1 = cat[i].category_name;\\n var cat_2 = cat[i].sub.category_name;\\n cat_all.push(\\n cat_1 + '-' + cat_2 + ' \\t'\\n )\\n }\\n cat_all = cat_all.join(\\\"\\\")\\n var cat_title = '““””' + cat_all + '';\\n d.push({\\n col_type: 'movie_1_left_pic',\\n title: title,\\n desc: cat_title,\\n img: img,\\n url: $(PLAY_LINKS).lazyRule(() => {\\n putMyVar('详细类别', '简介');\\n return eval(JSON.parse(fetch(\\\"hiker://page/视频详情页\\\")).rule);\\n }),\\n });\\n }\\n }\\n setResult(d);\\n }, bg_img, put_title, desc, Album_url),\\n extra: {\\n cls: '主页',\\n }\\n });\\n }\\n} else if (total!= '0'){\\n eval(JSON.parse(fetch(\\\"hiker://page/END\\\")).rule)(D)\\n}\\nif(PAGE == 1) putMyVar('专辑'+input, JSON.stringify(D));\"},{\"col_type\":\"movie_3\",\"name\":\"END\",\"path\":\"END\",\"rule\":\"function(arr){\\narr.push({\\n title: \\\"““”” \\\" + '—— END ——' + \\\" \\\",\\n col_type: \\\"text_center_1\\\",\\n url: 'hiker://empty',\\n extra: {\\n lineVisible: false,\\n id: 'end',\\n cls:'end'\\n }\\n})\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"时间戳转换\",\"path\":\"时间戳转换\",\"rule\":\"function timestampToTime(tm, ts) {\\n\\t\\tundefined\\n\\t\\tvar date = new Date(tm * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000\\n\\t\\tvar Y = date.getFullYear() + '-';\\n\\t\\tvar M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';\\n\\t\\tvar D = date.getDate();\\n\\t\\tvar h = ' | ' + date.getHours() + ':';\\n\\t\\tvar m = date.getMinutes();\\n\\t\\tif(m<10) m = '0'+m;\\n\\t\\tm = m + ':'\\n\\t\\tvar s = date.getSeconds();\\n\\t\\tif(s<10) s = '0'+s;\\n\\t\\tif (ts == 0) return Y + M + D;\\n\\t\\tif (ts == 1) return Y + M + D + h + m + s;\\n\\t}\"},{\"col_type\":\"movie_3\",\"name\":\"app_二级列表\",\"path\":\"app_二级列表\",\"rule\":\"$('hiker://empty#fypage##noHistory##autoCache##noRecordHistory##immersiveTheme##noRefresh##noLoading#').rule((input) => {\\n var d = [];\\n //var PAGE = MY_URL.split('#')[1];\\n // 进入二级清空重置一次\\n addListener('onClose', $.toString(() => {\\n clearVar('cate_2');\\n clearVar('current_url')\\n }))\\n // 当前 url\\n const CURRENT_URL = getVar('current_url', input)\\n const CATE_LEVEL_2 = getVar(\\\"cate_2\\\", \\\"0\\\")\\n // 获取页面内容\\n let App_Json = JSON.parse(request(CURRENT_URL + '&page=' + MY_PAGE)).data;\\n // 第一页独占\\n if (MY_PAGE == 1) {\\n eval(JSON.parse(fetch(\\\"hiker://page/TopImg\\\")).rule)\\n d.push({\\n col_type: \\\"blank_block\\\"\\n })\\n let categorie_level_2 = App_Json.header;\\n // 遍历二级标签\\n categorie_level_2.categories.forEach((cate_2, index_2) => {\\n let title = cate_2['title'];\\n if (title == getPageTitle()) {\\n for (let i in cate_2.sub) {\\n title = cate_2.sub[i];\\n let link = title.value;\\n title = title.title;\\n d.push({\\n title: CATE_LEVEL_2 == title ? \\\"““\\\" + title + \\\"””\\\" : title,\\n col_type: 'scroll_button',\\n url: $().lazyRule((title, link) => {\\n putVar('cate_2', title)\\n putVar('current_url', \\\"https://app.xinpianchang.com/articles?category_id=\\\" + link);\\n refreshPage()\\n return \\\"hiker://empty\\\"\\n }, title, link)\\n })\\n\\n }\\n\\n }\\n\\n })\\n d.push({\\n col_type: \\\"blank_block\\\"\\n })\\n }\\n // var APP_URL ='';\\n var app_lists = App_Json.list;\\n eval(JSON.parse(fetch(\\\"hiker://page/app分类与搜索列表\\\")).rule)\\n d = d.concat(D)\\n setResult(d)\\n},input)\"},{\"col_type\":\"text_1\",\"name\":\"视频详情页\",\"path\":\"视频详情页\",\"rule\":\"$('hiker://empty#fypage##gameTheme##noHistory##noRefresh#').rule((input) => {\\n //clearMyVar('评论' + getMyVar('cache_link'));\\n putMyVar('cache' + input, input);\\n //getMyVar('cache'+input);\\n addListener('onClose', $.toString(() => {\\n clearMyVar('页码');\\n clearMyVar('详情');\\n clearMyVar('详细类别');\\n clearMyVar('相似视频'+input);\\n }))\\n var PAGE = MY_PAGE;\\n var d = [];\\n try {\\n var tips_select = getMyVar(\\\"详细类别\\\", '简介');\\n var DATA_JSON = JSON.parse(request(input)).data;\\n //评论数\\n var total = DATA_JSON.count.count_comment;\\n //视频id\\n var ID = DATA_JSON.id;\\n var bg_img = DATA_JSON.cover;\\n var title = DATA_JSON.title;\\n setPageTitle(DATA_JSON.title)\\n // 分类[i].category_name.sub.category_name\\n var cat = DATA_JSON.categories;\\n // 时间戳转换\\n eval(JSON.parse(fetch(\\\"hiker://page/时间戳转换\\\")).rule);\\n // 发布时间\\n var publish_time = DATA_JSON.publish_time;\\n publish_time = timestampToTime(tm = publish_time, ts = 0)\\n // 播放量\\n var view = DATA_JSON.count.count_view;\\n if (view > 10000) view = (view / 10000).toFixed(1) + 'w';\\n // 简介\\n var content = DATA_JSON.content;\\n // 喜欢点赞\\n var like = DATA_JSON.count.count_like;\\n if (like > 1000) like = (like / 1000).toFixed(1) + 'k';\\n // 收藏\\n var collect = DATA_JSON.count.count_collect;\\n if (collect > 1000) collect = (collect / 1000).toFixed(1) + 'k';\\n // 分享\\n var share = DATA_JSON.count.count_share;\\n if (share > 1000) share = (share / 1000).toFixed(1) + 'k';\\n // 标签[i].name\\n var tags = DATA_JSON.tags;\\n // 创作人.url(主页).username(名字).avatar(名字)\\n var user = DATA_JSON.author.userinfo;\\n putMyVar('作者', user.username);\\n var Color = \\\"#FA7298\\\";\\n\\n function getHead(titles) {\\n return '‘‘’’' + titles + '';\\n }\\n\\n if (PAGE == 1) {\\n d.push({\\n col_type: 'pic_1_full',\\n title: '0',\\n img: bg_img,\\n url: $('#noLoading#' + input).lazyRule(() => {\\n return eval(JSON.parse(fetch(\\\"hiker://page/app播放链接\\\")).rule);\\n }),\\n extra: {\\n id: title\\n }\\n });\\n for (let i = 0; i < 10; i++) {\\n d.push({\\n col_type: \\\"blank_block\\\",\\n })\\n }\\n var 评论tips = '评论 ' + '‘‘' + total + '’’';\\n d.push({\\n col_type: 'text_2',\\n title: tips_select == '简介' ? getHead(\\\"简介\\\") : '简介',\\n url: $('#noLoading#' + input).lazyRule((Color, 评论tips) => {\\n putMyVar('页码', '1');\\n if (getMyVar(\\\"详细类别\\\") != '简介') {\\n putMyVar('详细类别', '简介');\\n updateItem('简介', {\\n title: '‘‘’’' + '简介' + ''\\n });\\n updateItem('评论'+input, {\\n title: 评论tips\\n });\\n deleteItemByCls('详情页'+input);\\n deleteItemByCls('end');\\n addItemAfter('评论'+input, JSON.parse(getMyVar('详情' + getMyVar('cache' + input))));\\n }\\n return \\\"hiker://empty\\\";\\n }, Color, 评论tips),\\n extra: {\\n id: '简介'\\n }\\n });\\n d.push({\\n col_type: 'text_2',\\n title: tips_select == '评论' ? getHead(评论tips) : 评论tips,\\n url: $('#noLoading#' + input).lazyRule((Color, 评论tips, ID, PAGE) => {\\n putMyVar('相似视频'+input, '0');\\n if (getMyVar(\\\"详细类别\\\") != '评论') {\\n putMyVar('详细类别', '评论');\\n deleteItemByCls('详情页'+input)\\n deleteItemByCls('end')\\n deleteItemByCls('相似列表'+input)\\n if (!getMyVar('评论' + getMyVar('cache' + input))) {\\n eval(JSON.parse(fetch(\\\"hiker://page/视频评论\\\")).rule)\\n addItemAfter('评论'+input, D);\\n } else {\\n addItemAfter('评论'+input, JSON.parse(getMyVar('评论' + getMyVar('cache' + input))));\\n }\\n updateItem('简介', {\\n title: \\\"简介\\\"\\n });\\n updateItem('评论'+input, {\\n title: '‘‘’’' + 评论tips + ''\\n });\\n\\n }\\n return \\\"hiker://empty\\\";\\n }, Color, 评论tips, ID, PAGE),\\n extra: {\\n id: '评论'+input\\n }\\n });\\n \\n eval(JSON.parse(fetch(\\\"hiker://page/视频信息\\\")).rule)\\n if (tips_select == '简介') d = d.concat(D);\\n \\n }\\n if (tips_select == '评论') {\\n eval(JSON.parse(fetch(\\\"hiker://page/视频评论\\\")).rule)\\n d = d.concat(D)\\n }\\n setResult(d);\\n } catch (e) {\\n back(false)\\n }\\n}, input)\"},{\"col_type\":\"movie_3\",\"name\":\"视频信息\",\"path\":\"视频信息\",\"rule\":\"var D = []\\nvar user = DATA_JSON.author.userinfo;\\nvar USER_HOME = user.url.replace(/newstudios/, 'https');\\nvar download_ID =DATA_JSON.video_library_id;\\nD.push({\\n col_type: 'text_1',\\n title: '““””' + title + '',\\n url: \\\"hiker://empty\\\",\\n extra: {\\n lineVisible: false,\\n cls: '详情页'+input\\n }\\n});\\nvar cat_all = []\\nfor (var i in cat) {\\n var cat_1 = cat[i].category_name;\\n var cat_2 = cat[i].sub.category_name;\\n cat_all.push(\\n cat_1 + '-' + cat_2 + ' \\t')\\n}\\ncat_all = cat_all.join(\\\"\\\")\\nvar cat_title = '““””' + cat_all + ' \\t' + publish_time + ' \\t\\t' + view + '次播放' + '';\\nD.push({\\n title: cat_title,\\n url: 'hiker://empty',\\n col_type: 'text_1',\\n extra: {\\n lineVisible: false,\\n cls: '详情页'+input\\n }\\n});\\nD.push({\\n col_type: 'rich_text',\\n title: \\\"\\\" + content + \\\" \\\",\\n url: \\\"hiker://empty\\\",\\n extra: {\\n cls: '详情页'+input\\n }\\n});\\nD.push({\\n title: like,\\n pic_url: 'https://hikerfans.com/weisyr/icon/bbs点赞.svg',\\n url: \\\"hiker://empty\\\",\\n col_type: 'icon_small_4',\\n extra: {\\n cls: '详情页'+input\\n }\\n})\\nD.push({\\n title: collect,\\n pic_url: 'https://hikerfans.com/weisyr/icon/bbs收藏.svg',\\n url: \\\"hiker://empty\\\",\\n col_type: 'icon_small_4',\\n extra: {\\n cls: '详情页'+input\\n }\\n})\\nD.push({\\n title: share,\\n pic_url: 'https://hikerfans.com/weisyr/icon/bbs分享.svg',\\n url: \\\"hiker://empty\\\",\\n col_type: 'icon_small_4',\\n extra: {\\n cls: '详情页'+input\\n }\\n})\\nD.push({\\n title: '下载',\\n pic_url: 'https://hikerfans.com/weisyr/icon/bbs下载.svg',\\n url: $('#noLoading#'+download_ID).lazyRule(() => {\\n let play_Url =JSON.parse(request('https://mod-api.xinpianchang.com/mod/api/v2/media/'+input+'?appKey=61a2f329348b3bf77')).data.resource.progressive[0].url;\\n return 'download://' + play_Url+';{User-Agent@ExoPlayerLib}'\\n }),\\n col_type: 'icon_small_4',\\n extra: {\\n cls: '详情页'+input\\n }\\n})\\nD.push({\\n col_type: 'line',\\n extra: {\\n cls: '详情页'+input\\n }\\n});\\nfor (let i = 0; i < 2; i++) {\\n D.push({\\n col_type: \\\"blank_block\\\",\\n extra: {\\n cls: '详情页'+input\\n }\\n })\\n}\\n\\nfor (let i in tags) {\\n var tag = tags[i].name;\\n D.push({\\n title: '““””' + tag + '',\\n col_type: 'flex_button',\\n url: $().lazyRule((tag) => {\\n putMyVar('搜关键字', tag);\\n return eval(JSON.parse(fetch(\\\"hiker://page/进入搜索页\\\")).rule);\\n }, tag),\\n extra: {\\n cls: '详情页'+input\\n }\\n })\\n}\\nD.push({\\n col_type: \\\"blank_block\\\",\\n extra: {\\n cls: '详情页'+input\\n }\\n})\\nD.push({\\n col_type: 'line',\\n extra: {\\n cls: '详情页'+input\\n }\\n});\\n\\nfor (let i = 0; i < 10; i++) {\\n D.push({\\n col_type: \\\"blank_block\\\",\\n extra: {\\n cls: '详情页'+input\\n }\\n })\\n}\\nD.push({\\n col_type: 'text_1',\\n title: '““””' + '创作人' + '',\\n url: \\\"hiker://empty\\\",\\n extra: {\\n lineVisible: false,\\n cls: '详情页'+input\\n }\\n});\\nD.push({\\n title: user.username,\\n img: user.avatar + '@Referer=' + user.avatar,\\n url: $(USER_HOME).lazyRule(() => {\\n return eval(JSON.parse(fetch(\\\"hiker://page/创作人首页\\\")).rule);\\n }),\\n col_type: 'icon_2_round',\\n extra: {\\n cls: '详情页'+input\\n }\\n})\\n/*\\nfor (let i = 0; i < 10; i++) {\\n D.push({\\n col_type: \\\"blank_block\\\",\\n extra: {\\n cls: '详情页'+input\\n }\\n })\\n}\\nD.push({\\n col_type: 'line',\\n extra: {\\n cls: '详情页'+input\\n }\\n});\\nfor (let i = 0; i < 10; i++) {\\n D.push({\\n col_type: \\\"blank_block\\\",\\n extra: {\\n cls: '详情页'+input\\n }\\n })\\n}\\n*/\\nD.push({\\n col_type: 'text_2',\\n //title: '““””' + '相似视频' + '',\\n title: '相似视频',\\n url: $('#noLoading#' + input).lazyRule((PAGE) => {\\n if (getMyVar('相似视频'+input, '0') == '0') {\\n if (!getMyVar('相似' + getMyVar('cache'+input))) {\\n showLoading('匹配此类视频中');\\n eval(JSON.parse(fetch(\\\"hiker://page/相似视频\\\")).rule)\\n hideLoading();\\n addItemAfter('相似视频'+input, D);\\n } else {\\n addItemAfter('相似视频'+input, JSON.parse(getMyVar('相似' + getMyVar('cache'+input))));\\n }\\n putMyVar('相似视频'+input, '1');\\n //putMyVar('详细类别', '相似视频');\\n } else {\\n deleteItemByCls('相似列表'+input);\\n deleteItemByCls('end');\\n putMyVar('相似视频'+input, '0');\\n }\\n return \\\"hiker://empty\\\"\\n },PAGE),\\n extra: {\\n lineVisible: false,\\n cls: '详情页'+input,\\n id: '相似视频'+input\\n }\\n});\\nputMyVar('详情'+getMyVar('cache'+input), JSON.stringify(D))\"},{\"col_type\":\"movie_3\",\"name\":\"视频评论\",\"path\":\"视频评论\",\"rule\":\"var D = [];\\nvar myPage =JSON.parse(getMyVar('页码','1'));\\nif(PAGE > myPage && getMyVar(\\\"详细类别\\\") == '评论') {\\n myPage++;\\n putMyVar('页码',JSON.stringify(myPage));\\n //log('新'+myPage)\\n}\\neval(JSON.parse(fetch(\\\"hiker://page/时间戳转换\\\")).rule);\\nlet comment_url = \\\"https://app.xinpianchang.com/comments?resource_id=\\\" + ID + \\\"&type=article&page=\\\" + Number(myPage);\\nvar COMMENT_JSON = JSON.parse(request(comment_url)).data;\\n// 评论总数\\n//log(COMMENT_JSON)\\nvar total = COMMENT_JSON.total;\\nvar cache_json = COMMENT_JSON.list;\\n//无评论\\nif (!total || total == 0 && myPage == 1) {\\n for (let i = 0; i < 30; i++) {\\n D.push({\\n col_type: \\\"blank_block\\\",\\n extra: {\\n cls: '详情页'+input\\n }\\n })\\n }\\n D.push({\\n title: \\\"““”” \\\" + '—— 暂无评论 ——' + \\\" \\\",\\n col_type: \\\"text_center_1\\\",\\n url: 'hiker://empty',\\n extra: {\\n lineVisible: false,\\n cls: '详情页'+input\\n }\\n })\\n}\\nif (cache_json.length > 0) {\\n for (let i = 0; i < cache_json.length; i++) {\\n var USER_HOME = 'https://app.xinpianchang.com/user/' + cache_json[i].userid;\\n var user_avatar = cache_json[i].userInfo.avatar;\\n var user_username = cache_json[i].userInfo.username;\\n if (getMyVar('作者') == user_username) user_username = '' + user_username +\\n '';\\n // 评论内容\\n var content = cache_json[i].content;\\n // 评论时间\\n var addtime = cache_json[i].addtime;\\n addtime = timestampToTime(tm = addtime, ts = 1)\\n // 回复\\n if (cache_json[i].referer) {\\n var re_name = cache_json[i].referer.userInfo.username;\\n var re_content = cache_json[i].referer.content;\\n var referer = \\\"
\\\" + '' + re_name + '' + '
' +\\n re_content + \\\"
\\\";\\n } else {\\n var referer = \\\"\\\"\\n }\\n for (let i = 0; i < 10; i++) {\\n D.push({\\n col_type: \\\"blank_block\\\",\\n extra: {\\n cls: '详情页'+input\\n }\\n })\\n }\\n D.push({\\n title: user_username + \\\"\\\" + '\\\\t\\\\t' + addtime +\\n \\\"\\\",\\n img: user_avatar + '@Referer=' + user_avatar,\\n url: $(USER_HOME).lazyRule(() => {\\n return eval(JSON.parse(fetch(\\\"hiker://page/创作人首页\\\")).rule);\\n }),\\n col_type: 'avatar',\\n extra: {\\n cls: '详情页'+input\\n }\\n });\\n D.push({\\n title: referer + \\\"\\\" + '\\\\t\\\\t\\\\t\\\\t\\\\t' + content + \\\"\\\",\\n url: 'hiker://empty',\\n col_type: 'rich_text',\\n extra: {\\n cls: '详情页'+input\\n }\\n })\\n D.push({\\n col_type: 'line',\\n extra: {\\n cls: '详情页'+input\\n }\\n });\\n }\\n D.push({\\n col_type: 'blank_block',\\n extra: {\\n cls: '详情页'+input,\\n id: '结束评论'\\n }\\n });\\n} else if(total!= 0 ){\\n eval(JSON.parse(fetch(\\\"hiker://page/END\\\")).rule)(D)\\n}\\nif(PAGE == 1) putMyVar('评论'+getMyVar('cache'+input), JSON.stringify(D));\"},{\"col_type\":\"movie_3\",\"name\":\"相似视频\",\"path\":\"相似视频\",\"rule\":\"var next_url = input + '/next';\\nvar NEXT_JSON = JSON.parse(request(next_url)).data.list;\\nvar D = [];\\nif (NEXT_JSON.length > 0) {\\n for (let i = 0; i < NEXT_JSON.length; i++) {\\n var PLAY_LINKS = NEXT_JSON[i].data.url.replace(/newstudios/, 'https');\\n var next_title = NEXT_JSON[i].data.title;\\n var next_cover = NEXT_JSON[i].data.cover;\\n var next_view = NEXT_JSON[i].data.count.count_view;\\n if (next_view > 10000) next_view = (next_view / 10000)\\n .toFixed(1) + 'w';\\n var next_like = NEXT_JSON[i].data.count.count_like;\\n if (next_like > 1000) next_like = (next_like / 1000)\\n .toFixed(1) + 'k';\\n var next_user = NEXT_JSON[i].data.author.userinfo.username;\\n let cache_link = input;\\n D.push({\\n col_type: 'movie_1_left_pic',\\n title: next_title,\\n desc: \\\"““”” \\\" + '播放量 ' + next_view + ' · 喜欢 ' + next_like + '\\\\n' + next_user + \\\" \\\",\\n img: next_cover,\\n url: $(PLAY_LINKS).lazyRule((cache_link) => {\\n clearMyVar('评论' + getMyVar('cache'+cache_link));\\n putMyVar('详细类别', '简介');\\n //putMyVar('相似视频', '1');\\n return eval(JSON.parse(fetch(\\\"hiker://page/视频详情页\\\")).rule);\\n },cache_link),\\n extra: {\\n cls: '相似列表'+input\\n }\\n });\\n }\\n eval(JSON.parse(fetch(\\\"hiker://page/END\\\")).rule)(D)\\n} else {\\n //eval(JSON.parse(fetch(\\\"hiker://page/END\\\")).rule)(D)\\n}\\nif(PAGE == 1) putMyVar('相似'+getMyVar('cache'+input), JSON.stringify(D));\"},{\"col_type\":\"movie_3\",\"name\":\"TopImg\",\"path\":\"TopImg\",\"rule\":\"d.push({\\n col_type: 'pic_1_full',\\n title: '0',\\n img: \\\"https://hikerfans.com/weisyr/img/TopImg0.png\\\",\\n url: 'hiker://empty',\\n});\"},{\"col_type\":\"movie_3\",\"name\":\"创作人作品列表_多线程\",\"path\":\"创作人作品列表_多线程\",\"rule\":\"// 时间戳转换\\neval(JSON.parse(fetch(\\\"hiker://page/时间戳转换\\\")).rule);\\nvar list_url = input + '/articles?is_hide_in_space=0&order=' + getMyVar(\\\"主页类别\\\", 'new') + '&return_struct_type=user_home&type=public&page=' + PAGE;\\n\\nvar task = function(obj) {\\n D = [];\\n var APP_JSON = JSON.parse(request(obj.url)).data;\\n APP_JSON = APP_JSON.list;\\n if (APP_JSON.length > 0) {\\n for (let i = 0; i < APP_JSON.length; i++) {\\n var app_cache = APP_JSON[i].resource;\\n var PLAY_LINKS = app_cache.url.replace(/newstudios/, 'https');\\n var like = app_cache.count.count_like;\\n var view = app_cache.count.count_view;\\n if (like > 1000) like = (like / 1000)\\n .toFixed(1) + 'k';\\n if (view > 10000) view = (view / 10000)\\n .toFixed(1) + 'w';\\n var img = app_cache.cover;\\n var title = app_cache.title;\\n var publish_time = app_cache.publish_time;\\n // 时间戳转年月日\\n publish_time = timestampToTime(tm = publish_time, ts = 0)\\n Arr = {\\n col_type: 'movie_1_left_pic',\\n title: title,\\n desc: \\\"““”” \\\" + publish_time + '\\\\n' + like + ' 喜欢' + ' · ' + view + ' 观看' + \\\" \\\",\\n img: img,\\n url: $(PLAY_LINKS).lazyRule(() => {\\n putMyVar('详细类别', '简介');\\n return eval(JSON.parse(fetch(\\\"hiker://page/视频详情页\\\")).rule);\\n }),\\n extra: {\\n cls: '主页'\\n }\\n };\\n D.push(Arr);\\n }\\n\\n } else {\\n //eval(JSON.parse(fetch(\\\"hiker://page/END\\\")).rule)(D)\\n }\\n deleteItem('loading');\\n addItemAfter('主页专辑', D);\\n if(PAGE == 1) putMyVar('作品new'+input, JSON.stringify(D));\\n return D\\n};\\n\\nvar tasks = [{\\n func: task,\\n param: {\\n url: list_url\\n },\\n id: '1'\\n}];\\n\\nbe(tasks);\"},{\"col_type\":\"movie_3\",\"name\":\"图片处理\",\"path\":\"Img\",\"rule\":\"js:\\nconst ByteArrayOutputStream = java.io.ByteArrayOutputStream;\\nconst ByteArrayInputStream = java.io.ByteArrayInputStream;\\nconst Bitmap = android.graphics.Bitmap;\\nconst BitmapFactory = android.graphics.BitmapFactory;\\nconst Canvas = android.graphics.Canvas;\\nconst Color = android.graphics.Color;\\nconst ColorMatrix = android.graphics.ColorMatrix;\\nconst ColorMatrixColorFilter = android.graphics.ColorMatrixColorFilter;\\nconst Paint = android.graphics.Paint;\\n\\nfunction toGrayscale(bmpOriginal) {\\n bmpOriginal = BitmapFactory.decodeStream(bmpOriginal, null, getOptions());\\n let width, height;\\n height = bmpOriginal.getHeight();\\n width = bmpOriginal.getWidth();\\n\\n let bmpGrayscale = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);\\n let c = new Canvas(bmpGrayscale);\\n let paint = new Paint();\\n let cm = new ColorMatrix();\\n cm.setSaturation(0);\\n let f = new ColorMatrixColorFilter(cm);\\n paint.setColorFilter(f);\\n c.drawBitmap(bmpOriginal, 0, 0, paint);\\n return outInput(bmpGrayscale);\\n}\\n\\nfunction getOptions() {\\n let options = new BitmapFactory.Options();\\n options.inSampleSize = 2.5;\\n return options;\\n}\\nfunction outInput(bitmap){\\n let baos = new ByteArrayOutputStream();\\n bitmap.compress(Bitmap.CompressFormat.JPEG, 85, baos);\\n return new ByteArrayInputStream(baos.toByteArray());\\n}\\nfunction compress(bmpOriginal) {\\n bmpOriginal = BitmapFactory.decodeStream(bmpOriginal, null, getOptions());\\n return outInput(bmpOriginal);\\n}\\n$.exports.compress = () => compress(input);\\n$.exports.toGrayscale = () => toGrayscale(input);\"}]","proxy":"","icon":"https://appimg.dbankcdn.com/application/icon144/85ebbac80b53487695b83587b9a5e103.png"},{"last_chapter_rule":"","title":"VS影院-短剧","author":"缘分","version":3,"type":"video","url":"https://m.0838mma.com/vodlist/dj___fyyear__fysort_fypage.html","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"人气&时间&评分","year_name":"全部&2023&2022&2021","sort_url":"hits&gold&addtime","year_url":"&2023&2022&2021","find_rule":"js:\nvar d = [];\nvar html = getResCode();\nvar list = pdfa(html, '.video-list&&li')\ntry {\n list.forEach(data => {\n d.push({\n title: pdfh(data, 'a&&title'),\n desc: pdfh(data, '.text-center&&Text'),\n img: pd(data, 'a&&data-original') + '@Referer=',\n url: pd(data, 'a&&href') + \"#immersiveTheme#\",\n col_type: '',\n })\n })\n} catch (e) {}\nsetResult(d)","searchFind":"js:\nvar d = [];\n//var html = getResCode();\nlet c = getVar(\"vs\", \"\");\nlog(c)\nif (c != \"\") {\n setItem(\"cookie\", c);\n clearVar(\"vs\");\n}\nvar cookie = getItem(\"cookie\", \"PHPSESSID=82a347dc0a90418f0d6fbbf343de2c0d; Hm_lvt_993be9870104efa6bad057107398a3f4=1693876346; Hm_lpvt_993be9870104efa6bad057107398a3f4=1693877267\");\n//var cookie = cookie.replace(/ ssea2_search.*?;/, '');\n//log(cookie)\nlet html = request(MY_URL, {\n headers: {\n 'Cookie': cookie,\n //'User-Agent': PC_UA, \n }\n});\nif (html.includes(\"系统安全验证\")) {\n d.push({\n title: \"点击过验证\",\n url: MY_URL + $(\"\").rule((MY_URL) => {\n var d = [];\n d.push({\n title: \"\",\n url: MY_URL,\n col_type: \"x5_webview_single\",\n desc: \"float&&240\",\n extra: {\n js: $.toString((MY_URL) => {\n function check() {\n let c = fba.getCookie(MY_URL);\n let nodes = document.querySelectorAll('.hot-card');\n if (nodes && nodes.length > 0 && c) {\n fy_bridge_app.log(nodes)\n fba.putVar(\"vs\", c);\n fba.parseLazyRule($$$().lazyRule(() => {\n back();\n toast('刷新使用');\n }));\n } else {\n setTimeout(check, 250);\n }\n }\n check();\n },MY_URL)\n }\n })\n\n d.push({\n title: \"验证过后,返回下拉刷新\",\n url: $().lazyRule(() => {\n back();\n return 'toast://下拉刷新'\n }),\n col_type: \"text_center_1\",\n });\n setResult(d);\n },MY_URL)\n })\n} else {\nvar list = pdfa(html, '.hot-card-list&&li')\ntry {\n list.forEach(data => {\n d.push({\n title: pdfh(data, 'a&&title'),\n desc: pdfh(data, '.txt-hidden&&Text'),\n img: pd(data, 'a&&data-original') + '@Referer=',\n url: pd(data, 'a&&href') + \"#immersiveTheme#\",\n col_type: '',\n })\n })\n} catch (e) {}\n}\nsetResult(d)","search_url":"https://m.0838mma.com/search/**-fypage.html","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar d = [];\nvar html = getResCode();\neval(JSON.parse(fetch('hiker://page/lazy', {})).rule);\n\nlet xl = pdfa(html, '.min-player&&a')\nif (xl.length > 1) {\n线路 = '.min-player&&a,1:'\n}else \nif (xl.length == 1) {\n线路 = '.min-player&&a'\n}\nlet 线路名 = 'Text'\nlet 选集 = 'body&&.fade-in'\nlet 选集列表 = 'body&&a'\nlet 详情1 = '.vod-info&&p,5&&Text'\nlet 详情 = '.vod-info&&p,2&&Text'\nlet 详情2 = '.vod-info&&p,1&&Text'\nlet 封面 = '.vod-image&&img&&src'\nlet tabs = []\nlet lists = []\npdfa(html, 线路).forEach(data => {\n tabs.push(pdfh(data, 线路名).replace(/(.*?)号线.*/,'$1'))\n})\npdfa(html, 选集).forEach(data => {\n lists.push(pdfa(data, 选集列表))\n})\ntry {\n d.push({\n title: pdfh(html, 详情).substring(0, 18),\n desc: pdfh(html, 详情1) +\n '\\n' +\n '\\n' +\n pdfh(html, 详情2).substring(0, 18),\n img: pd(html,\n 封面) + '@Referer=',\n url: MY_URL,\n col_type: 'movie_1_vertical_pic_blur',\n extra: {\n gradient: true\n }\n });\n} catch (e) {\n d.push({\n img: pd(html, 封面) + '@Referer=',\n url: MY_URL,\n col_type: 'movie_1_vertical_pic_blur',\n });\n}\n\naddListener(\"onClose\", $.toString(() => {\n clearMyVar(\"lists\");\n}));\nstorage0.putMyVar(\"lists\", lists);\nvar list = lists[getMyVar(MY_URL, '0')];\nvar 排序 = getMyVar(MY_URL + \"章节排序\", '#1aad19\">正序');\nvar 提示 = 排序 == '#FF0000\">倒序' ? '#1aad19\">正序' : '#FF0000\">倒序';\nvar 排序名 = '““””'\n\nd.push({\n title: '““””',\n url: $(\"#noLoading#\").lazyRule((tabs, 排序名, lazy, d) => {\n var lists = storage0.getMyVar(\"lists\");\n let 章节 = lists[getMyVar(MY_URL, '0')];\n var 排序 = getMyVar(MY_URL + \"章节排序\", '#1aad19\">正序');\n var 提示 = 排序 == '#FF0000\">倒序' ? '#1aad19\">正序' : '#FF0000\">倒序';\n updateItem({\n extra: {\n id: MY_URL + \"_排序\",\n },\n title: 排序名.replace('排序', 提示)\n })\n 章节 = 排序 == '#1aad19\">正序' ?章节 : 章节.reverse() ;\n let cp = 章节.map((data, ssid) => {\n return {\n title: pdfh(data, 'a&&Text'),\n url: pd(data, 'a&&href') + lazy,\n col_type: 章节.length > 3 ? 'text_4' : 'text_2',\n extra: {\n cls: MY_URL + \"_选集\",\n id: pd(data, 'a&&href'),\n js: ` document.querySelector(\"button\").click()` \n }\n };\n });\n deleteItemByCls(MY_URL + \"_选集\");\n addItemBefore(MY_URL + \"footer\", cp);\n putMyVar(MY_URL + \"章节排序\", 提示)\n return \"hiker://empty\"\n }, tabs, 排序名, lazy, d[0]),\n col_type: 'scroll_button',\n extra: {\n id: MY_URL + \"_排序\",\n }\n})\n\ntabs.forEach((data, id) => {\n d.push({\n title: getMyVar(MY_URL, '0') == id ? '““' + data + '””' : data,\n url: $(\"#noLoading#\").lazyRule((线路, lazy, id) => {\n var lists = storage0.getMyVar(\"lists\");\n var 排序 = getMyVar(MY_URL + \"章节排序\", '#1aad19\">正序');\n var 提示 = 排序 == '#FF0000\">倒序' ? '#1aad19\">正序' : '#FF0000\">倒序';\n 线路.forEach((data, xlid) => {\n updateItem({\n title: id == xlid ? '““' + data + '””' : data,\n extra: {\n id: MY_URL + \"_线路\" + xlid\n }\n });\n })\n putMyVar(MY_URL, id)\n let 章节 = lists[getMyVar(MY_URL, '0')];\n 章节 = 排序 == '#FF0000\">倒序' ? 章节 : 章节.reverse() ;\n let cp = 章节.map((data, ssid) => {\n return {\n title: pdfh(data, 'a&&Text'),\n url: pd(data, 'a&&href') + lazy,\n col_type: 章节.length > 3 ? 'text_4' : 'text_2',\n extra: {\n cls: MY_URL + \"_选集\",\n id: pd(data, 'a&&href'),\n js: ` document.querySelector(\"button\").click()` \n }\n };\n });\n deleteItemByCls(MY_URL + \"_选集\");\n addItemBefore(MY_URL + \"footer\", cp);\n return \"hiker://empty\"\n }, tabs, lazy, id),\n col_type: 'scroll_button',\n extra: {\n id: MY_URL + \"_线路\" + id\n }\n });\n})\nlet list = 排序 === '#FF0000\">倒序' ? list : list.reverse();\nlist.forEach((data, id) => {\n d.push({\n title: pdfh(data, 'a&&Text'),\n url: pd(data, 'a&&href') + lazy,\n col_type: list.length > 3 ? 'text_4' : 'text_2',\n extra: {\n cls: MY_URL + \"_选集\",\n id: pd(data, 'a&&href'),\n js: ` document.querySelector(\"button\").click()` \n },\n });\n})\nd.push({\n col_type: \"big_blank_block\",\n extra: {\n id: MY_URL + \"footer\"\n }\n});\nsetResult(d);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"lazy\",\"path\":\"lazy\",\"rule\":\"var lazy = $('').lazyRule((MY_HOME)=> {\\n var html = request(input).match(/var.*?_player = (.*?)-1) {\\nif (/ffzy/.test(url)) {\\r\\n evalPrivateJS('TuSJdpnZaqXGRvvOFRR+3S7eZUjeC1CffFbHhoo0e5+aZ7Kav9KZVZsfkwKkUFf4wzkTrio4jARH6ZwTXpRlH3kI43rWCTU4PdYam15pPYiq5cW0H6gUXhJW7tmJtyLKdje1KapBIGvWaXI0WmoHoMEFBV/MAicmPgpyAJZjsc5Emvdh1n72WPPiyhYNCoMnZ9JpP6aEsWQEmQMcAjPxgs6UMvsO/POw5Ccr79sJzicst/Ll3IOj5M+PvqKrTd6147VGPEztjsUeEudASzTcn+95C9Vg1uwUvd9z0w5qsPboQh5oZhTys4RQEzBGIqulQMAAQY4IFkanWX95EINZDX50mAiOSGyId06HsprAel/fh7wyMXdmeu+S15XncO7UuujMOmGgSAEN/Ssc2ezkxlGvpdyhbl4p4DaQug/nrgswhZj75/M53sKYX2zRgOST7CMjV/+pPJd1KP934uu/VsBQUG69mWN+KaFWhKnwBPhV9qdqGz/LSJnFxIvQ8kBx')\\n return u + \\\"?url=\\\" + base64Encode(url) + \\\"#.m3u8\\\";\\r\\n } \\n return url\\n}else\\n if(url.match(/youku|mgtv|ixigua|qq.com|qiyi|migu|bili|sohu|pptv|le/)&&url.match(/.html/)){\\n let config = fetch('hiker://files/cache/MyParseSet.json');\\n let DnV2 = 'https://code.aliyun.com/AI957/Hiker/raw/master/v/CloudParse-V2_Dn.js';\\n if (config && fetch(JSON.parse(config).cj)) {\\n DnV2 = JSON.parse(config).cj;\\n }\\n eval(fetch(DnV2));\\n return aytmParse(url);\\nshowLoading('√解析中,请稍候...');\\n }\\n\\n}, MY_HOME)\"},{\"col_type\":\"movie_3\",\"name\":\"验证码\",\"path\":\"yzm\",\"rule\":\"while (/输入验证码|系统安全验证/.test(html)) {\\nrc('https://gitcode.net/liuzaoyue/hai/-/raw/master/juyue.js', 24); \\n let headers = {\\n \\\"User-Agent\\\": MOBILE_UA,\\n \\\"Referer\\\": MY_URL\\n }\\n let sz = ocr(MY_HOME + '/?s=home-verify-index.html&t='+Math.random(), headers); \\n fetch(MY_HOME + '/index.php?s=/home/verify/check/', {\\n headers: headers,\\n method: 'POST',\\n body: 'type=search&verify='+sz\\n }) \\n var yz = MY_URL\\n // log(MY_URL)\\n html = request(yz, {\\n //headers: headers\\n })\\n}\\nif (/频繁操作/.test(html)) {\\n d.push({\\n title: '网站搜索时间间隔',\\n desc: \\\"下拉重试\\\"\\n})\\n\\n}\"}]","proxy":"","icon":""},{"last_chapter_rule":"","title":"天天追剧","author":"发粪涂墙&海阔小白","version":0,"type":"video","url":"hiker://empty##https://www.ttzj666.com/v/duanju/fypage","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\nvar getRangeColors = function() {       \n return '#' + ('00000' + (Math.random() * 0x1000000 << 0).toString(16)).substr(-6);     \n}\n\nconst 分类颜色 = getRangeColors()\nconst 大类定位 = 'body&&.stui-header__menu'\nconst 拼接分类 = 'body&&.type-slide,1:not(:matches(类型))'\nconst 小类定位 = 'body&&a:not(:matches(首|专题|发布|奈飞))'\nconst 分类标题 = 'a&&Text'\nconst 分类链接 = 'a&&href'\nMY_URL = MY_URL.replace('hiker://empty##', '')\n\nlet true_url = getVar(MY_RULE.url, MY_URL)\nconst page = MY_PAGE\ntrue_url=true_url.replace(/vodtype(\\/\\d+).*/, 'vodshow$1-----------.html').replace('---.html', page + '---.html').replace(/(---\\d+.html)/, page + '$1')\nlog(true_url)\nvar html = request(true_url)\n\neval(JSON.parse(request('hiker://page/dtfl?rule=模板·Q')).rule)\nconst list = pdfa(html, '.stui-vodlist&&li')\nlist.forEach(video => {\n d.push({\n title: pdfh(video, 'h4&&Text'),\n desc: pdfh(video, '.pic-text&&Text'),\n img: pd(video, '.lazyload&&data-original') + \"@Referer=\" + pd(video, '.lazyload&&data-original'),\n url: pd(video, 'a&&href') + '#immersiveTheme#',\n col_type: 'movie_3_marquee',\n })\n})\nsetResult(d);","searchFind":"js:\nvar d = [];\nvar html = getResCode();\nrequire('hiker://page/yzm?rule=模板·Q')\nvar list = pdfa(html, '.stui-vodlist__media&&li');\n\nfor (var i = 0; i < list.length; i++) {\n var L = list[i];\n d.push({\n title: pdfh(L, 'h3&&Text'),\n url: pd(L, 'a&&href') + \"#immersiveTheme#\",\n desc: pdfh(L, '.pic-text&&Text').replace(/\\//g, ' '),\n content: pdfh(L, 'p&&Text'),\n img: pd(L, '.lazyload&&data-original') + '@Referer=',\n });\n}\nsetResult(d)","search_url":"https://www.ttzj666.com/vodsearch/page/fypage/wd/**","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar lazy = $('').lazyRule(() => {\n if (input.indexOf('magnet:?xt') == -1) {\n try {\n var html = JSON.parse(request(input).match(/r player_.*?=(.*?){\n var ctitle = x\n var sub = subs[i]\n var tid = tids[i]\n d.push({\n title: getMyVar('ctitle', \"电影\") == ctitle ? '““””'+ctitle.fontcolor('#'+getRangeColors()):ctitle,\n url: $('#noLoading##noHistory#').lazyRule((ctitle,sub,tid) => {\n putMyVar(\"ctitle\", ctitle);\n putMyVar(\"sub\",sub);\n putMyVar(\"tid\", tid);\n refreshPage();\n return 'hiker://empty'\n }, ctitle,sub,tid),\n col_type: \"scroll_button\"\n })\n})\n}\nvar sub = getMyVar(\"sub\",subs[0])\nvar tid = getMyVar(\"tid\",tids[0])\n\nvar bodys = JSON.stringify({\"recSwitch\":true,\"channelId\":sub,\"tagIds\":tid,\"cnxhFlag\":MY_PAGE-1,\"playListFlag\":true,\"watchRecords\":[\"41000103722_572752006\"]}); //log(bodys)\nvar body = Encrypt(bodys); //log(body)\nvar url = 'https://freevideo.zqqds.cn/free-video-portal/portal/1121';\nvar html = fetch(url, {\n headers: {\n 'datas': 'e5f22c6e2c82fe001738cb9ce4696eab0556d064a55aef402e0fbe6b29a083f6538e4567de38e67de2071a49d9751526bfba45314e1fd4702b11c76ab9a3b5f873262854ba66e6715ed51364dbc6ee62c7180e047fcbcdbfd49874fc8f28674b16d90ca71a02de76c70598e0b75e647c37c2c19287e49be5f2a259d727dfc4df3d28802388bf3c356576b342e17e30a2ab74859263dba4d1c8eba79990d22d60d60927fdacb2addf2f0eaadd8887585ca2eb87f603faf0c207dda18cf67dc25b2199d303baff9e6605b3314a7d2631f62864f48619daceb9452f2b7b0667773553741856df030cca68af3c57810f983d452bb428ef5fc32206aef4865ae06c629bee7f5135547304acc7ef4e7c6df887308f2e79c493fd2ee03488722861b5bb51b09cb8911dfc92c288d94e601c066d2f9d612ad2c8d4eeb4920b1d44aff3e13fd75229b857f64925df1cf12f75a00d438c422ec1726462b915903f1dd1f4bb7cdf82cc15a6d507f80c789903e710f39a62aef073f3f93a6c681e75d295428aa290d7e98f82e7e9ad6e2b23d9086dfe8c63c5d8550b13fd61a77291473a8bdd43c7c2639f264be69d9d07f0585de4342a399275a64e7d1d4400b8ed4421a2f289f622e40cdd1cfc916a0b9ce747c924ac33e32d24b91ed5d64772d6ad6896412f52724006eabf12aaecfd6e81dad432c7b3800bbf793a1c375e3e7b4fb3b097724b5fc88a8c9bcf3dbc10cbdb252965',\n 'content-type': 'text/plain'\n },\n body: body,\n method: 'POST'\n}); //log(html) //html内容需要解密 AES/CBC/PKCS5Padding key(Hex):647a6b6a67667978677368796c677a6d iv(Hex):6170697570646f776e65646372797074\nvar htmll = JSON.parse(html).data; //log(hrmll)\nvar htmlll = Decrypt(htmll); //log(htmlll)\nvar list = JSON.parse(htmlll).columnData; //log(list)\nlist.forEach(videoDataArray => { // 遍历columnData数组\n videoDataArray.videoData.forEach(video => { // 遍历videoData数组\n d.push({\n title: video.bookName,\n desc: video.updateNum,\n img: video.coverWap + '@Referer=',\n url: \"hiker://page/ej\" + \"#immersiveTheme#\",\n extra: {\n bookId: video.bookId,\n chapterId: video.chapterId,\n chapterMin: video.updateNum,\n chapterMax: video.chapterIndex\n }\n });\n });\n});\nsetResult(d)","searchFind":"js: \nvar d = [];\neval(JSON.parse(request('hiker://page/aes')).rule);\nvar bodys = MY_URL.replace('hiker://empty##', ''); //log(bodys)\nvar body = Encrypt(bodys); //log(body)\nvar url = 'https://freevideo.zqqds.cn/free-video-portal/portal/1803';\nvar html = fetch(url, {\n headers: {\n 'datas': 'e5f22c6e2c82fe001738cb9ce4696eab0556d064a55aef402e0fbe6b29a083f6538e4567de38e67de2071a49d9751526bfba45314e1fd4702b11c76ab9a3b5f873262854ba66e6715ed51364dbc6ee62c7180e047fcbcdbfd49874fc8f28674b16d90ca71a02de76c70598e0b75e647c37c2c19287e49be5f2a259d727dfc4df3d28802388bf3c356576b342e17e30a2ab74859263dba4d1c8eba79990d22d60d60927fdacb2addf2f0eaadd8887585ca2eb87f603faf0c207dda18cf67dc25b2199d303baff9e6605b3314a7d2631f62864f48619daceb9452f2b7b0667773553741856df030cca68af3c57810f983d452bb428ef5fc32206aef4865ae06c629bee7f5135547304acc7ef4e7c6df887308f2e79c493fd2ee03488722861b5bb51b09cb8911dfc92c288d94e601c066d2f9d612ad2c8d4eeb4920b1d44aff3e13fd75229b857f64925df1cf12f75a00d438c422ec1726462b915903f1dd1f4bb7cdf82cc15a6d507f80c789903e710f39a62aef073f3f93a6c681e75d295428aa290d7e98f82e7e9ad6e2b23d9086dfe8c63c5d8550b13fd61a77291473a8bdd43c7c2639f264be69d9d07f0585de4342a399275a64e7d1d4400b8ed4421a2f289f622e40cdd1cfc916a0b9ce747c924ac33e32d24b91ed5d64772d6ad6896412f52724006eabf12aaecfd6e81dad432c7b3800bbf793a1c375e3e7b4fb3b097724b5fc88a8c9bcf3dbc10cbdb252965',\n 'content-type': 'text/plain'\n },\n body: body,\n method: 'POST'\n}); //log(html) //html内容需要解密 AES/CBC/PKCS5Padding key(Hex):647a6b6a67667978677368796c677a6d iv(Hex):6170697570646f776e65646372797074\nvar htmll = JSON.parse(html).data; //log(hrmll)\nvar htmlll = Decrypt(htmll); //log(htmlll)\nvar list = JSON.parse(htmlll).searchVos; //log(list)\nlist.forEach(video => { // 遍历searchVos数组\n d.push({\n title: video.bookName,\n desc: video.updateNum,\n content: video.introduction,\n img: video.coverWap + '@Referer=',\n url: \"hiker://page/ej\" + \"#immersiveTheme#\",\n extra: {\n bookId: video.bookId,\n chapterId: video.chapterId,\n chapterMin: video.updateNum,\n chapterMax: video.chapterIndex\n }\n });\n});\nsetResult(d)","search_url":"hiker://empty##{\"keyword\":\"**\",\"page\":fypage,\"size\":15}","group":"⑧短剧","detail_col_type":"movie_3","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"aes\",\"path\":\"aes\",\"rule\":\"eval(getCryptoJS())\\nconst key = CryptoJS.enc.Hex.parse(\\\"647a6b6a67667978677368796c677a6d\\\");\\nconst iv = CryptoJS.enc.Hex.parse(\\\"6170697570646f776e65646372797074\\\");\\nfunction Decrypt(word) {\\n let encryptedHexStr = CryptoJS.enc.Hex.parse(word);\\n let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);\\n let decrypt = CryptoJS.AES.decrypt(srcs, key, {\\n iv: iv,\\n mode: CryptoJS.mode.CBC,\\n padding: CryptoJS.pad.Pkcs7,\\n });\\n let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);\\n return decryptedStr.toString();\\n}\\n\\nvar keyBytes = CryptoJS.enc.Hex.parse(\\\"647a6b6a67667978677368796c677a6d\\\");\\nvar ivBytes = CryptoJS.enc.Hex.parse(\\\"6170697570646f776e65646372797074\\\");\\nfunction Encrypt(plaintext) {\\n var encrypted = CryptoJS.AES.encrypt(plaintext, keyBytes, {\\n iv: ivBytes,\\n mode: CryptoJS.mode.CBC,\\n padding: CryptoJS.pad.Pkcs7\\n });\\n var ciphertext = encrypted.ciphertext.toString(CryptoJS.enc.Hex);\\n return ciphertext.toUpperCase();\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"二级\",\"path\":\"ej\",\"rule\":\"js:\\nvar d = [];\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar bookId = MY_PARAMS.bookId; //log(bookId)\\nvar chapterId = MY_PARAMS.chapterId; //log(chapterId)\\nvar chapterMin = MY_PARAMS.chapterMin; \\nvar chapterMax = MY_PARAMS.chapterMax; \\n\\nvar body1 = JSON.stringify({\\\"bookId\\\":bookId}); //log(body1)\\nvar body11 = Encrypt(body1); //log(body11)\\nvar url = 'https://freevideo.zqqds.cn/free-video-portal/portal/1131';\\nvar html1 = fetch(url, {\\n headers: {\\n 'datas': 'e5f22c6e2c82fe001738cb9ce4696eab0556d064a55aef402e0fbe6b29a083f6538e4567de38e67de2071a49d9751526bfba45314e1fd4702b11c76ab9a3b5f873262854ba66e6715ed51364dbc6ee62c7180e047fcbcdbfd49874fc8f28674b16d90ca71a02de76c70598e0b75e647c37c2c19287e49be5f2a259d727dfc4df3d28802388bf3c356576b342e17e30a2ab74859263dba4d1c8eba79990d22d60d60927fdacb2addf2f0eaadd8887585ca2eb87f603faf0c207dda18cf67dc25b2199d303baff9e6605b3314a7d2631f62864f48619daceb9452f2b7b0667773553741856df030cca68af3c57810f983d452bb428ef5fc32206aef4865ae06c629bee7f5135547304acc7ef4e7c6df887308f2e79c493fd2ee03488722861b5bb51b09cb8911dfc92c288d94e601c066d2f9d612ad2c8d4eeb4920b1d44aff3e13fd75229b857f64925df1cf12f75a00d438c422ec1726462b915903f1dd1f4bb7cdf82cc15a6d507f80c789903e710f39a62aef073f3f93a6c681e75d295428aa290d7e98f82e7e9ad6e2b23d9086dfe8c63c5d8550b13fd61a77291473a8bdd43c7c2639f264be69d9d07f0585de4342a399275a64e7d1d4400b8ed4421a2f289f622e40cdd1cfc916a0b9ce747c924ac33e32d24b91ed5d64772d6ad6896412f52724006eabf12aaecfd6e81dad432c7b3800bbf793a1c375e3e7b4fb3b097724b5fc88a8c9bcf3dbc10cbdb252965',\\n 'content-type': 'application/json; charset=utf-8'\\n },\\n body: body11,\\n method: 'POST'\\n}); //log(html1)\\nvar html11 = JSON.parse(html1).data; //log(hrml11)\\nvar html111 = Decrypt(html11); //log(html111)\\nvar data = JSON.parse(html111).videoInfo; //log(data)\\n\\nvar body2 = JSON.stringify({\\\"bookId\\\":bookId,\\\"chapterMin\\\":chapterMin,\\\"chapterMax\\\":chapterMax}); //log(body2)\\nvar body22 = Encrypt(body2); //log(body22)\\nvar url = 'https://freevideo.zqqds.cn/free-video-portal/portal/1132';\\nvar html2 = fetch(url, {\\n headers: {\\n 'datas': 'e5f22c6e2c82fe001738cb9ce4696eab0556d064a55aef402e0fbe6b29a083f6538e4567de38e67de2071a49d9751526bfba45314e1fd4702b11c76ab9a3b5f873262854ba66e6715ed51364dbc6ee62c7180e047fcbcdbfd49874fc8f28674b16d90ca71a02de76c70598e0b75e647c37c2c19287e49be5f2a259d727dfc4df3d28802388bf3c356576b342e17e30a2ab74859263dba4d1c8eba79990d22d60d60927fdacb2addf2f0eaadd8887585ca2eb87f603faf0c207dda18cf67dc25b2199d303baff9e6605b3314a7d2631f62864f48619daceb9452f2b7b0667773553741856df030cca68af3c57810f983d452bb428ef5fc32206aef4865ae06c629bee7f5135547304acc7ef4e7c6df887308f2e79c493fd2ee03488722861b5bb51b09cb8911dfc92c288d94e601c066d2f9d612ad2c8d4eeb4920b1d44aff3e13fd75229b857f64925df1cf12f75a00d438c422ec1726462b915903f1dd1f4bb7cdf82cc15a6d507f80c789903e710f39a62aef073f3f93a6c681e75d295428aa290d7e98f82e7e9ad6e2b23d9086dfe8c63c5d8550b13fd61a77291473a8bdd43c7c2639f264be69d9d07f0585de4342a399275a64e7d1d4400b8ed4421a2f289f622e40cdd1cfc916a0b9ce747c924ac33e32d24b91ed5d64772d6ad6896412f52724006eabf12aaecfd6e81dad432c7b3800bbf793a1c375e3e7b4fb3b097724b5fc88a8c9bcf3dbc10cbdb252965',\\n 'content-type': 'application/json; charset=utf-8'\\n },\\n body: body22,\\n method: 'POST'\\n}); //log(html2)\\nvar html22 = JSON.parse(html2).data; //log(hrml22)\\nvar html222 = Decrypt(html22); //log(html222)\\nvar data1 = JSON.parse(html222).chapterList; //log(data1)\\n\\nvar lazy = $('').lazyRule((bookId) => {\\n try {\\n eval(JSON.parse(request('hiker://page/aes')).rule);\\n var body1 = JSON.stringify({\\n \\\"bookId\\\": bookId,\\n \\\"chapterId\\\": input,\\n \\\"unClockType\\\": \\\"pay\\\",\\n \\\"confirmPay\\\": 2,\\n \\\"autoPayFlag\\\": true,\\n \\\"omap\\\": {\\n \\\"channelName\\\": \\\"精选\\\",\\n \\\"logId\\\": \\\"17a6500357709bb2547e1e122b438cfc\\\",\\n \\\"originName\\\": \\\"书城\\\",\\n \\\"recId\\\": \\\"bigdata_rec\\\",\\n \\\"scene\\\": \\\"nsc_727\\\",\\n \\\"sceneId\\\": \\\"dzmf_video_sc_reco\\\",\\n \\\"strategyId\\\": \\\"g6y6b5sq\\\"\\n }\\n }); //log(body1)\\n var body2 = JSON.stringify({\\n \\\"bookId\\\": bookId,\\n \\\"chapterId\\\": input,\\n \\\"unClockType\\\": \\\"ad\\\",\\n \\\"confirmPay\\\": 2,\\n \\\"autoPayFlag\\\": true,\\n \\\"omap\\\": {\\n \\\"channelName\\\": \\\"精选\\\",\\n \\\"logId\\\": \\\"17a6500357709bb2547e1e122b438cfc\\\",\\n \\\"originName\\\": \\\"书城\\\",\\n \\\"recId\\\": \\\"bigdata_rec\\\",\\n \\\"scene\\\": \\\"nsc_727\\\",\\n \\\"sceneId\\\": \\\"dzmf_video_sc_reco\\\",\\n \\\"strategyId\\\": \\\"g6y6b5sq\\\"\\n }\\n }); //log(body2)\\n var body11 = Encrypt(body1); //log(body11)\\n var body22 = Encrypt(body2); //log(body22)\\n var url = 'https://freevideo.zqqds.cn/free-video-portal/portal/1133';\\n var html = fetch(url, {\\n headers: {\\n 'datas': 'e5f22c6e2c82fe001738cb9ce4696eab0556d064a55aef402e0fbe6b29a083f6538e4567de38e67de2071a49d9751526bfba45314e1fd4702b11c76ab9a3b5f873262854ba66e6715ed51364dbc6ee62c7180e047fcbcdbfd49874fc8f28674b16d90ca71a02de76c70598e0b75e647c37c2c19287e49be5f2a259d727dfc4df3d28802388bf3c356576b342e17e30a2ab74859263dba4d1c8eba79990d22d60d60927fdacb2addf2f0eaadd8887585ca2eb87f603faf0c207dda18cf67dc25b2199d303baff9e6605b3314a7d2631f62864f48619daceb9452f2b7b0667773553741856df030cca68af3c57810f983d452bb428ef5fc32206aef4865ae06c629bee7f5135547304acc7ef4e7c6df887308f2e79c493fd2ee03488722861b5bb51b09cb8911dfc92c288d94e601c066d2f9d612ad2c8d4eeb4920b1d44aff3e13fd75229b857f64925df1cf12f75a00d438c422ec1726462b915903f1dd1f4bb7cdf82cc15a6d507f80c789903e710f39a62aef073f3f93a6c681e75d295428aa290d7e98f82e7e9ad6e2b23d9086dfe8c63c5d8550b13fd61a77291473a8bdd43c7c2639f264be69d9d07f0585de4342a399275a64e7d1d4400b8ed4421a2f289f622e40cdd1cfc916a0b9ce747c924ac33e32d24b91ed5d64772d6ad6896412f52724006eabf12aaecfd6e81dad432c7b3800bbf793a1c375e3e7b4fb3b097724b5fc88a8c9bcf3dbc10cbdb252965',\\n 'content-type': 'application/json; charset=utf-8'\\n },\\n body: body11,\\n method: 'POST'\\n }); //log(html)\\n var html1 = JSON.parse(html).data; //log(hrml1)\\n var html11 = Decrypt(html1); //log(html11)\\n var type = JSON.parse(html11).chaptersPayType; //log(type)\\n if (type == '免费') {\\n var data = JSON.parse(html11).chapterInfo; //log(data)\\n var d = [];\\n data.forEach(item => {\\n d.push(item.content);\\n });\\n var play = d[0].m3u8720p; //log(play)\\n return play\\n }\\n if (type == '按章付费') {\\n var html2 = fetch(url, {\\n headers: {\\n 'datas': 'e5f22c6e2c82fe001738cb9ce4696eab0556d064a55aef402e0fbe6b29a083f6538e4567de38e67de2071a49d9751526bfba45314e1fd4702b11c76ab9a3b5f873262854ba66e6715ed51364dbc6ee62c7180e047fcbcdbfd49874fc8f28674b16d90ca71a02de76c70598e0b75e647c37c2c19287e49be5f2a259d727dfc4df3d28802388bf3c356576b342e17e30a2ab74859263dba4d1c8eba79990d22d60d60927fdacb2addf2f0eaadd8887585ca2eb87f603faf0c207dda18cf67dc25b2199d303baff9e6605b3314a7d2631f62864f48619daceb9452f2b7b0667773553741856df030cca68af3c57810f983d452bb428ef5fc32206aef4865ae06c629bee7f5135547304acc7ef4e7c6df887308f2e79c493fd2ee03488722861b5bb51b09cb8911dfc92c288d94e601c066d2f9d612ad2c8d4eeb4920b1d44aff3e13fd75229b857f64925df1cf12f75a00d438c422ec1726462b915903f1dd1f4bb7cdf82cc15a6d507f80c789903e710f39a62aef073f3f93a6c681e75d295428aa290d7e98f82e7e9ad6e2b23d9086dfe8c63c5d8550b13fd61a77291473a8bdd43c7c2639f264be69d9d07f0585de4342a399275a64e7d1d4400b8ed4421a2f289f622e40cdd1cfc916a0b9ce747c924ac33e32d24b91ed5d64772d6ad6896412f52724006eabf12aaecfd6e81dad432c7b3800bbf793a1c375e3e7b4fb3b097724b5fc88a8c9bcf3dbc10cbdb252965',\\n 'content-type': 'application/json; charset=utf-8'\\n },\\n body: body22,\\n method: 'POST'\\n }); //log(html2)\\n var html22 = JSON.parse(html2).data; //log(hrml22)\\n var html222 = Decrypt(html22); //log(html222)\\n var ad = fetch('https://freevideo.zqqds.cn/free-video-portal/portal/1141', {\\n headers: {\\n 'datas': 'e5f22c6e2c82fe001738cb9ce4696eab0556d064a55aef402e0fbe6b29a083f6538e4567de38e67de2071a49d9751526bfba45314e1fd4702b11c76ab9a3b5f873262854ba66e6715ed51364dbc6ee62c7180e047fcbcdbfd49874fc8f28674b16d90ca71a02de76c70598e0b75e647c37c2c19287e49be5f2a259d727dfc4df3d28802388bf3c356576b342e17e30a2ab74859263dba4d1c8eba79990d22d60d60927fdacb2addf2f0eaadd8887585ca2eb87f603faf0c207dda18cf67dc25b2199d303baff9e6605b3314a7d2631f62864f48619daceb9452f2b7b0667773553741856df030cca68af3c57810f983d452bb428ef5fc32206aef4865ae06c629bee7f5135547304acc7ef4e7c6df887308f2e79c493fd2ee03488722861b5bb51b09cb8911dfc92c288d94e601c066d2f9d612ad2c8d4eeb4920b1d44aff3e13fd75229b857f64925df1cf12f75a00d438c422ec1726462b915903f1dd1f4bb7cdf82cc15a6d507f80c789903e710f39a62aef073f3f93a6c681e75d295428aa290d7e98f82e7e9ad6e2b23d9086dfe8c63c5d8550b13fd61a77291473a8bdd43c7c2639f264be69d9d07f0585de4342a399275a64e7d1d4400b8ed4421a2f289f622e40cdd1cfc916a0b9ce747c924ac33e32d24b91ed5d64772d6ad6896412f52724006eabf12aaecfd6e81dad432c7b3800bbf793a1c375e3e7b4fb3b097724b5fc88a8c9bcf3dbc10cbdb252965',\\n 'content-type': 'application/json; charset=utf-8'\\n },\\n body: `4e160fc6fecf9622f6eb724c0a93e153b7b0f0d48a5f27f02f36cefe52ba3496`,\\n method: 'POST'\\n }); //log(ad)\\n var html = fetch(url, {\\n headers: {\\n 'datas': 'e5f22c6e2c82fe001738cb9ce4696eab0556d064a55aef402e0fbe6b29a083f6538e4567de38e67de2071a49d9751526bfba45314e1fd4702b11c76ab9a3b5f873262854ba66e6715ed51364dbc6ee62c7180e047fcbcdbfd49874fc8f28674b16d90ca71a02de76c70598e0b75e647c37c2c19287e49be5f2a259d727dfc4df3d28802388bf3c356576b342e17e30a2ab74859263dba4d1c8eba79990d22d60d60927fdacb2addf2f0eaadd8887585ca2eb87f603faf0c207dda18cf67dc25b2199d303baff9e6605b3314a7d2631f62864f48619daceb9452f2b7b0667773553741856df030cca68af3c57810f983d452bb428ef5fc32206aef4865ae06c629bee7f5135547304acc7ef4e7c6df887308f2e79c493fd2ee03488722861b5bb51b09cb8911dfc92c288d94e601c066d2f9d612ad2c8d4eeb4920b1d44aff3e13fd75229b857f64925df1cf12f75a00d438c422ec1726462b915903f1dd1f4bb7cdf82cc15a6d507f80c789903e710f39a62aef073f3f93a6c681e75d295428aa290d7e98f82e7e9ad6e2b23d9086dfe8c63c5d8550b13fd61a77291473a8bdd43c7c2639f264be69d9d07f0585de4342a399275a64e7d1d4400b8ed4421a2f289f622e40cdd1cfc916a0b9ce747c924ac33e32d24b91ed5d64772d6ad6896412f52724006eabf12aaecfd6e81dad432c7b3800bbf793a1c375e3e7b4fb3b097724b5fc88a8c9bcf3dbc10cbdb252965',\\n 'content-type': 'application/json; charset=utf-8'\\n },\\n body: body11,\\n method: 'POST'\\n }); //log(html)\\n var html1 = JSON.parse(html).data; //log(hrml1)\\n var html11 = Decrypt(html1); //log(html11)\\n var data = JSON.parse(html11).chapterInfo; //log(data)\\n var d = [];\\n data.forEach(item => {\\n d.push(item.content);\\n });\\n var play = d[0].m3u8720p; //log(play)\\n return play\\n }\\n } catch (e) {\\n toast('剧集已解锁,请重新播放')\\n var url = \\\"hiker://empty\\\";\\n return url\\n }\\n}, bookId)\\n\\nd.push({\\n title: '片名:'+data.bookName+'\\\\n'+'类型:'+data.bookTags,\\n desc: '简介:'+data.introduction,\\n img: data.coverWap + '@Referer=',\\n url: data.coverWap,\\n col_type: 'movie_1_vertical_pic_blur',\\n})\\n\\n\\nvar list = data1; //log(list)\\n\\ntry {\\n list.forEach(data => {\\n d.push({\\n title: data.chapterName,\\n img: data.chapterImg,\\n url: data.chapterId+lazy,\\n col_type: 'movie_2',\\n })\\n })\\n} catch (e) {}\\nsetResult(d)\"}]","proxy":"","icon":"https://www.kuaikaw.cn/images/common/logo.png"},{"last_chapter_rule":"","title":"趣看看短剧APP","author":"zhao","version":1,"type":"video","url":"hiker://empty##{\"filter_categories\":[\"fyclass\"],\"current_page\":fypage,\"page_size\":30}","col_type":"movie_3","class_name":"都市&战神&现代言情&古装&逆袭&赘婿&玄幻","class_url":"9&8&2&1&6&7&11","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js: \nvar d = [];\neval(JSON.parse(request('hiker://page/aes')).rule);\nvar bodys = MY_URL.replace('hiker://empty##',''); //log(bodys)\nvar url = 'https://sp-api.contentchina.com/serial/v1/list?user_version=2.2.0&base_user_version=2.2.0&osv=12&app_version=20200&base_app_version=20200&os=Android&channel=unknown&pkgname=com.shortplay&packageName=com.shortplay&cal_channel=unknown&version=2.2.0';\nvar html = fetch(url, {\n headers: {\n 'X-DZ-H-UID': '999d90bf6069bbd1',\n 'Content-Type': 'application/json; charset=UTF-8'\n },\n body:bodys,\n method: 'POST'\n}); //log(html)\nlet html1 = JSON.parse(html).data; //log(html1)\nlet html2 = Decrypt(html1); //log(html2)\nvar list = JSON.parse(html2).list; //log(list)\nlist.forEach(data => {\n d.push({\n title: data.title,\n desc: data.total,\n img: data.cover_url + '@Referer=',\n url: \"hiker://page/ej\" + \"#immersiveTheme#\",\n extra: {\n serial_id: data.serial_id\n }\n })\n })\nsetResult(d)","searchFind":"js: \nvar d = [];\neval(JSON.parse(request('hiker://page/aes')).rule);\nvar bodys = MY_URL.replace('hiker://empty##',''); //log(bodys)\nvar url = 'https://sp-api.contentchina.com/serial/v1/search?user_version=2.2.0&base_user_version=2.2.0&osv=12&app_version=20200&base_app_version=20200&os=Android&channel=unknown&pkgname=com.shortplay&packageName=com.shortplay&cal_channel=unknown&version=2.2.0';\nvar html = fetch(url, {\n headers: {\n 'X-DZ-H-UID': '999d90bf6069bbd1',\n 'Content-Type': 'application/json; charset=UTF-8'\n },\n body:bodys,\n method: 'POST'\n}); //log(html)\nlet html1 = JSON.parse(html).data; //log(html1)\nlet html2 = Decrypt(html1); //log(html2)\nvar list = JSON.parse(html2).search_list; //log(list)\nlist.forEach(data => {\n d.push({\n title: data.title,\n desc: data.total,\n content: data.introduction,\n img: data.cover_url + '@Referer=',\n url: \"hiker://page/ej\" + \"#immersiveTheme#\",\n extra: {\n serial_id: data.serial_id\n }\n })\n })\nsetResult(d)","search_url":"hiker://empty##{\"keyword\":\"**\",\"request_id\":\"\"}","group":"⑧短剧","detail_col_type":"movie_3","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"aes\",\"path\":\"aes\",\"rule\":\"eval(getCryptoJS())\\nvar key = CryptoJS.enc.Utf8.parse(\\\"Dmj$WDcnbvzy7NWwUv42gMfvCuY63S^t\\\");\\nvar iv = CryptoJS.enc.Utf8.parse(\\\"Dmj$WDcnbvzy7NWw\\\");\\nfunction Decrypt(word) {\\n let encryptedHexStr = CryptoJS.enc.Hex.parse(word);\\n let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);\\n let decrypt = CryptoJS.AES.decrypt(srcs, key, {\\n iv: iv,\\n mode: CryptoJS.mode.CBC,\\n padding: CryptoJS.pad.Pkcs7,\\n });\\n let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);\\n return decryptedStr.toString();\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"二级\",\"path\":\"ej\",\"rule\":\"js:\\nvar d = [];\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar serial_id = MY_PARAMS.serial_id; //log(serial_id)\\nvar bodys = {\\\"serial_id\\\":serial_id}; //log(bodys)\\nvar url = 'https://sp-api.contentchina.com/serial/v1/detail?user_version=2.2.0&base_user_version=2.2.0&osv=12&app_version=20200&base_app_version=20200&os=Android&channel=unknown&pkgname=com.shortplay&packageName=com.shortplay&cal_channel=unknown&version=2.2.0'; \\nvar html = fetch(url, {\\n headers: {\\n 'X-DZ-H-UID': '999d90bf6069bbd1',\\n 'Content-Type': 'application/json; charset=UTF-8'\\n },\\n body:bodys,\\n method: 'POST'\\n}); //log(html)\\nvar html1 = JSON.parse(html).data; //log(html1)\\nvar data = JSON.parse(Decrypt(html1)); //log(data)\\nd.push({\\n title: '片名:'+data.title+'\\\\n'+'类型:'+data.categories,\\n desc: '简介:'+data.introduction,\\n img: data.cover_url + '@Referer=',\\n url: data.cover_url,\\n col_type: 'movie_1_vertical_pic_blur',\\n})\\nvar list = data.episode_list.map(episode => episode.episode_data); // 提取所有episode_data对象\\n\\nlist.forEach(data => {\\n // 检查play_url_list是否存在以及是否包含H264和H265键\\n if (data.play_url_list && 'H264' in data.play_url_list && 'H265' in data.play_url_list) {\\n d.push({\\n title: data.sequence, // 访问episode_data对象的sequence属性\\n url: {urls:[data.play_url_list.H264,data.play_url_list.H265],names:['H264','H265']},\\n col_type: 'text_4',\\n });\\n }\\n});\\nsetResult(d)\"}]","proxy":"","icon":""},{"last_chapter_rule":"","title":"短剧狗(夸)","author":"墙佬&海阔小白","version":0,"type":"video","url":"http://duanjugou.top/page_fypage.html","col_type":"avatar","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = []\nvar list = pdfa(getResCode(), 'body&&.item');\nfor (var j in list) {\n d.push({\n title: pdfh(list[j], 'a&&Text'),\n desc: pdfh(list[j], '.erx-num-font&&Text'),\n //img: pd(list[j], 'img&&src'),\n url: pd(list[j], 'a&&href')\n })\n}\nsetResult(d)","searchFind":"js:\nvar d = []\nvar list = pdfa(getResCode(), 'body&&.a');\nfor (var j in list) {\n d.push({\n title: pdfh(list[j], 'a&&Text'),\n desc: pdfh(list[j], '.erx-num-font&&Text'),\n //img: pd(list[j], 'img&&src'),\n url: pd(list[j], 'a&&href')\n })\n}\nsetResult(d)","search_url":"http://duanjugou.top/search.php?q=**&page=fypage","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar d = [];\nvar html = getResCode()\nvar lazy = $('').lazyRule(() => {\n if (/ali/.test(input)){\n return \"hiker://page/aliyun?rule=云盘君.简&page=fypage&realurl=\" + encodeURIComponent(input);\n }\n else if (/quark|uc/.test(input)){\n return \"hiker://page/quarkList?rule=Quark.简&page=fypage&realurl=\"+input\n }\n \n\n});\nd.push({\n title: pdfh(html, 'h1&&Text'),\n desc: pdfh(html, '.time&&Text'),\n //img: pd(html, '.info-down&&img&&src'),\n url: MY_URL,\n col_type: 'movie_1_vertical_pic_blur'\n});\nvar 线路 = 'p'\nvar 选集 = 'body&&p'\nvar 线路名 = 'p&&Text'\nvar 选集列表 = 'body&&p'\nvar 排除 = '.* '\neval(JSON.parse(request('hiker://page/erji?rule=模板·Q')).rule)\nsetResult(d);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[]","proxy":"","icon":"http://duanjugou.top/zb_users/theme/erx_Special/images/logo.png"},{"last_chapter_rule":"","title":"南风短剧(夸)","author":"发粪涂墙&海阔小白","version":0,"type":"video","url":"hiker://empty##https://www.21nf.com/djshow/2--------fypage---.html","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\nvar getRangeColors = function() {       \n return '#' + ('00000' + (Math.random() * 0x1000000 << 0).toString(16)).substr(-6);     \n}\n\nconst 分类颜色 = getRangeColors()\nconst 大类定位 = '.menu'\nconst 拼接分类 = 'body&&.swiper-wrapper||.nav-tabs:not(:matches(类型))'\nconst 小类定位 = 'body&&a:not(:matches(首|专题|发布|奈飞|APP))'\nconst 分类标题 = 'a&&Text'\nconst 分类链接 = 'a&&href'\nMY_URL = MY_URL.replace('hiker://empty##', '')\n\nlet true_url = getVar(MY_RULE.url, MY_URL)\nconst page = MY_PAGE\ntrue_url=true_url.replace(/vodtype(\\/\\d+).*/, 'vodshow$1-----------.html').replace('---.html', page + '---.html').replace(/(---\\d+.html)/, page + '$1')\nlog(true_url)\nvar html = request(true_url)\n\neval(JSON.parse(request('hiker://page/dtfl?rule=模板·Q')).rule)\nconst list = pdfa(html, '.shoutu-vodlist&&li')\nlist.forEach(video => {\n d.push({\n title: pdfh(video, 'a&&title'),\n desc: pdfh(video, '.text&&Text'),\n img: pd(video, 'img&&data-original') + \"@Referer=\" + pd(video, '.lazyload&&src'),\n url: pd(video, 'a&&href') + '#immersiveTheme#',\n col_type: 'movie_3_marquee',\n })\n})\nsetResult(d);","searchFind":"js:\nvar d = [];\nvar html = getResCode();\nrequire('hiker://page/yzm?rule=模板·Q')\nvar list = pdfa(html, '.shoutu-vodlist&&li');\n\nfor (var i = 0; i < list.length; i++) {\n var L = list[i];\n d.push({\n title: pdfh(L, 'a&&title'),\n url: pd(L, 'a&&href') + \"#immersiveTheme#\",\n desc: pdfh(L, '.text&&Text').replace(/\\//g, ' '),\n content: pdfh(L, 'p&&Text'),\n img: pd(L, '.lazyload&&data-original') + '@Referer=',\n });\n}\nsetResult(d)","search_url":"https://www.21nf.com/djsearch/**----------fypage---.html","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar d = [];\nvar html = getResCode()\nvar lazy = $('').lazyRule((MY_HOME) => {\n if (!/html/.test(input)) {\n return 'hiker://page/quarkList?rule=Quark.简&realurl=' +input+'??fypage'\n }\n}, MY_HOME)\nd.push({\n title: pdfh(html, 'h1&&Text')+'\\n'+pdfh(html, '.tag&&Text').replace(/\\//g,'')+'\\n'+pdfh(html, ''),\n desc: pdfh(html, '.text&&Text'),\n img: pd(html, '.lazyload&&data-original'),\n url: MY_URL,\n col_type: 'movie_1_vertical_pic_blur'\n});\nvar 线路 = 'body&&.m'\nvar 选集 = 'body&&.wp_play||.btn-radius'\nvar 线路名 = 'span&&Text'\nvar 选集列表 = 'body&&.btn-radius||.wp_play'\nvar 排除 = '.* '\neval(JSON.parse(request('hiker://page/erji?rule=模板·Q')).rule)\nsetResult(d);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"pc","preRule":"","pages":"[]","proxy":"","icon":"https://www.21nf.com/mtheme/image/favicon.ico"},{"last_chapter_rule":"","title":"奇优短剧","author":"海阔小白","version":0,"type":"video","url":"http://www.dgshijsbj.com/show/fyclass--fysort------fypage---.html","col_type":"movie_3","class_name":"爽文短剧&女频恋爱&反转爽剧&古装仙侠&年代穿越&脑洞悬疑&现代都市","class_url":"37&38&39&40&41&42&43","area_name":"","area_url":"","sort_name":"时间&人气&评分","year_name":"","sort_url":"time&hits&score","year_url":"","find_rule":"js:\nvar d = []\nvar list = pdfa(getResCode(), '.shoutu-vodlist&&li');\nfor (var j in list) {\n d.push({\n title: pdfh(list[j], 'h4&&Text'),\n desc: pdfh(list[j], '.text&&Text'),\n img: pdfh(list[j], '.lazyload&&data-original'),\n url: pd(list[j], 'a&&href')\n })\n}\nsetResult(d)","searchFind":"js:\nvar d = []\nvar list = pdfa(getResCode(), '.shoutu-vodlist&&li');\nfor (var j in list) {\n d.push({\n title: pdfh(list[j], 'h4&&Text'),\n desc: pdfh(list[j], '.text&&Text'),\n img: pdfh(list[j], '.lazyload&&data-original'),\n url: pd(list[j], 'a&&href')\n })\n}\nsetResult(d)","search_url":"http://www.dgshijsbj.com/search/**----------fypage---.html","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar d = [];\nvar html = getResCode();\n\nvar lazy = $('').lazyRule(() => {\n if (input.indexOf('magnet:?xt') == -1) {\n try {\n var html = JSON.parse(request(input).match(/r player_.*?=(.*?)' + title + '';\n}\nlet line_model = 8;\nlet line_type_model = 'blank_block';\nd.push({\n title: 详情 + '\\n' + 主演,\n desc: 类型 + '\\n' + 地区,\n pic_url: 图片,\n url: MY_URL,\n col_type: 'movie_1_vertical_pic_blur'\n});\nd.push({\n title: '‘‘’’简介:' + 简介.substr(0, 55) + '...详情',\n url: 'hiker://empty#' + '\\n' + 简介 + `@rule=js:var res = {}; var d = [];d.push({title:'影片简介:'+ MY_URL.split('hiker://empty#')[1],col_type: 'long_text'});res.data = d; setHomeResult(res);`,\n col_type: 'text_1'\n});\nfor (let i = 0; i < line_model; i++) {\n d.push({\n col_type: line_type_model\n })\n}\n\n//处理推送TVBox start\nlet tfpush = getItem('webpush', '0');\nd.push({\n title: (getItem('webpush', '0') == '1' ? '单集推送🟢' : '单集推送🔴'),\n url: `hiker://empty@lazyRule=.js:getItem('webpush','0')=='1'?setItem('webpush','0'):setItem('webpush','1');refreshPage();'toast://切换成功!'`,\n\n col_type: 'scroll_button'\n});\nd.push({\n title: '设置电视IP',\n url: \"input://\" + getItem('hikertvboxset', 'http://' + getIP() + ':9978') + \"////请输入tvbox推送IP地址,如http://\" + getIP() + \":9978.js:setItem('hikertvboxset',input);refreshPage()\",\n col_type: 'scroll_button'\n});\nd.push({\n title: getItem('hikertvboxset', ''),\n //url: 'hiker://empty',\n url: \"input://\" + getItem('hikertvboxset', 'http://' + getIP() + ':9978') + \"////请输入tvbox推送IP地址,如http://\" + getIP() + \":9978.js:setItem('hikertvboxset',input);refreshPage()\",\n col_type: 'scroll_button'\n});\n\nvar playUrls = '';\nfor (var i = 0; i < lists.length; i++) {\n var list = lists[i];\n for (var j = 0; j < list.length; j++) {\n if (j == list.length - 1) {\n playUrls += parseDomForHtml(list[j], 'a&&Text') + \"$\" + parseDom(list[j], 'a&&href') + \"$$$\";\n } else {\n playUrls += parseDomForHtml(list[j], 'a&&Text') + \"$\" + parseDom(list[j], 'a&&href') + \"#\";\n }\n }\n}\n\nplayUrls = playUrls.substring(0, playUrls.length - 3);\n//log(playUrls);\n\nlet push = JSON.stringify({\n \"name\": MY_PARAMS.mytitle,\n \"pic\": parseDom(html, '.lazyload&&data-src||data-original'),\n \"content\": parseDomForHtml(html, '.video-info-content&&Text').replace('收起', ''),\n \"from\": tabs.join('$$$'),\n \"url\": playUrls.replace(/\\&/g, '&&')\n});\n//log(push);\n\nd.push({\n title: \"推送当前页列表到TVBox\",\n url: $(push).lazyRule(() => {\n return 'hiker://page/push?pushurl=' + encodeURIComponent(input);\n }),\n col_type: \"scroll_button\"\n});\n\nd.push({\n col_type: 'line_blank'\n })\n //处理推送TVBox end\n\nfunction setTabs(tabs, vari) {\n for (var i in tabs) {\n var url = \"#noLoading#@lazyRule=.js:putVar('\" + vari + \"', '\" + i + \"');refreshPage(false);'toast://切换成功!';'#noHistory#hiker://empty'\";\n d.push({\n title: getVar(vari, '0') == i ? getHead(tabs[i]) : tabs[i],\n url: url,\n col_type: 'scroll_button'\n })\n }\n d.push({\n col_type: 'line_blank'\n })\n}\n\nfunction setLists(lists, index) {\n d.push({\n col_type: 'line_blank'\n })\n}\nif (getVar('shsort') == '1') {\n var sx = '‘‘’’排序' + '' + '';\n} else {\n var sx = '‘‘’’排序' + '' + '';\n}\n\nfunction setLists(lists, index) {\n d.push({\n title: '‘‘’’选集列表' + '\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t' + '' + sx + '',\n url: `#noLoading#@lazyRule=.js:let conf = getVar('shsort');if(conf=='1'){putVar({key:'shsort', value:'0'});}else{putVar({key:'shsort', value:'1'})};refreshPage();'toast://切换排序成功';'#noHistory#hiker://empty'`,\n col_type: 'text_center_1'\n })\n var list = lists[index];\n\n if (getVar('shsort') == '1') {\n try {\n for (var j = list.length - 1; j >= 0; j--) {\n if (tfpush == '0') {\n d.push({\n title: parseDomForHtml(list[j], 'a&&Text').replace(/第|集|话|期/g, ''),\n url: parseDom(list[j], 'a&&href') + lazy,\n col_type: list.length > 4 ? 'text_5' : 'text_2'\n });\n } else {\n var urlx = 'hiker://page/push?pushurl=' + encodeURIComponent(JSON.stringify({\n \"name\": getPageTitle() + parseDomForHtml(list[j], 'a&&Text'),\n \"pic\": parseDom(html, '.lazyload&&data-src||data-original'),\n \"content\": parseDomForHtml(html, '.video-info-content&&Text').replace('收起', ''),\n \"from\": getPageTitle() + parseDomForHtml(list[j], 'a&&Text'),\n \"url\": parseDom(list[j], 'a&&href')\n }));\n var extrax = {\n id: parseDom(list[j], 'a&&href')\n };\n d.push({\n title: parseDomForHtml(list[j], 'a&&Text').replace(/第|集|话|期/g, ''),\n url: urlx,\n col_type: list.length > 4 ? 'text_5' : 'text_2',\n extra: extrax\n });\n }\n\n }\n } catch (e) {\n d.push({\n title: '没有选集哟,不信点图片去看看👀',\n col_type: 'text_center_1'\n });\n }\n } else {\n try {\n for (var j = 0; j < list.length; j++) {\n if (tfpush == '0') {\n d.push({\n title: parseDomForHtml(list[j], 'a&&Text').replace(/第|集|话|期/g, ''),\n url: parseDom(list[j], 'a&&href') + lazy,\n col_type: list.length > 4 ? 'text_5' : 'text_2'\n });\n } else {\n var urlx = 'hiker://page/push?pushurl=' + encodeURIComponent(JSON.stringify({\n \"name\": getPageTitle() + parseDomForHtml(list[j], 'a&&Text'),\n \"pic\": parseDom(html, '.lazyload&&data-src||data-original'),\n \"content\": parseDomForHtml(html, '.video-info-content&&Text').replace('收起', ''),\n \"from\": getPageTitle() + parseDomForHtml(list[j], 'a&&Text'),\n \"url\": parseDom(list[j], 'a&&href')\n }));\n var extrax = {\n id: parseDom(list[j], 'a&&href')\n };\n d.push({\n title: parseDomForHtml(list[j], 'a&&Text').replace(/第|集|话|期/g, ''),\n url: urlx,\n col_type: list.length > 4 ? 'text_5' : 'text_2',\n extra: extrax\n });\n }\n }\n } catch (e) {\n d.push({\n title: '没有选集哟,不信点图片去看看👀',\n col_type: 'text_center_1'\n });\n }\n\n }\n}\nsetTabs(tabs, MY_URL);\nsetLists(lists, getVar(MY_URL, '0'));\nd.push({\n title: '
',\n col_type: 'rich_text'\n});\nsetResult(d);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"lazy\",\"path\":\"lazy\",\"rule\":\"var lazy = $('').lazyRule(() => {\\n if (input.indexOf('magnet:?xt') == -1) {\\n try {\\n var html = JSON.parse(request(input).match(/r player_.*?=(.*?) {\n if (/ali/.test(input)){\n return \"hiker://page/aliyun?rule=云盘君.简&page=fypage&realurl=\" + encodeURIComponent(input);\n }\n else if (/quark|uc/.test(input)){\n return \"hiker://page/quarkList?rule=Quark.简&page=fypage&realurl=\"+input\n }\n \n\n});\nd.push({\n title: pdfh(html, 'h1&&Text'),\n desc: pdfh(html, '.f-gray&&Text'),\n img: pd(html, '.info-down&&img&&src'),\n url: MY_URL,\n col_type: 'movie_1_vertical_pic_blur'\n});\nvar 线路 = '.tx-btn'\nvar 选集 = 'body&&.tx-btn'\nvar 线路名 = '.tx-btn&&Text'\nvar 选集列表 = 'body&&a'\nvar 排除 = '.* '\neval(JSON.parse(request('hiker://page/erji?rule=模板·Q')).rule)\nsetResult(d);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[]","proxy":"","icon":"https://duanju.chaxiaoben.com/zb_users/theme/tx_xiaoshipin/include/logo.png"},{"last_chapter_rule":"js:\nvar chp = [];\ntry {\n var html = getResCode();\n var conts = parseDomForArray(html, 'body&&.sort-list');\n for (var i = 0; i < conts.length; i++) {\n var list = pdfa(conts[i], 'body&&li');\n chp.push(list.length);\n } \n} catch (e) {}\nsetResult('更新至:' + (Math.max.apply(null, chp)));","title":"狂人短剧","author":"R","version":1,"type":"video","url":"hiker://empty##https://www.kpkuang.fun/vodtype/36/index-fypage.html","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\naddListener(\"onClose\", $.toString(() => {\n let keys = listMyVarKeys();\n for (let it of keys) {\n clearMyVar(it);\n }\n}));\nvar getRangeColors = function() {       \n return '#' + ('00000' + (Math.random() * 0x1000000 << 0).toString(16)).substr(-6);     \n}\nconst 下一页 = \"pd(html, 'a:matches(下一页)&&href')\";\nconst page = MY_PAGE;\neval(JSON.parse(request('hiker://page/yi')).rule)\n\nvar 定位信息 = [{\n 大类定位: 'dl',\n 小类: 'body&&a:not(:matches(首页|资讯|APP|专题|社群|热搜|留言|福利|下载|新版|解析))',\n 链接处理: (u) => {\n let url = u.replace(/type(\\/\\w+)\\.html/, 'show$1-----------.html');\n return url\n }\n}, {\n 一级定位: 'body&&dl,2',\n\n}]\n\n\nMY_URL = MY_URL.replace('hiker://empty##', '')\nlet true_url = getTruelink(MY_RULE.url, MY_URL, page);\nlog(true_url)\n\nvar html = request(true_url)\nconst dc = dynamicClass({\n 分类颜色: getRangeColors()\n});\ndc.开启折叠()\ndc.开启搜索()\ndc.创建动态分类(定位信息)\n\nvar parseRule = {\n list: '.fed-list-info&&li', //统一item\n title: 'a&&title',\n desc: '.fed-list-remarks&&Text',\n img: 'a&&data-original',\n url: 'a&&href',\n ref: '@Referer=',\n imt: true,\n //backimg: true,\n}\n\nCreate.List(d, html, parseRule);\nautoPage();\n\nsetResult(d)","searchFind":"js:\nvar items = [];\nvar html = getResCode();\n\n //log(html)\nif (html.indexOf('验证码') > 0) {\n items.push({\n title: '本次搜索需要输入验证码验证成功后返回下拉刷新',\n url: $('hiker://empty').rule(() => {\n var items = [];\n //var cok = fetch('hiker://files/cache/JW_siguCookie.txt', {});\n var cok = JSON.parse(fetchCookie('https://siguyy.cc/index.php/verify/index.html?r=' + Math.random(), {\n headers: {\n 'X-Requested-With': 'XMLHttpRequest',\n 'User-Agent': MOBILE_UA\n },\n method: 'GET',\n withHeaders: true\n })).join(';');\n //log(cok);\n var img = 'https://siguyy.cc/index.php/verify/index.html?r=' + Math.random() + '@User-Agent=' + MOBILE_UA + '@Cookie=' + cok;\n items.push({\n pic_url: img,\n url: $('').lazyRule(() => {\n return refreshPage();\n }),\n desc: '0',\n col_type: 'pic_1_full'\n });\n\n items.push({\n title: '',\n url: \"'toast://你输入的是' + input\",\n extra: {\n onChange: \"putVar('ss验证码',input)\",\n titleVisible: false\n },\n col_type: 'input'\n });\n\n items.push({\n title: '发送',\n url: $('').lazyRule((cok) => {\n var cod = getVar('ss验证码');\n var json = JSON.parse(fetch('https://siguyy.cc/index.php/ajax/verify_check?type=search&verify=' + cod, {\n headers: {\n 'X-Requested-With': 'XMLHttpRequest',\n 'User-Agent': MOBILE_UA,\n 'Cookie': cok\n },\n body: '',\n method: 'POST'\n }));\n if (json.code == 1) {\n writeFile('hiker://files/cache/JW_siguCookie.txt', cok);\n back(true);\n return \"toast://验证成功。\"\n } else {\n //refreshPage();\n return \"toast://验证失败,请重试!\"\n }\n\n }, cok),\n col_type: 'text_2'\n });\n setHomeResult({\n data: items\n });\n }),\n col_type: 'text_1'\n });\n} else {\n var list = pdfa(html, 'body&&.uk-text-center');\n for (var i = 0; i < list.length; i++) {\n var L = list[i];\n var title = parseDomForHtml(L, 'a&&title');\n var img = parseDom(L, 'a&&data-original') + '@Referer=';\n var url = parseDom(L, 'a&&href') + \"#immersiveTheme#\";\n var desc = parseDomForHtml(L, '.uk-overlay&&Text');\n var cont = parseDomForHtml(L, 'p:contains(简介)&&Text');\n items.push({\n title: title,\n img: img,\n url: url,\n desc: desc,\n content: cont,\n extra: {\n title: title,\n img: img,\n }\n });\n }\n}\nsetSearchResult({\n data: items\n});","search_url":"https://www.kpkuang.fun/vodsearch/**----------fypage---.html","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar res = {};\nvar d = [];\nMY_URL=MY_URL.replace('hiker://empty##','');\nvar html = fetch(MY_URL);\nconst Color = \"#11999e\";\n\nvar title = pdfh(html, 'h1&&Text');\nvar des_desc = pdfh(html, '.fed-text-muted:contains(简介)&&Text').replace('展开全部', '').replace('简介:', '').replace(' ', '').replace('bbb', '').replace('ccc', '').replace('eee', '');\n//二级新样式by顺承天意(已封装断插,变量名lazy)\nconst hd = require(\"http://hiker.nokia.press/hikerule/rulelist.json?id=2968&v=1\");\nhd(d, {\n //显示的白色大字\n 大字: title,\n //片名搜索用\n 片名: title,\n //图片一定不要加Referer\n 图片: pd(html, '#cover_showbox&&data-original'),\n //描述里用
换行\n 描述: pdfh(html, 'body&&.fed-col-xs12,0&&Text').substring(0, 18) + '
' + pdfh(html, 'body&&.fed-col-xs12,1&&Text').substring(0, 18) + '
' + pdfh(html, 'body&&.fed-col-xs12,4&&Text').substring(0, 18) + '
简介: ' + des_desc,\n});\n\nvar tabs = pdfa(html, '.yunlist&&li'); //线路\nvar conts = pdfa(html, '.uk-switcher&&.fed-part-rows:not(:matches(视频排序:正序))'); //选集\n\neval(JSON.parse(fetch('hiker://page/lazy', {})).rule);\n\n\nfor (var i = 0; i < conts.length; i++) {\n var icon_s = 'https://ghproxy.com/https://raw.githubusercontent.com/ls125781003/tubiao/main/messy/';\n if (getVar('shsort', '1') == '1') {\n var list = parseDomForArray(conts[i], 'body&&a');\n var avatar = icon_s + '129.svg'\n } else {\n var list = parseDomForArray(conts[i], 'ul&&li').reverse();\n var avatar = icon_s + '132.svg'\n }\n var line = pdfh(tabs[i], 'a&&Text').replace('-官方', '').replace('备用资源', '');\n\n if (list != null) {\n d.push({\n title: '' + line + '' + '\\t\\t' + '' + (i + 1) + '/' + conts.length + ' ',\n url: \"hiker://empty@lazyRule=.js:putVar('shsort', getVar('shsort','1')=='1'?'0':'1');refreshPage();'hiker://empty'\",\n col_type: 'avatar',\n img: avatar\n });\n\n for (var j = 0; j < list.length; j++) {\n var jm = pdfh(list[j], 'a&&Text').replace(/第|集|话|期/g, '').replace(/预告/g, '📢');\n var url = pd(list[j], 'a&&href');\n if (list.length <= 2) {\n var col = 'text_2'\n } else {\n var col = jm.length > 4 ? 'text_2' : 'text_4'\n }\n d.push({\n title: jm,\n url: url + lazy,\n col_type: col,\n extra: {\n id: url,\n blockRules: [\n \".jpg\",\n \".jpeg\",\n \".png\",\n \".mp4\",\n \".m3u8\",\n \".gif\"\n ]\n }\n });\n }\n }\n}\nres.data = d;\nsetHomeResult(res);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"一级分类列表\",\"path\":\"yi\",\"rule\":\"js:\\n/*\\n一级封装 \\n动态分类 列表创建 自动下一页\\nver 20230710 1.0\\n*/\\nfunction dynamicClass(options) {\\n const obj = {\\n //默认值\\n layout: \\\"undefined\\\",\\n html: \\\"empty\\\",\\n page: 0,\\n 分类颜色: \\\"#FA7298\\\",\\n 折叠: \\\"““””\\\" + \\\"∨\\\".fontcolor(\\\"#1aad19\\\") + \\\"\\\",\\n 展开: \\\"““””\\\" + \\\"∧\\\".fontcolor(\\\"#FF0000\\\") + \\\"\\\",\\n open: true,\\n state: MY_RULE.url,\\n search: false,\\n clears: [],\\n clearall: [\\\"yi_firstpage\\\"],\\n debug: false,\\n\\n 预设(param) {\\n if(param==undefined){\\n param=[];\\n }\\n Object.keys(param).forEach((property) => {\\n // 对每个属性名执行操作\\n const value = param[property]; // 获取属性值\\n // 在这里执行您的操作\\n this[property] = value;\\n if (this.debug) {\\n console.log(property + \\\":\\\" + value);\\n }\\n });\\n },\\n evalJSRule(item, jsRule) {\\n let rule = jsRule.replace(\\\"@js:\\\", \\\"\\\");\\n rule = rule.trim();\\n //log($.stringify(rule))\\n let input = item;\\n if (rule.startsWith(\\\"(\\\")) {\\n eval(\\\"result = \\\" + rule);\\n } else {\\n /**\\n * 还原成 $.toString(...) 的最终结果,达到最终处理方式跟上面的 if 一致的目的\\n */\\n eval(\\\"result = \\\" + \\\"(() => {\\\" + rule + \\\"})()\\\");\\n }\\n return result || \\\"\\\";\\n },\\n getTitle(src, category) {\\n let title = \\\"\\\";\\n let titleRule = category || \\\"a&&Text\\\";\\n if (titleRule.startsWith(\\\"@js:\\\")) {\\n title = this.evalJSRule(src, titleRule);\\n } else {\\n title = parseDomForHtml(src, titleRule);\\n }\\n return title || \\\"\\\";\\n },\\n getUrl(src, category) {\\n let url = \\\"\\\";\\n let urlRule = category.链接 || \\\"a&&href\\\";\\n if (urlRule.startsWith(\\\"@js:\\\")) {\\n url = this.evalJSRule(src, urlRule);\\n } else {\\n url = pd(src, urlRule);\\n }\\n if (typeof category.链接处理 == \\\"function\\\") {\\n url = category.链接处理(url);\\n }\\n return url || \\\"\\\";\\n },\\n isNull(param) {\\n if (param == null) {\\n return this;\\n }\\n return false;\\n },\\n isBoolean(variable) {\\n if (typeof variable !== \\\"boolean\\\") {\\n throw new Error(\\\"开启折叠请传入布尔值\\\");\\n }\\n },\\n 清除(list) {\\n if (this.isNull(list)) {\\n return this;\\n }\\n if (list.constructor == String) {\\n throw new Error(\\\"清除报错:请传列表\\\");\\n }\\n this.clears = list;\\n return this;\\n },\\n 全清(list) {\\n if (this.isNull(list)) {\\n return this;\\n }\\n var c = this.clearall;\\n list = c.concat(list);\\n this.clearall = list;\\n return this;\\n },\\n 源码(input) {\\n this.html = input;\\n return this;\\n },\\n 界面(input) {\\n this.layout = input;\\n return this;\\n },\\n 页码(input) {\\n this.page = input;\\n return this;\\n },\\n 状态(input) {\\n this.state = input;\\n return this;\\n },\\n 开启搜索() {\\n this.search = true;\\n return this;\\n },\\n 开启折叠(input) {\\n if (input == undefined) {\\n input = true;\\n }\\n this.isBoolean(input);\\n this.open = input;\\n return this;\\n },\\n setTitle(k, i, t) {\\n return k == i ? \\\"““””\\\" + t.fontcolor(this.分类颜色) : t;\\n },\\n action(obj) {\\n return [\\n {\\n title: \\\"清除状态\\\",\\n js: $.toString((obj) => {\\n log(obj);\\n clearMyVar(obj.state);\\n clearMyVar(\\\"head.cate\\\");\\n obj.all.forEach((item) => {\\n clearMyVar(item);\\n });\\n obj.cl.forEach((item) => {\\n clearMyVar(item);\\n });\\n refreshPage();\\n }, obj),\\n },\\n ];\\n },\\n checkParam() {\\n var obj = {};\\n if (this.page == 0 && typeof page == \\\"undefined\\\") {\\n throw new Error(\\\"请传入页码\\\");\\n } else {\\n if (typeof page == \\\"undefined\\\") {\\n obj[\\\"页码\\\"] = this.page;\\n } else {\\n obj[\\\"页码\\\"] = page;\\n }\\n }\\n if (this.html == \\\"empty\\\" && typeof html == \\\"undefined\\\") {\\n throw new Error(\\\"请传入源码\\\");\\n } else {\\n if (typeof html == \\\"undefined\\\") {\\n obj[\\\"源码\\\"] = this.html;\\n } else {\\n obj[\\\"源码\\\"] = html;\\n }\\n }\\n if (this.layout == \\\"undefined\\\" && typeof d == \\\"undefined\\\") {\\n throw new Error(\\\"请传入界面\\\");\\n } else {\\n if (typeof d == \\\"undefined\\\") {\\n obj[\\\"界面\\\"] = this.layout;\\n } else {\\n obj[\\\"界面\\\"] = d;\\n }\\n }\\n return obj;\\n },\\n 创建动态分类(ruleObj) {\\n if (ruleObj == undefined) {\\n ruleObj = [];\\n }\\n //初始化变量开始\\n const param = this.checkParam();\\n const page = param.页码;\\n const html = param.源码;\\n const d = param.界面;\\n const 状态 = this.state;\\n const search = this.search;\\n const empty = \\\"hiker://empty\\\";\\n const 折叠状态 = this.open;\\n var 展开 = this.展开;\\n var 折叠 = this.折叠;\\n var 全清 = this.clearall;\\n var 清除 = this.clears;\\n //初始化变量结束\\n let init_cate = new Array(20).fill(\\\"0\\\");\\n const fold = getMyVar(MY_RULE.group, \\\"0\\\");\\n const cate_temp = JSON.parse(\\n getMyVar(\\\"head.cate\\\", JSON.stringify(init_cate))\\n );\\n if (search && page == 1) {\\n d.push({\\n title: \\\"\\\",\\n url: \\\"'hiker://search?rule=\\\" + MY_RULE.title + \\\"&s='+input\\\",\\n desc: \\\"搜索关键词\\\",\\n col_type: \\\"input\\\",\\n extra: {\\n defaultValue: getMyVar(\\\"keyword\\\", \\\"\\\"),\\n onChange: $.toString(() => {\\n putMyVar(\\\"keyword\\\", input);\\n }),\\n },\\n });\\n }\\n const categories = [];\\n ruleObj.forEach((x) => {\\n var list = [];\\n if(x.一级定位){\\n if (x.一级定位.startsWith(\\\"@js:\\\")) {\\n list = this.evalJSRule(html, x.一级定位);\\n } else {\\n list = pdfa(html, x.一级定位);\\n }\\n }\\n if(x.大类定位){\\n if (x.大类定位.startsWith(\\\"@js:\\\")) {\\n list = this.evalJSRule(html, x.大类定位);\\n } else {\\n list = [pdfa(html, x.大类定位).join('\\\\n')];\\n }\\n }\\n var 一级 = list.map((s) => {\\n var slist = [];\\n if (!(\\\"小类\\\" in x)) {\\n x.小类 = \\\"body&&a:not(:matches(首页)):not(a:not([href]))\\\";\\n }\\n if (x.小类.startsWith(\\\"@js:\\\")) {\\n slist = this.evalJSRule(s, x.小类);\\n } else {\\n slist = pdfa(s, x.小类);\\n }\\n var 定位 = slist.map((item) => {\\n var title = this.getTitle(item, x.标题);\\n var url = this.getUrl(item, x);\\n var obj = { title: title, url: url };\\n return JSON.stringify(obj);\\n });\\n return 定位;\\n });\\n //log(一级)\\n //log(一级.length)\\n if (一级.length == 1) {\\n categories.push(一级.join(\\\"\\\\n\\\"));\\n } else {\\n 一级.forEach((item) => {\\n categories.push(item.join(\\\",\\\"));\\n });\\n }\\n //log(categories)\\n });\\n if (折叠状态) {\\n if (page == 1) {\\n d.push({\\n title: fold === \\\"1\\\" ? 折叠 : 展开,\\n url: $(\\\"#noLoading#\\\").lazyRule(\\n (fold, u, all) => {\\n putMyVar(MY_RULE.group, fold === \\\"1\\\" ? \\\"0\\\" : \\\"1\\\");\\n /*all.forEach((item) => {\\n clearMyVar(item);\\n });*/\\n refreshPage(false);\\n return \\\"hiker://empty\\\";\\n },\\n fold,\\n 状态,\\n 全清\\n ),\\n col_type: \\\"scroll_button\\\",\\n extra: {\\n longClick: this.action({\\n state: 状态,\\n all: 全清,\\n cl: 清除,\\n }),\\n },\\n });\\n }\\n }\\n if (page == 1) {\\n categories.forEach((category, index) => {\\n //log(categories)\\n let sub_categories = [];\\n /*if (小类定位.includes(\\\";\\\")) {\\n sub_categories = pdfa(category, 小类定位.split(\\\";\\\")[0]);\\n if (sub_categories.length == 0) {\\n sub_categories = pdfa(category, 小类定位.split(\\\";\\\")[1]);\\n }\\n } else {*/\\n //log(index)\\n sub_categories = JSON.parse(`[${category}]`);\\n // sub_categories = pdfa(category, 小类定位);\\n //}\\n if (index === 0) {\\n sub_categories.forEach((item, key) => {\\n\\n //let title = pdfh(item, _大类标题);\\n let title = item.title;\\n if (typeof 排除 != \\\"undefined\\\" && 排除 != \\\"\\\") {\\n title = title.replace(newRegExp(排除, \\\"g\\\"), \\\"\\\");\\n }\\n let json=''\\n json = item.url;\\n \\n let params = {\\n cate_temp: cate_temp,\\n key: key,\\n page: page,\\n clears: 清除,\\n json: json,\\n state: 状态,\\n allclears: 全清,\\n };\\n\\n //let url = pd(item, _大类链接);\\n let url = item.url;\\n /*if (大类处理) {\\n url = 一级分类处理(url);\\n }*/\\n //log(url)\\n d.push({\\n title: this.setTitle(key.toString(), cate_temp[index], title),\\n col_type: \\\"scroll_button\\\",\\n url: $(\\\"hiker://empty#noLoading#\\\").lazyRule((params) => {\\n let new_cate = [];\\n params.clears.forEach((item) => {\\n clearMyVar(item);\\n });\\n params.allclears.forEach((item) => {\\n clearMyVar(item);\\n });\\n\\n params.cate_temp.forEach((cate, index) => {\\n new_cate.push(index === 0 ? params.key.toString() : \\\"0\\\");\\n });\\n putMyVar(\\\"head.cate\\\", JSON.stringify(new_cate));\\n if (params.json.constructor === Object) {\\n putMyVar(\\\"dt_\\\" + params.json.type, params.json.value);\\n } else {\\n putMyVar(params.state, params.json);\\n }\\n refreshPage(true);\\n return \\\"hiker://empty\\\";\\n }, params),\\n });\\n });\\n d.push({\\n col_type: \\\"blank_block\\\",\\n });\\n } else if (fold === \\\"1\\\" || 折叠状态 == false) {\\n sub_categories.forEach((item, key) => {\\n var extrapos = false;\\n /*if (item.includes('type=\\\"@extra\\\"')) {\\n extrapos = true;\\n //log('附加定位')\\n }*/\\n\\n if (extrapos) {\\n var title = pdfh(item, \\\"a&&Text\\\");\\n if (typeof 排除 != \\\"undefined\\\" && 排除 != \\\"\\\") {\\n title = title.replace(new RegExp(排除, \\\"g\\\"), \\\"\\\");\\n }\\n var json = {\\n type: pdfh(item, \\\"a&&state\\\"),\\n value: pdfh(item, \\\"a&&value\\\"),\\n };\\n } else {\\n //var title = pdfh(item, 分类标题);\\n var title = item.title;\\n if (typeof 排除 != \\\"undefined\\\" && 排除 != \\\"\\\") {\\n title = title.replace(new RegExp(排除, \\\"g\\\"), \\\"\\\");\\n }\\n\\n var json = \\\"\\\";\\n /*switch (true) {\\n case 分类链接.includes(\\\"@@@\\\"):\\n json = {\\n type: pdfh(item, 分类链接.split(\\\"@@@\\\")[0]),\\n value: pdfh(item, 分类链接.split(\\\"@@@\\\")[1]),\\n };\\n break;\\n case 分类链接.includes(\\\"@@\\\"):\\n json = {\\n type: 分类链接.split(\\\"@@\\\")[0],\\n value: pdfh(item, 分类链接.split(\\\"@@\\\")[1]),\\n };\\n break;\\n default:\\n json = item.url;\\n // json = pd(item, 分类链接);\\n break;\\n }*/\\n json = item.url;\\n /*var json=分类链接.includes('@@@')?{\\n type:pdfh(item,分类链接.split('@@@')[0]),\\n value:pdfh(item,分类链接.split('@@@')[1]),\\n }:pd(item,分类链接);\\n \\n json=分类链接.includes('@@')?{\\n type:分类链接.split('@@')[0],\\n value:pdfh(item,分类链接.split('@@')[1]),\\n }:pd(item,分类链接);*/\\n }\\n\\n let params = {\\n cate_temp: cate_temp,\\n index: index,\\n key: key,\\n page: page,\\n json: json,\\n state: 状态,\\n allclears: 全清,\\n };\\n d.push({\\n title: this.setTitle(key.toString(), cate_temp[index], title),\\n url: $(\\\"hiker://empty\\\" + \\\"#noLoading#\\\").lazyRule((params) => {\\n params.allclears.forEach((item) => {\\n clearMyVar(item);\\n });\\n params.cate_temp[params.index] = params.key.toString();\\n putMyVar(\\\"head.cate\\\", JSON.stringify(params.cate_temp));\\n if (params.json.constructor === Object) {\\n putMyVar(\\\"dt_\\\" + params.json.type, params.json.value);\\n } else {\\n putMyVar(params.state, params.json);\\n }\\n refreshPage();\\n return \\\"hiker://empty\\\";\\n }, params),\\n col_type: \\\"scroll_button\\\",\\n });\\n });\\n d.push({\\n col_type: \\\"blank_block\\\",\\n });\\n }\\n });\\n }\\n },\\n };\\n obj.预设(options);\\n return obj;\\n}\\n\\n //.状态(\\\"url\\\")\\n //.界面(d)\\n //.源码(xhtml)\\n //.全清([\\\"1\\\", \\\"2\\\"])\\n //.清除()\\n //.开启折叠()\\n //.页码(page)\\n //.创建动态分类(定位列表);\\n\\nfunction getObjfuc(obj) {\\n const methods = Object.getOwnPropertyNames(obj).filter(\\n (name) => typeof obj[name] === \\\"function\\\"\\n );\\n if (methods.length == 0) {\\n console.log(obj.toString());\\n return;\\n }\\n const formattedString = methods\\n .map((name) => {\\n const fn = obj[name];\\n const fnString = `${name}: ${fn.toString()}`;\\n const restoredFnString = fnString.replace(\\n /\\\\\\\\u([\\\\d\\\\w]{4})/gi,\\n function (match, grp) {\\n return String.fromCharCode(parseInt(grp, 16));\\n }\\n );\\n return restoredFnString;\\n })\\n .join(\\\"\\\\n\\\");\\n console.log(formattedString);\\n}\\n\\n/*\\nver 2023-06-16 1.0\\n*/\\nvar 状态 =\\n typeof 状态标记 != \\\"undefined\\\" && 状态标记 != \\\"\\\" ? 状态标记 : MY_RULE.url;\\n\\nlet dt_debug=false; \\n \\naddListener(\\n \\\"onClose\\\",\\n $.toString(() => {})\\n);\\n\\nvar Create = {\\n spage: {\\n get: function () {\\n return storage0.getMyVar(\\\"spage\\\", \\\"\\\");\\n },\\n set: function (url) {\\n storage0.putMyVar(\\\"spage\\\", url);\\n },\\n },\\n nextPage: function () {\\n var result = false;\\n try {\\n var next = eval(下一页);\\n //log('n:'+next)\\n if(next ==\\\"\\\"){\\n throw new Error('下一页链接为空')\\n }\\n result=true;\\n if(true_url==next){\\n result=false;\\n }\\n } catch (e) {\\n //log(\\\"可能不存在下一页或者下一页定位有问题\\\");\\n log(\\\"错误信息:\\\" + e.message);\\n }\\n if ((next == \\\"\\\" || next == undefined) && page == 1) {\\n next = true_url;\\n } else {\\n //result=false;\\n next = getMyVar(状态);\\n }\\n //log('l'+true_url)\\n //log('n'+next)\\n if(page!=1){\\n if (true_url == next&&!result) {\\n result = false;\\n } else {\\n result = true;\\n }\\n }\\n return result;\\n //putMyVar(状态, next);\\n },\\n getBackImage: function (imgurl) {\\n var result = imgurl;\\n try {\\n result = /url(?:\\\\s+)?\\\\((.*?)\\\\)/g\\n .exec(imgurl)[1]\\n .replace(/('|\\\"|")/gm, \\\"\\\");\\n } catch {}\\n return result;\\n },\\n httpHandle: function (input) {\\n if (input.startsWith(\\\"http\\\")) {\\n return input;\\n } else if (input.startsWith(\\\"//\\\")) {\\n return \\\"https:\\\" + input;\\n } else if (input.startsWith(\\\"/\\\")) {\\n return MY_HOME + input;\\n }\\n },\\n imgHandle: function (item, rule) {\\n var img = \\\"\\\";\\n if (rule.img.startsWith(\\\"pd\\\")) {\\n img = eval(rule.img);\\n } else if (rule.backimg) {\\n img = pdfh(item, rule.img);\\n img = this.getBackImage(img);\\n img = this.httpHandle(img);\\n } else {\\n img = pdfh(item, rule.img);\\n if (!img.startsWith(\\\"http\\\")) {\\n img = pd(item, rule.img);\\n img = this.httpHandle(img);\\n }\\n }\\n return img + rule.ref;\\n },\\n urlHandle: function (item, rule) {\\n var href = \\\"\\\";\\n if (rule.url.startsWith(\\\"pd\\\")) {\\n href = eval(rule.url);\\n } else {\\n href = pd(item, rule.url);\\n }\\n href = rule.imt ? href + \\\"#immersiveTheme#\\\" : href;\\n return href;\\n },\\n setContent: function (item, input) {\\n let output = \\\"\\\";\\n if (input == undefined) {\\n return output;\\n }\\n if (input.startsWith(\\\"pd\\\")) {\\n output = eval(input);\\n } else {\\n output = pdfh(item, input);\\n }\\n return output;\\n },\\n refresh: function () {\\n addListener(\\n \\\"onRefresh\\\",\\n $.toString((u) => {\\n clearMyVar(\\\"yilist\\\");\\n //var p = storage0.getMyVar('spage', '');\\n //putMyVar(u, p);\\n }, 状态)\\n );\\n },\\n jsonList: function (arr, json, rule) {\\n if (json.constructor != Object) {\\n try {\\n json = JSON.parse(json);\\n } catch {}\\n }\\n json[rule.list].forEach((item) => {\\n var img = eval(rule.img) + rule.ref;\\n var href = eval(rule.url);\\n href = rule.imt ? href + \\\"#immersiveTheme#\\\" : href;\\n var lazy = rule.lazy ? rule.lazy : \\\"\\\";\\n var dd = {\\n title: eval(rule.title),\\n desc: eval(rule.desc),\\n content: eval(rule.content),\\n pic_url: img,\\n url: \\\"hiker://empty##\\\" + href,\\n col_type: rule.col_type,\\n extra: {\\n img: img,\\n },\\n };\\n if (lazy != \\\"\\\") {\\n dd[\\\"url\\\"] = href + lazy;\\n }\\n arr.push(dd);\\n });\\n },\\n ruleList: function (arr, html, rule) {\\n var list = pdfa(html, rule.list);\\n list.forEach((item, i) => {\\n var title = this.setContent(item, rule.title);\\n var desc = this.setContent(item, rule.desc);\\n var img = this.imgHandle(item, rule);\\n var url = this.urlHandle(item, rule);\\n var content = this.setContent(item, rule.content);\\n var lazy = rule.lazy ? rule.lazy : \\\"\\\";\\n var dd = {\\n title: title,\\n desc: desc,\\n pic_url: img,\\n url: \\\"hiker://empty##\\\" + url,\\n content: content,\\n col_type: rule.col_type,\\n extra: {\\n img: img,\\n },\\n };\\n if (lazy != \\\"\\\") {\\n dd[\\\"url\\\"] = url + lazy;\\n }\\n arr.push(dd);\\n });\\n },\\n List: function (arr, html, rule, param) {\\n param = param ? param : {};\\n var auto = param.auto ? param.auto : false;\\n var show = param.show ? param.show : false;\\n if (page == 1) {\\n //this.spage.set(true_url);\\n }\\n this.refresh();\\n var list = pdfa(html, rule.list);\\n //log(this.nextPage())\\n if ((storage0.getMyVar('yi_isnext','t')=='t'&&list.length > 0) || page == 1) {\\n list.forEach((item, i) => {\\n deleteItem(\\\"pagenum\\\");\\n deleteItem(\\\"pageline\\\");\\n var id = \\\"\\\";\\n var cls = \\\"\\\";\\n var title = this.setContent(item, rule.title);\\n var desc = this.setContent(item, rule.desc);\\n var img = this.imgHandle(item, rule);\\n var url = this.urlHandle(item, rule);\\n var content = this.setContent(item, rule.content);\\n if (i == list.length - 1) {\\n id = \\\"lastid_\\\" + page;\\n cls = \\\"lastmark\\\";\\n }\\n d.push({\\n title: title,\\n desc: desc,\\n pic_url: img,\\n url: \\\"hiker://empty##\\\" + url,\\n content: content,\\n col_type: rule.col_type,\\n extra: {\\n title: title,\\n img: img,\\n id: id,\\n cls: cls,\\n },\\n });\\n if (i == list.length - 1 && show) {\\n d.push({\\n col_type: \\\"line\\\",\\n extra: {\\n id: \\\"pageline\\\",\\n },\\n });\\n\\n d.push({\\n title: \\\"““””加载中...\\\",\\n url: \\\"hiker://empty\\\",\\n col_type: \\\"text_center_1\\\",\\n extra: {\\n id: \\\"pagenum\\\",\\n },\\n });\\n }\\n });\\n } else {\\n updateItem(\\\"pagenum\\\", {\\n title: '““””到底了',\\n url: \\\"hiker://empty\\\",\\n col_type: \\\"text_center_1\\\",\\n extra: {\\n id: \\\"last\\\",\\n },\\n });\\n }\\n if (list.length == 0 && page == 1) {\\n d.push({\\n col_type: \\\"line\\\",\\n });\\n d.push({\\n title: '““””无内容',\\n url: \\\"hiker://empty\\\",\\n col_type: \\\"text_center_1\\\",\\n extra: {},\\n });\\n }\\n if(this.nextPage()){\\n //log('t');\\n storage0.putMyVar('yi_isnext','t');\\n }else{\\n //log('f');\\n storage0.putMyVar('yi_isnext','f');\\n }\\n if (auto) {\\n //createNextPage();\\n autoPage();\\n }\\n },\\n};\\n\\nvar extMethod = {\\n ToParams: function () {\\n var json = arguments[0];\\n return Object.keys(json)\\n .map((key) => key + \\\"=\\\" + json[key])\\n .join(\\\"&\\\");\\n },\\n urlParse: function (u) {\\n var dict = {};\\n dict.Source = u;\\n let params = (url) => {\\n let queryParams = {};\\n let reg = /([^?=&]+)=([^?=&]+)/g;\\n url.replace(reg, function () {\\n queryParams[arguments[1]] = arguments[2];\\n });\\n return queryParams;\\n };\\n var javaUrl = JavaImporter(java.net.URL);\\n with (javaUrl) {\\n var url = new URL(u);\\n dict.Protocol = url.getProtocol();\\n dict.Host = url.getHost();\\n dict.Port = url.getPort();\\n dict.File = url.getFile();\\n dict.Path = url.getPath();\\n dict.Ref = url.getRef();\\n dict.Hosts = `${dict.Protocol}://${url.getHost()}`;\\n }\\n dict.Params = params(u);\\n return dict;\\n },\\n isEqual: function (x, y) {\\n const ok = Object.keys,\\n tx = typeof x,\\n ty = typeof y;\\n return x && y && tx === \\\"object\\\" && tx === ty\\n ? ok(x).length === ok(y).length &&\\n ok(x).every((key) => this.isEqual(x[key], y[key]))\\n : x === y;\\n },\\n findDifferentIndex: function (str1, str2) {\\n const diffChars = [];\\n for (let i = 0; i < str2.length; i++) {\\n if (str1[i] !== str2[i]) {\\n diffChars.push({\\n index: i,\\n s1: str1[i],\\n s2: str2[i],\\n });\\n }\\n }\\n return diffChars;\\n },\\n replaceCharAt: function (str, index, replacement) {\\n if (index < 0 || index >= str.length) {\\n return str;\\n }\\n //log(index)\\n const arr = str.split(\\\"\\\");\\n arr[index] = replacement;\\n return arr.join(\\\"\\\");\\n },\\n getObjectKeysDiff:function(obj1, obj2) {\\n const differentKeys = [];\\n for (let key in obj1) {\\n if (!obj2.hasOwnProperty(key) || obj1[key] !== obj2[key]) {\\n differentKeys.push(key);\\n }\\n }\\n for (let key in obj2) {\\n if (!obj1.hasOwnProperty(key)) {\\n differentKeys.push(key);\\n }\\n }\\n return differentKeys;\\n },\\n getNextUrl: function (source, target, params) {\\n var u1 = this.urlParse(source);\\n var u2 = this.urlParse(target);\\n var pa = undefined;\\n if (typeof params == \\\"object\\\") {\\n pa = params.hasOwnProperty(\\\"特征\\\") ? params.特征 : undefined;\\n }\\n var nexturl = source;\\n var ca = Object.keys(u2.Params).length == 0 ? \\\"\\\" : \\\"?\\\";\\n if (pa != undefined) {\\n var rs = String(u2.Path).replace(new RegExp(pa), \\\"$1fypage\\\");\\n nexturl = u2.Hosts + rs + ca + this.ToParams(u2.Params);\\n } else {\\n if (this.isEqual(u1.Params, u2.Params)) {\\n if(dt_debug){\\n log(u1.Path);\\n log(u2.Path);\\n }\\n var df = this.findDifferentIndex(String(u1.Path), String(u2.Path));\\n if(dt_debug){\\n log(df);\\n }\\n if (df.length == 1) {\\n var re = df[0].index;\\n } else {\\n var f = df.filter((x) => /\\\\d+/.test(x.s2));\\n var re = f[0].index;\\n }\\n var eq = this.replaceCharAt(String(u2.Path), re, \\\"fypage\\\");\\n nexturl = u2.Hosts + eq + ca + this.ToParams(u2.Params);\\n } else {\\n var ep=this.getObjectKeysDiff(u1.Params,u2.Params)\\n if(ep.length==1){\\n u1.Params[ep[0]]='fypage'\\n }else{\\n log(ep);\\n }\\n var eq = String(u1.Path).replace(/\\\\d+/, \\\"fypage\\\");\\n nexturl = u1.Hosts + eq + ca + this.ToParams(u1.Params);\\n }\\n }\\n //log('next:'+nexturl)\\n return nexturl;\\n },\\n};\\n\\nfunction getTruelink(mark, url, page) {\\n var p = getMyVar(mark, url).replace(\\\"fypage\\\", page);\\n if (page == 1) {\\n return getMyVar(\\\"yi_firstpage\\\", p);\\n } else if (p != \\\"\\\") {\\n return p;\\n } else {\\n return url;\\n }\\n}\\n//构建\\nfunction createNextPage() {\\n let startnum = 1;\\n var obj = arguments[0];\\n if (true_url != getMyVar(\\\"yi_pageurl\\\", \\\"\\\")) {\\n clearMyVar(\\\"yi_pageurl\\\");\\n }\\n if (page == startnum && getMyVar(\\\"yi_pageurl\\\") == \\\"\\\") {\\n putMyVar(\\\"yi_firstpage\\\", true_url);\\n try {\\n var next = eval(下一页);\\n //log(\\\"next\\\");\\n //log(next);\\n } catch {\\n log(\\\"可能不存在下一页或者下一页定位有问题\\\");\\n next = \\\"\\\";\\n }\\n if (next != \\\"\\\") {\\n var nxurl = extMethod.getNextUrl(true_url, next, obj);\\n //log(\\\"nxurl:\\\" + nxurl);\\n putMyVar(状态, nxurl);\\n putMyVar(\\\"yi_pageurl\\\", nxurl);\\n }\\n }\\n}\\n\\nfunction autoPage() {\\n if(page==1){\\n putMyVar(\\\"yi_firstpage\\\", true_url);\\n }\\n try {\\n var next = eval(下一页);\\n //log(\\\"next\\\");\\n //log('next:'+next);\\n } catch {\\n log(\\\"可能不存在下一页或者下一页定位有问题\\\");\\n next = \\\"\\\";\\n }\\n if (next != \\\"\\\") {\\n putMyVar(状态, next);\\n }\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"解析\",\"path\":\"lazy\",\"rule\":\"js:\\nputVar(\\\"_x5\\\", $.toString(() => {\\n var urls = _getUrls()\\n function check(u){\\n if (u.match(/\\\\.m3u8/) && !u.match(/html|m3u8\\\\.tv|\\\\&next|ac\\\\=dm|\\\\=http|https\\\\:\\\\/\\\\/[\\\\d]\\\\.m3u8|\\\\?url\\\\=\\\\/m3u8/)){\\n return true;\\n }\\n return false;\\n }\\n for (var i in urls) {\\n if (check(urls[i])){\\n return urls[i]\\n }\\n if(urls[i].includes(\\\"url=http\\\")){\\n let u = urls[i].split(\\\"url=\\\")[1];\\n if(check(u)){\\n return u;\\n }\\n }\\n }\\n}))\\nvar lazy = \\\"@lazyRule=.js:showLoading('正在嗅探中,请稍后...');'x5Rule://'+input+'@' + getVar('_x5')\\\";\"}]","proxy":"","icon":"https://www.kpkuang.fun/upload/site/20190711-1/50134c0bcfeae96636fcef662b77a995.png"},{"last_chapter_rule":"","title":"看剧剧","author":"","version":1,"type":"video","url":"https://www.kanjuju.com/show/fyclass--fysort------fypage---/","col_type":"movie_3","class_name":"短剧&韩剧","class_url":"duanju&hanju","area_name":"","area_url":"","sort_name":"时间&人气&评分","year_name":"","sort_url":"time&hits&score","year_url":"","find_rule":"js:\nvar res = {};\nvar d = [];\nif (MY_PAGE == 1) {\n d.push({\n desc: \"搜你想要的...\",\n title: \"🔍\",\n url: \"'hiker://search?rule=\" + MY_RULE.title + \"&s='+input\",\n col_type: \"input\",\n });\n}\ntry{\nvar list = pdfa(getResCode(), 'body&&.stui-vodlist__thumb');\nfor (var j in list) {\n d.push({\n title: pdfh(list[j], 'a&&title'),\n desc: pdfh(list[j], '.pic-text&&Text'),\n pic_url: pd(list[j], '.lazyload&&data-original')+'@Referer=',\n url: pd(list[j],'a&&href')+\"#immersiveTheme#\"\n });\n}}catch(e){}\nres.data = d;\nsetHomeResult(res);","searchFind":"js:\nvar d = [];\nvar html = getResCode();\nvar list = pdfa(html, '.stui-vodlist__media&&li');\nfor (var j in list) {\n d.push({\n title: pdfh(list[j], '.lazyload&&title'),\n desc: pdfh(list[j], '.pic-text&&Text'),\n content: pdfh(list[j], 'p,2&&Text')+ '\\n' + pdfh(list[j], ''),\n img: pd(list[j], '.lazyload&&data-original') + '@Referer=',\n url: pd(list[j], '.lazyload&&href') + '#immersiveTheme#'\n });\n}\nsetResult(d);","search_url":"https://www.kanjuju.com/vodsearch/**----------fypage---/","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar d = [];\nvar html = getResCode();\n\nvar lazy = $('').lazyRule(() => {\n var html = JSON.parse(request(input).match(/r player_.*?=(.*?) {\n var urls = _getUrls()\n for (var i in urls) {\n if (!urls[i].match(/url=/)&&urls[i].match(/mp4|m3u8|obj/)) {\n\n fy_bridge_app.log(urls[i])\n return fy_bridge_app.clearM3u8Ad(urls[i])+'#isVideo=true#'\n }\n }\n });\n return result\n }\n})\n\n//线路名列表的定位\nvar arts = parseDomForArray(html, 'body&&h3:not(:matches(猜你喜欢|本周热门|无需|最新更新))');\n\n//线路名列表名称的定位\nvar tabs = [];\nfor (var i in arts) {\n tabs.push(parseDomForHtml(arts[i], 'Text'))\n}\n\n//播放列表的列表的定位\nvar conts = parseDomForArray(html, 'body&&.stui-content__playlist');\nvar lists = [];\nfor (var i in conts) {\n lists.push(parseDomForArray(conts[i], 'body&&a'))\n}\n\nvar 分类 = parseDomForHtml(html, 'p,2&&Text');\n\nvar 主演 = parseDomForHtml(html, 'p,0&&Text');\n\nvar 导演 = parseDomForHtml(html, 'p,1&&Text');\n\nvar 更新 = parseDomForHtml(html, '');\n\nvar 图片 = parseDom(html, '.lazyload&&data-original');\n\nvar 简介 = parseDomForHtml(html, 'p,3&&Text').replace('简介:','').replace('详情','');\n\nvar Color = \"#f13b66a\";\nvar Color1 = \"#098AC1\";\nfunction getHead(title) {\n return '‘‘’’' + title + '';\n}\nlet line_model = 8;\nlet line_type_model = 'blank_block';\nd.push({\n title: 分类 + '\\n' + 主演,\n desc: 导演 + '\\n' + 更新,\n pic_url: 图片,\n url:MY_URL,\n col_type: 'movie_1_vertical_pic_blur',\n extra:{gradient: true}\n});\nd.push({\n title: '‘‘’’简介:' + 简介.substr(0, 55) + '...详情',\n url: 'hiker://empty#' + '\\n' + 简介 + `@rule=js:var res = {}; var d = [];d.push({title:'影片简介:'+ MY_URL.split('hiker://empty#')[1],col_type: 'long_text'});res.data = d; setHomeResult(res);`,\n col_type: 'text_1'\n});\n\n\nfor (let i = 0; i < line_model; i++) {\n d.push({\n col_type: line_type_model\n })\n}\nfunction setTabs(tabs, vari) {\n d.push({\n title: (getVar('shsort') == '1') ? '““””逆序' : '““””正序',\n url: `@lazyRule=.js:let conf = getVar('shsort');if(conf=='1'){putVar({key:'shsort', value:'0'});}else{putVar({key:'shsort', value:'1'})};refreshPage();'toast://切换排序成功'`,\n col_type: 'flex_button'\n })\n for (var i = 0; i < tabs.length; i++) {\n var url = \"#noLoading#@lazyRule=.js:putVar('\" + vari + \"', '\" + i + \"');refreshPage(false);'toast://切换成功!';'#noHistory#hiker://empty'\";\n d.push({\n title: getVar(vari, '0') == i ? '““' + tabs[i] + '””' : tabs[i],\n url: url,\n col_type: 'flex_button'\n })\n }\n}\n\nfunction setLists(lists, index) { \n var list = lists[index];\n if (getVar('shsort') == '1') {\n var list = lists[index].reverse();\n }\n for (var j in list) {\n d.push({\n title: pdfh(list[j], 'a&&Text')\n .replace(/第(\\d+)集/, '$1')\n .replace('第', '')\n .replace('期', ''),\n url: pd(list[j], 'a&&href') + '#' + tabs[index] + lazy,\n col_type: list.length > 3 ? 'text_4' : 'text_2'\n });\n }\n}\n\nsetTabs(tabs, MY_URL);\nsetLists(lists, getVar(MY_URL, '0'));\nsetResult(d);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[]","proxy":"","icon":"https://www.kanjuju.com/statics/img/logo.png"},{"last_chapter_rule":"","title":"短剧窝·Q","author":"发粪涂墙","version":0,"type":"video","url":"hiker://empty##https://www.djwo.cc/type/1-fypage[firstPage=https://www.djwo.cc/type/1]","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\nvar getRangeColors = function() {       \n return '#' + ('00000' + (Math.random() * 0x1000000 << 0).toString(16)).substr(-6);     \n}\n\nconst 分类颜色 = getRangeColors()\nconst 大类定位 = 'body&&.screen'\nconst 拼接分类 = '.screen-item'\nconst 小类定位 = 'body&&.screen-item:not(:matches(首|专题|发布|奈飞))'\nconst 分类标题 = 'a&&Text'\nconst 分类链接 = 'a&&href'\nMY_URL = MY_URL.replace('hiker://empty##', '')\n\nlet true_url = getVar(MY_RULE.url, MY_URL)\nconst page = MY_PAGE\ntrue_url=true_url.replace(/vodtype(\\/\\d+).*/, 'vodshow$1-----------.html').replace('---.html', page + '---.html').replace(/(---\\d+.html)/, page + '$1')\nlog(true_url)\nvar html = request(true_url)\n\neval(JSON.parse(request('hiker://page/dtfl?rule=模板·Q')).rule)\nconst list = pdfa(html, 'body&&.col-4')\nlist.forEach(video => {\n d.push({\n title: pdfh(video, 'h4&&Text'),\n desc: pdfh(video, '.tips&&Text'),\n img: pdfh(video, '.lazy&&data-original'),\n url: pd(video, 'a&&href') + '#immersiveTheme#',\n col_type: 'movie_3_marquee',\n })\n})\nsetResult(d);","searchFind":"js:\nvar d = [];\nvar html = getResCode();\nrequire('hiker://page/yzm?rule=模板·Q')\nvar list = pdfa(html, 'body&&.col-4');\n\nfor (var i = 0; i < list.length; i++) {\n var L = list[i];\n d.push({\n title: pdfh(L, 'h4&&Text'),\n url: pd(L, 'a&&href') + \"#immersiveTheme#\",\n desc: pdfh(L, '.tips&&Text').replace(/\\//g, ' '),\n content: pdfh(L, 'p&&Text'),\n img: pd(L, '.lazy&&data-original') + '@Referer=',\n });\n}\nsetResult(d)","search_url":"https://www.djwo.cc/search/**--/page/fypage","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar lazy = $('').lazyRule(() => {\n if (input.indexOf('magnet:?xt') == -1) {\n try {\n var html = JSON.parse(request(input).match(/r player_.*?=(.*?) {\n d.push({\n title: pdfh(video, '.module-poster-item-title&&Text'),\n desc: pdfh(video, '.module-item-note&&Text'),\n img: pd(video, 'img&&data-original') + \"@Referer=\",\n url: pd(video, 'a&&href') + '#immersiveTheme#',\n col_type: 'movie_3_marquee',\n })\n})\nsetResult(d)","searchFind":"js:\nconst {\n autoPage\n} = $.require(\"hiker://page/auto?rule=模板·Q\");\nautoPage(getResCode())","search_url":"https://www.duanju.com.in/SITE%E6%98%9F%E8%BE%B0%E5%BD%B1%E9%99%A2/**----------fypage---.html","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar lazy = $('').lazyRule(() => {\n try {\n var html = JSON.parse(request(input).match(/r player_.*?=(.*?) {\n return \"海阔视界首页频道规则【模板·Q】¥home_rule_url¥http://hiker.nokia.press/hikerule/rulelist.json?id=3055\"\n }\n })\n}","pages":"[]","proxy":"","icon":"https://www.duanju.com.in/logo.png"},{"last_chapter_rule":"","title":"20韩剧网","author":"发粪涂墙&猫猫&哟","version":5,"type":"video","url":"hiker://empty##http://www.20hjw.com/hanju/vod33-fypage.html","col_type":"movie_3_marquee","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\n\nconst 一级定位 = 'body&&.stui-header__menu'\nconst 二级定位 = 'body&&.stui-screen__list'\nconst 统一定位 = 'body&&a:not(:matches(首页|看|专题|APP|剧情|地区|年份|字母|排序))'\n\n\nconst page = MY_PAGE\nMY_URL = MY_URL.replace('hiker://empty##', '')\nlet true_url = getVar(MY_RULE.url, MY_URL)\n\n\nif (getVar(MY_RULE.url)) {\n true_url = true_url.replace('---.html', +page+'---.html')\nlog(true_url)\n}\n\n\nvar html = fetch(true_url, {\n headers: {\n 'User-Agent': MOBILE_UA /*PC_UA*/\n }\n})\n\n\nrequire('hiker://page/dtfl')\nrequire('hiker://page/auto')\nautoPage(html)\nsetResult(d)","searchFind":"js:\nrequire(\"hiker://page/auto\");\nautoPage(getResCode())","search_url":"http://www.20hjw.com/search.php?page=fypage&searchword=**&searchtype=","group":"⑧短剧","detail_col_type":"movie_3","detail_find_rule":"js:\n//var lazy = '';\n\nvar 线路列表 = '';\nvar 线路标签 = '';\nvar 集数列表 = '';\nvar 集数标签 = '';\nvar 定位简介 = '';\n\n\nvar html = fetch(MY_URL, {\n headers: {\n 'User-Agent': PC_UA//MOBILE_UA\n }\n})\nrequire(\"hiker://page/auto\");\nrequire(\"hiker://page/lazy\");\nautoPage(html)","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"pc","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"AA.一级stui-vodlist\",\"path\":\"stui-vodlist\",\"rule\":\"var 一级列表 = '.stui-vodlist&&li'\\nvar 一级标题 = 'a&&title'\\nvar 一级描述 = '.pic-text&&Text'\\nvar 一级图片 = '.lazyload||a&&data-original'\\nvar 一级链接 = 'a&&href'\\n\\neval(JSON.parse(fetch('hiker://page/PrimaryTemplate', {})).rule);\"},{\"col_type\":\"movie_3\",\"name\":\"BB.二级.b\",\"path\":\".b\",\"rule\":\"var 线路列表1 = 'body&&.playlist';\\nvar 线路标签1 = 'h3&&Text';\\nvar 集数列表1 = 'body&&.b';\\nvar 集数标签1 = 'ul&&li';\\nvar 定位简介1 = '.desc||.detail-content&&Text';\\n\\neval(JSON.parse(fetch('hiker://page/SecondaryTemplate', {})).rule);\"},{\"col_type\":\"movie_3\",\"name\":\"CC.搜索stui-vodlist__media\",\"path\":\"stui-vodlist__media\",\"rule\":\"var 一级列表 = '.stui-vodlist__media&&li'\\nvar 一级标题 = 'a&&title'\\nvar 一级描述 = '.pic-text&&Text'\\nvar 一级状态 = '.detail--h3&&Text'\\nvar 一级图片 = 'a&&data-original'\\nvar 一级链接 = 'a&&href'\\n\\neval(JSON.parse(fetch('hiker://page/SearchFrame', {})).rule);\"},{\"col_type\":\"movie_3\",\"name\":\"AA.一级myui-vodlist\",\"path\":\"myui-vodlist\",\"rule\":\"var 一级列表 = '.myui-vodlist&&li'\\nvar 一级标题 = 'h4&&Text'\\nvar 一级描述 = '.pic-tag||.pic-text&&Text'\\nvar 一级图片 = '.lazyload&&data-original'\\nvar 一级链接 = 'a&&href'\\n\\neval(JSON.parse(fetch('hiker://page/PrimaryTemplate', {})).rule);\\n\"},{\"col_type\":\"movie_3\",\"name\":\"BB.二级nav-tabs\",\"path\":\"nav-tabs\",\"rule\":\"var 线路列表1 = '.nav-tabs&&a';\\nvar 线路标签1 = 'Text';\\nvar 集数列表1 = 'body&&.myui-content__list||.b';\\nvar 集数标签1 = 'ul&&li';\\nvar 定位简介1 = '.sketch&&Text';\\n\\n\\neval(JSON.parse(fetch('hiker://page/SecondaryTemplate', {})).rule);\\n\"},{\"col_type\":\"movie_3\",\"name\":\"CC.搜索myui-vodlist__media\",\"path\":\"myui-vodlist__media\",\"rule\":\"var 一级列表 = '#searchList&&li'\\nvar 一级标题 = 'a&&title'\\nvar 一级描述 = '.pic-text&&Text'\\nvar 一级状态 = '.detail--h4&&Text'\\nvar 一级图片 = 'a&&data-original'\\nvar 一级链接 = 'a&&href'\\n\\neval(JSON.parse(fetch('hiker://page/SearchFrame', {})).rule);\"},{\"col_type\":\"movie_3\",\"name\":\"AA.一级vodlist\",\"path\":\"vodlist\",\"rule\":\"var 一级列表 = '.vodlist&&li'\\nvar 一级标题 = 'a&&title'\\nvar 一级描述 = 'a&&Text'\\nvar 一级图片 = '.lazyload&&data-original'\\nvar 一级链接 = 'a&&href'\\n\\neval(JSON.parse(fetch('hiker://page/PrimaryTemplate', {})).rule);\"},{\"col_type\":\"movie_3\",\"name\":\"BB 二级mo-play-load\",\"path\":\"mo-play-load\",\"rule\":\"var 线路列表1 = 'body&&.module-tab-content&&.module-tab-item';//arts\\nvar 线路标签1 = 'span&&Text';\\nvar 集数列表1 = 'body&&.sort-item';//conts\\nvar 集数标签1 = 'body&&a';\\nvar 定位简介1 = '.video-info-items,1&&Text';\\n\\neval(JSON.parse(fetch('hiker://page/SecondaryTemplate', {})).rule);\"},{\"col_type\":\"movie_3\",\"name\":\"BB.二级nav-tabs1\",\"path\":\"nav-tabs1\",\"rule\":\"var 线路列表1 = '.nav-tabs&&a';\\nvar 线路标签1 = 'a&&Text';\\nvar 集数列表1 = 'body&&.stui-content__playlist||.b';\\nvar 集数标签1 = 'ul&&li';\\nvar 定位简介1 = '.desc--span&&Text';\\n\\neval(JSON.parse(fetch('hiker://page/SecondaryTemplate', {})).rule);\\n\"},{\"col_type\":\"movie_3\",\"name\":\"BB 二级play_source_tab\",\"path\":\"play_source_tab\",\"rule\":\"var 线路列表1 = '.play_source_tab&&a';\\nvar 线路标签1 = 'a&&Text';\\nvar 集数列表1 = 'body&&#playsx';\\nvar 集数标签1 = 'ul&&li';\\nvar 定位简介1 = '.desc_txt&&Text';\\n\\neval(JSON.parse(fetch('hiker://page/SecondaryTemplate', {})).rule);\"},{\"col_type\":\"movie_3\",\"name\":\"BB.二级fed-play-item\",\"path\":\"fed-play-item\",\"rule\":\"var 线路列表1 = 'body&&.fed-drop-btns';//arts\\nvar 线路标签1 = 'a&&Text';\\nvar 集数列表1 = 'body&&.fed-play-item';//conts\\nvar 集数标签1 = 'body&&.fed-btns-info';\\nvar 定位简介1 = 'dd&&li,6&&Text';\\n\\neval(JSON.parse(fetch('hiker://page/SecondaryTemplate', {})).rule);\\n\"},{\"col_type\":\"movie_3\",\"name\":\"CC.搜索dl\",\"path\":\"dl\",\"rule\":\"var 一级列表 = 'body&&dl'\\nvar 一级标题 = 'h1&&Text'\\nvar 一级描述 = '.fed-list-remarks&&Text'\\nvar 一级状态 = '.fed-part-esan--span&&Text'\\nvar 一级图片 = 'a&&data-original'\\nvar 一级链接 = 'a&&href'\\n\\neval(JSON.parse(fetch('hiker://page/SearchFrame', {})).rule);\"},{\"col_type\":\"movie_3\",\"name\":\"#Mapping\",\"path\":\"Mapping\",\"rule\":\"js:\\n$.exports = {\\n \\\"home\\\": [\\n //\\n\\n {\\n keys: [\\\"playfrom\\\"], //2⃣️🆘\\n url: \\\"playfrom\\\",\\n },\\n {\\n keys: [\\\"index-area\\\"], //1⃣️🆘\\n url: \\\"index-area\\\",\\n },\\n {\\n keys: [\\\"mo-situ-lazy\\\"], //1⃣️🆘\\n url: \\\"mo-situ-lazy\\\",\\n },\\n {\\n keys: [\\\"classification-ul\\\"], //1⃣️🆘\\n url: \\\"classification-ul\\\",\\n },\\n {\\n keys: [\\\"vodlist_thumb\\\"], //1⃣️🆘https://www.qcsvip.com/index.php/vod/play/id/216245/sid/3/nid/1.html\\n url: \\\"vodlist_thumb\\\",\\n },\\n {\\n keys: [\\\" b \\\"],\\n url: \\\".b\\\",\\n // allKey: true,\\n },\\n {\\n keys: [\\\"nav-tabs\\\"],\\n url: \\\"nav-tabs\\\",\\n },\\n {\\n keys: [\\\"myui-content__list\\\"],\\n url: \\\"myui-content__list\\\",\\n },\\n {\\n keys: [\\\"nav-tabs\\\",\\\"stui-content__playlist\\\"],\\n url: \\\"nav-tabs1\\\",\\n allKey: true,\\n },\\n {\\n keys: [\\\"h3\\\",\\\"stui-content__playlist\\\"],\\n url: \\\"h3\\\",\\n allKey: true,\\n },\\n {\\n keys: [\\\"myui-vodlist \\\"],\\n url: \\\"myui-vodlist\\\",\\n },\\n {\\n keys: [\\\"mo-movs-item\\\"],\\n url: \\\"mo-movs-item\\\",\\n },\\n {\\n keys: [\\\"module-tab-item\\\"],\\n url: \\\"module-tab-item\\\",\\n // allKey: true,\\n },\\n {\\n keys: [\\\"stui-vodlist \\\"],\\n url: \\\"stui-vodlist\\\",\\n // allKey: true,\\n },\\n {\\n keys: [\\\"play_source_tab\\\"],\\n url: \\\"play_source_tab\\\",\\n },\\n {\\n keys: [\\\"fed-play-item\\\"],\\n url: \\\"fed-play-item\\\",\\n },\\n {\\n keys: [\\\"module-items\\\"],\\n url: \\\"module-items\\\",\\n },\\n {\\n keys: [\\\"vodlist \\\",\\\"lazyload\\\"],\\n url: \\\"vodlist\\\",\\n allKey: true,\\n },\\n {\\n keys: [\\\"mo-play-load\\\"],\\n url: \\\"mo-play-load\\\",\\n },\\n {\\n keys: [\\\"fed-list-title\\\"],\\n url: \\\"fed-list-title\\\",\\n //allKey: true,\\n },\\n {\\n keys: [\\\"pack-ykpack\\\\\\\"\\\"],\\n url: \\\"pack-ykpack\\\",\\n },/*\\n {\\n keys: [\\\"item\\\"],\\n url: \\\"item\\\",\\n },*/\\n {\\n keys: [\\\"data_list\\\"],\\n url: \\\"data_list\\\",\\n },\\n ],\\n \\\"search\\\": [\\n // search 里写搜索的子页面映射\\n {\\n keys: [\\\"stui-vodlist__media\\\"],\\n url: \\\"stui-vodlist__media\\\",\\n },\\n {\\n keys: [\\\"myui-vodlist__media\\\"],\\n url: \\\"myui-vodlist__media\\\",\\n },\\n {\\n keys: [\\\"module-search-item\\\"],\\n url: \\\"module-search-item\\\",\\n },\\n {\\n keys: [\\\"dl \\\"],\\n url: \\\"dl\\\",\\n allKey: true,\\n },\\n ]\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"#auto\",\"path\":\"auto\",\"rule\":\"js:\\n// 获取该关键字的子页面代码\\nfunction getPageSource(key) {\\n let src = request(\\\"hiker://page/\\\" + key);\\n //log(src)\\n src = JSON.parse(src).rule;\\n return src;\\n}\\nconst sourceMap = $.require(\\\"hiker://page/Mapping\\\");\\n\\nfunction autoPage(htmlsrc, type) {\\n let pageRules = [],\\n htmlSource = htmlsrc,\\n pageType,\\n mMapping;\\n if (type !== undefined) {\\n pageType = type;\\n } else {\\n pageType = MY_TYPE;\\n }\\n mMapping = sourceMap[pageType];\\n if (mMapping === undefined || !Array.isArray(mMapping)) {\\n throw new Error(\\\"不存在\\\" + pageType + \\\"类型的模板\\\");\\n }\\n for (let item of mMapping) {\\n if (item.allKey) {\\n if (item.keys.every(key => htmlSource.includes(key))) {\\n pageRules.push(item);\\n }\\n } else {\\n if (item.keys.some(key => htmlSource.includes(key))) {\\n pageRules.push(item);\\n }\\n }\\n }\\n if (pageRules.length == 0) {\\n log(\\\"暂无合适模板\\\");\\n toast('暂无合适模板');\\n }\\n for (let pageRule of pageRules) {\\n log(\\\"正在匹配:\\\" + pageRule.url);\\n try {\\n eval.call(null, \\\";(function(){\\\" + getPageSource(pageRule.url) + \\\"})()\\\");\\n log(\\\"匹配模板成功,正在结束匹配进程\\\");\\n break;\\n } catch (e) {\\n log(\\\"匹配模板错误\\\");\\n log(e.toString())\\n log(\\\"正在匹配下一个模板......\\\")\\n if (pageRule.url == pageRules[pageRules.length - 1].url) {\\n log(\\\"已匹配到最后一个模板,暂无合适的模板\\\");\\n toast('全部匹配完成,暂无合适模板');\\n setResult([]);\\n }\\n }\\n }\\n\\n}\\n$.exports.autoPage = autoPage;\"},{\"col_type\":\"movie_3\",\"name\":\"AA.一级pack-ykpack\",\"path\":\"pack-ykpack\",\"rule\":\"var 一级列表 = 'body&&.pack-ykpack'\\nvar 一级标题 = 'a&&title'\\nvar 一级描述 = 'span,-1&&Text'\\nvar 一级图片 = '.eclazy&&data-original'\\nvar 一级链接 = 'a&&href'\\n\\neval(JSON.parse(fetch('hiker://page/PrimaryTemplate', {})).rule);\"},{\"col_type\":\"movie_3\",\"name\":\"AA.一级module-items\",\"path\":\"module-items\",\"rule\":\"var 一级列表 = '.module-items&&.module-item'\\nvar 一级标题 = 'a&&title'\\nvar 一级描述 = '.module-item-text&&Text'\\nvar 一级图片 = 'img||.lazy&&data-src'\\nvar 一级链接 = 'a&&href'\\n\\neval(JSON.parse(fetch('hiker://page/PrimaryTemplate', {})).rule);\"},{\"col_type\":\"movie_3\",\"name\":\"BB.二级module-tab-item\",\"path\":\"module-tab-item\",\"rule\":\"var 线路列表1 = 'body&&.module-tab-item';//arts\\nvar 线路标签1 = 'span&&Text';\\nvar 集数列表1 = 'body&&.scroll-box-y';//conts\\nvar 集数标签1 = 'body&&a';\\nvar 定位简介1 = '.vod_content&&Text';\\n\\neval(JSON.parse(fetch('hiker://page/SecondaryTemplate', {})).rule);\\n\"},{\"col_type\":\"movie_3\",\"name\":\"CC.搜索module-search-item\",\"path\":\"module-search-item\",\"rule\":\"var 一级列表 = 'body&&.module-search-item'\\nvar 一级标题 = 'h3&&Text'\\nvar 一级描述 = '.video-serial&&Text'\\nvar 一级状态 = '.video-info-aux&&Text'\\nvar 一级图片 = 'img&&data-original||data-src'\\nvar 一级链接 = '.video-serial&&href'\\n\\neval(JSON.parse(fetch('hiker://page/SearchFrame', {})).rule);\"},{\"col_type\":\"movie_3\",\"name\":\"AA.一级item\",\"path\":\"item\",\"rule\":\"var 一级列表 = 'body&&.item'\\nvar 一级标题 = 'img&&alt'\\nvar 一级描述 = 'p&&Text'\\nvar 一级图片 = 'img&&src'\\nvar 一级链接 = 'a&&href'\\n\\neval(JSON.parse(fetch('hiker://page/PrimaryTemplate', {})).rule);\"},{\"col_type\":\"movie_3\",\"name\":\"AA.一级data_list\",\"path\":\"data_list\",\"rule\":\"var 一级列表 = '#data_list&&li'\\nvar 一级标题 = 'a&&title'\\nvar 一级描述 = 'em&&Text'\\nvar 一级图片 = 'img&&data-src'\\nvar 一级链接 = 'a&&href'\\n\\neval(JSON.parse(fetch('hiker://page/PrimaryTemplate', {})).rule);\"},{\"col_type\":\"movie_3\",\"name\":\"BB.二级h3\",\"path\":\"h3\",\"rule\":\"var 线路列表1 = 'body&&.stui-pannel:has(.stui-content__playlist)';//arts\\nvar 线路标签1 = 'h3&&Text';\\nvar 集数列表1 = 'body&&.stui-content__playlist';//conts\\nvar 集数标签1 = 'ul&&li';\\nvar 定位简介1 = '.detail-sketch||.data,3||#desc&&Text';\\n\\neval(JSON.parse(fetch('hiker://page/SecondaryTemplate', {})).rule);\\n\"},{\"col_type\":\"movie_3\",\"name\":\"AA.一级fed-list-title\",\"path\":\"fed-list-title\",\"rule\":\"var 一级列表 = '.fed-list-info&&li'\\nvar 一级标题 = '.fed-list-title&&Text'\\nvar 一级描述 = '.fed-text-center&&Text'\\nvar 一级图片 = 'a&&data-original'\\nvar 一级链接 = 'a&&href'\\n\\neval(JSON.parse(fetch('hiker://page/PrimaryTemplate', {})).rule);\"},{\"col_type\":\"movie_3\",\"name\":\"BB.二级myui-content__list\",\"path\":\"myui-content__list\",\"rule\":\"var 线路列表1 = 'body&&.myui-panel-box:has(.myui-content__list)';//arts\\n\\nvar 线路标签1 = 'h3&&Text';\\nvar 集数列表1 = 'body&&.myui-content__list';//conts\\nvar 集数标签1 = 'ul&&li';\\nvar 定位简介1 = '.data,4&&Text';\\n\\neval(JSON.parse(fetch('hiker://page/SecondaryTemplate', {})).rule);\\n\\n\"},{\"col_type\":\"movie_3\",\"name\":\"#动态分类\",\"path\":\"dtfl\",\"rule\":\"if (MY_PAGE == '1') {\\n\\n}\\nconst empty = \\\"hiker://empty\\\"\\n\\nconst 分类颜色 = '#1a0c45'\\nconst 动态缩小 = ' Shrink '\\nconst 动态扩展 = ' Extend '\\n\\nconst 分类标题 = 'a&&Text'\\nconst 分类链接 = 'a&&href'\\n\\ntry {\\n var categories = pdfa(html, 一级定位).concat(pdfa(html, 二级定位))\\n} catch (e) {\\n var categories = pdfa(html, 一级定位)\\n}\\n\\n//log(html)\\n\\nlet init_cate = []\\n\\nfor (let i = 0; i < 20; i++) {\\n init_cate.push(\\\"0\\\")\\n}\\n\\nconst fold = getVar(MY_RULE.group, \\\"0\\\")\\nconst cate_temp_json = getVar(MY_RULE.title, JSON.stringify(init_cate))\\nconst cate_temp = JSON.parse(cate_temp_json)\\n\\nif (parseInt(page) === 1) {\\n d.push({\\n\\n title: fold == \\\"1\\\" ? \\\"““””\\\" + 动态缩小 + \\\"\\\" : \\\"““””\\\" + 动态扩展 + \\\"\\\",\\n\\n url: $().lazyRule((fold) => {\\n putVar(MY_RULE.group, fold === '1' ? '0' : '1');\\n refreshPage(false);\\n return \\\"hiker://empty\\\"\\n }, fold),\\n col_type: 'scroll_button',\\n })\\n\\n\\n categories.forEach((category, index) => {\\n let sub_categories = pdfa(category, 统一定位);\\n \\n if (index === 0) {\\n sub_categories.forEach((item, key) => {\\n let title = pdfh(item, 分类标题)\\n\\n d.push({\\n title: key.toString() === cate_temp[index] ? '““””' + title + '' : title,\\n url: $(pd(item, 分类链接) + '#noLoading#').lazyRule((params) => {\\n let new_cate = []\\n params.cate_temp.forEach((cate, index) => {\\n new_cate.push(index === 0 ? params.key.toString() : \\\"0\\\")\\n })\\n putVar(MY_RULE.title, JSON.stringify(new_cate))\\n putVar(MY_RULE.url, input)\\n refreshPage(true)\\n return \\\"hiker://empty\\\"\\n }, {\\n cate_temp: cate_temp,\\n key: key,\\n page: page,\\n }),\\n col_type: 'scroll_button',\\n })\\n })\\n\\n d.push({\\n col_type: \\\"blank_block\\\"\\n });\\n\\n } else if (fold === '1') {\\n sub_categories.forEach((item, key) => {\\n let title = pdfh(item, 分类标题)\\n d.push({\\n title: key.toString() === cate_temp[index] ? '““””' + title + '' : title,\\n url: $(pd(item, 分类链接) + '#noLoading#').lazyRule((params) => {\\n params.cate_temp[params.index] = params.key.toString()\\n\\n putVar(MY_RULE.title, JSON.stringify(params.cate_temp))\\n putVar(MY_RULE.url, input)\\n refreshPage(true)\\n return \\\"hiker://empty\\\"\\n }, {\\n cate_temp: cate_temp,\\n index: index,\\n key: key,\\n page: page,\\n }),\\n col_type: 'scroll_button',\\n })\\n })\\n d.push({\\n col_type: \\\"blank_block\\\"\\n });\\n }\\n })\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"BB.二级mo-movs-item\",\"path\":\"mo-movs-item\",\"rule\":\"var 线路列表1 = 'body&&.mo-movs-btns';//arts\\nvar 线路标签1 = 'Text';\\nvar 集数列表1 = 'body&&.mo-movs-item';//conts\\nvar 集数标签1 = 'ul&&li';\\nvar 定位简介1 = '.mo-tabs-item&&Text';\\n\\neval(JSON.parse(fetch('hiker://page/SecondaryTemplate', {})).rule);\\n\\n\\n\"},{\"col_type\":\"movie_3\",\"name\":\"#一级框架\",\"path\":\"PrimaryTemplate\",\"rule\":\"\\n/*\\nif (MY_PAGE == '1') {\\nclearVar()\\n d.push({\\n title: ' search ',\\n url: \\\"'hiker://search?rule=\\\" + MY_RULE.title + \\\"&s='+input\\\",\\n desc: \\\" \\\",\\n col_type: \\\"input\\\"\\n });\\n for (var i = 0; i < 2; i++) {\\n d.push({\\n col_type: \\\"big_blank_block\\\"\\n })\\n }\\n d.push({\\n col_type: 'line'\\n });\\n for (var i = 0; i < 3; i++) {\\n d.push({\\n col_type: \\\"big_blank_block\\\"\\n })\\n }\\n}\\n\\n*/\\n\\nlet list = pdfa(html, 一级列表);\\n\\nfor (let j in list) {\\n\\n var 链接 = pd(list[j], 一级链接)\\n var 封面 = pd(list[j], 一级图片)\\n var 标题 = pdfh(list[j], 一级标题)\\n\\n putMyVar(链接, 标题)\\n putMyVar(链接 + '封面', 封面)\\n\\n d.push({\\n title: pdfh(list[j], 一级标题),\\n desc: pdfh(list[j], 一级描述),\\n img: pd(list[j], 一级图片) + '@Referer=',\\n url: pd(list[j], 一级链接), //+'#immersiveTheme#'\\n });\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"AA.一级classification-ul🆘\",\"path\":\"classification-ul\",\"rule\":\"var 一级列表 = '.classification-ul&&li'\\nvar 一级标题 = '.videoul-title&&Text'\\nvar 一级描述 = '.videoul-tips1&&Text'\\nvar 一级图片 = '.videoul-img&&lay-src'\\nvar 一级链接 = 'a&&href'\\n\\neval(JSON.parse(fetch('hiker://page/PrimaryTemplate', {})).rule);\"},{\"col_type\":\"movie_3\",\"name\":\"AA.一级mo-situ-lazy🆘\",\"path\":\"mo-situ-lazy\",\"rule\":\"var 一级列表 = 'body&&li:has(.mo-situ-lazy)'\\nvar 一级标题 = '.mo-situ-name&&Text'\\nvar 一级描述 = '.mo-situ-rema&&Text'\\nvar 一级图片 = 'a&&data-original'\\nvar 一级链接 = 'a&&href'\\neval(JSON.parse(fetch('hiker://page/PrimaryTemplate', {})).rule);\"},{\"col_type\":\"movie_3\",\"name\":\"AA.一级vodlist_thumb🆘\",\"path\":\"vodlist_thumb\",\"rule\":\"var 一级列表 = 'body&&.vodlist_thumb'\\nvar 一级标题 = 'a&&title'\\nvar 一级描述 = 'span&&Text'\\nvar 一级图片 = 'a&&data-original'\\nvar 一级链接 = 'a&&href'\\n\\neval(JSON.parse(fetch('hiker://page/PrimaryTemplate', {})).rule);\"},{\"col_type\":\"movie_3\",\"name\":\"#二级框架\",\"path\":\"SecondaryTemplate\",\"rule\":\"var d = [];\\nvar 标识名称 = ' Web ';\\nvar 标识链接 = MY_URL;\\n\\n\\n\\n/*\\nsetPageTitle('')\\nd.push({\\n title: '‘‘’’Name·' + 搜索标签2 + '',\\n url: MY_URL,\\n col_type: 'text_1',\\n extra: {\\n lineVisible: false\\n }\\n});\\n*/\\n\\nif (线路列表 === '') {\\n var 线路列表2 = 线路列表1\\n} else {\\n var 线路列表2 = 线路列表\\n}\\nvar arts = pdfa(html, 线路列表2);\\n\\n\\n\\nif (线路标签 === '') {\\n var 线路标签2 = 线路标签1\\n} else {\\n var 线路标签2 = 线路标签\\n}\\n\\nvar tabs = [];\\nfor (var i in arts) {\\n\\n tabs.push(pdfh(arts[i], 线路标签2)\\n\\n .replace('-官方', '')\\n .replace('备用资源', '')\\n .replace('APP专享线路(网站不提供播放)', 'APP专享')\\n .replace(')', ')')\\n .replace('(', '(')\\n .replace('视频', '')\\n .replace('TV', '')\\n .replace('线路', '')\\n .replace('推荐', '')\\n .replace('-', '')\\n .replace(' ', '')\\n .replace(' ', '')\\n .replace('哔哩哔哩', 'bilibili')\\n .replace('youku', '优酷')\\n .replace('qiyi', '爱奇艺')\\n .replace('qq', '腾讯')\\n .replace('QQ', '腾讯')\\n .replace('芒果tv', '芒果')\\n .replace('mgtv', '芒果')\\n .replace('pptv', 'PPTV')\\n .replace('letv', '乐视')\\n .replace('sohu', '搜狐')\\n .replace('搜狐TV', '搜狐')\\n .replace('xigua', '西瓜'))\\n}\\n\\nif (集数列表 === '') {\\n var 集数列表2 = 集数列表1\\n} else {\\n var 集数列表2 = 集数列表\\n}\\n\\nif (集数标签 === '') {\\n var 集数标签2 = 集数标签1\\n} else {\\n var 集数标签2 = 集数标签\\n}\\n\\nvar conts = parseDomForArray(html, 集数列表2);\\nvar lists = [];\\nfor (var i in conts) {\\n lists.push(parseDomForArray(conts[i], 集数标签2))\\n};\\n\\n\\n\\n/*//这里定位简介\\nfunction 文本取左边(obj, 关键字) {\\n var index = obj.indexOf(关键字);\\n obj = obj.substring(0, index);\\n return obj;\\n}\\nfunction 文本取右边(obj, 关键字) {\\n var index = obj.indexOf(关键字);\\n obj = obj.substring(index + 1, obj.length);\\n return obj;\\n}\\nvar desc = parseDomForHtml(html, 定位简介).replace('[收起部分]', '').replace(/\\\\s/g, '');\\nd.push({\\n\\n title: '剧情简介:',\\n //定位图片\\n pic_url: parseDom(html, 定位封面),\\n //定位标题\\n desc: '‘‘’’简介:' + desc.substr(0, 65) + '...查看详情',\\n url: 'hiker://empty#' + desc + `@rule=js:var res = {}; var d = [];d.push({title:'影片简介:'+ MY_URL.split('hiker://empty#')[1],col_type: 'long_text'});res.data = d; setHomeResult(res);`,\\n\\n col_type: 'movie_1_vertical_pic_blur',\\n extra: {\\n gradient: true\\n }\\n});*/\\n\\n\\nvar 搜索标签 = getMyVar(MY_URL)\\nif (搜索标签 === '') {\\n var 搜索标签2 = '未获取名称'\\n} else {\\n var 搜索标签2 = 搜索标签\\n}\\n\\nvar title = 搜索标签2\\n\\nd.push({\\n title: '‘‘’’ 聚影√',\\n pic_url: 'http://image.coolapk.com//apk_logo/2022/0507/14/0_3828_7254_639@260x260.png.t.png',\\n url: 'hiker://search?s=' + title + '&rule=聚影√',\\n col_type: 'icon_small_4',\\n});\\nd.push({\\n title: '‘‘’’ 云盘君(推送)',\\n pic_url: 'http://image.coolapk.com/apk_logo/2021/0721/10/bb5c6d59a9e36159834b3f19fc749df5-285107-o_1fb3ftl3gcst1sdt1n3b1m2unjd18-uid-662435@360x360.png',\\n url: 'hiker://search?s=' + title + '&rule=云盘君(推送)',\\n col_type: 'icon_small_4',\\n});\\nd.push({\\n title: '‘‘’’ 香情影视',\\n pic_url: 'http://static.yingyonghui.com/icon/128/6863447.png',\\n url: 'hiker://search?s=' + title + '&rule=香情影视',\\n col_type: 'icon_small_4',\\n});\\nd.push({\\n title: '‘‘’’ 青豆',\\n pic_url: 'http://static.yingyonghui.com/icon/128/7000478.png',\\n url: 'hiker://search?s=' + title + '&rule=青豆',\\n col_type: 'icon_small_4',\\n});\\nfor (let i = 0; i < 10; i++) {\\n d.push({\\n col_type: \\\"blank_block\\\"\\n })\\n}\\n\\nd.push({\\n col_type: 'line'\\n});\\n\\nfor (let i = 0; i < 10; i++) {\\n d.push({\\n col_type: \\\"blank_block\\\"\\n })\\n}\\n\\n\\nvar 定位封面 = getMyVar(MY_URL + '封面')\\nif (定位封面 === '') {\\n var 定位封面2 = 'https://img1.baidu.com/it/u=3908108656,1474866560&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=888'\\n} else {\\n var 定位封面2 = 定位封面\\n}\\n\\n\\nd.push({\\n url: 定位封面2,\\n desc: '0',\\n pic_url: 定位封面2,\\n col_type: \\\"card_pic_2\\\",\\n extra: {\\n gradient: true\\n }\\n});\\n\\n\\n\\nif (定位简介 === '') {\\n var 定位简介2 = 定位简介1\\n} else {\\n var 定位简介2 = 定位简介\\n}\\n\\nvar desc = parseDomForHtml(html, 定位简介2).replace('[收起部分]', '').replace(/\\\\s/g, '');\\n\\nif (desc == '') {\\n desc = '\\\\nProfile not yet available\\\\n'\\n}\\n\\n\\n\\nd.push({\\n title: '‘‘’’Plot·\\\\n\\\\n' + desc.substr(0, 55) + '…Details',\\n url: 'hiker://empty#' + '\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t' + desc + `@rule=js:var res = {}; var d = [];d.push({title:'影片简介:'+ MY_URL.split('hiker://empty#')[1],col_type: 'long_text'});res.data = d; setHomeResult(res);`,\\n desc: '0',\\n pic_url: '',\\n col_type: \\\"card_pic_2\\\",\\n extra: {\\n gradient: true\\n }\\n});\\n\\n\\nfor (let i = 0; i < 10; i++) {\\n d.push({\\n col_type: \\\"blank_block\\\"\\n })\\n}\\nd.push({\\n col_type: 'line'\\n});\\nfor (let i = 0; i < 10; i++) {\\n d.push({\\n col_type: \\\"blank_block\\\"\\n })\\n}\\nvar obj = {\\n \\\"腾讯\\\": \\\"https://lanmeiguojiang.com/tubiao/movie/131.svg\\\",\\n \\\"优酷\\\": \\\"https://lanmeiguojiang.com/tubiao/movie/128.svg\\\",\\n \\\"奇艺\\\": \\\"https://lanmeiguojiang.com/tubiao/movie/130.svg\\\",\\n \\\"爱奇艺\\\": \\\"https://lanmeiguojiang.com/tubiao/movie/130.svg\\\",\\n \\\"芒果\\\": \\\"https://lanmeiguojiang.com/tubiao/movie/32.svg\\\",\\n \\\"咪咕\\\": \\\"https://lanmeiguojiang.com/tubiao/movie/134.svg\\\",\\n \\\"西瓜\\\": \\\"https://lanmeiguojiang.com/tubiao/movie/135.svg\\\",\\n \\\"搜狐\\\": \\\"https://lanmeiguojiang.com/tubiao/movie/129.svg\\\",\\n \\\"乐视\\\": \\\"https://lanmeiguojiang.com/tubiao/movie/58.svg\\\",\\n \\\"风行\\\": \\\"https://lanmeiguojiang.com/tubiao/movie/136.svg\\\",\\n \\\"PPTV\\\": \\\"https://lanmeiguojiang.com/tubiao/movie/133.svg\\\",\\n \\\"1905\\\": \\\"https://lanmeiguojiang.com/tubiao/movie/132.svg\\\",\\n \\\"bilibili\\\": \\\"https://lanmeiguojiang.com/tubiao/movie/20.svg\\\",\\n \\\"专线\\\": \\\"https://lanmeiguojiang.com/tubiao/movie/141.svg\\\",\\n \\\"专线2\\\": \\\"https://lanmeiguojiang.com/tubiao/movie/142.svg\\\",\\n};\\n/*\\nrequire('https://gitea.com/AI957/Hiker/raw/m/v/Route.js');\\nvar setup = setupPages(\\\"设置\\\");\\n*/\\n\\nd.push({\\n title: '‘‘’’' + 标识名称 + '',\\n url: 标识链接,\\n col_type: 'scroll_button'\\n});\\n\\nvar Color2 = \\\"#1a0c45\\\";\\n\\nfunction getHead(title) {\\n return '‘‘’’' + title + '';\\n}\\n\\n\\nfunction 所有线路(tabs, taburl) {\\n for (var i in tabs) {\\n var tabname = tabs[i];\\n d.push({\\n //title: tabname,\\n //img: obj[tabname] || \\\"https://img.mknacg.top:458/GIF 2021-04-23 23-30-31.gif\\\",\\n //col_type: 'icon_small_3',\\n title: getMyVar(taburl, '0') == i ? getHead(tabname) : tabname,\\n col_type: 'scroll_button',\\n url: $(\\\"#noLoading#\\\").lazyRule((tabname, taburl, i) => {\\n putMyVar('当前线路名', tabname);\\n putMyVar(taburl, i)\\n refreshPage(false);\\n return 'hiker://empty'\\n }, tabname, taburl, i)\\n })\\n }\\n\\n d.push({\\n col_type: 'line_blank'\\n });\\n}\\n\\nfunction 空() {\\n for (let i = 0; i < 80; i++) {\\n d.push({\\n col_type: \\\"blank_block\\\"\\n })\\n }\\n d.push({\\n title: \\\"““”” \\\" + \\\"皆空\\\" + \\\"\\\",\\n col_type: \\\"text_center_1\\\",\\n url: 'hiker://empty',\\n extra: {\\n lineVisible: false\\n }\\n })\\n}\\n\\nfunction 选集列表(lists, index) {\\n //清除变量\\n addListener('onClose', $.toString(() => {\\n clearMyVar('当前线路名');\\n clearMyVar('分集起');\\n clearMyVar('分集终');\\n }))\\n var list = lists[index];\\n // 将反序归正\\n try {\\n if (pdfh(list[0], \\\"a&&Text\\\").match(/(\\\\d+)/)[0] > pdfh(list.slice(-1)[0], \\\"a&&Text\\\").match(/(\\\\d+)/)[0]) list.reverse()\\n } catch (e) {}\\n try {\\n // 线路数大于1,或者集数大于20时,显示正反切换按钮\\n // if (tabs.length > 1 || list.length > 20) {\\n if (tabs.length > 0) {\\n var icon_s = 'http://82.156.222.77/weisyr/icon/';\\n if (getMyVar('选集排序') == '正序') {\\n var avatar = icon_s + '正序.svg'\\n } else {\\n var avatar = icon_s + '反序.svg'\\n }\\n\\n d.push({\\n // title: \\\"\\\" + tabs[index] + \\\"\\\" + \\\"\\\" + '\\\\t\\\\t-- 共 ' + list.length + ' 集' +\\n // \\\"\\\",\\n title: \\\"\\\" + tabs[index] + \\\"\\\" + \\\"\\\" + '\\\\t\\\\t〰️\\\\t\\\\t' + \\\"\\\" + \\\"\\\" + list.length + '集' + \\\"\\\",\\n img: obj[tabs[index]] || \\\"https://img.mknacg.top:458/GIF 2021-04-23 23-30-31.gif\\\",\\n url: `@lazyRule=.js:if(getMyVar('选集排序')=='正序'){putMyVar('选集排序', '反序');}else{putMyVar('选集排序', '正序')};refreshPage(false);hideLoading();'hiker://empty'`,\\n col_type: 'avatar'\\n })\\n\\n d.push({\\n col_type: 'line'\\n });\\n for (let i = 0; i < 10; i++) {\\n d.push({\\n col_type: \\\"blank_block\\\"\\n })\\n }\\n }\\n } catch (e) {\\n 空()\\n }\\n\\n\\n function 选集() {\\n var jm = pdfh(list[i], 'a&&Text').replace(/第|集|话|期/g, '').replace(/预告/g, '📢');\\n var url = parseDom(list[i], 'a&&href');\\n if (list.length < 5) {\\n var col = 'text_2'\\n } else {\\n var col = jm.length > 5 ? 'text_2' : 'text_4'\\n }\\n d.push({\\n title: jm,\\n url: url + lazy,\\n\\n\\n\\n\\n\\n\\n\\n col_type: col,\\n extra: {\\n id: url,\\n blockRules: ['.css', '.gif', '.jpg', '.jpeg', '.png', '.ico', '.svg', 'cnzz', 'google', 'xn--*:*', 'hm.baidu.com', '/ads/*.js', '.m3u8', '.mp4']\\n }\\n });\\n }\\n try {\\n // 开始页码分区 选集>设定集数10个以上才启用选集分页\\n var 选集数组 = list;\\n if (选集数组.length > (page_number + 10)) {\\n //所有集数除以每页集数,有余进整\\n var total = Math.ceil(选集数组.length / page_number);\\n var catalogue = []\\n for (let i = 0; i < total; i++) {\\n catalogue += i * page_number + ',';\\n catalogue = catalogue.split(',');\\n }\\n\\n for (let i = 0; i < 8; i++) {\\n d.push({\\n col_type: \\\"blank_block\\\"\\n })\\n }\\n //输出分页按钮\\n var 按钮 = [];\\n for (var i = 0; i < catalogue.length - 1; i++) {\\n var total1 = parseInt(catalogue[i]) + 1;\\n var total2 = parseInt(catalogue[i + 1]);\\n if (i == (catalogue.length - 2)) var total2 = 选集数组.length;\\n\\n d.push({\\n title: star == total1 ? '‘‘' + total1 + '-' + total2 + '’’' : total1 + '-' + total2,\\n url: $(\\\"#noLoading#\\\").lazyRule((total1, total2) => {\\n putMyVar('分集起', total1);\\n putMyVar('分集终', total2);\\n refreshPage(false);\\n return 'hiker://empty'\\n }, total1, total2),\\n col_type: 'scroll_button'\\n });\\n 按钮.push(total1 + '-' + total2)\\n }\\n if (getMyVar('选集排序') == '正序') {\\n for (var i = end - 1; i >= star - 1; i--) {\\n 选集()\\n }\\n } else {\\n for (var i = star - 1; i < end; i++) {\\n 选集()\\n }\\n }\\n //底部页码 \\n d.push({\\n col_type: \\\"line\\\"\\n })\\n\\n var yema = Math.ceil(end / page_number);\\n d.push({\\n title: \\\"““”” \\\" + yema + ' / ' + total + \\\" \\\",\\n col_type: \\\"text_center_1\\\",\\n url: $(\\\"#noLoading#\\\").lazyRule((按钮) => $(按钮, 3).select(_ => {\\n putMyVar('分集起', input.split('-')[0]);\\n putMyVar('分集终', input.split('-')[1]);\\n refreshPage(false);\\n return \\\"toast://载入 \\\" + input + ' 页面 .';\\n }), 按钮),\\n extra: {\\n lineVisible: false\\n }\\n })\\n\\n //底部操作按钮\\n if (底部换页 == '开启') {\\n d.push({\\n title: '首页',\\n url: $(\\\"#noLoading#\\\").lazyRule((page_number) => {\\n putMyVar('分集起', '1');\\n putMyVar('分集终', page_number);\\n refreshPage(false);\\n return 'hiker://empty'\\n }, page_number),\\n col_type: 'text_4'\\n });\\n d.push({\\n title: '上一页',\\n url: $(\\\"#noLoading#\\\").lazyRule((star, end, page_number, total, 选集数组) => {\\n var s = parseInt(star) - page_number;\\n var e = parseInt(end) - page_number;\\n if (end = 选集数组.length) var e = s + page_number - 1;\\n if (s < 1) {\\n var s = 1;\\n var e = page_number;\\n }\\n if (s > 0) {\\n putMyVar('分集起', s);\\n putMyVar('分集终', e);\\n refreshPage(false);\\n }\\n return 'hiker://empty'\\n }, star, end, page_number, total, 选集数组),\\n col_type: 'text_4'\\n });\\n d.push({\\n title: '下一页',\\n url: $(\\\"#noLoading#\\\").lazyRule((star, end, page_number, total, 选集数组) => {\\n var s = parseInt(star) + page_number;\\n var e = parseInt(end) + page_number;\\n if (e > 选集数组.length) {\\n var s = (total - 1) * page_number + 1;\\n var e = 选集数组.length;\\n }\\n putMyVar('分集起', s);\\n putMyVar('分集终', e);\\n refreshPage(false);\\n return 'hiker://empty'\\n }, star, end, page_number, total, 选集数组),\\n col_type: 'text_4'\\n });\\n d.push({\\n title: '尾页',\\n url: $(\\\"#noLoading#\\\").lazyRule((page_number, total, 选集数组) => {\\n var s = (total - 1) * page_number + 1;\\n putMyVar('分集起', s);\\n putMyVar('分集终', 选集数组.length);\\n refreshPage(false);\\n return 'hiker://empty'\\n }, page_number, total, 选集数组),\\n col_type: 'text_4'\\n });\\n }\\n } // 结束选集分页\\n else {\\n if (getMyVar('选集排序') == '正序') {\\n for (var i = list.length - 1; i >= 0; i--) {\\n 选集()\\n }\\n } else {\\n for (var i = 0; i < list.length; i++) {\\n 选集()\\n }\\n }\\n }\\n } catch (e) {\\n 空()\\n }\\n // 底部留空\\n d.push({\\n title: '\\\\n',\\n url: 'hiker://empty',\\n col_type: 'rich_text'\\n });\\n} //结束选集列表\\n\\n//🤡分页开关设置\\nvar page_number = 50;\\nlet 底部换页 = '开启'; //底部控制按钮\\ntry {\\n //至少两条线路,或者启用分页才被记录\\n if (tabs.length > 1 || lists[0].length > (page_number + 10)) {\\n function 记录足迹(线路, 页面) {\\n var history = JSON.parse(request('hiker://files//cache/顺_记录线路和页码.json') || '[]');\\n var t = history.findIndex(item => item.小程序 == MY_RULE.title);\\n if (t == -1) {\\n t = history.length;\\n history.push({\\n 小程序: MY_RULE.title,\\n 足迹: []\\n })\\n }\\n var y = history[t].足迹.findIndex(item => item.url == MY_URL);\\n if (y == -1) {\\n history[t].足迹.push({\\n url: MY_URL,\\n tab: 线路,\\n index: 页面\\n });\\n } else {\\n history[t].足迹[y].tab = 线路;\\n history[t].足迹[y].index = 页面;\\n }\\n if (history[t].足迹.length >= 999) {\\n history[t].足迹.splice(0, 1);\\n }\\n writeFile(\\\"hiker://files//cache/顺_记录线路和页码.json\\\", JSON.stringify(history, null, 2));\\n }\\n //读写足迹\\n var historyA = JSON.parse(fetch('hiker://files//cache/顺_记录线路和页码.json') || '[]');\\n var historyIT = historyA.find(item => item.小程序 == MY_RULE.title);\\n if (historyIT) { //判断当前小程序\\n historyIT = historyIT.足迹.find(it => it.url == MY_URL);\\n if (historyIT) { //判断当前片子记录\\n var itemA = historyIT.tab;\\n var itemP = historyIT.index;\\n if (getMyVar('分集起') == \\\"\\\") {\\n var star = itemP.split('-')[0];\\n var end = itemP.split('-')[1];\\n if (itemP == 'undefined-undefined' || itemP == '-') {\\n star = '1';\\n end = page_number;\\n }\\n }\\n if (getMyVar('当前线路名') == \\\"\\\") {\\n var 选中线路 = itemA || '0';\\n }\\n if (getMyVar('分集起') != \\\"\\\") {\\n var star = getMyVar('分集起');\\n var end = getMyVar('分集终');\\n var 选中线路 = itemA || '0';\\n 记录足迹(选中线路, star + '-' + end)\\n }\\n if (getMyVar('当前线路名') != \\\"\\\") {\\n var star = getMyVar('分集起', '1');\\n var end = getMyVar('分集终', JSON.stringify(page_number));\\n var 选中线路 = getMyVar(MY_URL);\\n 记录足迹(选中线路, star + '-' + end)\\n }\\n } else { //如果片子没有记录\\n var star = 1;\\n var end = page_number;\\n var 选中线路 = '0';\\n 记录足迹('0', \\\"1\\\" + '-' + page_number)\\n }\\n } else { //如果小程序没有记录\\n var star = 1;\\n var end = page_number;\\n var 选中线路 = '0';\\n 记录足迹('0', \\\"1\\\" + '-' + page_number)\\n }\\n } else {\\n var 选中线路 = '0';\\n }\\n} catch (e) {\\n 空()\\n}\\n所有线路(tabs, MY_URL);\\n选集列表(lists, 选中线路);\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"D.x5rule嗅探\",\"path\":\"lazy1\",\"rule\":\"var lazy = $('').lazyRule(() => {\\nfunction x5rule(jiexurl, srcurl) {\\n\\n showLoading(\\\"链接检索中,请稍候...\\\");\\n var video = 'webRule://' + jiexurl + '@' + $.toString((srcurl) => {\\n //fba.log(fba.getUrls());\\n var urls = _getUrls();\\n if (window.count == null || window.count == undefined) {\\n window.count = 0\\n }\\n if (window.count >= 23) {\\n return srcurl\\n }\\n window.count = window.count + 1;\\n if (window.count > 1 && window.count <= 3 && window.count != null && window.count != undefined) {\\n if (document.querySelector('body').innerText.search(/触发了防盗链|未授权|接口防盗|请到主站观看/) != -1) {\\n if (!srcurl) {\\n \\tfba.log('尝试跳防盗验证一');\\n location.href = location.href;\\n } else {\\n \\tfba.log('尝试跳防盗验证二');\\n location.href = srcurl\\n }\\n };\\n } else if(window.count > 3 && window.count != null && window.count != undefined){\\n if (urls.length < 1) {\\n fba.hideLoading();\\n return 'toast://检索失败,可能链接无法访问。';\\n } else if (urls.length == 1) {\\n fba.log('尝试直链与JSON解析');\\n if (urls[0].match(/dycdn\\\\-tos\\\\.pstatp|\\\\.m3u8|\\\\.mp4|\\\\.flv|netease\\\\.com|video_mp4|type\\\\=m3u8|pt\\\\=m3u8/) && !urls[0].match(/\\\\.html|m3u8\\\\.tv|\\\\&next|ac\\\\=dm|\\\\=http|https\\\\:\\\\/\\\\/[\\\\d]\\\\.m3u8|\\\\?url\\\\=\\\\/m3u8/)) {\\n //fy_bridge_app.log(urls[0])\\n if (urls[0].indexOf('bilivideo') != -1) {\\n return urls[0] + ';{Referer@https://www.bilibili.com&&User-Agent@Mozilla/5.0}';\\n } else if (urls[0].indexOf('titan.mgtv.com') != -1) {\\n return urls[0] + '#isVideo=true#' + ';{Referer@www.mgtv.com&&User-Agent@Mozilla/5.0}';\\n } else {\\n return urls[0]\\n };\\n } else if (location.href.match(/dycdn\\\\-tos\\\\.pstatp|\\\\.m3u8|\\\\.mp4|\\\\.flv|netease\\\\.com|video_mp4|type\\\\=m3u8|pt\\\\=m3u8/) && !location.href.match(/html|m3u8\\\\.tv|\\\\&next|ac\\\\=dm|\\\\=http|https\\\\:\\\\/\\\\/[\\\\d]\\\\.m3u8|\\\\?url\\\\=\\\\/m3u8/)) {\\n return location.href;\\n } else {\\n var html = fba.fetch(location.href, {});\\n if (!/\\\\ {\\n var urls = _getUrls()\\n function check(u){\\n if (u.match(/\\\\.m3u8/) && !u.match(/html|m3u8\\\\.tv|\\\\&next|ac\\\\=dm|\\\\=http|https\\\\:\\\\/\\\\/[\\\\d]\\\\.m3u8|\\\\?url\\\\=\\\\/m3u8/)){\\n return true;\\n }\\n return false;\\n }\\n for (var i in urls) {\\n if (check(urls[i])){\\n return urls[i]\\n }\\n if(urls[i].includes(\\\"url=http\\\")){\\n let u = urls[i].split(\\\"url=\\\")[1];\\n if(check(u)){\\n return u;\\n }\\n }\\n }\\n}))\\nvar lazy = \\\"@lazyRule=.js:showLoading('正在嗅探中,请稍后...');'x5Rule://'+input+'@' + getVar('_x5')\\\";\"},{\"col_type\":\"movie_3\",\"name\":\"#搜索框架\",\"path\":\"SearchFrame\",\"rule\":\"var d = [];\\nvar list = parseDomForArray(getResCode(), 一级列表);\\nlog('搜索结果')\\nlog(list)\\nif (list.length == 0) throw \\\"搜索为空,可能匹配错误\\\"\\nfor (var j in list) {\\n\\n var 链接 = parseDom(list[j], 一级链接)\\n var 标题 = parseDomForHtml(list[j], 一级标题)\\n var 封面 = parseDom(list[j], 一级图片)\\n\\n putMyVar(链接, 标题)\\n putMyVar(链接 + '封面', 封面)\\n\\n d.push({\\n title: parseDomForHtml(list[j], 一级标题),\\n desc: parseDomForHtml(list[j], 一级描述),\\n\\t content: parseDomForHtml(list[j], 一级状态),\\n img: parseDom(list[j], 一级图片),\\n url: parseDom(list[j], 一级链接)\\n });\\n}\\nsetResult(d)\"},{\"col_type\":\"movie_3\",\"name\":\"#方法归档\",\"path\":\"archives\",\"rule\":\"js:var d = [];\\n// 一级模板,需要用时才过来复制\\nrequire('hiker://page/auto')\\nautoPage(getResCode())\\nsetResult(d)\\n\\n🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️\\njs:var d = [];\\n// 一级模板,不启用动态分类,手动填写参数·需要用时才过来复制\\nvar 一级列表 = ''\\nvar 一级标题 = ''\\nvar 一级描述 = ''\\nvar 一级图片 = ''\\nvar 一级链接 = 'a&&href'\\n\\nMY_URL = MY_URL.replace('hiker://empty##', '')\\nvar html = fetch(MY_URL, {headers: {'User-Agent': MOBILE_UA /*PC_UA*/}})\\n\\neval(JSON.parse(fetch('hiker://page/PrimaryTemplate', {})).rule);\\nsetResult(d)\\n\\n🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️\\njs:var d = [];\\n// 一级模板,启用动态分类·需要用时才过来复制,部分参数需要调整\\n\\nconst 一级定位 = 'body&&a'\\nconst 二级定位 = ''\\nconst 统一定位 = 'body&&a:not(:matches(首页|APP))'\\n\\nconst page = MY_PAGE\\nMY_URL = MY_URL.replace('hiker://empty##', '')\\nlet true_url = getVar(MY_RULE.url, MY_URL)\\n\\nif (getVar(MY_RULE.url)) {\\n true_url = true_url.replace('.html', '/page/' + page + '.html')\\n //log(true_url)\\n}\\n\\nvar html = fetch(true_url, {headers: {'User-Agent': MOBILE_UA /*PC_UA*/}})\\n\\n\\nrequire('hiker://page/dtfl')\\nrequire('hiker://page/auto')\\nautoPage(html)\\nsetResult(d)\\n\\n🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️\\n🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️\\njs:var d = [];\\n// 二级模板,需要用时才过来复制\\nrequire('hiker://page/auto')\\nautoPage(getResCode())\\nsetResult(d)\\n\\n🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️\\njs:\\n// 二级模板·手动填写参数,需要用时才过来复制\\n//var lazy = '';\\nvar 搜索标签 = '';\\nvar 线路列表 = '';\\nvar 线路标签 = '';\\nvar 集数列表 = '';\\nvar 集数标签 = '';\\nvar 定位简介 = '';\\n\\nrequire(\\\"hiker://page/lazy\\\");\\neval(JSON.parse(fetch('hiker://page/SecondaryTemplate', {})).rule);\\n\\n🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️\\njs:\\n// 二级模板·需要用时才过来复制,如果进入二级发现错误.可直接修改参数\\n// 列·var 定位简介 = 'a&&Text';\\n\\n//var lazy = '';\\n\\nvar 搜索标签 = '';\\nvar 线路列表 = '';\\nvar 线路标签 = '';\\nvar 集数列表 = '';\\nvar 集数标签 = '';\\nvar 定位简介 = '';\\n\\n\\nvar html = fetch(MY_URL, {\\n headers: {\\n 'User-Agent': PC_UA//MOBILE_UA\\n }\\n})\\nrequire(\\\"hiker://page/auto\\\");\\nrequire(\\\"hiker://page/lazy\\\");\\n//require(\\\"hiker://page/lazy1\\\");\\nautoPage(html)\\n\\n🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️🎟️\"},{\"col_type\":\"movie_3\",\"name\":\"DD.链接工具\",\"path\":\"hiker://files/rules/js/UrlProcessor.js\",\"rule\":\"/**\\n * 本地网页插件链接 hiker://files/rules/js/UrlProcessor.js\\n * 子页面链接 hiker://page/url-processor\\n * 道长仓库链接 http://hiker.nokia.press/hikerule/rulelist.json?id=2849\\n * 码云 Gitee 链接 https://gitee.com/reborn0/HikerRules/raw/master/plugins/UrlProcessor.js\\n */\\nfunction UrlProcessor() {\\n this.params = {}\\n this.regexMap = [\\n {\\n reg: 'vodtype\\\\\\\\/(\\\\\\\\d+)',\\n exec: () => {\\n return this.params.url\\n .replace(/vodtype(\\\\/\\\\d+)\\\\.html/, 'vodshow$1-----------.html')\\n .replace(/\\\\d*(---\\\\d*(\\\\.html|\\\\/))/, this.params.page + '$1')\\n }\\n },\\n {\\n reg: 'type\\\\\\\\/\\\\\\\\w+',\\n exec: () => {\\n return this.params.url\\n .replace(/type(\\\\/\\\\w+)\\\\//, 'show$1-----------/')\\n .replace(/\\\\d*(---\\\\d*(\\\\.html|\\\\/))/, this.params.page + '$1')\\n }\\n },\\n {\\n reg: '(vodtype|videot)\\\\\\\\/\\\\\\\\w+',\\n exec: () => {\\n return this.params.url\\n .replace(/-\\\\d+\\\\.html/, '-' + this.params.page + '.html')\\n .replace(/((vodtype|videot)\\\\/\\\\w+)\\\\.html/, '$1-' + this.params.page + '.html')\\n }\\n },\\n {\\n reg: '\\\\\\\\/?[\\\\\\\\w\\\\\\\\d]+-.*?-.*?-.*?-.*?-.*?-.*?-.*?-\\\\\\\\d*---\\\\\\\\d*(\\\\\\\\.html|\\\\\\\\/)',\\n exec: () => {\\n return this.params.url\\n .replace(/\\\\d*(---\\\\d*(\\\\.html|\\\\/))/, this.params.page + '$1') // 拼接页码\\n }\\n },\\n {\\n reg: '((\\\\\\\\/vod\\\\\\\\/show)?(\\\\\\\\/area\\\\\\\\/[\\\\\\\\w\\\\\\\\d%]+)?(\\\\\\\\/by\\\\\\\\/[\\\\\\\\w\\\\\\\\d%]+)?(\\\\\\\\/id\\\\\\\\/\\\\\\\\d+)?(\\\\\\\\/letter\\\\\\\\/[\\\\\\\\w\\\\\\\\d%]+)?)(\\\\\\\\/page\\\\\\\\/\\\\\\\\d+)?(\\\\\\\\/year\\\\\\\\/\\\\\\\\d+)?\\\\\\\\.html',\\n exec: () => {\\n let regExp = /((\\\\/vod\\\\/show)?(\\\\/area\\\\/[\\\\w\\\\d%]+)?(\\\\/by\\\\/[\\\\w\\\\d%]+)?(\\\\/id\\\\/\\\\d+)?(\\\\/letter\\\\/[\\\\w\\\\d%]+)?)(\\\\/page\\\\/\\\\d+)?(\\\\/year\\\\/\\\\d+)?\\\\.html/\\n return this.params.url\\n .replace(regExp, '$1' + (\\\"/page/\\\" + this.params.page) + '$8' + \\\".html\\\")\\n }\\n }\\n ]\\n}\\n\\nObject.assign(UrlProcessor.prototype, {\\n constructor: UrlProcessor,\\n checkParams() {\\n if (!this.params.url) {\\n throw new Error(\\\"请先调用 .baseUrl(url) 传入链接进行初始化!\\\")\\n }\\n if (!this.params.page) {\\n throw new Error(\\\"请先调用 .page(page) 传入页码进行初始化!\\\")\\n }\\n },\\n baseUrl(url){\\n this.params.url = url\\n return this\\n },\\n page(page){\\n this.params.page = page\\n return this\\n },\\n addExtra(regExp) {\\n if (regExp.constructor === Array) {\\n this.regexMap = this.regexMap.concat(regExp)\\n } else {\\n this.regexMap.push(regExp)\\n }\\n return this;\\n },\\n debug() {\\n this.params.debug = true\\n return this;\\n },\\n exec() {\\n this.checkParams()\\n let true_url = ''\\n for (let i = 0; i < this.regexMap.length; i++) {\\n let regObj = this.regexMap[i];\\n let urlExp = regObj.reg;\\n if (typeof urlExp === 'string') {\\n urlExp = new RegExp(urlExp)\\n }\\n if (urlExp.test(this.params.url)) {\\n if (this.params.debug) {\\n log(urlExp.toString())\\n }\\n true_url = regObj.exec();\\n break;\\n }\\n }\\n if (true_url) {\\n return true_url;\\n } else {\\n return this.params.url\\n }\\n },\\n 获取处理结果() {\\n return this.exec()\\n },\\n 链接(url) {\\n return this.baseUrl(url)\\n },\\n 页码(page) {\\n return this.page(page)\\n },\\n 插入新处理规则(regExp) {\\n return this.addExtra(regExp)\\n },\\n 调试模式() {\\n return this.debug();\\n }\\n})\\n$.exports=new UrlProcessor()\\n$.exports\"},{\"col_type\":\"movie_3\",\"name\":\"AA.一级index-area🆘\",\"path\":\"index-area\",\"rule\":\"var 一级列表 = '.index-area&&li'\\nvar 一级标题 = 'a&&title'\\nvar 一级描述 = 'other&&Text'\\nvar 一级图片 = 'img&&data-original'\\nvar 一级链接 = 'a&&href'\\n\\neval(JSON.parse(fetch('hiker://page/PrimaryTemplate', {})).rule);\"},{\"col_type\":\"movie_3\",\"name\":\"BB.二级playfrom🆘\",\"path\":\"playfrom\",\"rule\":\"var 线路列表1 = 'body&&.playfrom&&li';//arts\\nvar 线路标签1 = 'Text';\\nvar 集数列表1 = 'body&&.videourl';//conts\\nvar 集数标签1 = 'ul&&li';\\nvar 定位简介1 = '.ct&&.ee&&Text';\\n\\neval(JSON.parse(fetch('hiker://page/SecondaryTemplate', {})).rule);\\n\\n\"}]","proxy":"","icon":"http://www.20hjw.com/statics/img/favicon.ico"},{"last_chapter_rule":"","title":"辣椒影视","author":"R","version":20230927,"type":"video","url":"hiker://empty##https://www.wllajiaojiang.com/index.php/vod/type/id/33/page/fypage.html","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\naddListener(\"onClose\", $.toString(() => {\n let keys = listMyVarKeys();\n for (let it of keys) {\n clearMyVar(it);\n }\n}));\nvar getRangeColors = function() {       \n return '#' + ('00000' + (Math.random() * 0x1000000 << 0).toString(16)).substr(-6);     \n}\nconst 下一页 = \"pd(html, 'a:matches(下一页)&&href')\";\nconst page = MY_PAGE;\neval(JSON.parse(request('hiker://page/yi')).rule)\n\nvar 定位信息 = [{\n 大类定位: '.afc1',\n 小类: 'body&&a:not(:matches(首页|资讯|APP|专题|社群|热搜|留言|福利|下载|新版|解析))',\n 链接处理: (u) => {\n let url = u.replace(/type(\\/\\w+)\\.html/, 'show$1-----------.html');\n return url\n }\n}, {\n 一级定位: ':not(:has(:matches(分类)))||.leo-mod-title.leo-pl-20',\n\n}]\n\n\nMY_URL = MY_URL.replace('hiker://empty##', '')\nlet true_url = getTruelink(MY_RULE.url, MY_URL, page);\nlog(true_url)\n\nvar html = request(true_url)\nconst dc = dynamicClass({\n 分类颜色: getRangeColors()\n});\ndc.开启折叠()\ndc.开启搜索()\ndc.创建动态分类(定位信息)\n\nvar parseRule = {\n list: '.c2_list&&li', //统一item\n title: 'a&&title',\n desc: '.tc_wz&&Text',\n img: '.tc_img&&data-original',\n url: 'a&&href',\n ref: '@Referer=',\n imt: true,\n //backimg: true,\n}\n\nCreate.List(d, html, parseRule);\nautoPage();\n\nsetResult(d)","searchFind":"js:\nvar items = [];\nvar html = getResCode();\n\n //log(html)\nif (html.indexOf('验证码') > 0) {\n items.push({\n title: '本次搜索需要输入验证码验证成功后返回下拉刷新',\n url: $('hiker://empty').rule(() => {\n var items = [];\n //var cok = fetch('hiker://files/cache/JW_siguCookie.txt', {});\n var cok = JSON.parse(fetchCookie('https://siguyy.cc/index.php/verify/index.html?r=' + Math.random(), {\n headers: {\n 'X-Requested-With': 'XMLHttpRequest',\n 'User-Agent': MOBILE_UA\n },\n method: 'GET',\n withHeaders: true\n })).join(';');\n //log(cok);\n var img = 'https://siguyy.cc/index.php/verify/index.html?r=' + Math.random() + '@User-Agent=' + MOBILE_UA + '@Cookie=' + cok;\n items.push({\n pic_url: img,\n url: $('').lazyRule(() => {\n return refreshPage();\n }),\n desc: '0',\n col_type: 'pic_1_full'\n });\n\n items.push({\n title: '',\n url: \"'toast://你输入的是' + input\",\n extra: {\n onChange: \"putVar('ss验证码',input)\",\n titleVisible: false\n },\n col_type: 'input'\n });\n\n items.push({\n title: '发送',\n url: $('').lazyRule((cok) => {\n var cod = getVar('ss验证码');\n var json = JSON.parse(fetch('https://siguyy.cc/index.php/ajax/verify_check?type=search&verify=' + cod, {\n headers: {\n 'X-Requested-With': 'XMLHttpRequest',\n 'User-Agent': MOBILE_UA,\n 'Cookie': cok\n },\n body: '',\n method: 'POST'\n }));\n if (json.code == 1) {\n writeFile('hiker://files/cache/JW_siguCookie.txt', cok);\n back(true);\n return \"toast://验证成功。\"\n } else {\n //refreshPage();\n return \"toast://验证失败,请重试!\"\n }\n\n }, cok),\n col_type: 'text_2'\n });\n setHomeResult({\n data: items\n });\n }),\n col_type: 'text_1'\n });\n} else {\n var list = pdfa(html, 'body&&.reusltbox');\n for (var i = 0; i < list.length; i++) {\n var L = list[i];\n var title = parseDomForHtml(L, '.result_title&&Text');\n var img = parseDom(L, '.lazyload&&data-original') + '@Referer=';\n var url = parseDom(L, 'a&&href') + \"#immersiveTheme#\";\n var desc = parseDomForHtml(L, '.hidden-mobile&&Text');\n var cont = parseDomForHtml(L, '.reusltbox_info:contains(简介)&&Text');\n items.push({\n title: title,\n img: img,\n url: url,\n desc: desc,\n content: cont,\n extra: {\n title: title,\n img: img,\n }\n });\n }\n}\nsetSearchResult({\n data: items\n});","search_url":"https://www.wllajiaojiang.com/index.php/vod/search/page/fypage/wd/**.html","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar res = {};\nvar d = [];\nMY_URL=MY_URL.replace('hiker://empty##','');\nvar html = fetch(MY_URL);\nconst Color = \"#11999e\";\n\nvar title = pdfh(html, 'h1&&Text');\nvar des_desc = pdfh(html, '.fa:contains(简介)&&Text').replace('展开全部', '').replace('简介:', '').replace(' ', '').replace('bbb', '').replace('ccc', '').replace('eee', '');\n//二级新样式by顺承天意(已封装断插,变量名lazy)\nconst hd = require(\"http://hiker.nokia.press/hikerule/rulelist.json?id=2968&v=1\");\nhd(d, {\n //显示的白色大字\n 大字: title,\n //片名搜索用\n 片名: title,\n //图片一定不要加Referer\n 图片: pd(html, '.lazyload&&data-original'),\n //描述里用
换行\n 描述: pdfh(html, 'body&&.col33,0&&Text').substring(0, 18) + '
' + pdfh(html, 'body&&.col33,1&&Text').substring(0, 18) + '
' + pdfh(html, 'body&&.col33,4&&Text').substring(0, 18) + '
简介: ' + des_desc,\n});\n\nvar tabs = pdfa(html, 'body&&.playlist-tab&&a'); //线路\nvar conts = pdfa(html, 'body&&.con_c2_list'); //选集\n\neval(JSON.parse(fetch('hiker://page/lazy', {})).rule);\n\n\nfor (var i = 0; i < conts.length; i++) {\n var icon_s = 'https://ghproxy.com/https://raw.githubusercontent.com/ls125781003/tubiao/main/messy/';\n if (getVar('shsort', '1') == '1') {\n var list = parseDomForArray(conts[i], 'body&&a');\n var avatar = icon_s + '129.svg'\n } else {\n var list = parseDomForArray(conts[i], 'ul&&li').reverse();\n var avatar = icon_s + '132.svg'\n }\n var line = pdfh(tabs[i], 'a&&Text').replace('-官方', '').replace('备用资源', '');\n\n if (list != null) {\n d.push({\n title: '' + line + '' + '\\t\\t' + '' + (i + 1) + '/' + conts.length + ' ',\n url: \"hiker://empty@lazyRule=.js:putVar('shsort', getVar('shsort','1')=='1'?'0':'1');refreshPage();'hiker://empty'\",\n col_type: 'avatar',\n img: avatar\n });\n\n for (var j = 0; j < list.length; j++) {\n var jm = pdfh(list[j], 'a&&Text').replace(/第|集|话|期/g, '').replace(/预告/g, '📢');\n var url = pd(list[j], 'a&&href');\n if (list.length <= 2) {\n var col = 'text_2'\n } else {\n var col = jm.length > 4 ? 'text_2' : 'text_4'\n }\n d.push({\n title: jm,\n url: url + lazy,\n col_type: col,\n extra: {\n id: url,\n blockRules: [\n \".jpg\",\n \".jpeg\",\n \".png\",\n \".mp4\",\n \".m3u8\",\n \".gif\"\n ]\n }\n });\n }\n }\n}\nres.data = d;\nsetHomeResult(res);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"一级分类列表\",\"path\":\"yi\",\"rule\":\"js:\\n/*\\n一级封装 \\n动态分类 列表创建 自动下一页\\nver 20230710 1.0\\n*/\\nfunction dynamicClass(options) {\\n const obj = {\\n //默认值\\n layout: \\\"undefined\\\",\\n html: \\\"empty\\\",\\n page: 0,\\n 分类颜色: \\\"#FA7298\\\",\\n 折叠: \\\"““””\\\" + \\\"∨\\\".fontcolor(\\\"#1aad19\\\") + \\\"\\\",\\n 展开: \\\"““””\\\" + \\\"∧\\\".fontcolor(\\\"#FF0000\\\") + \\\"\\\",\\n open: true,\\n state: MY_RULE.url,\\n search: false,\\n clears: [],\\n clearall: [\\\"yi_firstpage\\\"],\\n debug: false,\\n\\n 预设(param) {\\n if(param==undefined){\\n param=[];\\n }\\n Object.keys(param).forEach((property) => {\\n // 对每个属性名执行操作\\n const value = param[property]; // 获取属性值\\n // 在这里执行您的操作\\n this[property] = value;\\n if (this.debug) {\\n console.log(property + \\\":\\\" + value);\\n }\\n });\\n },\\n evalJSRule(item, jsRule) {\\n let rule = jsRule.replace(\\\"@js:\\\", \\\"\\\");\\n rule = rule.trim();\\n //log($.stringify(rule))\\n let input = item;\\n if (rule.startsWith(\\\"(\\\")) {\\n eval(\\\"result = \\\" + rule);\\n } else {\\n /**\\n * 还原成 $.toString(...) 的最终结果,达到最终处理方式跟上面的 if 一致的目的\\n */\\n eval(\\\"result = \\\" + \\\"(() => {\\\" + rule + \\\"})()\\\");\\n }\\n return result || \\\"\\\";\\n },\\n getTitle(src, category) {\\n let title = \\\"\\\";\\n let titleRule = category || \\\"a&&Text\\\";\\n if (titleRule.startsWith(\\\"@js:\\\")) {\\n title = this.evalJSRule(src, titleRule);\\n } else {\\n title = parseDomForHtml(src, titleRule);\\n }\\n return title || \\\"\\\";\\n },\\n getUrl(src, category) {\\n let url = \\\"\\\";\\n let urlRule = category.链接 || \\\"a&&href\\\";\\n if (urlRule.startsWith(\\\"@js:\\\")) {\\n url = this.evalJSRule(src, urlRule);\\n } else {\\n url = pd(src, urlRule);\\n }\\n if (typeof category.链接处理 == \\\"function\\\") {\\n url = category.链接处理(url);\\n }\\n return url || \\\"\\\";\\n },\\n isNull(param) {\\n if (param == null) {\\n return this;\\n }\\n return false;\\n },\\n isBoolean(variable) {\\n if (typeof variable !== \\\"boolean\\\") {\\n throw new Error(\\\"开启折叠请传入布尔值\\\");\\n }\\n },\\n 清除(list) {\\n if (this.isNull(list)) {\\n return this;\\n }\\n if (list.constructor == String) {\\n throw new Error(\\\"清除报错:请传列表\\\");\\n }\\n this.clears = list;\\n return this;\\n },\\n 全清(list) {\\n if (this.isNull(list)) {\\n return this;\\n }\\n var c = this.clearall;\\n list = c.concat(list);\\n this.clearall = list;\\n return this;\\n },\\n 源码(input) {\\n this.html = input;\\n return this;\\n },\\n 界面(input) {\\n this.layout = input;\\n return this;\\n },\\n 页码(input) {\\n this.page = input;\\n return this;\\n },\\n 状态(input) {\\n this.state = input;\\n return this;\\n },\\n 开启搜索() {\\n this.search = true;\\n return this;\\n },\\n 开启折叠(input) {\\n if (input == undefined) {\\n input = true;\\n }\\n this.isBoolean(input);\\n this.open = input;\\n return this;\\n },\\n setTitle(k, i, t) {\\n return k == i ? \\\"““””\\\" + t.fontcolor(this.分类颜色) : t;\\n },\\n action(obj) {\\n return [\\n {\\n title: \\\"清除状态\\\",\\n js: $.toString((obj) => {\\n log(obj);\\n clearMyVar(obj.state);\\n clearMyVar(\\\"head.cate\\\");\\n obj.all.forEach((item) => {\\n clearMyVar(item);\\n });\\n obj.cl.forEach((item) => {\\n clearMyVar(item);\\n });\\n refreshPage();\\n }, obj),\\n },\\n ];\\n },\\n checkParam() {\\n var obj = {};\\n if (this.page == 0 && typeof page == \\\"undefined\\\") {\\n throw new Error(\\\"请传入页码\\\");\\n } else {\\n if (typeof page == \\\"undefined\\\") {\\n obj[\\\"页码\\\"] = this.page;\\n } else {\\n obj[\\\"页码\\\"] = page;\\n }\\n }\\n if (this.html == \\\"empty\\\" && typeof html == \\\"undefined\\\") {\\n throw new Error(\\\"请传入源码\\\");\\n } else {\\n if (typeof html == \\\"undefined\\\") {\\n obj[\\\"源码\\\"] = this.html;\\n } else {\\n obj[\\\"源码\\\"] = html;\\n }\\n }\\n if (this.layout == \\\"undefined\\\" && typeof d == \\\"undefined\\\") {\\n throw new Error(\\\"请传入界面\\\");\\n } else {\\n if (typeof d == \\\"undefined\\\") {\\n obj[\\\"界面\\\"] = this.layout;\\n } else {\\n obj[\\\"界面\\\"] = d;\\n }\\n }\\n return obj;\\n },\\n 创建动态分类(ruleObj) {\\n if (ruleObj == undefined) {\\n ruleObj = [];\\n }\\n //初始化变量开始\\n const param = this.checkParam();\\n const page = param.页码;\\n const html = param.源码;\\n const d = param.界面;\\n const 状态 = this.state;\\n const search = this.search;\\n const empty = \\\"hiker://empty\\\";\\n const 折叠状态 = this.open;\\n var 展开 = this.展开;\\n var 折叠 = this.折叠;\\n var 全清 = this.clearall;\\n var 清除 = this.clears;\\n //初始化变量结束\\n let init_cate = new Array(20).fill(\\\"0\\\");\\n const fold = getMyVar(MY_RULE.group, \\\"0\\\");\\n const cate_temp = JSON.parse(\\n getMyVar(\\\"head.cate\\\", JSON.stringify(init_cate))\\n );\\n if (search && page == 1) {\\n d.push({\\n title: \\\"\\\",\\n url: \\\"'hiker://search?rule=\\\" + MY_RULE.title + \\\"&s='+input\\\",\\n desc: \\\"搜索关键词\\\",\\n col_type: \\\"input\\\",\\n extra: {\\n defaultValue: getMyVar(\\\"keyword\\\", \\\"\\\"),\\n onChange: $.toString(() => {\\n putMyVar(\\\"keyword\\\", input);\\n }),\\n },\\n });\\n }\\n const categories = [];\\n ruleObj.forEach((x) => {\\n var list = [];\\n if(x.一级定位){\\n if (x.一级定位.startsWith(\\\"@js:\\\")) {\\n list = this.evalJSRule(html, x.一级定位);\\n } else {\\n list = pdfa(html, x.一级定位);\\n }\\n }\\n if(x.大类定位){\\n if (x.大类定位.startsWith(\\\"@js:\\\")) {\\n list = this.evalJSRule(html, x.大类定位);\\n } else {\\n list = [pdfa(html, x.大类定位).join('\\\\n')];\\n }\\n }\\n var 一级 = list.map((s) => {\\n var slist = [];\\n if (!(\\\"小类\\\" in x)) {\\n x.小类 = \\\"body&&a:not(:matches(首页)):not(a:not([href]))\\\";\\n }\\n if (x.小类.startsWith(\\\"@js:\\\")) {\\n slist = this.evalJSRule(s, x.小类);\\n } else {\\n slist = pdfa(s, x.小类);\\n }\\n var 定位 = slist.map((item) => {\\n var title = this.getTitle(item, x.标题);\\n var url = this.getUrl(item, x);\\n var obj = { title: title, url: url };\\n return JSON.stringify(obj);\\n });\\n return 定位;\\n });\\n //log(一级)\\n //log(一级.length)\\n if (一级.length == 1) {\\n categories.push(一级.join(\\\"\\\\n\\\"));\\n } else {\\n 一级.forEach((item) => {\\n categories.push(item.join(\\\",\\\"));\\n });\\n }\\n //log(categories)\\n });\\n if (折叠状态) {\\n if (page == 1) {\\n d.push({\\n title: fold === \\\"1\\\" ? 折叠 : 展开,\\n url: $(\\\"#noLoading#\\\").lazyRule(\\n (fold, u, all) => {\\n putMyVar(MY_RULE.group, fold === \\\"1\\\" ? \\\"0\\\" : \\\"1\\\");\\n /*all.forEach((item) => {\\n clearMyVar(item);\\n });*/\\n refreshPage(false);\\n return \\\"hiker://empty\\\";\\n },\\n fold,\\n 状态,\\n 全清\\n ),\\n col_type: \\\"scroll_button\\\",\\n extra: {\\n longClick: this.action({\\n state: 状态,\\n all: 全清,\\n cl: 清除,\\n }),\\n },\\n });\\n }\\n }\\n if (page == 1) {\\n categories.forEach((category, index) => {\\n //log(categories)\\n let sub_categories = [];\\n /*if (小类定位.includes(\\\";\\\")) {\\n sub_categories = pdfa(category, 小类定位.split(\\\";\\\")[0]);\\n if (sub_categories.length == 0) {\\n sub_categories = pdfa(category, 小类定位.split(\\\";\\\")[1]);\\n }\\n } else {*/\\n //log(index)\\n sub_categories = JSON.parse(`[${category}]`);\\n // sub_categories = pdfa(category, 小类定位);\\n //}\\n if (index === 0) {\\n sub_categories.forEach((item, key) => {\\n\\n //let title = pdfh(item, _大类标题);\\n let title = item.title;\\n if (typeof 排除 != \\\"undefined\\\" && 排除 != \\\"\\\") {\\n title = title.replace(newRegExp(排除, \\\"g\\\"), \\\"\\\");\\n }\\n let json=''\\n json = item.url;\\n \\n let params = {\\n cate_temp: cate_temp,\\n key: key,\\n page: page,\\n clears: 清除,\\n json: json,\\n state: 状态,\\n allclears: 全清,\\n };\\n\\n //let url = pd(item, _大类链接);\\n let url = item.url;\\n /*if (大类处理) {\\n url = 一级分类处理(url);\\n }*/\\n //log(url)\\n d.push({\\n title: this.setTitle(key.toString(), cate_temp[index], title),\\n col_type: \\\"scroll_button\\\",\\n url: $(\\\"hiker://empty#noLoading#\\\").lazyRule((params) => {\\n let new_cate = [];\\n params.clears.forEach((item) => {\\n clearMyVar(item);\\n });\\n params.allclears.forEach((item) => {\\n clearMyVar(item);\\n });\\n\\n params.cate_temp.forEach((cate, index) => {\\n new_cate.push(index === 0 ? params.key.toString() : \\\"0\\\");\\n });\\n putMyVar(\\\"head.cate\\\", JSON.stringify(new_cate));\\n if (params.json.constructor === Object) {\\n putMyVar(\\\"dt_\\\" + params.json.type, params.json.value);\\n } else {\\n putMyVar(params.state, params.json);\\n }\\n refreshPage(true);\\n return \\\"hiker://empty\\\";\\n }, params),\\n });\\n });\\n d.push({\\n col_type: \\\"blank_block\\\",\\n });\\n } else if (fold === \\\"1\\\" || 折叠状态 == false) {\\n sub_categories.forEach((item, key) => {\\n var extrapos = false;\\n /*if (item.includes('type=\\\"@extra\\\"')) {\\n extrapos = true;\\n //log('附加定位')\\n }*/\\n\\n if (extrapos) {\\n var title = pdfh(item, \\\"a&&Text\\\");\\n if (typeof 排除 != \\\"undefined\\\" && 排除 != \\\"\\\") {\\n title = title.replace(new RegExp(排除, \\\"g\\\"), \\\"\\\");\\n }\\n var json = {\\n type: pdfh(item, \\\"a&&state\\\"),\\n value: pdfh(item, \\\"a&&value\\\"),\\n };\\n } else {\\n //var title = pdfh(item, 分类标题);\\n var title = item.title;\\n if (typeof 排除 != \\\"undefined\\\" && 排除 != \\\"\\\") {\\n title = title.replace(new RegExp(排除, \\\"g\\\"), \\\"\\\");\\n }\\n\\n var json = \\\"\\\";\\n /*switch (true) {\\n case 分类链接.includes(\\\"@@@\\\"):\\n json = {\\n type: pdfh(item, 分类链接.split(\\\"@@@\\\")[0]),\\n value: pdfh(item, 分类链接.split(\\\"@@@\\\")[1]),\\n };\\n break;\\n case 分类链接.includes(\\\"@@\\\"):\\n json = {\\n type: 分类链接.split(\\\"@@\\\")[0],\\n value: pdfh(item, 分类链接.split(\\\"@@\\\")[1]),\\n };\\n break;\\n default:\\n json = item.url;\\n // json = pd(item, 分类链接);\\n break;\\n }*/\\n json = item.url;\\n /*var json=分类链接.includes('@@@')?{\\n type:pdfh(item,分类链接.split('@@@')[0]),\\n value:pdfh(item,分类链接.split('@@@')[1]),\\n }:pd(item,分类链接);\\n \\n json=分类链接.includes('@@')?{\\n type:分类链接.split('@@')[0],\\n value:pdfh(item,分类链接.split('@@')[1]),\\n }:pd(item,分类链接);*/\\n }\\n\\n let params = {\\n cate_temp: cate_temp,\\n index: index,\\n key: key,\\n page: page,\\n json: json,\\n state: 状态,\\n allclears: 全清,\\n };\\n d.push({\\n title: this.setTitle(key.toString(), cate_temp[index], title),\\n url: $(\\\"hiker://empty\\\" + \\\"#noLoading#\\\").lazyRule((params) => {\\n params.allclears.forEach((item) => {\\n clearMyVar(item);\\n });\\n params.cate_temp[params.index] = params.key.toString();\\n putMyVar(\\\"head.cate\\\", JSON.stringify(params.cate_temp));\\n if (params.json.constructor === Object) {\\n putMyVar(\\\"dt_\\\" + params.json.type, params.json.value);\\n } else {\\n putMyVar(params.state, params.json);\\n }\\n refreshPage();\\n return \\\"hiker://empty\\\";\\n }, params),\\n col_type: \\\"scroll_button\\\",\\n });\\n });\\n d.push({\\n col_type: \\\"blank_block\\\",\\n });\\n }\\n });\\n }\\n },\\n };\\n obj.预设(options);\\n return obj;\\n}\\n\\n //.状态(\\\"url\\\")\\n //.界面(d)\\n //.源码(xhtml)\\n //.全清([\\\"1\\\", \\\"2\\\"])\\n //.清除()\\n //.开启折叠()\\n //.页码(page)\\n //.创建动态分类(定位列表);\\n\\nfunction getObjfuc(obj) {\\n const methods = Object.getOwnPropertyNames(obj).filter(\\n (name) => typeof obj[name] === \\\"function\\\"\\n );\\n if (methods.length == 0) {\\n console.log(obj.toString());\\n return;\\n }\\n const formattedString = methods\\n .map((name) => {\\n const fn = obj[name];\\n const fnString = `${name}: ${fn.toString()}`;\\n const restoredFnString = fnString.replace(\\n /\\\\\\\\u([\\\\d\\\\w]{4})/gi,\\n function (match, grp) {\\n return String.fromCharCode(parseInt(grp, 16));\\n }\\n );\\n return restoredFnString;\\n })\\n .join(\\\"\\\\n\\\");\\n console.log(formattedString);\\n}\\n\\n/*\\nver 2023-06-16 1.0\\n*/\\nvar 状态 =\\n typeof 状态标记 != \\\"undefined\\\" && 状态标记 != \\\"\\\" ? 状态标记 : MY_RULE.url;\\n\\nlet dt_debug=false; \\n \\naddListener(\\n \\\"onClose\\\",\\n $.toString(() => {})\\n);\\n\\nvar Create = {\\n spage: {\\n get: function () {\\n return storage0.getMyVar(\\\"spage\\\", \\\"\\\");\\n },\\n set: function (url) {\\n storage0.putMyVar(\\\"spage\\\", url);\\n },\\n },\\n nextPage: function () {\\n var result = false;\\n try {\\n var next = eval(下一页);\\n //log('n:'+next)\\n if(next ==\\\"\\\"){\\n throw new Error('下一页链接为空')\\n }\\n result=true;\\n if(true_url==next){\\n result=false;\\n }\\n } catch (e) {\\n //log(\\\"可能不存在下一页或者下一页定位有问题\\\");\\n log(\\\"错误信息:\\\" + e.message);\\n }\\n if ((next == \\\"\\\" || next == undefined) && page == 1) {\\n next = true_url;\\n } else {\\n //result=false;\\n next = getMyVar(状态);\\n }\\n //log('l'+true_url)\\n //log('n'+next)\\n if(page!=1){\\n if (true_url == next&&!result) {\\n result = false;\\n } else {\\n result = true;\\n }\\n }\\n return result;\\n //putMyVar(状态, next);\\n },\\n getBackImage: function (imgurl) {\\n var result = imgurl;\\n try {\\n result = /url(?:\\\\s+)?\\\\((.*?)\\\\)/g\\n .exec(imgurl)[1]\\n .replace(/('|\\\"|")/gm, \\\"\\\");\\n } catch {}\\n return result;\\n },\\n httpHandle: function (input) {\\n if (input.startsWith(\\\"http\\\")) {\\n return input;\\n } else if (input.startsWith(\\\"//\\\")) {\\n return \\\"https:\\\" + input;\\n } else if (input.startsWith(\\\"/\\\")) {\\n return MY_HOME + input;\\n }\\n },\\n imgHandle: function (item, rule) {\\n var img = \\\"\\\";\\n if (rule.img.startsWith(\\\"pd\\\")) {\\n img = eval(rule.img);\\n } else if (rule.backimg) {\\n img = pdfh(item, rule.img);\\n img = this.getBackImage(img);\\n img = this.httpHandle(img);\\n } else {\\n img = pdfh(item, rule.img);\\n if (!img.startsWith(\\\"http\\\")) {\\n img = pd(item, rule.img);\\n img = this.httpHandle(img);\\n }\\n }\\n return img + rule.ref;\\n },\\n urlHandle: function (item, rule) {\\n var href = \\\"\\\";\\n if (rule.url.startsWith(\\\"pd\\\")) {\\n href = eval(rule.url);\\n } else {\\n href = pd(item, rule.url);\\n }\\n href = rule.imt ? href + \\\"#immersiveTheme#\\\" : href;\\n return href;\\n },\\n setContent: function (item, input) {\\n let output = \\\"\\\";\\n if (input == undefined) {\\n return output;\\n }\\n if (input.startsWith(\\\"pd\\\")) {\\n output = eval(input);\\n } else {\\n output = pdfh(item, input);\\n }\\n return output;\\n },\\n refresh: function () {\\n addListener(\\n \\\"onRefresh\\\",\\n $.toString((u) => {\\n clearMyVar(\\\"yilist\\\");\\n //var p = storage0.getMyVar('spage', '');\\n //putMyVar(u, p);\\n }, 状态)\\n );\\n },\\n jsonList: function (arr, json, rule) {\\n if (json.constructor != Object) {\\n try {\\n json = JSON.parse(json);\\n } catch {}\\n }\\n json[rule.list].forEach((item) => {\\n var img = eval(rule.img) + rule.ref;\\n var href = eval(rule.url);\\n href = rule.imt ? href + \\\"#immersiveTheme#\\\" : href;\\n var lazy = rule.lazy ? rule.lazy : \\\"\\\";\\n var dd = {\\n title: eval(rule.title),\\n desc: eval(rule.desc),\\n content: eval(rule.content),\\n pic_url: img,\\n url: \\\"hiker://empty##\\\" + href,\\n col_type: rule.col_type,\\n extra: {\\n img: img,\\n },\\n };\\n if (lazy != \\\"\\\") {\\n dd[\\\"url\\\"] = href + lazy;\\n }\\n arr.push(dd);\\n });\\n },\\n ruleList: function (arr, html, rule) {\\n var list = pdfa(html, rule.list);\\n list.forEach((item, i) => {\\n var title = this.setContent(item, rule.title);\\n var desc = this.setContent(item, rule.desc);\\n var img = this.imgHandle(item, rule);\\n var url = this.urlHandle(item, rule);\\n var content = this.setContent(item, rule.content);\\n var lazy = rule.lazy ? rule.lazy : \\\"\\\";\\n var dd = {\\n title: title,\\n desc: desc,\\n pic_url: img,\\n url: \\\"hiker://empty##\\\" + url,\\n content: content,\\n col_type: rule.col_type,\\n extra: {\\n img: img,\\n },\\n };\\n if (lazy != \\\"\\\") {\\n dd[\\\"url\\\"] = url + lazy;\\n }\\n arr.push(dd);\\n });\\n },\\n List: function (arr, html, rule, param) {\\n param = param ? param : {};\\n var auto = param.auto ? param.auto : false;\\n var show = param.show ? param.show : false;\\n if (page == 1) {\\n //this.spage.set(true_url);\\n }\\n this.refresh();\\n var list = pdfa(html, rule.list);\\n //log(this.nextPage())\\n if ((storage0.getMyVar('yi_isnext','t')=='t'&&list.length > 0) || page == 1) {\\n list.forEach((item, i) => {\\n deleteItem(\\\"pagenum\\\");\\n deleteItem(\\\"pageline\\\");\\n var id = \\\"\\\";\\n var cls = \\\"\\\";\\n var title = this.setContent(item, rule.title);\\n var desc = this.setContent(item, rule.desc);\\n var img = this.imgHandle(item, rule);\\n var url = this.urlHandle(item, rule);\\n var content = this.setContent(item, rule.content);\\n if (i == list.length - 1) {\\n id = \\\"lastid_\\\" + page;\\n cls = \\\"lastmark\\\";\\n }\\n d.push({\\n title: title,\\n desc: desc,\\n pic_url: img,\\n url: \\\"hiker://empty##\\\" + url,\\n content: content,\\n col_type: rule.col_type,\\n extra: {\\n title: title,\\n img: img,\\n id: id,\\n cls: cls,\\n },\\n });\\n if (i == list.length - 1 && show) {\\n d.push({\\n col_type: \\\"line\\\",\\n extra: {\\n id: \\\"pageline\\\",\\n },\\n });\\n\\n d.push({\\n title: \\\"““””加载中...\\\",\\n url: \\\"hiker://empty\\\",\\n col_type: \\\"text_center_1\\\",\\n extra: {\\n id: \\\"pagenum\\\",\\n },\\n });\\n }\\n });\\n } else {\\n updateItem(\\\"pagenum\\\", {\\n title: '““””到底了',\\n url: \\\"hiker://empty\\\",\\n col_type: \\\"text_center_1\\\",\\n extra: {\\n id: \\\"last\\\",\\n },\\n });\\n }\\n if (list.length == 0 && page == 1) {\\n d.push({\\n col_type: \\\"line\\\",\\n });\\n d.push({\\n title: '““””无内容',\\n url: \\\"hiker://empty\\\",\\n col_type: \\\"text_center_1\\\",\\n extra: {},\\n });\\n }\\n if(this.nextPage()){\\n //log('t');\\n storage0.putMyVar('yi_isnext','t');\\n }else{\\n //log('f');\\n storage0.putMyVar('yi_isnext','f');\\n }\\n if (auto) {\\n //createNextPage();\\n autoPage();\\n }\\n },\\n};\\n\\nvar extMethod = {\\n ToParams: function () {\\n var json = arguments[0];\\n return Object.keys(json)\\n .map((key) => key + \\\"=\\\" + json[key])\\n .join(\\\"&\\\");\\n },\\n urlParse: function (u) {\\n var dict = {};\\n dict.Source = u;\\n let params = (url) => {\\n let queryParams = {};\\n let reg = /([^?=&]+)=([^?=&]+)/g;\\n url.replace(reg, function () {\\n queryParams[arguments[1]] = arguments[2];\\n });\\n return queryParams;\\n };\\n var javaUrl = JavaImporter(java.net.URL);\\n with (javaUrl) {\\n var url = new URL(u);\\n dict.Protocol = url.getProtocol();\\n dict.Host = url.getHost();\\n dict.Port = url.getPort();\\n dict.File = url.getFile();\\n dict.Path = url.getPath();\\n dict.Ref = url.getRef();\\n dict.Hosts = `${dict.Protocol}://${url.getHost()}`;\\n }\\n dict.Params = params(u);\\n return dict;\\n },\\n isEqual: function (x, y) {\\n const ok = Object.keys,\\n tx = typeof x,\\n ty = typeof y;\\n return x && y && tx === \\\"object\\\" && tx === ty\\n ? ok(x).length === ok(y).length &&\\n ok(x).every((key) => this.isEqual(x[key], y[key]))\\n : x === y;\\n },\\n findDifferentIndex: function (str1, str2) {\\n const diffChars = [];\\n for (let i = 0; i < str2.length; i++) {\\n if (str1[i] !== str2[i]) {\\n diffChars.push({\\n index: i,\\n s1: str1[i],\\n s2: str2[i],\\n });\\n }\\n }\\n return diffChars;\\n },\\n replaceCharAt: function (str, index, replacement) {\\n if (index < 0 || index >= str.length) {\\n return str;\\n }\\n //log(index)\\n const arr = str.split(\\\"\\\");\\n arr[index] = replacement;\\n return arr.join(\\\"\\\");\\n },\\n getObjectKeysDiff:function(obj1, obj2) {\\n const differentKeys = [];\\n for (let key in obj1) {\\n if (!obj2.hasOwnProperty(key) || obj1[key] !== obj2[key]) {\\n differentKeys.push(key);\\n }\\n }\\n for (let key in obj2) {\\n if (!obj1.hasOwnProperty(key)) {\\n differentKeys.push(key);\\n }\\n }\\n return differentKeys;\\n },\\n getNextUrl: function (source, target, params) {\\n var u1 = this.urlParse(source);\\n var u2 = this.urlParse(target);\\n var pa = undefined;\\n if (typeof params == \\\"object\\\") {\\n pa = params.hasOwnProperty(\\\"特征\\\") ? params.特征 : undefined;\\n }\\n var nexturl = source;\\n var ca = Object.keys(u2.Params).length == 0 ? \\\"\\\" : \\\"?\\\";\\n if (pa != undefined) {\\n var rs = String(u2.Path).replace(new RegExp(pa), \\\"$1fypage\\\");\\n nexturl = u2.Hosts + rs + ca + this.ToParams(u2.Params);\\n } else {\\n if (this.isEqual(u1.Params, u2.Params)) {\\n if(dt_debug){\\n log(u1.Path);\\n log(u2.Path);\\n }\\n var df = this.findDifferentIndex(String(u1.Path), String(u2.Path));\\n if(dt_debug){\\n log(df);\\n }\\n if (df.length == 1) {\\n var re = df[0].index;\\n } else {\\n var f = df.filter((x) => /\\\\d+/.test(x.s2));\\n var re = f[0].index;\\n }\\n var eq = this.replaceCharAt(String(u2.Path), re, \\\"fypage\\\");\\n nexturl = u2.Hosts + eq + ca + this.ToParams(u2.Params);\\n } else {\\n var ep=this.getObjectKeysDiff(u1.Params,u2.Params)\\n if(ep.length==1){\\n u1.Params[ep[0]]='fypage'\\n }else{\\n log(ep);\\n }\\n var eq = String(u1.Path).replace(/\\\\d+/, \\\"fypage\\\");\\n nexturl = u1.Hosts + eq + ca + this.ToParams(u1.Params);\\n }\\n }\\n //log('next:'+nexturl)\\n return nexturl;\\n },\\n};\\n\\nfunction getTruelink(mark, url, page) {\\n var p = getMyVar(mark, url).replace(\\\"fypage\\\", page);\\n if (page == 1) {\\n return getMyVar(\\\"yi_firstpage\\\", p);\\n } else if (p != \\\"\\\") {\\n return p;\\n } else {\\n return url;\\n }\\n}\\n//构建\\nfunction createNextPage() {\\n let startnum = 1;\\n var obj = arguments[0];\\n if (true_url != getMyVar(\\\"yi_pageurl\\\", \\\"\\\")) {\\n clearMyVar(\\\"yi_pageurl\\\");\\n }\\n if (page == startnum && getMyVar(\\\"yi_pageurl\\\") == \\\"\\\") {\\n putMyVar(\\\"yi_firstpage\\\", true_url);\\n try {\\n var next = eval(下一页);\\n //log(\\\"next\\\");\\n //log(next);\\n } catch {\\n log(\\\"可能不存在下一页或者下一页定位有问题\\\");\\n next = \\\"\\\";\\n }\\n if (next != \\\"\\\") {\\n var nxurl = extMethod.getNextUrl(true_url, next, obj);\\n //log(\\\"nxurl:\\\" + nxurl);\\n putMyVar(状态, nxurl);\\n putMyVar(\\\"yi_pageurl\\\", nxurl);\\n }\\n }\\n}\\n\\nfunction autoPage() {\\n if(page==1){\\n putMyVar(\\\"yi_firstpage\\\", true_url);\\n }\\n try {\\n var next = eval(下一页);\\n //log(\\\"next\\\");\\n //log('next:'+next);\\n } catch {\\n log(\\\"可能不存在下一页或者下一页定位有问题\\\");\\n next = \\\"\\\";\\n }\\n if (next != \\\"\\\") {\\n putMyVar(状态, next);\\n }\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"解析\",\"path\":\"lazy\",\"rule\":\"putVar(\\\"_x5\\\", $.toString(() => {\\n var urls = _getUrls()\\n function check(u){\\n if (u.match(/\\\\.mp3|\\\\.mp4|\\\\.m3u8/) && !u.match(/html|m3u8\\\\.tv|\\\\&next|ac\\\\=dm|\\\\=http|https\\\\:\\\\/\\\\/[\\\\d]\\\\.m3u8|\\\\?url\\\\=\\\\/m3u8/)){\\n // fy_bridge_app.log(urls[i])\\n return true;\\n }\\n return false;\\n }\\n for (var i in urls) {\\n if (check(urls[i])){\\n // fy_bridge_app.log(urls[i])\\n return urls[i]\\n }\\n if(urls[i].includes(\\\"url=http\\\")){\\n let u = urls[i].split(\\\"url=\\\")[1];\\n if(check(u)){\\n return u;\\n }\\n }\\n }\\n}))\\nvar lazy = \\\"@lazyRule=.js:showLoading('正在嗅探中,请稍后...');'x5Rule://'+input+'@' + getVar('_x5')\\\";\"}]","proxy":"","icon":"https://www.wllajiaojiang.com/upload/site/20240530-1/d464437dbb96bb34c8a93700a4e75403.png"},{"last_chapter_rule":"js:\nvar chp = [];\ntry {\n var html = getResCode();\n var conts = parseDomForArray(html, 'body&&.sort-list');\n for (var i = 0; i < conts.length; i++) {\n var list = pdfa(conts[i], 'body&&li');\n chp.push(list.length);\n } \n} catch (e) {}\nsetResult('更新至:' + (Math.max.apply(null, chp)));","title":"吉吉短剧","author":"R","version":1,"type":"video","url":"hiker://empty##https://www.jjduanju.com/sort/1/page/fypage.html","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\naddListener(\"onClose\", $.toString(() => {\n let keys = listMyVarKeys();\n for (let it of keys) {\n clearMyVar(it);\n }\n}));\nvar getRangeColors = function() {       \n return '#' + ('00000' + (Math.random() * 0x1000000 << 0).toString(16)).substr(-6);     \n}\nconst 下一页 = \"pd(html, 'a:matches(下一页)&&href')\";\nconst page = MY_PAGE;\neval(JSON.parse(request('hiker://page/yi')).rule)\n\nvar 定位信息 = [{\n 大类定位: '.myui-screen__list',\n 小类: 'body&&a:not(:matches(首页|资讯|APP|专题|分类|年份|社群|热搜|留言|福利|全部|下载|新版|解析))',\n 链接处理: (u) => {\n let url = u.replace(/type(\\/\\w+)\\.html/, 'show$1-----------.html');\n return url\n }\n}, {\n 一级定位: '.myui-screen__list:not(:has(:matches(分类)))||.leo-mod-title.leo-pl-20',\n\n}]\n\n\nMY_URL = MY_URL.replace('hiker://empty##', '')\nlet true_url = getTruelink(MY_RULE.url, MY_URL, page);\nlog(true_url)\n\nvar html = request(true_url)\nconst dc = dynamicClass({\n 分类颜色: getRangeColors()\n});\ndc.开启折叠()\ndc.开启搜索()\ndc.创建动态分类(定位信息)\n\nvar parseRule = {\n list: 'body&&.myui-vodlist&&li', //统一item\n title: 'a&&title',\n desc: '.pic-text&&Text',\n img: 'img||a&&data-src||data-original',\n url: 'a&&href',\n ref: '@Referer=',\n imt: true,\n //backimg: true,\n}\n\nCreate.List(d, html, parseRule);\nautoPage();\n\nsetResult(d)","searchFind":"js:\nvar d = [];\nvar html = getResCode()\neval(JSON.parse(request('hiker://page/yzm')).rule)\r\nvar list = pdfa(html, 'body&&.myui-vodlist&&li');\nfor (var j in list) {\n d.push({\n title: pdfh(list[j], 'a&&title'),\n desc: pdfh(list[j], 'p&&Text'),\n img: pd(list[j], '.lazyload&&data-original')+'@Referer=',\ncontent:pdfh(list[j], ''),\n url: pd(list[j], 'a&&href') + \"#immersiveTheme#\"\n });\n}\r\nsetResult(d)","search_url":"https://www.jjduanju.com/search**/page/fypage.html","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar res = {};\nvar d = [];\nMY_URL=MY_URL.replace('hiker://empty##','');\nvar html = fetch(MY_URL);\nconst Color = \"#11999e\";\n\nvar title = pdfh(html, 'h1&&Text');\nvar des_desc = pdfh(html, '.content:contains(简介)&&Text').replace('展开全部', '').replace('简介:', '').replace(' ', '').replace('bbb', '').replace('ccc', '').replace('eee', '');\n//二级新样式by顺承天意(已封装断插,变量名lazy)\nconst hd = require(\"http://hiker.nokia.press/hikerule/rulelist.json?id=2968&v=1\");\nhd(d, {\n //显示的白色大字\n 大字: title,\n //片名搜索用\n 片名: title,\n //图片一定不要加Referer\n 图片: pd(html, '.picture&&img&&data-original'),\n //描述里用
换行\n 描述: pdfh(html, 'body&&.data,0&&Text').substring(0, 18) + '
' + pdfh(html, 'body&&.data,1&&Text').substring(0, 18) + '
' + pdfh(html, 'body&&.data,3&&Text').substring(0, 18) + '
简介: ' + des_desc,\n});\n\nvar tabs = pdfa(html, 'body&&.nav&&li'); //线路\nvar conts = pdfa(html, 'body&&.sort-list'); //选集\n\neval(JSON.parse(fetch('hiker://page/lazy', {})).rule);\n\n\nfor (var i = 0; i < conts.length; i++) {\n var icon_s = 'https://ghproxy.com/https://raw.githubusercontent.com/ls125781003/tubiao/main/messy/';\n if (getVar('shsort', '1') == '1') {\n var list = parseDomForArray(conts[i], 'body&&a');\n var avatar = icon_s + '129.svg'\n } else {\n var list = parseDomForArray(conts[i], 'ul&&li').reverse();\n var avatar = icon_s + '132.svg'\n }\n var line = pdfh(tabs[i], 'a&&Text').replace('-官方', '').replace('备用资源', '');\n\n if (list != null) {\n d.push({\n title: '' + line + '' + '\\t\\t' + '' + (i + 1) + '/' + conts.length + ' ',\n url: \"hiker://empty@lazyRule=.js:putVar('shsort', getVar('shsort','1')=='1'?'0':'1');refreshPage();'hiker://empty'\",\n col_type: 'avatar',\n img: avatar\n });\n\n for (var j = 0; j < list.length; j++) {\n var jm = pdfh(list[j], 'a&&Text').replace(/第|集|话|期/g, '').replace(/预告/g, '📢');\n var url = pd(list[j], 'a&&href');\n if (list.length <= 2) {\n var col = 'text_2'\n } else {\n var col = jm.length > 4 ? 'text_2' : 'text_4'\n }\n d.push({\n title: jm,\n url: url + lazy,\n col_type: col,\n extra: {\n id: url,\n blockRules: [\n \".jpg\",\n \".jpeg\",\n \".png\",\n \".mp4\",\n \".m3u8\",\n \".gif\"\n ]\n }\n });\n }\n }\n}\nres.data = d;\nsetHomeResult(res);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"一级分类列表\",\"path\":\"yi\",\"rule\":\"js:\\n/*\\n一级封装 \\n动态分类 列表创建 自动下一页\\nver 20230710 1.0\\n*/\\nfunction dynamicClass(options) {\\n const obj = {\\n //默认值\\n layout: \\\"undefined\\\",\\n html: \\\"empty\\\",\\n page: 0,\\n 分类颜色: \\\"#FA7298\\\",\\n 折叠: \\\"““””\\\" + \\\"∨\\\".fontcolor(\\\"#1aad19\\\") + \\\"\\\",\\n 展开: \\\"““””\\\" + \\\"∧\\\".fontcolor(\\\"#FF0000\\\") + \\\"\\\",\\n open: true,\\n state: MY_RULE.url,\\n search: false,\\n clears: [],\\n clearall: [\\\"yi_firstpage\\\"],\\n debug: false,\\n\\n 预设(param) {\\n if(param==undefined){\\n param=[];\\n }\\n Object.keys(param).forEach((property) => {\\n // 对每个属性名执行操作\\n const value = param[property]; // 获取属性值\\n // 在这里执行您的操作\\n this[property] = value;\\n if (this.debug) {\\n console.log(property + \\\":\\\" + value);\\n }\\n });\\n },\\n evalJSRule(item, jsRule) {\\n let rule = jsRule.replace(\\\"@js:\\\", \\\"\\\");\\n rule = rule.trim();\\n //log($.stringify(rule))\\n let input = item;\\n if (rule.startsWith(\\\"(\\\")) {\\n eval(\\\"result = \\\" + rule);\\n } else {\\n /**\\n * 还原成 $.toString(...) 的最终结果,达到最终处理方式跟上面的 if 一致的目的\\n */\\n eval(\\\"result = \\\" + \\\"(() => {\\\" + rule + \\\"})()\\\");\\n }\\n return result || \\\"\\\";\\n },\\n getTitle(src, category) {\\n let title = \\\"\\\";\\n let titleRule = category || \\\"a&&Text\\\";\\n if (titleRule.startsWith(\\\"@js:\\\")) {\\n title = this.evalJSRule(src, titleRule);\\n } else {\\n title = parseDomForHtml(src, titleRule);\\n }\\n return title || \\\"\\\";\\n },\\n getUrl(src, category) {\\n let url = \\\"\\\";\\n let urlRule = category.链接 || \\\"a&&href\\\";\\n if (urlRule.startsWith(\\\"@js:\\\")) {\\n url = this.evalJSRule(src, urlRule);\\n } else {\\n url = pd(src, urlRule);\\n }\\n if (typeof category.链接处理 == \\\"function\\\") {\\n url = category.链接处理(url);\\n }\\n return url || \\\"\\\";\\n },\\n isNull(param) {\\n if (param == null) {\\n return this;\\n }\\n return false;\\n },\\n isBoolean(variable) {\\n if (typeof variable !== \\\"boolean\\\") {\\n throw new Error(\\\"开启折叠请传入布尔值\\\");\\n }\\n },\\n 清除(list) {\\n if (this.isNull(list)) {\\n return this;\\n }\\n if (list.constructor == String) {\\n throw new Error(\\\"清除报错:请传列表\\\");\\n }\\n this.clears = list;\\n return this;\\n },\\n 全清(list) {\\n if (this.isNull(list)) {\\n return this;\\n }\\n var c = this.clearall;\\n list = c.concat(list);\\n this.clearall = list;\\n return this;\\n },\\n 源码(input) {\\n this.html = input;\\n return this;\\n },\\n 界面(input) {\\n this.layout = input;\\n return this;\\n },\\n 页码(input) {\\n this.page = input;\\n return this;\\n },\\n 状态(input) {\\n this.state = input;\\n return this;\\n },\\n 开启搜索() {\\n this.search = true;\\n return this;\\n },\\n 开启折叠(input) {\\n if (input == undefined) {\\n input = true;\\n }\\n this.isBoolean(input);\\n this.open = input;\\n return this;\\n },\\n setTitle(k, i, t) {\\n return k == i ? \\\"““””\\\" + t.fontcolor(this.分类颜色) : t;\\n },\\n action(obj) {\\n return [\\n {\\n title: \\\"清除状态\\\",\\n js: $.toString((obj) => {\\n log(obj);\\n clearMyVar(obj.state);\\n clearMyVar(\\\"head.cate\\\");\\n obj.all.forEach((item) => {\\n clearMyVar(item);\\n });\\n obj.cl.forEach((item) => {\\n clearMyVar(item);\\n });\\n refreshPage();\\n }, obj),\\n },\\n ];\\n },\\n checkParam() {\\n var obj = {};\\n if (this.page == 0 && typeof page == \\\"undefined\\\") {\\n throw new Error(\\\"请传入页码\\\");\\n } else {\\n if (typeof page == \\\"undefined\\\") {\\n obj[\\\"页码\\\"] = this.page;\\n } else {\\n obj[\\\"页码\\\"] = page;\\n }\\n }\\n if (this.html == \\\"empty\\\" && typeof html == \\\"undefined\\\") {\\n throw new Error(\\\"请传入源码\\\");\\n } else {\\n if (typeof html == \\\"undefined\\\") {\\n obj[\\\"源码\\\"] = this.html;\\n } else {\\n obj[\\\"源码\\\"] = html;\\n }\\n }\\n if (this.layout == \\\"undefined\\\" && typeof d == \\\"undefined\\\") {\\n throw new Error(\\\"请传入界面\\\");\\n } else {\\n if (typeof d == \\\"undefined\\\") {\\n obj[\\\"界面\\\"] = this.layout;\\n } else {\\n obj[\\\"界面\\\"] = d;\\n }\\n }\\n return obj;\\n },\\n 创建动态分类(ruleObj) {\\n if (ruleObj == undefined) {\\n ruleObj = [];\\n }\\n //初始化变量开始\\n const param = this.checkParam();\\n const page = param.页码;\\n const html = param.源码;\\n const d = param.界面;\\n const 状态 = this.state;\\n const search = this.search;\\n const empty = \\\"hiker://empty\\\";\\n const 折叠状态 = this.open;\\n var 展开 = this.展开;\\n var 折叠 = this.折叠;\\n var 全清 = this.clearall;\\n var 清除 = this.clears;\\n //初始化变量结束\\n let init_cate = new Array(20).fill(\\\"0\\\");\\n const fold = getMyVar(MY_RULE.group, \\\"0\\\");\\n const cate_temp = JSON.parse(\\n getMyVar(\\\"head.cate\\\", JSON.stringify(init_cate))\\n );\\n if (search && page == 1) {\\n d.push({\\n title: \\\"\\\",\\n url: \\\"'hiker://search?rule=\\\" + MY_RULE.title + \\\"&s='+input\\\",\\n desc: \\\"搜索关键词\\\",\\n col_type: \\\"input\\\",\\n extra: {\\n defaultValue: getMyVar(\\\"keyword\\\", \\\"\\\"),\\n onChange: $.toString(() => {\\n putMyVar(\\\"keyword\\\", input);\\n }),\\n },\\n });\\n }\\n const categories = [];\\n ruleObj.forEach((x) => {\\n var list = [];\\n if(x.一级定位){\\n if (x.一级定位.startsWith(\\\"@js:\\\")) {\\n list = this.evalJSRule(html, x.一级定位);\\n } else {\\n list = pdfa(html, x.一级定位);\\n }\\n }\\n if(x.大类定位){\\n if (x.大类定位.startsWith(\\\"@js:\\\")) {\\n list = this.evalJSRule(html, x.大类定位);\\n } else {\\n list = [pdfa(html, x.大类定位).join('\\\\n')];\\n }\\n }\\n var 一级 = list.map((s) => {\\n var slist = [];\\n if (!(\\\"小类\\\" in x)) {\\n x.小类 = \\\"body&&a:not(:matches(首页)):not(a:not([href]))\\\";\\n }\\n if (x.小类.startsWith(\\\"@js:\\\")) {\\n slist = this.evalJSRule(s, x.小类);\\n } else {\\n slist = pdfa(s, x.小类);\\n }\\n var 定位 = slist.map((item) => {\\n var title = this.getTitle(item, x.标题);\\n var url = this.getUrl(item, x);\\n var obj = { title: title, url: url };\\n return JSON.stringify(obj);\\n });\\n return 定位;\\n });\\n //log(一级)\\n //log(一级.length)\\n if (一级.length == 1) {\\n categories.push(一级.join(\\\"\\\\n\\\"));\\n } else {\\n 一级.forEach((item) => {\\n categories.push(item.join(\\\",\\\"));\\n });\\n }\\n //log(categories)\\n });\\n if (折叠状态) {\\n if (page == 1) {\\n d.push({\\n title: fold === \\\"1\\\" ? 折叠 : 展开,\\n url: $(\\\"#noLoading#\\\").lazyRule(\\n (fold, u, all) => {\\n putMyVar(MY_RULE.group, fold === \\\"1\\\" ? \\\"0\\\" : \\\"1\\\");\\n /*all.forEach((item) => {\\n clearMyVar(item);\\n });*/\\n refreshPage(false);\\n return \\\"hiker://empty\\\";\\n },\\n fold,\\n 状态,\\n 全清\\n ),\\n col_type: \\\"scroll_button\\\",\\n extra: {\\n longClick: this.action({\\n state: 状态,\\n all: 全清,\\n cl: 清除,\\n }),\\n },\\n });\\n }\\n }\\n if (page == 1) {\\n categories.forEach((category, index) => {\\n //log(categories)\\n let sub_categories = [];\\n /*if (小类定位.includes(\\\";\\\")) {\\n sub_categories = pdfa(category, 小类定位.split(\\\";\\\")[0]);\\n if (sub_categories.length == 0) {\\n sub_categories = pdfa(category, 小类定位.split(\\\";\\\")[1]);\\n }\\n } else {*/\\n //log(index)\\n sub_categories = JSON.parse(`[${category}]`);\\n // sub_categories = pdfa(category, 小类定位);\\n //}\\n if (index === 0) {\\n sub_categories.forEach((item, key) => {\\n\\n //let title = pdfh(item, _大类标题);\\n let title = item.title;\\n if (typeof 排除 != \\\"undefined\\\" && 排除 != \\\"\\\") {\\n title = title.replace(newRegExp(排除, \\\"g\\\"), \\\"\\\");\\n }\\n let json=''\\n json = item.url;\\n \\n let params = {\\n cate_temp: cate_temp,\\n key: key,\\n page: page,\\n clears: 清除,\\n json: json,\\n state: 状态,\\n allclears: 全清,\\n };\\n\\n //let url = pd(item, _大类链接);\\n let url = item.url;\\n /*if (大类处理) {\\n url = 一级分类处理(url);\\n }*/\\n //log(url)\\n d.push({\\n title: this.setTitle(key.toString(), cate_temp[index], title),\\n col_type: \\\"scroll_button\\\",\\n url: $(\\\"hiker://empty#noLoading#\\\").lazyRule((params) => {\\n let new_cate = [];\\n params.clears.forEach((item) => {\\n clearMyVar(item);\\n });\\n params.allclears.forEach((item) => {\\n clearMyVar(item);\\n });\\n\\n params.cate_temp.forEach((cate, index) => {\\n new_cate.push(index === 0 ? params.key.toString() : \\\"0\\\");\\n });\\n putMyVar(\\\"head.cate\\\", JSON.stringify(new_cate));\\n if (params.json.constructor === Object) {\\n putMyVar(\\\"dt_\\\" + params.json.type, params.json.value);\\n } else {\\n putMyVar(params.state, params.json);\\n }\\n refreshPage(true);\\n return \\\"hiker://empty\\\";\\n }, params),\\n });\\n });\\n d.push({\\n col_type: \\\"blank_block\\\",\\n });\\n } else if (fold === \\\"1\\\" || 折叠状态 == false) {\\n sub_categories.forEach((item, key) => {\\n var extrapos = false;\\n /*if (item.includes('type=\\\"@extra\\\"')) {\\n extrapos = true;\\n //log('附加定位')\\n }*/\\n\\n if (extrapos) {\\n var title = pdfh(item, \\\"a&&Text\\\");\\n if (typeof 排除 != \\\"undefined\\\" && 排除 != \\\"\\\") {\\n title = title.replace(new RegExp(排除, \\\"g\\\"), \\\"\\\");\\n }\\n var json = {\\n type: pdfh(item, \\\"a&&state\\\"),\\n value: pdfh(item, \\\"a&&value\\\"),\\n };\\n } else {\\n //var title = pdfh(item, 分类标题);\\n var title = item.title;\\n if (typeof 排除 != \\\"undefined\\\" && 排除 != \\\"\\\") {\\n title = title.replace(new RegExp(排除, \\\"g\\\"), \\\"\\\");\\n }\\n\\n var json = \\\"\\\";\\n /*switch (true) {\\n case 分类链接.includes(\\\"@@@\\\"):\\n json = {\\n type: pdfh(item, 分类链接.split(\\\"@@@\\\")[0]),\\n value: pdfh(item, 分类链接.split(\\\"@@@\\\")[1]),\\n };\\n break;\\n case 分类链接.includes(\\\"@@\\\"):\\n json = {\\n type: 分类链接.split(\\\"@@\\\")[0],\\n value: pdfh(item, 分类链接.split(\\\"@@\\\")[1]),\\n };\\n break;\\n default:\\n json = item.url;\\n // json = pd(item, 分类链接);\\n break;\\n }*/\\n json = item.url;\\n /*var json=分类链接.includes('@@@')?{\\n type:pdfh(item,分类链接.split('@@@')[0]),\\n value:pdfh(item,分类链接.split('@@@')[1]),\\n }:pd(item,分类链接);\\n \\n json=分类链接.includes('@@')?{\\n type:分类链接.split('@@')[0],\\n value:pdfh(item,分类链接.split('@@')[1]),\\n }:pd(item,分类链接);*/\\n }\\n\\n let params = {\\n cate_temp: cate_temp,\\n index: index,\\n key: key,\\n page: page,\\n json: json,\\n state: 状态,\\n allclears: 全清,\\n };\\n d.push({\\n title: this.setTitle(key.toString(), cate_temp[index], title),\\n url: $(\\\"hiker://empty\\\" + \\\"#noLoading#\\\").lazyRule((params) => {\\n params.allclears.forEach((item) => {\\n clearMyVar(item);\\n });\\n params.cate_temp[params.index] = params.key.toString();\\n putMyVar(\\\"head.cate\\\", JSON.stringify(params.cate_temp));\\n if (params.json.constructor === Object) {\\n putMyVar(\\\"dt_\\\" + params.json.type, params.json.value);\\n } else {\\n putMyVar(params.state, params.json);\\n }\\n refreshPage();\\n return \\\"hiker://empty\\\";\\n }, params),\\n col_type: \\\"scroll_button\\\",\\n });\\n });\\n d.push({\\n col_type: \\\"blank_block\\\",\\n });\\n }\\n });\\n }\\n },\\n };\\n obj.预设(options);\\n return obj;\\n}\\n\\n //.状态(\\\"url\\\")\\n //.界面(d)\\n //.源码(xhtml)\\n //.全清([\\\"1\\\", \\\"2\\\"])\\n //.清除()\\n //.开启折叠()\\n //.页码(page)\\n //.创建动态分类(定位列表);\\n\\nfunction getObjfuc(obj) {\\n const methods = Object.getOwnPropertyNames(obj).filter(\\n (name) => typeof obj[name] === \\\"function\\\"\\n );\\n if (methods.length == 0) {\\n console.log(obj.toString());\\n return;\\n }\\n const formattedString = methods\\n .map((name) => {\\n const fn = obj[name];\\n const fnString = `${name}: ${fn.toString()}`;\\n const restoredFnString = fnString.replace(\\n /\\\\\\\\u([\\\\d\\\\w]{4})/gi,\\n function (match, grp) {\\n return String.fromCharCode(parseInt(grp, 16));\\n }\\n );\\n return restoredFnString;\\n })\\n .join(\\\"\\\\n\\\");\\n console.log(formattedString);\\n}\\n\\n/*\\nver 2023-06-16 1.0\\n*/\\nvar 状态 =\\n typeof 状态标记 != \\\"undefined\\\" && 状态标记 != \\\"\\\" ? 状态标记 : MY_RULE.url;\\n\\nlet dt_debug=false; \\n \\naddListener(\\n \\\"onClose\\\",\\n $.toString(() => {})\\n);\\n\\nvar Create = {\\n spage: {\\n get: function () {\\n return storage0.getMyVar(\\\"spage\\\", \\\"\\\");\\n },\\n set: function (url) {\\n storage0.putMyVar(\\\"spage\\\", url);\\n },\\n },\\n nextPage: function () {\\n var result = false;\\n try {\\n var next = eval(下一页);\\n //log('n:'+next)\\n if(next ==\\\"\\\"){\\n throw new Error('下一页链接为空')\\n }\\n result=true;\\n if(true_url==next){\\n result=false;\\n }\\n } catch (e) {\\n //log(\\\"可能不存在下一页或者下一页定位有问题\\\");\\n log(\\\"错误信息:\\\" + e.message);\\n }\\n if ((next == \\\"\\\" || next == undefined) && page == 1) {\\n next = true_url;\\n } else {\\n //result=false;\\n next = getMyVar(状态);\\n }\\n //log('l'+true_url)\\n //log('n'+next)\\n if(page!=1){\\n if (true_url == next&&!result) {\\n result = false;\\n } else {\\n result = true;\\n }\\n }\\n return result;\\n //putMyVar(状态, next);\\n },\\n getBackImage: function (imgurl) {\\n var result = imgurl;\\n try {\\n result = /url(?:\\\\s+)?\\\\((.*?)\\\\)/g\\n .exec(imgurl)[1]\\n .replace(/('|\\\"|")/gm, \\\"\\\");\\n } catch {}\\n return result;\\n },\\n httpHandle: function (input) {\\n if (input.startsWith(\\\"http\\\")) {\\n return input;\\n } else if (input.startsWith(\\\"//\\\")) {\\n return \\\"https:\\\" + input;\\n } else if (input.startsWith(\\\"/\\\")) {\\n return MY_HOME + input;\\n }\\n },\\n imgHandle: function (item, rule) {\\n var img = \\\"\\\";\\n if (rule.img.startsWith(\\\"pd\\\")) {\\n img = eval(rule.img);\\n } else if (rule.backimg) {\\n img = pdfh(item, rule.img);\\n img = this.getBackImage(img);\\n img = this.httpHandle(img);\\n } else {\\n img = pdfh(item, rule.img);\\n if (!img.startsWith(\\\"http\\\")) {\\n img = pd(item, rule.img);\\n img = this.httpHandle(img);\\n }\\n }\\n return img + rule.ref;\\n },\\n urlHandle: function (item, rule) {\\n var href = \\\"\\\";\\n if (rule.url.startsWith(\\\"pd\\\")) {\\n href = eval(rule.url);\\n } else {\\n href = pd(item, rule.url);\\n }\\n href = rule.imt ? href + \\\"#immersiveTheme#\\\" : href;\\n return href;\\n },\\n setContent: function (item, input) {\\n let output = \\\"\\\";\\n if (input == undefined) {\\n return output;\\n }\\n if (input.startsWith(\\\"pd\\\")) {\\n output = eval(input);\\n } else {\\n output = pdfh(item, input);\\n }\\n return output;\\n },\\n refresh: function () {\\n addListener(\\n \\\"onRefresh\\\",\\n $.toString((u) => {\\n clearMyVar(\\\"yilist\\\");\\n //var p = storage0.getMyVar('spage', '');\\n //putMyVar(u, p);\\n }, 状态)\\n );\\n },\\n jsonList: function (arr, json, rule) {\\n if (json.constructor != Object) {\\n try {\\n json = JSON.parse(json);\\n } catch {}\\n }\\n json[rule.list].forEach((item) => {\\n var img = eval(rule.img) + rule.ref;\\n var href = eval(rule.url);\\n href = rule.imt ? href + \\\"#immersiveTheme#\\\" : href;\\n var lazy = rule.lazy ? rule.lazy : \\\"\\\";\\n var dd = {\\n title: eval(rule.title),\\n desc: eval(rule.desc),\\n content: eval(rule.content),\\n pic_url: img,\\n url: \\\"hiker://empty##\\\" + href,\\n col_type: rule.col_type,\\n extra: {\\n img: img,\\n },\\n };\\n if (lazy != \\\"\\\") {\\n dd[\\\"url\\\"] = href + lazy;\\n }\\n arr.push(dd);\\n });\\n },\\n ruleList: function (arr, html, rule) {\\n var list = pdfa(html, rule.list);\\n list.forEach((item, i) => {\\n var title = this.setContent(item, rule.title);\\n var desc = this.setContent(item, rule.desc);\\n var img = this.imgHandle(item, rule);\\n var url = this.urlHandle(item, rule);\\n var content = this.setContent(item, rule.content);\\n var lazy = rule.lazy ? rule.lazy : \\\"\\\";\\n var dd = {\\n title: title,\\n desc: desc,\\n pic_url: img,\\n url: \\\"hiker://empty##\\\" + url,\\n content: content,\\n col_type: rule.col_type,\\n extra: {\\n img: img,\\n },\\n };\\n if (lazy != \\\"\\\") {\\n dd[\\\"url\\\"] = url + lazy;\\n }\\n arr.push(dd);\\n });\\n },\\n List: function (arr, html, rule, param) {\\n param = param ? param : {};\\n var auto = param.auto ? param.auto : false;\\n var show = param.show ? param.show : false;\\n if (page == 1) {\\n //this.spage.set(true_url);\\n }\\n this.refresh();\\n var list = pdfa(html, rule.list);\\n //log(this.nextPage())\\n if ((storage0.getMyVar('yi_isnext','t')=='t'&&list.length > 0) || page == 1) {\\n list.forEach((item, i) => {\\n deleteItem(\\\"pagenum\\\");\\n deleteItem(\\\"pageline\\\");\\n var id = \\\"\\\";\\n var cls = \\\"\\\";\\n var title = this.setContent(item, rule.title);\\n var desc = this.setContent(item, rule.desc);\\n var img = this.imgHandle(item, rule);\\n var url = this.urlHandle(item, rule);\\n var content = this.setContent(item, rule.content);\\n if (i == list.length - 1) {\\n id = \\\"lastid_\\\" + page;\\n cls = \\\"lastmark\\\";\\n }\\n d.push({\\n title: title,\\n desc: desc,\\n pic_url: img,\\n url: \\\"hiker://empty##\\\" + url,\\n content: content,\\n col_type: rule.col_type,\\n extra: {\\n title: title,\\n img: img,\\n id: id,\\n cls: cls,\\n },\\n });\\n if (i == list.length - 1 && show) {\\n d.push({\\n col_type: \\\"line\\\",\\n extra: {\\n id: \\\"pageline\\\",\\n },\\n });\\n\\n d.push({\\n title: \\\"““””加载中...\\\",\\n url: \\\"hiker://empty\\\",\\n col_type: \\\"text_center_1\\\",\\n extra: {\\n id: \\\"pagenum\\\",\\n },\\n });\\n }\\n });\\n } else {\\n updateItem(\\\"pagenum\\\", {\\n title: '““””到底了',\\n url: \\\"hiker://empty\\\",\\n col_type: \\\"text_center_1\\\",\\n extra: {\\n id: \\\"last\\\",\\n },\\n });\\n }\\n if (list.length == 0 && page == 1) {\\n d.push({\\n col_type: \\\"line\\\",\\n });\\n d.push({\\n title: '““””无内容',\\n url: \\\"hiker://empty\\\",\\n col_type: \\\"text_center_1\\\",\\n extra: {},\\n });\\n }\\n if(this.nextPage()){\\n //log('t');\\n storage0.putMyVar('yi_isnext','t');\\n }else{\\n //log('f');\\n storage0.putMyVar('yi_isnext','f');\\n }\\n if (auto) {\\n //createNextPage();\\n autoPage();\\n }\\n },\\n};\\n\\nvar extMethod = {\\n ToParams: function () {\\n var json = arguments[0];\\n return Object.keys(json)\\n .map((key) => key + \\\"=\\\" + json[key])\\n .join(\\\"&\\\");\\n },\\n urlParse: function (u) {\\n var dict = {};\\n dict.Source = u;\\n let params = (url) => {\\n let queryParams = {};\\n let reg = /([^?=&]+)=([^?=&]+)/g;\\n url.replace(reg, function () {\\n queryParams[arguments[1]] = arguments[2];\\n });\\n return queryParams;\\n };\\n var javaUrl = JavaImporter(java.net.URL);\\n with (javaUrl) {\\n var url = new URL(u);\\n dict.Protocol = url.getProtocol();\\n dict.Host = url.getHost();\\n dict.Port = url.getPort();\\n dict.File = url.getFile();\\n dict.Path = url.getPath();\\n dict.Ref = url.getRef();\\n dict.Hosts = `${dict.Protocol}://${url.getHost()}`;\\n }\\n dict.Params = params(u);\\n return dict;\\n },\\n isEqual: function (x, y) {\\n const ok = Object.keys,\\n tx = typeof x,\\n ty = typeof y;\\n return x && y && tx === \\\"object\\\" && tx === ty\\n ? ok(x).length === ok(y).length &&\\n ok(x).every((key) => this.isEqual(x[key], y[key]))\\n : x === y;\\n },\\n findDifferentIndex: function (str1, str2) {\\n const diffChars = [];\\n for (let i = 0; i < str2.length; i++) {\\n if (str1[i] !== str2[i]) {\\n diffChars.push({\\n index: i,\\n s1: str1[i],\\n s2: str2[i],\\n });\\n }\\n }\\n return diffChars;\\n },\\n replaceCharAt: function (str, index, replacement) {\\n if (index < 0 || index >= str.length) {\\n return str;\\n }\\n //log(index)\\n const arr = str.split(\\\"\\\");\\n arr[index] = replacement;\\n return arr.join(\\\"\\\");\\n },\\n getObjectKeysDiff:function(obj1, obj2) {\\n const differentKeys = [];\\n for (let key in obj1) {\\n if (!obj2.hasOwnProperty(key) || obj1[key] !== obj2[key]) {\\n differentKeys.push(key);\\n }\\n }\\n for (let key in obj2) {\\n if (!obj1.hasOwnProperty(key)) {\\n differentKeys.push(key);\\n }\\n }\\n return differentKeys;\\n },\\n getNextUrl: function (source, target, params) {\\n var u1 = this.urlParse(source);\\n var u2 = this.urlParse(target);\\n var pa = undefined;\\n if (typeof params == \\\"object\\\") {\\n pa = params.hasOwnProperty(\\\"特征\\\") ? params.特征 : undefined;\\n }\\n var nexturl = source;\\n var ca = Object.keys(u2.Params).length == 0 ? \\\"\\\" : \\\"?\\\";\\n if (pa != undefined) {\\n var rs = String(u2.Path).replace(new RegExp(pa), \\\"$1fypage\\\");\\n nexturl = u2.Hosts + rs + ca + this.ToParams(u2.Params);\\n } else {\\n if (this.isEqual(u1.Params, u2.Params)) {\\n if(dt_debug){\\n log(u1.Path);\\n log(u2.Path);\\n }\\n var df = this.findDifferentIndex(String(u1.Path), String(u2.Path));\\n if(dt_debug){\\n log(df);\\n }\\n if (df.length == 1) {\\n var re = df[0].index;\\n } else {\\n var f = df.filter((x) => /\\\\d+/.test(x.s2));\\n var re = f[0].index;\\n }\\n var eq = this.replaceCharAt(String(u2.Path), re, \\\"fypage\\\");\\n nexturl = u2.Hosts + eq + ca + this.ToParams(u2.Params);\\n } else {\\n var ep=this.getObjectKeysDiff(u1.Params,u2.Params)\\n if(ep.length==1){\\n u1.Params[ep[0]]='fypage'\\n }else{\\n log(ep);\\n }\\n var eq = String(u1.Path).replace(/\\\\d+/, \\\"fypage\\\");\\n nexturl = u1.Hosts + eq + ca + this.ToParams(u1.Params);\\n }\\n }\\n //log('next:'+nexturl)\\n return nexturl;\\n },\\n};\\n\\nfunction getTruelink(mark, url, page) {\\n var p = getMyVar(mark, url).replace(\\\"fypage\\\", page);\\n if (page == 1) {\\n return getMyVar(\\\"yi_firstpage\\\", p);\\n } else if (p != \\\"\\\") {\\n return p;\\n } else {\\n return url;\\n }\\n}\\n//构建\\nfunction createNextPage() {\\n let startnum = 1;\\n var obj = arguments[0];\\n if (true_url != getMyVar(\\\"yi_pageurl\\\", \\\"\\\")) {\\n clearMyVar(\\\"yi_pageurl\\\");\\n }\\n if (page == startnum && getMyVar(\\\"yi_pageurl\\\") == \\\"\\\") {\\n putMyVar(\\\"yi_firstpage\\\", true_url);\\n try {\\n var next = eval(下一页);\\n //log(\\\"next\\\");\\n //log(next);\\n } catch {\\n log(\\\"可能不存在下一页或者下一页定位有问题\\\");\\n next = \\\"\\\";\\n }\\n if (next != \\\"\\\") {\\n var nxurl = extMethod.getNextUrl(true_url, next, obj);\\n //log(\\\"nxurl:\\\" + nxurl);\\n putMyVar(状态, nxurl);\\n putMyVar(\\\"yi_pageurl\\\", nxurl);\\n }\\n }\\n}\\n\\nfunction autoPage() {\\n if(page==1){\\n putMyVar(\\\"yi_firstpage\\\", true_url);\\n }\\n try {\\n var next = eval(下一页);\\n //log(\\\"next\\\");\\n //log('next:'+next);\\n } catch {\\n log(\\\"可能不存在下一页或者下一页定位有问题\\\");\\n next = \\\"\\\";\\n }\\n if (next != \\\"\\\") {\\n putMyVar(状态, next);\\n }\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"解析\",\"path\":\"lazy\",\"rule\":\"putVar(\\\"_x5\\\", $.toString(() => {\\n var urls = _getUrls()\\n function check(u){\\n if (u.match(/\\\\.mp3|\\\\.mp4|\\\\.m3u8/) && !u.match(/html|m3u8\\\\.tv|\\\\&next|ac\\\\=dm|\\\\=http|https\\\\:\\\\/\\\\/[\\\\d]\\\\.m3u8|\\\\?url\\\\=\\\\/m3u8/)){\\n // fy_bridge_app.log(urls[i])\\n return true;\\n }\\n return false;\\n }\\n for (var i in urls) {\\n if (check(urls[i])){\\n // fy_bridge_app.log(urls[i])\\n return urls[i]\\n }\\n if(urls[i].includes(\\\"url=http\\\")){\\n let u = urls[i].split(\\\"url=\\\")[1];\\n if(check(u)){\\n return u;\\n }\\n }\\n }\\n}))\\nvar lazy = \\\"@lazyRule=.js:showLoading('正在嗅探中,请稍后...');'x5Rule://'+input+'@' + getVar('_x5')\\\";\"},{\"col_type\":\"movie_3\",\"name\":\"yzm\",\"path\":\"yzm\",\"rule\":\"log(MY_HOME)\\nwhile (/请输入验证码|系统安全验证/.test(html)) {\\nrc('https://gitcode.net/liuzaoyue/hai/-/raw/master/juyue.js', 24); \\n let headers = {\\n \\\"User-Agent\\\": MOBILE_UA,\\n \\\"Referer\\\": MY_URL\\n }\\n let sz = ocr(MY_HOME + '/index.php/verify/index.html?', headers); \\n fetch(MY_HOME + '/index.php/ajax/verify_check?type=search&verify=' + sz, {\\n headers: headers,\\n method: 'POST'\\n }) \\n var yz = MY_URL\\n log(yz)\\n html = request(yz, {\\n // headers: headers\\n })\\n}\\nif (/频繁操作/.test(html)) {\\n d.push({\\n title: '网站搜索时间间隔',\\n desc: \\\"下拉重试\\\"\\n})\\n\\n}\"}]","proxy":"","icon":"https://www.jjduanju.com/favicon.ico"},{"last_chapter_rule":"","title":"黄人影视","author":"道长","version":1,"type":"video","url":"hiker://empty##http://iqyi.xiaohuangrentv.com/api.php/provide/vod/#pg=fypage","col_type":"movie_3_marquee","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"影视","year_url":"","find_rule":"js:\nrequire(config.模板);\n一级();","searchFind":"js:\nrequire(config.模板);\n搜索一级()","search_url":"hiker://empty##?wd=**&pg=fypage&ac=videolist","group":"⑧短剧","detail_col_type":"text_5","detail_find_rule":"js:\nrequire(config.模板);\n二级();","sdetail_col_type":"text_5","sdetail_find_rule":"*","ua":"mobile","preRule":"js:\nvar type='cms';\nrequire('https://gitcode.net/qq_32394351/dr/-/raw/master/js/资源网预处理.js');","pages":"[]","proxy":"","icon":"https://i0.wp.com/cdn.jsdelivr.net/gh/youjiav/newfile/202406/d9dd0102bf8874d1bc1f.png"},{"last_chapter_rule":"","title":"龙伊采集","author":"道长","version":1,"type":"video","url":"hiker://empty##http://apple.xn--kwr743m.top/api.php/app#pg=fypage","col_type":"movie_3_marquee","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"影视","year_url":"","find_rule":"js:\nrequire(config.模板);\n一级();","searchFind":"js:\nrequire(config.模板);\n搜索一级()","search_url":"hiker://empty##?wd=**&pg=fypage&ac=videolist","group":"⑧短剧","detail_col_type":"text_5","detail_find_rule":"js:\nrequire(config.模板);\n二级();","sdetail_col_type":"text_5","sdetail_find_rule":"*","ua":"mobile","preRule":"js:\nrequire('https://gitcode.net/qq_32394351/dr/-/raw/master/js/资源网预处理.js');","pages":"[]","proxy":"","icon":"https://i0.wp.com/cdn.jsdelivr.net/gh/youjiav/newfile/202406/d9dd0102bf8874d1bc1f.png"},{"last_chapter_rule":"","title":"速博采集","author":"道长","version":1,"type":"video","url":"hiker://empty##https://subocaiji.com/api.php/provide/vod/#pg=fypage","col_type":"movie_3_marquee","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"影视","year_url":"","find_rule":"js:\nrequire(config.模板);\n一级();","searchFind":"js:\nrequire(config.模板);\n搜索一级()","search_url":"hiker://empty##?wd=**&pg=fypage&ac=videolist","group":"⑧短剧","detail_col_type":"text_5","detail_find_rule":"js:\nrequire(config.模板);\n二级();","sdetail_col_type":"text_5","sdetail_find_rule":"*","ua":"mobile","preRule":"js:\nrequire('https://gitcode.net/qq_32394351/dr/-/raw/master/js/资源网预处理.js');","pages":"[]","proxy":"","icon":"https://i0.wp.com/cdn.jsdelivr.net/gh/youjiav/newfile/202406/d9dd0102bf8874d1bc1f.png"},{"last_chapter_rule":"js:\nvar chp = [];\ntry {\n var html = getResCode();\n var conts = parseDomForArray(html, 'body&&.sort-list');\n for (var i = 0; i < conts.length; i++) {\n var list = pdfa(conts[i], 'body&&li');\n chp.push(list.length);\n } \n} catch (e) {}\nsetResult('更新至:' + (Math.max.apply(null, chp)));","title":"土狗短剧","author":"R&海阔小白","version":0,"type":"video","url":"hiker://empty##https://www.topdog.cc/index.php/vodshow/21--------fypage---.html","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\naddListener(\"onClose\", $.toString(() => {\n let keys = listMyVarKeys();\n for (let it of keys) {\n clearMyVar(it);\n }\n}));\nvar getRangeColors = function() {       \n return '#' + ('00000' + (Math.random() * 0x1000000 << 0).toString(16)).substr(-6);     \n}\nconst 下一页 = \"pd(html, 'a:matches(下一页)&&href')\";\nconst page = MY_PAGE;\neval(JSON.parse(request('hiker://page/yi')).rule)\n\nvar 定位信息 = [{\n 大类定位: '.screen_list',\n 小类: 'body&&a:not(:matches(首页|资讯|APP|专题|社群|热搜|留言|福利|下载|新版|解析))',\n 链接处理: (u) => {\n let url = u.replace(/type(\\/\\w+)\\.html/, 'show$1-----------.html');\n return url\n }\n}, {\n 一级定位: 'body&&.screen_list,4:not(:has(:matches(分类)))||.leo-mod-title.leo-pl-20',\n\n}]\n\n\nMY_URL = MY_URL.replace('hiker://empty##', '')\nlet true_url = getTruelink(MY_RULE.url, MY_URL, page);\nlog(true_url)\n\nvar html = request(true_url)\nconst dc = dynamicClass({\n 分类颜色: getRangeColors()\n});\ndc.开启折叠()\ndc.开启搜索()\ndc.创建动态分类(定位信息)\n\nvar parseRule = {\n list: 'body&&.vodlist_item', //统一item\n title: 'a&&title',\n desc: '.pic-text&&Text',\n img: 'img||a&&data-src||data-original',\n url: 'a&&href',\n ref: '@Referer=',\n imt: true,\n //backimg: true,\n}\n\nCreate.List(d, html, parseRule);\nautoPage();\n\nsetResult(d)","searchFind":"js:\nvar d = [];\nvar html = getResCode();\nvar list = pdfa(html, 'body&&.searchlist_item');\nfor (var j in list) {\n d.push({\n title: pdfh(list[j], 'a&&title'),\n desc: pdfh(list[j], '.pic_text&&Text'),\n \n img: pd(list[j], '.lazyload&&data-original'),\n url: pd(list[j], 'a&&href') + '#immersiveTheme#'\n });\n}\nsetResult(d);","search_url":"https://www.topdog.cc/vodsearch/**----------fypage---.html","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar res = {};\nvar d = [];\nMY_URL=MY_URL.replace('hiker://empty##','');\nvar html = fetch(MY_URL);\nconst Color = \"#11999e\";\n\nvar title = pdfh(html, 'h2&&Text');\nvar des_desc = pdfh(html, '.left:contains(简介)&&Text').replace('展开全部', '').replace('简介:', '').replace(' ', '').replace('bbb', '').replace('ccc', '').replace('eee', '');\n//二级新样式by顺承天意(已封装断插,变量名lazy)\nconst hd = require(\"http://hiker.nokia.press/hikerule/rulelist.json?id=2968&v=1\");\nhd(d, {\n //显示的白色大字\n 大字: title,\n //片名搜索用\n 片名: title,\n //图片一定不要加Referer\n 图片: pd(html, '.lazyload&&data-original'),\n //描述里用
换行\n 描述: pdfh(html, 'body&&.data,0&&Text').substring(0, 18) + '
' + pdfh(html, 'body&&.data,1&&Text').substring(0, 18) + '
' + pdfh(html, 'body&&.data,3&&Text').substring(0, 18) + '
简介: ' + des_desc,\n});\n\nvar tabs = pdfa(html, 'body&&.play_source_tab&&a'); //线路\nvar conts = pdfa(html, 'body&&.content_playlist'); //选集\n\neval(JSON.parse(fetch('hiker://page/lazy', {})).rule);\n\n\nfor (var i = 0; i < conts.length; i++) {\n var icon_s = 'https://ghproxy.com/https://raw.githubusercontent.com/ls125781003/tubiao/main/messy/';\n if (getVar('shsort', '1') == '1') {\n var list = parseDomForArray(conts[i], 'body&&a');\n var avatar = icon_s + '129.svg'\n } else {\n var list = parseDomForArray(conts[i], 'ul&&li').reverse();\n var avatar = icon_s + '132.svg'\n }\n var line = pdfh(tabs[i], 'a&&Text').replace('-官方', '').replace('备用资源', '');\n\n if (list != null) {\n d.push({\n title: '' + line + '' + '\\t\\t' + '' + (i + 1) + '/' + conts.length + ' ',\n url: \"hiker://empty@lazyRule=.js:putVar('shsort', getVar('shsort','1')=='1'?'0':'1');refreshPage();'hiker://empty'\",\n col_type: 'avatar',\n img: avatar\n });\n\n for (var j = 0; j < list.length; j++) {\n var jm = pdfh(list[j], 'a&&Text').replace(/第|集|话|期/g, '').replace(/预告/g, '📢');\n var url = pd(list[j], 'a&&href');\n if (list.length <= 2) {\n var col = 'text_2'\n } else {\n var col = jm.length > 4 ? 'text_2' : 'text_4'\n }\n d.push({\n title: jm,\n url: url + lazy,\n col_type: col,\n extra: {\n id: url,\n blockRules: [\n \".jpg\",\n \".jpeg\",\n \".png\",\n \".mp4\",\n \".m3u8\",\n \".gif\"\n ]\n }\n });\n }\n }\n}\nres.data = d;\nsetHomeResult(res);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"一级分类列表\",\"path\":\"yi\",\"rule\":\"js:\\n/*\\n一级封装 \\n动态分类 列表创建 自动下一页\\nver 20230710 1.0\\n*/\\nfunction dynamicClass(options) {\\n const obj = {\\n //默认值\\n layout: \\\"undefined\\\",\\n html: \\\"empty\\\",\\n page: 0,\\n 分类颜色: \\\"#FA7298\\\",\\n 折叠: \\\"““””\\\" + \\\"∨\\\".fontcolor(\\\"#1aad19\\\") + \\\"\\\",\\n 展开: \\\"““””\\\" + \\\"∧\\\".fontcolor(\\\"#FF0000\\\") + \\\"\\\",\\n open: true,\\n state: MY_RULE.url,\\n search: false,\\n clears: [],\\n clearall: [\\\"yi_firstpage\\\"],\\n debug: false,\\n\\n 预设(param) {\\n if(param==undefined){\\n param=[];\\n }\\n Object.keys(param).forEach((property) => {\\n // 对每个属性名执行操作\\n const value = param[property]; // 获取属性值\\n // 在这里执行您的操作\\n this[property] = value;\\n if (this.debug) {\\n console.log(property + \\\":\\\" + value);\\n }\\n });\\n },\\n evalJSRule(item, jsRule) {\\n let rule = jsRule.replace(\\\"@js:\\\", \\\"\\\");\\n rule = rule.trim();\\n //log($.stringify(rule))\\n let input = item;\\n if (rule.startsWith(\\\"(\\\")) {\\n eval(\\\"result = \\\" + rule);\\n } else {\\n /**\\n * 还原成 $.toString(...) 的最终结果,达到最终处理方式跟上面的 if 一致的目的\\n */\\n eval(\\\"result = \\\" + \\\"(() => {\\\" + rule + \\\"})()\\\");\\n }\\n return result || \\\"\\\";\\n },\\n getTitle(src, category) {\\n let title = \\\"\\\";\\n let titleRule = category || \\\"a&&Text\\\";\\n if (titleRule.startsWith(\\\"@js:\\\")) {\\n title = this.evalJSRule(src, titleRule);\\n } else {\\n title = parseDomForHtml(src, titleRule);\\n }\\n return title || \\\"\\\";\\n },\\n getUrl(src, category) {\\n let url = \\\"\\\";\\n let urlRule = category.链接 || \\\"a&&href\\\";\\n if (urlRule.startsWith(\\\"@js:\\\")) {\\n url = this.evalJSRule(src, urlRule);\\n } else {\\n url = pd(src, urlRule);\\n }\\n if (typeof category.链接处理 == \\\"function\\\") {\\n url = category.链接处理(url);\\n }\\n return url || \\\"\\\";\\n },\\n isNull(param) {\\n if (param == null) {\\n return this;\\n }\\n return false;\\n },\\n isBoolean(variable) {\\n if (typeof variable !== \\\"boolean\\\") {\\n throw new Error(\\\"开启折叠请传入布尔值\\\");\\n }\\n },\\n 清除(list) {\\n if (this.isNull(list)) {\\n return this;\\n }\\n if (list.constructor == String) {\\n throw new Error(\\\"清除报错:请传列表\\\");\\n }\\n this.clears = list;\\n return this;\\n },\\n 全清(list) {\\n if (this.isNull(list)) {\\n return this;\\n }\\n var c = this.clearall;\\n list = c.concat(list);\\n this.clearall = list;\\n return this;\\n },\\n 源码(input) {\\n this.html = input;\\n return this;\\n },\\n 界面(input) {\\n this.layout = input;\\n return this;\\n },\\n 页码(input) {\\n this.page = input;\\n return this;\\n },\\n 状态(input) {\\n this.state = input;\\n return this;\\n },\\n 开启搜索() {\\n this.search = true;\\n return this;\\n },\\n 开启折叠(input) {\\n if (input == undefined) {\\n input = true;\\n }\\n this.isBoolean(input);\\n this.open = input;\\n return this;\\n },\\n setTitle(k, i, t) {\\n return k == i ? \\\"““””\\\" + t.fontcolor(this.分类颜色) : t;\\n },\\n action(obj) {\\n return [\\n {\\n title: \\\"清除状态\\\",\\n js: $.toString((obj) => {\\n log(obj);\\n clearMyVar(obj.state);\\n clearMyVar(\\\"head.cate\\\");\\n obj.all.forEach((item) => {\\n clearMyVar(item);\\n });\\n obj.cl.forEach((item) => {\\n clearMyVar(item);\\n });\\n refreshPage();\\n }, obj),\\n },\\n ];\\n },\\n checkParam() {\\n var obj = {};\\n if (this.page == 0 && typeof page == \\\"undefined\\\") {\\n throw new Error(\\\"请传入页码\\\");\\n } else {\\n if (typeof page == \\\"undefined\\\") {\\n obj[\\\"页码\\\"] = this.page;\\n } else {\\n obj[\\\"页码\\\"] = page;\\n }\\n }\\n if (this.html == \\\"empty\\\" && typeof html == \\\"undefined\\\") {\\n throw new Error(\\\"请传入源码\\\");\\n } else {\\n if (typeof html == \\\"undefined\\\") {\\n obj[\\\"源码\\\"] = this.html;\\n } else {\\n obj[\\\"源码\\\"] = html;\\n }\\n }\\n if (this.layout == \\\"undefined\\\" && typeof d == \\\"undefined\\\") {\\n throw new Error(\\\"请传入界面\\\");\\n } else {\\n if (typeof d == \\\"undefined\\\") {\\n obj[\\\"界面\\\"] = this.layout;\\n } else {\\n obj[\\\"界面\\\"] = d;\\n }\\n }\\n return obj;\\n },\\n 创建动态分类(ruleObj) {\\n if (ruleObj == undefined) {\\n ruleObj = [];\\n }\\n //初始化变量开始\\n const param = this.checkParam();\\n const page = param.页码;\\n const html = param.源码;\\n const d = param.界面;\\n const 状态 = this.state;\\n const search = this.search;\\n const empty = \\\"hiker://empty\\\";\\n const 折叠状态 = this.open;\\n var 展开 = this.展开;\\n var 折叠 = this.折叠;\\n var 全清 = this.clearall;\\n var 清除 = this.clears;\\n //初始化变量结束\\n let init_cate = new Array(20).fill(\\\"0\\\");\\n const fold = getMyVar(MY_RULE.group, \\\"0\\\");\\n const cate_temp = JSON.parse(\\n getMyVar(\\\"head.cate\\\", JSON.stringify(init_cate))\\n );\\n if (search && page == 1) {\\n d.push({\\n title: \\\"\\\",\\n url: \\\"'hiker://search?rule=\\\" + MY_RULE.title + \\\"&s='+input\\\",\\n desc: \\\"搜索关键词\\\",\\n col_type: \\\"input\\\",\\n extra: {\\n defaultValue: getMyVar(\\\"keyword\\\", \\\"\\\"),\\n onChange: $.toString(() => {\\n putMyVar(\\\"keyword\\\", input);\\n }),\\n },\\n });\\n }\\n const categories = [];\\n ruleObj.forEach((x) => {\\n var list = [];\\n if(x.一级定位){\\n if (x.一级定位.startsWith(\\\"@js:\\\")) {\\n list = this.evalJSRule(html, x.一级定位);\\n } else {\\n list = pdfa(html, x.一级定位);\\n }\\n }\\n if(x.大类定位){\\n if (x.大类定位.startsWith(\\\"@js:\\\")) {\\n list = this.evalJSRule(html, x.大类定位);\\n } else {\\n list = [pdfa(html, x.大类定位).join('\\\\n')];\\n }\\n }\\n var 一级 = list.map((s) => {\\n var slist = [];\\n if (!(\\\"小类\\\" in x)) {\\n x.小类 = \\\"body&&a:not(:matches(首页)):not(a:not([href]))\\\";\\n }\\n if (x.小类.startsWith(\\\"@js:\\\")) {\\n slist = this.evalJSRule(s, x.小类);\\n } else {\\n slist = pdfa(s, x.小类);\\n }\\n var 定位 = slist.map((item) => {\\n var title = this.getTitle(item, x.标题);\\n var url = this.getUrl(item, x);\\n var obj = { title: title, url: url };\\n return JSON.stringify(obj);\\n });\\n return 定位;\\n });\\n //log(一级)\\n //log(一级.length)\\n if (一级.length == 1) {\\n categories.push(一级.join(\\\"\\\\n\\\"));\\n } else {\\n 一级.forEach((item) => {\\n categories.push(item.join(\\\",\\\"));\\n });\\n }\\n //log(categories)\\n });\\n if (折叠状态) {\\n if (page == 1) {\\n d.push({\\n title: fold === \\\"1\\\" ? 折叠 : 展开,\\n url: $(\\\"#noLoading#\\\").lazyRule(\\n (fold, u, all) => {\\n putMyVar(MY_RULE.group, fold === \\\"1\\\" ? \\\"0\\\" : \\\"1\\\");\\n /*all.forEach((item) => {\\n clearMyVar(item);\\n });*/\\n refreshPage(false);\\n return \\\"hiker://empty\\\";\\n },\\n fold,\\n 状态,\\n 全清\\n ),\\n col_type: \\\"scroll_button\\\",\\n extra: {\\n longClick: this.action({\\n state: 状态,\\n all: 全清,\\n cl: 清除,\\n }),\\n },\\n });\\n }\\n }\\n if (page == 1) {\\n categories.forEach((category, index) => {\\n //log(categories)\\n let sub_categories = [];\\n /*if (小类定位.includes(\\\";\\\")) {\\n sub_categories = pdfa(category, 小类定位.split(\\\";\\\")[0]);\\n if (sub_categories.length == 0) {\\n sub_categories = pdfa(category, 小类定位.split(\\\";\\\")[1]);\\n }\\n } else {*/\\n //log(index)\\n sub_categories = JSON.parse(`[${category}]`);\\n // sub_categories = pdfa(category, 小类定位);\\n //}\\n if (index === 0) {\\n sub_categories.forEach((item, key) => {\\n\\n //let title = pdfh(item, _大类标题);\\n let title = item.title;\\n if (typeof 排除 != \\\"undefined\\\" && 排除 != \\\"\\\") {\\n title = title.replace(newRegExp(排除, \\\"g\\\"), \\\"\\\");\\n }\\n let json=''\\n json = item.url;\\n \\n let params = {\\n cate_temp: cate_temp,\\n key: key,\\n page: page,\\n clears: 清除,\\n json: json,\\n state: 状态,\\n allclears: 全清,\\n };\\n\\n //let url = pd(item, _大类链接);\\n let url = item.url;\\n /*if (大类处理) {\\n url = 一级分类处理(url);\\n }*/\\n //log(url)\\n d.push({\\n title: this.setTitle(key.toString(), cate_temp[index], title),\\n col_type: \\\"scroll_button\\\",\\n url: $(\\\"hiker://empty#noLoading#\\\").lazyRule((params) => {\\n let new_cate = [];\\n params.clears.forEach((item) => {\\n clearMyVar(item);\\n });\\n params.allclears.forEach((item) => {\\n clearMyVar(item);\\n });\\n\\n params.cate_temp.forEach((cate, index) => {\\n new_cate.push(index === 0 ? params.key.toString() : \\\"0\\\");\\n });\\n putMyVar(\\\"head.cate\\\", JSON.stringify(new_cate));\\n if (params.json.constructor === Object) {\\n putMyVar(\\\"dt_\\\" + params.json.type, params.json.value);\\n } else {\\n putMyVar(params.state, params.json);\\n }\\n refreshPage(true);\\n return \\\"hiker://empty\\\";\\n }, params),\\n });\\n });\\n d.push({\\n col_type: \\\"blank_block\\\",\\n });\\n } else if (fold === \\\"1\\\" || 折叠状态 == false) {\\n sub_categories.forEach((item, key) => {\\n var extrapos = false;\\n /*if (item.includes('type=\\\"@extra\\\"')) {\\n extrapos = true;\\n //log('附加定位')\\n }*/\\n\\n if (extrapos) {\\n var title = pdfh(item, \\\"a&&Text\\\");\\n if (typeof 排除 != \\\"undefined\\\" && 排除 != \\\"\\\") {\\n title = title.replace(new RegExp(排除, \\\"g\\\"), \\\"\\\");\\n }\\n var json = {\\n type: pdfh(item, \\\"a&&state\\\"),\\n value: pdfh(item, \\\"a&&value\\\"),\\n };\\n } else {\\n //var title = pdfh(item, 分类标题);\\n var title = item.title;\\n if (typeof 排除 != \\\"undefined\\\" && 排除 != \\\"\\\") {\\n title = title.replace(new RegExp(排除, \\\"g\\\"), \\\"\\\");\\n }\\n\\n var json = \\\"\\\";\\n /*switch (true) {\\n case 分类链接.includes(\\\"@@@\\\"):\\n json = {\\n type: pdfh(item, 分类链接.split(\\\"@@@\\\")[0]),\\n value: pdfh(item, 分类链接.split(\\\"@@@\\\")[1]),\\n };\\n break;\\n case 分类链接.includes(\\\"@@\\\"):\\n json = {\\n type: 分类链接.split(\\\"@@\\\")[0],\\n value: pdfh(item, 分类链接.split(\\\"@@\\\")[1]),\\n };\\n break;\\n default:\\n json = item.url;\\n // json = pd(item, 分类链接);\\n break;\\n }*/\\n json = item.url;\\n /*var json=分类链接.includes('@@@')?{\\n type:pdfh(item,分类链接.split('@@@')[0]),\\n value:pdfh(item,分类链接.split('@@@')[1]),\\n }:pd(item,分类链接);\\n \\n json=分类链接.includes('@@')?{\\n type:分类链接.split('@@')[0],\\n value:pdfh(item,分类链接.split('@@')[1]),\\n }:pd(item,分类链接);*/\\n }\\n\\n let params = {\\n cate_temp: cate_temp,\\n index: index,\\n key: key,\\n page: page,\\n json: json,\\n state: 状态,\\n allclears: 全清,\\n };\\n d.push({\\n title: this.setTitle(key.toString(), cate_temp[index], title),\\n url: $(\\\"hiker://empty\\\" + \\\"#noLoading#\\\").lazyRule((params) => {\\n params.allclears.forEach((item) => {\\n clearMyVar(item);\\n });\\n params.cate_temp[params.index] = params.key.toString();\\n putMyVar(\\\"head.cate\\\", JSON.stringify(params.cate_temp));\\n if (params.json.constructor === Object) {\\n putMyVar(\\\"dt_\\\" + params.json.type, params.json.value);\\n } else {\\n putMyVar(params.state, params.json);\\n }\\n refreshPage();\\n return \\\"hiker://empty\\\";\\n }, params),\\n col_type: \\\"scroll_button\\\",\\n });\\n });\\n d.push({\\n col_type: \\\"blank_block\\\",\\n });\\n }\\n });\\n }\\n },\\n };\\n obj.预设(options);\\n return obj;\\n}\\n\\n //.状态(\\\"url\\\")\\n //.界面(d)\\n //.源码(xhtml)\\n //.全清([\\\"1\\\", \\\"2\\\"])\\n //.清除()\\n //.开启折叠()\\n //.页码(page)\\n //.创建动态分类(定位列表);\\n\\nfunction getObjfuc(obj) {\\n const methods = Object.getOwnPropertyNames(obj).filter(\\n (name) => typeof obj[name] === \\\"function\\\"\\n );\\n if (methods.length == 0) {\\n console.log(obj.toString());\\n return;\\n }\\n const formattedString = methods\\n .map((name) => {\\n const fn = obj[name];\\n const fnString = `${name}: ${fn.toString()}`;\\n const restoredFnString = fnString.replace(\\n /\\\\\\\\u([\\\\d\\\\w]{4})/gi,\\n function (match, grp) {\\n return String.fromCharCode(parseInt(grp, 16));\\n }\\n );\\n return restoredFnString;\\n })\\n .join(\\\"\\\\n\\\");\\n console.log(formattedString);\\n}\\n\\n/*\\nver 2023-06-16 1.0\\n*/\\nvar 状态 =\\n typeof 状态标记 != \\\"undefined\\\" && 状态标记 != \\\"\\\" ? 状态标记 : MY_RULE.url;\\n\\nlet dt_debug=false; \\n \\naddListener(\\n \\\"onClose\\\",\\n $.toString(() => {})\\n);\\n\\nvar Create = {\\n spage: {\\n get: function () {\\n return storage0.getMyVar(\\\"spage\\\", \\\"\\\");\\n },\\n set: function (url) {\\n storage0.putMyVar(\\\"spage\\\", url);\\n },\\n },\\n nextPage: function () {\\n var result = false;\\n try {\\n var next = eval(下一页);\\n //log('n:'+next)\\n if(next ==\\\"\\\"){\\n throw new Error('下一页链接为空')\\n }\\n result=true;\\n if(true_url==next){\\n result=false;\\n }\\n } catch (e) {\\n //log(\\\"可能不存在下一页或者下一页定位有问题\\\");\\n log(\\\"错误信息:\\\" + e.message);\\n }\\n if ((next == \\\"\\\" || next == undefined) && page == 1) {\\n next = true_url;\\n } else {\\n //result=false;\\n next = getMyVar(状态);\\n }\\n //log('l'+true_url)\\n //log('n'+next)\\n if(page!=1){\\n if (true_url == next&&!result) {\\n result = false;\\n } else {\\n result = true;\\n }\\n }\\n return result;\\n //putMyVar(状态, next);\\n },\\n getBackImage: function (imgurl) {\\n var result = imgurl;\\n try {\\n result = /url(?:\\\\s+)?\\\\((.*?)\\\\)/g\\n .exec(imgurl)[1]\\n .replace(/('|\\\"|")/gm, \\\"\\\");\\n } catch {}\\n return result;\\n },\\n httpHandle: function (input) {\\n if (input.startsWith(\\\"http\\\")) {\\n return input;\\n } else if (input.startsWith(\\\"//\\\")) {\\n return \\\"https:\\\" + input;\\n } else if (input.startsWith(\\\"/\\\")) {\\n return MY_HOME + input;\\n }\\n },\\n imgHandle: function (item, rule) {\\n var img = \\\"\\\";\\n if (rule.img.startsWith(\\\"pd\\\")) {\\n img = eval(rule.img);\\n } else if (rule.backimg) {\\n img = pdfh(item, rule.img);\\n img = this.getBackImage(img);\\n img = this.httpHandle(img);\\n } else {\\n img = pdfh(item, rule.img);\\n if (!img.startsWith(\\\"http\\\")) {\\n img = pd(item, rule.img);\\n img = this.httpHandle(img);\\n }\\n }\\n return img + rule.ref;\\n },\\n urlHandle: function (item, rule) {\\n var href = \\\"\\\";\\n if (rule.url.startsWith(\\\"pd\\\")) {\\n href = eval(rule.url);\\n } else {\\n href = pd(item, rule.url);\\n }\\n href = rule.imt ? href + \\\"#immersiveTheme#\\\" : href;\\n return href;\\n },\\n setContent: function (item, input) {\\n let output = \\\"\\\";\\n if (input == undefined) {\\n return output;\\n }\\n if (input.startsWith(\\\"pd\\\")) {\\n output = eval(input);\\n } else {\\n output = pdfh(item, input);\\n }\\n return output;\\n },\\n refresh: function () {\\n addListener(\\n \\\"onRefresh\\\",\\n $.toString((u) => {\\n clearMyVar(\\\"yilist\\\");\\n //var p = storage0.getMyVar('spage', '');\\n //putMyVar(u, p);\\n }, 状态)\\n );\\n },\\n jsonList: function (arr, json, rule) {\\n if (json.constructor != Object) {\\n try {\\n json = JSON.parse(json);\\n } catch {}\\n }\\n json[rule.list].forEach((item) => {\\n var img = eval(rule.img) + rule.ref;\\n var href = eval(rule.url);\\n href = rule.imt ? href + \\\"#immersiveTheme#\\\" : href;\\n var lazy = rule.lazy ? rule.lazy : \\\"\\\";\\n var dd = {\\n title: eval(rule.title),\\n desc: eval(rule.desc),\\n content: eval(rule.content),\\n pic_url: img,\\n url: \\\"hiker://empty##\\\" + href,\\n col_type: rule.col_type,\\n extra: {\\n img: img,\\n },\\n };\\n if (lazy != \\\"\\\") {\\n dd[\\\"url\\\"] = href + lazy;\\n }\\n arr.push(dd);\\n });\\n },\\n ruleList: function (arr, html, rule) {\\n var list = pdfa(html, rule.list);\\n list.forEach((item, i) => {\\n var title = this.setContent(item, rule.title);\\n var desc = this.setContent(item, rule.desc);\\n var img = this.imgHandle(item, rule);\\n var url = this.urlHandle(item, rule);\\n var content = this.setContent(item, rule.content);\\n var lazy = rule.lazy ? rule.lazy : \\\"\\\";\\n var dd = {\\n title: title,\\n desc: desc,\\n pic_url: img,\\n url: \\\"hiker://empty##\\\" + url,\\n content: content,\\n col_type: rule.col_type,\\n extra: {\\n img: img,\\n },\\n };\\n if (lazy != \\\"\\\") {\\n dd[\\\"url\\\"] = url + lazy;\\n }\\n arr.push(dd);\\n });\\n },\\n List: function (arr, html, rule, param) {\\n param = param ? param : {};\\n var auto = param.auto ? param.auto : false;\\n var show = param.show ? param.show : false;\\n if (page == 1) {\\n //this.spage.set(true_url);\\n }\\n this.refresh();\\n var list = pdfa(html, rule.list);\\n //log(this.nextPage())\\n if ((storage0.getMyVar('yi_isnext','t')=='t'&&list.length > 0) || page == 1) {\\n list.forEach((item, i) => {\\n deleteItem(\\\"pagenum\\\");\\n deleteItem(\\\"pageline\\\");\\n var id = \\\"\\\";\\n var cls = \\\"\\\";\\n var title = this.setContent(item, rule.title);\\n var desc = this.setContent(item, rule.desc);\\n var img = this.imgHandle(item, rule);\\n var url = this.urlHandle(item, rule);\\n var content = this.setContent(item, rule.content);\\n if (i == list.length - 1) {\\n id = \\\"lastid_\\\" + page;\\n cls = \\\"lastmark\\\";\\n }\\n d.push({\\n title: title,\\n desc: desc,\\n pic_url: img,\\n url: \\\"hiker://empty##\\\" + url,\\n content: content,\\n col_type: rule.col_type,\\n extra: {\\n title: title,\\n img: img,\\n id: id,\\n cls: cls,\\n },\\n });\\n if (i == list.length - 1 && show) {\\n d.push({\\n col_type: \\\"line\\\",\\n extra: {\\n id: \\\"pageline\\\",\\n },\\n });\\n\\n d.push({\\n title: \\\"““””加载中...\\\",\\n url: \\\"hiker://empty\\\",\\n col_type: \\\"text_center_1\\\",\\n extra: {\\n id: \\\"pagenum\\\",\\n },\\n });\\n }\\n });\\n } else {\\n updateItem(\\\"pagenum\\\", {\\n title: '““””到底了',\\n url: \\\"hiker://empty\\\",\\n col_type: \\\"text_center_1\\\",\\n extra: {\\n id: \\\"last\\\",\\n },\\n });\\n }\\n if (list.length == 0 && page == 1) {\\n d.push({\\n col_type: \\\"line\\\",\\n });\\n d.push({\\n title: '““””无内容',\\n url: \\\"hiker://empty\\\",\\n col_type: \\\"text_center_1\\\",\\n extra: {},\\n });\\n }\\n if(this.nextPage()){\\n //log('t');\\n storage0.putMyVar('yi_isnext','t');\\n }else{\\n //log('f');\\n storage0.putMyVar('yi_isnext','f');\\n }\\n if (auto) {\\n //createNextPage();\\n autoPage();\\n }\\n },\\n};\\n\\nvar extMethod = {\\n ToParams: function () {\\n var json = arguments[0];\\n return Object.keys(json)\\n .map((key) => key + \\\"=\\\" + json[key])\\n .join(\\\"&\\\");\\n },\\n urlParse: function (u) {\\n var dict = {};\\n dict.Source = u;\\n let params = (url) => {\\n let queryParams = {};\\n let reg = /([^?=&]+)=([^?=&]+)/g;\\n url.replace(reg, function () {\\n queryParams[arguments[1]] = arguments[2];\\n });\\n return queryParams;\\n };\\n var javaUrl = JavaImporter(java.net.URL);\\n with (javaUrl) {\\n var url = new URL(u);\\n dict.Protocol = url.getProtocol();\\n dict.Host = url.getHost();\\n dict.Port = url.getPort();\\n dict.File = url.getFile();\\n dict.Path = url.getPath();\\n dict.Ref = url.getRef();\\n dict.Hosts = `${dict.Protocol}://${url.getHost()}`;\\n }\\n dict.Params = params(u);\\n return dict;\\n },\\n isEqual: function (x, y) {\\n const ok = Object.keys,\\n tx = typeof x,\\n ty = typeof y;\\n return x && y && tx === \\\"object\\\" && tx === ty\\n ? ok(x).length === ok(y).length &&\\n ok(x).every((key) => this.isEqual(x[key], y[key]))\\n : x === y;\\n },\\n findDifferentIndex: function (str1, str2) {\\n const diffChars = [];\\n for (let i = 0; i < str2.length; i++) {\\n if (str1[i] !== str2[i]) {\\n diffChars.push({\\n index: i,\\n s1: str1[i],\\n s2: str2[i],\\n });\\n }\\n }\\n return diffChars;\\n },\\n replaceCharAt: function (str, index, replacement) {\\n if (index < 0 || index >= str.length) {\\n return str;\\n }\\n //log(index)\\n const arr = str.split(\\\"\\\");\\n arr[index] = replacement;\\n return arr.join(\\\"\\\");\\n },\\n getObjectKeysDiff:function(obj1, obj2) {\\n const differentKeys = [];\\n for (let key in obj1) {\\n if (!obj2.hasOwnProperty(key) || obj1[key] !== obj2[key]) {\\n differentKeys.push(key);\\n }\\n }\\n for (let key in obj2) {\\n if (!obj1.hasOwnProperty(key)) {\\n differentKeys.push(key);\\n }\\n }\\n return differentKeys;\\n },\\n getNextUrl: function (source, target, params) {\\n var u1 = this.urlParse(source);\\n var u2 = this.urlParse(target);\\n var pa = undefined;\\n if (typeof params == \\\"object\\\") {\\n pa = params.hasOwnProperty(\\\"特征\\\") ? params.特征 : undefined;\\n }\\n var nexturl = source;\\n var ca = Object.keys(u2.Params).length == 0 ? \\\"\\\" : \\\"?\\\";\\n if (pa != undefined) {\\n var rs = String(u2.Path).replace(new RegExp(pa), \\\"$1fypage\\\");\\n nexturl = u2.Hosts + rs + ca + this.ToParams(u2.Params);\\n } else {\\n if (this.isEqual(u1.Params, u2.Params)) {\\n if(dt_debug){\\n log(u1.Path);\\n log(u2.Path);\\n }\\n var df = this.findDifferentIndex(String(u1.Path), String(u2.Path));\\n if(dt_debug){\\n log(df);\\n }\\n if (df.length == 1) {\\n var re = df[0].index;\\n } else {\\n var f = df.filter((x) => /\\\\d+/.test(x.s2));\\n var re = f[0].index;\\n }\\n var eq = this.replaceCharAt(String(u2.Path), re, \\\"fypage\\\");\\n nexturl = u2.Hosts + eq + ca + this.ToParams(u2.Params);\\n } else {\\n var ep=this.getObjectKeysDiff(u1.Params,u2.Params)\\n if(ep.length==1){\\n u1.Params[ep[0]]='fypage'\\n }else{\\n log(ep);\\n }\\n var eq = String(u1.Path).replace(/\\\\d+/, \\\"fypage\\\");\\n nexturl = u1.Hosts + eq + ca + this.ToParams(u1.Params);\\n }\\n }\\n //log('next:'+nexturl)\\n return nexturl;\\n },\\n};\\n\\nfunction getTruelink(mark, url, page) {\\n var p = getMyVar(mark, url).replace(\\\"fypage\\\", page);\\n if (page == 1) {\\n return getMyVar(\\\"yi_firstpage\\\", p);\\n } else if (p != \\\"\\\") {\\n return p;\\n } else {\\n return url;\\n }\\n}\\n//构建\\nfunction createNextPage() {\\n let startnum = 1;\\n var obj = arguments[0];\\n if (true_url != getMyVar(\\\"yi_pageurl\\\", \\\"\\\")) {\\n clearMyVar(\\\"yi_pageurl\\\");\\n }\\n if (page == startnum && getMyVar(\\\"yi_pageurl\\\") == \\\"\\\") {\\n putMyVar(\\\"yi_firstpage\\\", true_url);\\n try {\\n var next = eval(下一页);\\n //log(\\\"next\\\");\\n //log(next);\\n } catch {\\n log(\\\"可能不存在下一页或者下一页定位有问题\\\");\\n next = \\\"\\\";\\n }\\n if (next != \\\"\\\") {\\n var nxurl = extMethod.getNextUrl(true_url, next, obj);\\n //log(\\\"nxurl:\\\" + nxurl);\\n putMyVar(状态, nxurl);\\n putMyVar(\\\"yi_pageurl\\\", nxurl);\\n }\\n }\\n}\\n\\nfunction autoPage() {\\n if(page==1){\\n putMyVar(\\\"yi_firstpage\\\", true_url);\\n }\\n try {\\n var next = eval(下一页);\\n //log(\\\"next\\\");\\n //log('next:'+next);\\n } catch {\\n log(\\\"可能不存在下一页或者下一页定位有问题\\\");\\n next = \\\"\\\";\\n }\\n if (next != \\\"\\\") {\\n putMyVar(状态, next);\\n }\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"解析\",\"path\":\"lazy\",\"rule\":\"putVar(\\\"_x5\\\", $.toString(() => {\\n var urls = _getUrls()\\n function check(u){\\n if (u.match(/\\\\.mp3|\\\\.mp4|\\\\.m3u8/) && !u.match(/html|m3u8\\\\.tv|\\\\&next|ac\\\\=dm|\\\\=http|https\\\\:\\\\/\\\\/[\\\\d]\\\\.m3u8|\\\\?url\\\\=\\\\/m3u8/)){\\n // fy_bridge_app.log(urls[i])\\n return true;\\n }\\n return false;\\n }\\n for (var i in urls) {\\n if (check(urls[i])){\\n // fy_bridge_app.log(urls[i])\\n return urls[i]\\n }\\n if(urls[i].includes(\\\"url=http\\\")){\\n let u = urls[i].split(\\\"url=\\\")[1];\\n if(check(u)){\\n return u;\\n }\\n }\\n }\\n}))\\nvar lazy = \\\"@lazyRule=.js:showLoading('正在嗅探中,请稍后...');'x5Rule://'+input+'@' + getVar('_x5')\\\";\"}]","proxy":"","icon":"https://www.topdog.cc/Tpl/miaopon/demo/img/load.gif"},{"last_chapter_rule":"","title":"VIDEO短剧·Q","author":"发粪涂墙","version":0,"type":"video","url":"hiker://empty##https://www.jinyanw.com/type/youshengdongman-fypage.html","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\nvar getRangeColors = function() {       \n return '#' + ('00000' + (Math.random() * 0x1000000 << 0).toString(16)).substr(-6);     \n}\n\nconst 分类颜色 = getRangeColors()\nconst 大类定位 = 'body&&.stui-header__menu'\nconst 拼接分类 = 'body&&.stui-screen__list,2:5:not(:matches(类型))'\nconst 小类定位 = 'body&&a:not(:matches(首|专题|发布|奈飞))'\nconst 分类标题 = 'a&&Text'\nconst 分类链接 = 'a&&href'\nMY_URL = MY_URL.replace('hiker://empty##', '')\n\nlet true_url = getVar(MY_RULE.url, MY_URL)\nconst page = MY_PAGE\ntrue_url=true_url.replace(/vodtype(\\/\\d+).*/, 'vodshow$1-----------.html').replace('---.html', page + '---.html').replace(/(---\\d+.html)/, page + '$1')\nlog(true_url)\nvar html = request(true_url)\n\neval(JSON.parse(request('hiker://page/dtfl?rule=模板·Q')).rule)\nconst list = pdfa(html, 'body&&.stui-vodlist__item')\nlist.forEach(video => {\n d.push({\n title: pdfh(video, 'h4&&Text'),\n desc: pdfh(video, '.pic-text&&Text'),\n img: pd(video, '.lazyload&&data-original') + \"@Referer=\" + pd(video, '.lazyload&&data-original'),\n url: pd(video, 'a&&href') + '#immersiveTheme#',\n col_type: 'movie_3_marquee',\n })\n})\nsetResult(d);","searchFind":"js:\nvar d = [];\nvar html = getResCode();\nrequire('hiker://page/yzm?rule=模板·Q')\nvar list = pdfa(html, '.stui-vodlist&&li');\n\nfor (var i = 0; i < list.length; i++) {\n var L = list[i];\n d.push({\n title: pdfh(L, 'h4&&Text'),\n url: pd(L, 'a&&href') + \"#immersiveTheme#\",\n desc: pdfh(L, '.pic-text&&Text').replace(/\\//g, ' '),\n content: pdfh(L, 'p&&Text'),\n img: pd(L, '.lazyload&&data-original') + '@Referer=',\n });\n}\nsetResult(d)","search_url":"https://www.jinyanw.com/search/**----------fypage---.html","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar lazy = $('').lazyRule(() => {\n if (input.indexOf('magnet:?xt') == -1) {\n try {\n var html = JSON.parse(request(input).match(/r player_.*?=(.*?) {\n d.push({\n title: pdfh(video, 'h4&&Text'),\n desc: pdfh(video, '.pic-text&&Text'),\n img: pd(video, '.lazyload&&data-original') + \"@Referer=\" + pd(video, '.lazyload&&data-original'),\n url: pd(video, 'a&&href') + '#immersiveTheme#',\n col_type: 'movie_3_marquee',\n })\n})\nsetResult(d);","searchFind":"js:\nvar d = [];\nvar html = getResCode();\nrequire('hiker://page/yzm?rule=模板·Q')\nvar list = pdfa(html, '.stui-vodlist__media&&li');\n\nfor (var i = 0; i < list.length; i++) {\n var L = list[i];\n d.push({\n title: pdfh(L, 'h3&&Text'),\n url: pd(L, 'a&&href') + \"#immersiveTheme#\",\n desc: pdfh(L, '.pic-text&&Text').replace(/\\//g, ' '),\n content: pdfh(L, 'p&&Text'),\n img: pd(L, '.lazyload&&data-original') + '@Referer=',\n });\n}\nsetResult(d)","search_url":"https://www.ttzj666.com/vodsearch/page/fypage/wd/**","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar lazy = $('').lazyRule(() => {\n if (input.indexOf('magnet:?xt') == -1) {\n try {\n var html = JSON.parse(request(input).match(/r player_.*?=(.*?) {\n var urls = _getUrls()\n function check(u){\n if (u.match(/\\.mp3|\\.mp4|\\.m3u8/) && !u.match(/html|m3u8\\.tv|\\&next|ac\\=dm|\\=http|https\\:\\/\\/[\\d]\\.m3u8|\\?url\\=\\/m3u8/)){\n // fy_bridge_app.log(urls[i])\n return true;\n }\n return false;\n }\n for (var i in urls) {\n if (check(urls[i])){\n // fy_bridge_app.log(urls[i])\n return urls[i]\n }\n if(urls[i].includes(\"url=http\")){\n let u = urls[i].split(\"url=\")[1];\n if(check(u)){\n return u;\n }\n }\n }\n}))\nvar lazy = \"@lazyRule=.js:showLoading('正在获取站点资源,请稍后...');'x5Rule://'+input+'@' + getVar('_x5')\";\n\nvar d = [];\nvar html = getResCode();\nd.push({\n title: pdfh(html, 'h1&&Text'),\n desc: pdfh(html, '.data&&Text') + pdfh(html, '.data,4&&Text'),\n img: pdfh(html, '.lazyload&&data-original||src'),\n url: MY_URL,\n col_type: 'movie_1_vertical_pic_blur',\n});\nvar 线路 = 'body&&.dropdown-menu';\nvar 选集 = 'body&&.macplus-content__playlist';\nvar 线路名 = 'a&&Text';\nvar 选集列表 = 'ul&&li';\nrequire('hiker://page/erji?rule=模板·Q');\nsetResult(d);","sdetail_col_type":"text_2","sdetail_find_rule":"*","ua":"auto","preRule":"","pages":"[]","proxy":"","icon":"https://www.hndzwjx.com/macplus/favicon.ico"},{"last_chapter_rule":"js:\nvar chp = [];\ntry {\n var html = getResCode();\n var conts = parseDomForArray(html, 'body&&.myui-content__list');\n for (var i = 0; i < conts.length; i++) {\n var list = pdfa(conts[i], 'body&&a');\n chp.push(list.length);\n }\n} catch (e) {}\nsetResult('更新至:' + (Math.max.apply(null, chp)));","title":"小坝影视","author":"发粪涂墙&海阔小白","version":1,"type":"video","url":"hiker://empty##http://www.nanxiaoba.com/list1/fypage.html[firstPage=http://www.nanxiaoba.com/list1]","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = []\nvar getRangeColors = function() {       \n return '#' + ('00000' + (Math.random() * 0x1000000 << 0).toString(16)).substr(-6);     \n}\n\nconst 分类颜色 = getRangeColors()\nconst 大类定位 = 'body&&.head-nav'\nconst 拼接分类 = 'body&&.text-nowrap,1:'\nconst 小类定位 = 'body&&a:not(:matches(首页|TOP|今日|APP|留言|专题|热搜))'\nconst 分类标题 = 'a&&Text'\nconst 分类链接 = 'a&&href'\nMY_URL = MY_URL.replace('hiker://empty##', '')\nlet true_url = getVar(MY_RULE.url, MY_URL)\nconst page = MY_PAGE\nif (getVar(MY_RULE.url)) {\n true_url = true_url\n .replace('.html', '-' + page + '.html')\n}\n\nvar html = fetch(true_url, {\n headers: {\n 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0)'\n }\n})\n\neval(JSON.parse(request('hiker://page/dtfl?rule=模板·Q')).rule)\n\nconst list = pdfa(html, 'body&&.col-md-2')\nlist.forEach(video => {\n d.push({\n title: pdfh(video, 'h3&&Text'),\n desc: pdfh(video, '.continu&&Text'),\n img: pdfh(video, 'img&&data-original||src'),\n url: pd(video, 'a&&href') + '#immersiveTheme#',\n col_type: 'movie_3_marquee',\n })\n})\nsetResult(d);","searchFind":"js:\nvar d = [];\nvar html = getResCode();\nvar list = pdfa(html,'body&&.col-md-2');\nfor (var j in list) {\n  d.push({\n     title: pdfh(list[j], 'h3&&Text'),\n     desc:pdfh(list[j], '.continu&&Text'),\n     pic_url: pd(list[j], 'img&&data-original')+ '@Referer=',\n     url: pd(list[j], 'a&&href'),\n  });\n}\nsetResult(d);","search_url":"http://www.nanxiaoba.com/search/**/fypage.html","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar d = [];\nvar html = getResCode();\n\nvar lazy = $('').lazyRule(() => {\n if (input.indexOf('magnet:?xt') == -1) {\n try {\n var html = JSON.parse(request(input).match(/r player_.*?=(.*?)' + title + '';\n}\nlet line_model = 8;\nlet line_type_model = 'blank_block';\nd.push({\n title: 导演 + '\\n' + 主演,\n desc: 类型 + '\\n' + 地区,\n pic_url: 图片,\n url: MY_URL,\n col_type: 'movie_1_vertical_pic_blur'\n});\nd.push({\n title: '‘‘’’简介:' + 简介.substr(0, 55) + '...详情',\n url: 'hiker://empty#' + '\\n' + 简介 + `@rule=js:var res = {}; var d = [];d.push({title:'影片简介:'+ MY_URL.split('hiker://empty#')[1],col_type: 'long_text'});res.data = d; setHomeResult(res);`,\n col_type: 'text_1'\n});\nfor (let i = 0; i < line_model; i++) {\n d.push({\n col_type: line_type_model\n })\n}\n\n//处理推送TVBox start\nlet tfpush = getItem('webpush', '0');\nd.push({\n title: (getItem('webpush', '0') == '1' ? '单集推送🟢' : '单集推送🔴'),\n url: `hiker://empty@lazyRule=.js:getItem('webpush','0')=='1'?setItem('webpush','0'):setItem('webpush','1');refreshPage();'toast://切换成功!'`,\n\n col_type: 'scroll_button'\n});\nd.push({\n title: '设置电视IP',\n url: \"input://\" + getItem('hikertvboxset', 'http://' + getIP() + ':9978') + \"////请输入tvbox推送IP地址,如http://\" + getIP() + \":9978.js:setItem('hikertvboxset',input);refreshPage()\",\n col_type: 'scroll_button'\n});\nd.push({\n title: getItem('hikertvboxset', ''),\n //url: 'hiker://empty',\n url: \"input://\" + getItem('hikertvboxset', 'http://' + getIP() + ':9978') + \"////请输入tvbox推送IP地址,如http://\" + getIP() + \":9978.js:setItem('hikertvboxset',input);refreshPage()\",\n col_type: 'scroll_button'\n});\n\nvar playUrls = '';\nfor (var i = 0; i < lists.length; i++) {\n var list = lists[i];\n for (var j = 0; j < list.length; j++) {\n if (j == list.length - 1) {\n playUrls += parseDomForHtml(list[j], 'a&&Text') + \"$\" + parseDom(list[j], 'a&&href') + \"$$$\";\n } else {\n playUrls += parseDomForHtml(list[j], 'a&&Text') + \"$\" + parseDom(list[j], 'a&&href') + \"#\";\n }\n }\n}\n\nplayUrls = playUrls.substring(0, playUrls.length - 3);\n//log(playUrls);\n\nlet push = JSON.stringify({\n \"name\": MY_PARAMS.mytitle,\n \"pic\": parseDom(html, '.lazyload&&data-src||data-original'),\n \"content\": parseDomForHtml(html, '.video-info-content&&Text').replace('收起', ''),\n \"from\": tabs.join('$$$'),\n \"url\": playUrls.replace(/\\&/g, '&&')\n});\n//log(push);\n\nd.push({\n title: \"推送当前页列表到TVBox\",\n url: $(push).lazyRule(() => {\n return 'hiker://page/push?pushurl=' + encodeURIComponent(input);\n }),\n col_type: \"scroll_button\"\n});\n\nd.push({\n col_type: 'line_blank'\n })\n //处理推送TVBox end\n\nfunction setTabs(tabs, vari) {\n for (var i in tabs) {\n var url = \"#noLoading#@lazyRule=.js:putVar('\" + vari + \"', '\" + i + \"');refreshPage(false);'toast://切换成功!';'#noHistory#hiker://empty'\";\n d.push({\n title: getVar(vari, '0') == i ? getHead(tabs[i]) : tabs[i],\n url: url,\n col_type: 'scroll_button'\n })\n }\n d.push({\n col_type: 'line_blank'\n })\n}\n\nfunction setLists(lists, index) {\n d.push({\n col_type: 'line_blank'\n })\n}\nif (getVar('shsort') == '1') {\n var sx = '‘‘’’排序' + '' + '';\n} else {\n var sx = '‘‘’’排序' + '' + '';\n}\n\nfunction setLists(lists, index) {\n d.push({\n title: '‘‘’’选集列表' + '\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t' + '' + sx + '',\n url: `#noLoading#@lazyRule=.js:let conf = getVar('shsort');if(conf=='1'){putVar({key:'shsort', value:'0'});}else{putVar({key:'shsort', value:'1'})};refreshPage();'toast://切换排序成功';'#noHistory#hiker://empty'`,\n col_type: 'text_center_1'\n })\n var list = lists[index];\n\n if (getVar('shsort') == '1') {\n try {\n for (var j = list.length - 1; j >= 0; j--) {\n if (tfpush == '0') {\n d.push({\n title: parseDomForHtml(list[j], 'a&&Text').replace(/第|集|话|期/g, ''),\n url: parseDom(list[j], 'a&&href') + lazy,\n col_type: list.length > 4 ? 'text_5' : 'text_2'\n });\n } else {\n var urlx = 'hiker://page/push?pushurl=' + encodeURIComponent(JSON.stringify({\n \"name\": getPageTitle() + parseDomForHtml(list[j], 'a&&Text'),\n \"pic\": parseDom(html, '.lazyload&&data-src||data-original'),\n \"content\": parseDomForHtml(html, '.video-info-content&&Text').replace('收起', ''),\n \"from\": getPageTitle() + parseDomForHtml(list[j], 'a&&Text'),\n \"url\": parseDom(list[j], 'a&&href')\n }));\n var extrax = {\n id: parseDom(list[j], 'a&&href')\n };\n d.push({\n title: parseDomForHtml(list[j], 'a&&Text').replace(/第|集|话|期/g, ''),\n url: urlx,\n col_type: list.length > 4 ? 'text_5' : 'text_2',\n extra: extrax\n });\n }\n\n }\n } catch (e) {\n d.push({\n title: '没有选集哟,不信点图片去看看👀',\n col_type: 'text_center_1'\n });\n }\n } else {\n try {\n for (var j = 0; j < list.length; j++) {\n if (tfpush == '0') {\n d.push({\n title: parseDomForHtml(list[j], 'a&&Text').replace(/第|集|话|期/g, ''),\n url: parseDom(list[j], 'a&&href') + lazy,\n col_type: list.length > 4 ? 'text_5' : 'text_2'\n });\n } else {\n var urlx = 'hiker://page/push?pushurl=' + encodeURIComponent(JSON.stringify({\n \"name\": getPageTitle() + parseDomForHtml(list[j], 'a&&Text'),\n \"pic\": parseDom(html, '.lazyload&&data-src||data-original'),\n \"content\": parseDomForHtml(html, '.video-info-content&&Text').replace('收起', ''),\n \"from\": getPageTitle() + parseDomForHtml(list[j], 'a&&Text'),\n \"url\": parseDom(list[j], 'a&&href')\n }));\n var extrax = {\n id: parseDom(list[j], 'a&&href')\n };\n d.push({\n title: parseDomForHtml(list[j], 'a&&Text').replace(/第|集|话|期/g, ''),\n url: urlx,\n col_type: list.length > 4 ? 'text_5' : 'text_2',\n extra: extrax\n });\n }\n }\n } catch (e) {\n d.push({\n title: '没有选集哟,不信点图片去看看👀',\n col_type: 'text_center_1'\n });\n }\n\n }\n}\nsetTabs(tabs, MY_URL);\nsetLists(lists, getVar(MY_URL, '0'));\nd.push({\n title: '
',\n col_type: 'rich_text'\n});\nsetResult(d);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"if (request('hiker://home@模板·Q') == 'null') {\n confirm({\n title: '依赖检测',\n content: '检测到缺少模板依赖,请导入!',\n confirm: () => {\n return \"海阔视界首页频道规则【模板·Q】¥home_rule_url¥http://hiker.nokia.press/hikerule/rulelist.json?id=3055\"\n }\n })\n}","pages":"[]","proxy":"","icon":"https://fs-im-kefu.7moor-fs1.com/ly/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1715924027977/70.png"},{"last_chapter_rule":"","title":"114短剧","author":"Sky&海阔小白","version":1,"type":"video","url":"hiker://empty##http://www.cahy114.org/vodshow/5-fypage.html","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = []\nvar getRangeColors = function() {       \n return '#' + ('00000' + (Math.random() * 0x1000000 << 0).toString(16)).substr(-6);     \n}\n\nconst 分类颜色 = getRangeColors()\nconst 大类定位 = 'body&&.nav-list'\nconst 拼接分类 = 'body&&.myui-screen__list,1:'\nconst 小类定位 = 'body--a&&a:not(:matches(首|全))'\nconst 分类标题 = 'a&&Text'\nconst 分类链接 = 'a&&href'\nconst 排除 = '全部|片库'\nMY_URL = MY_URL.replace('hiker://empty##', '')\n\nlet true_url = getVar(MY_RULE.url, MY_URL)\nconst page = MY_PAGE\nif (getVar(MY_RULE.url)) {\n true_url = true_url.replace(/type\\/(.*?).html/, 'show/$1-----------.html').replace('---.html', page + '---.html').replace(/(---\\d+.html)/, page + '$1')\n}\n\nvar html = fetch(true_url, {\n headers: {\n 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0)'\n }\n})\n\neval(JSON.parse(request('hiker://page/dtfl?rule=模板·Q')).rule)\n\nconst list = pdfa(html, 'body&&.myui-vodlist__box')\nlist.forEach(video => {\n d.push({\n title: pdfh(video, 'a&&title'),\n desc: pdfh(video, '.pic-text&&Text'),\n img: pdfh(video, 'a&&style').replace(/'/g,\"\")+'@Referer=',\n url: pd(video, 'a&&href') + '#immersiveTheme#',\n col_type: 'movie_3_marquee',extra:{img:pdfh(video, 'a&&style').replace(/'/g,\"\")}\n })\n})\nsetResult(d);","searchFind":"js:\nconst {\n autoPage\n} = $.require(\"hiker://page/auto?rule=模板·Q\");\nautoPage(getResCode())","search_url":"http://www.cahy114.org/search.php?page=fypage&searchword=**&searchtype=","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar d = [];\nvar html = getResCode()\nvar lazy=$('#noLoading#').lazyRule(() => {\n return 'video://'+input\n})\nd.push({\n title: pdfh(html, '.data&&Text').replace(/\\d+\\+/g,''),\n desc: pdfh(html, '.data,-1&&Text'),\n img: MY_PARAMS.img,\n url: MY_URL,\n col_type: 'movie_1_vertical_pic_blur'\n});\nvar 线路 = 'body&&.nav-tabs&&li'\nvar 选集 = 'body&&.myui-content__list'\nvar 线路名 = 'Text'\nvar 选集列表 = 'body&&a'\nrequire('hiker://page/erji?rule=模板·Q')\nsetResult(d);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[]","proxy":"","icon":"http://www.cahy114.org/templets/default/images/img/logo.png"},{"last_chapter_rule":"","title":"电视短剧·Q","author":"粪发涂墙&海阔小白","version":0,"type":"video","url":"hiker://empty##https://dianshijuwang.com/vodshow/duanju--------fypage---","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\nd.push({\n title: \"搜索\",\n url:\"'hiker://search?rule=电视短剧·Q&s='+input\",\n desc:\" 海 阔 视 界 \",\n col_type:\"input\",\n })\r\nvar getRangeColors = function() {       \n return '#' + ('00000' + (Math.random() * 0x1000000 << 0).toString(16)).substr(-6);     \n}\n\nconst 分类颜色 = getRangeColors()\r\nconst 大类定位 = 'body&&.scroll-content'\nconst 拼接分类 = ''\r\nconst 小类定位 = 'body&&a:not(:contains(首页))'\r\nconst 分类标题 = 'a&&Text'\r\nconst 分类链接 = 'a&&href'\r\nMY_URL = MY_URL.replace('hiker://empty##', '')\r\nlet true_url = getVar(MY_RULE.url, MY_URL)\r\nconst page = MY_PAGE\nif(getVar(MY_RULE.url)){\r\ntrue_url = true_url.replace(/type\\/(\\d+)/, 'show/$1-----------.html').replace('---.html', page + '---.html').replace(/(---\\d+.html)/,page+'$1')}\r\nvar html = request(true_url)\r\n\r\neval(JSON.parse(request('hiker://page/dtfl?rule=模板·Q')).rule)\r\n\r\nconst list = pdfa(html, '.module-items&&a')\nlist.forEach(video => {\n d.push({\n title: pdfh(video, '.module-poster-item-title&&Text'),\n desc: pdfh(video, '.module-item-note&&Text'),\n img: pd(video, 'img&&data-original') + \"@Referer=\",\n url: pd(video, 'a&&href') + '#immersiveTheme#',\n col_type: 'movie_3_marquee',\n })\n})\nsetResult(d)","searchFind":"js:\nconst {\n autoPage\n} = $.require(\"hiker://page/auto?rule=模板·Q\");\nautoPage(getResCode())","search_url":"https://dianshijuwang.com/vodsearch/**----------fypage---","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar d = [];\nvar html = getResCode();\nrequire ('hiker://page/lazy');\nd.push({\n     title: parseDomForHtml(html, 'h1&&Text')+'\\n'+parseDomForHtml(html, '.module-info-item-content&&Text')+'\\n'+parseDomForHtml(html, '.module-info-item-content,1&&Text'),\n    desc: pdfh(html, 'p&&Text'),\n    img: pdfh(html, '.lazy&&data-original'),\n    url: MY_URL,\n    col_type: 'movie_1_vertical_pic_blur',\n extra:{gradient: true}\n});\nvar 线路 = '#y-playList&&.tab-item'\nvar 选集= 'body&&.module-play-list-content'\nvar 线路名 = 'span&&Text'\nvar 选集列表 = 'body&&a'\neval(JSON.parse(request('hiker://page/erji?rule=模板·Q')).rule)\nsetResult(d);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"if (request('hiker://home@模板·Q') == 'null') {\n confirm({\n title: '依赖检测',\n content: '检测到缺少模板依赖,请导入!',\n confirm: () => {\n return \"海阔视界首页频道规则【模板·Q】¥home_rule_url¥http://hiker.nokia.press/hikerule/rulelist.json?id=3055\"\n }\n })\n}","pages":"[{\"col_type\":\"movie_3\",\"name\":\"解析\",\"path\":\"lazy\",\"rule\":\"var lazy = $('').lazyRule((MY_HOME) => {\\n try {\\n var html = JSON.parse(request(input).match(/r player_.*?=(.*?) {\n it = it.replace(/title|link|author|pubdate|description/g, 'p');\n let url = pdfh(it, 'p:eq(1)&&Text');\n d.push({\n title: pdfh(it, 'p&&Text'),\n url: url+ '#immersiveTheme#',\n desc: pdfh(it, 'p:eq(3)&&Text'),\n content: pdfh(it, 'p:eq(2)&&Text'),\n pic_url: \"\",\n });\n });\n setResult(d);","search_url":"/rss.xml?wd=**&page=fypage","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar d = [];\nvar html = getResCode();\n\nvar lazy = $('').lazyRule(() => {\n if (input.indexOf('magnet:?xt') == -1) {\n try {\n var html = JSON.parse(request(input).match(/r player_.*?=(.*?)' + title + '';\n}\nlet line_model = 8;\nlet line_type_model = 'blank_block';\nd.push({\n title: 导演 + '\\n' + 主演,\n desc: 类型 + '\\n' + 地区,\n pic_url: 图片,\n url: MY_URL,\n col_type: 'movie_1_vertical_pic_blur'\n});\nd.push({\n title: '‘‘’’简介:' + 简介.substr(0, 55) + '...详情',\n url: 'hiker://empty#' + '\\n' + 简介 + `@rule=js:var res = {}; var d = [];d.push({title:'影片简介:'+ MY_URL.split('hiker://empty#')[1],col_type: 'long_text'});res.data = d; setHomeResult(res);`,\n col_type: 'text_1'\n});\nfor (let i = 0; i < line_model; i++) {\n d.push({\n col_type: line_type_model\n })\n}\n\n//处理推送TVBox start\nlet tfpush = getItem('webpush', '0');\nd.push({\n title: (getItem('webpush', '0') == '1' ? '单集推送🟢' : '单集推送🔴'),\n url: `hiker://empty@lazyRule=.js:getItem('webpush','0')=='1'?setItem('webpush','0'):setItem('webpush','1');refreshPage();'toast://切换成功!'`,\n\n col_type: 'scroll_button'\n});\nd.push({\n title: '设置电视IP',\n url: \"input://\" + getItem('hikertvboxset', 'http://' + getIP() + ':9978') + \"////请输入tvbox推送IP地址,如http://\" + getIP() + \":9978.js:setItem('hikertvboxset',input);refreshPage()\",\n col_type: 'scroll_button'\n});\nd.push({\n title: getItem('hikertvboxset', ''),\n //url: 'hiker://empty',\n url: \"input://\" + getItem('hikertvboxset', 'http://' + getIP() + ':9978') + \"////请输入tvbox推送IP地址,如http://\" + getIP() + \":9978.js:setItem('hikertvboxset',input);refreshPage()\",\n col_type: 'scroll_button'\n});\n\nvar playUrls = '';\nfor (var i = 0; i < lists.length; i++) {\n var list = lists[i];\n for (var j = 0; j < list.length; j++) {\n if (j == list.length - 1) {\n playUrls += parseDomForHtml(list[j], 'a&&Text') + \"$\" + parseDom(list[j], 'a&&href') + \"$$$\";\n } else {\n playUrls += parseDomForHtml(list[j], 'a&&Text') + \"$\" + parseDom(list[j], 'a&&href') + \"#\";\n }\n }\n}\n\nplayUrls = playUrls.substring(0, playUrls.length - 3);\n//log(playUrls);\n\nlet push = JSON.stringify({\n \"name\": MY_PARAMS.mytitle,\n \"pic\": parseDom(html, '.lazyload&&data-src||data-original'),\n \"content\": parseDomForHtml(html, '.video-info-content&&Text').replace('收起', ''),\n \"from\": tabs.join('$$$'),\n \"url\": playUrls.replace(/\\&/g, '&&')\n});\n//log(push);\n\nd.push({\n title: \"推送当前页列表到TVBox\",\n url: $(push).lazyRule(() => {\n return 'hiker://page/push?pushurl=' + encodeURIComponent(input);\n }),\n col_type: \"scroll_button\"\n});\n\nd.push({\n col_type: 'line_blank'\n })\n //处理推送TVBox end\n\nfunction setTabs(tabs, vari) {\n for (var i in tabs) {\n var url = \"#noLoading#@lazyRule=.js:putVar('\" + vari + \"', '\" + i + \"');refreshPage(false);'toast://切换成功!';'#noHistory#hiker://empty'\";\n d.push({\n title: getVar(vari, '0') == i ? getHead(tabs[i]) : tabs[i],\n url: url,\n col_type: 'scroll_button'\n })\n }\n d.push({\n col_type: 'line_blank'\n })\n}\n\nfunction setLists(lists, index) {\n d.push({\n col_type: 'line_blank'\n })\n}\nif (getVar('shsort') == '1') {\n var sx = '‘‘’’排序' + '' + '';\n} else {\n var sx = '‘‘’’排序' + '' + '';\n}\n\nfunction setLists(lists, index) {\n d.push({\n title: '‘‘’’选集列表' + '\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t' + '' + sx + '',\n url: `#noLoading#@lazyRule=.js:let conf = getVar('shsort');if(conf=='1'){putVar({key:'shsort', value:'0'});}else{putVar({key:'shsort', value:'1'})};refreshPage();'toast://切换排序成功';'#noHistory#hiker://empty'`,\n col_type: 'text_center_1'\n })\n var list = lists[index];\n\n if (getVar('shsort') == '1') {\n try {\n for (var j = list.length - 1; j >= 0; j--) {\n if (tfpush == '0') {\n d.push({\n title: parseDomForHtml(list[j], 'a&&Text').replace(/第|集|话|期/g, ''),\n url: parseDom(list[j], 'a&&href') + lazy,\n col_type: list.length > 4 ? 'text_5' : 'text_2'\n });\n } else {\n var urlx = 'hiker://page/push?pushurl=' + encodeURIComponent(JSON.stringify({\n \"name\": getPageTitle() + parseDomForHtml(list[j], 'a&&Text'),\n \"pic\": parseDom(html, '.lazyload&&data-src||data-original'),\n \"content\": parseDomForHtml(html, '.video-info-content&&Text').replace('收起', ''),\n \"from\": getPageTitle() + parseDomForHtml(list[j], 'a&&Text'),\n \"url\": parseDom(list[j], 'a&&href')\n }));\n var extrax = {\n id: parseDom(list[j], 'a&&href')\n };\n d.push({\n title: parseDomForHtml(list[j], 'a&&Text').replace(/第|集|话|期/g, ''),\n url: urlx,\n col_type: list.length > 4 ? 'text_5' : 'text_2',\n extra: extrax\n });\n }\n\n }\n } catch (e) {\n d.push({\n title: '没有选集哟,不信点图片去看看👀',\n col_type: 'text_center_1'\n });\n }\n } else {\n try {\n for (var j = 0; j < list.length; j++) {\n if (tfpush == '0') {\n d.push({\n title: parseDomForHtml(list[j], 'a&&Text').replace(/第|集|话|期/g, ''),\n url: parseDom(list[j], 'a&&href') + lazy,\n col_type: list.length > 4 ? 'text_5' : 'text_2'\n });\n } else {\n var urlx = 'hiker://page/push?pushurl=' + encodeURIComponent(JSON.stringify({\n \"name\": getPageTitle() + parseDomForHtml(list[j], 'a&&Text'),\n \"pic\": parseDom(html, '.lazyload&&data-src||data-original'),\n \"content\": parseDomForHtml(html, '.video-info-content&&Text').replace('收起', ''),\n \"from\": getPageTitle() + parseDomForHtml(list[j], 'a&&Text'),\n \"url\": parseDom(list[j], 'a&&href')\n }));\n var extrax = {\n id: parseDom(list[j], 'a&&href')\n };\n d.push({\n title: parseDomForHtml(list[j], 'a&&Text').replace(/第|集|话|期/g, ''),\n url: urlx,\n col_type: list.length > 4 ? 'text_5' : 'text_2',\n extra: extrax\n });\n }\n }\n } catch (e) {\n d.push({\n title: '没有选集哟,不信点图片去看看👀',\n col_type: 'text_center_1'\n });\n }\n\n }\n}\nsetTabs(tabs, MY_URL);\nsetLists(lists, getVar(MY_URL, '0'));\nd.push({\n title: '
',\n col_type: 'rich_text'\n});\nsetResult(d);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"lazy\",\"path\":\"lazy\",\"rule\":\"var lazy = $('').lazyRule(() => {\\n if (input.indexOf('magnet:?xt') == -1) {\\n try {\\n var html = JSON.parse(request(input).match(/r player_.*?=(.*?) {\n d.push({\n title: pdfh(video, '.text-overflow&&Text'),\n desc: pdfh(video, '.video-title&&Text'),\n img: pd(video, '.lazyload&&data-original') + \"@Referer=\" + pd(video, '.lazyload&&data-original'),\n url: pd(video, 'a&&href') + '#immersiveTheme#',\n col_type: 'movie_3_marquee',\n })\n})\nsetResult(d);","searchFind":"js:\nvar d = [];\nvar html = getResCode();\nrequire('hiker://page/yzm?rule=模板·Q')\nvar list = pdfa(html, 'body&&.post-list');\n\nfor (var i = 0; i < list.length; i++) {\n var L = list[i];\n d.push({\n title: pdfh(L, '.entry-title&&Text'),\n url: pd(L, 'a&&href') + \"#immersiveTheme#\",\n desc: pdfh(L, '.entry-summary&&Text').replace(/\\//g, ' '),\n content: pdfh(L, '.entry-meta&&Text'),\n img: pd(L, '.lazyload&&data-original') + '@Referer=',\n });\n}\nsetResult(d)","search_url":"https://www.20o.cc/search**/page/fypage","group":"⑧短剧","detail_col_type":"movie_1","detail_find_rule":"js:\nvar lazy = $('').lazyRule(() => {\n if (input.indexOf('magnet:?xt') == -1) {\n try {\n var html = JSON.parse(request(input).match(/r player_.*?=(.*?)