-
Notifications
You must be signed in to change notification settings - Fork 0
/
Q.json
1 lines (1 loc) · 196 KB
/
Q.json
1
[{"last_chapter_rule":"","title":"小米视频·Q","author":"发粪涂墙","version":0,"url":"https://m.video.9ddm.com/api/a3/filter?app_coop=mi&category=fyclass&key=sort%3Ahot-entity&page=fypage@-1@&","col_type":"movie_3","class_name":"电影&电视剧&动漫&综艺&纪录片","class_url":"movie&tv&cartoon&variety&documentary","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\nvar conts = JSON.parse(getResCode()).card_list[0].row_list;\nfor (var i in conts) {\n var list = conts[i].item_list;\n for (var j in list) {\n d.push({\n title: list[j].title,\n desc: list[j].hint_bottom,\n img: list[j].image_url+'@Referer='+list[j].image_url,\n url: 'https://m.video.9ddm.com/api/a3/entity_md/' + list[j].id + '?_devid=9e0314fe4206d1c035e610ca9262e205'+'#immersiveTheme#'//=后面随便改一改数\n });\n }\n}\nsetResult(d)","searchFind":"js:\nvar d = [];\nvar conts = JSON.parse(getResCode()).card_list;\nfor (var i in conts) {\n var list = conts[i].row_list[0].item_list;\n\n for (var j in list) {\n if (list[j].meta) {\n d.push({\n title: list[j].title,\n desc: (list[j].hint_bottom || list[j].sub_title_1), // + '\\t' + list[j].sub_title,\n content: list[j].desc,\n img: list[j].image_url+'@Referer='+list[j].image_url,\n url:'https://m.video.9ddm.com/api/a3/entity_md/' + list[j].id + '?_devid=9e0314fe4206d1c035e610ca9262e205&global_video_kw='+MY_URL.match(/key=(.*?)&page/)[1]+'#immersiveTheme#'//=后面随便改一个数\n });\n }\n }\n}\nsetResult(d)","search_url":"https://m.video.9ddm.com/api/a3/search2?key=**&page=fypage@-1@&_appver=2021083090","titleColor":"#fff20c00","group":"#⃣️Q","detail_col_type":"movie_2","detail_find_rule":"js:\nvar d = [];\nvar jsUrl = fetch('hiker://files/cache/MyParseSet.json');\nif (jsUrl == '' || !fetch(JSON.parse(jsUrl).cj)) {\n var jsFile = fetch('https://gitee.com/Duan-Nian/Dn/raw/master/hikerview/CloudParse-V2_Dn.js');\n} else {\n var jsFile = fetch(JSON.parse(jsUrl).cj);\n}\neval(jsFile);\nvar lazy = `@lazyRule=.js:var input = JSON.parse(request(input)).play_info[0].h5_url;if(input.match(/youku|mgtv|ixigua|qq.com|qiyi|migu|bilibili|sohu|pptv|le/)){` + lazy + `}else{input}`;\n\nvar json = JSON.parse(getResCode()).meta;\ntry{\n var title = '评分:' + json.score + '\\t\\t\\t\\t' + json.ranking.label + '\\n' + json.unit_ext_data.title + '\\t\\t\\t\\t\\t\\t\\t\\t\\t' + json.unit_ext_data.play_count + '\\n' + json.episode_count_title + '\\t\\t\\t\\t' + json.episode_update_title;\n }catch(e){title = '没错!你就是主角!!'}\nd.push({\n title: title,\n desc: json.desc,\n img: json.image_url+'@Referer='+json.image_url,\n url: setUrl,\n col_type: 'movie_1_vertical_pic_blur'\n})\nvar list = JSON.parse(getResCode()).meta.episode_list;\nfor (var j in list) {\n d.push({\n title: '第' + list[j].episode + '集',\n desc: list[j].phrase || list[j].name,\n img: list[j].himage_url + '@Referer=' + list[j].himage_url,\n url: 'https://m.video.9ddm.com/api/a3/play?id=' + list[j].id + '&_android=b4f7bc7da2cbbcb1&global_video_kw='+list[j].name + lazy//_android=后面随便改一个数\n })\n}\nsetResult(d)","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[]","icon":""},{"last_chapter_rule":"","title":"1905·Q","author":"发粪涂墙","version":0,"url":"https://www.1905.com/vod/list/fyclassfyareafyyear/ofysortpfypage.html","col_type":"movie_3","class_name":"电影&微电影&纪录片&晚会&独家&综艺&体育","class_url":"n_1&n_1_c_922&n_1_c_927&n_1_c_586&n_1_c_178&n_1_c_1024&n_1_c_1053","area_name":"全部&爱情&动作&喜剧&惊悚&恐怖&悬疑&科幻&奇幻&历史&灾难&冒险&励志&青春&动画&儿童&家庭","area_url":"&_t_1&_t_5&_t_25&_t_14&_t_17&_t_27&_t_16&_t_20&_t_18&_t_37&_t_19&_t_38&_t_39&_t_4&_t_7&_t_13","sort_name":"最新&最热&好评","year_name":"全部&内地&港台&欧美","sort_url":"1&3&4","year_url":"&_a_1&_a_2&_a_4","find_rule":"body&&.search-list&÷a&&title;img&&src;i&&Text;a&&href.js:input+`@lazyRule=.js:JSON.parse(request('https://json.m3u8.tv:7788/json.php?url=' + input)).url`","searchFind":"body&&.main:has(.spec);img&&alt;a,-1&&href.js:input+`@lazyRule=.js:JSON.parse(request('https://json.m3u8.tv:7788/json.php?url=' + input)).url`;;p&&Text;img&&src","search_url":"https://www.1905.com/search/index-p-q-**.html?page=fypage","titleColor":"#ffff00ff","group":"#⃣️Q","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"pc","preRule":"","pages":"[]","icon":""},{"last_chapter_rule":"","title":"骚火影视·Q","author":"发粪涂墙","version":1,"url":"https://saohuotv.com/list/fyAll-fypage.html;get;UTF-8;{User-Agent@Mozilla/5.0 (Linux;; Android 10)}","col_type":"movie_3","class_name":"电影&电视剧&动漫","class_url":"1&2&4","area_name":"喜剧&爱情&恐怖&动作&科幻&战争&犯罪&动画&奇幻&剧情&冒险&悬疑&惊悚&其他","area_url":"6&7&8&9&10&11&12&13&14&15&16&17&18&19","sort_name":"","year_name":"大陆&TVB&韩剧&美剧&日剧&英剧&台剧&其他","sort_url":"","year_url":"20&21&22&23&24&25&26&27","find_rule":".v_list&&li;.v_title&&Text;img&&data-original;.v_note&&Text!更新至;a&&href.js:input+'#immersiveTheme#'","searchFind":".v_list&&li&&;a&&title;a&&href.js:input+'#immersiveTheme#';.v_note&&Text;;img&&data-original","search_url":"https://saohuotv.com/search.php?page=fypage&searchword=**&searchtype=;get;utf-8;{User-Agent@Mobile}","titleColor":"#ff228be6","group":"#⃣️Q","detail_col_type":"text_4","detail_find_rule":"js:\nvar res = {};\nvar d = [];\nvar html = getResCode();\n\nvar list = parseDomForArray(html, '#play_link&&li');\n\nd.push({\n title: parseDomForHtml(html, 'body&&p&&Text').split('/ 导演')[0],\n desc: parseDomForHtml(html, 'body&&.show_part&&Text'),\n pic_url: html.match(/url\\((.*?)\\)/)[1],\n url: MY_URL,\n col_type: 'movie_1_vertical_pic_blur'\n});\nvar url = \"@lazyRule=iframe&&src.js:var dm = request('https:'+input,{}).split('endebug();')[1].split('//记忆播放')[0];eval(dm);var h = JSON.parse(request('https://play.hhplayer.com/hhjx/api.php',{headers:{'Referer':input},body:'url='+url+'&t='+t+'&key='+key+'&act='+act+'&play='+play,method:'POST'})).url;h.indexOf('http')>-1?h:'http://play.hhplayer.com'+h\"\nfor (var i = 0; i < list.length; i++) {\n d.push({\n title: '第' + (i + 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: 'text_1'\n });\n var list2 = parseDomForArray(list[i], 'li&&a');\n if (getVar('shsort') == '1') {\n for (var j = list2.length - 1; j >= 0; j--) {\n d.push({\n title: parseDomForHtml(list2[j], 'Text'),\n url: parseDom(list2[j], 'a&&href') + url,\n col_type: list2.length > 3 ? 'text_4' : 'text_2'\n });\n }\n } else {\n for (var j = 0; j < list2.length; j++) {\n d.push({\n title: parseDomForHtml(list2[j], 'Text'),\n url: parseDom(list2[j], 'a&&href') + url,\n col_type: list2.length > 3 ? 'text_4' : 'text_2'\n });\n }\n }\n}\nres.data = d;\nsetHomeResult(res);","sdetail_col_type":"text_4","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[]","icon":""},{"last_chapter_rule":"","title":"4K恐怖鸭·Q","author":"发粪涂墙","version":0,"type":"video","url":"hiker://empty##https://yanetflix.com/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'\nconst 拼接分类 = ''\nconst 小类定位 = 'body&&a'\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_URL.match(/page\\/(.*)\\./)[1]\ntrue_url = true_url.replace('.html', '/page/' + page + '.html')\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\nvar list = parseDomForArray(html, 'body&&.module-item');\nfor (var j in list) {\n d.push({\n title: parseDomForHtml(list[j], 'a&&title'),\n desc: parseDomForHtml(list[j], '.module-item-text&&Text'),\n img: parseDom(list[j], 'img&&data-src'),\n url: parseDom(list[j], 'a&&href')+'#immersiveTheme#'\n });\n}\nsetResult(d);","searchFind":"js:\nvar d = [];\nvar list = parseDomForArray(getResCode(), 'body&&.module-search-item');\nfor (var j in list) {\n d.push({\n title: parseDomForHtml(list[j], 'h3&&Text'),\n desc: parseDomForHtml(list[j], '.video-serial&&Text'),\n content: parseDomForHtml(list[j], '.video-info-aux&&Text'),\n img: parseDom(list[j], 'img&&data-src'),\n url: parseDom(list[j], '.video-serial&&href')+'#immersiveTheme#'\n });\n}\nsetResult(d)","search_url":"https://yanetflix.com/index.php/vod/search/page/fypage/wd/**.html","titleColor":"#fff20c00","group":"#⃣️Q","detail_col_type":"movie_1","detail_find_rule":"js:\neval(JSON.parse(request('hiker://page/lazy')).rule);\neval(JSON.parse(request('hiker://page/module-tab-item?rule=模板·Q')).rule)","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"pc","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"动态解析\",\"path\":\"lazy\",\"rule\":\"var lazy = $('').lazyRule(() => {\\n var html = unescape(JSON.parse(request(input).match(/r player_.*?=(.*?)</)[1]).url);\\n if (/m3u8|mp4/.test(html)) {\\n return html\\n } else if (html.startsWith('r')) {\\n eval(\\\"var config =\\\" + fetch(\\\"hiker://files/cache/MyParseSet.json\\\"));\\n eval(fetch(config.cj));\\n\\n return cacheM3u8(ParseS.maoss(\\\"https://player.kongbuya.com/m3u8.php?url=\\\" + html, false, \\\"E6O7PXXOYR38IN8M\\\"))\\n } else {\\n evalPrivateJS('8Has1d1xjHg+DcjDCGbHD6Dw3n73wnCPmlEH051WYvy4oxqGpQLhON+qj5X17ZdxHTBDgRGZwq3lhSIYD7k/jtxMFgpGNzo+xYQ3GcWqjcZ4OxcvX5WjYRT4SY/ec/m+8ggYh7CBpNWsGmoLzKXzzpYGEIzVqRhGuymUjsWHkt9XCWxMpMlQux/ZHC44FZyZxMcmPhyRjT4BQTdQbcXJptshisL1xoH+dCnFTtAyMyO3gUTgY4+WzqQ8d6Y9XHyorRSMo92XslsAM7vVCbaVdznnj3PD98rK0mP1ejp0MBMmZgTEpGwJdRmNlxwpgDfBiPvdOLnPDc0KV+m4B9ewj06X5oYvyewMVJgVCLtmDVKOVnZ4QKYyWYW/fe6nqmzyXDXsWrS+N0bqAPbw4mcwUVPjKla0V7lsB6PHQQzFNBH2hvG2Qa5+9oNHG4q92rN4VGANPiYPPV46ZN3VbdVKXGA685Ze0i9KZ+dzkyTtbEkaIzKcIEzDzj3RpL7Tlzs7Hv1PeuONmg80lIn9jjRzX022sdJ6LLyOvrO06rcCihUDCOzYCWU2lIgtwyolr30o+O97J9CKVwJKVRjFRJEA4qMcUEzxGHpN/JiBOrqt5+OpJyFhKjmcOST5gv7H5EMnfwIZRBTrqCP8G2aViam5hlq2wgmP4xc0Qp6aOyzD5FkeTuD/TR7FzG7Tn6mQDWD5Mq9ANTQem5f7pKM3qy42JOamXhqPGw1bxAX4t9FVWnRY2sYDqMQdWCLrOjBsGLdxz4Z3+PuMRa+FRbMBg0uzg+6Pv5ROX9eH+51z8Pz1PoBzif59kBtjzgNHqskRqgAGHXQp/ZuvE+MPXO+GaGuAudzxWqMOQUlAntt25lTRptzmaV8LiG0oR3XWGb+PFCqvHvCykxeKFd2YriV0ZxtGV1yyk6vQFBveTQNC37w8WqskeXJpsmTj+UoRHbX4adm3WoHjYvR3Tu7WIU1VY5tV/cmwyBR3/sf8rmoVi1Qlo+kKjCW15NFSUYK7LPCuAAbeJHlyabJk4/lKER21+GnZt1IGVf8Dj1TMo42dUAaLTqYmPS7+OBkayzPSecopQUlze9Kow5Hy+wiWT/linTNzDM7M0izgZnMd+/H8EAm7vecQutxSoT04cljNtGApM2XyCDrYKIULSedOfJoc4yBwxPxfWjsEM2zNipdqOuXbaTRL3NbyX7zBiebCoI+b+L7vUIydIU/uHOSx2ip4sbu3WCIfzqDGNHEVX+Xye9Z3pwh0B4bY5DpYvrXDp0ZYwGt9HBkZfuY+Q8qrAGxfE6bjUzalemSpsaoLjzU2IInq1HNV9qdqGz/LSJnFxIvQ8kBx')\\n return KBY(html)\\n }\\n})\"}]","icon":"https://img.ciyuanji.com/files/2021/07/22/e51e187315cc4abf87d817b218ac5ba3.png"},{"last_chapter_rule":"","title":"清爽一夏·Q","author":"发粪涂墙","version":0,"url":"http://91kankanba.com/list/fyclass_fypage__fysort_0_0__fyarea_.html","col_type":"movie_3_marquee","class_name":"电影&电视剧&综艺&动漫&韩剧&美剧","class_url":"1&2&3&4&14&15","area_name":"地区&大陆&香港&台湾&日本&韩国&美国&英国&法国&泰国&德国&印度&意大利&西班牙&加拿大&其他","area_url":"&大陆&香港&台湾&日本&韩国&美国&英国&法国&泰国&德国&印度&意大利&西班牙&加拿大&其他","sort_name":"时间&人气&评分","year_name":"","sort_url":"time&hits&score","year_url":"","find_rule":".row&&li;a&&title;.item-lazy&&data-echo.js:input+'@Referer='+input;.item-num&&Text;a&&href.js:input +\"#immersiveTheme#\"","searchFind":".row&&li;a&&title;a&&href.js:input +\"#immersiveTheme#\";*;.item-des&&Text;.item-lazy&&data-echo","search_url":"http://91kankanba.com/search-pg-fypage-wd-**.html","titleColor":"#fff20c00","group":"#⃣️Q","detail_col_type":"movie_1","detail_find_rule":"js:\nvar d = [];\nvar html = getResCode();\n\nvar lazy = `@lazyRule=.video-area&&script&&Html.js:eval(input);var MD5 = request('http://91kankanba.com/hls2/index.php?url='+view_path).match(/value=\"(.*?)\"/)[1];JSON.parse(request('http://91kankanba.com/hls2/url.php',{body: 'id='+view_path+'&type=vid&siteuser=&md5='+MD5+'&hd=&lg=', method: 'POST'})).media.url+'#isVideo=true#'`;\n\ntry {\n var des_title = parseDomForArray(html, '.detail-category&&span').map(h => parseDomForHtml(h, 'span&&Text')).join(' ') + '\\n' + parseDomForHtml(html, '.detail-actor&&Text') + '\\n' + parseDomForHtml(html, '.detail-director&&Text');\n\n} catch (e) {\n var des_title = '没有正确获取到影片名称哟!';\n}\n\ntry {\n var des_desc = parseDomForHtml(html, '.detail-time&&Text');\n\n} catch (e) {\n var des_desc = '没有正确获取到剧情简介哟!';\n}\n\n\ntry {\n var des_pic = parseDom(html, 'img&&src');\n\n} catch (e) {\n var des_desc = '没有正确获取到简介图片路径哟!\\n' + des_desc;\n}\n\nvar arts = parseDomForArray(html, '.hd&&li');\n\nvar conts = parseDomForArray(html, '.numList');\n\nvar lists = [];\nfor (var i in conts) {\n lists.push(parseDomForArray(conts[i], 'ul&&li'))\n}\n\nvar tabs = [];\nfor (var i in conts) {\n tabs.push(parseDomForHtml(arts[i], 'Text'))\n\n}\n\nd.push({\n title: des_title,\n desc: des_desc,\n pic_url: des_pic,\n url: getUrl(),\n col_type: 'movie_1_vertical_pic_blur'\n});\n\nd.push({\n col_type: 'line_blank'\n});\nd.push({\n col_type: 'big_blank_block'\n});\nd.push({\n col_type: 'big_blank_block'\n});\nd.push({\n title: (getVar('shsort') == '1') ? '““””<b><span style=\"color: #FF0000\">逆序</span></b>' : '““””<b><span style=\"color: #1aad19\">正序</span></b>',\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: 'scroll_button'\n})\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 ? '““' + tabs[i] + '””' : tabs[i],\n url: url,\n col_type: 'scroll_button'\n })\n }\n}\n\nfunction setLists(lists, index) {\n var list = lists[index];\n d.push({\n col_type: 'line_blank'\n });\n d.push({\n col_type: 'big_blank_block'\n });\n d.push({\n col_type: 'big_blank_block'\n });\n if (getVar('shsort') == '1') {\n var list = lists[index].reverse();\n }\n\n for (var j in list) {\n var jm = parseDomForHtml(list[j], 'a&&Text').replace(/第(\\d+)集/, '$1').replace('第', '').replace('期', '');\n d.push({\n title: jm,\n url: parseDom(list[j], 'a&&href') + lazy,\n col_type: jm.length > 5 ? 'text_2' : 'text_5'\n });\n }\n}\nsetTabs(tabs, MY_URL);\nsetLists(lists, getVar(MY_URL, '0'));\nd.push({\n title: '<br>',\n col_type: 'rich_text'\n});\nsetResult(d);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[]","icon":""},{"firstHeader":"class","last_chapter_rule":"js:\nvar html = request(MY_PARAMS.link,{headers:{\"User-Agent\":PC_UA,\"Cookie\":fetch('hiker://files/cache/doubancookie.txt')}});\nvar sources = [];\nvar sources_list = html.match(/sources\\[[1389]{1}\\][\\s\\S]*?\\]/g);\nif (sources_list == null) {\n var script_list = parseDomForArray(html, 'body&&script[src]');\n for (var i in script_list) {\n var sources_url = parseDomForHtml(script_list[i], 'script&&src').indexOf('mixed_static') != -1 ? (parseDomForHtml(script_list[i], 'script&&src')) : sources_url\n }\n var sources_list = request(sources_url).match(/sources\\[[1389]{1}\\][\\s\\S]*?\\]/g);\n}\nif (sources_list != null) {\n for (var i in sources_list) {\n eval(unescape(sources_list[i]));\n }\n var sources_title = ['腾讯视频', '优酷视频', '哔哩哔哩', '爱奇艺视频'];\n var sources_id = ['1', '3', '8', '9'];\n var latest_sources = new Array(1);\n for (var i in sources_title) {\n if (sources[sources_id[i]] != null) {\n if (sources[sources_id[i]].length >= latest_sources.length) {\n var latest_sources = sources[sources_id[i]];\n var latest_id = i;\n }\n }\n }\n var latest = sources_title[latest_id] + '\\t\\t更新至第' + latest_sources.length + '集';\n} else {\n var latest = '暂无片源';\n}\nsetResult(latest);","title":"光影剧场•Q","author":"发粪涂墙","version":10,"url":"hiker://empty#fypage@-1@*20@#","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nif (!fileExist('hiker://files/rules/js/global_getDoubanCookie.js') && getVar('confirm', 'true') == 'true') {\n confirm({\n title: '插件导入提示',\n content: '检测到你还没有自动获取Cookie插件,是否立即导入?(点击取消重启软件前不再提示导入)',\n confirm: `'rule://'+base64Encode('海阔视界,网页插件¥js_url¥global_getDoubanCookie@hiker://files/cache/global_getDoubanCookie.js');`,\n cancel: `putVar('confirm','false');refreshPage();'hiker://empty'`\n })\n}\nvar d = [];\nvar logfile = JSON.parse(readFile('logfile.json'));\nvar page = MY_URL.split('#')[1];\nvar tabs = {};\ntabs.name = ['class', 'area', 'sort', 'year', 'score'];\ntabs.default_value = ['', '', 'genres=', '', '0,10']\ntabs.key = [\n ['全部', '电影', '电视剧', '综艺', '动漫', '纪录片', '短片'],\n ['全部', '中国大陆', '美国', '中国香港', '中国台湾', '日本', '韩国', '英国', '法国', '德国', '意大利', '西班牙', '印度', '泰国', '俄罗斯', '伊朗', '加拿大', '澳大利亚', '爱尔兰', '瑞典', '巴西', '丹麦'],\n ['全部', '新上映', '近期热', '标记多', '评分高', '剧情', '喜剧', '动作', '爱情', '科幻', '动画', '悬疑', '惊悚', '恐怖', '犯罪', '同性', '音乐', '歌舞', '传记', '历史', '战争', '西部', '奇幻', '冒险', '灾难', '武侠', '情 色'],\n ['全部', '2021年', '2020年', '2019年', '2018年', '2010年代', '2000年代', '更早'],\n ['全部', '10分-9分', '9分-8分', '8分-7分', '7分-6分', '6分-5分', '5分-4分', '4分-3分', '3分-2分', ]\n];\ntabs.value = [\n ['', '电影', '电视剧', '综艺', '动漫', '纪录片', '短片'],\n ['', '中国大陆', '美国', '中国香港', '中国台湾', '日本', '韩国', '英国', '法国', '德国', '意大利', '西班牙', '印度', '泰国', '俄罗斯', '伊朗', '加拿大', '澳大利亚', '爱尔兰', '瑞典', '巴西', '丹麦'],\n ['genres=', 'sort=R', 'sort=U', 'sort=T', 'sort=S', 'genres=剧情', 'genres=喜剧', 'genres=动作', 'genres=爱情', 'genres=科幻', 'genres=动画', 'genres=悬疑', 'genres=惊悚', 'genres=恐怖', 'genres=犯罪', 'genres=同性', 'genres=音乐', 'genres=歌舞', 'genres=传记', 'genres=历史', 'genres=战争', 'genres=西部', 'genres=奇幻', 'genres=冒险', 'genres=灾难', 'genres=武侠', 'genres=%E6%83%85%E8%89%B2'],\n ['', '2021,2021', '2020,2020', '2019,2019', '2018,2018', '2010,2019', '2000,2009', '1,1999'],\n ['0,10', '9,10', '8,9', '7,8', '6,7', '5,6', '4,5', '3,4', '2,3', ]\n];\nif (page == '0') {\n for (var i in tabs.name) {\n for (var j in tabs.key[i]) {\n d.push({\n title: getItem(tabs.name[i], tabs.default_value[i]) == tabs.value[i][j] ? ('‘‘’’<font color=\"' + logfile.tabColor + '\"><strong>' + tabs.key[i][j] + '</strong></font>') : tabs.key[i][j],\n url: 'hiker://empty#noLoading#' + \"@lazyRule=.js: setItem('\" + tabs.name[i] + \"','\" + tabs.value[i][j] + \"');refreshPage();'hiker://empty'\",\n col_type: 'scroll_button'\n });\n }\n d.push({\n col_type: 'blank_block'\n });\n }\n}\nvar url = 'https://movie.douban.com/j/new_search_subjects?range=' + getItem('score', '0,10') + '&limit=20&start=' + page + '&tags=' + getItem('class', '') + '&' + getItem('sort', 'genres=') + '&countries=' + getItem('area', '') + '&year_range=' + getItem('year', '');\ntry {\n var timeNow = new Date().getHours();\n if (timeNow > 5) {\n var content = JSON.parse(request(url, {\n headers: {\n \"User-Agent\": PC_UA,\n \"Cookie\": fetch('hiker://files/cache/doubancookie.txt'),\n \"Referer\": \"https://movie.douban.com/tag/\"\n }\n })).data;\n } else {\n if (fileExist(url.split('?')[1])) {\n var content = JSON.parse(readFile(url.split('?')[1]))\n } else {\n var content = JSON.parse(request(url, {\n headers: {\n \"User-Agent\": PC_UA,\n \"Cookie\": fetch('hiker://files/cache/doubancookie.txt'),\n \"Referer\": \"https://movie.douban.com/tag/\"\n }\n })).data\n };\n }\n if (content != null) {\n saveFile(url.split('?')[1], JSON.stringify(content));\n } else {\n d.push({\n title: 'IP可能已受限,点此登录可能恢复正常',\n desc: '已支持PC端和手机端网页登录后自动获取Cookie',\n url: 'https://www.douban.com/',\n col_type: 'text_center_1'\n });\n }\n for (var i in content) {\n d.push({\n title: content[i].title,\n desc: content[i].rate == '' ? '暂无评分' : content[i].rate + '分',\n pic_url: content[i].cover + '@Referer=',\n url: 'hiker://page/details#immersiveTheme#',\n extra: {\n link: content[i].url,\n title: content[i].title\n },\n col_type: 'movie_3'\n });\n }\n} catch (e) {\n d.push({\n title: 'IP可能已受限,点此登录可能恢复正常',\n desc: '已支持PC端和手机端网页登录后自动获取Cookie',\n url: 'https://www.douban.com/',\n col_type: 'text_center_1'\n });\n}\nsetResult(d);","searchFind":"js:\nvar d = [];\ntry {\n let url = 'https://m.douban.com/j/search/?q=' + MY_URL.split('#')[1] + '&t=movie&p=' + MY_URL.split('#')[2];\n let html = '<body>' + JSON.parse(request(url, {\n headers: {\n \"User-Agent\": MOBILE_UA,\n \"Cookie\": fetch('hiker://files/cache/doubancookie.txt')\n }\n })).html + '</body>';\n let list = parseDomForArray(html, 'body&&li');\n for (let i in list) {\n d.push({\n title: parseDomForHtml(list[i], '.subject-title&&Text'),\n desc: '豆瓣评分:' + parseDomForHtml(list[i], '.rating&&Text'),\n pic_url: parseDomForHtml(list[i], 'img&&src') + '@Referer=',\n url: 'hiker://page/details#immersiveTheme#',\n extra: {\n link: parseDomForHtml(list[i], 'a&&href').replace('/movie', 'https://movie.douban.com'),\n title: parseDomForHtml(list[i], '.subject-title&&Text')\n },\n col_type: 'movie_3'\n });\n }\n} catch (e) {\n d.push({\n title: 'IP可能已受限,点此登录可能恢复正常',\n content: '已支持PC端和手机端网页登录后自动获取Cookie',\n url: 'https://www.douban.com/'\n });\n}\nsetResult(d);","search_url":"hiker://empty#**#fypage@-1@*1@#","titleColor":"#ff13b66a","group":"#⃣️Q","detail_col_type":"rich_text","detail_find_rule":"","sdetail_col_type":"rich_text","sdetail_find_rule":"","ua":"pc","preRule":"var get =readFile('logfile.json');\nvar logfile = get == '' ? {} : JSON.parse(get);\nlogfile.history == null ? (logfile.history = [{}]) : 0;\nlogfile.playerMode == null ? (logfile.playerMode = '1') : 0;\nlogfile.parseMode == null ? (logfile.parseMode = '0') : 0;\nlogfile.parseList == null ? (logfile.parseList = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\"]) : 0;\nlogfile.indent == null ? (logfile.indent = '') : 0;\nlogfile.search == null ? (logfile.search = new Array()) : 0;\nlogfile.searchType == null ? (logfile.searchType = 'icon_small_4') : 0;\nlogfile.tabColor == null ? (logfile.tabColor = '#FA7298') : 0;\nsaveFile('logfile.json', JSON.stringify(logfile));\nvar getDoubanCookie=`(function(){if(window['location']['host']=='www.douban.com'){fy_bridge_app['writeFile']('hiker://files/cache/doubancookie.txt',fy_bridge_app['getCookie']('https://www.douban.com/'));}if(window['location']['host']=='m.douban.com'){fy_bridge_app['writeFile']('hiker://files/cache/doubancookie.txt',fy_bridge_app['getCookie']('https://m.douban.com/'));}}());`\n!fileExist('hiker://files/cache/global_getDoubanCookie.js') ? (writeFile('hiker://files/cache/global_getDoubanCookie.js', getDoubanCookie)) : 0;","pages":"[{\"col_type\":\"movie_3\",\"name\":\"影片详情\",\"path\":\"details\",\"rule\":\"js:\\nsetPageTitle(MY_PARAMS.title);\\nvar d = [];\\nvar html = request(MY_PARAMS.link, {\\n headers: {\\n \\\"User-Agent\\\": PC_UA,\\n \\\"Cookie\\\": fetch('hiker://files/cache/doubancookie.txt')\\n }\\n});\\nvar logfile = JSON.parse(readFile('logfile.json'));\\nvar gyset = 'hiker://page/setting#noHistory#'\\nvar openset = 'hiker://empty#noLoading#' + \\\"@lazyRule=.js:var open=getVar('open','0');putVar('open',Number(open)+1);if(open=='7'){putVar('open','0');var logfile = JSON.parse(readFile('logfile.json'));logfile.openset=1;saveFile('logfile.json', JSON.stringify(logfile));refreshPage();'toast://已开启设置功能!'}else{'hiker://empty'}\\\"\\nvar pics_list = parseDomForArray(html, 'body&&.related-pic-bd&&li');\\ntry {\\n var content = JSON.parse(unescape(parseDomForHtml(html, 'html&&script[type=\\\"application/ld+json\\\"]&&Html').replace(/\\\\u0000|\\\\u0001|\\\\u0002|\\\\u0003|\\\\u0004|\\\\u0005|\\\\u0006|\\\\u0007|\\\\u0008|\\\\u0009|\\\\u000a|\\\\u000b|\\\\u000c|\\\\u000d|\\\\u000e|\\\\u000f|\\\\u0010|\\\\u0011|\\\\u0012|\\\\u0013|\\\\u0014|\\\\u0015|\\\\u0016|\\\\u0017|\\\\u0018|\\\\u0019|\\\\u001a|\\\\u001b|\\\\u001c|\\\\u001d|\\\\u001e|\\\\u001f|\\\\u007F/g, '').replace(/\\\\\\\\u/g, '%u')));\\n var director = '';\\n for (var i in content.director) {\\n var director = director + content.director[i].name.replace(/[^\\\\u4e00-\\\\u9fa5·]/g, '') + '/';\\n }\\n var director = '导演:' + director.slice(0, director.length - 1);\\n var actor = '';\\n for (var i in content.actor) {\\n var actor = actor + content.actor[i].name.replace(/[^\\\\u4e00-\\\\u9fa5·]/g, '') + '/';\\n }\\n var actor = '主演:' + actor.slice(0, actor.length - 1);\\n d.push({\\n title: content.datePublished != '' ? (MY_PARAMS.title + '(' + content.datePublished + ')' + '\\\\n类型:' + content.genre) : (MY_PARAMS.title + '\\\\n类型:' + content.genre),\\n desc: director + '\\\\n' + actor,\\n url: logfile.openset == 1 ? gyset : openset,\\n pic_url: content.image + '@Referer=',\\n col_type: 'movie_1_vertical_pic_blur'\\n });\\n} catch (e) {}\\ntry {\\n var id = content.url.replace(/[^0-9]/g, '');\\n} catch (e) {}\\nfor (var i = logfile.history.length; i--; i > 0) {\\n if (logfile.history[i].id == id) {\\n var record = logfile.history[i].sources\\n break;\\n }\\n}\\ngetVar('sources', '0') == '0' ? (putVar('sources', record)) : 0;\\nd.push({\\n title: '演职员详情',\\n pic_url: 'https://z3.ax1x.com/2021/06/04/28DcG9.png',\\n url: 'hiker://page/actors#noHistory#',\\n extra: {\\n link: 'https://movie.douban.com' + content.url + 'celebrities'\\n },\\n col_type: 'icon_small_4'\\n});\\nd.push({\\n title: '预告花絮',\\n pic_url: 'https://z3.ax1x.com/2021/06/04/28Dg2R.png',\\n url: 'hiker://page/notice#noHistory#',\\n extra: {\\n link: 'https://movie.douban.com' + content.url + 'trailer'\\n },\\n col_type: 'icon_small_4'\\n});\\nd.push({\\n title: '影片长评',\\n pic_url: 'https://z3.ax1x.com/2021/06/12/25NrNt.png',\\n url: 'hiker://page/reviews_list?page=fypage@-1@*20@#noHistory#',\\n extra: {\\n link: 'https://movie.douban.com' + content.url + 'reviews?sort=hotest&start=#page#'\\n },\\n col_type: 'icon_small_4'\\n});\\nd.push({\\n title: '影片短评',\\n pic_url: 'https://z3.ax1x.com/2021/06/04/28DWKx.png',\\n url: 'hiker://page/comments?page=fypage@-1@*20@#noHistory#',\\n extra: {\\n link: 'https://movie.douban.com' + content.url + 'comments?start=#page#&limit=20&sort=new_score&status=P&percent_type='\\n },\\n col_type: 'icon_small_4'\\n});\\nd.push({\\n col_type: 'line_blank'\\n});\\nd.push({\\n title: '‘‘⇒\\\\r点此搜索本片\\\\r⇐’’',\\n url: 'hiker://search?s=' + MY_PARAMS.title,\\n col_type: 'text_center_1'\\n})\\nif (logfile.search.length != 0) {\\n logfile.searchType == 'scroll_button' ? d.push({\\n col_type: 'big_blank_block'\\n }) : 0;\\n}\\nfor (var i in logfile.search) {\\n if (logfile.search[i] != '') {\\n try {\\n d.push({\\n title: logfile.search[i].split('@@')[0],\\n url: 'hiker://search?s=' + MY_PARAMS.title + '&rule=' + logfile.search[i].split('@@')[1],\\n pic_url: logfile.search[i].split('@@')[2],\\n col_type: logfile.searchType,\\n });\\n } catch (e) {}\\n }\\n}\\nd.push({\\n col_type: 'line_blank'\\n});\\nvar lazy = \\\"@lazyRule=.js:var input=input.split('?url=')[1].split('?')[0];var config = fetch('hiker://files/cache/MyParseSet.json');var jsUrl = 'https://code.aliyun.com/AI957/Hiker/raw/master/v/CloudParse-V2_Dn.js';if (config && fetch(JSON.parse(config).cj)) {jsUrl = JSON.parse(config).cj;}eval(fetch(jsUrl));eval(fetch('hiker://files/rules/js/Messy-parsing.js'));var logfile = JSON.parse(readFile('logfile.json'));if(logfile.parseMode=='0'){var url=input}else if(logfile.parseMode=='1'){var url=aytmParse(input)}else if(logfile.parseMode=='2'){var url=player(input)}else if(logfile.parseMode=='3'){if(input.indexOf('qq.com')!=-1){var url=logfile.parseList[1]+input}else if(input.indexOf('youku.com')!=-1){var url=logfile.parseList[3]+input}else if(input.indexOf('bilibili.com')!=-1){var url=logfile.parseList[8]+input}else if(input.indexOf('iqiyi.com')!=-1){var url=logfile.parseList[9]+input}};if(logfile.playerMode=='0'){refreshX5Desc('200');'x5WebView://'+url}else{url}\\\";\\nvar sources = [];\\nvar sources_list = html.match(/sources\\\\[[1389]{1}\\\\][\\\\s\\\\S]*?\\\\]/g);\\nif (sources_list == null) {\\n var script_list = parseDomForArray(html, 'body&&script[src]');\\n for (var i in script_list) {\\n var sources_url = parseDomForHtml(script_list[i], 'script&&src').indexOf('mixed_static') != -1 ? (parseDomForHtml(script_list[i], 'script&&src')) : sources_url\\n }\\n var sources_list = request(sources_url).match(/sources\\\\[[1389]{1}\\\\][\\\\s\\\\S]*?\\\\]/g);\\n}\\nif (sources_list != null) {\\n for (var i in sources_list) {\\n eval(unescape(sources_list[i]));\\n }\\n d.push({\\n title: '影片片源',\\n url: 'hiker://empty',\\n col_type: 'text_center_1'\\n });\\n var sources_title = ['腾讯视频', '优酷视频', '哔哩哔哩', '爱奇艺视频'];\\n var sources_pic = ['https://s1.ax1x.com/2020/11/06/BhRK91.jpg', 'https://s1.ax1x.com/2020/11/06/BhRmN9.png', 'https://s1.ax1x.com/2020/11/06/BhReAJ.png', 'https://s1.ax1x.com/2020/11/06/BhRAnU.png'];\\n var sources_id = ['1', '3', '8', '9'];\\n for (var i in sources_title) {\\n if (sources[sources_id[i]] != null) {\\n d.push({\\n title: sources_title[i],\\n pic_url: sources_pic[i],\\n url: 'hiker://empty' + \\\"@lazyRule=.js:putVar('sources', '\\\" + sources_id[i] + \\\"');refreshPage();'toast://正在加载中!'\\\",\\n col_type: 'icon_4'\\n });\\n }\\n }\\n if (getVar('sources', '0') != 0) {\\n var sources_title = ['', '腾讯视频', '', '优酷视频', '', '', '', '', '哔哩哔哩', '爱奇艺视频'];\\n d.push({\\n col_type: 'line_blank'\\n });\\n logfile.playerMode == '0' ? d.push({\\n desc: '200&&list',\\n col_type: 'x5_webview_single'\\n }) : 0;\\n d.push({\\n title: '当前片源:' + sources_title[getVar('sources', '0')],\\n desc: '⇒ 点此折叠选集 ⇐',\\n url: 'hiker://empty' + \\\"@lazyRule=.js:var id = \\\" + id + \\\";var logfile = JSON.parse(readFile('logfile.json'));for (var i in logfile.history) {if (logfile.history[i].id == id) {var num = i;break;}else{var num = null}}if (num != null) {logfile.history[num].sources = '0';putVar('sources', '0');saveFile('logfile.json', JSON.stringify(logfile));}refreshPage();'hiker://empty'\\\",\\n col_type: 'text_center_1'\\n });\\n for (var i in sources[getVar('sources', '0')]) {\\n d.push({\\n title: '第' + sources[getVar('sources', '0')][i].ep + '集',\\n url: sources[getVar('sources', '0')][i].play_link + lazy,\\n col_type: 'text_4'\\n })\\n }\\n }\\n for (var i in logfile.history) {\\n if (logfile.history[i].id == id) {\\n var num = i\\n break;\\n } else {\\n var num = ''\\n }\\n }\\n if (num != '') {\\n logfile.history[i].sources = getVar('sources', '0')\\n } else if (getVar('sources', '0') != '0') {\\n logfile.history.push({\\n id: id,\\n sources: getVar('sources', '0')\\n })\\n }\\n saveFile('logfile.json', JSON.stringify(logfile));\\n putVar('sources', '0');\\n d.push({\\n col_type: 'line_blank'\\n });\\n}\\ntry {\\n d.push({\\n title: content.aggregateRating.ratingValue != '' ? ('豆瓣评分:' + content.aggregateRating.ratingValue + '分') : '豆瓣评分:暂无评分',\\n url: 'hiker://empty',\\n col_type: 'text_center_1'\\n });\\n} catch (e) {}\\nif (content.aggregateRating.ratingValue != '') {\\n function star(num) {\\n var star_text = '';\\n for (var i = (5 - num); i > 0; i--) {\\n var star_text = star_text + '★';\\n }\\n for (var i = num; i > 0; i--) {\\n var star_text = star_text + '☆';\\n }\\n var star_text = '<big><font color=\\\"#ffac2d\\\">' + star_text + '</font></big>';\\n return star_text;\\n }\\n var score_list = parseDomForArray(html, 'body&&.ratings-on-weight&&.item');\\n var score_html = '';\\n for (var s in score_list) {\\n var score_num = parseDomForHtml(score_list[s], '.rating_per&&Text').split('%')[0];\\n var score_text_1 = '';\\n var score_text_2 = '';\\n for (var n = 0; n < Math.ceil(score_num / 10); n++) {\\n var score_text_1 = score_text_1 + '▇';\\n }\\n var score_text_1 = '<font color=\\\"#ffac2d\\\">' + score_text_1 + '</font>';\\n for (var n = 0; n < 10 - (Math.ceil(score_num / 10)); n++) {\\n var score_text_2 = score_text_2 + '▇';\\n }\\n var score_text_2 = '<font color=\\\"#d9d9d9\\\">' + score_text_2 + '</font>';\\n var score_html = score_html + logfile.indent + star(s) + ' ' + score_text_1 + score_text_2 + ' ' + score_num + '%<br>';\\n }\\n d.push({\\n title: score_html.slice(0, (score_html.length - 4)),\\n col_type: 'rich_text'\\n });\\n}\\nd.push({\\n col_type: 'line_blank'\\n});\\ntry {\\n var video_brief = parseDomForHtml(html, 'body&&#link-report&&Text').replace(/[(©豆瓣)(\\\\s)]/g, '');\\n} catch (e) {}\\ntry {\\n var video_brief = parseDomForHtml(html, 'body&&#link-report&&.all&&Text').replace(/[(©豆瓣)(\\\\s)]/g, '');\\n} catch (e) {}\\nif (video_brief == undefined) {\\n var video_brief = '';\\n}\\nd.push({\\n title: '剧情简介',\\n url: 'hiker://empty',\\n col_type: 'text_center_1'\\n})\\nd.push({\\n title: '\\\\r\\\\r\\\\r\\\\r\\\\r\\\\r\\\\r\\\\r' + video_brief,\\n col_type: 'long_text'\\n})\\nd.push({\\n col_type: 'line_blank'\\n});\\nd.push({\\n title: '影片预览',\\n url: 'hiker://empty',\\n col_type: 'text_center_1'\\n});\\nfor (var i in pics_list) {\\n if (pics_list[i].indexOf('label-trailer') !== -1) {\\n d.push({\\n title: '预告片',\\n pic_url: parseDomForHtml(pics_list[i], 'a&&style') + '@Referer=',\\n url: parseDomForHtml(pics_list[i], 'a&&href') + `@lazyRule=.js:parseDomForHtml(request(input,{headers: {\\\"User-Agent\\\": PC_UA,\\\"Cookie\\\":fetch('hiker://files/cache/doubancookie.txt')}}), 'body&&source&&src')`,\\n col_type: 'movie_2'\\n });\\n } else if (pics_list[i].indexOf('label-short-video') !== -1) {\\n d.push({\\n title: '视频评论',\\n pic_url: parseDomForHtml(pics_list[i], 'a&&style') + '@Referer=',\\n url: parseDomForHtml(pics_list[i], 'a&&href') + `@lazyRule=.js:parseDomForHtml(request(input,{headers: {\\\"User-Agent\\\": PC_UA,\\\"Cookie\\\":fetch('hiker://files/cache/doubancookie.txt')}}), 'body&&source&&src')`,\\n col_type: 'movie_2'\\n });\\n } else {\\n d.push({\\n title: '剧照',\\n pic_url: parseDomForHtml(pics_list[i], 'img&&src').replace('sqxs', 'l').replace('img1', 'img9') + '@Referer=',\\n url: parseDomForHtml(pics_list[i], 'img&&src').replace('sqxs', 'l').replace('img1', 'img9'),\\n col_type: 'movie_2'\\n });\\n }\\n}\\n\\nd.push({\\n title: '更多剧照',\\n pic_url: 'https://cdn.jsdelivr.net/gh/Lingyan000/photos/img/20201104163813.gif',\\n url: 'hiker://page/pics?page=fypage@-1@*30@',\\n extra: {\\n link: 'https://movie.douban.com' + content.url + 'photos?type=S&start=#page#&sortby=like&size=a&subtype=a'\\n },\\n col_type: 'movie_2'\\n});\\nvar award_list = parseDomForArray(html, 'body&&.award');\\nif (award_list != '') {\\n d.push({\\n col_type: 'line_blank'\\n });\\n d.push({\\n title: '获奖情况',\\n url: 'hiker://empty',\\n col_type: 'text_center_1'\\n });\\n for (var i in award_list) {\\n d.push({\\n title: parseDomForHtml(award_list[i], '.award&&Text'),\\n url: 'hiker://page/awards#noHistory##immersiveTheme#',\\n extra: {\\n link: parseDomForHtml(award_list[i], 'a&&href')\\n },\\n col_type: 'text_1'\\n });\\n }\\n d.push({\\n title: '‘‘’’<small>查看' + MY_PARAMS.title + '的全部获奖情况</small>',\\n url: 'hiker://page/allawards#noHistory#',\\n extra: {\\n link: 'https://movie.douban.com' + content.url + 'awards/'\\n },\\n col_type: 'text_center_1'\\n });\\n}\\nd.push({\\n col_type: 'line_blank'\\n});\\nd.push({\\n title: '‘‘<small>以上数据来源于豆瓣,如您喜欢,请下载官方app</small>’’',\\n desc: '““<small>此规则仅限学习交流使用,请于导入后24小时内删除,任何组织或个人不得以任何方式方法传播此规则的整体或部分!</small>””',\\n url: 'https://m.douban.com/home_guide',\\n col_type: 'text_center_1'\\n});\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"规则设置\",\"path\":\"setting\",\"rule\":\"js:\\nsetPageTitle('规则设置');\\nvar d = [];\\nvar logfile = JSON.parse(readFile('logfile.json'));\\nvar playername = ['X5播放器', '默认播放器'];\\nd.push({\\n title: '‘‘播放器设置’’',\\n desc: '当前播放器:' + playername[logfile.playerMode],\\n url: 'hiker://empty' + \\\"@lazyRule=.js:var logfile = JSON.parse(readFile('logfile.json'));logfile.playerMode=='0'?logfile.playerMode='1':logfile.playerMode='0';saveFile('logfile.json', JSON.stringify(logfile));refreshPage();'toast://已切换播放器!'\\\",\\n col_type: 'text_1'\\n});\\nd.push({\\n col_type: 'line_blank'\\n});\\nvar parsename = ['无解析', '断念插件', '努力插件', '自定义解析'];\\nd.push({\\n title: '‘‘当前解析模式:' + parsename[logfile.parseMode] + '’’',\\n url: 'hiker://empty',\\n col_type: 'text_1'\\n});\\nfor (var i in parsename) {\\n d.push({\\n title: parsename[i],\\n url: 'hiker://empty#' + i + \\\"@lazyRule=.js:var logfile = JSON.parse(readFile('logfile.json'));logfile.parseMode=input.split('#')[1];saveFile('logfile.json', JSON.stringify(logfile));refreshPage();'toast://已切换!'\\\",\\n col_type: 'flex_button'\\n });\\n}\\nd.push({\\n col_type: 'line_blank'\\n});\\nd.push({\\n title: '‘‘断插相关设置’’',\\n url: 'hiker://empty',\\n col_type: 'text_1'\\n});\\ntry {\\n var config = fetch('hiker://files/cache/MyParseSet.json');\\n var jsUrl = 'https://code.aliyun.com/AI957/Hiker/raw/master/v/CloudParse-V2_Dn.js';\\n if (config && fetch(JSON.parse(config).cj)) {\\n jsUrl = JSON.parse(config).cj;\\n }\\n eval(fetch(jsUrl));\\n d.push({\\n title: '打开断插设置',\\n url: setUrl,\\n col_type: 'flex_button'\\n });\\n} catch (e) {}\\nd.push({\\n title: '断插设置异常恢复',\\n url: \\\"confirm://此功能用于断插403异常后恢复断插设置页面.js:'rule://'+base64Encode('海阔视界,本地文件¥file_url¥hiker://files/cache/Parse_Dn.html@http://82.156.222.77/dzqy/Parse_Dn.html');\\\",\\n col_type: 'flex_button'\\n});\\nd.push({\\n col_type: 'line_blank'\\n});\\nvar sources_name = ['', '腾讯视频', '', '优酷视频', '', '', '', '', '哔哩哔哩', '爱奇艺视频'];\\nvar sources_id = [1, 3, 8, 9];\\nd.push({\\n title: '‘‘自定义解析设置’’',\\n desc: '仅在自定义解析模式下生效,解析接口类似于【http://xxxxx.com/?url=】,请自行添加使用',\\n url: 'hiker://empty',\\n col_type: 'text_1'\\n});\\nfor (var i in sources_id) {\\n d.push({\\n title: sources_name[sources_id[i]],\\n url: \\\"input://\\\" + logfile.parseList[sources_id[i]] + \\\"////\\\" + sources_name[sources_id[i]] + \\\"解析接口地址.js:var logfile = JSON.parse(readFile('logfile.json'));logfile.parseList[\\\" + sources_id[i] + \\\"]=input;saveFile('logfile.json', JSON.stringify(logfile));refreshPage();'toast://已设置为'+input\\\",\\n col_type: 'flex_button'\\n });\\n}\\nd.push({\\n col_type: 'line_blank'\\n});\\nd.push({\\n title: '‘‘添加快捷搜索小程序’’',\\n desc: '每次一个,按照提示替换显示名小程序名图片链接即可,不要动@@,且显示名小程序名图片链接中不能含有@@',\\n url: \\\"input://显示名@@小程序名@@图片链接////快捷搜索设置.js:var logfile = JSON.parse(readFile('logfile.json'));logfile.search.push(input);saveFile('logfile.json', JSON.stringify(logfile));refreshPage();'toast://已添加'+input.split('@@')[1]+'为快捷搜索'\\\",\\n col_type: 'text_1'\\n})\\nd.push({\\n col_type: 'line_blank'\\n});\\nif (logfile.search.length != 0) {\\n d.push({\\n title: '‘‘管理快捷搜索小程序’’',\\n desc: getItem('managementMode', '0') == '0' ? '当前模式:【修改】,点此切换为删除模式' : '当前模式:【删除】,点此切换为修改模式',\\n url: 'hiker://empty' + \\\"@lazyRule=.js:getItem('managementMode','0')=='0'?setItem('managementMode','1'):setItem('managementMode','0');refreshPage();'toast://已切换管理模式!'\\\",\\n col_type: 'text_1'\\n })\\n for (var i in logfile.search) {\\n if (logfile.search[i] != '') {\\n try {\\n d.push({\\n title: logfile.search[i].split('@@')[0],\\n url: getItem('managementMode', '0') == '0' ? (\\\"input://\\\" + logfile.search[i] + \\\"////修改内容.js:var logfile = JSON.parse(readFile('logfile.json'));logfile.search[\\\" + i + \\\"]=input;saveFile('logfile.json', JSON.stringify(logfile));refreshPage();'toast://修改成功!'\\\") : (\\\"confirm://是否确认在快捷搜索中删除【\\\" + logfile.search[i] + \\\"】.js:var logfile = JSON.parse(readFile('logfile.json'));logfile.search.splice(\\\" + i + \\\",1);saveFile('logfile.json', JSON.stringify(logfile));refreshPage();'toast://已删除!'\\\"),\\n col_type: 'flex_button'\\n });\\n } catch (e) {}\\n }\\n }\\n d.push({\\n col_type: 'line_blank'\\n });\\n}\\nd.push({\\n title: '‘‘设置快捷搜索显示样式’’',\\n desc: '当前:' + logfile.searchType,\\n url: \\\"input://\\\" + logfile.searchType + \\\"////快捷搜索显示样式设置.js:var logfile = JSON.parse(readFile('logfile.json'));logfile.searchType=input;saveFile('logfile.json', JSON.stringify(logfile));refreshPage();'toast://已设置为'+input\\\",\\n col_type: 'text_1'\\n});\\nd.push({\\n col_type: 'line_blank'\\n});\\nd.push({\\n title: '‘‘设置tab栏选中颜色’’',\\n desc: '当前:‘‘’’<font color=\\\"' + logfile.tabColor + '\\\">' + logfile.tabColor + '</font>,仅支持16进制颜色代码',\\n url: \\\"input://\\\" + logfile.tabColor + \\\"////tab栏选中颜色16进制代码.js:var logfile = JSON.parse(readFile('logfile.json'));logfile.tabColor=input;saveFile('logfile.json', JSON.stringify(logfile));refreshPage();'toast://已设置为'+input\\\",\\n col_type: 'text_1'\\n})\\nd.push({\\n col_type: 'line_blank'\\n});\\nd.push({\\n title: '‘‘评分详情缩进设置’’',\\n desc: '此选项会影响评分详情条目缩进长度',\\n url: \\\"input://////豆瓣评分缩进量.js:var logfile = JSON.parse(readFile('logfile.json'));logfile.indent='';for(var i=0;i<Number(input);i++){logfile.indent=logfile.indent+' '}saveFile('logfile.json', JSON.stringify(logfile));refreshPage();'toast://已设置为'+input\\\",\\n col_type: 'text_1'\\n})\\nd.push({\\n col_type: 'line_blank'\\n});\\nd.push({\\n title: '‘‘旧版数据导入’’',\\n desc: 'Tips:导入旧版数据后当前数据将丢失,请谨慎操作!',\\n url: \\\"confirm://是否确实导入旧版数据?.js:if(fileExist('hiker://files/rules/dzqy/Gy-logfile.js')){var isOld=true;var oldData=fetch('hiker://files/rules/dzqy/Gy-logfile.js');}else{if(fileExist('hiker://files/rules/js/Gy-logfile.js')){var isOld=true;var oldData=fetch('hiker://files/rules/js/Gy-logfile.js');}else{var isOld=false;}}if(isOld){saveFile('logfile.json',oldData);'toast://恢复成功!'}else{'toast://未找到旧版数据!'}\\\",\\n col_type: 'text_1'\\n});\\nd.push({\\n col_type: 'line_blank'\\n});\\nd.push({\\n title: '““<small>此规则仅限学习交流使用,请于导入后24小时内删除,任何组织或个人不得以任何方式方法传播此规则的整体或部分!</small>””',\\n url: 'hiker://empty',\\n col_type: 'text_center_1'\\n});\\nif (!fileExist('hiker://files/rules/js/Messy-parsing.js')) {\\n for (var i in d) {\\n if (d[i].title == '努力插件') {\\n d.splice(i, 1);\\n break;\\n }\\n }\\n}\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"影片剧照\",\"path\":\"pics\",\"rule\":\"js:\\nsetPageTitle('影片剧照');\\nvar html = request(MY_PARAMS.link.replace('#page#',eval(getParam('page'))), {headers: {\\\"User-Agent\\\": PC_UA,\\\"Cookie\\\":fetch('hiker://files/cache/doubancookie.txt')}});\\nvar d = [];\\nvar pics_list = parseDomForArray(html, 'body&&.article&&li');\\nfor (var i in pics_list) {\\n d.push({\\n pic_url: parseDomForHtml(pics_list[i], 'img&&src').replace('sqxs', 'l') + '@Referer=',\\n url: parseDomForHtml(pics_list[i], 'img&&src').replace('sqxs', 'l') + '@Referer=',\\n col_type: 'pic_2'\\n });\\n}\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"演职员详情\",\"path\":\"actors\",\"rule\":\"js:\\nsetPageTitle('演职员详情');\\nvar html = request(MY_PARAMS.link, {\\n headers: {\\n \\\"User-Agent\\\": PC_UA,\\n \\\"Cookie\\\": fetch('hiker://files/cache/doubancookie.txt')\\n }\\n});\\nvar d = [];\\nvar list = parseDomForArray(html, 'body&&#content&&.list-wrapper');\\nfor (var i in list) {\\n try {\\n d.push({\\n title: parseDomForHtml(list[i], 'h2&&Text'),\\n col_type: 'long_text'\\n });\\n } catch (e) {}\\n var personnel_list = parseDomForArray(list[i], 'ul&&li');\\n for (var j in personnel_list) {\\n try {\\n d.push({\\n title: parseDomForHtml(personnel_list[j], 'a&&title'),\\n desc: parseDomForHtml(personnel_list[j], '.works&&Text'),\\n pic_url: parseDomForHtml(personnel_list[j], '.avatar&&style') + '@Referer=',\\n url: 'hiker://page/works#noHistory##immersiveTheme#',\\n extra: {\\n link: parseDomForHtml(personnel_list[j], 'a&&href')\\n },\\n col_type: 'movie_1_vertical_pic'\\n })\\n } catch (e) {}\\n }\\n}\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"影人信息\",\"path\":\"works\",\"rule\":\"js:\\nsetPageTitle('影人信息');\\nvar html = request(MY_PARAMS.link, {\\n headers: {\\n \\\"User-Agent\\\": PC_UA,\\n \\\"Cookie\\\": fetch('hiker://files/cache/doubancookie.txt')\\n }\\n});\\nvar d = [];\\nvar people_pic = parseDom(html, 'body&&.nbg[title]&&img&&src');\\nvar people_title = parseDomForHtml(html, 'body&&.nbg[title]&&title');\\nvar people_desc = parseDomForHtml(html, 'body&&ul[class=\\\"\\\"]&&Text');\\nd.push({\\n title: people_title,\\n desc: people_desc,\\n pic_url: people_pic + '@Referer=',\\n url: 'hiker://empty',\\n col_type: 'movie_1_vertical_pic_blur'\\n});\\nd.push({\\n col_type: 'line_blank'\\n});\\ntry {\\n var desc = parseDomForHtml(html, 'body&&#intro&&.all&&Text');\\n d.push({\\n title: '影人简介',\\n url: 'hiker://empty',\\n col_type: 'text_center_1'\\n });\\n d.push({\\n title: desc.replace(/\\\\s/g, ''),\\n col_type: 'long_text'\\n });\\n} catch (e) {\\n d.push({\\n title: '该影人暂无简介',\\n url: 'hiker://empty',\\n col_type: 'text_center_1'\\n });\\n}\\nd.push({\\n col_type: 'line_blank'\\n});\\ntry {\\n var recent_movies_list = parseDomForArray(html, 'body&&#recent_movies&&li[class]');\\n d.push({\\n title: '最近上映的作品',\\n url: 'hiker://empty',\\n col_type: 'text_center_1'\\n });\\n for (var r in recent_movies_list) {\\n d.push({\\n title: parseDomForHtml(recent_movies_list[r], '.info&&a&&title'),\\n desc: parseDomForHtml(recent_movies_list[r], 'em&&Text'),\\n pic_url: parseDomForHtml(recent_movies_list[r], 'img[class]&&src') + '@Referer=',\\n url: 'hiker://page/details#immersiveTheme#',\\n extra: {\\n link: parseDomForHtml(recent_movies_list[r], 'a&&href'),\\n title: parseDomForHtml(recent_movies_list[r], '.info&&a&&title')\\n },\\n col_type: 'movie_3'\\n });\\n }\\n d.push({\\n col_type: 'line_blank'\\n });\\n} catch (e) {}\\ntry {\\n var best_movies_list = parseDomForArray(html, 'body&&#best_movies&&li[class]');\\n d.push({\\n title: '最受欢迎的作品',\\n url: 'hiker://empty',\\n col_type: 'text_center_1'\\n });\\n for (var r in best_movies_list) {\\n d.push({\\n title: parseDomForHtml(best_movies_list[r], '.info&&a&&title'),\\n desc: parseDomForHtml(best_movies_list[r], 'em&&Text'),\\n pic_url: parseDomForHtml(best_movies_list[r], 'img[class]&&src') + '@Referer=',\\n url: 'hiker://page/details#immersiveTheme#',\\n extra: {\\n link: parseDomForHtml(best_movies_list[r], 'a&&href'),\\n title: parseDomForHtml(best_movies_list[r], '.info&&a&&title')\\n },\\n col_type: 'movie_3'\\n });\\n }\\n d.push({\\n col_type: 'line_blank'\\n });\\n} catch (e) {}\\nd.push({\\n title: '查看全部作品',\\n url: 'hiker://page/allmovie?page=fypage@-1@*10@#noHistory#',\\n extra: {\\n link: MY_PARAMS.link + 'movies?start=#page#&format=pic&sortby=vote&'\\n },\\n col_type: 'text_center_1'\\n});\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"影人影片\",\"path\":\"allmovie\",\"rule\":\"js:\\nvar html = request(MY_PARAMS.link.replace('#page#',eval(getParam('page'))), {\\n headers: {\\n \\\"User-Agent\\\": PC_UA,\\n \\\"Cookie\\\": fetch('hiker://files/cache/doubancookie.txt')\\n }\\n});\\nvar d = [];\\nvar list = parseDomForArray(html, 'body&&ul[class=\\\"\\\"]&&li')\\nfor (var i in list) {\\n try {\\n var desc = parseDomForHtml(list[i], '.star&&span:not([class])&&Text');\\n } catch (e) {}\\n d.push({\\n title: parseDomForHtml(list[i], 'img&&alt'),\\n desc: desc != null ? (desc + '分') : '',\\n pic_url: parseDomForHtml(list[i], 'img&&src') + '@Referer=',\\n url: 'hiker://page/details#immersiveTheme#',\\n extra: {\\n link: parseDomForHtml(list[i], '.nbg&&href'),\\n title: parseDomForHtml(list[i], 'img&&alt')\\n },\\n col_type: 'movie_3'\\n });\\n var desc = null;\\n}\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"预告花絮\",\"path\":\"notice\",\"rule\":\"js:\\nsetPageTitle('预告花絮');\\nvar html = request(MY_PARAMS.link, {headers: {\\\"User-Agent\\\": PC_UA,\\\"Cookie\\\":fetch('hiker://files/cache/doubancookie.txt')}});\\nvar d = [];\\nvar title_list = parseDomForArray(html, 'body&&#content&&h2[id]');\\nvar list_list = parseDomForArray(html, 'body&&#content&&.video-list');\\nfor (var i in title_list) {\\n d.push({\\n title: parseDomForHtml(title_list[i], 'h2&&Text').split(\\\" · · · · · ·\\\")[0],\\n url: '',\\n col_type: 'long_text'\\n });\\n var video_list = parseDomForArray(list_list[i], 'ul&&li');\\n for (var j in video_list) {\\n d.push({\\n title: parseDomForHtml(video_list[j], 'a:not([class])&&Text'),\\n desc: parseDomForHtml(video_list[j], 'strong&&Text'),\\n pic_url: parseDomForHtml(video_list[j], 'img&&src') + '@Referer=',\\n url: parseDomForHtml(video_list[j], 'a&&href') + `@lazyRule=.js:parseDomForHtml(request(input,{headers: {\\\"User-Agent\\\": PC_UA,\\\"Cookie\\\":fetch('hiker://files/cache/doubancookie.txt')}}), 'body&&source&&src')`,\\n col_type: 'pic_2'\\n });\\n }\\n}\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"长评列表\",\"path\":\"reviews_list\",\"rule\":\"js:\\nvar logfile = JSON.parse(readFile('logfile.json'));\\nsetPageTitle('影片长评');\\nvar d = [];\\nif (eval(getParam('page')) == '0') {\\n d.push({\\n title: getItem('reviews_type', 'sort=hotest') == 'sort=hotest' ? ('‘‘’’<font color=\\\"' + logfile.tabColor + '\\\"><strong>最受欢迎</strong></font>') : '最受欢迎',\\n url: 'hiker://empty#noLoading#' + \\\"@lazyRule=.js:setItem('reviews_type','sort=hotest');refreshPage();'hiker://empty'\\\",\\n col_type: 'scroll_button'\\n });\\n d.push({\\n title: getItem('reviews_type', 'sort=hotest') == 'sort=time' ? ('‘‘’’<font color=\\\"' + logfile.tabColor + '\\\"><strong>最新发布</strong></font>') : '最新发布',\\n url: 'hiker://empty#noLoading#' + \\\"@lazyRule=.js:setItem('reviews_type','sort=time');refreshPage();'hiker://empty'\\\",\\n col_type: 'scroll_button'\\n });\\n for (var i = 5; i > 0; i--) {\\n d.push({\\n title: getItem('reviews_type', 'sort=hotest') == ('rating=' + i) ? ('‘‘’’<font color=\\\"' + logfile.tabColor + '\\\"><strong>给' + i + '星的评论</strong></font>') : '给' + i + '星的评论',\\n url: 'hiker://empty##noLoading#' + i + \\\"@lazyRule=.js:setItem('reviews_type','rating=\\\" + i + \\\"');refreshPage();'hiker://empty'\\\",\\n col_type: 'scroll_button'\\n });\\n }\\n d.push({\\n col_type: 'line_blank'\\n });\\n}\\nvar html = request(MY_PARAMS.link.replace('#page#', eval(getParam('page'))).replace('sort=hotest', getItem('reviews_type', 'sort=hotest')), {\\n headers: {\\n \\\"User-Agent\\\": PC_UA,\\n \\\"Cookie\\\": fetch('hiker://files/cache/doubancookie.txt')\\n }\\n});\\nvar list = parseDomForArray(html, 'body&&.review-list&&.review-item');\\nfor (var i in list) {\\n try {\\n d.push({\\n title: parseDomForHtml(list[i], '.name&&Text'),\\n pic_url: parseDomForHtml(list[i], 'img&&src') + '@Referer=',\\n url: 'hiker://empty',\\n col_type: 'avatar'\\n });\\n d.push({\\n col_type: 'line'\\n });\\n d.push({\\n title: '<strong>' + parseDomForHtml(list[i], 'h2&&Text') + '</strong>',\\n col_type: 'rich_text'\\n });\\n d.push({\\n title: parseDomForHtml(list[i], '.short-content&&Text').replace(/这篇[剧影]评可能有剧透\\\\s/g, '').replace('( 展开)', '') + '<a href=\\\"hiker://page/reviews_content\\\">[查看全文]</a>',\\n extra: {\\n link: parseDomForHtml(list[i], 'h2&&a&&href')\\n },\\n col_type: 'rich_text'\\n });\\n d.push({\\n col_type: 'line_blank'\\n });\\n } catch (e) {}\\n}\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"长评详情\",\"path\":\"reviews_content\",\"rule\":\"js:\\nsetPageTitle('长评详情');\\nvar html = request(MY_PARAMS.link, {headers: {\\\"User-Agent\\\": PC_UA,\\\"Cookie\\\":fetch('hiker://files/cache/doubancookie.txt')}});\\ntry {\\n var desc = '““' + parseDomForHtml(html, '.main-title-tip&&Text') + '””';\\n} catch (e) {\\n var desc = ''\\n}\\nvar d = [];\\nvar title = parseDomForHtml(html, 'meta[name=\\\"description\\\"]&&content');\\nd.push({\\n title: '‘‘’’<big><strong>' + title + '</strong></big>',\\n desc: desc,\\n url: 'hiker;//empty',\\n col_type: 'text_center_1'\\n});\\nvar content = parseDomForArray(html, 'body&&#link-report')[0].replace(/blockquote/g, 'p').replace(/h2>/g, 'p>');\\nvar list = content.match(/<p[\\\\s\\\\S]*?\\\\/p>|<img[\\\\s\\\\S]*?>/g)\\nfor (var i in list) {\\n if (list[i].indexOf('<img') != -1) {\\n d.push({\\n pic_url: parseDom(list[i], 'img&&src')+ '@Referer=',\\n url: parseDom(list[i], 'img&&src')+ '@Referer=',\\n col_type: 'pic_1_full'\\n });\\n } else {\\n parseDomForHtml(list[i], 'p&&Text') != '' ? d.push({\\n title: parseDomForHtml(list[i], 'p&&Text').replace(/\\\\s/g, ''),\\n col_type: 'long_text'\\n }) : 0;\\n }\\n}\\nif (list == null) {\\n d.push({\\n title: parseDomForHtml(html, 'body&&#link-report&&Html'),\\n col_type: 'rich_text'\\n });\\n}\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"影片短评\",\"path\":\"comments\",\"rule\":\"js:\\nvar logfile = JSON.parse(readFile('logfile.json'));\\nsetPageTitle('影片短评');\\nvar d = [];\\nif (eval(getParam('page')) == '0') {\\n d.push({\\n title: getItem('comments_type', 'sort=new_score') == 'sort=new_score' ? ('‘‘’’<font color=\\\"' + logfile.tabColor + '\\\"><strong>最热评论</strong></font>') : '最热评论',\\n url: 'hiker://empty#noLoading#' + \\\"@lazyRule=.js:setItem('comments_type','sort=new_score');refreshPage();'hiker://empty'\\\",\\n col_type: 'scroll_button'\\n });\\n d.push({\\n title: getItem('comments_type', 'sort=new_score') == 'sort=time' ? ('‘‘’’<font color=\\\"' + logfile.tabColor + '\\\"><strong>最新评论</strong></font>') : '最新评论',\\n url: 'hiker://empty#noLoading#' + \\\"@lazyRule=.js:setItem('comments_type','sort=time');refreshPage();'hiker://empty'\\\",\\n col_type: 'scroll_button'\\n });\\n d.push({\\n col_type: 'line_blank'\\n });\\n}\\nvar html = request(MY_PARAMS.link.replace('#page#', eval(getParam('page'))).replace('sort=new_score', getItem('comments_type', 'sort=new_score')), {\\n headers: {\\n \\\"User-Agent\\\": PC_UA,\\n \\\"Cookie\\\": fetch('hiker://files/cache/doubancookie.txt')\\n }\\n});\\nvar list = parseDomForArray(html, 'body&&#comments&&.comment-item');\\nfor (var i in list) {\\n try {\\n d.push({\\n title: parseDomForHtml(list[i], 'a&&title'),\\n pic_url: parseDomForHtml(list[i], 'img&&src') + '@Referer=',\\n url: 'hiker://empty',\\n col_type: 'avatar'\\n });\\n d.push({\\n col_type: 'line'\\n });\\n } catch (e) {}\\n try {\\n d.push({\\n title: parseDomForHtml(list[i], '.comment-content&&Text'),\\n col_type: 'rich_text'\\n });\\n } catch (e) {}\\n d.push({\\n col_type: 'line_blank'\\n });\\n}\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"获奖情况\",\"path\":\"allawards\",\"rule\":\"js:\\nsetPageTitle('获奖情况');\\nvar html = request(MY_PARAMS.link, {\\n headers: {\\n \\\"User-Agent\\\": PC_UA,\\n \\\"Cookie\\\": fetch('hiker://files/cache/doubancookie.txt')\\n }\\n});\\nvar d = [];\\nsetPageTitle(parseDomForHtml(html, 'body&&#content&&h1&&Text'));\\nd.push({\\n title: '‘‘<strong>' + parseDomForHtml(html, 'body&&#content&&h1&&Text') + '</strong>’’',\\n url: 'hiker://empty',\\n col_type: 'text_center_1'\\n});\\nvar awards_list = parseDomForArray(html, 'body&&#content&&.awards');\\nfor (var i in awards_list) {\\n d.push({\\n col_type: 'line_blank'\\n });\\n d.push({\\n title: '‘‘’’<strong>' + parseDomForHtml(awards_list[i], 'h2&&Text') + '</strong>',\\n url: 'hiker://page/awards#noHistory##immersiveTheme#',\\n extra: {\\n link: parseDomForHtml(awards_list[i], 'a&&href')\\n },\\n col_type: 'text_1'\\n });\\n var list = parseDomForArray(awards_list[i], '.awards&&.award');\\n for (var j in list) {\\n d.push({\\n title: '⇒\\\\t\\\\t' + parseDomForHtml(list[j], '.award&&Text'),\\n url: 'hiker://empty',\\n col_type: 'text_1'\\n });\\n }\\n}\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"获奖详情\",\"path\":\"awards\",\"rule\":\"js:\\nvar html = request(MY_PARAMS.link, {\\n headers: {\\n \\\"User-Agent\\\": PC_UA,\\n \\\"Cookie\\\": fetch('hiker://files/cache/doubancookie.txt')\\n }\\n});\\nsetPageTitle(parseDomForHtml(html, 'body&&#content&&h1&&Text'));\\nvar d = [];\\ntry {\\n d.push({\\n title: parseDomForHtml(html, 'body&&#content&&h1&&Text'),\\n desc: parseDomForHtml(html, 'body&&#content&&.desc&&Text'),\\n pic_url: parseDomForHtml(html, 'body&&#content&&.poster&&img&&src') + '@Referer=',\\n url: 'hiker://empty',\\n col_type: 'movie_1_vertical_pic_blur'\\n });\\n} catch (e) {}\\nd.push({\\n col_type: 'line_blank'\\n});\\nvar movies_list = parseDomForArray(html, 'body&&#feature-slide&&.ui-slide-item');\\nd.push({\\n title: '获奖影片',\\n url: 'hiker://empty',\\n col_type: 'text_center_1'\\n});\\nfor (var i in movies_list) {\\n\\n try {\\n d.push({\\n title: parseDomForHtml(movies_list[i], 'a[title]&&title'),\\n desc: parseDomForHtml(movies_list[i], '.aw&&Text'),\\n pic_url: parseDom(movies_list[i], 'img&&src') + '@Referer=',\\n url: 'hiker://page/details#immersiveTheme#',\\n extra: {\\n link: parseDom(movies_list[i], 'a&&href'),\\n title: parseDomForHtml(movies_list[i], 'a[title]&&title')\\n },\\n col_type: 'movie_3'\\n });\\n } catch (e) {}\\n}\\nd.push({\\n col_type: 'line_blank'\\n});\\nvar year_awards = parseDomForArray(html, 'body&&#content&&#year_awards&&ul&&li');\\nd.push({\\n title: parseDomForHtml(html, 'body&&#content&&#year_awards&&h2&&Text'),\\n url: 'hiker://empty',\\n col_type: 'text_center_1'\\n});\\nfor (var i in year_awards) {\\n d.push({\\n title: parseDomForHtml(year_awards[i], 'li&&Text'),\\n url: 'hiker://page/awards#noHistory##immersiveTheme#',\\n extra: {\\n link: parseDomForHtml(year_awards[i], 'a&&href')\\n },\\n col_type: 'text_5'\\n });\\n}\\nsetResult(d);\"}]","icon":""},{"last_chapter_rule":"","title":"速影TV·Q","author":"发粪涂墙","version":0,"url":"https://xn--tv-ks3d939o.xyz/movie/fyAll-fypage.html[firstPage=https://xn--tv-ks3d939o.xyz/movie/fyAll.html]","col_type":"movie_3","class_name":"电视剧&电影&","class_url":"2&1&","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":"https://xn--tv-ks3d939o.xyz/movie-search-pg-fypage-wd-**.html","titleColor":"","group":"#⃣️Q","detail_col_type":"movie_1_vertical_pic_blur","detail_find_rule":"js:\n//通用匹配\nputVar(\"_x5\", $.toString(() => {\n var urls = _getUrls()\n for (var i in urls) {\n if (urls[i].match(/.mp3|.mp4|.m3u8/)) {\n fy_bridge_app.log(urls[i])\n return urls[i].replace('https://xn--tv-ks3d939o.xyz/player/?url=','').match(/(.*?m3u8)/)[1]\n }\n }\n}))\nvar lazy = \"@lazyRule=.js:showLoading('动态解析中,请稍候');'x5Rule://'+input+'@' + getVar('_x5')\";\nconst {\n autoPage\n} = $.require(\"hiker://page/auto?rule=模板·Q\");\nautoPage(getResCode())","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"auto","preRule":"","pages":"[]","icon":""},{"last_chapter_rule":"","title":"轻合集·Q","author":"小棉袄🌞&永远の明日","version":72,"url":"hiker://empty","col_type":"icon_2_round","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nlet el = [{\n title: '清除缓存,立即更新 <small>(基于远程仓库,不要频繁点击)',\n url: $().lazyRule(() => {\n clearItem('updatetime')\n refreshPage(true)\n return 'toast://已更新'\n }),\n img: 'hiker://images/icon1',\n col_type: 'avatar'\n}]\nel.push({\n url: '\"hiker://search?s=\"+input+\"&rule=' + getItem('myCollection') + '\"',\n desc: '搜你想要的...',\n title: '搜索',\n col_type: 'input'\n})\nconst data = $.require('hiker://page/dataLoad?rule=' + getItem('myCollection'))\nsetResult(el.concat(data.map((v) => {\n let fypage = /^[^;]*?fypage.*?(;.*)?$/.test(v.url) ? 'fypage' : '1'\n return {\n title: v.title,\n url: 'hiker://page/indexLoad?#' + fypage + '#noHistory#',\n img: v.icon,\n extra: { RULE: v }\n }\n})))","searchFind":"js:\nlet myCollection_el = [],\n searchMode = getVar('myCollection-searchMode', ''),\n [_, pageNum, keyword] = MY_URL.split('##'),\n RULE = $.require('hiker://page/dataLoad?rule=' + getItem('myCollection')).filter((v) => v.search_url)\npageNum = parseInt(pageNum)\nif (!searchMode && pageNum > RULE.length) setResult([])\n\nlet searchCount = { title: '⬆ 已搜索了' + pageNum + '个小程序 ⬆\\n⬇ 下面还有' + (RULE.length - pageNum) + '个小程序 ⬇' }\nRULE = searchMode ? RULE.find((v) => v.title == searchMode) : RULE[pageNum - 1]\n// 处理MY_URL和MY_RULE\nMY_RULE.version = RULE.version\nMY_RULE.group = RULE.group\nMY_RULE.title = RULE.title\nMY_RULE.ua = RULE.ua\nMY_RULE.col_type = RULE.col_type\nMY_RULE.detail_col_type = RULE.sdetail_col_type\nMY_RULE.find_rule = RULE.searchFind\nMY_RULE.detail_find_rule = ['', '*'].includes(RULE.sdetail_find_rule) ? RULE.detail_find_rule : RULE.sdetail_find_rule\nMY_RULE.preRule = RULE.preRule\nMY_RULE.pageList = JSON.parse(RULE.pages || '[]')\nMY_RULE.pages = JSON.stringify(MY_RULE.pageList)\nMY_RULE.last_chapter_rule = RULE.last_chapter_rule\nMY_RULE.params = {}\n\nconst { runCode, urlParse } = $.require('hiker://page/utility?rule=' + getItem('myCollection'))\nvar { MY_URL, indexHtml } = urlParse(RULE.search_url, searchMode ? pageNum : 1, (url) => {\n url[0] = url[0].replace(url[0].includes('%%') ? /%%/g : /\\*\\*/g, encodeStr(keyword, url[2]))\n})\nMY_RULE.url = MY_URL\n// 正文解析\nif (pageNum == 1) eval(MY_RULE.preRule)\nif (MY_RULE.find_rule.startsWith('js:')) {\n function getUrl() {\n return MY_URL\n }\n\n function getResCode() {\n return indexHtml\n }\n\n function setResult(el, param1, param2, param3) {\n param1 = CALLBACK_KEY\n param2 = MY_RULE\n param3 = MY_TYPE\n if (Array.isArray(el.data)) el = el.data\n log(el)\n Array.prototype.push.apply(myCollection_el, el.map((v) => {\n let RULE = Object.assign({}, MY_RULE)\n\n if (!v.url) {\n return v\n } else if (v.url.includes('@rule=')) {\n let [_, url, rule] = v.url.match(/^([\\s\\S]*?)@rule=([\\s\\S]*)$/)\n v.url = url\n RULE.detail_find_rule = rule\n RULE.detail_col_type = MY_RULE.col_type\n } else if (v.url.startsWith('hiker://page/')) {\n if (v.url.includes('rule=') || (v.extra || {}).rule)\n return v\n let path = v.url.split('#')[0].match(/^hiker:\\/\\/page\\/(.+?)(?:\\?.*)?$/)[1],\n subPage = MY_RULE.pageList.find(v => v.path == path)\n RULE.detail_find_rule = subPage.rule\n RULE.detail_col_type = subPage.col_type\n RULE.params = v.extra || {}\n } else if (v.url.includes('@lazyRule=')) {\n v.url = v.url.replace('.js:', '.js:\\nif(MY_RULE)Object.assign(MY_RULE,' + $.stringify({ title: MY_RULE.title, pages: MY_RULE.pages, pageList: MY_RULE.pageList, find_rule: '', params: '' }) + ');')\n return v\n } else if (!MY_RULE.detail_find_rule) { return v }\n v.extra = { url: v.url, RULE: RULE, pageTitle: v.title }\n v.url = 'hiker://page/detailLoad?rule=' + getItem('myCollection')\n return v\n }))\n if (!searchMode) myCollection_el.push(searchCount)\n method_setResult.invoke(javaContext, myCollection_el, param1, param2, param3)\n }\n\n function setHomeResult(a, param1, param2, param3) {\n setResult(a, param1, param2, param3)\n }\n\n function setSearchResult(a, param1, param2, param3) {\n setResult(a, param1, param2, param3)\n }\n\n eval(MY_RULE.find_rule.slice(3))\n} else {\n let findRule = MY_RULE.find_rule.split(';')\n parseDomForArray(indexHtml, findRule.shift()).forEach((data) => {\n let [title, url, desc, content, img] = findRule.map((v, i) => {\n try {\n if (v == '*') return ''\n else v = (i == 1 || i == 4) ?\n parseDom(data, v) :\n parseDomForHtml(data, v)\n if (i != 1) v = runCode(v)\n return v\n } catch (e) {}\n }),\n res = {\n title: title,\n url: url,\n desc: desc,\n content: content,\n img: img\n }\n if (res.url) {\n if (res.url.includes('@lazyRule=')) {\n res.url = res.url.replace('.js:', '.js:\\nif(MY_RULE)Object.assign(MY_RULE,' + $.stringify({ title: MY_RULE.title, pages: MY_RULE.pages, pageList: MY_RULE.pageList, find_rule: '', params: '' }) + ');')\n } else if (MY_RULE.detail_find_rule) {\n res.url = 'hiker://page/detailLoad?rule=' + getItem('myCollection')\n res.extra = { url: url, RULE: MY_RULE, pageTitle: title }\n }\n }\n myCollection_el.push(res)\n if (!searchMode) myCollection_el.push(searchCount)\n })\n setResult(myCollection_el)\n}\n","search_url":"hiker://empty##fypage##**","titleColor":"#ff13b66a","group":"#⃣️Q","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"setItem('myCollection', MY_RULE.title)\n// UA,==>,rule和lazyRule嵌套问题\n// 分组\n// 导入导出,删除,排序,简单编辑??基于远程会自动更新","pages":"[{\"col_type\":\"text_1\",\"name\":\"ClassTab\",\"path\":\"ClassTab\",\"rule\":\"function ClassTab(classArray, params) {\\n Object.assign(this, params)\\n this.arr = classArray.map(v => this.init(v))\\n this.sign = '$' + MY_RULE.title + '_' + (this.name || '') + '_'\\n this.color = this.color || '#12b668'\\n this.boundary = this.boundary || 'blank_block'\\n}\\nClassTab.prototype = {\\n constructor: ClassTab,\\n load(el) {\\n let folded = getVar('fold_' + this.sign, '')\\n if (this.fold) el.push({\\n title: '““””<span style=\\\"color:#049eff\\\">' + (folded ? '▶' : '▼'),\\n url: $('#noLoading#').lazyRule((sign, folded) => {\\n putVar('fold_' + sign, { '': 'T', 'T': '' } [folded])\\n refreshPage(false)\\n return 'hiker://empty'\\n }, this.sign, folded),\\n col_type: 'scroll_button'\\n })\\n let arr = folded ? [this.arr[0]] : this.arr\\n arr.forEach((v) => {\\n let { id, class_name, class_url } = v,\\n selected = JSON.stringify(this.getClass(id))\\n class_name.forEach((name, i) => {\\n let url = class_url[i],\\n now = JSON.stringify({ name: name, url: url })\\n el.push({\\n title: (selected == now ? '““””<span style=\\\"color:' + this.color + '\\\"><b>' : '') + name,\\n url: $('#noLoading#').lazyRule((sign, id, now) => {\\n putVar(sign + id, now)\\n putVar(sign, now)\\n refreshPage(false)\\n return 'hiker://empty'\\n }, this.sign, id, now),\\n col_type: 'scroll_button'\\n })\\n })\\n el.push({ col_type: this.boundary })\\n })\\n },\\n init(classObject) {\\n if (typeof classObject.class_name == 'string')\\n classObject.class_name = classObject.class_name.split('&')\\n if (typeof classObject.class_url == 'string')\\n classObject.class_url = classObject.class_url.split('&')\\n return classObject\\n },\\n push(classObject) {\\n this.arr.push(this.init(classObject))\\n },\\n getClass(id) {\\n let defaultClass = this.arr.find(item => item.id == id)\\n if (defaultClass) defaultClass = JSON.stringify({\\n name: defaultClass.class_name[0],\\n url: defaultClass.class_url[0]\\n })\\n else throw new Error('cannot find id: ' + id + ' in classTab: ' + this.sign)\\n return JSON.parse(getVar(this.sign + id, defaultClass))\\n },\\n getLastClick() {\\n return JSON.parse(getVar(this.sign, '{}'))\\n },\\n setUrl(url) {\\n return url.replace(/\\\\$\\\\{([^}]*)\\\\}/g, (_, id) => this.getClass(id).url)\\n }\\n}\\n$.exports = ClassTab\\n\"},{\"col_type\":\"movie_3\",\"name\":\"首页\",\"path\":\"indexLoad\",\"rule\":\"js:\\nlet myCollection_el = [],\\n pageNum = parseInt(MY_URL.split('#')[1]),\\n RULE = MY_PARAMS.RULE,\\n fyAll = RULE.url.includes('fyAll'),\\n // 加载ClassTab组件\\n ClassTab = $.require('hiker://page/ClassTab?rule=' + getItem('myCollection')),\\n tabHeader = []\\n\\nif (RULE.class_name) tabHeader.push({\\n id: fyAll ? 'fyAll' : 'fyclass',\\n class_name: RULE.class_name,\\n class_url: RULE.class_url\\n})\\nif (RULE.area_name) tabHeader.push({\\n id: fyAll ? 'fyAll' : 'fyarea',\\n class_name: RULE.area_name,\\n class_url: RULE.area_url\\n})\\nif (RULE.year_name) tabHeader.push({\\n id: fyAll ? 'fyAll' : 'fyyear',\\n class_name: RULE.year_name,\\n class_url: RULE.year_url\\n})\\nif (RULE.sort_name) tabHeader.push({\\n id: fyAll ? 'fyAll' : 'fysort',\\n class_name: RULE.sort_name,\\n class_url: RULE.sort_url\\n})\\ntabHeader = new ClassTab(tabHeader, { name: RULE.title })\\nif (pageNum == 1) {\\n addListener('onClose', 'clearVar(\\\"myCollection-searchMode\\\")')\\n putVar('myCollection-searchMode', RULE.title)\\n tabHeader.load(myCollection_el)\\n if (RULE.search_url) myCollection_el.push({\\n title: \\\"搜索\\\",\\n desc: \\\"搜你想要的...\\\",\\n url: '\\\"hiker://search?s=\\\"+input+\\\"&rule=' + getItem('myCollection') + '\\\"',\\n col_type: \\\"input\\\",\\n })\\n}\\n// 处理MY_URL和MY_RULE\\nMY_RULE.version = RULE.version\\nMY_RULE.group = RULE.group\\nMY_RULE.title = RULE.title\\nMY_RULE.ua = RULE.ua\\nMY_RULE.col_type = RULE.col_type\\nMY_RULE.detail_col_type = RULE.detail_col_type\\nMY_RULE.find_rule = RULE.find_rule\\nMY_RULE.detail_find_rule = RULE.detail_find_rule\\nMY_RULE.preRule = RULE.preRule\\nMY_RULE.pageList = JSON.parse(RULE.pages || '[]')\\nMY_RULE.pages = JSON.stringify(MY_RULE.pageList)\\nMY_RULE.last_chapter_rule = RULE.last_chapter_rule\\nMY_RULE.params = {}\\n\\nconst { runCode, urlParse } = $.require('hiker://page/utility?rule=' + getItem('myCollection'))\\nvar { MY_URL, indexHtml } = urlParse(RULE.url, pageNum, (url) => {\\n url[0] = fyAll ? url[0].replace(/fyAll/g, '$${fyAll}') : url[0].replace(/fy(class|area|year|sort)/g, '$${fy$1}')\\n url[0] = tabHeader.setUrl(url[0])\\n})\\nMY_RULE.url = MY_URL\\n// 正文解析\\nif (pageNum == 1) eval(MY_RULE.preRule)\\nif (MY_RULE.find_rule.startsWith('js:')) {\\n function getUrl() {\\n return MY_URL\\n }\\n\\n function getResCode() {\\n return indexHtml\\n }\\n\\n function setResult(el, param1, param2, param3) {\\n param1 = CALLBACK_KEY\\n param2 = MY_RULE\\n param3 = MY_TYPE\\n if (Array.isArray(el.data)) el = el.data\\n Array.prototype.push.apply(myCollection_el, el.map((v) => {\\n let RULE = Object.assign({}, MY_RULE)\\n v.col_type = v.col_type || MY_RULE.col_type\\n\\n if (!v.url) {\\n return v\\n } else if (v.url.includes('@rule=')) {\\n let [_, url, rule] = v.url.match(/^([\\\\s\\\\S]*?)@rule=([\\\\s\\\\S]*)$/)\\n v.url = url\\n RULE.detail_find_rule = rule\\n RULE.detail_col_type = MY_RULE.col_type\\n } else if (v.url.startsWith('hiker://page/')) {\\n if (v.url.includes('rule=') || (v.extra || {}).rule)\\n return v\\n let path = v.url.split('#')[0].match(/^hiker:\\\\/\\\\/page\\\\/(.+?)(?:\\\\?.*)?$/)[1],\\n subPage = MY_RULE.pageList.find((v) => v.path == path)\\n RULE.detail_find_rule = subPage.rule\\n RULE.detail_col_type = subPage.col_type\\n RULE.params = v.extra || {}\\n } else if (v.url.includes('@lazyRule=')) {\\n v.url = v.url.replace('.js:', '.js:\\\\nif(MY_RULE)Object.assign(MY_RULE,' + $.stringify({ title: MY_RULE.title, pages: MY_RULE.pages, pageList: MY_RULE.pageList, find_rule: '', params: '' }) + ');')\\n return v\\n } else if (!MY_RULE.detail_find_rule) { return v }\\n v.extra = { url: v.url, RULE: RULE, pageTitle: v.title }\\n v.url = 'hiker://page/detailLoad?rule=' + getItem('myCollection')\\n return v\\n }))\\n method_setResult.invoke(javaContext, myCollection_el, param1, param2, param3)\\n }\\n\\n function setHomeResult(a, param1, param2, param3) {\\n setResult(a, param1, param2, param3)\\n }\\n\\n function setSearchResult(a, param1, param2, param3) {\\n setResult(a, param1, param2, param3)\\n }\\n\\n eval(MY_RULE.find_rule.slice(3))\\n} else {\\n let findRule = MY_RULE.find_rule.split(';')\\n parseDomForArray(indexHtml, findRule.shift()).forEach((data) => {\\n let [title, img, desc, url] = findRule.map((v, i) => {\\n try {\\n if (v == '*') return ''\\n else v = (i == 1 || i == 3) ?\\n parseDom(data, v) :\\n parseDomForHtml(data, v)\\n if (i != 3) v = runCode(v)\\n return v\\n } catch (e) {}\\n }),\\n res = {\\n title: title,\\n url: url,\\n desc: desc,\\n img: img,\\n col_type: MY_RULE.col_type\\n }\\n if (res.url) {\\n if (res.url.includes('@lazyRule=')) {\\n res.url = res.url.replace('.js:', '.js:\\\\nif(MY_RULE)Object.assign(MY_RULE,' + $.stringify({ title: MY_RULE.title, pages: MY_RULE.pages, pageList: MY_RULE.pageList, find_rule: '', params: '' }) + ');')\\n } else if (MY_RULE.detail_find_rule) {\\n res.url = 'hiker://page/detailLoad?rule=' + getItem('myCollection')\\n res.extra = { url: url, RULE: MY_RULE, pageTitle: title }\\n }\\n }\\n myCollection_el.push(res)\\n })\\n setResult(myCollection_el)\\n}\\n\"},{\"col_type\":\"movie_3\",\"name\":\"详情\",\"path\":\"detailLoad\",\"rule\":\"js:\\nvar myCollection_el = []\\n\\n// 处理MY_URL和MY_RULE\\nlet RULE = MY_PARAMS.RULE\\nMY_RULE.version = RULE.version\\nMY_RULE.group = RULE.group\\nMY_RULE.title = RULE.title\\nMY_RULE.url = MY_URL\\nMY_RULE.ua = RULE.ua\\nMY_RULE.col_type = RULE.detail_col_type\\nMY_RULE.find_rule = RULE.detail_find_rule\\nMY_RULE.preRule = RULE.preRule\\nMY_RULE.pageList = RULE.pageList\\nMY_RULE.pages = RULE.pages\\nMY_RULE.last_chapter_rule = RULE.last_chapter_rule\\nMY_RULE.params = RULE.params\\n// 解析正文\\nif(MY_PARAMS.pageTitle) setPageTitle(MY_PARAMS.pageTitle)\\neval(MY_RULE.preRule)\\nsetLastChapterRule(MY_RULE.last_chapter_rule)\\nMY_PARAMS = MY_RULE.params\\nif (MY_RULE.find_rule.startsWith('js:')) {\\n function setResult(el, param1, param2, param3) {\\n param1 = CALLBACK_KEY\\n param2 = MY_RULE\\n param3 = MY_TYPE\\n if (Array.isArray(el.data)) el = el.data\\n\\n Array.prototype.push.apply(myCollection_el, el.map((v) => {\\n let RULE = Object.assign({}, MY_RULE)\\n v.col_type = v.col_type || MY_RULE.col_type\\n\\n if (!v.url) {\\n return v\\n } else if (v.url.includes('@rule=')) {\\n let [_, url, rule] = v.url.match(/^([\\\\s\\\\S]*?)@rule=([\\\\s\\\\S]*)$/)\\n v.url = url\\n RULE.detail_find_rule = rule\\n RULE.detail_col_type = MY_RULE.col_type\\n } else if (v.url.startsWith('hiker://page/')) {\\n if (v.url.includes('rule=') || (v.extra || {}).rule)\\n return v\\n let path = v.url.split('#')[0].match(/^hiker:\\\\/\\\\/page\\\\/(.+?)(?:\\\\?.*)?$/)[1],\\n subPage = MY_RULE.pageList.find((v) => v.path == path)\\n RULE.detail_find_rule = subPage.rule\\n RULE.detail_col_type = subPage.col_type\\n RULE.params = v.extra || {}\\n } else if (v.url.includes('@lazyRule=')) {\\n v.url = v.url.replace('.js:', '.js:\\\\nif(MY_RULE)Object.assign(MY_RULE,' + $.stringify({ title: MY_RULE.title, pages: MY_RULE.pages, pageList: MY_RULE.pageList, find_rule: '', params: '' }) + ');')\\n return v\\n } else { return v }\\n v.extra = { url: v.url, RULE: RULE }\\n v.url = 'hiker://page/detailLoad?rule=' + getItem('myCollection')\\n return v\\n }))\\n method_setResult.invoke(javaContext, myCollection_el, param1, param2, param3)\\n }\\n\\n function setHomeResult(a, param1, param2, param3) {\\n setResult(a, param1, param2, param3)\\n }\\n\\n function setSearchResult(a, param1, param2, param3) {\\n setResult(a, param1, param2, param3)\\n }\\n\\n eval(MY_RULE.find_rule.slice(3))\\n} else {\\n const { runCode } = $.require('hiker://page/utility?rule=' + getItem('myCollection'))\\n let findRule = MY_RULE.find_rule.split(';')\\n parseDomForArray(getResCode(), findRule.shift()).forEach((data) => {\\n let [title, img, desc, url] = findRule.map((v, i) => {\\n try {\\n if (v == '*') return ''\\n else v = (i == 1 || i == 3) ?\\n parseDom(data, v) :\\n parseDomForHtml(data, v)\\n if (i != 3) v = runCode(v)\\n return v\\n } catch (e) {}\\n }),\\n res = {\\n title: title,\\n url: url,\\n desc: desc,\\n img: img,\\n col_type: MY_RULE.col_type\\n }\\n if (res.url && res.url.includes('@lazyRule='))\\n res.url = res.url.replace('.js:', '.js:\\\\nif(MY_RULE)Object.assign(MY_RULE,' + $.stringify({ title: MY_RULE.title, pages: MY_RULE.pages, pageList: MY_RULE.pageList, find_rule: '', params: '' }) + ');')\\n myCollection_el.push(res)\\n })\\n setResult(myCollection_el)\\n}\\n\"},{\"col_type\":\"movie_3\",\"name\":\"数据载入\",\"path\":\"dataLoad\",\"rule\":\"//真正获取数据的逻辑\\nfunction load() {\\n let url = 'http://hiker.nokia.press/hikerule/rulelist.json?id=2040',\\n d = []\\n try {\\n d = fetch(url)\\n if (url.startsWith('hiker://page/'))\\n d = JSON.parse(d).rule\\n d = JSON.parse(d)\\n } catch (e) {log(e.message)\\n d = []\\n }\\n return d.filter((v) => { return v.title != MY_RULE.title && v.author != '轻合集生成器' })\\n}\\n//检查间隔,默认一天\\nlet min = 60 * 24 * 1\\n\\nlet data = []\\nlet time = getItem('updatetime', '0')\\ntime = parseInt(time)\\nlet now = new Date().getTime()\\nif (now - time > 1000 * 60 * min) {\\n log('更新了数据')\\n setItem('updatetime', '' + now)\\n data = load()\\n saveFile('data.json', JSON.stringify(data))\\n} else {\\n log('没有更新数据')\\n data = JSON.parse(readFile('data.json'))\\n}\\n$.exports = data\\n\"},{\"col_type\":\"movie_3\",\"name\":\"工具集\",\"path\":\"utility\",\"rule\":\"$.exports = {\\n runCode: function(rule) {log(rule)\\n try {\\n let [input, code] = rule.split('.js:')\\n return code ? eval(code) : rule\\n } catch (e) { return rule }\\n },\\n urlParse: function(url, pageNum, func) {\\n url = url.split(';').map((v) => v.replace(/;;/g, ';'))\\n if (func) func(url)\\n url[0] = url[0].replace(/fypage(?:@(-?\\\\d+)@)?(?:\\\\*(\\\\d+)@)?/, (_, start, space) => parseInt(start || 0) + 1 + (pageNum - 1) * parseInt(space || 1))\\n url[0] = /^(.*?)(?:\\\\[firstPage=(.*?)\\\\])?$/.exec(url[0])\\n url[0] = runCode(url[0][2] && pageNum == 1 ? url[0][2] : url[0][1])\\n let options = { headers: { 'Content-Type': 'text/plain; charst=UTF-8' }, method: url[1] }\\n // post方法时转换参数\\n if (/^post$/i.test(options['method'])) {\\n let [oriUrl, body] = url[0].split('?')\\n url[0] = oriUrl.replace(/??/g, '?')\\n if (body.startsWith('JsonBody=')) body = body.slice(9)\\n options['body'] = body\\n }\\n if (url[2]) options.headers['Content-Type'] = options.headers['Content-Type'].slice(0, 19) + url[2]\\n if (url[3]) url[3].match(/{(.*)}/)[1].split('&&').forEach((v) => {\\n let [key, value] = v.split('@')\\n options.headers[key] = runCode(value)\\n })\\n // 添加全局UA\\n if (!options.headers['User-Agent']) {\\n if (MY_RULE.ua == 'pc')\\n options.headers['User-Agent'] = PC_UA\\n else if (MY_RULE.ua == 'mobile')\\n options.headers['User-Agent'] = MOBILE_UA\\n }\\n return { MY_URL: url[0], indexHtml: fetch(url[0], options) }\\n }\\n}\\n\"}]","icon":"hiker://images/icon1"},{"last_chapter_rule":"","title":"轻合集.Q","author":"轻合集生成器","version":72,"url":"hiker://empty","col_type":"icon_2_round","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nlet el = [{\n title: '清除缓存,立即更新 <small>(基于远程仓库,不要频繁点击)',\n url: $().lazyRule(() => {\n clearItem('updatetime')\n refreshPage(true)\n return 'toast://已更新'\n }),\n img: 'hiker://images/icon1',\n col_type: 'avatar'\n}]\nel.push({\n url: '\"hiker://search?s=\"+input+\"&rule=' + getItem('myCollection') + '\"',\n desc: '搜你想要的...',\n title: '搜索',\n col_type: 'input'\n})\nconst data = $.require('hiker://page/dataLoad?rule=' + getItem('myCollection'))\nsetResult(el.concat(data.map((v) => {\n let fypage = /^[^;]*?fypage.*?(;.*)?$/.test(v.url) ? 'fypage' : '1'\n return {\n title: v.title,\n url: 'hiker://page/indexLoad?#' + fypage + '#noHistory#',\n img: v.icon,\n extra: { RULE: v }\n }\n})))","searchFind":"js:\nlet myCollection_el = [],\n searchMode = getVar('myCollection-searchMode', ''),\n [_, pageNum, keyword] = MY_URL.split('##'),\n RULE = $.require('hiker://page/dataLoad?rule=' + getItem('myCollection')).filter((v) => v.search_url)\npageNum = parseInt(pageNum)\nif (!searchMode && pageNum > RULE.length) setResult([])\n\nlet searchCount = { title: '⬆ 已搜索了' + pageNum + '个小程序 ⬆\\n⬇ 下面还有' + (RULE.length - pageNum) + '个小程序 ⬇' }\nRULE = searchMode ? RULE.find((v) => v.title == searchMode) : RULE[pageNum - 1]\n// 处理MY_URL和MY_RULE\nMY_RULE.version = RULE.version\nMY_RULE.group = RULE.group\nMY_RULE.title = RULE.title\nMY_RULE.ua = RULE.ua\nMY_RULE.col_type = RULE.col_type\nMY_RULE.detail_col_type = RULE.sdetail_col_type\nMY_RULE.find_rule = RULE.searchFind\nMY_RULE.detail_find_rule = ['', '*'].includes(RULE.sdetail_find_rule) ? RULE.detail_find_rule : RULE.sdetail_find_rule\nMY_RULE.preRule = RULE.preRule\nMY_RULE.pageList = JSON.parse(RULE.pages || '[]')\nMY_RULE.pages = JSON.stringify(MY_RULE.pageList)\nMY_RULE.last_chapter_rule = RULE.last_chapter_rule\nMY_RULE.params = {}\n\nconst { runCode, urlParse } = $.require('hiker://page/utility?rule=' + getItem('myCollection'))\nvar { MY_URL, indexHtml } = urlParse(RULE.search_url, searchMode ? pageNum : 1, (url) => {\n url[0] = url[0].replace(url[0].includes('%%') ? /%%/g : /\\*\\*/g, encodeStr(keyword, url[2]))\n})\nMY_RULE.url = MY_URL\n// 正文解析\nif (pageNum == 1) eval(MY_RULE.preRule)\nif (MY_RULE.find_rule.startsWith('js:')) {\n function getUrl() {\n return MY_URL\n }\n\n function getResCode() {\n return indexHtml\n }\n\n function setResult(el, param1, param2, param3) {\n param1 = CALLBACK_KEY\n param2 = MY_RULE\n param3 = MY_TYPE\n if (Array.isArray(el.data)) el = el.data\n log(el)\n Array.prototype.push.apply(myCollection_el, el.map((v) => {\n let RULE = Object.assign({}, MY_RULE)\n\n if (!v.url) {\n return v\n } else if (v.url.includes('@lazyRule=')) {\n v.url = v.url.replace('.js:', '.js:\\nif(MY_RULE)Object.assign(MY_RULE,' + $.stringify({ title: MY_RULE.title, pages: MY_RULE.pages, pageList: MY_RULE.pageList, find_rule: '', params: '' }) + ');')\n return v\n } else if (v.url.includes('@rule=')) {\n let [_, url, rule] = v.url.match(/^([\\s\\S]*?)@rule=([\\s\\S]*)$/)\n v.url = url\n RULE.detail_find_rule = rule\n RULE.detail_col_type = MY_RULE.col_type\n } else if (v.url.startsWith('hiker://page/')) {\n if (v.url.includes('rule=') || (v.extra || {}).rule)\n return v\n let path = v.url.split('#')[0].match(/^hiker:\\/\\/page\\/(.+?)(?:\\?.*)?$/)[1],\n subPage = MY_RULE.pageList.find(v => v.path == path)\n RULE.detail_find_rule = subPage.rule\n RULE.detail_col_type = subPage.col_type\n RULE.params = v.extra || {}\n } else if (!MY_RULE.detail_find_rule) { return v }\n v.extra = { url: v.url, RULE: RULE, pageTitle: v.title }\n v.url = 'hiker://page/detailLoad?rule=' + getItem('myCollection')\n return v\n }))\n if (!searchMode) myCollection_el.push(searchCount)\n method_setResult.invoke(javaContext, myCollection_el, param1, param2, param3)\n }\n\n function setHomeResult(a, param1, param2, param3) {\n setResult(a, param1, param2, param3)\n }\n\n function setSearchResult(a, param1, param2, param3) {\n setResult(a, param1, param2, param3)\n }\n\n eval(MY_RULE.find_rule.slice(3))\n} else {\n let findRule = MY_RULE.find_rule.split(';')\n parseDomForArray(indexHtml, findRule.shift()).forEach((data) => {\n let [title, url, desc, content, img] = findRule.map((v, i) => {\n try {\n if (v == '*') return ''\n else v = (i == 1 || i == 4) ?\n parseDom(data, v) :\n parseDomForHtml(data, v)\n if (i != 1) v = runCode(v)\n return v\n } catch (e) {}\n }),\n res = {\n title: title,\n url: url,\n desc: desc,\n content: content,\n img: img\n }\n if (res.url) {\n if (res.url.includes('@lazyRule=')) {\n res.url = res.url.replace('.js:', '.js:\\nif(MY_RULE)Object.assign(MY_RULE,' + $.stringify({ title: MY_RULE.title, pages: MY_RULE.pages, pageList: MY_RULE.pageList, find_rule: '', params: '' }) + ');')\n } else if (MY_RULE.detail_find_rule) {\n res.url = 'hiker://page/detailLoad?rule=' + getItem('myCollection')\n res.extra = { url: url, RULE: MY_RULE, pageTitle: title }\n }\n }\n myCollection_el.push(res)\n if (!searchMode) myCollection_el.push(searchCount)\n })\n setResult(myCollection_el)\n}\n","search_url":"hiker://empty##fypage##**","group":"#⃣️Q","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"setItem('myCollection', MY_RULE.title)","pages":"[{\"col_type\":\"text_1\",\"name\":\"ClassTab\",\"path\":\"ClassTab\",\"rule\":\"function ClassTab(classArray, params) {\\n Object.assign(this, params)\\n this.arr = classArray.map(v => this.init(v))\\n this.sign = '$' + MY_RULE.title + '_' + (this.name || '') + '_'\\n this.color = this.color || '#12b668'\\n this.boundary = this.boundary || 'blank_block'\\n}\\nClassTab.prototype = {\\n constructor: ClassTab,\\n load(el) {\\n let folded = getVar('fold_' + this.sign, '')\\n if (this.fold) el.push({\\n title: '““””<span style=\\\"color:#049eff\\\">' + (folded ? '▶' : '▼'),\\n url: $('#noLoading#').lazyRule((sign, folded) => {\\n putVar('fold_' + sign, { '': 'T', 'T': '' } [folded])\\n refreshPage(false)\\n return 'hiker://empty'\\n }, this.sign, folded),\\n col_type: 'scroll_button'\\n })\\n let arr = folded ? [this.arr[0]] : this.arr\\n arr.forEach((v) => {\\n let { id, class_name, class_url } = v,\\n selected = JSON.stringify(this.getClass(id))\\n class_name.forEach((name, i) => {\\n let url = class_url[i],\\n now = JSON.stringify({ name: name, url: url })\\n el.push({\\n title: (selected == now ? '““””<span style=\\\"color:' + this.color + '\\\"><b>' : '') + name,\\n url: $('#noLoading#').lazyRule((sign, id, now) => {\\n putVar(sign + id, now)\\n putVar(sign, now)\\n refreshPage(false)\\n return 'hiker://empty'\\n }, this.sign, id, now),\\n col_type: 'scroll_button'\\n })\\n })\\n el.push({ col_type: this.boundary })\\n })\\n },\\n init(classObject) {\\n if (typeof classObject.class_name == 'string')\\n classObject.class_name = classObject.class_name.split('&')\\n if (typeof classObject.class_url == 'string')\\n classObject.class_url = classObject.class_url.split('&')\\n return classObject\\n },\\n push(classObject) {\\n this.arr.push(this.init(classObject))\\n },\\n getClass(id) {\\n let defaultClass = this.arr.find(item => item.id == id)\\n if (defaultClass) defaultClass = JSON.stringify({\\n name: defaultClass.class_name[0],\\n url: defaultClass.class_url[0]\\n })\\n else throw new Error('cannot find id: ' + id + ' in classTab: ' + this.sign)\\n return JSON.parse(getVar(this.sign + id, defaultClass))\\n },\\n getLastClick() {\\n return JSON.parse(getVar(this.sign, '{}'))\\n },\\n setUrl(url) {\\n return url.replace(/\\\\$\\\\{([^}]*)\\\\}/g, (_, id) => this.getClass(id).url)\\n }\\n}\\n$.exports = ClassTab\\n\"},{\"col_type\":\"movie_3\",\"name\":\"首页\",\"path\":\"indexLoad\",\"rule\":\"js:\\nlet myCollection_el = [],\\n pageNum = parseInt(MY_URL.split('#')[1]),\\n RULE = MY_PARAMS.RULE,\\n fyAll = RULE.url.includes('fyAll'),\\n // 加载ClassTab组件\\n ClassTab = $.require('hiker://page/ClassTab?rule=' + getItem('myCollection')),\\n tabHeader = []\\n\\nif (RULE.class_name) tabHeader.push({\\n id: fyAll ? 'fyAll' : 'fyclass',\\n class_name: RULE.class_name,\\n class_url: RULE.class_url\\n})\\nif (RULE.area_name) tabHeader.push({\\n id: fyAll ? 'fyAll' : 'fyarea',\\n class_name: RULE.area_name,\\n class_url: RULE.area_url\\n})\\nif (RULE.year_name) tabHeader.push({\\n id: fyAll ? 'fyAll' : 'fyyear',\\n class_name: RULE.year_name,\\n class_url: RULE.year_url\\n})\\nif (RULE.sort_name) tabHeader.push({\\n id: fyAll ? 'fyAll' : 'fysort',\\n class_name: RULE.sort_name,\\n class_url: RULE.sort_url\\n})\\ntabHeader = new ClassTab(tabHeader, { name: RULE.title })\\nif (pageNum == 1) {\\n addListener('onClose', 'clearVar(\\\"myCollection-searchMode\\\")')\\n putVar('myCollection-searchMode', RULE.title)\\n tabHeader.load(myCollection_el)\\n if (RULE.search_url) myCollection_el.push({\\n title: \\\"搜索\\\",\\n desc: \\\"搜你想要的...\\\",\\n url: '\\\"hiker://search?s=\\\"+input+\\\"&rule=' + getItem('myCollection') + '\\\"',\\n col_type: \\\"input\\\",\\n })\\n}\\n// 处理MY_URL和MY_RULE\\nMY_RULE.version = RULE.version\\nMY_RULE.group = RULE.group\\nMY_RULE.title = RULE.title\\nMY_RULE.ua = RULE.ua\\nMY_RULE.col_type = RULE.col_type\\nMY_RULE.detail_col_type = RULE.detail_col_type\\nMY_RULE.find_rule = RULE.find_rule\\nMY_RULE.detail_find_rule = RULE.detail_find_rule\\nMY_RULE.preRule = RULE.preRule\\nMY_RULE.pageList = JSON.parse(RULE.pages || '[]')\\nMY_RULE.pages = JSON.stringify(MY_RULE.pageList)\\nMY_RULE.last_chapter_rule = RULE.last_chapter_rule\\nMY_RULE.params = {}\\n\\nconst { runCode, urlParse } = $.require('hiker://page/utility?rule=' + getItem('myCollection'))\\nvar { MY_URL, indexHtml } = urlParse(RULE.url, pageNum, (url) => {\\n url[0] = fyAll ? url[0].replace(/fyAll/g, '$${fyAll}') : url[0].replace(/fy(class|area|year|sort)/g, '$${fy$1}')\\n url[0] = tabHeader.setUrl(url[0])\\n})\\nMY_RULE.url = MY_URL\\n// 正文解析\\nif (pageNum == 1) eval(MY_RULE.preRule)\\nif (MY_RULE.find_rule.startsWith('js:')) {\\n function getUrl() {\\n return MY_URL\\n }\\n\\n function getResCode() {\\n return indexHtml\\n }\\n\\n function setResult(el, param1, param2, param3) {\\n param1 = CALLBACK_KEY\\n param2 = MY_RULE\\n param3 = MY_TYPE\\n if (Array.isArray(el.data)) el = el.data\\n Array.prototype.push.apply(myCollection_el, el.map((v) => {\\n let RULE = Object.assign({}, MY_RULE)\\n v.col_type = v.col_type || MY_RULE.col_type\\n\\n if (!v.url) {\\n return v\\n } else if (v.url.includes('@lazyRule=')) {\\n v.url = v.url.replace('.js:', '.js:\\\\nif(MY_RULE)Object.assign(MY_RULE,' + $.stringify({ title: MY_RULE.title, pages: MY_RULE.pages, pageList: MY_RULE.pageList, find_rule: '', params: '' }) + ');')\\n return v\\n } else if (v.url.includes('@rule=')) {\\n let [_, url, rule] = v.url.match(/^([\\\\s\\\\S]*?)@rule=([\\\\s\\\\S]*)$/)\\n v.url = url\\n RULE.detail_find_rule = rule\\n RULE.detail_col_type = MY_RULE.col_type\\n } else if (v.url.startsWith('hiker://page/')) {\\n if (v.url.includes('rule=') || (v.extra || {}).rule)\\n return v\\n let path = v.url.split('#')[0].match(/^hiker:\\\\/\\\\/page\\\\/(.+?)(?:\\\\?.*)?$/)[1],\\n subPage = MY_RULE.pageList.find((v) => v.path == path)\\n RULE.detail_find_rule = subPage.rule\\n RULE.detail_col_type = subPage.col_type\\n RULE.params = v.extra || {}\\n } else if (!MY_RULE.detail_find_rule) { return v }\\n v.extra = { url: v.url, RULE: RULE, pageTitle: v.title }\\n v.url = 'hiker://page/detailLoad?rule=' + getItem('myCollection')\\n return v\\n }))\\n method_setResult.invoke(javaContext, myCollection_el, param1, param2, param3)\\n }\\n\\n function setHomeResult(a, param1, param2, param3) {\\n setResult(a, param1, param2, param3)\\n }\\n\\n function setSearchResult(a, param1, param2, param3) {\\n setResult(a, param1, param2, param3)\\n }\\n\\n eval(MY_RULE.find_rule.slice(3))\\n} else {\\n let findRule = MY_RULE.find_rule.split(';')\\n parseDomForArray(indexHtml, findRule.shift()).forEach((data) => {\\n let [title, img, desc, url] = findRule.map((v, i) => {\\n try {\\n if (v == '*') return ''\\n else v = (i == 1 || i == 3) ?\\n parseDom(data, v) :\\n parseDomForHtml(data, v)\\n if (i != 3) v = runCode(v)\\n return v\\n } catch (e) {}\\n }),\\n res = {\\n title: title,\\n url: url,\\n desc: desc,\\n img: img,\\n col_type: MY_RULE.col_type\\n }\\n if (res.url) {\\n if (res.url.includes('@lazyRule=')) {\\n res.url = res.url.replace('.js:', '.js:\\\\nif(MY_RULE)Object.assign(MY_RULE,' + $.stringify({ title: MY_RULE.title, pages: MY_RULE.pages, pageList: MY_RULE.pageList, find_rule: '', params: '' }) + ');')\\n } else if (MY_RULE.detail_find_rule) {\\n res.url = 'hiker://page/detailLoad?rule=' + getItem('myCollection')\\n res.extra = { url: url, RULE: MY_RULE, pageTitle: title }\\n }\\n }\\n myCollection_el.push(res)\\n })\\n setResult(myCollection_el)\\n}\\n\"},{\"col_type\":\"movie_3\",\"name\":\"详情\",\"path\":\"detailLoad\",\"rule\":\"js:\\nvar myCollection_el = []\\n\\n// 处理MY_URL和MY_RULE\\nlet RULE = MY_PARAMS.RULE\\nMY_RULE.version = RULE.version\\nMY_RULE.group = RULE.group\\nMY_RULE.title = RULE.title\\nMY_RULE.url = MY_URL\\nMY_RULE.ua = RULE.ua\\nMY_RULE.col_type = RULE.detail_col_type\\nMY_RULE.find_rule = RULE.detail_find_rule\\nMY_RULE.preRule = RULE.preRule\\nMY_RULE.pageList = RULE.pageList\\nMY_RULE.pages = RULE.pages\\nMY_RULE.last_chapter_rule = RULE.last_chapter_rule\\nMY_RULE.params = RULE.params\\n// 解析正文\\nif(MY_PARAMS.pageTitle) setPageTitle(MY_PARAMS.pageTitle)\\neval(MY_RULE.preRule)\\nsetLastChapterRule(MY_RULE.last_chapter_rule)\\nMY_PARAMS = MY_RULE.params\\nif (MY_RULE.find_rule.startsWith('js:')) {\\n function setResult(el, param1, param2, param3) {\\n param1 = CALLBACK_KEY\\n param2 = MY_RULE\\n param3 = MY_TYPE\\n if (Array.isArray(el.data)) el = el.data\\n\\n Array.prototype.push.apply(myCollection_el, el.map((v) => {\\n let RULE = Object.assign({}, MY_RULE)\\n v.col_type = v.col_type || MY_RULE.col_type\\n\\n if (!v.url) {\\n return v\\n } else if (v.url.includes('@lazyRule=')) {\\n v.url = v.url.replace('.js:', '.js:\\\\nif(MY_RULE)Object.assign(MY_RULE,' + $.stringify({ title: MY_RULE.title, pages: MY_RULE.pages, pageList: MY_RULE.pageList, find_rule: '', params: '' }) + ');')\\n return v\\n } else if (v.url.includes('@rule=')) {\\n let [_, url, rule] = v.url.match(/^([\\\\s\\\\S]*?)@rule=([\\\\s\\\\S]*)$/)\\n v.url = url\\n RULE.detail_find_rule = rule\\n RULE.detail_col_type = MY_RULE.col_type\\n } else if (v.url.startsWith('hiker://page/')) {\\n if (v.url.includes('rule=') || (v.extra || {}).rule)\\n return v\\n let path = v.url.split('#')[0].match(/^hiker:\\\\/\\\\/page\\\\/(.+?)(?:\\\\?.*)?$/)[1],\\n subPage = MY_RULE.pageList.find((v) => v.path == path)\\n RULE.detail_find_rule = subPage.rule\\n RULE.detail_col_type = subPage.col_type\\n RULE.params = v.extra || {}\\n } else { return v }\\n v.extra = { url: v.url, RULE: RULE }\\n v.url = 'hiker://page/detailLoad?rule=' + getItem('myCollection')\\n return v\\n }))\\n method_setResult.invoke(javaContext, myCollection_el, param1, param2, param3)\\n }\\n\\n function setHomeResult(a, param1, param2, param3) {\\n setResult(a, param1, param2, param3)\\n }\\n\\n function setSearchResult(a, param1, param2, param3) {\\n setResult(a, param1, param2, param3)\\n }\\n\\n eval(MY_RULE.find_rule.slice(3))\\n} else {\\n const { runCode } = $.require('hiker://page/utility?rule=' + getItem('myCollection'))\\n let findRule = MY_RULE.find_rule.split(';')\\n parseDomForArray(getResCode(), findRule.shift()).forEach((data) => {\\n let [title, img, desc, url] = findRule.map((v, i) => {\\n try {\\n if (v == '*') return ''\\n else v = (i == 1 || i == 3) ?\\n parseDom(data, v) :\\n parseDomForHtml(data, v)\\n if (i != 3) v = runCode(v)\\n return v\\n } catch (e) {}\\n }),\\n res = {\\n title: title,\\n url: url,\\n desc: desc,\\n img: img,\\n col_type: MY_RULE.col_type\\n }\\n if (res.url && res.url.includes('@lazyRule='))\\n res.url = res.url.replace('.js:', '.js:\\\\nif(MY_RULE)Object.assign(MY_RULE,' + $.stringify({ title: MY_RULE.title, pages: MY_RULE.pages, pageList: MY_RULE.pageList, find_rule: '', params: '' }) + ');')\\n myCollection_el.push(res)\\n })\\n setResult(myCollection_el)\\n}\\n\"},{\"col_type\":\"movie_3\",\"name\":\"数据载入\",\"path\":\"dataLoad\",\"rule\":\"//真正获取数据的逻辑\\nfunction load() {\\n let url = 'hiker://files/rules/js/qhj_轻合集Q.js',\\n d = []\\n try {\\n d = fetch(url)\\n if (url.startsWith('hiker://page/'))\\n d = JSON.parse(d).rule\\n d = JSON.parse(d)\\n } catch (e) {\\n d = []\\n log(e.toString())\\n }\\n return d.filter((v) => {\\n return v.title != MY_RULE.title && v.author != '轻合集生成器'\\n })\\n}\\n//检查间隔,默认一天\\nlet min = 60 * 24 * 1\\n\\nlet data = []\\nlet time = getItem('updatetime', '0')\\ntime = parseInt(time)\\nlet now = new Date().getTime()\\nif (now - time > 1000 * 60 * min) {\\n log('更新了数据')\\n setItem('updatetime', '' + now)\\n data = load()\\n saveFile('data.json', JSON.stringify(data))\\n} else {\\n log('没有更新数据')\\n data = JSON.parse(readFile('data.json'))\\n}\\n$.exports = data\"},{\"col_type\":\"movie_3\",\"name\":\"工具集\",\"path\":\"utility\",\"rule\":\"$.exports = {\\n runCode: function(rule) {log(rule)\\n try {\\n let [input, code] = rule.split('.js:')\\n return code ? eval(code) : rule\\n } catch (e) { return rule }\\n },\\n urlParse: function(url, pageNum, func) {\\n url = url.split(';').map((v) => v.replace(/;;/g, ';'))\\n if (func) func(url)\\n url[0] = url[0].replace(/fypage(?:@(-?\\\\d+)@)?(?:\\\\*(\\\\d+)@)?/, (_, start, space) => parseInt(start || 0) + 1 + (pageNum - 1) * parseInt(space || 1))\\n url[0] = /^(.*?)(?:\\\\[firstPage=(.*?)\\\\])?$/.exec(url[0])\\n url[0] = runCode(url[0][2] && pageNum == 1 ? url[0][2] : url[0][1])\\n let options = { headers: { 'Content-Type': 'text/plain; charst=UTF-8' }, method: url[1] }\\n // post方法时转换参数\\n if (/^post$/i.test(options['method'])) {\\n let [oriUrl, body] = url[0].split('?')\\n url[0] = oriUrl.replace(/??/g, '?')\\n if (body.startsWith('JsonBody=')) body = body.slice(9)\\n options['body'] = body\\n }\\n if (url[2]) options.headers['Content-Type'] = options.headers['Content-Type'].slice(0, 19) + url[2]\\n if (url[3]) url[3].match(/{(.*)}/)[1].split('&&').forEach((v) => {\\n let [key, value] = v.split('@')\\n options.headers[key] = runCode(value)\\n })\\n // 添加全局UA\\n if (!options.headers['User-Agent']) {\\n if (MY_RULE.ua == 'pc')\\n options.headers['User-Agent'] = PC_UA\\n else if (MY_RULE.ua == 'mobile')\\n options.headers['User-Agent'] = MOBILE_UA\\n }\\n return { MY_URL: url[0], indexHtml: fetch(url[0], options) }\\n }\\n}\\n\"}]","icon":""},{"firstHeader":"class","last_chapter_rule":"","title":"厂长资源·Q","author":"发粪涂墙","version":0,"url":"https://czspp.com/fyclass/page/fypage","col_type":"movie_3","class_name":"高分影视&最新电影&电视剧&动漫&影片BT","class_url":"gaofenyingshi&zuixindianying&dsj&dm&movie_bt","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar res = {};\nvar d = [];\ntry{\nvar list = parseDomForArray(getResCode(), '.mrb&&ul&&li');\nfor (var j in list) {\n var desc = parseDomForHtml(list[j], '.jidi||.qb||.rating&&Text');\n var url = parseDom(list[j],'a&&href');\n d.push({\n title: parseDomForHtml(list[j], 'h3&&Text'),\n desc: desc,\n pic_url: parseDom(list[j], 'img&&data-original'),\n url: desc.indexOf('集')>-1?url:'https://czspp.com/v_play/'+base64Encode('mv_'+url.match(/\\d+/)+'-nm_1')+'.html'+`@lazyRule=.js:var html = fetch(input,{headers:{'User-Agent':'Mozilla/5.0 (Windows NT 10.0)'}});if(html.indexOf('<iframe')!=-1){fetch(parseDomForHtml(html,'iframe&&src')).match(/src: '(.*?)'/)[1]}else{U=parseDom(html,\"body&&script:not([src]),2&&Html\");eval(getCryptoJS());U=U.match(/var.*?\\\\)\\\\);/g)[0];eval(U.replace(/md5/g,'CryptoJS').replace('eval','var data = '));data.split('url: \"')[1].split('\"')[0]+'#isVideo=true#'}`\n });\n}}catch(e){}\nres.data = d;\nsetHomeResult(res);","searchFind":".bt_img&&li;h3&&Text;a&&href;.jidi||.hdinfo&&span&&Text;p,-1&&Text;img&&data-original","search_url":"https://www.czspp.com/xssearch?q=**&f=_all&p=fypage","group":"#⃣️Q","detail_col_type":"text_2","detail_find_rule":"js:\nvar res = {};\nvar items = [];\nvar html = getResCode();\nvar lazy = `@lazyRule=.js:var html = fetch(input,{headers:{'User-Agent':'Mozilla/5.0 (Windows NT 10.0)'}});if(html.indexOf('<iframe')!=-1){fetch(parseDomForHtml(html,'iframe&&src')).match(/src: '(.*?)'/)[1]}else{U=parseDom(html,\"body&&script:not([src]),2&&Html\");eval(getCryptoJS());U=U.match(/var.*?\\\\)\\\\);/g)[0];eval(U.replace(/md5/g,'CryptoJS').replace('eval','var data = '));data.split('url: \"')[1].split('\"')[0]+'#isVideo=true#'}`;\nitems.push({\n title: parseDomForHtml(html, \".dytext&&ul&&li,0&&Text\"),\n url: getUrl(),\n pic_url: parseDom(html, \".dyimg&&img&&src\"),\n desc: parseDomForHtml(html, \".yp_context&&p&&Text\"),\n col_type: \"pic_1\"\n});\n\nvar li = parseDom(html, '.paly_list_btn&&Html').match(/<a[\\s\\S]*?<\\/a>/g);\n\nfor (var i = 0; i < li.length; i++) {\n items.push({\n title: parseDomForHtml(li[i],\"a&&Text\"),\ncol_type:li.length<3?'text_center_1':'text_3',\n url: parseDom(li[i],\"a&&href\") + lazy\n });\n}\nres.data = items;\nsetHomeResult(res);","sdetail_col_type":"text_2","sdetail_find_rule":"*","ua":"auto","preRule":"","pages":"[]","icon":"https://iconfont.alicdn.com/t/82c32b63-f380-44f2-8c06-584f8e049234.png"},{"last_chapter_rule":"","title":"云梦影视·Q","author":"发粪涂墙","version":0,"type":"video","url":"hiker://empty##https://yunmengl.com/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'\nconst 拼接分类 = ''\nconst 小类定位 = 'body&&a'\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_URL.match(/page\\/(.*)\\./)[1]\ntrue_url = true_url.replace('.html', '/page/' + page + '.html')\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-text&&Text'),\n pic_url: pd(list[j], 'img||.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":"https://yunmengl.com/index.php/vod/search/page/fypage/wd/**.html","group":"#⃣️Q","detail_col_type":"movie_1","detail_find_rule":"js:\nvar lazy = $('').lazyRule(() => {\n var html = JSON.parse(request(input).match(/r player_.*?=(.*?)</)[1])\n if (/ltnb/.test(html.from)) {\n eval(\"var config =\" + fetch(\"hiker://files/cache/MyParseSet.json\"));\n eval(fetch(config.cj));\n var from = 'https://yunmengl.com/jx/?url='\n var play = ParseS.maoss(from + html.url, false, \"A42EAC0C2B408472\")\n } else {\n showLoading(\"正在联系站长解码,请稍后!\")\n var play = $(input).x5Lazy(() => {\n var urls = _getUrls()\n var newUrls = urls.filter(url => {\n return !url.includes(\"url=\") &&\n url.match(/\\.mp4|\\.m3u8|\\.flv/)\n });\n return newUrls[0]\n })\n }\n return play\n});\n\neval(JSON.parse(request('hiker://page/module-tab-item?rule=模板·Q')).rule)","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[]","icon":""},{"last_chapter_rule":"","title":"琪琪影院·Q","author":"发粪涂墙","version":0,"type":"video","url":"hiker://empty##http://www.77evd.cc/index.php?m=vod-list-id-1-pg-fypage-order-desc-by--class-0-year-0-letter--area--lang-.html","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nMY_URL = MY_URL.replace('hiker://empty##', '')\nvar d = [];\nconst 分类颜色 = '#098AC1'\nconst 大类定位 = 'body&&#sj-nav-1'\nconst 拼接分类 = '#sj-gjsy&&dl'\nconst 小类定位 = 'body&&a:not(:contains(首页)):not(:contains(明星)):not(:contains(云播)):not(:contains(留言)):not(:contains(直播))'\nconst 分类标题 = 'a&&Text'\nconst 分类链接 = 'a&&href'\nlet true_url = getVar(MY_RULE.url, MY_URL)\nconst page = MY_URL.match(/pg-(\\d+)-order/)[1];\ntrue_url = true_url.replace(/vodtype\\/(\\d+)-1/, 'index.php?m=vod-list-id-$1-pg-1-order-desc-by--class-0-year-0-letter--area--lang-.html').replace('pg-1', 'pg-' + page)\nvar html = request(true_url)\n\neval(JSON.parse(request('hiker://page/dtfl?rule=模板·Q')).rule)\n\nvar list = pdfa(html, '.index-area&&li');\nfor (var j in list) {\n d.push({\n title: pdfh(list[j], 'a&&title'),\n desc: pdfh(list[j], 'p,-1&&Text'),\n img: pd(list[j], 'img&&data-original') + \"@Referer=\",\n url: pd(list[j], 'a&&href') + \"#immersiveTheme#\"\n });\n}\n\nsetResult(d);","searchFind":"js:\nvar d = [];\n\nvar list = pdfa(getResCode(), '.index-area&&li');\nfor (var j in list) {\n d.push({\n title: pdfh(list[j], 'a&&title'),\n desc: pdfh(list[j], 'p,-1&&Text'),\n content: pdfh(list[j], 'a--p&&Text'),\n img: pd(list[j], 'img&&data-original') + \"@Referer=\",\n url: pd(list[j], 'a&&href') + \"#immersiveTheme#\"\n });\n}\nsetResult(d)","search_url":"http://www.77evd.cc/index.php?m=vod-search-pg-fypage-wd-**.html","group":"#⃣️Q","detail_col_type":"text_3","detail_find_rule":"js:\nvar d = [];\nvar html = getResCode();\n\nd.push({\n title: pdfh(html, 'dt,2&&Text') + '\\n' +\n pdfh(html, 'dd,1&&Text') + pdfh(html, 'dd,2&&Text').replace('年份', ' 年份') + '\\n' +\n pdfh(html, 'dt,1&&Text'),\n desc: pdfh(html, 'dd&&Text') +\n pdfh(html, 'dd,3&&Text').replace('语言', ' 语言'),\n img: pd(html, '.lazy&&data-original'),\n url: MY_URL,\n col_type: 'movie_1_vertical_pic_blur'\n});\n\nvar arts = pdfa(html, '.intro&&font');\nvar tabs = [];\nfor (var i in arts) {\n tabs.push(pdfh(arts[i], 'Text'))\n}\n\nvar conts = pdfa(html, '#vlink_1&&ul');\nvar lists = [];\nfor (var i in conts) {\n lists.push(pdfa(conts[i], 'ul&&li'))\n}\n\nvar ua = \"Mozilla/5.0 (iPhone; CPU iPhone OS............TML, like Gecko) Version/9.0 Mobile/13E233 Safari/601.1\";\n\nfunction setTabs(tabs, vari) {\n d.push({\n title: (getVar('shsort') == '1') ? '““””<b><span style=\"color: #FF0000\">逆序</span></b>' : '““””<b><span style=\"color: #1aad19\">正序</span></b>',\n url: `#noLoading#@lazyRule=.js:let conf = getVar('shsort');if(conf=='1'){putVar({key:'shsort', value:'0'});}else{putVar({key:'shsort', value:'1'})};refreshPage();'#noHistory#hiker://empty'`,\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);'#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 url: $(pd(list[j], 'a&&href')).x5Lazy(() => {\n fba.log(fba.getUrls())\n var urls = _getUrls()\n for (var i in urls) {\n if (urls[i].match(/\\.mp3|\\.mp4|\\.m3u8/)) {\n fy_bridge_app.log(urls[i])\n return urls[i]\n }\n }\n }),\n col_type: list.length > 3 ? 'text_3' : 'text_2',\n extra: {\n blockRules: [\n \".jpg\",\n \".jpeg\",\n \".png\",\n \".mp4\",\n \".m3u8\",\n \".gif\"\n ],\n ua: ua\n }\n })\n }\n}\ntry {\n setTabs(tabs, MY_URL);\n setLists(lists, getVar(MY_URL, '0'));\n} catch (e) {}\nsetResult(d);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[]","icon":"http://www.77evd.cc/template/77yy/Images/favicon.ico"},{"last_chapter_rule":"","title":"MaGeDN·Q","author":"发粪涂墙","version":0,"type":"video","url":"https://loli.magedn.com/movie_bt/fyareafyyearfysortmovie_bt_series/fyclass/page/fypage/[firstPage=https://loli.magedn.com/movie_bt/fyareafyyearfysortmovie_bt_series/fyclass/];get;utf-8;{User-Agent@&&Mozilla/5.0 (Linux;;U;;Android 10;; zh-CN;; ELE-AL00 Build/HUAWEIELE-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.8.6.1066 Mobile Safari/[email protected]:getVar('magedn$cookie')}","col_type":"movie_3","class_name":"剧集&动漫&电影&体育&写真&短视频&纪录片&综艺&舞台&课程","class_url":"juji&dongman&dianying&tiyu&xiezhen&duanshipin&jilupian&zongyi&wutai&kecheng","area_name":"全部&中国&台湾&大陆&香港&丹麦&乌克兰&乌兹别克斯坦&以色列&俄罗斯&其他&冰岛&列支敦士登&加拿大&匈牙利&南非&卡塔尔&印度&印度尼西亚&哥伦比亚&土耳其&塞内加尔&塞尔维亚&墨西哥&奥地利&巴勒斯坦&巴西&德国&意大利&拉脱维亚&挪威&捷克&新加坡&新西兰&日本&智利&朝鲜&格鲁吉亚&比利时&法国&波兰&泰国&澳大利亚&澳大利亞 Australia&爱尔兰&瑞典&瑞士&白俄罗斯&立陶宛&罗马尼亚&美国&芬兰&英国&荷兰&菲律宾&葡萄牙&西德&西班牙&阿尔及利亚&阿根廷&韩国&马来西亚","area_url":"&movie_bt_cat/中国/&movie_bt_cat/taiwan/&movie_bt_cat/dalu/&movie_bt_cat/xianggang/&movie_bt_cat/丹麦/&movie_bt_cat/乌克兰/&movie_bt_cat/乌兹别克斯坦/&movie_bt_cat/以色列/&movie_bt_cat/eluosi/&movie_bt_cat/qita/&movie_bt_cat/冰岛/&movie_bt_cat/列支敦士登/&movie_bt_cat/jianada/&movie_bt_cat/匈牙利/&movie_bt_cat/南非/&movie_bt_cat/卡塔尔/&movie_bt_cat/yindu/&movie_bt_cat/印度尼西亚/&movie_bt_cat/哥伦比亚/&movie_bt_cat/土耳其/&movie_bt_cat/塞内加尔/&movie_bt_cat/塞尔维亚/&movie_bt_cat/墨西哥/&movie_bt_cat/aodili/&movie_bt_cat/巴勒斯坦/&movie_bt_cat/巴西/&movie_bt_cat/deguo/&movie_bt_cat/yidali/&movie_bt_cat/拉脱维亚/&movie_bt_cat/nuowei/&movie_bt_cat/jieke/&movie_bt_cat/新加坡/&movie_bt_cat/xinxilan/&movie_bt_cat/riben/&movie_bt_cat/智利/&movie_bt_cat/chaoxian/&movie_bt_cat/格鲁吉亚/&movie_bt_cat/bilishi/&movie_bt_cat/faguo/&movie_bt_cat/波兰/&movie_bt_cat/taiguo/&movie_bt_cat/aodaliya/&movie_bt_cat/澳大利亞-australia/&movie_bt_cat/爱尔兰/&movie_bt_cat/ruidian/&movie_bt_cat/瑞士/&movie_bt_cat/白俄罗斯/&movie_bt_cat/立陶宛/&movie_bt_cat/罗马尼亚/&movie_bt_cat/meiguo/&movie_bt_cat/fenlan/&movie_bt_cat/yingguo/&movie_bt_cat/helan/&movie_bt_cat/菲律宾/&movie_bt_cat/putaoya/&movie_bt_cat/西德/&movie_bt_cat/xibanya/&movie_bt_cat/阿尔及利亚/&movie_bt_cat/阿根廷/&movie_bt_cat/hanguo/&movie_bt_cat/malaixiya/","sort_name":"全部&1080P&2160P&3D&480P&4K&720P&蓝光","year_name":"全部&2022&2021&2020&2019&2018&2017&2016&2015&2014&2013&2012&2011&2010","sort_url":"&movie_bt_view_cat/1080p/&movie_bt_view_cat/21060p/&movie_bt_view_cat/3d/&movie_bt_view_cat/480p/&movie_bt_view_cat/4k/&movie_bt_view_cat/720p/&movie_bt_view_cat/bdyuanpan/","year_url":"&year/2022/&year/2021/&year/2020/&year/2019/&year/2018/&year/2017/&year/2016/&year/2015/&year/2014/&year/2013/&year/2012/&year/2011/&year/2010/","find_rule":"js:\nvar res = {};\nvar d = [];\ntry{\nvar list = parseDomForArray(getResCode(), '.bt_img&&li');\nfor (var j in list) {\n var desc = parseDomForHtml(list[j], '.jidi||.rating||.inzhuy&&Text');\n var url = parseDom(list[j],'a&&href');\n d.push({\n title: parseDomForHtml(list[j], 'h3&&Text'),\n desc: desc,\n pic_url: parseDom(list[j], '.lazy&&data-original'),\nurl:url+ '#immersiveTheme#'\n //url: !/p/.test(desc)?url+ '#immersiveTheme#':'https://loli.magedn.com/v_play/'+base64Encode('mv_'+url.match(/movie\\/(.*?)\\./)[1]+'-nm_1')+'.html'+ `@lazyRule=.js:try{let html=fetch(input,{headers:{'User-Agent':MOBILE_UA,'Cookie':getVar('magedn$cookie')}}).match(/var.*?\\\\)\\\\);/)[0];eval(getCryptoJS());eval(html.replace(/md5\\\\./g,'CryptoJS.').replace('eval','var data ='));eval(data.substring(0,data.indexOf('notostr();')+10).replace('getBrowserInfo()','\"baidu\"').replace('if(ismob())',''));var U=eval(data.match(/url:(.*?),/)[1]);if(getVar('magedn$local')=='1'){cacheM3u8(U)}else U+'#.m3u8'}catch(e){\"\"}`\n });\n}}catch(e){}\nres.data = d;\nsetHomeResult(res);","searchFind":"body&&li:has(img);h3&&Text;a&&href;.jidi||.zoom-icon &&Text;.inzhuy&&Text;.lazy&&data-original","search_url":"/page/fypage/?s=**","titleColor":"","group":"#⃣️Q","detail_col_type":"text_2","detail_find_rule":"js:\nvar res = {};\nvar items = [];\nvar html = getResCode();\nitems.push({\n title: pdfh(html, '.moviedteail_list&&li&&Text').replace(/\\//g, '') + '\\n' + pdfh(html, '.moviedteail_list&&li,-3&&Text').replace(/\\//g, ' ').replace(' ', '').substring(0, 15) + '\\n' + pdfh(html, '.moviedteail_list&&li,-4&&Text').replace(/\\//g, ' ').replace(' ', '').substring(0, 15),\n desc: pdfh(html, 'body&&.yp_context&&Text').replace('[收起部分]', '').replace(' ', ''),\n //图片\n pic_url: pd(html, '.dyimg&&img&&src'),\n url: pd(html, '.dyimg&&img&&src'),\n col_type: 'movie_1_vertical_pic_blur'\n});\n/*\nitems.push({\n title: pdfh(html, \".dytext&&ul&&li&&Text\"),\n url: getUrl(),\n pic_url: pd(html, \".dyimg&&img&&src\"),\n desc: pdfh(html, \".yp_context&&p&&Text\"),\n col_type: \"pic_1\"\n});\n*/\n\nitems.push({\n col_type: \"rich_text\",\n title: `<small>本地播放模式可使用默认播放器,但不能电视投屏;投屏模式可用x5或第三方播放器播放,可电视投屏。当前模式为:<a href=\"hiker://empty@lazyRule=.js:putVar('magedn$local',getVar('magedn$local')=='1'?'0':'1');refreshPage();'toast://已切换模式';\">` + (getVar('magedn$local') == '1' ? \"本地模式\" : \"投屏模式\") + \"</a></small>\"\n});\nitems.push({\n col_type: 'blank_block'\n});\n\nvar li = pdfa(html, '.paly_list_btn&&a');\n\nfor (var i = 0; i < li.length; i++) {\n items.push({\n title: pdfh(li[i], \"a&&Text\"),\n col_type: li.length < 3 ? 'text_center_1' : 'text_3',\n url: pd(li[i], \"a&&href\") + `@lazyRule=.js:try{let html=fetch(input,{headers:{'User-Agent':MOBILE_UA,'Cookie':getVar('magedn$cookie')}}).match(/var.*?\\\\)\\\\);/)[0];eval(getCryptoJS());eval(html.replace(/md5\\\\./g,'CryptoJS.').replace('eval','var data ='));eval(data.substring(0,data.indexOf('notostr();')+10).replace('getBrowserInfo()','\"baidu\"').replace('if(ismob())',''));var U=eval(data.match(/url:(.*?),/)[1]);if(getVar('magedn$local')=='1'){cacheM3u8(U)}else U+'#.m3u8';}catch(e){\"\";}`\n });\n}\nvar conts = pdfa(html, 'body&&#dwonBT');\nitems.push({\n title: '下载地址',\n url: ``,\n col_type: 'text_center_1'\n})\nfor (var i in conts) {\n\n var list = pdfa(conts[i], 'div&&a')\n for (var j in list) {\n items.push({\n title: pdfh(list[j], 'body--img&&Html').replace(/magnet:/g,'download://magnet:'),\n url: \"download://\" + pd(list[j], 'a&&href'),\n col_type: 'rich_text'\n });\n }\n}\nres.data = items;\nsetHomeResult(res);","sdetail_col_type":"text_2","sdetail_find_rule":"*","ua":"mobile","preRule":"if (!getVar('magedn$local')) {\n //本地播放\n putVar('magedn$local', '1');\n}\n/*\nif (!getVar('magedn$cookie')) {\n var cookies = fetchCookie('https://loli.magedn.com/api/vs/session', {\n headers: {\n 'User-Agent': PC_UA\n },\n body: 'username=账户&password=密码&email=&url=https%3A%2F%2Fwww.magedn.com%2F&invitecode=&linuser=',\n method: 'POST'\n });\n\n putVar('magedn$cookie', cookies.match(/wordpress_logged_in.*?;/)[0]);\n}\n*/","pages":"[]","icon":"https://loli.magedn.com/wp-content/uploads/2021/08/61207828517f39.ico"},{"firstHeader":"class","last_chapter_rule":"js:\nvar json = JSON.parse(getResCode());\nvar num=Math.floor(json.c.video_ids.length/30);\nvar go=json.c.video_ids.slice(num*30);\ngo=(go.length==0)?json.c.video_ids.slice((num-1)*30):go;\nvar url='https://union.video.qq.com/fcgi-bin/data?otype=json&tid=682&appid=20001238&appkey=6c03bbe9658448a4&union_platform=1&idlist=' +go.join(',');\nvar url1='https://union.video.qq.com/fcgi-bin/data?otype=json&tid=682&appid=20001238&appkey=6c03bbe9658448a4&union_platform=1&idlist='+json.c.video_ids.slice((num-1)*30,num*30).join(',');\neval(fetch(url,{}));\nvar title='';\nfor(i=0;i<QZOutputJson.results.length;i++){\nvar data = QZOutputJson.results[i].fields;\ntitle=title+data.title+',';}\nvar ty='预告'?title.replace(/(《.*?预告|预告).*?,/g,'').split(','):title.split(',');\n\nif(ty.length==1){\neval(fetch(url1,{}));\nfor(i=0;i<QZOutputJson.results.length;i++){\nvar data = QZOutputJson.results[i].fields;\ntitle=title+data.title+',';}\nty='预告'?title.replace(/(《.*?预告|预告).*?,/g,'').split(','):title.split(',');\n}\nty=ty[ty.length-2];\nif(json.c.type == 10){\neval(fetch('https://s.video.qq.com/get_playsource?id=' + json.c.column_id + '&plat=2&type=2&data_type=3&video_type=8&plname=qq&otype=json', {}));\nvar indexList = QZOutputJson.PlaylistItem.indexList[0];\neval(fetch('https://s.video.qq.com/get_playsource?id=' + json.c.column_id + '&plat=2&type=4&data_type=3&range=' + indexList + '&video_type=10&plname=qq&otype=json', {}));\nvar ty=QZOutputJson.PlaylistItem.videoPlayList[0].title;}\nsetResult('最新:'+ty);","title":"腾讯.q","author":"","version":0,"type":"other","url":"https://v.%71%71.com/x/bu/pagesheet/list?_all=1&append=1&channel=fyclass&listpage=1&offset=fypage@-1@*21@&pagesize=21&iarea=fyarea&sort=fysort&fyyear","col_type":"movie_3_marquee","class_name":"电视剧&电影&动漫&少儿&纪录片&综艺","class_url":"tv&movie&cartoon&child&doco&variety","area_name":"全部\n&电视剧:内地&香港&台湾&美国&英国&韩国&泰国&日本&其他\n&|\n&电影:内地&香港&台湾&美国&欧洲&韩国&印度&泰国&日本&其他\n&|\n&动漫:内地&欧美&日本&其他","area_url":"-1\n&814&14&817&815&816&818&9&10&819\n&\n&100024&100025&100026&100029&10003&100028&100030&100031&100027&100033\n&\n&1&3&2&4","sort_name":"最热&最新&好评&口碑好评&知乎高分&综艺热播&综艺最新","year_name":"全部&电视剧:免费&会员&|电影:免费&包月&用券&付费","sort_url":"18&19&16&21&22&4&5","year_url":"&pay=867&pay=868&charge=1&charge=2&charge=3&charge=4","find_rule":"body&&.list_item;img&&alt;img&&src;a&&Text;a&&data-float.js:'https://node.video.qq.com/x/api/float_vinfo2?cid='+input","searchFind":"js:\nvar items = [];\nvar json = JSON.parse(getResCode());\nfor (var i = 0; i < json.uiData.length; i++) {\n if (json.uiData[i].araeId == 1 && json.uiData[i].data[0].id != '' && json.uiData[i].data[0].videoSrcName.length > 0 && json.uiData[i].data[0].videoSrcName[0].srcName == 'qq') {\n var data = json.uiData[i].data[0];\n var url = 'https://node.video.qq.com/x/api/float_vinfo2?cid=' + data.id;\n if (data.dataType == 3) {\n for (var j = 0; j < data.videoSrcName[0].videoPlayList.length; j++) {\n url = 'https://s.video.qq.com/get_playsource?id=' + data.id + '&plat=2&type=2&data_type=3&video_type=8&plname=qq&otype=json'\n }\n }\n items.push({\n title: data.title,\n desc: (data.score != 0 ? (data.score / 10 + ' · ') : '') + data.videoCategory + ' · ' + data.publishDate,\n img: data.posterPic,\n content: data.titleMarkLabelList.length > 0 ? data.titleMarkLabelList[data.titleMarkLabelList.length - 1].primeText : '',\n url: url\n });\n }\n}\nsetSearchResult({ data: items });","search_url":"http://node.video.%71%71.com/x/api/msearch?keyWord=**","group":"#⃣️Q","detail_col_type":"movie_2","detail_find_rule":"js:\nvar d = [];\nlet video_list = [];\nlet video_lists = [];\nlet list = [];\nlet html = getResCode();\nMY_URL = MY_URL.split('#')[0];\nlet sourceId = /get_playsource/.test(MY_URL) ? MY_URL.match(/id=(\\d*?)&/)[1] : MY_URL.split('cid=')[1];\nvar cid = sourceId;\nlet detailUrl = 'https://v.%71%71.com/detail/m/' + cid + '.html';\nlet detail_html = fetch(detailUrl);\n\nrequire('https://gitea.com/AI957/Hiker/raw/m/v/Route.js');\n//影片信息\ntry {\n let json = JSON.parse(html);\n let _title = '';\n try {\n _title = '评分:' + pdfh(detail_html, '.video_score&&Text').substr(0, 25) + ',' + pdfh(detail_html, '.video_type&&.type_item,2&&Text').replace(/ /g, ''); //导演,演员等\n } catch (e) {}\n let title = '类型:' + json.typ.toString() + ',年代:' + json.c.year + '\\n演员:' + json.nam.toString().substring(0, 10) + '\\n';\n title += _title;\n let _desc = '\\n' + pdfh(detail_html, '.video_type_even.cf&&Text'); //更新,时间\n let desc = json.rec ? _desc + json.rec.substring(0, 20) : json.c.description;\n desc += _desc;\n let img = json.c.pic;\n let details = pdfh(detail_html, 'body&&.detail_video&&Html').replace(/h1>/, 'h6>').replace(/div/g, 'br'); //详情网页\n let _img = pd(detail_html, 'meta,9&&content');\n let JJ = pdfh(detail_html, '.desc_txt&&Text') || desc; //简介\n d.push({\n img: _img,\n title: title,\n desc: desc,\n url: setupPages(\"设置\"),\n col_type: 'movie_1_vertical_pic'\n });\n var _label = getVar(\"_label\") ? getVar(\"_label\") : \"断插\";\n\n d.push({\n title: _label == \"断插\" ? \"““断插””\" : \"断插\",\n url: $(\"\").lazyRule(() => {\n putVar(\"_label\", \"断插\");\n refreshPage();\n return \"toast://已切换\" + getVar(\"_label\");\n }),\n col_type: \"text_2\"\n });\n d.push({\n title: _label == \"直链\" ? \"““直链””\" : \"直链\",\n url: $(\"\").lazyRule(() => {\n putVar(\"_label\", \"直链\");\n refreshPage();\n return \"toast://已切换\" + getVar(\"_label\");\n }),\n col_type: \"text_2\"\n });\n\n} catch (e) {\n log(e.message)\n}\n\n//掏直链\nif (/get_playsource/.test(MY_URL)) {\n eval(html);\n let indexList = QZOutputJson.PlaylistItem.indexList;\n for (let i in indexList) {\n let dataUrl = 'https://s.video.qq.com/get_playsource?id=' + sourceId + '&plat=2&type=4&data_type=3&range=' + indexList[i] + '&video_type=10&plname=qq&otype=json';\n eval(fetch(dataUrl, {}));\n // push.apply等同于python的extend\n video_lists.push.apply(video_lists, QZOutputJson.PlaylistItem.videoPlayList);\n }\n let data = video_lists.map((it) => {\n return {\n title: it.title,\n pic_url: it.pic,\n desc: it.episode_number + '\\t\\t\\t播放量:' + it.thirdLine,\n url: it.playUrl,\n col_type: 'movie_1',\n }\n });\n d = d.concat(data);\n} else {\n let json = JSON.parse(html);\n video_lists = json.c.video_ids;\n let url = 'https://v.qq.com/x/cover/' + sourceId + '.html';\n if (json.c.type === 10) {\n // log('综艺');\n let dataUrl = 'https://s.video.qq.com/get_playsource?id=' + json.c.column_id + '&plat=2&type=2&data_type=3&video_type=8&plname=qq&otype=json';\n eval(fetch(dataUrl, {}));\n video_lists = [];\n let indexList = QZOutputJson.PlaylistItem.indexList;\n for (let i in indexList) {\n let dataUrl = 'https://s.video.qq.com/get_playsource?id=' + json.c.column_id + '&plat=2&type=4&data_type=3&range=' + indexList[i] + '&video_type=10&plname=qq&otype=json';\n eval(fetch(dataUrl, {}));\n video_lists.push.apply(video_lists, QZOutputJson.PlaylistItem.videoPlayList)\n }\n let data = video_lists.map((it) => {\n return {\n title: it.title,\n pic_url: it.pic,\n desc: it.episode_number + '\\t\\t\\t播放量:' + it.thirdLine,\n url: $(it.playUrl).lazyRule(() => {\n require('https://gitea.com/AI957/Hiker/raw/m/v/Route.js')\n return aytmParse(input)\n }),\n col_type: 'movie_1',\n }\n });\n d = d.concat(data);\n } else if (video_lists.length === 1) {\n // log('电影或者电视剧只有1集');\n eval(JSON.parse(fetch(\"hiker://page/rel_link\")).rule)\n var dc = $(url).lazyRule(() => {\n require('https://gitea.com/AI957/Hiker/raw/m/v/Route.js')\n return aytmParse(input)\n });\n d.push({\n title: '在线播放',\n img: 'https://s1.ax1x.com/2020/11/06/BhRK91.jpg',\n col_type: 'icon_2',\n url: _label == \"直链\" ? true_url : dc\n })\n } else if (video_lists.length > 1) {\n // log('电视剧');\n for (let i = 0; i < video_lists.length; i += 30) {\n video_list.push(video_lists.slice(i, i + 30))\n }\n for (let i in video_list) {\n let it = video_list[i];\n let o_url = 'https://union.video.qq.com/fcgi-bin/data?otype=json&tid=682&appid=20001238&appkey=6c03bbe9658448a4&union_platform=1&idlist=' + it.join(',');\n eval(fetch(o_url, {}));\n let col_type = QZOutputJson.results[0].fields.title.length > 12 ? 'movie_2' : 'movie_2';\n\n let dat = QZOutputJson.results.map((it) => {\n it = it.fields;\n let url = 'https://v.qq.com/x/cover/' + cid + '/' + it.vid + '.html';\n eval(JSON.parse(fetch(\"hiker://page/rel_link\")).rule)\n var dc = $(url).lazyRule(() => {\n require('https://gitea.com/AI957/Hiker/raw/m/v/Route.js')\n return aytmParse(input)\n });\n var type = it.drm==0?\"🆓 \":\"💰 \";\n return {\n title: type + it.title,\n pic_url: it.pic160x90,\n desc: it.video_checkup_time,\n url: _label == \"直链\" ? true_url : dc,\n col_type: col_type\n }\n });\n d = d.concat(dat);\n }\n }\n}\nsetResult(d);","sdetail_col_type":"movie_2","sdetail_find_rule":"*","ua":"auto","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"直链\",\"path\":\"rel_link\",\"rule\":\"var true_url = $(url).lazyRule(() => {\\n var _type = input.split(\\\"v.qq.com/x/cover/\\\")[1].split(\\\".\\\")[0];\\n if (_type.indexOf(\\\"/\\\") != -1) {\\n putVar(\\\"vid\\\", _type.split(\\\"/\\\")[1]);\\n } else {\\n var vid = request(input, {\\n headers: {\\n \\\"User-Agent\\\": \\\"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36\\\"\\n }\\n }).split('<link rel=\\\"canonical\\\" href=\\\"https://v.qq.com/x/cover/')[1].split(\\\"/\\\")[1].split(\\\".\\\")[0];\\n putVar(\\\"vid\\\", vid);\\n }\\n\\n var _url = $(getPath(\\\"hiker://files/tencent.html\\\")).webLazy(() => {\\n //在下面填入cookie\\n //var ck = \\\"luin=xxx;lskey=xxx;\\\"\\n //luin一般为字母o+QQ号;嗐,不教了,自己抓包客户端吧😄\\n var ck =\\\"\\\";\\n function objToForm(obj) {\\n let result = \\\"\\\";\\n let keys = Object.keys(obj);\\n for (let i = 0; i < keys.length; i++) {\\n result += (keys[i] + '=' + obj[keys[i]])\\n if (i < keys.length - 1) {\\n result += \\\"&\\\"\\n }\\n }\\n return result;\\n }\\n var el = document.getElementById(\\\"a\\\");\\n var text = el.innerText;\\n if (!!text) {\\n //fba.log(text);\\n var preurl = \\\"https://vv.video.qq.com/getvinfo\\\";\\n var form = {\\n \\\"vid\\\": fba.getVar('vid'),\\n \\\"cKey\\\": text,\\n \\\"appVer\\\": \\\"5.8.6.13321\\\",\\n \\\"encryptVer\\\": \\\"5.1\\\",\\n \\\"otype\\\": \\\"json\\\",\\n \\\"platform\\\": \\\"10303\\\",\\n \\\"spwm\\\": \\\"2\\\",\\n \\\"defn\\\": \\\"fhd\\\",\\n \\\"hevclv\\\": \\\"26\\\",\\n \\\"dtype\\\": \\\"3\\\"\\n };\\n var body = objToForm(form);\\n var code = request(preurl, {\\n headers: {\\n \\\"User-Agent\\\": \\\"qqlive\\\",\\n \\\"Cookie\\\": ck,\\n \\\"Content-Type\\\": \\\"application/x-www-form-urlencoded\\\"\\n },\\n body: body,\\n method: \\\"POST\\\"\\n });\\n eval(\\\"var \\\" + code)\\n var pt = QZOutputJson.vl.vi[0].ul.ui[0].hls.pt;\\n if (pt == \\\"\\\") {\\n return \\\"toast://解不出来,要么加cookie,要么用断插🥱\\\";\\n }\\n var url = QZOutputJson.vl.vi[0].ul.ui[0].url + pt;\\n return url;\\n }\\n });\\n log(_url)\\n return _url;\\n});\"},{\"col_type\":\"movie_3\",\"name\":\"直链2\",\"path\":\"rel_link2\",\"rule\":\"var true_url = $(url).lazyRule(() => {\\n var ck = \\\"\\\";\\n var _type = input.split(\\\"v.qq.com/x/cover/\\\")[1].split(\\\".\\\")[0];\\n if (_type.indexOf(\\\"/\\\") != -1) {\\n var vid=_type.split(\\\"/\\\")[1];\\n } else {\\n var vid = request(\\\"https://v.qq.com/x/cover/440t90j97dkrhxc.html\\\", {\\n headers: {\\n \\\"User-Agent\\\": \\\"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36\\\"\\n }\\n }).split('<link rel=\\\"canonical\\\" href=\\\"https://v.qq.com/x/cover/')[1].split(\\\"/\\\")[1].split(\\\".\\\")[0];\\n }\\n var preurl = \\\"https://vv.video.qq.com/getinfo\\\";\\n var infoUrl = preurl+\\\"?defn=fhd&platform=10801&otype=ojson&sdtfrom=v4138&appVer=7&vid=\\\"+vid+\\\"&newnettype=1&fhdswitch=1&show1080p=1&dtype=3&sphls=2\\\";\\n var code = JSON.parse(request(infoUrl, {\\n headers: {\\n \\\"User-Agent\\\": \\\"qqlive\\\",\\n \\\"cookie\\\":ck,\\n \\\"Content-Type\\\": \\\"application/x-www-form-urlencoded\\\"\\n },\\n method: \\\"GET\\\"\\n }));\\n try {\\n var url = code.vl.vi[0].ul.ui[0].url;\\n } catch (e) {\\n var url = input;\\n }\\n return url;\\n});\"}]","icon":"https://lanmeiguojiang.com/tubiao/movie/31.svg"},{"last_chapter_rule":"","title":"军情观察·Q","author":"发粪涂墙","version":0,"type":"other","url":"http://w.junqingguanchashi.net/fyAll_fypage.html","col_type":"text_1","class_name":"军情观察室&一虎一席谈&军情直播间","class_url":"zuixinyiqi/zuixin&yihuyixitan/list_18&junqingzhibojian/list_16","area_name":"凤凰军情&军情解码&锵锵三人行","area_url":"fenghuangweishi/fhws&jiemazuixin&qiangqiangsanrenxing/list_17","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\nvar list = pd(getResCode(), 'ul,1&&Html').match(/<li[\\s\\S]*?<\\/li>/g);\nfor (var j = 0; j < list.length; j++) {\n if (list[j].indexOf('激情小说') == -1) {\n var url = pd(list[j], 'a&&href');\n d.push({\n title: pdfh(list[j], 'a&&title'),\n desc: pdfh(list[j], 'span&&Text'),\n url: /feng|xing/.test(url) ? url:url + $('').lazyRule(() => {\n var fc = request(input)\n\n return /mip-video/.test(fc) ? pdfh(fc, 'mip-video&&src') : JSON.parse(fetch('http://www.zruiry.com/json.php?url=' + pdfh(fc, 'mip-iframe&&src').split('url=')[1])).url\n }),\n });\n }\n}\nsetResult(d);","searchFind":"","search_url":"","group":"#⃣️Q","detail_col_type":"movie_1","detail_find_rule":"js:\nvar res ={};\nvar d = [];\nvar html = getResCode();\nd.push({\n title:parseDomForHtml(html, 'article--font&&Html').replace(/<h1/g, '<big').replace(/h1>/g, 'big><br><br>').replace(/<h2/g, '<strong><big').replace(/h2>/g, 'big></strong><br><br>'),\n col_type:'rich_text'\n});\nres.data= d;\nsetHomeResult(res);","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"auto","preRule":"","pages":"[]","icon":"http://www.81.cn/favicon.ico"},{"last_chapter_rule":"","title":"贝乐虎·Q","author":"发粪涂墙","version":0,"url":"http://ubestkid.com/fyAll","col_type":"movie_3","class_name":"儿歌&故事&国学","class_url":"erge&gushi&guoxueqimeng","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\nvar tabs = [];\nvar lists = [];\nvar html = getResCode();\nvar conts = pdfa(html, 'body&&.cate-box');\n\nfor (var i in conts) {\n tabs.push(pdfh(conts[i], 'h3&&Text'))\n lists.push(pdfa(conts[i], 'body&&.cate-item'))\n}\n\nfunction setTabs(tabs, vari) {\n for (var i = 0; i < tabs.length; i++) {\n var url = \"#noLoading#@lazyRule=.js:putVar('\" + vari + \"', '\" + i + \"');refreshPage();'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 for (var j in list) {\n d.push({\n title: pdfh(list[j], 'p&&Text'),\n\t\t img: pd(list[j], 'mip-img&&src'),\n url: pd(list[j], 'a&&href')+'@lazyRule=mip-video&&src',\n col_type: 'movie_3'\n })\n }\n}\nsetTabs(tabs, MY_URL)\nsetLists(lists, getVar(MY_URL, '0'))\nsetResult(d)","searchFind":"","search_url":"","titleColor":"","group":"#⃣️Q","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"","pages":"[]","icon":"https://actcdn.ubestkid.com/webpage/offical-web/img/[email protected]"},{"last_chapter_rule":"","title":"555电影·Q","author":"发粪涂墙","version":0,"type":"video","url":"https://www.o8tv.com/vodtype/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 = [];\nlet true_url = getVar(\"555.url\", MY_URL)\nconst page = MY_URL.match(/-(.*?)\\.html/)[1]\ntrue_url = true_url.replace(/vodtype(\\/\\d+)\\.html/, 'vodshow$1-----------.html').replace('---.html', page + '---.html').replace(/(---\\d+.html)/, page + '$1')\nconst html = fetch(true_url, {\n headers: {\n 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0)'\n }\n})\nconst empty = \"hiker://empty\"\n\nconst categories = pdfa(html, 'body&&.nav-list').concat(pdfa(html, 'body&&.myui-screen__list'));\n\nlet init_cate = []\n\nfor (let i = 0; i < 20; i++) {\n init_cate.push(\"0\")\n}\n\nconst fold = getVar(\"555.fold\", \"0\")\nconst cate_temp_json = getVar(\"555.category\", JSON.stringify(init_cate))\nconst cate_temp = JSON.parse(cate_temp_json)\n\n\nif (parseInt(page) === 1) {\n d.push({\n title: fold === '1' ? '““””<b><span style=\"color: #FF0000\">∨</span></b>' : '““””<b><span style=\"color: #1aad19\">∧</span></b>',\n url: $(empty).lazyRule((fold) => {\n putVar(\"555.fold\", 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, 'body--a&&a:not(:contains(APP)):not(:contains(求片))');\n if (index === 0) {\n sub_categories.forEach((item, key) => {\n let title = pdfh(item, 'a&&Text')\n d.push({\n title: key.toString() === cate_temp[index] ? '““””<b><span style=\"color: #098AC1\">' + title + '</span></b>' : title,\n url: $(pd(item, 'a&&href')).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(\"555.category\", JSON.stringify(new_cate))\n putVar(\"555.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, 'a&&Text')\n d.push({\n title: key.toString() === cate_temp[index] ? '““””<b><span style=\"color: #098AC1\">' + title + '</span></b>' : title,\n url: $(pd(item, 'a&&href')).lazyRule((params) => {\n params.cate_temp[params.index] = params.key.toString()\n\n putVar(\"555.category\", JSON.stringify(params.cate_temp))\n putVar(\"555.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}\nconst list = pdfa(html, '.myui-vodlist&&li')\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',\n })\n})\nsetResult(d);","searchFind":"js:\nvar d = []\nfor (var j of JSON.parse(getResCode()).list) {\n d.push({\n title: j.name,\n img: j.pic + \"@Referer=\",\n url: 'https://www.o8tv.com/voddetail/' + j.id + '.html#immersiveTheme#'\n })\n}\nsetResult(d)","search_url":"https://www.o8tv.com/index.php/ajax/suggest?mid=fypage&wd=**&limit=10×tamp=.jsinput+new Date().getTime()","titleColor":"#fff20c00","group":"#⃣️Q","detail_col_type":"movie_1","detail_find_rule":"js:\nvar lazy = $('').lazyRule(() => {\n var H = decodeURIComponent(base64Decode(JSON.parse(request(input).match(/player_.*?=(.*?)</)[1]).url));\n eval(getCryptoJS())\n\n function De(word) {\n var a = CryptoJS.enc.Utf8.parse(md5('rXjWvXl6'))\n var t = CryptoJS.enc.Utf8.parse('NXbHoWJbpsEOin8b')\n return CryptoJS.AES.decrypt(word, a, {\n iv: t,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n }).toString(CryptoJS.enc.Utf8)\n }\n if (H.indexOf('duoduo') != -1) {\n return De(pdfh(request('https://bo.movie06.com/ddplay/?url=' + H,{headers:{'Referer':MY_URL}}), 'script,-4&&Html').split(\"'\")[1])\n } else if (H.indexOf('m3u8') != -1) {\n return H\n } else {\n var play = De(pdfh(request('https://jhpc.manduhu.com/?url=' + H), 'script,-1&&Html').split('\"')[3]);\n if (/mgtv/.test(H)) {\n play += ';{User-Agent@Mozilla/5.0 (Windows NT 10.0)}'\n } else if (/bili/.test(H)) {\n play += ';{User-Agent@Mozilla/5.0&&Referer@https://www.bilibili.com/}'\n }\n return play + '#isVideo=true#'\n }\n});\neval(JSON.parse(request('hiker://page/nav-tabs?rule=模板·Q')).rule)","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"auto","preRule":"","pages":"[]","icon":"https://www.o8tv.com/template/mytheme/statics/image/20211211/540d2853f.ico"},{"last_chapter_rule":"js:\nvar html = getResCode();\n//播放列表的列表的定位\nvar conts = parseDomForArray(html, '.tab-content&&ul')[0];\n//选集列表的定位\nvar list=parseDomForArray(conts, 'ul&&li');\nvar title=parseDomForHtml(list[list.length-1],'a&&Text');\nsetResult(\"更新至: \"+title);","title":"2UC8·Q","author":"发粪涂墙","version":0,"url":"http://www.2uc8.com/mengtype/fyAll-fypage.html;get;utf-8;{User-Agent@Mobile}","col_type":"movie_3","class_name":"电影&连续剧&综艺&动漫","class_url":"1&2&3&4","area_name":"动作片&喜剧片&爱情片&科幻片&恐怖片&剧情片&战争片&","area_url":"6&7&8&9&10&11&12&","sort_name":"","year_name":"国产剧&港台剧&日韩剧&欧美剧","sort_url":"","year_url":"13&14&15&16","find_rule":"js:\neval(JSON.parse(request('hiker://page/myui-vodlist?rule=模板')).rule)","searchFind":"js:eval(JSON.parse(request('hiker://page/myui-vodlist__media?rule=模板')).rule)","search_url":"http://www.2uc8.com/mengsearch/**----------fypage---.html;get;utf-8;{User-Agent@Mobile}","titleColor":"#ff673ab7","group":"#⃣️Q","detail_col_type":"movie_1","detail_find_rule":"js:\nvar jsUrl = fetch('hiker://files/cache/MyParseSet.json');\nif (jsUrl == '' || !fetch(JSON.parse(jsUrl).cj)) {\n var jsFile = fetch('https://gitee.com/Duan-Nian/Dn/raw/master/hikerview/CloudParse-V2_Dn.js');\n} else {\n var jsFile = fetch(JSON.parse(jsUrl).cj);\n}\neval(jsFile);\n\nvar lazy = `@lazyRule=.myui-player__video&&script&&Html.js:eval(input.replace(/player_.*?={/,'player_aaaa={'));var url = unescape(player_aaaa.url);if(url.match(/youku|mgtv|ixigua|qq.com|qiyi|migu|bilibili|sohu|pptv|le/)){var input=url;` + lazy + `}else{url}`;\n\neval(JSON.parse(request('hiker://page/nav-tabs?rule=模板')).rule)","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[]","icon":""},{"last_chapter_rule":"","title":"低端影视·Q","author":"发粪涂墙","version":0,"url":"https://ddrk.me/fyAll/page/fypage","col_type":"movie_3","class_name":"电影地区&欧美电影&日韩电影&华语电影&豆瓣电影Top250","class_url":"category/movie&category/movie/western-movie&category/movie/asian-movie&category/movie/chinese-movie&tag/douban-top250","area_name":"剧集地区&欧美剧&日剧&韩剧&华语剧&其它地区","area_url":"category/drama&category/drama/western-drama&category/drama/jp-drama&category/drama/kr-drama&category/drama/cn-drama&category/drama/other","sort_name":"站长推荐&热映中","year_name":"全部分类&新番片&动作&喜剧&爱情&科幻&犯罪&悬疑&恐怖&纪录片&综艺&NSFW","sort_url":"tag/recommend&category/airing","year_url":"&category/anime&tag/action&tag/comedy&tag/romance&tag/sci-fi&tag/crime&tag/mystery&tag/horror&category/documentary&category/variety&tag/nsfw","find_rule":"body&&.post-box-container;h2&&Text;.post-box-image&&style.js:input.match(/url\\((.*)\\)/)[1];a&&Text;a,-1&&href.js:input+'#immersiveTheme#'","searchFind":"js:\nvar d = [];\r\nvar html = request(MY_URL.split('#')[1], {\r\n redirect: false\r\n})\r\nvar list = parseDomForArray(html, 'body&&article');\r\nlog(list[0]);\r\nfor (var j in list) {\r\n if (list[j].indexOf('img') != -1) {\r\n var img = parseDom(list[j], 'img&&src')\r\n } else {\r\n img = ''\r\n }\r\n d.push({\r\n title: parseDomForHtml(list[j], 'h2&&Text'),\r\n desc: parseDomForHtml(list[j], 'span&&Text'),\r\n img: img,\r\n url: parseDom(list[j], 'a&&href') + '#immersiveTheme#'\r\n });\r\n}\r\nsetResult(d)","search_url":"hiker://empty#https://ddrk.me/?s=**&post_type=post","titleColor":"#fff20c00","group":"#⃣️Q","detail_col_type":"movie_1","detail_find_rule":"js:\nvar d = [];\nvar lazy = $('').lazyRule(() => {\n eval(getCryptoJS());\n let eTimes = new Date().getTime() + 600000;\n word = CryptoJS.enc.Utf8.parse('{\"path\":\"' + input + '\",\"expire\":' + eTimes.toString() + '}');\n Wt = CryptoJS.enc.Utf8.parse(\"zevS%th@*8YWUm%K\");\n Qt = CryptoJS.enc.Utf8.parse(\"5080305495198718\");\n\n function Encrypt(word) {\n var ttestvtrack = CryptoJS.AES.encrypt(word, Wt, {\n iv: Qt,\n mode: CryptoJS.mode.CBC,\n });\n return encodeURIComponent(ttestvtrack.ciphertext.toString(CryptoJS.enc.Base64));\n }\n var video = JSON.parse(fetch('https://v2.ddrk.me:9543/video?id=' + Encrypt(word) + '&type=mix')).url;\n return video\n});\n\nvar html = getResCode();\nvar htmlxc = parseDomForHtml(html, 'body&&.abstract&&Text');\n\n//以下头框\nd.push({\n //定位标题\n title: htmlxc.substring(0, 20) + '\\n' + htmlxc.substring(20, 40) + '\\n' + '豆瓣评分:' + parseDomForHtml(html, '.rating_nums&&Text'),\n //定位描述\n desc: htmlxc.substring(40, 100),\n //定位图片\n pic_url: parseDom(html, '.v-overflowHidden&&.post&&img&&src') + '@Referer=',\n url: MY_URL,\n col_type: 'movie_1_vertical_pic_blur'\n});\n\nd.push({\n col_type: 'line_blank'\n});\nd.push({\n col_type: 'big_blank_block'\n});\nd.push({\n col_type: 'big_blank_block'\n});\nvar list = JSON.parse(parseDomForHtml(html, '.wp-playlist-script&&Html')).tracks;\nfor (var i in list) {\n d.push({\n title: list[i].caption,\n url: list[i].src0 + lazy,\n col_type: 'text_3'\n });\n}\n\nd.push({\n //title: '<br>',\n col_type: 'big_blank_block'\n});\n\nif (html.search(/class\\=\\\"page\\-links/) != -1) {\n var jij = parseDomForArray(html, '.page-links&&a');\n for (k = 0; k < jij.length; k++) {\n\n var htmlt = request(parseDomForHtml(jij[k], 'a&&href'), {});\n d.push({\n title: parseDomForHtml(jij[k], 'a&&Text'),\n col_type: 'text_1'\n });\n var list = JSON.parse(parseDomForHtml(htmlt, '.wp-playlist-script&&Html')).tracks;\n for (var j in list) {\n d.push({\n title: list[j].caption,\n url: list[j].src0 + lazy,\n col_type: 'text_3'\n });\n }\n }\n}\nsetResult(d);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"auto","preRule":"","pages":"[]","icon":""},{"last_chapter_rule":"","title":"猫咪·Q","author":"发粪涂墙","version":0,"url":"hiker://empty#{\n \"access_token\": \"\",\n \"cate_id\": fyAll,\n \"identifier\": \"ffffffff-c67a-899b-ffff-ffffef05ac4a\",\n \"page\": fypage,\n \"region\": 0,\n \"type_id\": 0,\n \"vip\": 0,\n \"year\": \"\"\n}","col_type":"movie_3","class_name":"全部&国产专区&欧美精品&动漫&中文字幕&人气女忧&不雅视频&韩三级&热剧大人版&抖音妹合集&猫咪自拍","class_url":"0&32&16&31&34&35&37&39&40&41&42","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\neval(JSON.parse(request('hiker://page/aes')).rule);\nvar bodys = En(MY_URL.split('#')[1])\nvar html = JSON.parse(De(request('http://119.28.59.69:8089/api/video/index', {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n method: 'POST',\n body: 'params=' + bodys + '&version=26&sign=' + CryptoJS.MD5('QEBBQADSwrXIXaNqBmMofjfRY/8Sxaxgparams' + bodys + 'version26QEBBQADSwrXIXaNqBmMofjfRY/8Sxaxg')\n})))\nsetResult(html.data.data.map(data => ({\n title: data.name,\n img: data.image,\n // desc:data.\n url: $('http://119.28.59.69:8089/api/video/detail?params=' + En('{\"id\":\"' + data.id + '\"}')).lazyRule(() => {\n eval(JSON.parse(request('hiker://page/aes')).rule)\n return JSON.parse(De(request(input))).data.video_item[0].file\n }),\n col_type: 'movie_3'\n})));","searchFind":"js:\neval(JSON.parse(request('hiker://page/aes')).rule);\nvar bodys = En(MY_URL.split('#')[1])\nvar html = JSON.parse(De(request('http://119.28.59.69:8089/api/special/video?params='+bodys)))\nsetResult(html.data.data.map(data => ({\n title: data.video_name,\n img: data.image,\n // desc:data.\n url: $('http://119.28.59.69:8089/api/video/search?params='+En('{\"id\":\"'+data.video_id+'\"}')).lazyRule(() => {\n\t eval(JSON.parse(request('hiker://page/aes')).rule)\n\t return JSON.parse(De(request(input))).data.video_item[0].file\n\t}),\n col_type: 'movie_3'\n})));","search_url":"hiker://empty#{\"keyword\":\"**\",\"page\":fypage}","group":"#⃣️Q","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\":\"aes\",\"path\":\"aes\",\"rule\":\"eval(getCryptoJS())\\nvar a = CryptoJS.enc.Utf8.parse(\\\"625222f9149e961d\\\")\\n var t = CryptoJS.enc.Utf8.parse(\\\"5efdtf6060e2o330\\\")\\nfunction De(word) {\\n word = CryptoJS.enc.Hex.parse(word)\\n return CryptoJS.AES.decrypt(CryptoJS.enc.Base64.stringify(word), a, {\\n iv: t,\\n mode: CryptoJS.mode.CBC,\\n padding: CryptoJS.pad.Pkcs7\\n }).toString(CryptoJS.enc.Utf8)\\n}\\nfunction En(word) {\\n var Encrypted = CryptoJS.AES.encrypt(word, a, {\\n iv: t,\\n mode: CryptoJS.mode.CBC,\\n padding: CryptoJS.pad.Pkcs7\\n });\\n return Encrypted.ciphertext.toString();\\n};\"}]","icon":""},{"last_chapter_rule":"","title":"清风DJ·Q","author":"发粪涂墙","version":0,"url":"https://m.vvvdj.com/sort/cfyAll/0-0-0-0-fypage.html","col_type":"text_1","class_name":"的高串烧&慢摇串烧&中文DISCO&外文DISCO","class_url":"1&2&3&4","area_name":"中文CLUB&外文CLUB&电音HOUSE","area_url":"5&6&7","sort_name":"","year_name":"酒吧潮歌&交谊舞曲","sort_url":"","year_url":"8&9","find_rule":"js:\r\nvar d = [];\nvar list = parseDomForArray(getResCode(), '.list_con_new&&li');\r\nfor (var j in list) {\r\n d.push({\r\n title: parseDomForHtml(list[j], 'p&&Text'),\r\n desc: parseDomForHtml(list[j], '.corhui&&Text'),\r\n url: parseDom(list[j], 'a&&href') + `@lazyRule=script,-3&&Html.js:eval(input.split('$')[0]);playurl`\r\n });\r\n}\r\nsetResult(d);","searchFind":"js:\r\nvar d = [];\nvar list = parseDomForArray(getResCode(), '.list_con_new&&li');\r\nfor (var j in list) {\r\n d.push({\r\n title: parseDomForHtml(list[j], 'p&&Text'),\r\n desc: parseDomForHtml(list[j], '.corhui&&Text'),\r\n url: parseDom(list[j], 'a&&href') + `@lazyRule=script,-3&&Html.js:eval(input.split('$')[0]);playurl`\r\n });\r\n}\r\nsetResult(d);","search_url":"https://m.vvvdj.com/search/so?key=**&cid=0&list=2&page=fypage","titleColor":"#ff228be6","group":"#⃣️Q","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"auto","preRule":"","pages":"[]","icon":"https://m.vvvdj.com/favicon.ico"},{"last_chapter_rule":"","title":"苹果DJ·Q","author":"发粪涂墙","version":0,"url":"http://m.pingguodj.com/fyAll.html;get;UTF-8;{User-Agent@Mozilla/5.0 (Linux;; Android 10)}","col_type":"movie_3","class_name":" 🎦视频 & 🎶音乐 ","class_url":"video&music","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\r\nvar res = {};\r\nvar d = [];\nvar list = parseDomForArray(getResCode(), '.topic&&li');\r\nfor (var j in list) {\r\n d.push({\r\n title: parseDomForHtml(list[j], 'img&&alt'),\r\n pic_url: parseDom(list[j], 'img&&src'),\r\n url: parseDom(list[j],'a&&href').split('1.html')[0]+'fypage.html'\r\n });\r\n}\r\nres.data = d;\r\nsetHomeResult(res);","searchFind":"js:\r\nvar res = {};\r\nvar d = [];\ntry{\nvar list = parseDomForArray(getResCode(), '.glist||.video&&li||a');\r\nfor (var j in list) {\r\n d.push({\r\n title: parseDomForHtml(list[j], 'img&&alt'),\r\n pic_url: parseDom(list[j], 'img&&src'),\r\n url: parseDom(list[j],'a&&href') + '@lazyRule=source||audio&&src.js:\"http://st.chaoyindj.com/\"+input.split(\"com/\")[1]'\r\n });\r\n}}catch(e){}\r\nres.data = d;\r\nsetSearchResult(res);","search_url":"http://m.pingguodj.com/dance/so/key?key=**&p=fypage;get;UTF-8;{User-Agent@Mozilla/5.0 (Linux;; Android 10)}","titleColor":"","group":"#⃣️Q","detail_col_type":"movie_2","detail_find_rule":"js:\r\nvar res = {};\r\nvar d = [];\ntry{\nvar list = parseDomForArray(getResCode(), '.glist||.video&&li||a');\r\nfor (var j in list) {\r\n d.push({\r\n title: parseDomForHtml(list[j], 'img&&alt'),\r\n pic_url: 'http://m.pingguodj.com'+parseDomForHtml(list[j], 'img&&onerror').split(\"'\")[1],\r\n url: parseDom(list[j],'a&&href') + '@lazyRule=source||audio&&src.js:\"http://st.chaoyindj.com/\"+input.split(\"com/\")[1]'\r\n });\r\n}}catch(e){}\r\nres.data = d;\r\nsetHomeResult(res);","sdetail_col_type":"movie_2","sdetail_find_rule":"","ua":"auto","preRule":""},{"last_chapter_rule":"","title":"嗨瑶音乐网·Q","author":"发粪涂墙","version":0,"url":"http://www.92kk.com/dance/lists-id-fyAll-fypage.html;get;UTF-8;{User-Agent@Mozilla/5.0 (Windows NT 10.0)}","col_type":"movie_1_vertical_pic","class_name":"试音车载&酒吧串烧&劲爆舞曲&串烧车载","class_url":"26&23&22&5","area_name":"CLUB&HOUSE&酒吧潮曲&Disco","area_url":"33&34&35&36","sort_name":"伤感串烧&电音车载&车载连版&喊麦现场","year_name":"夜店视频&热舞视频&舞曲视频&车载故事","sort_url":"25&27&21&25","year_url":"55&56&16&6","find_rule":"js:\nvar d = [];\nvar list = parseDomForArray(getResCode(), '.share_list&&li:not(.title)');\nfor (var j in list) {\n d.push({\n title: parseDomForHtml(list[j], 'a&&Text'),\n desc: parseDomForHtml(list[j], 'li--a&&Text'),\n img: parseDom(list[j], 'img,-1&&src'),\n url: parseDom(list[j], 'a&&href') + `@lazyRule=video||audio&&src`\n });\n}\nsetResult(d);","searchFind":"js:\r\nvar d = [];\nvar list = parseDomForArray(getResCode(), '.share_list&&li:not(.title)');\r\nfor (var j in list) {\r\n d.push({\r\n title: parseDomForHtml(list[j], 'a&&Text'),\r\n desc: parseDomForHtml(list[j], 'li--a&&Text'),\r\n img: parseDom(list[j], 'img,-1&&src'),\r\n url: parseDom(list[j], 'a&&href') + `@lazyRule=video||audio&&src`\r\n });\r\n}\r\nsetResult(d);","search_url":"http://www.92kk.com/index.php/dance/so/key?key=**&cid=0&p=fypage;get;UTF-8;{User-Agent@Mozilla/5.0 (Windows NT 10.0)}","titleColor":"#fff20c00","group":"#⃣️Q","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"text_center_1","sdetail_find_rule":"","ua":"pc","preRule":"","pages":"[]","icon":"http://m.92kk.com/favicon.ico"},{"last_chapter_rule":"","title":"DJ音乐盒·Q","author":"发粪涂墙","version":0,"url":"http://appxml.jyw8.com/fyclass_fyarea_fypage.xml","col_type":"movie_1_vertical_pic","class_name":"串烧&中文&慢摇&英文&交谊舞","class_url":"XCQS&ZWWQ&MHWQ&YWWQ&jiaoYi","area_name":"最新&原创&推荐&人气&热门&下载&精品&独家","area_url":"newUP&YC&TJ&PH&down&ding&JP&DuJia","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\r\nvar list = pdfa(getResCode(), 'plants&&PLANT');\r\nfor (var j in list) {\r\n d.push({\r\n title: pdfh(list[j], 'NAME&&Text'),\r\n desc: '🕒' + pdfh(list[j], 'TIME&&Text') + '\\t\\t🎧' + pdfh(list[j], 'tingCount&&Text') + '\\t\\t' + pdfh(list[j], 'FILESIZE&&Text'),\r\n pic_url: 'http://img.djyule.com/Pic120/' + pdfh(list[j], 'HYhomeID&&Text') + '.jpg',\r\n url: pdfh(list[j], 'PLAYURL&&Text') + `@lazyRule=.js:'http://pc64-20.jyw8.com/'+input`\r\n });\r\n}\r\nsetResult(d);","searchFind":"js:\nvar d = [];\r\nvar list = pdfa(getResCode(), 'plants&&PLANT');\r\nfor (var j in list) {\r\n d.push({\r\n title: pdh(list[j], 'NAME&&Text'),\r\n desc: '🕒' + pdfh(list[j], 'TIME&&Text') + '\\t\\t🎧' + pdfh(list[j], 'tingCount&&Text') + '\\t\\t' + pdfh(list[j], 'FILESIZE&&Text'),\r\n img: 'http://img.djyule.com/Pic120/' + pdfh(list[j], 'HYhomeID&&Text') + '.jpg',\r\n url: pdfh(list[j], 'PLAYURL&&Text') + `@lazyRule=.js:'http://pc64-20.jyw8.com/'+input`\r\n });\r\n}\r\nsetResult(d);","search_url":"http://appso.djyule.com/search.asp?keyName=**&upHY=&page=fypage","titleColor":"#fff20c00","group":"#⃣️Q","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"if(!getVar('bfq')){putVar('bfq','1');}","pages":"[]","icon":"http://sj.djyule.com/img/logo.png"},{"last_chapter_rule":"","title":"QQ音乐·Q","author":"发粪涂墙","version":0,"url":"https://c.y.%71%71.com/node/pc/wk_v15/top.html","col_type":"card_pic_2","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\nvar html = getResCode();\n\nvar tabs = [];\n\nvar conts = parseDomForArray(html, 'body&&.mod_toplist');\nvar lists = [];\nfor (var i in conts) {\n lists.push(parseDomForArray(conts[i], 'body&&.toplist__item'))\n tabs.push(parseDomForHtml(conts[i], 'h2&&Text'))\n}\n\nfunction setTabs(tabs, vari) {\n for (var i = 0; i < tabs.length; i++) {\n var url = \"#noLoading#@lazyRule=.js:putVar('\" + vari + \"', '\" + i + \"');refreshPage(false);'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 for (var j in list) {\n d.push({\n // title: parseDomForHtml(list[j], 'span&&Text'),\n img: parseDom(list[j], 'img&&src'),\n desc: '0',\n url: 'https://u.y.qq.com/cgi-bin/musicu.fcg?format=json&inCharset=utf8&outCharset=utf-8&platform=yqq.json&needNewCode=0&data=%7B%22comm%22%3A%7B%22cv%22%3A1602%2C%22ct%22%3A20%7D%2C%22toplist%22%3A%7B%22module%22%3A%22musicToplist.ToplistInfoServer%22%2C%22method%22%3A%22GetDetail%22%2C%22param%22%3A%7B%22topid%22%3A'+parseDomForHtml(list[j], 'a&&data-tid').split('/')[1]+'%2C%22num%22%3A300%2C%22period%22%3A%22%22%7D%7D%7D&_='+new Date().getTime(),\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);","searchFind":"js:\nsetResult(JSON.parse(getResCode()).data.song.list.map(data => ({\n title: data.title,\n // img: data.cover,\n desc: data.singer[0].title,\n url: 'https://i.y.qq.com/v8/playsong.html?ADTAG=ryqq.songDetail&songmid=' + data.mid + '&songid=0&songtype=0' + `@lazyRule=.js:parseDom(request(input),'audio&&src')||JSON.parse(fetch('https://api.vvhan.com/api/music?id='+input.match(/songmid=(.*)&songid/)[1]+'&type=song&media=tencent')).mp3url||'toast://收费音乐,有空解决'`,\n})));","search_url":"https://c.y.%71%71.com/soso/fcgi-bin/client_search_cp?ct=24&qqmusic_ver=1298&new_json=1&remoteplace=txt.yqq.top&aggr=1&cr=1&catZhida=1&lossless=0&flag_qc=0&p=fypage&n=30&w=**&cv=4747474&ct=24&format=json&inCharset=utf-8&outCharset=utf-8¬ice=0&platform=yqq.json&needNewCode=0&uin=0&hostUin=0&loginUin=0&_=.js:input+new Date().getTime()","titleColor":"#fff20c00","group":"#⃣️Q","detail_col_type":"text_1","detail_find_rule":"js:\nsetResult(JSON.parse(getResCode()).toplist.data.songInfoList.map(data => ({\n title: data.title,\n // img: data.cover,\n desc: data.singer[0].title,\n // url: 'https://api.vvhan.com/api/music?id='+data.mid+'&type=song&media=tencent',\n url: 'https://i.y.qq.com/v8/playsong.html?ADTAG=ryqq.songDetail&songmid=' + data.mid + '&songid=0&songtype=0' + `@lazyRule=.js:parseDom(request(input),'audio&&src')||JSON.parse(fetch('https://api.vvhan.com/api/music?id='+input.match(/songmid=(.*)&songid/)[1]+'&type=song&media=tencent')).mp3url||'toast://收费音乐,有空解决'`,\n // col_type: 'movie_3'\n})));","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"pc","preRule":"","pages":"[]","icon":"https://y.qq.com/mediastyle/mod/mobile/img/logo.svg"},{"last_chapter_rule":"","title":"DJ多多·Q","author":"发粪涂墙","version":0,"url":"hiker://empty#https://new.djduoduo.com/v4/getlist.php?act=fyAll&data=#{\"PageNo\":fypage}","col_type":"movie_3","class_name":"热歌&新歌&电音&无损","class_url":"hot&new&homechn&sq","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\neval(JSON.parse(request('hiker://page/jiexi')).rule);","searchFind":"js:\neval(JSON.parse(request('hiker://page/jiexi')).rule);","search_url":"hiker://empty#https://tp.djduoduo.com/v4/search.php?act=sch&data=#{\"Query\":\"**\",\"From\":\"UserSearch\",\"Uid\":594165,\"OpenId\":\"FF98E9725914D57BBD04CF713FDE03AE\",\"PageNo\":fypage,\"AppId\":120}","titleColor":"","group":"#⃣️Q","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\":\"AES\",\"path\":\"aes\",\"rule\":\"eval(getCryptoJS())\\n\\nfunction De(data,key,iv) {\\n Wt = CryptoJS.enc.Base64.parse(key);\\nQt = CryptoJS.enc.Base64.parse(iv);\\n var decrypted = CryptoJS.AES.decrypt(data, Wt, {\\n iv: Qt,\\n padding: CryptoJS.pad.Pkcs7\\n });\\n return decrypted.toString(CryptoJS.enc.Utf8);\\n};\\n\\nfunction En(data,key,iv) {\\n Wt = CryptoJS.enc.Base64.parse(key);\\nQt = CryptoJS.enc.Base64.parse(iv);\\n var Encrypted = CryptoJS.AES.encrypt(data, Wt, {\\n iv: Qt,\\n mode: CryptoJS.mode.CBC,\\n padding: CryptoJS.pad.Pkcs7\\n });\\n return Encrypted.toString();\\n};\"},{\"col_type\":\"movie_3\",\"name\":\"列表\",\"path\":\"jiexi\",\"rule\":\"eval(JSON.parse(request('hiker://page/aes')).rule);\\n\\nvar html = request(MY_URL.split('#')[1]+encodeURIComponent(En(MY_URL.split('#')[2],'6CpKd1wpW7vjP2aCijaLkA==','hHfVoIXB1Q2KdIEew+gR5A=='))+'&extra=tEEzGEE4A%2F4DjI0XEwEKce5UHeBcuLjBOd8lC8SmYzkQP02BkXOe%2BOv0qyLuyj2yYcyqpbL5OZYn%0A7zzJBsH4Q4sBN%2FPm%2FEJ00Nh4dsbOxP6bmeOKsz5ETFcYCYkbUeZFHqJIsO5skTIe9D%2BgkhXsN7do%0A3%2FTZlOfHNUyjTKsC%2FDuy1wGzdJpdJ92KYN9%2FXEVo%0A').replace(/<br[\\\\S\\\\s]*\\\\/>/g,'');\\n\\nsetResult(JSON.parse(html).List.map(data => ({\\n title: data.Name,\\n img: 'http://txcdn.djduoduo.com/dj/cover/'+data.Id.toString().slice(3)+'/150/'+data.Cover,\\n desc: data.User,\\n url: $(data.Path).lazyRule((id) => {\\n\\t eval(JSON.parse(request('hiker://page/aes?rule=DJ多多·Q')).rule);\\n\\t return 'http://txcdn.djduoduo.com/dj/'+id.toString().slice(3)+'/'+De(input,'5P0JTfyumPNS3fge52DYkQ==','ky6knP/2g4LwUWzMY6UhIw==')+'#.mp3'+new Date().getTime()\\n\\t},data.Id),\\n col_type: 'avatar'\\n})))\"}]","icon":"http://img.onlinedown.net/download/202102/134533-602f507dd1e50.jpg"},{"last_chapter_rule":"","title":"360·Q","author":"发粪涂墙","version":0,"type":"other","url":"https://api.web.360kan.com/v1/filter/list?size=35&pageno=fypage&catid=fyclass","col_type":"movie_3","class_name":"电视剧&电影&动漫","class_url":"2&1&4","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\nJSON.parse(getResCode()).data.movies.forEach(video => {\n d.push({\n title: video.title,\n desc: video.upinfo ? video.upinfo + '集' : (video.doubanscore ? video.doubanscore : video.tag),\n img: 'https:' + video.cover + '@Referer=https:' + video.cover,\n url: 'https://api.web.360kan.com/v1/detail?cat=' + MY_URL.split('catid=')[1] + '&id=' + video.id + '#immersiveTheme#',\n col_type: 'movie_3_marquee',\n })\n})\nsetResult(d);","searchFind":"js:\nvar d = [];\nJSON.parse(getResCode()).data.longData.rows.forEach(video => {\n d.push({\n title: video.titleTxt,\n content: video.description,\n desc: video.coverInfo.txt || video.coverInfo.quality,\n img: video.cover + '@Referer=' + video.cover,\n url: 'https://api.web.360kan.com/v1/detail?cat=' + video.cat_id + '&id=' + video.en_id + '#immersiveTheme#',\n col_type: 'movie_3_marquee',\n })\n})\nsetResult(d);","search_url":"https://api.so.360kan.com/index?force_v=1&kw=**&pageno=fypage&v_ap=1&tab=all","group":"#⃣️Q","detail_col_type":"movie_1","detail_find_rule":"js:\nvar d = [];\nvar html = JSON.parse(getResCode()).data;\n\nfunction red(text) {\n return '““' + text + '””';\n}\n\nd.push({\n title: html.area.join(' ') + ' ' + html.moviecategory.join(' ').substring(0, 15) + '\\n' + html.actor.join(' ').substring(0, 15) + '\\n' + html.pubdate,\n desc: html.description.substring(0, 38),\n img: html.cdncover,\n url: \"hiker://page/Route?rule=MyFieldᴰⁿ&type=设置#noHistory#\",\n col_type: 'movie_1_vertical_pic_blur'\n});\n\nvar lazy = `@lazyRule=.js:eval(\"var config =\" + fetch(\"hiker://files/cache/MyParseSet.json\"));eval(fetch(config.cj));aytmParse(input)`;\n\nvar tabs = [];\nvar lists = [];\nvar arts = html.playlink_sites;\nfor (var i in arts) {\n if (html.upinfo) {\n var upinfo = MY_URL.split('#')[0] + '&start=1&end=' + html.upinfo + '&site=' + arts[i]\n } else {\n upinfo = MY_URL.split('#')[0] + '&site=' + arts[i]\n }\n tabs.push(arts[i])\n lists.push(upinfo)\n\n}\n\nfunction setTabs(tabs, vari) {\n d.push({\n title: (getVar('shsort') == '1') ? '““””<b><span style=\"color: #FF0000\">逆序</span></b>' : '““””<b><span style=\"color: #1aad19\">正序</span></b>',\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 ? red(tabs[i]) : tabs[i],\n url: url,\n col_type: 'flex_button'\n })\n }\n d.push({\n col_type: 'line_blank'\n })\n}\n\nfunction setLists(lists, index) {\n var json = JSON.parse(request(lists[index])).data\n var site = lists[index].split('&site=')[1]\n if (json.allepidetail && json.playlinksdetail) {\n var html = json.allepidetail;\n var list = html[site]\n if (getVar('shsort') == '1') {\n var list = html[site].reverse();\n }\n for (var j in list) {\n d.push({\n title: list[j].playlink_num,\n url: list[j].url + lazy,\n col_type: 'text_4'\n });\n }\n } else {\n var html = JSON.parse(request(lists[index])).data.playlinksdetail;\n var list = html[site]\n d.push({\n title: json.pubdate,\n img: list.cdn_h_cover,\n desc: json.moviecategory.join(' '),\n url: list.default_url + lazy,\n col_type: 'movie_2'\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":"[]","icon":"https://bkimg.cdn.bcebos.com/pic/caef76094b36acaf2fadca5a70d98d1000e99cc2"},{"last_chapter_rule":"","title":"小狐·Q","author":"发粪涂墙","version":0,"type":"video","url":"https://api.tv.sohu.com/v4/search/channel/sub.json?subId=fyAll&offset=fypage@-1@*12@&page_size=12","col_type":"movie_3","class_name":"电影&剧集&美剧&动漫&综艺&断插","class_url":"488&16&18&39&32&断插","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\nif (JSON.parse(getRule()).class_url == '断插') {\n d.push({\n title: '设置断插',\n url: \"hiker://empty#noRecordHistory#@rule=js:this.d=[];require('https://gitea.com/AI957/Hiker/raw/m/v/Route.js');Route.setParse();setResult(d);\",\n col_type: 'text_center_1'\n });\n} else {\n var json = JSON.parse(getResCode());\n if (json.data.videos)\n for (var i = 0; i < json.data.videos.length; i++) {\n var j = json.data.videos[i];\n\n d.push({\n title: j.album_name,\n pic_url: j.hor_w8_pic,\n desc: j.tip,\n url: 'https://s1.api.tv.itc.cn/v4/album/videos/' + j.aid + '.json?page=fypage&page_size=50&order=0&prevideo_rule=1&with_fee_video=3&with_trailer=2&with_prevideo=1&with_pgc_video=1'\n });\n }\n}\nsetResult(d);","searchFind":"js:\nvar res = {};\nvar d = [];\nvar json = getResCode().split('_96_4')[1]\neval('json=' + json)\nfor (var i = 0; i < json.data.items.length; i++) {\n var j = json.data.items[i];\n if (j.is_album == 1 & j.aid !== 0 & !j.whole_source) {\n d.push({\n title: j.album_name,\n url: 'https://s1.api.tv.itc.cn/v4/album/videos/' + j.aid + '.json?page_size=50&page=fypage&order=0&prevideo_rule=1&with_fee_video=3&with_trailer=2&with_prevideo=1&with_pgc_video=1',\n img: j.hor_high_pic,\n desc: j.second_cate_name,\n content: j.main_actor\n });\n }\n}\nres.data = d;\nsetSearchResult(res);","search_url":"https://m.so.tv.sohu.com/search/new/keyword??callback=jsonpx时间戳_96_4&all=0&pay=1&pgc=1&show_star_detail=2&index_type=127&plat=17&hl=3&banner=1&poster=1&relative=1&errorCheck=1&pgcUnion=1&series=1&npgc=1&starNews=1&nAVForm=1&news=1&with_user_video=1&timeStamp=时间戳&code=0a38f62506a7c24a95272388d9d34b64&key=**&page=fypage&page_size=30&posterSort=2&filter=1&_=时间戳.js:input.replace(/时间戳/g,new Date().getTime())","titleColor":"#fff20c00","group":"#⃣️Q","detail_col_type":"movie_2","detail_find_rule":"js:\nvar res = {};\nvar d = [];\nvar json = JSON.parse(getResCode());\n\nvar lazy = $('').lazyRule(() => {\n require('https://gitea.com/AI957/Hiker/raw/m/v/Route.js')\n return aytmParse(input)\n});\n\nif (json.data.videos)\n for (var i = 0; i < json.data.videos.length; i++) {\n var j = json.data.videos[i];\n var jso = JSON.parse(fetch('https://m.tv.sohu.com/phone_playinfo?vid=' + j.vid + '&site=1&appid=tv', {}));\n var urs = jso.data.url_html5;\n d.push({\n title: '第' + j.video_order + '集',\n pic_url: j.hor_w8_pic,\n desc: j.video_name,\n url: urs + lazy\n });\n }\nres.data = d;\nsetHomeResult(res);","sdetail_col_type":"movie_2","sdetail_find_rule":"*","ua":"auto","preRule":"","pages":"[]","icon":"https://m.tv.sohu.com/favicon.ico"},{"last_chapter_rule":".myui-content__detail&&p,1&&Text","title":"可乐·Q","author":"发粪涂墙","version":0,"url":"hiker://empty##https://cokemv.me/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:\nMY_URL = MY_URL.replace('hiker://empty##', '')\n\nvar d = d || []\nlet 一级 = $.require('hiker://page/yiji?rule=模板·Q')\n\nvar page = MY_URL.match(/-(\\d+)---.html/)[1];\nvar true_url = 一级.获取正确链接(page)\nlet headers = {\n \"User-Agent\": PC_UA,\n \"Cookie\": getVar('kele$cookie'),\n \"Referer\": MY_URL\n};\nvar html = 一级.获取源码(true_url, headers)\nif (html.indexOf('检测中') != -1) {\n html = request(MY_URL + '?btwaf' + html.match(/btwaf(.*?)\\\"/)[1], {});\n}\n\n一级.打造分类([\n // 定位四大金刚\n {\n 一级分类: 'body&&.myui-header__menu',\n 子分类: 'ul&&li[class~=hidden-xs]:gt(0):lt(6)',\n 分类链接: {\n 二次处理(url) {\n return url.replace(/vodtype\\/(\\d+)/, 'vodshow/$1-----------.html')\n }\n }\n },\n // 定位其他大分类,如地区、年份等\n {\n 一级分类: 'body&&.myui-screen__list',\n 子分类: 'ul&&li:gt(0)',\n }\n])\n\nvar 列表 = '.myui-vodlist&&li';\nvar 标题 = 'a&&title';\nvar 描述 = '.pic-text&&Text';\nvar 图片 = 'a&&data-original';\nvar 链接 = 'a&&href';\n\n一级.生成片单(d, html)\n\nsetResult(d)","searchFind":"js:\nvar d = [];\nvar html = getResCode()\nif (html.indexOf('验证') > -1) {\n function getVCode2(img, headers) {\n function ocr(hex) {\n /*let hex = fetch(savePath, {\n toHex: true\n });*/\n let ret = request('http://ocr.nokia.press/dz/api/ocr', {\n headers: {\n 'content-type': 'application/x-www-form-urlencoded',\n },\n body: 'hex=' + hex,\n method: 'POST'\n });\n return ret\n }\n let hex = request(img, {\n headers: JSON.parse(headers),\n toHex: true\n });\n return ocr(hex);\n\n }\n\n let headers = {\n \"User-Agent\": PC_UA,\n \"Cookie\": getVar('kele$cookie'),\n \"Referer\": MY_URL\n };\n let vcode = getVCode2('https://cokemv.me/verify/index.html ', JSON.stringify(headers));\n html = fetch(MY_URL+'?&verify=' + JSON.parse(vcode).ret, {\n headers: headers\n });\n}\nlog(html)\r\nvar list = pdfa(html, '#searchList&&li');\r\nfor (var j in list) {\r\n d.push({\r\n title: pdfh(list[j], 'a&&title'),\r\n desc: pdfh(list[j], '.pic-text&&Text'),\r\n img: pd(list[j], 'a&&data-original'),\r\n content: pdfh(list[j], '.detail--h4&&Text'),\r\n url: pd(list[j], 'a&&href')+'#immersiveTheme#'\r\n })\r\n}\r\nsetResult(d)","search_url":"https://cokemv.me/vodsearch/**----------fypage---.html;get;UTF-8;{User-Agent@Mozilla/5.0 (Windows NT 10.0)&&[email protected]:getVar('kele$cookie')}}","titleColor":"#ff228be6","group":"#⃣️Q","detail_col_type":"movie_1","detail_find_rule":"js:\nvar d = [];\nvar html = getResCode();\nif (getResCode().indexOf('检测中') != -1) {\n html = request(MY_URL + '?btwaf' + html.match(/btwaf(.*?)\\\"/)[1], {});\n}\n\nvar Color = \"#f13b66a\";\n\nfunction getHead(title) {\n return '‘‘’’<strong><font color=\"' + Color + '\">' + title + '</front></strong>';\n}\n//二级模板by发粪涂墙\nvar arts = parseDomForArray(html, '.nav&&a');\nvar tabs = [];\nfor (var i in arts) {\n tabs.push(parseDomForHtml(arts[i], 'a&&Text'))\n}\n\nvar conts = parseDomForArray(html, 'body&&.myui-content__list');\nvar lists = [];\nfor (var i in conts) {\n lists.push(parseDomForArray(conts[i], 'ul&&li'))\n}\n\nd.push({\n title: parseDomForHtml(html, '.data,0&&Text').replace('地区:', ' ').replace('年份:', ' ') + '\\n' + parseDomForHtml(html, '.data,2&&Text').substring(0, 15) + '\\n' + parseDomForHtml(html, '.data,3&&Text').substring(0, 15),\n desc: parseDomForHtml(html, '.data,1&&Text').substring(0, 21),\n pic_url: parseDom(html, '.lazyload&&data-original'),\n url: getUrl(),\n col_type: 'movie_1_vertical_pic_blur'\n});\nvar desc = parseDomForHtml(html, '#desc&&.data&&Text').replace('[收起部分]', '').replace(' ', '');\nd.push({\n title: '‘‘’’<small><font color=\"#ff148e8e\">简介:' + desc.substr(0, 30) + '...</font><small><font color=\"red\">查看详情</font></small></small>',\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 col_type: 'text_1'\n});\n\nvar lazy = `@lazyRule=.js:JSON.parse(request(input).match(/r player_.*?=(.*?)</)[1]).url`\n\nd.push({\n col_type: 'line_blank'\n});\nd.push({\n col_type: 'big_blank_block'\n});\nd.push({\n col_type: 'big_blank_block'\n});\nd.push({\n title: (getVar('shsort') == '1') ? '““””<b><span style=\"color: #FF0000\">逆序</span></b>' : '““””<b><span style=\"color: #1aad19\">正序</span></b>',\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: 'scroll_button'\n})\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 ? '““' + tabs[i] + '””' : tabs[i],\n url: url,\n col_type: 'scroll_button'\n })\n }\n}\n\nfunction setLists(lists, index) {\n var list = lists[index];\n d.push({\n col_type: 'line_blank'\n });\n d.push({\n col_type: 'big_blank_block'\n });\n d.push({\n col_type: 'big_blank_block'\n });\n if (getVar('shsort') == '1') {\n var list = lists[index].reverse();\n }\n try {\n for (var j in list) {\n var jm = parseDomForHtml(list[j], 'a&&Text').replace(/第(\\d+)集/, '$1').replace('第', '').replace('期', '');\n let url = parseDom(list[j], 'a&&href')\n d.push({\n title: jm,\n url: url + lazy,\n col_type: jm.length > 5 ? 'text_2' : 'text_5',\n extra: {\n id: url\n }\n });\n }\n } catch (e) {\n d.push({\n title: '没有选集哟,不信点图片去看看👀',\n col_type: 'text_center_1'\n });\n }\n}\nsetTabs(tabs, MY_URL);\nsetLists(lists, getVar(MY_URL, '0'));\nd.push({\n title: '<br>',\n col_type: 'rich_text'\n});\nsetResult(d);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"if(!getVar('kele$cookie')){\nlet cookie = JSON.parse(fetchCookie('https://cokemv.me/verify/index.html', {\n headers: {\n \"User-Agent\": MOBILE_UA\n }\n}));\nputVar('kele$cookie', cookie.join(';'));\n}","pages":"[]","icon":"https://cokemv.me/template/mytheme/statics/image/20201201/932acffd1.ico"},{"firstHeader":"class","last_chapter_rule":"","title":"饭团·Q","author":"发粪涂墙","version":0,"url":"https://fantuan.tv/vodshow/fyarea/by/fysort/fyyear/id/fyclass/page/fypage.html","col_type":"movie_3","class_name":"电影&电视剧&综艺&动漫","class_url":"1&2&3&4","area_name":"类型&剧情&喜剧&古装&警匪&家庭&武侠&动作&爱情&科幻&魔幻&动画&悬疑&惊悚&恐怖&犯罪&同性&传记&历史&战争&西部&奇幻&冒险&灾难&微电影","area_url":"&class/剧情&class/喜剧&class/古装&class/警匪&class/家庭&class/武侠&class/动作&class/爱情&class/科幻&class/魔幻&class/动画&class/悬疑&class/惊悚&class/恐怖&class/犯罪&class/同性&class/传记&class/历史&class/战争&class/西部&class/奇幻&class/冒险&class/灾难&class/微电影","sort_name":"热门&更新&评分","year_name":"地区&大陆&香港&台湾&美国&法国&英国&日本&韩国&德国&泰国&印度&意大利&西班牙&加拿大&其他","sort_url":"hits&time&score","year_url":"&/area/大陆&/area/香港&/area/台湾&/area/美国&/area/法国&/area/英国&/area/日本&/area/韩国&/area/德国&/area/泰国&/area/印度&/area/意大利&/area/西班牙&/area/加拿大&/area/其他","find_rule":"js:\nvar d = [];\nvar list = pdfa(getResCode(), '.myui-vodlist&&li');\nfor (var j in list) {\n d.push({\n title: pdfh(list[j], 'a&&title'),\n desc: pdfh(list[j], '.pic-text&&Text'),\n img: pd(list[j], '.lazyload&&data-original') + '@Referer=',\n url: pd(list[j], 'a&&href') + \"#immersiveTheme#\"\n });\n}\nsetResult(d)","searchFind":"js:\nsetResult(JSON.parse(getResCode()).list.map(\n data => ({\n title: data.name,\n url: 'https://fantuan.tv/voddetail/' + data.id + '.html#immersiveTheme#',\n img: data.pic\n })\n))","search_url":"https://fantuan.tv/index.php/ajax/suggest?mid=fypage&wd=**&limit=10","titleColor":"#fff20c00","group":"#⃣️Q","detail_col_type":"movie_1","detail_find_rule":"js:\nvar d = [];\nvar html = getResCode();\n\nvar arts = pdfa(html, '.nav-tabs&&li');\nvar tabs = [];\nfor (var i in arts) {\n tabs.push(pdfh(arts[i], 'a&&Text').replace('备用线路→', '线路'))\n}\n\nvar conts = pdfa(html, '.tab-content&&ul');\nvar lists = [];\nfor (var i in conts) {\n lists.push(pdfa(conts[i], 'ul&&li'))\n}\n\nd.push({\n title: pdfh(html, '.data&&Text').replace('地区:', ' ').replace('年份:', ' ') + '\\n' + pdfh(html, '.data,1&&Text').substring(0, 15) + '\\n' + pdfh(html, '.data,2&&Text').substring(0, 15),\n desc: pdfh(html, '.data,3&&Text').substring(0, 25),\n img: pd(html, '.lazyload&&data-original') + '@Referer=',\n url: MY_URL,\n col_type: 'movie_1_vertical_pic_blur'\n});\n\nvar lazy = $(\"\").lazyRule(() => {\n eval(pdfh(request(input), '.embed-responsive&&script&&Html'))\n eval(getCryptoJS());\n /*\n var string = base64Decode(player_aaaa.url)\n var key = 'ojbk666'\n var len = key.length\n code = ''\n for (i = 0x0; i < string.length; i++) {\n k = i % len;\n code += String.fromCharCode(string.charCodeAt(i) ^ key.charCodeAt(k))\n }\n var url = base64Decode(code)\n */\n var url = decodeURIComponent(base64Decode(player_aaaa.url))\n var html = request('https://ptwo.wkfile.com/m3u8.php?url=' + url, {\n headers: {\n 'Referer': 'https://fantuan.tv/'\n }\n });\n var bt_token = html.match(/bt_token = \"(.*?)\"/)[1]\n var play = CryptoJS.AES.decrypt(html.match(/getVideoInfo\\(\"(.*?)\"/)[1], CryptoJS.enc.Utf8.parse('C04AD764B8CD4CE9'), {\n 'iv': CryptoJS.enc.Utf8.parse(bt_token)\n }).toString(CryptoJS.enc.Utf8)\n if (/mgtv/.test(play)) {\n play += ';{User-Agent@Mozilla/5.0 (Windows NT 10.0)}';\n } else {\n // play += ';{User-Agent@Mozilla/5.0 (Windows NT 10.0)&&Referer@https://fantuan.tv/}'\n play = cacheM3u8(play, {\n headers: {\n 'Referer': 'https://fantuan.tv/'\n }\n })\n }\n return play\n});\nd.push({\n col_type: 'line_blank'\n});\nd.push({\n col_type: 'big_blank_block'\n});\nd.push({\n col_type: 'big_blank_block'\n});\nd.push({\n title: (getVar('shsort') == '1') ? '““””<b><span style=\"color: #FF0000\">逆序</span></b>' : '““””<b><span style=\"color: #1aad19\">正序</span></b>',\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: 'scroll_button'\n})\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 ? '““' + tabs[i] + '””' : tabs[i],\n url: url,\n col_type: 'scroll_button'\n })\n }\n}\n\nfunction setLists(lists, index) {\n var list = lists[index];\n d.push({\n col_type: 'line_blank'\n });\n d.push({\n col_type: 'big_blank_block'\n });\n d.push({\n col_type: 'big_blank_block'\n });\n if (getVar('shsort') == '1') {\n for (var j = list.length - 1; j >= 0; j--) {\n var jm = parseDomForHtml(list[j], 'a&&Text').replace(/第(\\d+)集/, '$1').replace('第', '').replace('期', '');\n d.push({\n title: jm,\n url: parseDom(list[j], 'a&&href') + lazy,\n col_type: jm.length > 5 ? 'text_3' : 'text_5'\n });\n }\n } else {\n for (var j = 0; j < list.length; j++) {\n var jm = parseDomForHtml(list[j], 'a&&Text').replace(/第(\\d+)集/, '$1').replace('第', '').replace('期', '');\n d.push({\n title: jm,\n url: parseDom(list[j], 'a&&href') + lazy,\n col_type: jm.length > 5 ? 'text_3' : 'text_5'\n });\n }\n }\n}\nsetTabs(tabs, MY_URL);\nsetLists(lists, getVar(MY_URL, '0'));\nd.push({\n title: '<br>',\n col_type: 'rich_text'\n});\nsetResult(d);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"pc","preRule":"","pages":"[]","icon":"https://fantuan.tv/template/mytheme/statics/img/favicon.ico"}]