茗起

我发下我也是好久没有更新了,今天给大家带来一个安卓应用,海阔世界,这个应用既可以像微信一样安装小程序,也可以像浏览器一样安装各种各样插件,广告拦截,下载解析!太强了!

茗述

接下来就由我来展示一下这个应用奇特的功能吧!
为了节省手指上下滑动而产生的疲劳,决定使用几个按钮来展示一下这个应用的强大之处!

首页

首页看起来简洁,但是当你点击每日推荐的时候,你会发现,这个应用的强大之处!
首页

这里每天都会更新新鲜有趣,使用的小工具!
每日推荐
每日推荐
每日推荐

小程序

这个功能是这个软件的核心功能!

超级多的小程序,还有大佬整合的合集!
小程序

电影
电影
电影
电影

电影

电影

电影
节点不担心!
电影

浏览器

都有折磨强大的功能,其实它还可以是一个可安装任意插件的浏览器!
浏览器
支持插件有: GF | OUjs | UZ | github
如此强大,使我爱不释手!但这功能更有奇点,就是没有任何审核,以至于什么都能看……

浏览器

其他特点

磁力下载
新闻

有几个点我想说

  • 本软件只用作于分享,资源来源于互联网,与本人无关
  • 所有资源均由各大大佬整合,看到什么不该看的广告啥的自己划掉!
  • 很奇葩,这里面下载的小电影,居然会自己隐藏掉,丝毫不会出现在相处中!太酷了
  • 而且这个软件名字不带有浏览器这三个字,所以可以不用开无痕
  • ok,我就提示折磨多,剩下的你们自己体验吧!

茗结

下载自己试试吧!

七彩云 夸克 123

导入我的小程序合集:

使用方法:复制到剪贴板之后打开海阔天空即可!

ming.json

点击小程序右边的几天竖线,之后选择网络倒入

倒入链接为:

1
https://mingcy.cn/2025/01/15/hksj/ming.json

后者本地导入:

复制到任意处,文件名称为***.json

1
[{"firstHeader":"class","last_chapter_rule":"","title":"我的主页","author":"@LoyDgIk","version":56,"type":"other","url":"hiker://empty","col_type":"icon_small_4","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\neval(fetch(\"hiker://assets/home.js\"));\n\nvar _urgent=false;\nsetResult(HikerHome.load(\"main\",_urgent));","searchFind":"","search_url":"","titleColor":"","group":"##电影","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"","pages":"[]","proxy":"","icon":""},{"last_chapter_rule":"","title":"白嫖者    ","author":"道长","version":1,"type":"other","url":"hiker://empty","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\n/** 无需下载APP,点返回即可。*/\nsetResult([{\n    col_type: \"x5_webview_single\",\n    url: \"www.bpzhe.com\",\n    desc: \"float&&100%\",\n    extra: {\n        canBack: true\n    }\n}])","searchFind":"","search_url":"","group":"##电影","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"pc","preRule":"","pages":"[]","proxy":"","icon":""},{"last_chapter_rule":"","title":"电影小镇","author":"zhao","version":1,"type":"video","url":"http://www.du88.cc/list/fyclass_fypage.htmlfysort","col_type":"movie_3","class_name":"电影&电视剧&动漫&综艺","class_url":"1&2&3&4","area_name":"","area_url":"","sort_name":"按时间&按人气","year_name":"","sort_url":"?order=time&?order=hit","year_url":"","find_rule":"js:\nvar d = [];\n\nif (MY_PAGE == 1) {\n    d.push({\n        desc: \"搜你想要的...\",\n        title: \"🔍\",\n        url: \"'hiker://search?rule=\" + MY_RULE.title + \"&s='+input\",\n        col_type: \"input\",\n    });\n}\n\ntry{\n    \nvar list = pdfa(getResCode(), 'body&&.stui-vodlist__thumb');\n\nfor (var j in list) {\n    \n  d.push({\n       title: pdfh(list[j], 'a&&title'),\n       desc: pdfh(list[j], '.pic-text&&Text'),\n       pic_url: pd(list[j], 'a&&data-original')+'@Referer=',\n       url: pd(list[j],'a&&href')+\"#immersiveTheme#\"\n  });\n  \n}}catch(e){}\n\nsetHomeResult(d);","searchFind":"js:\nvar d = [];\nvar html = fetch('http://www.du88.cc/search.php',{\n    headers: {\n        'Host': 'www.du88.cc',\n        'Connection': 'keep-alive',\n        'Content-Length': '29',\n        'Cache-Control': 'max-age=0',\n        'Upgrade-Insecure-Requests': '1',\n        'Origin': 'http://www.du88.cc',\n        'Content-Type': 'application/x-www-form-urlencoded',\n        'User-Agent': 'Mozilla/5.0 (Linux; Android 12; 22021211RC Build/SKQ1.211006.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/99.0.4844.88 Mobile Safari/537.36',\n        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',\n        'X-Requested-With': 'com.example.hikerview',\n        'Referer': 'http://www.du88.cc/search.php',\n        //'Accept-Encoding': 'gzip, deflate',\n        'Accept-Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',\n        'Cookie': 'Hm_lvt_1eabfb92210b9cb64382409b0ba63b51=1725437057; HMACCOUNT=76FE19E3BF2CCF04; _ga=GA1.1.362136854.1725437057; _ga_62FZQRKWKM=GS1.1.1725437057.1.1.1725439196.0.0.0; Hm_lpvt_1eabfb92210b9cb64382409b0ba63b51=1725439196'\n    },\n    body: 'searchword='+MY_KEYWORD,\n    method: 'POST'\n}); //log(html)\nvar list = pdfa(html, '.stui-vodlist__media&&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       pic_url: pd(list[j], 'a&&data-original')+'@Referer=',\n       url: 'http://www.du88.cc'+pdfh(list[j],'a&&href')+\"#immersiveTheme#\"\n  });\n}\n\nsetResult(d);","search_url":"hiker://empty##**","group":"##电影","detail_col_type":"movie_1","detail_find_rule":"js:\nvar d = [];\nvar html = getResCode();\n\nvar lazy = $('').lazyRule(() => {\n       var html = pdfh(request(input),'#playbox&&iframe&&src'); //log(html)\n       if(/type=mp4/.test(html)){\n       var html2 = request(html).split('var vid=\"')[1].split('\"')[0]; //log(html2)\n       return html2 + '#isVideo=true#'\n       }\n       if(/type=vwnet|type=zhizhu/.test(html)){\n       var html2 = request(html).split('var mp4url=\"')[1].split('\"')[0]; //log(html2)\n       return html2 + '#isVideo=true#'\n       }\n       if(/type=ffm3u8|type=lzm3u8/.test(html)){\n       var html2 = request(html).match(/\\(\"(http.*m3u8)\"\\)/)[1]; //log(html2)\n       return html2 + '#isVideo=true#'\n       }\n       else{\n           return 'video://' + input\n       }\n})\n\n//线路名列表的定位\nvar arts = parseDomForArray(html, '.nav&&a');\n\n//线路名列表名称的定位\nvar tabs = [];\nfor (var i in arts) {\n    tabs.push(parseDomForHtml(arts[i], 'Text'))\n}\n\n//播放列表的列表的定位\nvar conts = parseDomForArray(html, 'body&&.stui-content__playlist');\nvar lists = [];\nfor (var i in conts) {\n    lists.push(parseDomForArray(conts[i], 'body&&a'))\n}\n\nvar 分类 = parseDomForHtml(html, 'p,2&&Text');\n\nvar 主演 = parseDomForHtml(html, 'p,1&&Text');\n\nvar 导演 = parseDomForHtml(html, 'p,0&&Text');\n\nvar 更新 = parseDomForHtml(html, 'p,3&&Text');\n\nvar 图片 = parseDom(html, '.lazyload&&data-original');\n\nvar 简介 = parseDomForHtml(html, 'p,4&&Text').replace('简介:','').replace('详情','');\n\nvar Color = \"#f13b66a\";\nvar Color1 = \"#098AC1\";\nfunction getHead(title) {\n    return '‘‘’’<strong><font color=\"' + Color + '\">' + title + '</front></strong>';\n}\nlet line_model = 8;\nlet line_type_model = 'blank_block';\nd.push({\n    title: 分类 + '\\n' + 主演,\n    desc: 导演 + '\\n' + 更新,\n    pic_url: 图片,\n    url:MY_URL,\n    col_type: 'movie_1_vertical_pic_blur',\n    extra:{gradient: true}\n});\nd.push({\n    title: '‘‘’’<small><font color=\"#ff148e8e\">简介:' + 简介.substr(0, 55) + '...</font><small><font color=\"red\">详情</font></small></small>',\n    url: 'hiker://empty#' + '\\n' + 简介 + `@rule=js:var res = {}; var d = [];d.push({title:'影片简介:'+ MY_URL.split('hiker://empty#')[1],col_type: 'long_text'});res.data = d; setHomeResult(res);`,\n    col_type: 'text_1'\n});\n\n\nfor (let i = 0; i < line_model; i++) {\n    d.push({\n        col_type: line_type_model\n    })\n}\nfunction setTabs(tabs, vari) {\n    d.push({\n        title: (getVar('shsort') == '1') ? '““””<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 ? '““' + tabs[i] + '””' : tabs[i],\n            url: url,\n            col_type: 'flex_button'\n        })\n    }\n}\n\nfunction setLists(lists, index) {    \n    var list = lists[index];\n    if (getVar('shsort') == '1') {\n        var list = lists[index].reverse();\n    }\n    for (var j in list) {\n        d.push({\n            title: pdfh(list[j], 'a&&Text')\n                .replace(/第(\\d+)集/, '$1')\n                .replace('第', '')\n                .replace('期', ''),\n            url: pd(list[j], 'a&&href') + '#' + tabs[index] + lazy,\n            col_type: list.length > 3 ? 'text_4' : 'text_2'\n        });\n    }\n}\n\nsetTabs(tabs, MY_URL);\nsetLists(lists, getVar(MY_URL, '0'));\nsetResult(d);","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[]","proxy":"","icon":"http://www.du88.cc/static/favicon.ico"},{"last_chapter_rule":"","title":"风影","author":"随风","version":250112,"type":"all","url":"hiker://empty##fypage","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\n require(config.依赖);\n sy()","searchFind":"js:\n require(config.依赖);\n sou()","search_url":"hiker://empty##**","group":"##电影","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"evalPrivateJS(\"4HZ1CIMyDyI0+jupULCGJHyWYYzvKtO330rSUec7w5nOD5b2yLQimLiPU9VsFPHOtBvtKhidep2amhsQAs81OnMWRvF8JyIfzrON5T7cODtnk5uWPS5tyM35Ld0E7lbfMb3q7z7vW4LGAMT21D3mZqMoh+ijB2/qKL4LfQFUI7FdpIsoIPRuptfRm7gXKzcjCvKf5ODLCPt8rwxTJGXMLRLHxAAtRu8mQMC8hc9ZJwHzMMewV/403xYVfTLyakTUFNn2VqmpEhuWIlcOAa4H2AWegHmFyGA/spd7O1DOthTQNPReDH8vyARVOJy/kvpXAxWlHgVdPLf5We2uh4Fn0tMI7aWzJtcycFrDeai5QJbB2ssWV+2gGIRnLUSlMhBl4wMg9dGMas48LfMHsMIcrAJ4lwkvlwq0pSYlnffLyI4ElfzfCMJLiY3xbaY3lAzQ/5r1L6D6ZL5Yk0YqN+7/fTOC+y7utAVrUwGP+TOPLyFf2wlRmYsrkeyIwNFx5+otxdZHL5nsogTkP74HfVytKpPLF6V65O3MIk72Qp9j+nRore4JTUbndpZeBTyutzFmxeu6HDPDPFV0ldqCfk9DRy7UXbKQyxE1x8SJAfiz2AHpYMbZEjgas6cpDcCXyosCEIB/ozU62Ll63RvVlmX75YW0ILvGfUHN4HpxUyjnmeBJl3cR0gHJp4iTbwG0ghqT/5Fo+I81hpO2V5lobGCZ8uAy98kTNaJg6SqA2sSQwVOWEaJq0S5PEJdonSpVkz7zCvTT1fvMVHCAKPjWI84kyOWunttZ5v+MyyiTcLk4qTfD7CDkKbmACZWWSonZbrzYmGPt1X4rj4E/QUx0r3GUcPM0sHpRG5MUxe2rrbRI1URlBXEE1pM5vgjDHa9lThiFIXCj0kXKsVpCc7T2pKdHfgSTMH117bZZRpYdft6M2ZSGddwn4dmrC8aKNZAz0+ut64VcZQhB85QM1C9PkW2GIk5FP1oeptHiqE/RhFaCk5uKjetuLMxg5yZ/v3VCLR+L8Nq4aTVb9F2nKWdwMxWEHqcZv4o8UkllGQU+BNmo2b4sRYebCuZvun7idQeq8ReNJBaNQrA3DL7veD3QCGyolA==\")","pages":"[{\"col_type\":\"movie_3\",\"name\":\"导入口令\",\"path\":\"import\",\"rule\":\"evalPrivateJS(\\\"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\\\");\"},{\"col_type\":\"movie_3\",\"name\":\"导入确认\",\"path\":\"cfm\",\"rule\":\"js:\\nevalPrivateJS(\\\"/4EyZYvnWZvi2JiRLnfAnxocZQYtLtyFLY3q5zEWcE6+fbmwcHM9zG58WxQq3O82fbLaOKqa36YA0mYxJ6dqDv6cby05YOnSqqF9i+z4jas6oZ6GyfgwtQwV3oBwq/ZtuFXQc/2OmCBJGojWRl/vrg==\\\");\"}]","proxy":"","icon":"https://s1.ax1x.com/2022/10/15/xwTPdU.jpg"},{"firstHeader":"class","last_chapter_rule":"","title":"小程序仓库🎱","author":"ᵀᵒᵒ","version":4,"type":"other","url":"https://pastebin.com/u/xiaomianao666/fypage","col_type":"text_4","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\nif(MY_PAGE==1){\n  let SY = pdfa(getResCode(), \".details&&.info-bar\");\nfor (let it of SY) {\n   d.push({\n        title: '‘‘’’<b><big><font color=\"#342a2b\">' + pdfh(it, \"h1&&Text\") + '</font></big></b>',\n        desc: '‘‘’’<small><font color=\"#bbbdb5\">views:' + pdfh(it, \"span&&Text\") + '</font></small>',\n        url: 'https://pastebin.com/u/xiaomianao666',\n        col_type: \"text_1\",extra: {lineVisible: false}\n    },{\n        col_type: \"line_blank\"\n    });\n  }\n}\nlet arr = pdfa(getResCode(), \"tbody&&tr\");\nfor (let it of arr) {\n    d.push({\n        title: '‘‘’’<b><font color=\"#535c30\">' + pdfh(it, \"a&&Text\") + '</font></b>',\n        url: $(pd(it, \"a&&href\").replace(\"https://pastebin.com/\",\"https://pastebin.com/raw/\")).lazyRule(() => {\n            //使用动态解析点击时获取图片列表\n            let html = request(input);\n            let arr = pdfa(html, \"body\");\n            return arr.map(it => {\n                return pdfh(it, \"body&&Text\");\n            }).join(\"&&\")\n        }),\n        col_type: \"text_center_1\",\n        \n    });\n}\nsetResult(d);","searchFind":"","search_url":"","group":"①推荐","detail_col_type":"text_3","detail_find_rule":"","sdetail_col_type":"text_3","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[]","proxy":"","icon":"https://ghproxy.com/https://raw.githubusercontent.com/ls125781003/lmtubiao/main/grey/40.png"},{"last_chapter_rule":"","title":"吾爱破解","author":"","version":2,"type":"news","url":"hiker://empty##https://www.52pojie.cn/forum.php?mod=guide&view=hot&page=1","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nlet ad = JSON.parse(fetch(\"hiker://page/ad\")).rule;\nad = ad.split(\"¥\")[2];\nlet blockRules = ad.split(\"&&\");\nlet url = 'https://www.52pojie.cn/forum.php?mod=guide&view=hot&page=1';\nlet ite = $.require(\"hiker://page/u\")(MY_RULE.title, url);\nsetResult([{\n    col_type: \"x5_webview_single\",\n    url: url,\n    desc: \"float&&100%\",\n    extra: {\n        urlInterceptor: ite,\n        canBack: true,\n        blockRules: blockRules,\n        //floatVideo: true\n    }\n}])","searchFind":"","search_url":"","group":"①推荐","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"广告拦截\",\"path\":\"ad\",\"rule\":\"海阔视界规则分享,当前分享的是:广告网址拦截¥ad_url_rule¥/ad/&&.GIF&&/sh/to/\"},{\"col_type\":\"movie_3\",\"name\":\"ysfx\",\"path\":\"ysfx\",\"rule\":\"js:\\nvar d = [];\\nlet rule = getParam(\\\"r\\\").split(\\\"##\\\")[0];\\nlet url = MY_URL.split(\\\"##\\\")[1];\\nlet ite = $.require(\\\"hiker://page/u\\\")(rule, getHome(url));\\nlet js = $.toString(() => {\\n    try {\\n        if (document.title && document.title.length) {\\n            let r = $$$().lazyRule((t) => {\\n                setPageTitle(t);\\n            }, document.title);\\n            fy_bridge_app.parseLazyRule(r);\\n        }\\n    } catch (e) {\\n        fy_bridge_app.log(e.toString());\\n    }\\n});\\nlet ad = JSON.parse(fetch(\\\"hiker://page/ad\\\")).rule;\\nad = ad.split(\\\"¥\\\")[2];\\nlet blockRules = ad.split(\\\"&&\\\");\\nlog(blockRules);\\nd.push({\\n    title: \\\"\\\",\\n    url: url,\\n    col_type: \\\"x5_webview_single\\\",\\n    desc: \\\"100%&&float\\\",\\n    pic_url: \\\"\\\",\\n    extra: {\\n        urlInterceptor: ite,\\n        js: js,\\n        canBack: true,\\n        jsLoadingInject: true,\\n        //floatVideo: true,\\n        blockRules: blockRules\\n    }\\n});\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"u\",\"path\":\"u\",\"rule\":\"$.exports = function(rule, origin) {\\n    return $.toString((rule, origin) => {\\n        let host = origin.replace(new RegExp(\\\"http://|https://\\\"), \\\"\\\").split(\\\"/\\\")[0];\\n        let hosts = host.split(\\\".\\\");\\n        if (hosts.length > 2) {\\n            host = hosts[hosts.length - 2] + \\\".\\\" + hosts[hosts.length - 1];\\n        }\\n        if (input.startsWith(\\\"magnet\\\")) {\\n            confirm({\\n                title: \\\"温馨提示\\\",\\n                content: \\\"检测到新的磁链地址,点击确定按钮即可播放,点击取消按钮可以复制链接\\\",\\n                confirm: $.toString((mag) => {\\n                    return mag;\\n                }, input),\\n                cancel: $.toString((mag) => {\\n                    return \\\"copy://\\\" + mag\\n                }, input)\\n            })\\n            return true;\\n        } else if ((!input.includes(host) && input.startsWith(\\\"http\\\")) || input.includes(\\\"/play\\\") || (input.includes(\\\"/thread-\\\") && !origin.includes(\\\"/thread-\\\"))) {\\n            log(input);\\n            return $.toString((url, rule) => {\\n                //跳网页\\n                fy_bridge_app.open(JSON.stringify({\\n                    title: \\\"详情\\\",\\n                    url: \\\"hiker://page/ysfx?rule=\\\" + rule + \\\"&r=\\\" + rule + \\\"##\\\" + url,\\n                }))\\n            }, input, rule);\\n        } else if (!input.startsWith(\\\"http\\\")) {\\n            log(input);\\n            //能唤起APP的白名单\\n            let white = [\\n                \\\"qklink\\\",\\n                \\\"bdnetdisk\\\",\\n                \\\"xunleiapp\\\"\\n            ];\\n            let inWhite = white.filter(it => input.startsWith(it)).length > 0;\\n            if (!inWhite) {\\n                return false;\\n            }\\n            return $.toString((url, rule) => {\\n                fy_bridge_app.openThirdApp && fy_bridge_app.openThirdApp(url);\\n            }, input, rule)\\n        } else {\\n\\n        }\\n    }, rule, origin);\\n}\"}]","proxy":"","icon":"https://www.52pojie.cn/favicon.ico"},{"last_chapter_rule":"","title":"ACG17","author":"小棉袄🌞","version":13,"type":"tool","url":"hiker://empty","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar 网站 = 'https://so.acg17.cc/index.php';\neval(JSON.parse(fetch('hiker://page/home')).rule)","searchFind":"","search_url":"","group":"①网盘","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"ysfx\",\"path\":\"ysfx\",\"rule\":\"js:\\nvar d = [];\\nlet rule = getParam(\\\"r\\\").split(\\\"##\\\")[0];\\nlet url = MY_URL.split(\\\"##\\\")[1];\\nlet ad = \\\"/ad/,/ads/,google,/upload/*.jpg,ax1x.com\\\".split(\\\",\\\");\\nlet ite = $.require(\\\"hiker://page/u\\\")(rule, getHome(url));\\nlet js = $.toString(() => {\\n    try {\\n        if (document.title && document.title.length) {\\n            let r = $$$().lazyRule((t) => {\\n                setPageTitle(t);\\n            }, document.title);\\n            fy_bridge_app.parseLazyRule(r);\\n        }\\n    } catch (e) {\\n        fy_bridge_app.log(e.toString());\\n    }\\n});\\njs = js + \\\"\\\\n\\\" + JSON.parse(fetch(\\\"hiker://page/js\\\")).rule;\\nd.push({\\n    title: \\\"\\\",\\n    url: url,\\n    col_type: \\\"x5_webview_single\\\",\\n    desc: \\\"100%&&float\\\",\\n    pic_url: \\\"\\\",\\n    extra: {\\n        urlInterceptor: ite,\\n        js: js,\\n        canBack: true,\\n        jsLoadingInject: true,\\n        floatVideo: false,\\n        blockRules: ad\\n    }\\n});\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"u\",\"path\":\"u\",\"rule\":\"$.exports = function(rule, origin) {\\n    return $.toString((rule, origin) => {\\n        let host = origin.replace(new RegExp(\\\"http://|https://\\\"), \\\"\\\").split(\\\"/\\\")[0];\\n        let hosts = host.split(\\\".\\\");\\n        if (hosts.length > 2) {\\n            host = hosts[hosts.length - 2] + \\\".\\\" + hosts[hosts.length - 1];\\n        }\\n        if (input.startsWith(\\\"magnet\\\")) {\\n            confirm({\\n                title: \\\"温馨提示\\\",\\n                content: \\\"检测到新的磁链地址,点击确定按钮即可播放,点击取消按钮可以复制链接\\\",\\n                confirm: $.toString((mag) => {\\n                    return mag;\\n                }, input),\\n                cancel: $.toString((mag) => {\\n                    return \\\"copy://\\\" + mag\\n                }, input)\\n            })\\n            return true;\\n        } else if (!input.startsWith(\\\"http\\\")) {\\n            log(input);\\n            //能唤起APP的白名单\\n            let white = [\\n                \\\"qklink\\\",\\n                \\\"bdnetdisk\\\",\\n                \\\"xunleiapp\\\",\\n                \\\"smartdrive\\\"\\n            ];\\n            let inWhite = white.filter(it => input.startsWith(it)).length > 0;\\n            if (!inWhite) {\\n                return false;\\n            }\\n            return $.toString((url, rule) => {\\n                fy_bridge_app.openThirdApp && fy_bridge_app.openThirdApp(url);\\n            }, input, rule)\\n        } else if (input.includes(\\\"aliyundrive.com/\\\") || input.includes(\\\"aliyundrive.net/\\\") || input.includes(\\\"alipan.com/\\\")) {\\n            if (fetch(\\\"hiker://home@\\\\u4e91\\\\u76d8\\\\u541b.\\\\u7b80\\\").length < 15) {\\n                return false;\\n            }\\n            return $.toString((url, rule) => {\\n                fy_bridge_app.open(JSON.stringify({\\n                    title: \\\"阿里云盘\\\",\\n                    url: \\\"hiker://page/aliyun?page=fypage&realurl=\\\" + encodeURIComponent(url) + \\\"&rule=\\\\u4e91\\\\u76d8\\\\u541b.\\\\u7b80\\\",\\n                }))\\n            }, input, rule);\\n        } else if (input.includes(\\\"quark.cn\\\") && fetch(\\\"hiker://home@Quark.简\\\").length > 15) {\\n            return $.toString((url, rule) => {\\n                fy_bridge_app.open(JSON.stringify({\\n                    title: \\\"夸克网盘\\\",\\n                    url: \\\"hiker://page/quarkList?realurl=\\\" + encodeURIComponent(url) + \\\"&rule=Quark.简&sharePwd=\\\",\\n                }))\\n            }, input, rule);\\n        } else {\\n            let white = [\\n                \\\"url=\\\",\\n                \\\"fsou.com\\\",\\n                \\\"bing.\\\",\\n                \\\"acg17.\\\"\\n            ];\\n            let inWhite = white.filter(it => input.includes(it)).length > 0;\\n            if (inWhite) {\\n                return false;\\n            }\\n            let reg = new RegExp(\\\"[\\\\u4e00-\\\\u9fa5]+\\\", \\\"g\\\");\\n            let r = decodeURIComponent(input);\\n            if (reg.test(r) || (input.startsWith(origin) && input.length - origin.length > 2)) {\\n                //有中文,应该是在搜索,跳新页面\\n                return $.toString((url, rule) => {\\n                    fy_bridge_app.open(JSON.stringify({\\n                        title: \\\"详情\\\",\\n                        url: \\\"hiker://page/ysfx?rule=\\\" + rule + \\\"&r=\\\" + rule + \\\"##\\\" + url,\\n                    }));\\n                }, input, rule);\\n            }\\n        }\\n    }, rule, origin);\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"首页\",\"path\":\"home\",\"rule\":\"var d = [];\\nlet url = 网站;\\nlet ad = \\\"/ad/,/ads/,google,/upload/*.jpg,ax1x.com\\\".split(\\\",\\\");\\nlet ite = $.require(\\\"hiker://page/u\\\")(MY_RULE.title, getHome(url));\\nlet js = JSON.parse(fetch(\\\"hiker://page/js\\\")).rule;\\nd.push({\\n    title: \\\"\\\",\\n    url: url,\\n    col_type: \\\"x5_webview_single\\\",\\n    desc: \\\"100%&&float\\\",\\n    pic_url: \\\"\\\",\\n    extra: {\\n        urlInterceptor: ite,\\n        canBack: true,\\n        floatVideo: false,\\n        js: js,\\n        jsLoadingInject: true,\\n        blockRules: ad\\n    }\\n});\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"js\",\"path\":\"js\",\"rule\":\"try {\\n    /**let alert00 = alert;\\n    alert = function(t){\\n        if(t.includes(\\\"右键菜单\\\")){\\n            \\n        } else {\\n            return alert00(t);\\n        }\\n    }*/\\n    //const reg = /magnet:\\\\?xt=urn:btih:\\\\w{10,}([-a-zA-Z0-9()@:%_\\\\+.~#?&//=]*)/;\\n    const reg = /https?:\\\\/\\\\/www.ali(pan|yundrive).com\\\\/s\\\\/[a-zA-Z0-9]{11}(\\\\/folder\\\\/[a-z0-9]{40})?/;\\n    //const reg = /https?:\\\\/\\\\/www.ali(pan|yundrive).com\\\\/s\\\\/[a-zA-Z0-9]{11}(\\\\/folder\\\\/[a-z0-9]{40})?/g;\\n    //let reg = /www.ali(pan|yundrive).com\\\\/s\\\\//;\\n\\n\\n    let l = navigator.language || \\\"en\\\";\\n    if (l.startsWith(\\\"en-\\\")) l = \\\"en\\\";\\n    else if (l.startsWith(\\\"zh-\\\")) l = \\\"zh-CN\\\";\\n    else l = \\\"en\\\";\\n\\n    const T = {\\n        \\\"en\\\": {\\n            play: \\\"Play\\\"\\n        },\\n        \\\"zh-CN\\\": {\\n            play: '直接播'\\n        }\\n    }[l];\\n\\n    whenDOMReady(() => {\\n        addStyle(`\\n            button[data-wtmzjk-mag-url]{\\n                all: initial;\\n                border: none;\\n                outline: none;\\n                background: none;\\n                background: #f7d308;\\n                background: #08a6f7;\\n                margin: 2px 8px;\\n                border-radius: 3px;\\n                color: white;\\n                cursor: pointer;\\n                display: inline-flex;\\n                height: 1.6em;\\n                padding: 0 .8em;\\n                align-items: center;\\n                justify-content: center;\\n                transition: background .15s;\\n                text-decoration: none;\\n            }\\n            button[data-wtmzjk-mag-url]>svg{\\n                height: 60%;\\n                fill: white;\\n                pointer-events: none;\\n            }\\n            button[data-wtmzjk-mag-url]:hover{\\n                background: #fae157;\\n                background: #39b9f9;\\n            }\\n            button[data-wtmzjk-mag-url]:active{\\n                background: #dfbe07;\\n                background: #0797df;\\n            }\\n            button[data-wtmzjk-mag-url]>span{\\n                pointer-events: none;\\n                font-size: small;margin-right: .5em;font-weight:bold;color:white !important;\\n            }\\n        `);\\n        window.addEventListener(\\\"click\\\", onEvents, true);\\n        window.addEventListener(\\\"mousedown\\\", onEvents, true);\\n        window.addEventListener(\\\"mouseup\\\", onEvents, true);\\n\\n        watchBodyChange(work);\\n    });\\n\\n    function onEvents(e) {\\n        if (e.target.hasAttribute('data-wtmzjk-mag-url')) {\\n            e.preventDefault();\\n            e.stopPropagation();\\n            if (e.type == \\\"click\\\") {\\n                window.open(e.target.getAttribute('data-wtmzjk-mag-url'));\\n            }\\n        }\\n    }\\n\\n\\n\\n    function createWatchButton(url, isForPlain = false) {\\n        let button = document.createElement(\\\"button\\\");\\n        button.setAttribute('data-wtmzjk-mag-url', url);\\n        if (isForPlain) button.setAttribute('data-wtmzjk-button-for-plain', '');\\n        button.innerHTML = `<span>${T.play}</span><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 384 512\\\"><!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d=\\\"M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80V432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z\\\"/></svg>`;\\n        return button;\\n    }\\n\\n    function hasPlainMagUrlThatNotHandled() {\\n        let m = document.body.textContent.match(new RegExp(reg, 'g'));\\n        return document.querySelectorAll(`[data-wtmzjk-button-for-plain]`).length != (m ? m.length : 0);\\n    }\\n\\n    function work() {\\n        console.log('work');\\n        if (!document.body) return;\\n        if (hasPlainMagUrlThatNotHandled()) {\\n            console.log(\\\"hasPlainMagUrlThatNotHandled\\\");\\n            for (let node of getAllTextNodes(document.body)) {\\n                if (node.nextSibling && node.nextSibling.hasAttribute && node.nextSibling.hasAttribute('data-wtmzjk-mag-url')) continue;\\n                let text = node.nodeValue;\\n                if (!reg.test(text)) continue;\\n                let match = text.match(reg);\\n                if (match) {\\n                    let url = match[0];\\n                    let p = node.parentNode;\\n                    p.insertBefore(document.createTextNode(text.slice(0, match.index + url.length)), node);\\n                    p.insertBefore(createWatchButton(url, true), node);\\n                    p.insertBefore(document.createTextNode(text.slice(match.index + url.length)), node);\\n                    p.removeChild(node);\\n                }\\n            }\\n        }\\n        for (let a of Array.from(document.querySelectorAll(\\n                ['href', 'value', 'data-clipboard-text', 'data-value', 'title', 'alt', 'data-url', 'data-magnet', 'data-copy'].map(n => `[${n}*=\\\"magnet:?xt=urn:btih:\\\"]`).join(',')\\n            ))) {\\n            if (a.nextSibling && a.nextSibling.hasAttribute && a.nextSibling.hasAttribute('data-wtmzjk-mag-url')) continue; // 已经添加\\n            if (reg.test(a.textContent)) continue;\\n            for (let attr of a.getAttributeNames()) {\\n                let val = a.getAttribute(attr);\\n                if (!reg.test(val)) continue;\\n                let url = val.match(reg)[0];\\n                a.parentNode.insertBefore(createWatchButton(url), a.nextSibling);\\n            }\\n        }\\n    }\\n\\n\\n    function watchBodyChange(onchange) {\\n        var timeout;\\n        let observer = new MutationObserver(() => {\\n            if (!timeout) {\\n                timeout = setTimeout(() => {\\n                    onchange();\\n                    timeout = null;\\n                }, 500);\\n            }\\n        });\\n        observer.observe(document.documentElement, {\\n            childList: true,\\n            subtree: true,\\n            attributes: true,\\n            characterData: true\\n        });\\n    }\\n\\n    function getAllTextNodes(parent) {\\n        var re = [];\\n        if ([\\\"STYLE\\\", \\\"SCRIPT\\\", \\\"BASE\\\", \\\"COMMAND\\\", \\\"LINK\\\", \\\"META\\\", \\\"TITLE\\\", \\\"XTRANS-TXT\\\", \\\"XTRANS-TXT-GROUP\\\", \\\"XTRANS-POPUP\\\"].includes(parent.tagName)) return re;\\n        for (let node of parent.childNodes) {\\n            if (node.childNodes.length) re = re.concat(getAllTextNodes(node));\\n            else if (Text.prototype.isPrototypeOf(node) && (!node.nodeValue.match(/^\\\\s*$/))) re.push(node);\\n        }\\n        return re;\\n    }\\n\\n    function whenDOMReady(f) {\\n        if (document.body) f();\\n        else window.addEventListener(\\\"DOMContentLoaded\\\", f);\\n    }\\n\\n    function addStyle(s) {\\n        let style = document.createElement(\\\"style\\\");\\n        style.innerHTML = s;\\n        document.documentElement.appendChild(style);\\n    }\\n} catch (e) {\\n    fy_bridge_app.log(e.toString());\\n}\"}]","proxy":"","icon":""},{"last_chapter_rule":"","title":"网盘大全","author":"小棉袄🌞","version":11,"type":"tool","url":"hiker://empty","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar 网站 = 'https://www.pansou.vip/';\neval(JSON.parse(fetch('hiker://page/home')).rule)","searchFind":"","search_url":"","group":"①网盘","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"ysfx\",\"path\":\"ysfx\",\"rule\":\"js:\\nvar d = [];\\nlet rule = getParam(\\\"r\\\").split(\\\"##\\\")[0];\\nlet url = MY_URL.split(\\\"##\\\")[1];\\nlet ad = \\\"/ad/,/ads/,google,baidu\\\".split(\\\",\\\");\\nlet ite = $.require(\\\"hiker://page/u\\\")(rule, getHome(url));\\nlet js = $.toString(() => {\\n    try {\\n        if (document.title && document.title.length) {\\n            let r = $$$().lazyRule((t) => {\\n                setPageTitle(t);\\n            }, document.title);\\n            fy_bridge_app.parseLazyRule(r);\\n        }\\n    } catch (e) {\\n        fy_bridge_app.log(e.toString());\\n    }\\n});\\nd.push({\\n    title: \\\"\\\",\\n    url: url,\\n    col_type: \\\"x5_webview_single\\\",\\n    desc: \\\"100%&&float\\\",\\n    pic_url: \\\"\\\",\\n    extra: {\\n        urlInterceptor: ite,\\n        js: js,\\n        canBack: true,\\n        jsLoadingInject: true,\\n        floatVideo: true,\\n        blockRules: ad\\n    }\\n});\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"u\",\"path\":\"u\",\"rule\":\"$.exports = function(rule, origin) {\\n    return $.toString((rule, origin) => {\\n        let host = origin.replace(new RegExp(\\\"http://|https://\\\"), \\\"\\\").split(\\\"/\\\")[0];\\n        let hosts = host.split(\\\".\\\");\\n        if (hosts.length > 2) {\\n            host = hosts[hosts.length - 2] + \\\".\\\" + hosts[hosts.length - 1];\\n        }\\n        if (input.startsWith(\\\"magnet\\\")) {\\n            confirm({\\n                title: \\\"温馨提示\\\",\\n                content: \\\"检测到新的磁链地址,点击确定按钮即可播放,点击取消按钮可以复制链接\\\",\\n                confirm: $.toString((mag) => {\\n                    return mag;\\n                }, input),\\n                cancel: $.toString((mag) => {\\n                    return \\\"copy://\\\" + mag\\n                }, input)\\n            })\\n            return true;\\n        } else if (!input.startsWith(\\\"http\\\")) {\\n            log(input);\\n            //能唤起APP的白名单\\n            let white = [\\n                \\\"qklink\\\",\\n                \\\"bdnetdisk\\\",\\n                \\\"xunleiapp\\\",\\n                \\\"smartdrive\\\"\\n            ];\\n            let inWhite = white.filter(it => input.startsWith(it)).length > 0;\\n            if (!inWhite) {\\n                return false;\\n            }\\n            return $.toString((url, rule) => {\\n                fy_bridge_app.openThirdApp && fy_bridge_app.openThirdApp(url);\\n            }, input, rule)\\n        } else if (input.includes(\\\"aliyundrive.com/\\\") || input.includes(\\\"aliyundrive.net/\\\") || input.includes(\\\"alipan.com/\\\")) {\\n            if (fetch(\\\"hiker://home@\\\\u4e91\\\\u76d8\\\\u541b.\\\\u7b80\\\").length < 15) {\\n                return false;\\n            }\\n            return $.toString((url, rule) => {\\n                fy_bridge_app.open(JSON.stringify({\\n                    title: \\\"阿里云盘\\\",\\n                    url: \\\"hiker://page/aliyun?page=fypage&realurl=\\\" + encodeURIComponent(url) + \\\"&rule=\\\\u4e91\\\\u76d8\\\\u541b.\\\\u7b80\\\",\\n                }))\\n            }, input, rule);\\n        } else if (input.includes(\\\"quark.cn\\\") && fetch(\\\"hiker://home@Quark.简\\\").length > 15) {\\n            return $.toString((url, rule) => {\\n                fy_bridge_app.open(JSON.stringify({\\n                    title: \\\"夸克网盘\\\",\\n                    url: \\\"hiker://page/quarkList?realurl=\\\" + encodeURIComponent(url) + \\\"&rule=Quark.简&sharePwd=\\\",\\n                }))\\n            }, input, rule);\\n        } else {\\n            let white = [\\n                \\\"url=\\\",\\n                \\\"fsou.com\\\",\\n                \\\"bing.\\\",\\n            ];\\n            let inWhite = white.filter(it => input.includes(it)).length > 0;\\n            if (inWhite) {\\n                return false;\\n            }\\n            let reg = new RegExp(\\\"[\\\\u4e00-\\\\u9fa5]+\\\", \\\"g\\\");\\n            let r = decodeURIComponent(input);\\n            if (reg.test(r) || (input.startsWith(origin) && input.length - origin.length > 2)) {\\n                //有中文,应该是在搜索,跳新页面\\n                return $.toString((url, rule) => {\\n                    fy_bridge_app.open(JSON.stringify({\\n                        title: \\\"详情\\\",\\n                        url: \\\"hiker://page/ysfx?rule=\\\" + rule + \\\"&r=\\\" + rule + \\\"##\\\" + url,\\n                    }));\\n                }, input, rule);\\n            }\\n        }\\n    }, rule, origin);\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"首页\",\"path\":\"home\",\"rule\":\"var d = [];\\nlet url = 网站;\\nlet ad = \\\"/ad/,/ads/,google,baidu\\\".split(\\\",\\\");\\nlet ite = $.require(\\\"hiker://page/u\\\")(MY_RULE.title, getHome(url));\\nd.push({\\n    title: \\\"\\\",\\n    url: url,\\n    col_type: \\\"x5_webview_single\\\",\\n    desc: \\\"100%&&float\\\",\\n    pic_url: \\\"\\\",\\n    extra: {\\n        urlInterceptor: ite,\\n        canBack: true,\\n        floatVideo: true,\\n        jsLoadingInject: true,\\n        blockRules: ad\\n    }\\n});\\nsetResult(d);\"}]","proxy":"","icon":""},{"last_chapter_rule":"","title":"云盘汇影","author":"MrFly","version":6,"type":"all","url":"hiker://empty$$$fypage","col_type":"text_1","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\neval(fetch('hiker://files/rules/icy/ali.js'));\nali.homePage();","searchFind":"js:\neval(fetch('hiker://files/rules/icy/ali.js'));\nali.searchPage(true);\n","search_url":"hiker://empty$$$**$$$fypage$$$","group":"①网盘","detail_col_type":"movie_1","detail_find_rule":"js:\neval(fetch('hiker://files/rules/icy/ali.js'));\nali.detailPage();","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"var alijs = fetch('https://gitee.com/fly1397/hiker-icy/raw/master/ali.js');\nif(!alijs || !alijs.includes('ali')){\n\talijs = fetch('https://cdn.jsdelivr.net/gh/fly1397/hiker-icy/ali.js')\n}\nif(!alijs || !alijs.includes('ali')){\n\talijs = fetch('http://lficy.com:30000/mrfly/hiker-icy/raw/master/ali.js')\n}\nif(alijs) {\n\twriteFile(\"hiker://files/rules/icy/ali.js\",alijs);\n\teval(alijs);\n\tali.preRule();\n}\n","pages":"[{\"col_type\":\"movie_3\",\"name\":\"网盘详情\",\"path\":\"detail\",\"rule\":\"js:\\neval(fetch('hiker://files/rules/icy/ali.js'));\\nali.initConfig();\\nali.aliRule();\"},{\"col_type\":\"movie_1_left_pic\",\"name\":\"资源网页详情\",\"path\":\"site-detail\",\"rule\":\"js:\\neval(fetch('hiker://files/rules/icy/ali.js'));\\nali.detailPage();\"},{\"col_type\":\"movie_3\",\"name\":\"个人网盘详情\",\"path\":\"drive\",\"rule\":\"js:\\neval(fetch('hiker://files/rules/icy/ali.js'));\\nali.initConfig();\\nali.myAliRule();\"}]","proxy":"","icon":"https://gitee.com/fly1397/hiker-icy/raw/master/aliyun.png"},{"last_chapter_rule":"","title":"吸瓜🥒聚合","author":"moyu","version":1,"type":"all","url":"hiker://empty##","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\nd.push({\n col_type: \"pic_1_full\",\n img: \"\"\n\n});\nd.push({\n        title: '',\n        url: $.toString((r) => {\n            putVar('keyword', input);\n            return 'hiker://search?rule=' + r + '&s=' + input;\n        }, MY_RULE.title),\n        desc: '摸鱼群专享今晚吃🐓…...',\n        col_type: 'input',\n        extra: {\n            defaultValue: getVar('keyword', '') || '',\n        }\n    });\nvar wz = JSON.parse(fetch('hiker://page/wzlist', {}));\nvar wzbt = JSON.parse(wz.rule);\nwzbt.forEach((item) => {\n d.push({\n col_type: 'icon_2_round',\n title: item.wname,\n img: 'http://pan.losfer.cn/down.php/89d117301ed9d0fdfbf8045101294705.jpg',\n url: 'hiker://page/fllist',\n extra: {\n url: item.wurl\n }\n });\n\n\n //toast(item.wname)\n});\nsetResult(d)","searchFind":"","search_url":"","group":"①群友精品福利","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"网站列表\",\"path\":\"wzlist\",\"rule\":\" [{\\n \\\"wname\\\":\\\"🍀草榴资源\\\",\\n \\\"wurl\\\":\\\"https://www.caoliuzyw.com/api.php/provide/vod\\\",\\n \\\"wjurl\\\":\\\"https://player.sewojx.com/m3u8/?url=\\\"\\n },\\n {\\n \\\"wname\\\":\\\"🌳森林资源\\\",\\n \\\"wurl\\\":\\\"https://beiyong.slapibf.com/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n {\\n \\\"wname\\\":\\\"🙈乐播资源\\\",\\n \\\"wurl\\\":\\\"https://lbapi9.com/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n {\\n \\\"wname\\\":\\\"🐤鸡坤资源\\\",\\n \\\"wurl\\\":\\\"https://jkunzyapi.com/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n\\\"wname\\\":\\\"🦃奥斯卡源\\\",\\n \\\"wurl\\\":\\\"https://aosikazy.com/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n\\\"wname\\\":\\\"🍇葡萄采集\\\",\\n \\\"wurl\\\":\\\"https://caiji.putaozyw.net/inc/apijson_vod.php\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"🐇玉兔资源\\\",\\n \\\"wurl\\\":\\\"https://apiyutu.com/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n\\\"wname\\\":\\\"😍色猫资源\\\",\\n \\\"wurl\\\":\\\"https://caiji.semaozy.net/inc/apijson_vod.php\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"🦆老鸭资源\\\",\\n \\\"wurl\\\":\\\"https://api.apilyzy.com/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"💃妖舞资源\\\",\\n \\\"wurl\\\":\\\"https://155api.com/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n\\\"wname\\\":\\\"😹猫咪资源\\\",\\n \\\"wurl\\\":\\\"https://api.maozyapi.com/inc/apijson_vod.php\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"🚕滴滴车源\\\",\\n \\\"wurl\\\":\\\"https://api.ddapi.cc/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },{\\n \\\"wname\\\":\\\"🎀丝袜资源\\\",\\n \\\"wurl\\\":\\\"https://www.siwazyw.tv/api.php/provide/vod/at/json\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"😻涩猫资源\\\",\\n \\\"wurl\\\":\\\"https://caiji.semaozy.net/inc/apijson_vod.php\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\\"wname\\\":\\\"😍七天成人\\\",\\\"wurl\\\":\\\"https://8day.icu/api.php/provide/vod/at/json\\\",\\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"},\\n{\\n\\\"wname\\\":\\\"🛩️探探资源\\\",\\n \\\"wurl\\\":\\\"https://apittzy.com/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n }\\n\\n]\"},{\"col_type\":\"movie_3\",\"name\":\"分类列表\",\"path\":\"fllist\",\"rule\":\"js:\\n//toast(MY_URL)\\n//读&ac=list,添加菜单和最新影片\\nvar dd = [];\\ndd.push({\\n    col_type: \\\"pic_1_full\\\",\\n    img: \\\"\\\"\\n\\n});\\n\\nvar listurl = MY_URL + '?ac=list';\\n\\nvar listhtml = request(listurl);\\n\\n//error(listhtml)\\nvar listobj = JSON.parse(listhtml);\\n\\nvar lc = listobj.class;\\n//toast(listclass[0].type_name)\\nvar myvar;\\n//dd.push({\\n//col_type: \\\"icon_1_search\\\",\\n//title: '共有' + listobj.total + '个影片',\\n//url: 'input://{\\\"value\\\":\\\"默认填充内容\\\", \\\"js\\\": //\\\"putMyVar(myvar,input)\\\", \\\"hint\\\": \\\"提示信息\\\"}'\\n//});\\n\\ndd.push({\\n    title: \\\"搜索\\\",\\n    url: $.toString(() => {\\n        var link = 'hiker://empty#noRecordHistory#$$$' +MY_URL+'?ac=videolist&wd='+ input + '&pg=fypage';\\n        //log(link);\\n        return $(link).rule(() => {\\n            $.require('hiker://page/sear');\\n        });\\n    }),\\n    extra: {\\n        onChange: \\\"putVar('xyqappystext',input)\\\",\\n        titleVisible: true\\n    },\\n    desc: \\\"请输入搜索关键词\\\",\\n    col_type: \\\"input\\\"\\n});\\n\\n\\n\\n\\n//var h='hiker://page/liebiao1#'+MY_URL + '?ac=videolist&pg=fypage&wd='\\n\\nlc.forEach((l) => {\\n    dd.push({\\n        col_type: \\\"text_2\\\",\\n        title: l.type_name,\\n        url: \\\"hiker://page/liebiao1\\\",\\n        extra: {\\n            url: MY_URL + '?ac=videolist&pg=fypage&t=' + l.type_id\\n        }\\n    });\\n});\\nsetResult(dd);\"},{\"col_type\":\"movie_3\",\"name\":\"列表页\",\"path\":\"liebiao1\",\"rule\":\"js:\\n//toast(MY_URL)\\n//读影片列表,形成封面墙\\nvar dd = [];\\n//var listurl = MY_URL + '?ac=list';\\n//页码替换词fypage要在上一页添加到链接中\\n//var listhtml = request(MY_URL+'&pg='+MY_PAGE);\\nvar listhtml=request(MY_URL);\\n//toast(MY_URL)\\n//error(listhtml)\\nvar listobj = JSON.parse(listhtml);\\n\\nvar ll = listobj.list;\\n//toast(listclass[0].type_name)\\nll.forEach((l) => {\\n var urls=l.vod_play_url\\n //toast(l.vod_play_url)\\n if(l.vod_play_note!=''){\\n\\n var playurls=urls.split(l.vod_play_note)\\n//toast(playurls[0])\\nvar us=[];\\nplayurls.forEach((pl)=>{let p=pl.split(\\\"$\\\");us.push(p[1])});\\ntoast(us[0]);}\\nelse {\\n var us=[];\\n let p=urls.split(\\\"$\\\");\\n if(p.length>1){us.push(p[1]);}\\n else{us.push(p[0]);}\\n\\n}\\n dd.push({\\n col_type:\\\"movie_2\\\",\\n title:l.vod_name,\\n img:l.vod_pic,\\n desc:l.vod_area+\\\" \\\"+l.type_name,\\n url:{urls:us}\\n \\n });\\n});\\nsetResult(dd);\"},{\"col_type\":\"movie_3\",\"name\":\"测试\",\"path\":\"sear\",\"rule\":\"js:\\nvar urls=MY_URL.split('$$$');\\nvar surl=urls[1];\\n//搜索,形成封面墙\\nvar dd = [];\\nvar listhtml=request(surl);\\n//toast(MY_URL)\\n//error(listhtml)\\nvar listobj = JSON.parse(listhtml);\\n\\nvar ll = listobj.list;\\n//toast(listclass[0].type_name)\\nll.forEach((l) => {\\n var urls=l.vod_play_url\\n //toast(l.vod_play_url)\\n if(l.vod_play_note!=''){\\n\\n var playurls=urls.split(l.vod_play_note)\\n//toast(playurls[0])\\nvar us=[];\\nplayurls.forEach((pl)=>{let p=pl.split(\\\"$\\\");us.push(p[1])});\\ntoast(us[0]);}\\nelse {\\n var us=[];\\n let p=urls.split(\\\"$\\\");\\n if(p.length>1){us.push(p[1]);}\\n else{us.push(p[0]);}\\n\\n}\\n dd.push({\\n col_type:\\\"movie_2\\\",\\n title:l.vod_name,\\n img:l.vod_pic,\\n desc:l.vod_area+\\\" \\\"+l.type_name,\\n url:{urls:us}\\n \\n });\\n});\\nsetResult(dd);\\n\"}]","proxy":"","icon":"http://pan.losfer.cn/down.php/89d117301ed9d0fdfbf8045101294705.jpg"},{"last_chapter_rule":"","title":"壁纸大全","author":"花花","version":7,"type":"picture","url":"http://service.picasso.adesk.com/v1/lightwp/category","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 data = JSON.parse(getResCode());\ndata = data.res.category\nfor (let it of data) {\n    d.push({\n        title: it.rname,\n        url: \"http://service.picasso.adesk.com/v1/lightwp/category/\" + it.id + \"/vertical?limit=20&skip=fypage@-1@*20@&order=new\",\n        col_type: \"card_pic_2\",\n        desc: \"0\",\n        pic_url: it.cover\n    });\n}\n\nsetResult(d);","searchFind":"","search_url":"","group":"⑦美图","detail_col_type":"movie_1","detail_find_rule":"js:\nvar d = [];\ntry {\n    var data = JSON.parse(getResCode());\n    data = data.res.vertical\n    for (let it of data) {\n        d.push({\n            //title: it.id,\n            url: it.img + \"#.jpg\",\n            col_type: \"pic_2_card\",\n            desc: \"\",\n            pic_url: it.img\n        });\n    }\n} catch (e) {\n    log(e)\n}\n\nsetResult(d);","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"","pages":"[]","icon":""},{"last_chapter_rule":"","title":"AV采集 搜索完成","author":"zdf","version":1,"type":"video","url":"hiker://empty##","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\nd.push({\n col_type: \"pic_1_full\",\n img: \"https://s2.xptou.com/2023/04/19/643fdf8b2d503.png\"\n\n});\nvar wz = JSON.parse(fetch('hiker://page/wzlist', {}));\nvar wzbt = JSON.parse(wz.rule);\nwzbt.forEach((item) => {\n d.push({\n col_type: 'icon_2_round',\n title: item.wname,\n img: 'https://pic.qqtn.com/up/2017-12/15139090455107893.jpg',\n url: 'hiker://page/fllist',\n extra: {\n url: item.wurl\n }\n });\n\n //toast(item.wname)\n});\nsetResult(d)","searchFind":"","search_url":"","group":"个人","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"网站列表\",\"path\":\"wzlist\",\"rule\":\" [{\\n \\\"wname\\\":\\\"森林资源\\\",\\n \\\"wurl\\\":\\\"https://slapibf.com/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"155资源\\\",\\n \\\"wurl\\\":\\\"https://155api.com/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"CK资源\\\",\\n \\\"wurl\\\":\\\"https://ckzy.me/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"丝袜资源\\\",\\n \\\"wurl\\\":\\\"https://siwazyw.cc/api.php/provide/vod/at/json/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"葡萄资源\\\",\\n \\\"wurl\\\":\\\"https://caiji.putaozy.net/inc/apijson_vod.php\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"玉兔资源\\\",\\n \\\"wurl\\\":\\\"https://apiyutu.com/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"奥斯卡资源\\\",\\n \\\"wurl\\\":\\\"https://aosikazy.com/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"酷豆2资源\\\",\\n \\\"wurl\\\":\\\"https://api.kdapi.info/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"影库资源\\\",\\n \\\"wurl\\\":\\\"https://api.ykapi.net/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://jx.ykyunbo.com/m3u8.php?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"佳丽资源\\\",\\n \\\"wurl\\\":\\\"https://jializyzapi.com/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"芒果资源\\\",\\n \\\"wurl\\\":\\\"https://mgzyz10.com/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"色猫资源\\\",\\n \\\"wurl\\\":\\\"https://caiji.semaozy.net/inc/apijson_vod.php\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"香蕉资源\\\",\\n \\\"wurl\\\":\\\"https://xjzyapi.com/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"花魁资源\\\",\\n \\\"wurl\\\":\\\"https://caiji.huakuiapi.com/inc/apijson_vod.php\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"探探资源\\\",\\n \\\"wurl\\\":\\\"https://apittzy.com/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"雪豹资源\\\",\\n \\\"wurl\\\":\\\"https://api.xbapi.cc/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"滴滴资源\\\",\\n \\\"wurl\\\":\\\"https://api.ddapi.cc/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"酷豆资源\\\",\\n \\\"wurl\\\":\\\"https://api.kdapi.info/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"KK资源\\\",\\n \\\"wurl\\\":\\\"https://kkzy.me/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },\\n{\\n \\\"wname\\\":\\\"老鸭资源\\\",\\n \\\"wurl\\\":\\\"https://api.apilyzy.com/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.77lehuo.com/aliplayer/?url=\\\"\\n },{\\n \\\"wname\\\":\\\"色窝资源\\\",\\n \\\"wurl\\\":\\\"https://sewozyapi.com/api.php/provide/vod/\\\",\\n \\\"wjurl\\\":\\\"https://player.sewojx.com/m3u8/?url=\\\"\\n }\\n]\\n\"},{\"col_type\":\"movie_3\",\"name\":\"分类列表\",\"path\":\"fllist\",\"rule\":\"js:\\n//toast(MY_URL)\\n//读&ac=list,添加菜单和最新影片\\nvar dd = [];\\ndd.push({\\n    col_type: \\\"pic_1_full\\\",\\n    img: \\\"https://s2.xptou.com/2023/04/19/643fdf8b2d503.png\\\"\\n\\n});\\n\\nvar listurl = MY_URL + '?ac=list';\\n\\nvar listhtml = request(listurl);\\n\\n//error(listhtml)\\nvar listobj = JSON.parse(listhtml);\\n\\nvar lc = listobj.class;\\n//toast(listclass[0].type_name)\\nvar myvar;\\n//dd.push({\\n//col_type: \\\"icon_1_search\\\",\\n//title: '共有' + listobj.total + '个影片',\\n//url: 'input://{\\\"value\\\":\\\"默认填充内容\\\", \\\"js\\\": //\\\"putMyVar(myvar,input)\\\", \\\"hint\\\": \\\"提示信息\\\"}'\\n//});\\n\\ndd.push({\\n    title: \\\"搜索\\\",\\n    url: $.toString(() => {\\n        var link = 'hiker://empty#noRecordHistory#$$$' +MY_URL+'?ac=videolist&wd='+ input + '&pg=fypage';\\n        //log(link);\\n        return $(link).rule(() => {\\n            $.require('hiker://page/sear');\\n        });\\n    }),\\n    extra: {\\n        onChange: \\\"putVar('xyqappystext',input)\\\",\\n        titleVisible: true\\n    },\\n    desc: \\\"请输入搜索关键词\\\",\\n    col_type: \\\"input\\\"\\n});\\n\\n\\n\\n\\n//var h='hiker://page/liebiao1#'+MY_URL + '?ac=videolist&pg=fypage&wd='\\n\\nlc.forEach((l) => {\\n    dd.push({\\n        col_type: \\\"text_2\\\",\\n        title: l.type_name,\\n        url: \\\"hiker://page/liebiao1\\\",\\n        extra: {\\n            url: MY_URL + '?ac=videolist&pg=fypage&t=' + l.type_id\\n        }\\n    });\\n});\\nsetResult(dd);\"},{\"col_type\":\"movie_3\",\"name\":\"列表页\",\"path\":\"liebiao1\",\"rule\":\"js:\\n//toast(MY_URL)\\n//读影片列表,形成封面墙\\nvar dd = [];\\n//var listurl = MY_URL + '?ac=list';\\n//页码替换词fypage要在上一页添加到链接中\\n//var listhtml = request(MY_URL+'&pg='+MY_PAGE);\\nvar listhtml=request(MY_URL);\\n//toast(MY_URL)\\n//error(listhtml)\\nvar listobj = JSON.parse(listhtml);\\n\\nvar ll = listobj.list;\\n//toast(listclass[0].type_name)\\nll.forEach((l) => {\\n var urls=l.vod_play_url\\n //toast(l.vod_play_url)\\n if(l.vod_play_note!=''){\\n\\n var playurls=urls.split(l.vod_play_note)\\n//toast(playurls[0])\\nvar us=[];\\nplayurls.forEach((pl)=>{let p=pl.split(\\\"$\\\");us.push(p[1])});\\ntoast(us[0]);}\\nelse {\\n var us=[];\\n let p=urls.split(\\\"$\\\");\\n if(p.length>1){us.push(p[1]);}\\n else{us.push(p[0]);}\\n\\n}\\n dd.push({\\n col_type:\\\"movie_2\\\",\\n title:l.vod_name,\\n img:l.vod_pic,\\n desc:l.vod_area+\\\" \\\"+l.type_name,\\n url:{urls:us}\\n \\n });\\n});\\nsetResult(dd);\"},{\"col_type\":\"movie_3\",\"name\":\"测试\",\"path\":\"sear\",\"rule\":\"js:\\nvar urls=MY_URL.split('$$$');\\nvar surl=urls[1];\\n//搜索,形成封面墙\\nvar dd = [];\\nvar listhtml=request(surl);\\n//toast(MY_URL)\\n//error(listhtml)\\nvar listobj = JSON.parse(listhtml);\\n\\nvar ll = listobj.list;\\n//toast(listclass[0].type_name)\\nll.forEach((l) => {\\n var urls=l.vod_play_url\\n //toast(l.vod_play_url)\\n if(l.vod_play_note!=''){\\n\\n var playurls=urls.split(l.vod_play_note)\\n//toast(playurls[0])\\nvar us=[];\\nplayurls.forEach((pl)=>{let p=pl.split(\\\"$\\\");us.push(p[1])});\\ntoast(us[0]);}\\nelse {\\n var us=[];\\n let p=urls.split(\\\"$\\\");\\n if(p.length>1){us.push(p[1]);}\\n else{us.push(p[0]);}\\n\\n}\\n dd.push({\\n col_type:\\\"movie_2\\\",\\n title:l.vod_name,\\n img:l.vod_pic,\\n desc:l.vod_area+\\\" \\\"+l.type_name,\\n url:{urls:us}\\n \\n });\\n});\\nsetResult(dd);\\n\"}]","proxy":"","icon":"#ffff6877"},{"last_chapter_rule":"","title":"网页转小程序","author":"小棉袄🌞","version":12,"type":"tool","url":"hiker://empty##","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\n\nd.push({\n    title: \"\",\n    url: \"\",\n    col_type: \"input\",\n    desc: \"请输入要生成的小程序名\",\n    pic_url: \"\",\n    extra: {\n        titleVisible: false,\n        onChange: $.toString(() => {\n            putMyVar(\"r1\", input);\n        }),\n        defaultValue: getMyVar(\"r1\", \"\")\n    }\n});\nd.push({\n    title: \"\",\n    url: \"\",\n    col_type: \"input\",\n    desc: \"请输入网站地址,如https://cn.bing.com/\",\n    pic_url: \"\",\n    extra: {\n        type: \"textarea\",\n        height: 2,\n        highlight: true,\n        titleVisible: false,\n        onChange: $.toString(() => {\n            putMyVar(\"rule\", input);\n        }),\n        defaultValue: getMyVar(\"rule\", \"\")\n    }\n});\nd.push({\n    title: \"广告拦截规则,英文逗号分隔\",\n    url: \"hiker://empty\",\n    col_type: \"text_1\",\n    desc: \"\",\n    pic_url: \"\",\n    extra: {\n        lineVisible: false\n    }\n});\n\nd.push({\n    title: \"\",\n    url: \"\",\n    col_type: \"input\",\n    desc: \"请输入广告拦截规则,英文逗号分隔\",\n    pic_url: \"\",\n    extra: {\n        type: \"textarea\",\n        height: 2,\n        highlight: true,\n        titleVisible: false,\n        onChange: $.toString(() => {\n            putMyVar(\"ad\", input);\n        }),\n        defaultValue: getMyVar(\"ad\", \"/ad/, /ads/, google\")\n    }\n});\nlet floatVideo = getMyVar(\"f\", \"false\") == \"true\";\nd.push({\n    title: \"悬浮嗅探:\" + (floatVideo ? \"开\" : \"关\"),\n    url: $(\"#noLoading#\").lazyRule((f) => {\n        putMyVar(\"f\", !f + \"\");\n        refreshPage();\n        return \"hiker://empty\";\n    }, floatVideo),\n    col_type: \"text_1\",\n});\n\nd.push({\n    title: \"生成小程序\",\n    url: $(\"#noLoading#\").lazyRule((rule1) => {\n        let url = getMyVar(\"rule\", \"\");\n        let r1 = getMyVar(\"r1\", \"\");\n        if (url == \"\" || r1 == \"\") {\n            return \"toast://请先在上面输入网站地址和名称\";\n        }\n        if (url.includes(\"@\")) {\n            return \"toast://网站地址格式不对\";\n        }\n        /*let arr = storage0.getItem(\"list\", []);\n        arr = arr.filter(it => it.url != url);\n        arr.push({\n            name: r1,\n            url: url\n        });\n        storage0.setItem(\"list\", arr);\n        refreshPage();*/\n        rule = JSON.parse(fetch(\"hiker://home@\" + rule1));\n        rule.find_rule = \"js:\\nvar 网站 = '{RULE}';\\neval(JSON.parse(fetch('hiker://page/home')).rule)\";\n        rule.url = \"hiker://empty\";\n        let floatVideo = getMyVar(\"f\", \"false\") == \"true\";\n        let ad = getMyVar(\"ad\", \"/ad/, /ads/, google\");\n        ad = ad.split(\",\").map(it => it.trim()).join(\",\");\n        return \"海阔视界¥home_rule¥\" + JSON.stringify(rule)\n            .replace(/\\{RULE\\}/g, url)\n            .replace(rule1, r1)\n            .replace(/嗅探/g, floatVideo + \"\")\n            .replace(/拦截/g, ad);\n    }, MY_RULE.title),\n    col_type: \"text_2\",\n    desc: \"\",\n    pic_url: \"\"\n});\n\nd.push({\n    title: \"来个示例\",\n    url: $(\"#noLoading#\").lazyRule(() => {\n        putMyVar(\"rule\", \"https://cn.bing.com/\");\n        putMyVar(\"r1\", \"必应\");\n        refreshPage();\n        return \"hiker://empty\"\n    }),\n    col_type: \"text_2\",\n    desc: \"\",\n    pic_url: \"\"\n});\nsetResult(d);","searchFind":"","search_url":"","group":"其它","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"ysfx\",\"path\":\"ysfx\",\"rule\":\"js:\\nvar d = [];\\nlet rule = getParam(\\\"r\\\").split(\\\"##\\\")[0];\\nlet url = MY_URL.split(\\\"##\\\")[1];\\nlet ad = \\\"拦截\\\".split(\\\",\\\");\\nlet ite = $.require(\\\"hiker://page/u\\\")(rule, getHome(url));\\nlet js = $.toString(() => {\\n    try {\\n        if (document.title && document.title.length) {\\n            let r = $$$().lazyRule((t) => {\\n                setPageTitle(t);\\n            }, document.title);\\n            fy_bridge_app.parseLazyRule(r);\\n        }\\n    } catch (e) {\\n        fy_bridge_app.log(e.toString());\\n    }\\n});\\nd.push({\\n    title: \\\"\\\",\\n    url: url,\\n    col_type: \\\"x5_webview_single\\\",\\n    desc: \\\"100%&&float\\\",\\n    pic_url: \\\"\\\",\\n    extra: {\\n        urlInterceptor: ite,\\n        js: js,\\n        canBack: true,\\n        jsLoadingInject: true,\\n        floatVideo: 嗅探,\\n        blockRules: ad\\n    }\\n});\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"u\",\"path\":\"u\",\"rule\":\"$.exports = function(rule, origin) {\\n    return $.toString((rule, origin) => {\\n        let host = origin.replace(new RegExp(\\\"http://|https://\\\"), \\\"\\\").split(\\\"/\\\")[0];\\n        let hosts = host.split(\\\".\\\");\\n        if (hosts.length > 2) {\\n            host = hosts[hosts.length - 2] + \\\".\\\" + hosts[hosts.length - 1];\\n        }\\n        if (input.startsWith(\\\"magnet\\\")) {\\n            confirm({\\n                title: \\\"温馨提示\\\",\\n                content: \\\"检测到新的磁链地址,点击确定按钮即可播放,点击取消按钮可以复制链接\\\",\\n                confirm: $.toString((mag) => {\\n                    return mag;\\n                }, input),\\n                cancel: $.toString((mag) => {\\n                    return \\\"copy://\\\" + mag\\n                }, input)\\n            })\\n            return true;\\n        } else if (!input.startsWith(\\\"http\\\")) {\\n            log(input);\\n            //能唤起APP的白名单\\n            let white = [\\n                \\\"qklink\\\",\\n                \\\"bdnetdisk\\\",\\n                \\\"xunleiapp\\\",\\n                \\\"smartdrive\\\"\\n            ];\\n            let inWhite = white.filter(it => input.startsWith(it)).length > 0;\\n            if (!inWhite) {\\n                return false;\\n            }\\n            return $.toString((url, rule) => {\\n                fy_bridge_app.openThirdApp && fy_bridge_app.openThirdApp(url);\\n            }, input, rule)\\n        } else if (input.includes(\\\"aliyundrive.com/\\\") || input.includes(\\\"aliyundrive.net/\\\") || input.includes(\\\"alipan.com/\\\")) {\\n            if (fetch(\\\"hiker://home@\\\\u4e91\\\\u76d8\\\\u541b.\\\\u7b80\\\").length < 15) {\\n                return false;\\n            }\\n            return $.toString((url, rule) => {\\n                fy_bridge_app.open(JSON.stringify({\\n                    title: \\\"阿里云盘\\\",\\n                    url: \\\"hiker://page/aliyun?page=fypage&realurl=\\\" + encodeURIComponent(url) + \\\"&rule=\\\\u4e91\\\\u76d8\\\\u541b.\\\\u7b80\\\",\\n                }))\\n            }, input, rule);\\n        } else if (input.includes(\\\"quark.cn\\\") && fetch(\\\"hiker://home@Quark.简\\\").length > 15) {\\n            return $.toString((url, rule) => {\\n                fy_bridge_app.open(JSON.stringify({\\n                    title: \\\"夸克网盘\\\",\\n                    url: \\\"hiker://page/quarkList?realurl=\\\" + encodeURIComponent(url) + \\\"&rule=Quark.简&sharePwd=\\\",\\n                }))\\n            }, input, rule);\\n        } else {\\n            let white = [\\n                \\\"url=\\\",\\n                \\\"fsou.com\\\",\\n                \\\"bing.\\\",\\n            ];\\n            let inWhite = white.filter(it => input.includes(it)).length > 0;\\n            if (inWhite) {\\n                return false;\\n            }\\n            let reg = new RegExp(\\\"[\\\\u4e00-\\\\u9fa5]+\\\", \\\"g\\\");\\n            let r = decodeURIComponent(input);\\n            if (reg.test(r) || (input.startsWith(origin) && input.length - origin.length > 2) || !input.includes(host + \\\"/\\\")) {\\n                //有中文,应该是在搜索,跳新页面\\n                return $.toString((url, rule) => {\\n                    fy_bridge_app.open(JSON.stringify({\\n                        title: \\\"详情\\\",\\n                        url: \\\"hiker://page/ysfx?rule=\\\" + rule + \\\"&r=\\\" + rule + \\\"##\\\" + url,\\n                    }));\\n                }, input, rule);\\n            }\\n        }\\n    }, rule, origin);\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"首页\",\"path\":\"home\",\"rule\":\"var d = [];\\nlet url = 网站;\\nlet ad = \\\"拦截\\\".split(\\\",\\\");\\nlet ite = $.require(\\\"hiker://page/u\\\")(MY_RULE.title, getHome(url));\\nd.push({\\n    title: \\\"\\\",\\n    url: url,\\n    col_type: \\\"x5_webview_single\\\",\\n    desc: \\\"100%&&float\\\",\\n    pic_url: \\\"\\\",\\n    extra: {\\n        urlInterceptor: ite,\\n        canBack: true,\\n        floatVideo: 嗅探,\\n        jsLoadingInject: true,\\n        blockRules: ad\\n    }\\n});\\nsetResult(d);\"}]","proxy":"","icon":""},{"last_chapter_rule":"","title":"蓝奏下载资源🐒","author":"🐏&&小刘","version":2023042101,"type":"other","url":"hiker://empty##fypage","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\n\neval(JSON.parse(request('hiker://page/classicHeader')).rule)\neval(JSON.parse(request('hiker://page/yemian')).rule)","searchFind":"js:\nvar d = [];\nvar html = getResCode();\nvar list = pdfa(html, 'body&&.result&&.lanzou-item');\nfor (var j in list) {\n    d.push({\n        title: pdfh(list[j], '.lanzou-item-right-title&&Text'),\n        desc: pdfh(list[j], '.text-muted&&Text'),\n        content: pdfh(list[j], '.text-muted,1&&Text'),\n        url: $(pd(list[j], 'a&&href')).rule(() => {\n            var d = [];\n            eval(JSON.parse(request('hiker://page/lazy')).rule)\n            var html = getResCode();\n            var list = pdfa(html, 'body&&.url_adreess');\n            d.push({\n                title: \"<small>搜索内容来自蓝廋网页版。\\n若打不开链接或者提示分享已取消,请尝试其他的地址</small>\"\n            })\n\n            for (var j = 1; j < list.length; j++) {\n                var URL = pd(list[j], 'a&&href')\n                if (URL.indexOf(\"com/tp/\") == -1) {\n                    var URL = URL.replace(\"com/\", \"com/tp/\")\n                }\n\n                d.push({\n                    title: \"🔗  地址\" + j,          \n                    url: URL + lazy,\n                    col_type: \"avatar\",\n                })\n            }\n            setResult(d)\n        })\n    });\n}\nsetResult(d)","search_url":"","group":"其它","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"rich_text","sdetail_find_rule":"","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"数据\",\"path\":\"shuju\",\"rule\":\"var tabs = {\\n    \\\"data\\\": [\\n//软件\\n        {\\n            \\\"group\\\": \\\"软件\\\",\\n            \\\"options\\\": [{\\n                    \\\"name\\\": \\\"小棉袄软件系列\\\",\\n                    \\\"url\\\": \\\"https://haikuo.lanzoum.com/u/GoldRiver\\\",\\n                    \\\"pwd\\\": \\\"\\\"//要有密码填pwd这\\n                },\\n                {\\n                    \\\"name\\\": \\\"酷安APP[安卓版]\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f2uzq2b\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },\\n                {\\n                    \\\"name\\\": \\\"影视软件APP\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f2x4syh\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                }, {\\n                    \\\"name\\\": \\\"拍照摄影设计APP\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f1czyjc\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"ADGUARD[安卓]\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f19420h\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"Adguard[安卓]\\\",\\n                    \\\"url\\\": \\\"https://yxssp.lanzoui.com/b620652\\\",\\n                    \\\"pwd\\\": \\\"2348\\\"\\n                },{\\n                    \\\"name\\\": \\\"系统辅助APP\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f1944od\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"ES文件浏览器\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f1d7s2h\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"MT管理器APP[官版]\\\",\\n                    \\\"url\\\": \\\"https://binmt.lanzoum.com/b01bivkzc\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"宇宙工具箱[安卓]\\\",\\n                    \\\"url\\\": \\\"https://yxssp.lanzoum.com/b06hzod6h\\\",\\n                    \\\"pwd\\\": \\\"bq8u\\\"\\n                },\\n              \\n            ]\\n        },\\n//常用工具\\n        {\\n            \\\"group\\\": \\\"常用工具\\\",\\n            \\\"options\\\": [{\\n                    \\\"name\\\": \\\"BT下载工具[PC]\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f1awgqb\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },\\n         {\\n                    \\\"name\\\": \\\"IDM[PC]\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f3ahu0b\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"1dm+[安卓]\\\",\\n                    \\\"url\\\": \\\"https://yxssp.lanzoui.com/b478866\\\",\\n                    \\\"pwd\\\": \\\"cajd\\\"\\n                },{\\n                    \\\"name\\\": \\\"Adm Pro[安卓]\\\",\\n                    \\\"url\\\": \\\"https://yxssp.lanzoui.com/b591187\\\",\\n                    \\\"pwd\\\": \\\"9zzs\\\"\\n                },{\\n                    \\\"name\\\": \\\"WIFI万能钥匙[安卓]\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f1f1t5c\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"Cimoc[安卓]\\\",\\n                    \\\"url\\\": \\\"https://haleydu.lanzouq.com/b0ds3v84d\\\",\\n                    \\\"pwd\\\": \\\"1234\\\"\\n                },{\\n                    \\\"name\\\": \\\"知乎APP[安卓]\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzouo.com/b0f2lkafe\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"微博APP[安卓]\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzouo.com/b0f1gnb3a\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"抖音APP[安卓]\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzouo.com/b0f199a5a\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"沙盘[PC]\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f1ajzef\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"WPS[安卓]\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzouo.com/b0f197skb\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                 },{\\n                    \\\"name\\\": \\\"WPS[Windows]\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzouo.com/b0f2ql3be\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                 },{\\n                    \\\"name\\\": \\\"解压缩软件集[安卓]\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f1bgvje\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"OfficeSuite[安卓]\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f199krc\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"VMOS Pro[安卓]\\\",\\n                    \\\"url\\\": \\\"https://yxssp.lanzoum.com/b06hdl9fc\\\",\\n                    \\\"pwd\\\": \\\"7dpk\\\"\\n                },{\\n                    \\\"name\\\": \\\"SD女佣[安卓]\\\",\\n                    \\\"url\\\": \\\"https://yxssp.lanzoum.com/b356057\\\",\\n                    \\\"pwd\\\": \\\"augt\\\"\\n                },{\\n                    \\\"name\\\": \\\"CCleaner Pro\\\",\\n                    \\\"url\\\": \\\"https://yxssp.lanzoum.com/b361543\\\",\\n                    \\\"pwd\\\": \\\"a4eg\\\"\\n                },\\n            ]\\n        },\\n//阅读\\n        {\\n            \\\"group\\\": \\\"阅读\\\",\\n            \\\"options\\\": [{\\n                    \\\"name\\\": \\\"阅读3.0测试版[安卓]\\\",\\n                    \\\"url\\\": \\\"https://kunfei.lanzoum.com/b0f810h4b\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },\\n                {\\n                    \\\"name\\\": \\\"阅读3.0乌云替换净化\\\",\\n                    \\\"url\\\": \\\"https://wwi.lanzoum.com/b0bw8jwoh\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                }, {\\n                    \\\"name\\\": \\\"阅读3.0书源\\\",\\n                    \\\"url\\\": \\\"https://ls125781003.lanzoum.com/b066gazed\\\",\\n                    \\\"pwd\\\": \\\"8u15\\\"\\n                },{\\n                    \\\"name\\\": \\\"静读天下专业版[安卓]\\\",\\n                    \\\"url\\\": \\\"https://yxssp.lanzoum.com/b0q4unib\\\",\\n                    \\\"pwd\\\": \\\"5m13\\\"\\n                },{\\n                    \\\"name\\\": \\\"FullReader[安卓]\\\",\\n                    \\\"url\\\": \\\"https://yxssp.lanzoui.com/b709973\\\",\\n                    \\\"pwd\\\": \\\"29py\\\"\\n                },{\\n                    \\\"name\\\": \\\"电子阅读应用[安卓]\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f1cdr9i\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"QDreader内置插件版[安卓]\\\",\\n                    \\\"url\\\": \\\"https://xihan.lanzoum.com/b0413c6he\\\",\\n                    \\\"pwd\\\": \\\"xihan\\\"\\n                },\\n            ]\\n        },\\n//音乐\\n        {\\n            \\\"group\\\": \\\"音乐\\\",\\n            \\\"options\\\": [{\\n                    \\\"name\\\": \\\"❌Soul音乐[安卓](密码1314)\\\",\\n                    \\\"url\\\": \\\"https://wwc.lanzoum.com/b03d75wvc\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"歌词适配[安卓]\\\",\\n                    \\\"url\\\": \\\"https://gcsp.lanzoum.com/b0e895h2b\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"听下音乐[安卓]\\\",\\n                    \\\"url\\\": \\\"https://bgg.lanzoum.com/b02bjj8pa\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"悦音[安卓]停止更新\\\",\\n                    \\\"url\\\": \\\"https://wwr.lanzoum.com/b02ie3p0d\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"魔音[安卓]激活码0413\\\",\\n                    \\\"url\\\": \\\"https://wwu.lanzoum.com/b00p12xli\\\",\\n                    \\\"pwd\\\": \\\"3ldx\\\"\\n                },{\\n                    \\\"name\\\": \\\"魔音[PC]\\\",\\n                    \\\"url\\\": \\\"https://wwu.lanzoum.com/b00oylyti\\\",\\n                    \\\"pwd\\\": \\\"d22l\\\"\\n                },{\\n                    \\\"name\\\": \\\"洛雪音乐助手[全平台]\\\",\\n                    \\\"url\\\": \\\"https://www.lanzoum.com/b906260/\\\",\\n                    \\\"pwd\\\": \\\"glqw\\\"\\n                },{\\n                    \\\"name\\\": \\\"LISTEN1[安卓]\\\",\\n                    \\\"url\\\": \\\"https://yujiangqaq.lanzoum.com/b0104q89e\\\",\\n                    \\\"pwd\\\": \\\"listen1\\\"\\n                },\\n            ]\\n        },\\n//听书\\n        {\\n            \\\"group\\\": \\\"听书\\\",\\n            \\\"options\\\": [{\\n                    \\\"name\\\": \\\"我的听书APP[安卓]\\\",\\n                    \\\"url\\\": \\\"https://wwi.lanzoum.com/b05g1bwf\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },\\n                {\\n                    \\\"name\\\": \\\"酷我听书APP[安卓]\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f199bzg\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },\\n               {\\n                    \\\"name\\\": \\\"小听书APP[安卓]\\\",\\n                    \\\"url\\\": \\\"https://appbrowse.lanzoum.com/b07lpur5g\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                 },{\\n                    \\\"name\\\": \\\"飞鸟听书[安卓]\\\",\\n                    \\\"url\\\": \\\"https://pan.lanzoum.com/s/feizxc\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },\\n            ]\\n        },\\n\\n//播放器\\n        {\\n            \\\"group\\\": \\\"播放器\\\",\\n            \\\"options\\\": [{\\n                    \\\"name\\\": \\\"MX player[安卓]\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f19eo3c\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"❌REEX[安卓](密码qazw)\\\",\\n                    \\\"url\\\": \\\"https://wwu.lanzoum.com/b01np165c\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"MX_Player[安卓]\\\",\\n                    \\\"url\\\": \\\"https://yxssp.lanzoui.com/b331494\\\",\\n                    \\\"pwd\\\": \\\"ao5m\\\"\\n                },{\\n                    \\\"name\\\": \\\"OPlayer[安卓]\\\",\\n                    \\\"url\\\": \\\"https://yxssp.lanzoum.com/b537414\\\",\\n                    \\\"pwd\\\": \\\"cg41\\\"\\n                },{\\n                    \\\"name\\\": \\\"XPlayer[安卓]\\\",\\n                    \\\"url\\\": \\\"https://yxssp.lanzoum.com/b629728\\\",\\n                    \\\"pwd\\\": \\\"gjje\\\"\\n                },{\\n                    \\\"name\\\": \\\"KMPlayer Pro[安卓]\\\",\\n                    \\\"url\\\": \\\"https://yxssp.lanzoum.com/b550789\\\",\\n                    \\\"pwd\\\": \\\"dwqq\\\"\\n                },{\\n                    \\\"name\\\": \\\"播放器安卓集\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f1gvyqj\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"播放器winPC集\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f1k59qh\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"B站APP\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f1gksne\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"B站(安卓LSPatch/XPatch版)\\\",\\n                    \\\"url\\\": \\\"https://wwe.lanzoux.com/b015ll4sb\\\",\\n                    \\\"pwd\\\": \\\"2333\\\"\\n                },{\\n                    \\\"name\\\": \\\"网易云音乐[安卓]内置模块版\\\",\\n                    \\\"url\\\": \\\"https://wwu.lanzoum.com/b0crkhyzg\\\",\\n                    \\\"pwd\\\": \\\"3qvw\\\"\\n                },{\\n                    \\\"name\\\": \\\"网易云音乐APP\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f3qdjfc\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"油管APP\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f2lkrab\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"YouTube Vanced[安卓]\\\",\\n                    \\\"url\\\": \\\"https://yxssp.lanzoum.com/b06h0o3gh\\\",\\n                    \\\"pwd\\\": \\\"4kq3\\\"\\n                },{\\n                    \\\"name\\\": \\\"纯纯看番[安卓]\\\",\\n                    \\\"url\\\": \\\"https://ls125781003.lanzoum.com/b067eshzi\\\",\\n                    \\\"pwd\\\": \\\"6iqb\\\"\\n                },\\n            ]\\n        },\\n //浏览器\\n        {\\n            \\\"group\\\": \\\"浏览器\\\",\\n            \\\"options\\\": [\\n                {\\n                    \\\"name\\\": \\\"浏览器APP合集①\\\",\\n                    \\\"url\\\": \\\"https://coje-he.lanzoum.com/b00zdwqqd\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"浏览器APP合集②\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f24u4de\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"WebKit浏览器APP\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f2r0aoj\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"M浏览器[安卓]\\\",\\n                    \\\"url\\\": \\\"https://moshanging.lanzoum.com/b01hxrn0h\\\",\\n                    \\\"pwd\\\": \\\"momo\\\"\\n                },{\\n                    \\\"name\\\": \\\"土狗浏览器[安卓]\\\",\\n                    \\\"url\\\": \\\"https://www.lanzoui.com/s/tgllq\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },\\n\\n            ]\\n        },\\n\\n//工具集\\n        {\\n            \\\"group\\\": \\\"工具杂集\\\",\\n            \\\"options\\\": [\\n                {\\n                    \\\"name\\\": \\\"虚拟机与框架软件集[安卓]\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f1fns7a\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"软件集\\\",\\n                    \\\"url\\\": \\\"https://ls125781003.lanzoum.com/b065lcl8j\\\",\\n                    \\\"pwd\\\": \\\"fv2t\\\"\\n                },{\\n                    \\\"name\\\": \\\"SonicePlus[安卓]\\\",\\n                    \\\"url\\\": \\\"https://sonice.lanzoub.com/b018f4eha\\\",\\n                    \\\"pwd\\\": \\\"bzaw\\\"\\n                },{\\n                    \\\"name\\\": \\\"网盘APP集[安卓]\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f1fl38j\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"TV集[安卓]\\\",\\n                    \\\"url\\\": \\\"https://423down.lanzoum.com/b0f1944aj\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                },{\\n                    \\\"name\\\": \\\"下载器[全平台]\\\",\\n                    \\\"url\\\": \\\"https://wwd.lanzoum.com/b02un38xa\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                }, {\\n                    \\\"name\\\": \\\"奇妙搜索[安卓官版]\\\",\\n                    \\\"url\\\": \\\"https://magicalstory.lanzoum.com/s/magicalsearch?w1\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                 },{\\n                    \\\"name\\\": \\\"TVbox安装包集[安卓搬运]\\\",\\n                    \\\"url\\\": \\\"https://ls125781003.lanzoum.com/b066c8bwb\\\",\\n                    \\\"pwd\\\": \\\"0708\\\"\\n                 },{\\n                    \\\"name\\\": \\\"吾爱有三日月与卿_软件集\\\",\\n                    \\\"url\\\": \\\"https://wuaiyousan.lanzoui.com/b02unwved\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                 },{\\n                    \\\"name\\\": \\\"吾爱有三日月与卿_本地接口包\\\",\\n                    \\\"url\\\": \\\"https://wuaiyousan.lanzoui.com/b02v72i4f\\\",\\n                    \\\"pwd\\\": \\\"\\\"\\n                 },{\\n                    \\\"name\\\": \\\"星云日记_本地接口包\\\",\\n                    \\\"url\\\": \\\"https://wwc.lanzoui.com/b0erx68gf\\\",\\n                    \\\"pwd\\\": \\\"4e93\\\"\\n                 },{\\n                    \\\"name\\\": \\\"影视仓[安卓]\\\",\\n                    \\\"url\\\": \\\"https://leesh.lanzoum.com/b00qd4imj\\\",\\n                    \\\"pwd\\\": \\\"1dnu\\\"\\n                 },{\\n                    \\\"name\\\": \\\"EasyBox[安卓]\\\",\\n                    \\\"url\\\": \\\"https://www.lanzoul.com/b00qeiicj\\\",\\n                    \\\"pwd\\\": \\\"ayl3\\\"\\n                },{\\n                    \\\"name\\\": \\\"宝盒[安卓]\\\",\\n                    \\\"url\\\": \\\"https://leesh.lanzoul.com/b00qrb9ti\\\",\\n                    \\\"pwd\\\": \\\"应用多多\\\"\\n                },{\\n                    \\\"name\\\": \\\"521影视[安卓]\\\",\\n                    \\\"url\\\": \\\"https://leesh.lanzoul.com/b00qriumj\\\",\\n                    \\\"pwd\\\": \\\"9hmt\\\"\\n                },{\\n                    \\\"name\\\": \\\"TVbox竖屏APP[安卓]\\\",\\n                    \\\"url\\\": \\\"https://leesh.lanzoul.com/b00q9v05c\\\",\\n                    \\\"pwd\\\": \\\"by8t\\\"\\n                },\\n\\n\\n\\n            ]\\n        }\\n//隔断\\n    ]\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"获取头部\",\"path\":\"classicHeader\",\"rule\":\"var d = []\\nif (MY_PAGE == '1') {\\n   // eval(JSON.parse(request('hiker://page/ss')).rule)\\n}\\neval(JSON.parse(request('hiker://page/shuju')).rule)\\n\\nvar lists = tabs.data\\nfunction setTabs(lists, vari) {\\n    for (var i = 0; i < lists.length; i++) {\\n        d.push({\\n            title: getMyVar(vari, '0') == i ? '““' + '⏳ ' + lists[i].group + '””' : lists[i].group,\\n            url: $(\\\"hiker://empty\\\").lazyRule((vari, i) => {\\n                putMyVar(vari, i);\\n                putMyVar(\\\"tabsurl\\\", i);\\n                putMyVar('shsort', '1')\\n                putMyVar('sh', i)\\n                putMyVar(\\\"varil\\\", \\\"0\\\");\\n                refreshPage(false);\\n                return \\\"hiker://empty\\\"\\n            }, vari, i),\\n            col_type: 'scroll_button',\\n        })\\n    }\\n}\\n\\nfunction setLists(lists, index) {\\n    if (lists.length != '') {\\n        var list = lists[index].options;\\n        for (var j = 0; j < list.length; j++) {\\n            var titile = list[j].name\\n            var listsurl = list[j].url\\n            var listspwd = list[j].pwd\\n            d.push({\\n                title: getMyVar(\\\"varil\\\", '0') == j ? '““' + '⏳ ' + titile + '””' : titile,\\n                url: $(\\\"#noLoading#\\\").lazyRule((listsurl, listspwd, j) => {\\n                    putMyVar('shsort', '0')\\n                    putMyVar(\\\"varil\\\", j);\\n                    putMyVar(\\\"listsurl\\\", listsurl);\\n                    putMyVar(\\\"listspwd\\\", listspwd);\\n                    refreshPage(false);\\n                    return \\\"hiker://empty\\\"\\n                }, listsurl, listspwd, j),\\n            //     col_type: 'scroll_button',\\n                col_type: 'flex_button',\\n            });\\n        }\\n    }\\n}\\n\\nif (MY_PAGE == '1') {\\n    setTabs(lists, MY_URL);\\n    d.push({\\n        col_type: 'line'\\n    })\\n    setLists(lists, getMyVar(MY_URL, '0'));\\n    d.push({\\n        col_type: 'line_blank'\\n    })\\n}\\n\\n//URL\\nif (getMyVar('shsort') == \\\"1\\\") {\\n    var URL = lists[getMyVar('sh', \\\"0\\\")].options[0].url\\n    var pwd = lists[getMyVar('sh', \\\"0\\\")].options[0].pwd\\n} else {\\n    var URL = getMyVar(\\\"listsurl\\\", lists[0].options[0].url)\\n    var pwd = getMyVar(\\\"listspwd\\\", lists[0].options[0].pwd);\\n}\\n\"},{\"col_type\":\"movie_3\",\"name\":\"cookie\",\"path\":\"cookie\",\"rule\":\"function getJson(url, pwd, trurl) {\\n    let html = request(url);\\n    try {\\n        var ico = html.match(/background:url\\\\((.*?)'/)[1];\\n    } catch (e) {}\\n    putMyVar(\\\"ico\\\", ico);\\n    putMyVar(\\\"html\\\", html);\\n    eval(html.match(/var pgs;([\\\\s\\\\S]*?pgs.+;)/)[1]);\\n    eval('var body =' + html.match(/data :([\\\\s\\\\S]*?\\\\})/)[1]);\\n    return JSON.parse(post(trurl + '/filemoreajax.php', {\\n        body: body\\n    })).text;\\n}\\nvar trurl = URL.match(/http.*?com/);\\nvar list = getJson(URL, pwd, trurl);\\n\\n//感谢墙佬代码\"},{\"col_type\":\"movie_3\",\"name\":\"搜索\",\"path\":\"ss\",\"rule\":\"d.push({\\n    url: $.toString(() => {\\n      if (input.trim()) {\\n         if (/http|https/.test(input)) {\\n            var link = 'hiker://empty##fypage$$$' + input;\\n            return $(link).rule(() => {\\n                var d = []\\n                //var ssurl = MY_URL.split(\\\"$$$\\\")[1].match(/(http|ftp|https):\\\\/\\\\/[\\\\w\\\\-_]+(\\\\.[\\\\w\\\\-_]+)+([\\\\w\\\\-\\\\.,@?^=%&:/~\\\\+#]*[\\\\w\\\\-\\\\@?^=%&/~\\\\+#])?/)[0]\\n\\t\\t\\t\\tvar ssurl = MY_URL.match(/(http|ftp|https):\\\\/\\\\/[\\\\w\\\\-_]+(\\\\.[\\\\w\\\\-_]+)+([\\\\w\\\\-\\\\.,@?^=%&:/~\\\\+#]*[\\\\w\\\\-\\\\@?^=%&/~\\\\+#])?/)[0]\\n                var sspwd = MY_URL.split(\\\"密码:\\\")[1]\\n                putMyVar(\\\"listsurl\\\", ssurl);\\n                putMyVar(\\\"listspwd\\\", sspwd);\\n                var URL = getMyVar(\\\"listsurl\\\", \\\"\\\");\\n                var pwd = getMyVar(\\\"listspwd\\\", \\\"\\\");\\n                eval(JSON.parse(request('hiker://page/yemian')).rule)\\n            })\\n        }else{\\n       return \\\"hiker://search?rule=\\\" + MY_RULE.title + \\\"&s=\\\"+input\\n        \\n        }\\n        }\\n         else {\\n            return 'toast://请输入网盘链接';\\n        }\\n    }),\\n    title: '进入',\\n    desc: \\\"支持输入云盘分享链接\\\",\\n    col_type: \\\"input\\\"\\n});\"},{\"col_type\":\"movie_3\",\"name\":\"lazy\",\"path\":\"lazy\",\"rule\":\"var lazy = $(\\\"\\\").lazyRule(() => {\\n       try {\\n          var html = request(input);\\n         // log(input)\\n                        var url = 'https://developer.lanzoug.com/file/' + html.match(/'(\\\\?.*?)'/)[1]\\n                       // log(url)\\n                        var jsurl = request(url, {\\n                            redirect: false,\\n                            withHeaders: true\\n                        })\\n                        var jsurl = jsurl.match(/href=.\\\"(.*?)\\\"/)[1]\\n                        return \\\"download://\\\" + jsurl \\n//1、建议使用第三方下载器\\n                     //    return jsurl \\n //2、建议内置下载器使用\\n                    } catch (e) {\\n                        log(\\\"转跳原站\\\")\\n                        log(input)\\n                        return input\\n                    }\\n                })\"},{\"col_type\":\"movie_3\",\"name\":\"网盘\",\"path\":\"yemian\",\"rule\":\"setPageTitle('网盘')\\neval(JSON.parse(request('hiker://page/lazy')).rule)\\n\\n\\n\\ntry {\\n    eval(JSON.parse(request('hiker://page/cookie')).rule)\\n    if (MY_PAGE == '1') {\\n        try {\\n            var wlist = parseDomForArray(getMyVar(\\\"html\\\"), '#folder&&a');\\n            for (var j in wlist) {\\n                var url = 'hiker://empty#fypage$$$' + trurl + wlist[j].match(/href=\\\"(.*?)\\\"/)[1];\\n                d.push({\\n                    img: 'https://lanmeiguojiang.com/tubiao/more/37.png',\\n                    title: parseDomForHtml(wlist[j], '.filename&&Text').replace(/公众号.+/g, \\\"\\\"),\\n                    col_type: \\\"avatar\\\",\\n                    url: $(url).rule(() => {\\n                        //log(MY_URL)\\n                        var d = []\\n                        var ssurl = MY_URL.split(\\\"$$$\\\")[1].match(/(http|ftp|https):\\\\/\\\\/[\\\\w\\\\-_]+(\\\\.[\\\\w\\\\-_]+)+([\\\\w\\\\-\\\\.,@?^=%&:/~\\\\+#]*[\\\\w\\\\-\\\\@?^=%&/~\\\\+#])?/)[0]\\n                        var sspwd = MY_URL.split(\\\"密码:\\\")[1]\\n                        putMyVar(\\\"listsurl\\\", ssurl);\\n                        putMyVar(\\\"listspwd\\\", sspwd);\\n                        var URL = getMyVar(\\\"listsurl\\\", \\\"\\\");\\n                        var pwd = getMyVar(\\\"listspwd\\\", \\\"\\\");\\n                        eval(JSON.parse(request('hiker://page/yemian')).rule)\\n                    }),\\n                });\\n                 d.push({\\n        col_type: 'line'\\n    })\\n            }\\n        } catch (e) {}\\n        try {\\n            //if (URL == lists[0].options[0].url) {\\n            if (/haikuo/.test(URL)) {\\n                d.push({\\n                    title: \\\"<center>\\\" + '<span style=\\\"color: #FF4500\\\">公众号:新方圆小棉袄!<small>(点击复制)</small></span></center>',\\n                    url: 'copy://新方圆小棉袄.js:\\\"toast://已复制,请到微信关注小棉袄公众号\\\"',\\n                    col_type: \\\"avatar\\\",\\n                    img: \\\"http://pic.downcc.com/upload/2021-4/2021481415301369.png\\\"\\n                })\\n                d.push({\\n                    title: \\\"““””<center><small>\\\" + '<span style=\\\"color: #FF4500\\\">重要更新内容见公众号:新方圆小棉袄!\\\\n别忘了点赞、在看、投币三连!</span></small></center>',\\n                    url: 'https://mp.weixin.qq.com/s/ukMZ4D6eRm-OCAR1G8PaoQ',\\n                    col_type: 'text_center_1'\\n                });\\n                for (var j = 0; j < 5; j++) {\\n                    d.push({\\n                        col_type: 'line'\\n                    })\\n                }\\n            }\\n        } catch (e) {}\\n    }\\n\\n   \\n    for (var i in list) {\\n        if (list[i].id != undefined) {\\n        \\tvar url =trurl + '/tp/' + list[i].id\\n            if (list[i].ico != undefined) {\\n                var ico = getMyVar(\\\"ico\\\") + list[i].ico\\n            } else {\\n                var ico = \\\"https://lanmeiguojiang.com/tubiao/messy/71.svg\\\"\\n            }\\n            d.push({\\n                title: list[i].name_all,\\n                img: ico,                \\n                url:url+lazy, \\n                col_type: \\\"avatar\\\",\\n            });\\n            d.push({\\n            title:\\\"★发布于★\\\"+list[i].time,\\n          //  url:\\\"toast://发布于\\\"+list[i].time, \\n            url:url+lazy,\\n            col_type: \\\"text_1\\\",\\n          // col_type: \\\"avatar\\\",\\n            \\n            });\\n                d.push({\\n        col_type: 'line'\\n    })\\n        }\\n    }\\n    if (list == \\\"no file\\\") {\\n        d.push({\\n            title: \\\"““””<center><small>\\\" + '<span style=\\\"color: #999999\\\">~~~我是有底线的~~~</span></small></center>',\\n            url: 'toast://别点了,我真的有底线!',\\n            col_type: 'text_center_1'\\n        });\\n    }\\n    \\n      if (list == \\\"\\\") {\\n            d.push({\\n            title: \\\"““””<center>\\\" + '<span style=\\\"color: #FF4500\\\">没有获取到数据。!<small>(点击进原网页)</small></span></center>',\\n           //title: \\\"““””<center><small>\\\" + '<span style=\\\"color: #999999\\\">没有获取到数据。(点击进原网页)</span></small></center>',\\n            url: URL,\\n            col_type: 'text_center_1'\\n        }); \\n    \\n     }\\n} catch (e) {\\n\\tif (/lanzou/.test(MY_URL)) {\\n\\t\\tvar da=MY_URL.match(/(http|ftp|https):\\\\/\\\\/[\\\\w\\\\-_]+(\\\\.[\\\\w\\\\-_]+)+([\\\\w\\\\-\\\\.,@?^=%&:/~\\\\+#]*[\\\\w\\\\-\\\\@?^=%&/~\\\\+#])?/)[0]\\n\\t\\tif(da.indexOf(\\\"com/tp/\\\")==-1){  \\n\\t\\tvar da=da.replace(\\\"com/\\\",\\\"com/tp/\\\")\\n\\t\\t}\\n\\t\\td.push({\\n\\t\\t\\ttitle: \\\"🔗\\\"+da,\\n\\t\\t\\turl: da+lazy,\\n\\t\\t\\tcol_type: \\\"text_1\\\",\\t\\t\\t\\n    });\\t\\n\\t\\t}else{\\n    d.push({\\n        title: \\\"没有获取到云盘信息,请确认网盘链接是否正确!\\\",\\n        url: 'toast://真的没有获取到~~',\\n        col_type: 'text_center_1'\\n    });\\n    if (/http|https/.test(MY_URL)) {\\n       var url = MY_URL.match(/(http|ftp|https):\\\\/\\\\/[\\\\w\\\\-_]+(\\\\.[\\\\w\\\\-_]+)+([\\\\w\\\\-\\\\.,@?^=%&:/~\\\\+#]*[\\\\w\\\\-\\\\@?^=%&/~\\\\+#])?/)[0]\\n    } else {\\n        var url = 'toast://好像不是个链接!'\\n    }\\n    d.push({\\n        title: \\\"点击网页查看。你输入的地址:\\\\n\\\" + MY_URL.split(\\\"$$$\\\")[1],\\n        url: url,\\n        col_type: 'text_1'\\n    });\\n    clearMyVar(\\\"listsurl\\\");\\n    clearMyVar(\\\"listspwd\\\");\\n    }\\n}\\nsetResult(d);\"}]","proxy":"","icon":"https://img1.ali213.net/shouyou/cover/8/10257735.jpg"},{"last_chapter_rule":"","title":"云口令工具箱","author":"小棉袄🌞","version":10,"type":"tool","url":"hiker://empty##","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\nd.push({\n    title: \"蓝奏网盘规则云口令\",\n    url: \"https://www.lanzoux.com/\",\n    col_type: \"text_center_1\",\n    desc: \"\",\n    pic_url: \"\"\n});\n\nd.push({\n    title: \"生成\",\n    url: $.toString(() => {\n        let u = input.split(\"@\");\n        let rule = u[0];\n        let url = u[1];\n        let h = \"云口令,\" + rule + \",复制整条口令打开软件即可导入\\n\";\n        let r = base64Encode($.toString(() => {\n            let da = input.match(/(http|ftp|https):\\/\\/[\\w\\-_]+(\\.[\\w\\-_]+)+([\\w\\-\\.,@?^=%&:/~\\+#]*[\\w\\-\\@?^=%&/~\\+#])?/)[0]\n            if (da.indexOf(\"com/tp/\") == -1) {\n                da = da.replace(\"com/\", \"com/tp/\");\n            }\n            let u = 'https://developer.lanzoug.com/file/' + request(da).match(/'(\\?.*?)'/)[1]\n            var j = request(u, {\n                redirect: false,\n                withHeaders: true\n            })\n            let k = JSON.parse(j).headers.location[0]\n            return request(k);\n        }));\n        return \"copy://\" + h + url + \"@import=js:eval(base64Decode('\" + r + \"'))\";\n    }),\n    col_type: \"input\",\n    desc: \"请输入规则名@蓝奏云地址\",\n    pic_url: \"\"\n});\n\nd.push({\n    title: \"通用网盘规则云口令\",\n    url: \"https://123pan.com/\",\n    col_type: \"text_center_1\",\n    desc: \"\",\n    pic_url: \"\"\n});\n\nd.push({\n    title: \"生成\",\n    url: $.toString(() => {\n        let u = input.split(\"@\");\n        let rule = u[0];\n        let url = u[1];\n        let h = \"云口令,\" + rule + \",复制整条口令打开软件即可导入\\n\";\n        let r = base64Encode($.toString(() => {\n            toast(\"请下载文件,下载完软件自动提示导入\");\n            return \"x5://\" + input\n        }));\n        return \"copy://\" + h + url + \"@import=js:eval(base64Decode('\" + r + \"'))\";\n    }),\n    col_type: \"input\",\n    desc: \"请输入规则名@网盘地址\",\n    pic_url: \"\"\n});\n\nd.push({\n    title: \"蓝奏网盘合集云口令\",\n    url: \"https://www.lanzoux.com/\",\n    col_type: \"text_center_1\",\n    desc: \"\",\n    pic_url: \"\"\n});\n\nd.push({\n    title: \"生成\",\n    url: $.toString(() => {\n        let u = input.split(\"@\");\n        let rule = u[0];\n        let url = u[1];\n        let h = \"云口令,\" + rule + \",复制整条口令打开软件即可导入\\n\";\n        let r = base64Encode($.toString(() => {\n            let da = input.match(/(http|ftp|https):\\/\\/[\\w\\-_]+(\\.[\\w\\-_]+)+([\\w\\-\\.,@?^=%&:/~\\+#]*[\\w\\-\\@?^=%&/~\\+#])?/)[0]\n            if (da.indexOf(\"com/tp/\") == -1) {\n                da = da.replace(\"com/\", \"com/tp/\");\n            }\n            let u = 'https://developer.lanzoug.com/file/' + request(da).match(/'(\\?.*?)'/)[1]\n            var j = request(u, {\n                redirect: false,\n                withHeaders: true\n            })\n            let k = JSON.parse(j).headers.location[0];\n            let f = \"hiker://files/cache/_fileSelect_rule.json\";\n            downloadFile(k, f);\n            return \"海阔视界¥home_rule_url¥\" + getPath(f);\n        }));\n        return \"copy://\" + h + url + \"@import=js:eval(base64Decode('\" + r + \"'))\";\n    }),\n    col_type: \"input\",\n    desc: \"请输入合集名@蓝奏云地址\",\n    pic_url: \"\"\n});\n\nd.push({\n    title: \"paste.gg规则云口令\",\n    url: \"https://paste.gg/\",\n    col_type: \"text_center_1\",\n    desc: \"\",\n    pic_url: \"\"\n});\n\nd.push({\n    title: \"生成\",\n    url: $.toString(() => {\n        let u = input.split(\"@\");\n        let rule = u[0];\n        let url = u[1];\n        let h = \"云口令,\" + rule + \",复制整条口令打开软件即可导入\\n\";\n        let r = base64Encode($.toString(() => {\n            let h = fetch(input);\n            let c = pdfh(h, \"code&&Text\");\n            return decodeURIComponent(c);\n        }));\n        return \"copy://\" + h + url + \"@import=js:eval(base64Decode('\" + r + \"'))\";\n    }),\n    col_type: \"input\",\n    desc: \"请输入规则名@网盘地址\",\n    pic_url: \"\"\n});\n\n\nd.push({\n    title: \"坚果云规则云口令\",\n    url: \"https://www.jianguoyun.com\",\n    col_type: \"text_center_1\",\n    desc: \"\",\n    pic_url: \"\"\n});\n\nd.push({\n    title: \"生成\",\n    url: $.toString(() => {\n        let u = input.split(\"@\");\n        let rule = u[0];\n        let url = u[1];\n        let h = \"云口令,\" + rule + \",复制整条口令打开软件即可导入\\n\";\n        let r = $.toString(() => {\n            let k = input.split(\"/p/\")[1];\n            let u = \"https://www.jianguoyun.com/d/ajax/pubPreviewLink?key=\" + k + \"&pdfviewer=true&_=\" + new Date().getTime();\n            let j = request(u);\n            k = \"https://www.jianguoyun.\" + JSON.parse(j).url;\n            return request(k);\n        });\n        return \"copy://\" + h + url + \"@import=js:\" + r;\n    }),\n    col_type: \"input\",\n    desc: \"请输入规则名@坚果云地址\",\n    pic_url: \"\"\n});\n\n\nd.push({\n    title: \"羊驼网盘规则云口令\",\n    url: \"https://www.alpacadisk.com/\",\n    col_type: \"text_center_1\",\n    desc: \"\",\n    pic_url: \"\"\n});\n\nd.push({\n    title: \"生成\",\n    url: $.toString(() => {\n        let u = input.split(\"@\");\n        let rule = u[0];\n        let url = u[1];\n        let h = \"云口令,\" + rule + \",复制整条口令打开软件即可导入\\n\";\n        let r = $.toString(() => {\n            let k = input.replace(\"/shared/\", \"/api/files/\") + \"/public\";\n            return request(JSON.parse(request(k)).file_url);\n        });\n        return \"copy://\" + h + url + \"@import=js:\" + r;\n    }),\n    col_type: \"input\",\n    desc: \"请输入规则名@羊驼网盘地址\",\n    pic_url: \"\"\n});\n\nd.push({\n    title: \"使用说明<br>长按规则名称弹出菜单选择更多分享,点击文件形式分享,将文件上传到对应的网盘,然后把链接分享到这里粘贴使用\",\n    col_type: \"rich_text\",\n});\n\nd.push({\n    title: \"云口令导入配置最佳实践<br>规则用子页面写好导入逻辑,云口令代码中调用子页面<br>\" +\n        \"如云口令:<br>http://xx.cn@import=js:$.require('hiker://page/import?rule=小程序')\" +\n        \"<br>子页面:<br>log(input);<br>'toast://已从云口令新增一个X配置'\",\n    col_type: \"rich_text\",\n});\n\n\nsetResult(d);","searchFind":"","search_url":"","group":"工具","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"","pages":"[]","proxy":"","icon":""},{"last_chapter_rule":"","title":"AI搜索","author":"","version":44,"type":"tool","url":"hiker://empty##","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\nd.push({\n    title: \"根据搜索地址生成聚合搜索器,无二级解析,如有需要请用AI识片\",\n    url: \"\",\n    col_type: \"text_center_1\",\n    desc: \"\",\n    pic_url: \"\"\n});\n\nd.push({\n    title: \"\",\n    url: \"\",\n    col_type: \"input\",\n    desc: \"请输入要生成的规则合集名\",\n    pic_url: \"\",\n    extra: {        \n        titleVisible: false,\n        onChange: $.toString(() => {\n            putMyVar(\"r1\", input);\n        }),\n        defaultValue: getMyVar(\"r1\",\"\")\n    }\n});\nd.push({\n    title: \"\",\n    url: \"\",\n    col_type: \"input\",\n    desc: \"示例:\\n规则1@http://1.com?kw=%E4%BD\\n规则2@http://2.com?kw=%E4%BD\",\n    pic_url: \"\",\n    extra: {\n        type: \"textarea\",\n        height: 3,\n        highlight: true,\n        titleVisible: false,\n        onChange: $.toString(() => {\n            putMyVar(\"rule\", input);\n        }),\n        defaultValue: getMyVar(\"rule\", \"\")\n    }\n});\n\nd.push({\n    title: \"生成规则\",\n    url: $(\"#noLoading#\").lazyRule((rule1) => {\n        let rules = getMyVar(\"rule\", \"\");\n        let r1 = getMyVar(\"r1\", \"\");\n        rules = rules.split(\"\\n\")\n        .filter(it => it.includes(\"@\"))\n        .map(it=>{\n            let a = it.split(\"@\");\n            let r = decodeURIComponent(a[1]);\n            r = r.replace(new RegExp(\"[\\u4e00-\\u9fa5]+\", \"g\"), \"**\");\n            return a[0] + \"@\" + r;\n        })\n        .join(\"\\\\n\");\n        if (rules == \"\") {\n            return \"toast://请先在上面输入网站搜索地址合集\";\n        }\n        rule = JSON.parse(fetch(\"hiker://home@\" + rule1));\n        rule.find_rule = \"js:$.require('hiker://page/pro')\";\n        rule.url = \"hiker://empty##fypage\";\n        return \"海阔视界¥home_rule¥\" + JSON.stringify(rule)\n            .replace(\"{RULES}\", rules)\n            .replace(rule1, r1);\n    }, MY_RULE.title),\n    col_type: \"text_2\",\n    desc: \"\",\n    pic_url: \"\"\n});\n\nd.push({\n    title: \"来个示例\",\n    url: $(\"#noLoading#\").lazyRule(() => {\n        putMyVar(\"rule\", \"AppMovie@https://www.appmovie.cc/index.php/vod/search.html?wd=%E4%BD%A0%E6%98%AF%E6%88%91%E7%9A%84&submit=\");\n        putMyVar(\"r1\", \"AI测试\");\n        refreshPage();\n        return \"hiker://empty\"\n    }),\n    col_type: \"text_2\",\n    desc: \"\",\n    pic_url: \"\"\n});\n\nd.push({\n    title: \"以下为测试区域\",\n    url: \"\",\n    col_type: \"text_center_1\",\n    desc: \"\",\n    pic_url: \"\"\n});\n\n\nd.push({\n    title: \"\",\n    url: \"\",\n    col_type: \"input\",\n    desc: \"请输入网站搜索地址,要带搜索词\",\n    pic_url: \"\",\n    extra: {\n        titleVisible: false,\n        onChange: $.toString(() => {\n            putMyVar(\"r\", input);\n        }),\n        defaultValue: getMyVar(\"r\", \"\")\n    }\n});\n\n\nd.push({\n    title: \"搜索测试\",\n    url: $.toString(() => {\n        let r = getMyVar(\"r\", \"\");\n        if (r == \"\") {\n            return \"toast://请先在上面输入网站搜索地址\";\n        }\n        putMyVar(\"s\", input);\n        r = decodeURIComponent(r);\n        let surl = r.replace(new RegExp(\"[\\u4e00-\\u9fa5]+\", \"g\"), \"**\");\n        return \"hiker://page/s?key=\" + input + \"&u=\" + base64Encode(surl);\n    }),\n    col_type: \"input\",\n    desc: \"请输入关键词测试\",\n    pic_url: \"\",\n    extra: {\n        defaultValue: getMyVar(\"s\", \"\")\n    }\n});\n\nd.push({\n    title: \"来个示例\",\n    url: $(\"#noLoading#\").lazyRule(() => {\n        putMyVar(\"r\", \"https://www.appmovie.cc/index.php/vod/search.html?wd=%E4%BD%A0%E6%98%AF%E6%88%91%E7%9A%84&submit=\");\n        putMyVar(\"s\", \"龙之家族\");\n        refreshPage();\n        return \"hiker://empty\"\n    }),\n    col_type: \"text_center_1\",\n    desc: \"\",\n    pic_url: \"\"\n});\n\n\n\nsetResult(d);","searchFind":"","search_url":"","group":"工具","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"二级解析\",\"path\":\"p\",\"rule\":\"js:\\nvar d = [];\\nlet url = base64Decode(getParam(\\\"u\\\"));\\nd.push({\\n    title: \\\"\\\",\\n    url: url,\\n    col_type: \\\"x5_webview_single\\\",\\n    desc: \\\"float&&100%\\\",\\n    pic_url: \\\"\\\",\\n    extra: {\\n        canBack: true\\n    }\\n});\\nsetResult(d);\"},{\"col_type\":\"text_1\",\"name\":\"搜索测试\",\"path\":\"s\",\"rule\":\"js:\\nlet url = base64Decode(getParam(\\\"u\\\"));\\nlog(url);\\nlet key = getParam(\\\"key\\\");\\nlet sp = $.require(\\\"hiker://page/sp\\\");\\nsetResult(sp(url, key, \\\"搜索测试\\\"));\"},{\"col_type\":\"movie_3\",\"name\":\"聚合搜索\",\"path\":\"pro\",\"rule\":\"var d = [];\\nif (MY_PAGE == 1) {\\n    d.push({\\n        title: \\\"搜索\\\",\\n        url: $.toString(() => {\\n            refreshPage();\\n            return \\\"hiker://empty\\\";\\n        }),\\n        col_type: \\\"input\\\",\\n        desc: \\\"请输入关键词,尽量少字不要多字\\\",\\n        pic_url: \\\"\\\",\\n        extra: {\\n            defaultValue: getMyVar(\\\"sou\\\", \\\"\\\"),\\n            onChange: $.toString(() => {\\n                putMyVar(\\\"sou\\\", input);\\n            })\\n        }\\n    });\\n    addListener(\\\"onClose\\\", $.toString(() => {\\n        clearMyVar(\\\"sou\\\");\\n        clearMyVar(\\\"so\\\");\\n    }));\\n}\\n\\nlet s = getMyVar(\\\"sou\\\", \\\"\\\");\\nlet r = \\\"\\\";\\nif (s != \\\"\\\") {\\n    let p = MY_PAGE;\\n    let {\\n        load\\n    } = $.require(\\\"hiker://page/data\\\");\\n    let {\\n        wrap\\n    } = $.require(\\\"hiker://page/tool\\\");\\n    let data = load(p, r != \\\"\\\" ? r : null);\\n\\n    let pageid = MY_RULE.title + \\\"-page\\\" + p;\\n    if (data.length > 0) {\\n        d.push({\\n            title: \\\"加载第\\\" + p + \\\"页中,进度:1/\\\" + data.length,\\n            url: \\\"\\\",\\n            col_type: \\\"text_center_1\\\",\\n            desc: \\\"\\\",\\n            pic_url: \\\"\\\",\\n            extra: {\\n                id: pageid\\n            }\\n        });\\n    }\\n    setResult(d);\\n    log(data.length);\\n    if (data.length > 0) {\\n        //多线程加载        \\n        let realPage = \\\"\\\" == r ? 1 : p;\\n        let tasks = data.map(it => {\\n            return {\\n                func: function(rule) {\\n                    return rule.find(s, realPage);\\n                },\\n                param: it,\\n                id: \\\"rule@\\\" + it.name\\n            }\\n        });\\n\\n        batchExecute(tasks, {\\n            func: function(param, id, error, result) {\\n                //log(\\\"listener: \\\" + (result || []).length)\\n                param.i = param.i + 1;\\n                if (result) {\\n                    try {\\n                        for (let it of result) {\\n                            param.j = param.j + 1;\\n                            addItemBefore(pageid, {\\n                                title: wrap(it.title, s),\\n                                desc: it.desc,\\n                                url: it.url,\\n                                pic_url: it.pic_url,\\n                                col_type: it.pic_url ? 'movie_1_vertical_pic' : \\\"text_1\\\",\\n                                extra: it.extra\\n                            })\\n                        }\\n                    } catch (e) {}\\n\\n                }\\n                if (param.i >= param.all) {\\n                    deleteItem(pageid)\\n                } else {\\n                    updateItem({\\n                        title: \\\"加载第\\\" + MY_PAGE + \\\"页中,进度:\\\" + (param.i + 1) + \\\"/\\\" + param.all,\\n                        url: \\\"\\\",\\n                        col_type: \\\"text_center_1\\\",\\n                        desc: \\\"\\\",\\n                        pic_url: \\\"\\\",\\n                        extra: {\\n                            id: pageid\\n                        }\\n                    })\\n                }\\n            },\\n            param: {\\n                all: data.length,\\n                i: 0,\\n                j: -1\\n            }\\n        })\\n    }\\n} else {\\n    let {\\n        load\\n    } = $.require(\\\"hiker://page/data\\\");\\n    let data = load(-1, null);\\n    if (data.length > 0) {       \\n        $.require(\\\"hiker://page/manage\\\")(d, data.map(it => it.name));\\n        for (let it of data) {\\n            d.push({\\n                title: it.name,\\n                url: \\\"select://\\\" + JSON.stringify({\\n                    title: \\\"请选择操作\\\",\\n                    col: 1,\\n                    options: [\\\"访问首页\\\", \\\"搜索此站\\\"],\\n                    js: $.toString((url) => {\\n                        if (input == \\\"访问首页\\\") {\\n                            MY_URL = url;\\n                            return \\\"x5://\\\" + getHome(url)\\n                        } else {\\n                            return \\\"hiker://page/singles\\\"\\n                        }\\n                    }, it.url)\\n                }),\\n                col_type: \\\"flex_button\\\",\\n                desc: \\\"\\\",\\n                pic_url: \\\"\\\",\\n                extra: {\\n                    RULE: {\\n                        name: it.name,\\n                        url: it.url\\n                    }\\n                }\\n            });\\n        }       \\n    }\\n}\\n\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"数据\",\"path\":\"data\",\"rule\":\"//并发规则数\\nlet size0 = 10;\\nlet rulesText0 = `{RULES}`;\\nlet rulesText = getItem(\\\"rules\\\", rulesText0);\\nlet sp = $.require(\\\"hiker://page/sp\\\");\\nrules = rulesText.split(\\\"\\\\n\\\")\\n    .filter(it => it.includes(\\\"@\\\"))\\n    .map(rule => {\\n        let s = rule.split(\\\"@\\\");\\n        return {\\n            name: s[0],\\n            find: function(key, page) {\\n                return sp(s[1], key, s[0]);\\n            },\\n            url: s[1]\\n        };\\n    });\\n\\nfunction load(page, rule) {\\n    let size = page <= 0 ? rules.length : size0;\\n    page = page <= 0 ? 1 : page;\\n    if (!page && !rule) {\\n        return rules.map(it => it.name);\\n    }\\n    if (rule != null) {\\n        if (page != null && page > 1) {\\n            return rules.filter(i => i.name == rule && i.page);\\n        }\\n        return rules.filter(i => i.name == rule);\\n    }\\n    let start = (page - 1) * size;\\n    if (rules.length < start + 1) {\\n        return [];\\n    }\\n    let len = size;\\n    if (rules.length < page * size) {\\n        len = rules.length - start\\n    }\\n    return rules.slice(start, start + len);\\n}\\n\\nfunction addRule(name, surl) {\\n    setItem(\\\"rules\\\", rulesText + \\\"\\\\n\\\" + name + \\\"@\\\" + surl);\\n}\\n\\nfunction removeRule(name) {\\n    let newT = rulesText.split(\\\"\\\\n\\\")\\n        .filter(it => it.indexOf(name + \\\"@\\\") < 0)\\n        .join(\\\"\\\\n\\\");\\n    setItem(\\\"rules\\\", newT);\\n}\\n\\n$.exports = {\\n    load: load,\\n    addRule: addRule,\\n    removeRule: removeRule\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"搜索解析\",\"path\":\"sp\",\"rule\":\"function search(url, key, rule) {\\n    let d = [];\\n    let html = \\\"\\\";\\n    if (url.includes(\\\"**\\\")) {\\n        //get请求\\n        let old = url;\\n        url = url.replace(\\\"**\\\", key);\\n        html = request(url);\\n        //自动过验证码和频繁访问限制\\n        let {\\n            check, test\\n        } = $.require(\\\"hiker://page/yzm\\\");\\n        if (check(url, html, d)) {\\n            log(\\\"重试了\\\");\\n            html = request(url, {\\n                headers: {\\n                    \\\"Referer\\\": url\\n                }\\n            });           \\n        }         \\n        test(url, html, d, old, key, rule);\\n    } else {\\n        //自动识别post请求\\n        html = request(url);\\n        let form = pdfh(html, \\\"body&&form&&Html\\\");\\n        let action = pd(html, \\\"form&&action\\\", url);\\n        let inputs = pdfa(html, \\\"body&&form&&input\\\");\\n        let body = {};\\n        for (let it of inputs) {\\n            let name = pdfh(it, \\\"input&&name\\\");\\n            if (name && name != \\\"\\\") {\\n                let value = pdfh(it, \\\"input&&value\\\");\\n                body[name] = value || key;\\n            }\\n        }\\n        html = post(action, {\\n            body: body\\n        });\\n    }\\n\\n    let alist = pdfa(html, \\\"body&&a\\\");\\n    let arr = alist.map(it => {\\n        let t = pdfh(it, \\\"a&&Text\\\");\\n        let t2 = pdfh(it, \\\"a&&title\\\");\\n        return {\\n            //html: it,\\n            text: t2 && t2.includes(key) ? t2 : t,\\n            href: pd(it, \\\"a&&href\\\", url)\\n        }\\n    });\\n\\n    function isResult(it) {\\n        it = it.text || \\\"\\\";\\n        if (it == \\\"\\\" || it.match(/搜索|结果/)) {\\n            return false\\n        }\\n        return it.toLowerCase().includes(key);\\n    }\\n    key = key.toLowerCase();\\n    for (let i = 0; i < arr.length; i++) {\\n        let it = arr[i];\\n        let t = it.text;\\n        if (!it.href || it.href == \\\"\\\") {\\n            continue;\\n        }\\n        if (isResult(it)) {\\n            d.push({\\n                title: t,\\n                url: \\\"hiker://page/p?u=\\\" + base64Encode(it.href),\\n                col_type: \\\"text_1\\\",\\n                desc: \\\"““””<font color=#f13b66a>\\\" + rule + \\\"</font>\\\"\\n            });\\n        }\\n    }\\n    return d;\\n}\\n$.exports = search;\"},{\"col_type\":\"movie_3\",\"name\":\"增删\",\"path\":\"manage\",\"rule\":\"$.exports = function(d, names) {\\n    d.push({\\n        title: \\\"AI技术\\\",\\n        url: \\\"confirm://基于AI识片自动分析源码技术,代码完全开源,数据来源于原网站,软件和规则不提供任何内容.js:''\\\",\\n        col_type: \\\"flex_button\\\"\\n    });\\n    d.push({\\n        title: \\\" + \\\",\\n        url: $(\\\"#noLoading#\\\").lazyRule((rr) => {\\n            deleteItemByCls(\\\"aiadd\\\");\\n            addItemAfter(rr + \\\"aisdel\\\", [{\\n                    title: \\\"\\\",\\n                    desc: \\\"请输入网站名称\\\",\\n                    col_type: \\\"input\\\",\\n                    extra: {\\n                        titleVisible: false,\\n                        onChange: \\\"putMyVar('name', input)\\\",\\n                        cls: \\\"aiadd\\\"\\n                    }\\n                },\\n                {\\n                    title: \\\"\\\",\\n                    desc: \\\"请输入网站搜索地址\\\",\\n                    col_type: \\\"input\\\",\\n                    extra: {\\n                        titleVisible: false,\\n                        onChange: \\\"putMyVar('surl', input)\\\",\\n                        cls: \\\"aiadd\\\"\\n                    }\\n                },\\n                {\\n                    title: \\\"提交保存\\\",\\n                    col_type: \\\"text_center_1\\\",\\n                    url: $(\\\"#noLoading#\\\").lazyRule(() => {\\n                        let surl = getMyVar(\\\"surl\\\", \\\"\\\");\\n                        let name = getMyVar(\\\"name\\\", \\\"\\\");\\n                        if (surl == \\\"\\\" || name == \\\"\\\") {\\n                            return \\\"toast://请输入完整内容\\\"\\n                        }\\n                        let r = decodeURIComponent(surl);\\n                        r = r.replace(new RegExp(\\\"[\\\\u4e00-\\\\u9fa5]+\\\", \\\"g\\\"), \\\"**\\\");\\n                        let {\\n                            addRule\\n                        } = $.require(\\\"hiker://page/data\\\");\\n                        addRule(name, r);\\n                        refreshPage();\\n                        return \\\"toast://已保存\\\";\\n                    }),\\n                    extra: {\\n                        cls: \\\"aiadd\\\"\\n                    }\\n                }\\n            ]);\\n            return \\\"hiker://empty\\\"\\n        }, MY_RULE.title),\\n        col_type: \\\"flex_button\\\",\\n    });\\n    d.push({\\n        title: \\\" - \\\",\\n        url: \\\"select://\\\" + JSON.stringify({\\n            options: names,\\n            title: \\\"请选择要删除的站点\\\",\\n            js: $.toString(() => {\\n                let {\\n                    removeRule\\n                } = $.require(\\\"hiker://page/data\\\");\\n                removeRule(input);\\n                refreshPage();\\n                return \\\"toast://OK\\\";\\n            })\\n        }),\\n        col_type: \\\"flex_button\\\",\\n        extra: {\\n            id: MY_RULE.title + \\\"aisdel\\\"\\n        }\\n    });\\n    d.push({\\n        col_type: \\\"blank_block\\\"\\n    });\\n\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"验证码\",\"path\":\"yzm\",\"rule\":\"function check(url, html, d) {\\n    let reload = false;\\n    return reload;\\n}\\n\\nfunction test(url, html, d, old, key, rule) {\\n    if (/5秒|频繁/.test(html)) {\\n        d.push({\\n            title: '搜索需间隔5秒,点击重新加载',\\n            col_type: \\\"text_1\\\",\\n            desc: \\\"““””<font color=#f13b66a>\\\" + rule + \\\"</font>\\\",\\n            url: $().lazyRule((url, old, key, rule) => {\\n                let sp = $.require(\\\"hiker://page/sp\\\");\\n                let d = sp(old, key, rule);\\n                let {\\n                    wrap\\n                } = $.require(\\\"hiker://page/tool\\\");\\n                for (let it of d) {\\n                    it.title = wrap(it.title, key);\\n                }\\n                addItemAfter(url, d);\\n                deleteItem(url);\\n                return \\\"toast://OK\\\";\\n            }, url, old, key, rule),\\n            extra: {\\n                id: url\\n            }\\n        });\\n    }\\n}\\n\\n$.exports = {\\n    check: check,\\n    test: test\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"工具\",\"path\":\"tool\",\"rule\":\"function wrap(text, s) {\\n    return text.includes(\\\"““””\\\") ? text : \\\"““””\\\" + text.replace(new RegExp(\\\"<em>|</em>\\\", \\\"g\\\"), \\\"\\\").replace(new RegExp(s, \\\"g\\\"), \\\"<strong><span style=\\\\\\\"color: #1E90FF\\\\\\\">\\\" + s + \\\"</span></strong>\\\")\\n}\\n$.exports = {\\n    wrap: wrap\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"单搜\",\"path\":\"singles\",\"rule\":\"js:\\nvar d = [];\\nd.push({\\n    title: \\\"搜索\\\",\\n    url: $.toString(() => {\\n        putMyVar(\\\"so\\\", input);\\n        refreshPage();\\n    }),\\n    col_type: \\\"input\\\",\\n    desc: \\\"请输入关键词,尽量少字不要多字\\\",\\n    pic_url: \\\"\\\",\\n    extra: {\\n        defaultValue: getMyVar(\\\"so\\\", \\\"\\\")\\n    }\\n});\\nlet s = getMyVar(\\\"so\\\", \\\"\\\");\\nlet r = \\\"\\\";\\nif (s != \\\"\\\") {\\n    let p = MY_PAGE;\\n    let {\\n        load\\n    } = $.require(\\\"hiker://page/data\\\");\\n    let {\\n        wrap\\n    } = $.require(\\\"hiker://page/tool\\\");\\n    let data = load(p, MY_PARAMS.RULE.name);\\n    let arr = data[0].find(s, p);\\n    for (let it of arr) {\\n        it.title = wrap(it.title, s)\\n        d.push(it);\\n    }\\n}\\nsetResult(d);\"}]","proxy":"","icon":""},{"last_chapter_rule":"","title":"AI识片","author":"","version":44,"type":"tool","url":"hiker://empty##","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\nd.push({\n    title: \"终极大招,输入搜索地址生成规则\",\n    url: \"\",\n    col_type: \"text_center_1\",\n    desc: \"\",\n    pic_url: \"\"\n});\n\nd.push({\n    title: \"\",\n    url: \"\",\n    col_type: \"input\",\n    desc: \"请输入要生成的规则合集名\",\n    pic_url: \"\",\n    extra: {        \n        titleVisible: false,\n        onChange: $.toString(() => {\n            putMyVar(\"r1\", input);\n        }),\n        defaultValue: getMyVar(\"r1\",\"\")\n    }\n});\nd.push({\n    title: \"\",\n    url: \"\",\n    col_type: \"input\",\n    desc: \"示例:\\n规则1@http://1.com?kw=%E4%BD\\n规则2@http://2.com?kw=%E4%BD\",\n    pic_url: \"\",\n    extra: {\n        type: \"textarea\",\n        height: 3,\n        highlight: true,\n        titleVisible: false,\n        onChange: $.toString(() => {\n            putMyVar(\"rule\", input);\n        }),\n        defaultValue: getMyVar(\"rule\", \"\")\n    }\n});\n\nd.push({\n    title: \"生成规则\",\n    url: $(\"#noLoading#\").lazyRule((rule1) => {\n        let rules = getMyVar(\"rule\", \"\");\n        let r1 = getMyVar(\"r1\", \"\");\n        rules = rules.split(\"\\n\")\n        .filter(it => it.includes(\"@\"))\n        .map(it=>{\n            let a = it.split(\"@\");\n            let r = decodeURIComponent(a[1]);\n            r = r.replace(new RegExp(\"[\\u4e00-\\u9fa5]+\", \"g\"), \"**\");\n            return a[0] + \"@\" + r;\n        })\n        .join(\"\\\\n\");\n        if (rules == \"\") {\n            return \"toast://请先在上面输入网站搜索地址合集\";\n        }\n        rule = JSON.parse(fetch(\"hiker://home@\" + rule1));\n        rule.find_rule = \"js:$.require('hiker://page/pro')\";\n        rule.url = \"hiker://empty##fypage\";\n        return \"海阔视界¥home_rule¥\" + JSON.stringify(rule)\n            .replace(\"{RULES}\", rules)\n            .replace(rule1, r1);\n    }, MY_RULE.title),\n    col_type: \"text_2\",\n    desc: \"\",\n    pic_url: \"\"\n});\n\nd.push({\n    title: \"来个示例\",\n    url: $(\"#noLoading#\").lazyRule(() => {\n        putMyVar(\"rule\", \"AppMovie@https://www.appmovie.cc/index.php/vod/search.html?wd=%E4%BD%A0%E6%98%AF%E6%88%91%E7%9A%84&submit=\");\n        putMyVar(\"r1\", \"AI测试\");\n        refreshPage();\n        return \"hiker://empty\"\n    }),\n    col_type: \"text_2\",\n    desc: \"\",\n    pic_url: \"\"\n});\n\nd.push({\n    title: \"以下为测试区域\",\n    url: \"\",\n    col_type: \"text_center_1\",\n    desc: \"\",\n    pic_url: \"\"\n});\n\n\nd.push({\n    title: \"走你\",\n    url: $.toString(() => {\n        return \"hiker://page/p?u=\" + base64Encode(input)\n    }),\n    col_type: \"input\",\n    desc: \"请输入选集网页地址\",\n    pic_url: \"\"\n});\n\n\nd.push({\n    title: \"\",\n    url: \"\",\n    col_type: \"input\",\n    desc: \"请输入网站搜索地址,要带搜索词\",\n    pic_url: \"\",\n    extra: {\n        titleVisible: false,\n        onChange: $.toString(() => {\n            putMyVar(\"r\", input);\n        }),\n        defaultValue: getMyVar(\"r\", \"\")\n    }\n});\n\n\nd.push({\n    title: \"搜索测试\",\n    url: $.toString(() => {\n        let r = getMyVar(\"r\", \"\");\n        if (r == \"\") {\n            return \"toast://请先在上面输入网站搜索地址\";\n        }\n        putMyVar(\"s\", input);\n        r = decodeURIComponent(r);\n        let surl = r.replace(new RegExp(\"[\\u4e00-\\u9fa5]+\", \"g\"), \"**\");\n        return \"hiker://page/s?key=\" + input + \"&u=\" + base64Encode(surl);\n    }),\n    col_type: \"input\",\n    desc: \"请输入关键词测试\",\n    pic_url: \"\",\n    extra: {\n        defaultValue: getMyVar(\"s\", \"\")\n    }\n});\n\nd.push({\n    title: \"来个示例\",\n    url: $(\"#noLoading#\").lazyRule(() => {\n        putMyVar(\"r\", \"https://www.appmovie.cc/index.php/vod/search.html?wd=%E4%BD%A0%E6%98%AF%E6%88%91%E7%9A%84&submit=\");\n        putMyVar(\"s\", \"龙之家族\");\n        refreshPage();\n        return \"hiker://empty\"\n    }),\n    col_type: \"text_center_1\",\n    desc: \"\",\n    pic_url: \"\"\n});\n\n\n\nsetResult(d);","searchFind":"","search_url":"","group":"工具","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"二级解析\",\"path\":\"p\",\"rule\":\"js:\\nvar d = [];\\nlet url = base64Decode(getParam(\\\"u\\\"));\\nlet html = request(url);\\nlet alist = pdfa(html, \\\"body&&a\\\");\\nlet arr = alist.map(it => {\\n    return {\\n        //html: it,\\n        text: pdfh(it, \\\"a&&Text\\\"),\\n        title: pdfh(it, \\\"a&&title\\\"),\\n        href: pd(it, \\\"a&&href\\\", url)\\n    }\\n});\\n//log(arr);\\nlet debug = false;\\n\\nfunction clearText(it) {\\n    return it.replace(/第|集|章/g, \\\"\\\");\\n}\\n\\nfunction isMovie(it) {\\n    if (it == null || it.text == null) {\\n        return false;\\n    }\\n    let tit = it.title || \\\"\\\";\\n    it = it.text || \\\"\\\";\\n    if (it == \\\"\\\" || it.length > 8) {\\n        return false;\\n    }\\n    //排除\\n    let reg = /\\\\.|高清直播|写真推荐/;\\n    if (tit != \\\"\\\" && !tit.includes(it) || reg.test(it)) {\\n        return false;\\n    }\\n    return it.match(/原画|备用|蓝光|超清|高清|正片|韩版|4K|4k|1080P|720P|TC|HD|BD/)\\n}\\n\\nfunction notChapter(it) {\\n    if (it == null || it.text == null) {\\n        return true;\\n    }\\n    return it.text.match(/[0-9]\\\\.[0-9]分/);\\n}\\n\\nfunction isChapter(it, pre, next) {\\n    if (notChapter(it)) {\\n        //优先排除\\n        return false;\\n    }\\n    //判断是不是电影\\n    if (isMovie(it)) {\\n        return true;\\n    }\\n    return isChapter0(it, pre) || isChapter0(it, next);\\n}\\n\\nfunction getChapterNum(it) {\\n    if (it == null || it.text == null) {\\n        return -1;\\n    }\\n    it = it.text || \\\"\\\";\\n    if (it == \\\"\\\") {\\n        return -1;\\n    }\\n    it = clearText(it);\\n    let reg = /^[0-9]*$/;\\n    if (!reg.test(it)) {\\n        return -1;\\n    }\\n    it = parseInt(it);\\n    if (isNaN(it)) {\\n        return -1;\\n    }\\n    return it;\\n}\\n\\nfunction isChapter0(it, brother) {\\n    /*if (debug) {\\n        log({\\n            it: it,\\n            brother: brother\\n        });\\n    }*/\\n    it = getChapterNum(it);\\n    //if (debug) log(it);\\n    if (it < 0) {\\n        return false;\\n    }\\n    brother = getChapterNum(brother);\\n    //if (debug) log(brother);\\n    if (brother < 0) {\\n        return false;\\n    }\\n    return it - brother < 2 && it - brother > -2;\\n}\\n\\nlet _web = $.toString(() => {\\n    let urls = _getUrls();\\n    let reg = /\\\\.html|\\\\.css|\\\\.js/;\\n    for (let k in urls) {\\n        if (!reg.test(urls[k]) && urls[k].match(/\\\\.mp4|\\\\.m3u8/)) {\\n            fy_bridge_app.log(urls[k]);\\n            return fy_bridge_app.getHeaderUrl(urls[k].replace(/.*?url=/, \\\"\\\")) + \\\"#ignoreImg=true#\\\";\\n        }\\n    }\\n});\\n\\nlet web = getItem('web', '0') == \\\"1\\\";\\n\\nfor (let i = 0; i < arr.length; i++) {\\n    let it = arr[i];\\n    let t = it.text;\\n    if (!it.href || it.href == \\\"\\\") {\\n        continue;\\n    }\\n    let pre = i == 0 ? null : arr[i - 1];\\n    let next = i == (arr.length - 1) ? null : arr[i + 1];\\n    if (isChapter(it, pre, next)) {\\n        if (web) {\\n            var urlx = \\\"webRule://\\\" + it.href + \\\"@\\\" + _web;\\n            var extrax = {\\n                jsLoadingInject: true,\\n                id: it.href,\\n                blockRules: ['.m4a', '.mp3', '.flv', '.avi', '.3gp', '.mpeg', '.wmv', '.mov', '.rmvb', '.gif', '.jpeg', '.png', '.ico', '.svg']\\n            };\\n        } else {\\n            var urlx = \\\"video://\\\" + it.href;\\n            var extrax = {\\n                id: it.href\\n            };\\n        }\\n        d.push({\\n            title: t,\\n            url: urlx,\\n            col_type: \\\"text_3\\\",\\n            extra: extrax\\n        });\\n    }\\n}\\nif (d.length == 0) {\\n    //匹配失败\\n    d.push({\\n        title: \\\"\\\",\\n        url: url,\\n        col_type: \\\"x5_webview_single\\\",\\n        desc: \\\"float&&100%\\\",\\n        pic_url: \\\"\\\",\\n        extra: {\\n            canBack: true\\n        }\\n    });\\n    toast(\\\"AI匹配失败,已使用X5加载\\\");\\n    setResult(d);\\n} else {\\n    //为线路加分割线\\n    let d2 = [];\\n    for (let i = 0; i < d.length; i++) {\\n        d2.push(d[i]);\\n        if (i < d.length - 1) {\\n            let it = d[i];\\n            let t1 = parseInt(clearText(it.title));\\n            let next = d[i + 1];\\n            let t2 = parseInt(clearText(next.title));\\n            if (t2 - t1 > 1 || t1 - t2 > 1) {\\n                d2.push({\\n                    col_type: \\\"big_blank_block\\\"\\n                });\\n                d2.push({\\n                    col_type: \\\"line_blank\\\"\\n                });\\n                d2.push({\\n                    col_type: \\\"big_blank_block\\\"\\n                });\\n            }\\n        }\\n    }\\n\\n    setResult(d2);\\n}\"},{\"col_type\":\"text_1\",\"name\":\"搜索测试\",\"path\":\"s\",\"rule\":\"js:\\nlet url = base64Decode(getParam(\\\"u\\\"));\\nlog(url);\\nlet key = getParam(\\\"key\\\");\\nlet sp = $.require(\\\"hiker://page/sp\\\");\\nsetResult(sp(url, key, \\\"搜索测试\\\"));\"},{\"col_type\":\"movie_3\",\"name\":\"聚合搜索\",\"path\":\"pro\",\"rule\":\"var d = [];\\nif (MY_PAGE == 1) {\\n    d.push({\\n        title: \\\"搜索\\\",\\n        url: $.toString(() => {\\n            refreshPage();\\n            return \\\"hiker://empty\\\";\\n        }),\\n        col_type: \\\"input\\\",\\n        desc: \\\"请输入关键词,尽量少字不要多字\\\",\\n        pic_url: \\\"\\\",\\n        extra: {\\n            defaultValue: getMyVar(\\\"sou\\\", \\\"\\\"),\\n            onChange: $.toString(() => {\\n                putMyVar(\\\"sou\\\", input);\\n            })\\n        }\\n    });\\n    addListener(\\\"onClose\\\", $.toString(() => {\\n        clearMyVar(\\\"sou\\\");\\n        clearMyVar(\\\"so\\\");\\n    }));\\n}\\n\\nlet s = getMyVar(\\\"sou\\\", \\\"\\\");\\nlet r = \\\"\\\";\\nif (s != \\\"\\\") {\\n    let p = MY_PAGE;\\n    let {\\n        load\\n    } = $.require(\\\"hiker://page/data\\\");\\n    let {\\n        wrap\\n    } = $.require(\\\"hiker://page/tool\\\");\\n    let data = load(p, r != \\\"\\\" ? r : null);\\n\\n    let pageid = MY_RULE.title + \\\"-page\\\" + p;\\n    if (data.length > 0) {\\n        d.push({\\n            title: \\\"加载第\\\" + p + \\\"页中,进度:1/\\\" + data.length,\\n            url: \\\"\\\",\\n            col_type: \\\"text_center_1\\\",\\n            desc: \\\"\\\",\\n            pic_url: \\\"\\\",\\n            extra: {\\n                id: pageid\\n            }\\n        });\\n    }\\n    setResult(d);\\n    log(data.length);\\n    if (data.length > 0) {\\n        //多线程加载        \\n        let realPage = \\\"\\\" == r ? 1 : p;\\n        let tasks = data.map(it => {\\n            return {\\n                func: function(rule) {\\n                    return rule.find(s, realPage);\\n                },\\n                param: it,\\n                id: \\\"rule@\\\" + it.name\\n            }\\n        });\\n\\n        batchExecute(tasks, {\\n            func: function(param, id, error, result) {\\n                //log(\\\"listener: \\\" + (result || []).length)\\n                param.i = param.i + 1;\\n                if (result) {\\n                    try {\\n                        for (let it of result) {\\n                            param.j = param.j + 1;\\n                            addItemBefore(pageid, {\\n                                title: wrap(it.title, s),\\n                                desc: it.desc,\\n                                url: it.url,\\n                                pic_url: it.pic_url,\\n                                col_type: it.pic_url ? 'movie_1_vertical_pic' : \\\"text_1\\\",\\n                                extra: it.extra\\n                            })\\n                        }\\n                    } catch (e) {}\\n\\n                }\\n                if (param.i >= param.all) {\\n                    deleteItem(pageid)\\n                } else {\\n                    updateItem({\\n                        title: \\\"加载第\\\" + MY_PAGE + \\\"页中,进度:\\\" + (param.i + 1) + \\\"/\\\" + param.all,\\n                        url: \\\"\\\",\\n                        col_type: \\\"text_center_1\\\",\\n                        desc: \\\"\\\",\\n                        pic_url: \\\"\\\",\\n                        extra: {\\n                            id: pageid\\n                        }\\n                    })\\n                }\\n            },\\n            param: {\\n                all: data.length,\\n                i: 0,\\n                j: -1\\n            }\\n        })\\n    }\\n} else {\\n    let {\\n        load\\n    } = $.require(\\\"hiker://page/data\\\");\\n    let data = load(-1, null);\\n    if (data.length > 0) {       \\n        $.require(\\\"hiker://page/manage\\\")(d, data.map(it => it.name));\\n        for (let it of data) {\\n            d.push({\\n                title: it.name,\\n                url: \\\"select://\\\" + JSON.stringify({\\n                    title: \\\"请选择操作\\\",\\n                    col: 1,\\n                    options: [\\\"访问首页\\\", \\\"搜索此站\\\"],\\n                    js: $.toString((url) => {\\n                        if (input == \\\"访问首页\\\") {\\n                            MY_URL = url;\\n                            return \\\"x5://\\\" + getHome(url)\\n                        } else {\\n                            return \\\"hiker://page/singles\\\"\\n                        }\\n                    }, it.url)\\n                }),\\n                col_type: \\\"flex_button\\\",\\n                desc: \\\"\\\",\\n                pic_url: \\\"\\\",\\n                extra: {\\n                    RULE: {\\n                        name: it.name,\\n                        url: it.url\\n                    }\\n                }\\n            });\\n        }       \\n    }\\n}\\n\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"数据\",\"path\":\"data\",\"rule\":\"//并发规则数\\nlet size0 = 10;\\nlet rulesText0 = `{RULES}`;\\nlet rulesText = getItem(\\\"rules\\\", rulesText0);\\nlet sp = $.require(\\\"hiker://page/sp\\\");\\nrules = rulesText.split(\\\"\\\\n\\\")\\n    .filter(it => it.includes(\\\"@\\\"))\\n    .map(rule => {\\n        let s = rule.split(\\\"@\\\");\\n        return {\\n            name: s[0],\\n            find: function(key, page) {\\n                return sp(s[1], key, s[0]);\\n            },\\n            url: s[1]\\n        };\\n    });\\n\\nfunction load(page, rule) {\\n    let size = page <= 0 ? rules.length : size0;\\n    page = page <= 0 ? 1 : page;\\n    if (!page && !rule) {\\n        return rules.map(it => it.name);\\n    }\\n    if (rule != null) {\\n        if (page != null && page > 1) {\\n            return rules.filter(i => i.name == rule && i.page);\\n        }\\n        return rules.filter(i => i.name == rule);\\n    }\\n    let start = (page - 1) * size;\\n    if (rules.length < start + 1) {\\n        return [];\\n    }\\n    let len = size;\\n    if (rules.length < page * size) {\\n        len = rules.length - start\\n    }\\n    return rules.slice(start, start + len);\\n}\\n\\nfunction addRule(name, surl) {\\n    setItem(\\\"rules\\\", rulesText + \\\"\\\\n\\\" + name + \\\"@\\\" + surl);\\n}\\n\\nfunction removeRule(name) {\\n    let newT = rulesText.split(\\\"\\\\n\\\")\\n        .filter(it => it.indexOf(name + \\\"@\\\") < 0)\\n        .join(\\\"\\\\n\\\");\\n    setItem(\\\"rules\\\", newT);\\n}\\n\\n$.exports = {\\n    load: load,\\n    addRule: addRule,\\n    removeRule: removeRule\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"搜索解析\",\"path\":\"sp\",\"rule\":\"function search(url, key, rule) {\\n    let d = [];\\n    let html = \\\"\\\";\\n    if (url.includes(\\\"**\\\")) {\\n        //get请求\\n        let old = url;\\n        url = url.replace(\\\"**\\\", key);\\n        html = request(url);\\n        //自动过验证码和频繁访问限制\\n        let {\\n            check, test\\n        } = $.require(\\\"hiker://page/yzm\\\");\\n        if (check(url, html, d)) {\\n            log(\\\"重试了\\\");\\n            html = request(url, {\\n                headers: {\\n                    \\\"Referer\\\": url\\n                }\\n            });           \\n        }         \\n        test(url, html, d, old, key, rule);\\n    } else {\\n        //自动识别post请求\\n        html = request(url);\\n        let form = pdfh(html, \\\"body&&form&&Html\\\");\\n        let action = pd(html, \\\"form&&action\\\", url);\\n        let inputs = pdfa(html, \\\"body&&form&&input\\\");\\n        let body = {};\\n        for (let it of inputs) {\\n            let name = pdfh(it, \\\"input&&name\\\");\\n            if (name && name != \\\"\\\") {\\n                let value = pdfh(it, \\\"input&&value\\\");\\n                body[name] = value || key;\\n            }\\n        }\\n        html = post(action, {\\n            body: body\\n        });\\n    }\\n\\n    let alist = pdfa(html, \\\"body&&a\\\");\\n    let arr = alist.map(it => {\\n        let t = pdfh(it, \\\"a&&Text\\\");\\n        let t2 = pdfh(it, \\\"a&&title\\\");\\n        return {\\n            //html: it,\\n            text: t2 && t2.includes(key) ? t2 : t,\\n            href: pd(it, \\\"a&&href\\\", url)\\n        }\\n    });\\n\\n    function isResult(it) {\\n        it = it.text || \\\"\\\";\\n        if (it == \\\"\\\" || it.match(/搜索|结果/)) {\\n            return false\\n        }\\n        return it.includes(key);\\n    }\\n\\n    for (let i = 0; i < arr.length; i++) {\\n        let it = arr[i];\\n        let t = it.text;\\n        if (!it.href || it.href == \\\"\\\") {\\n            continue;\\n        }\\n        if (isResult(it)) {\\n            d.push({\\n                title: t,\\n                url: \\\"hiker://page/p?u=\\\" + base64Encode(it.href),\\n                col_type: \\\"text_1\\\",\\n                desc: \\\"““””<font color=#f13b66a>\\\" + rule + \\\"</font>\\\"\\n            });\\n        }\\n    }\\n    return d;\\n}\\n$.exports = search;\"},{\"col_type\":\"movie_3\",\"name\":\"增删\",\"path\":\"manage\",\"rule\":\"$.exports = function(d, names) {\\n    d.push({\\n        title: \\\"AI技术\\\",\\n        url: \\\"confirm://基于AI识片自动分析源码技术,代码完全开源,数据来源于原网站,软件和规则不提供任何内容.js:''\\\",\\n        col_type: \\\"flex_button\\\"\\n    }, {\\n        title: getItem('web', '0') == \\\"0\\\" ? \\\"视频嗅探\\\" : \\\"Web通免\\\",\\n        url: $(\\\"#noLoading#\\\").lazyRule(() => {\\n            if (getItem('web', '0') == \\\"0\\\") {\\n                setItem('web', '1')\\n            } else {\\n                setItem('web', '0')\\n            }\\n            refreshPage();\\n            return 'hiker://empty'\\n        }),\\n        col_type: \\\"flex_button\\\"\\n    });\\n    d.push({\\n        title: \\\" + \\\",\\n        url: $(\\\"#noLoading#\\\").lazyRule((rr) => {\\n            deleteItemByCls(\\\"aiadd\\\");\\n            addItemAfter(rr + \\\"aisdel\\\", [{\\n                    title: \\\"\\\",\\n                    desc: \\\"请输入网站名称\\\",\\n                    col_type: \\\"input\\\",\\n                    extra: {\\n                        titleVisible: false,\\n                        onChange: \\\"putMyVar('name', input)\\\",\\n                        cls: \\\"aiadd\\\"\\n                    }\\n                },\\n                {\\n                    title: \\\"\\\",\\n                    desc: \\\"请输入网站搜索地址\\\",\\n                    col_type: \\\"input\\\",\\n                    extra: {\\n                        titleVisible: false,\\n                        onChange: \\\"putMyVar('surl', input)\\\",\\n                        cls: \\\"aiadd\\\"\\n                    }\\n                },\\n                {\\n                    title: \\\"提交保存\\\",\\n                    col_type: \\\"text_center_1\\\",\\n                    url: $(\\\"#noLoading#\\\").lazyRule(() => {\\n                        let surl = getMyVar(\\\"surl\\\", \\\"\\\");\\n                        let name = getMyVar(\\\"name\\\", \\\"\\\");\\n                        if (surl == \\\"\\\" || name == \\\"\\\") {\\n                            return \\\"toast://请输入完整内容\\\"\\n                        }\\n                        let r = decodeURIComponent(surl);\\n                        r = r.replace(new RegExp(\\\"[\\\\u4e00-\\\\u9fa5]+\\\", \\\"g\\\"), \\\"**\\\");\\n                        let {\\n                            addRule\\n                        } = $.require(\\\"hiker://page/data\\\");\\n                        addRule(name, r);\\n                        refreshPage();\\n                        return \\\"toast://已保存\\\";\\n                    }),\\n                    extra: {\\n                        cls: \\\"aiadd\\\"\\n                    }\\n                }\\n            ]);\\n            return \\\"hiker://empty\\\"\\n        }, MY_RULE.title),\\n        col_type: \\\"flex_button\\\",\\n    });\\n    d.push({\\n        title: \\\" - \\\",\\n        url: \\\"select://\\\" + JSON.stringify({\\n            options: names,\\n            title: \\\"请选择要删除的站点\\\",\\n            js: $.toString(() => {\\n                let {\\n                    removeRule\\n                } = $.require(\\\"hiker://page/data\\\");\\n                removeRule(input);\\n                refreshPage();\\n                return \\\"toast://OK\\\";\\n            })\\n        }),\\n        col_type: \\\"flex_button\\\",\\n        extra: {\\n            id: MY_RULE.title + \\\"aisdel\\\"\\n        }\\n    });\\n    d.push({\\n        col_type: \\\"blank_block\\\"\\n    });\\n\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"验证码\",\"path\":\"yzm\",\"rule\":\"function check(url, html, d) {\\n    let reload = false;\\n    if (/验证码|系统安全验证/.test(html)) {\\n        let headers = {\\n            \\\"User-Agent\\\": MOBILE_UA,\\n            \\\"Referer\\\": url\\n        };\\n        MY_HOME = getHome(url);\\n        let ssyz = 'TloGnnikThrfs/5fDNlk5CSsbaGtAH7W/uMZjuYoIupB6bCoo9CotLQHfPIdGgbkbynKqL2aUE2Xy558X2QxHYtTU09vD+4oaCDIuSZO7nxDbLfRGfWj7zql+yMbvF+aJoD/m6Psfw/PyYOAp/ZVGdrPzaCByfd0HL5DFVSw+YF2OC40V8SP9RxdFKKdrBuPxCWdxUCFrJ+1lRy/TU3LC84C4xxEBhgud7RtBp0zZArqBE06+Z3JtDP0eFCz/D5X0409qPHK3e1y/LuUgccuxpHnjYLE1GjlP8wYA2hQWe7yPngggQBHw33/gvb3tuCcxEKTWgmah/R32AH9ZF8jF7WemT26lUizVXe/spCdhDgHR/zUhODD4PO6glI8JPhdu+VwfPyRLG2D7CUo1L6SIF+0fYf0oTOWN13UPITo5+uZd/WnQQLU8NYx/WFCThEnkbzln9YGt60fRxsH+8uMDFgaBiC+z2SpcxB9gZ6GXypLSXWaj+qEUbGJKEx+jK/v5fnrkIhCdwNbkp9dRks6dmlYlBifzoWF8RkuC3rqPtoScBkMOMZu7GiVtoHEdHUozmnUIdrU1LGIqq9WnG7X2a3yH8s65mjLuLnd3q0U8v+LMPnHL2/GjQuTQKVh+RKEPqK/JdrChGLNrjcHvLHDbHEshrGZuQOdEphbx/PkhkvaYy4K1MO84R17guRsKs/V6niUPaL+XbQ7c3fqJS4VHJwludJTDe02euffGCm0PJIPlAOgLHnX0izJhA6q738R2UwQcWBQjJt79aF+kyqSdyt1QPVQVjaC3IpRf7PgsDhEJ7bi9nSclyIzgJ9DCJ4T+8dG1xHhKyZasT7L/x9Lfr1Mgs8nBZER2W9ax7iTkNK+X5ACU//p/YoP/uAanDtb3D0iKUUuXFH+Jbb0x1P322S2w6BJ46nuNHBMHTpVuWwhZeZzriGh7qoOywLWiExBMKyxTGLnmKh7r03/yXKYWIJnpBN2MMycVHRZJ7RumHV4CIsVrq7iRP48823RJVt9OtyP7uuc3wBBV3kcZUzbbaYdWBx1+Au+Od2u7lR6joOL810mcJm/f7J5TvGQP6HGph1YHHX4C7453a7uVHqOgyjjh5EBd720MEBY23c+TKq/z9UpWDDOg48ZFnwSIhFqitWdiZiqsaYuN0/SXwiK8EG9eQ29u2XDJoDW4mlwtcRO7vaX5XcFsgf4/mLU07mi';\\n        evalPrivateJS(ssyz);\\n\\n        let vcode = getVCode2(MY_HOME + '/index.php/verify/index.html?', JSON.stringify(headers), 'num');\\n        fetch(MY_HOME + html.match(/\\\\/index.php.*?verify=/)[0] + JSON.parse(vcode).ret, {\\n            headers: headers,\\n            method: 'POST'\\n        });\\n        reload = true;\\n    }\\n    return reload;\\n}\\n\\nfunction test(url, html, d, old, key, rule) {\\n    if (/5秒|频繁/.test(html)) {\\n        d.push({\\n            title: '搜索需间隔5秒,点击重新加载',\\n            col_type: \\\"text_1\\\",\\n            desc: \\\"““””<font color=#f13b66a>\\\" + rule + \\\"</font>\\\",\\n            url: $().lazyRule((url, old, key, rule) => {\\n                let sp = $.require(\\\"hiker://page/sp\\\");\\n                let d = sp(old, key, rule);\\n                let {\\n                    wrap\\n                } = $.require(\\\"hiker://page/tool\\\");\\n                for (let it of d) {\\n                    it.title = wrap(it.title, key);\\n                }\\n                addItemAfter(url, d);\\n                deleteItem(url);\\n                return \\\"toast://OK\\\";\\n            }, url, old, key, rule),\\n            extra: {\\n                id: url\\n            }\\n        });\\n    }\\n}\\n\\n$.exports = {\\n    check: check,\\n    test: test\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"工具\",\"path\":\"tool\",\"rule\":\"function wrap(text, s) {\\n    return text.includes(\\\"““””\\\") ? text : \\\"““””\\\" + text.replace(new RegExp(\\\"<em>|</em>\\\", \\\"g\\\"), \\\"\\\").replace(new RegExp(s, \\\"g\\\"), \\\"<strong><span style=\\\\\\\"color: #1E90FF\\\\\\\">\\\" + s + \\\"</span></strong>\\\")\\n}\\n$.exports = {\\n    wrap: wrap\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"单搜\",\"path\":\"singles\",\"rule\":\"js:\\nvar d = [];\\nd.push({\\n    title: \\\"搜索\\\",\\n    url: $.toString(() => {\\n        putMyVar(\\\"so\\\", input);\\n        refreshPage();\\n    }),\\n    col_type: \\\"input\\\",\\n    desc: \\\"请输入关键词,尽量少字不要多字\\\",\\n    pic_url: \\\"\\\",\\n    extra: {\\n        defaultValue: getMyVar(\\\"so\\\", \\\"\\\")\\n    }\\n});\\nlet s = getMyVar(\\\"so\\\", \\\"\\\");\\nlet r = \\\"\\\";\\nif (s != \\\"\\\") {\\n    let p = MY_PAGE;\\n    let {\\n        load\\n    } = $.require(\\\"hiker://page/data\\\");\\n    let {\\n        wrap\\n    } = $.require(\\\"hiker://page/tool\\\");\\n    let data = load(p, MY_PARAMS.RULE.name);\\n    let arr = data[0].find(s, p);\\n    for (let it of arr) {\\n        it.title = wrap(it.title, s)\\n        d.push(it);\\n    }\\n}\\nsetResult(d);\"}]","proxy":"","icon":""},{"last_chapter_rule":"","title":"奇妙工具箱","author":"小棉袄🌞","version":6,"type":"tool","url":"hiker://empty##","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\nlet vip = getItem(\"vip\", \"0\") == \"1\";\nd.push({\n    title: vip ? \"欢迎您,尊贵的会员!\" : \"您还不是会员\",\n    url: $(\"#noLoading#\").lazyRule(() => {\n        confirm({\n            title: \"说明\",\n            content: \"本工具箱所有功能免费无广告使用,为激励作者不断更新和新增优秀功能,因此搞了一个会员制,本会员制为分享制,只需要分享软件或者官方公众号给您的朋友,然后点击确定按钮即可,会员领取方案为无人售票制度,点击确定按钮即可\",\n            confirm: $.toString(() => {\n                confirm({\n                    title: \"领取会员\",\n                    content: \"确定领取会员吗?确认您已分享软件或者官方公众号给您的朋友,确认请点击下方的确定按钮\",\n                    confirm: $.toString(() => {\n                        setItem(\"vip\", \"1\");\n                        refreshPage();\n                        return \"toast://恭喜,您已成为会员!\"\n                    })\n                });\n                return \"hiker://empty\"\n            })\n        });\n        return \"hiker://empty\"\n    }),\n    col_type: \"avatar\",\n    desc: \"\",\n    pic_url: vip ? \"http://gh.haikuoshijie.cn/https://github.com/qiusunshine/hiker-rules/blob/master/plugins/%E5%86%A0%E5%86%9B3.png\" : \"hiker://images/account\"\n});\n\nd.push({\n    title: \"磁力云播\",\n    url: \"hiker://empty\",\n    col_type: \"text_center_1\",\n    extra: {\n        lineVisible: false\n    }\n});\n\nd.push({\n    title: \"播放\",\n    url: $.toString(() => {\n        return input;\n    }),\n    col_type: \"input\",\n    desc: \"请输入链接\",\n    pic_url: \"\"\n});\n\nd.push({\n    title: \"““””<small>基于迅雷SDK,支持磁力、电驴、种子、FTP、HTTP、RTMP等多种格式</small>\",\n    url: \"hiker://empty\",\n    col_type: \"text_center_1\"\n});\n\n\nd.push({\n    title: \"视频提取\",\n    desc: \"直接输入网页地址即可提取播放、下载视频\",\n    url: \"hiker://empty\",\n    col_type: \"text_center_1\",\n    extra: {\n        lineVisible: false\n    }\n});\n\nd.push({\n    title: \"提取\",\n    url: $.toString(() => {\n        return \"video://\" + input;\n    }),\n    col_type: \"input\",\n    desc: \"请输入网页链接\",\n    pic_url: \"\"\n});\n\nd.push({\n    title: \"电子书阅读器(txt)\",\n    url: $(\"#noLoading#\").lazyRule(() => {\n        let r = fetch(\"hiker://home@本地资源管理\");\n        if (r && r.length > 5) {\n            return \"hiker://home@本地资源管理\";\n        } else {\n            confirm({\n                title: \"温馨提示\",\n                content: \"当前未导入扩展插件,点击下方确定按钮导入\",\n                confirm: $.toString(() => {\n                    return \"海阔视界首页频道规则【本地资源管理】¥home_rule_url¥http://hiker.nokia.press/hikerule/rulelist.json?id=3559\"\n                })\n            });\n            return \"hiker://empty\"\n        }\n    }),\n    col_type: \"card_pic_2\",\n    pic_url: \"hiker://images/home_pic4\",\n});\nd.push({\n    title: \"epub转换器\",\n    url: \"web://https://convertio.co/zh/\",\n    col_type: \"card_pic_2_2\",\n    pic_url: \"hiker://images/home_pic3\"\n});\nd.push({\n    title: \"WebDav\",\n    url: $(\"#noLoading#\").lazyRule(() => {\n        let r = fetch(\"hiker://home@Webdav\");\n        log(r);\n        if (r && r.length > 5) {\n            return \"hiker://home@Webdav\";\n        } else {\n            confirm({\n                title: \"温馨提示\",\n                content: \"当前未导入扩展插件,点击下方确定按钮导入\",\n                confirm: $.toString(() => {\n                    return \"海阔视界首页频道规则【Webdav】¥home_rule_url¥http://hiker.nokia.press/hikerule/rulelist.json?id=5210\"\n                })\n            });\n            return \"hiker://empty\"\n        }\n    }),\n    col_type: \"card_pic_2_2\",\n    pic_url: \"hiker://images/home_pic2\"\n});\nd.push({\n    title: \"““””<span style=\\\"color: #aaaaaa\\\"><small>扩展插件来自小棉袄、LoyDgIk、Joe等</small></span>\",\n    url: \"hiker://empty\",\n    col_type: \"text_center_1\",\n    extra: {\n        lineVisible: false\n    }\n});\n\nd.push({\n    col_type: \"line_blank\",\n    extra: {\n        id: \"qmgjx\"\n    }\n});\n\nsetResult(d);\ntry {\n    MY_URL = \"https://haikuoshijie.cn/\";\n    let html = request(MY_URL);\n    let arr = pdfa(html, \".post-list&&li\");\n    addItemAfter(\"qmgjx\", arr.map(it => {\n        return {\n            title: pdfh(it, \"h3--time&&Text\"),\n            url: \"x5://\" + pd(it, \"a&&href\"),\n            col_type: \"text_1\",\n            desc: pdfh(it, \".index-time&&Text\") + \"   \" + pdfh(it, \".post-meta&&span&&Text\")\n        }\n    }))\n} catch (e) {}","searchFind":"","search_url":"","group":"工具","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"","pages":"[]","proxy":"","icon":""},{"last_chapter_rule":"","title":"嗅觉转换器","author":"小棉袄🌞","version":6,"type":"tool","url":"hiker://empty","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nlet d = [];\nd.push({\n    title: '',\n    desc: \"搜索规则\",\n    col_type: 'input',\n    extra: {\n        id: \"xj-s\",\n        onChange: $.toString(() => {\n            if (input != \"\") {\n                let s = fetch(\"hiker://home\");\n                let rules = JSON.parse(s);\n                rules = rules.filter(i => i.title && i.title.includes(input));\n                let list = rules.map(it => {\n                    return {\n                        title: it.title,\n                        url: $(\"#noLoading#\").lazyRule((t) => {\n                            let mem = storage0.getItem(\"d\", []);\n                            for (let i in mem) {\n                                if (t == mem[i]) {\n                                    delete mem[i];\n                                    break\n                                }\n                            }\n                            if (mem.length > 10) {\n                                delete mem[0];\n                            }\n                            mem.push(t);\n                            //log(mem);\n                            storage0.setItem(\"d\", mem);\n                            let ru = JSON.parse(fetch(\"hiker://home@\" + t));\n                            let r = {\n                                title: ru.title,\n                                url: ru.url,\n                                rule: ru.find_rule,\n                                interceptor: ru.searchFind == null || ru.searchFind == \"\" ? ru.search_url: \"\",\n                                ua: ru.ua,\n                                pages: ru.pages,\n                                col_type: ru.col_type\n                            }\n                            if (ru.detail_find_rule && ru.detail_find_rule.length > 0) {\n                                r.nextRule = ru.detail_find_rule;\n                                r.nextColType = ru.detail_col_type;\n                            }\n                            if (ru.preRule && ru.preRule.length > 0 && r.rule.startsWith(\"js:\")) {\n                                r.rule = \"js:\\nif(MY_PAGE == 1){\\n(function(){\\n\" + ru.preRule + \"\\n})();\\n}\\n\" + r.rule.substring(3);\n                            }\n                            let txt = \"嗅觉浏览器¥mini-program¥\" + JSON.stringify(r);\n                            log(txt);\n                            let s1 = sharePaste(txt, \"云剪贴板6\");\n                            return \"copy://\" + s1 + \"\\n\\n嗅觉小程序:\" + r.title;\n                        }, it.title),\n                        col_type: \"text_3\",\n                        extra: {\n                            cls: \"xj-b\"\n                        }\n                    }\n                });\n                deleteItemByCls(\"xj-b\");\n                addItemAfter(\"xj-s\", list);\n            } else {\n\n            }\n        }),\n        titleVisible: false,\n        textSize: 13,\n        defaultValue: getMyVar('title', ''),\n    },\n});\n\nlet r = storage0.getItem(\"d\", []);\n//log(r);\nif (r.length > 0) {\n    for (let it of r) {\n        if (it == null) continue\n        d.push({\n            title: it,\n            url: $(\"#noLoading#\").lazyRule((t) => {\n                let ru = JSON.parse(fetch(\"hiker://home@\" + t));\n                let r = {\n                    title: ru.title,\n                    url: ru.url,\n                    rule: ru.find_rule,\n                    interceptor: ru.searchFind == null || ru.searchFind == \"\" ? ru.search_url: \"\",\n                    ua: ru.ua,\n                    pages: ru.pages,\n                    col_type: ru.col_type\n                }\n                if (ru.detail_find_rule && ru.detail_find_rule.length > 0) {\n                    r.nextRule = ru.detail_find_rule;\n                    r.nextColType = ru.detail_col_type;\n                }\n                if (ru.preRule && ru.preRule.length > 0 && r.rule.startsWith(\"js:\")) {\n                    r.rule = \"js:\\nif(MY_PAGE == 1){\\n(function(){\\n\" + ru.preRule + \"\\n})();\\n}\\n\" + r.rule.substring(3);\n                }\n                let s1 = sharePaste(\"嗅觉浏览器¥mini-program¥\" + JSON.stringify(r), \"云剪贴板6\");\n                return \"copy://\" + s1 + \"\\n\\n嗅觉小程序:\" + r.title;\n            }, it),\n            col_type: \"text_3\",\n            extra: {\n                cls: \"xj-b\"\n            }\n        })\n    }\n\n}\n\n\nd.push({\n    title: \"使用说明:在海阔视界里面创建规则,解析规则对应嗅觉小程序的rule,链接对应url,名称对应title,搜索链接对应interceptor,ua对应ua,子页面对应子页面,二级对应详情页,根据这个对应关系,可以快速在海阔视界编辑规则,然后转换导入给嗅觉浏览器\\n\" +\n        \"注意:因为嗅觉不支持分类、搜索等规则,因此不要转换不支持的规则,推荐在海阔视界维护规则,可以使用高亮模式\",\n    col_type: \"rich_text\",\n    extra: {\n        textSize: 16\n    }\n});\n\nsetResult(d);","searchFind":"","search_url":"","group":"工具","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"","pages":"[]","proxy":"","icon":"#ff01bfa5"},{"last_chapter_rule":"","title":"✨无限流量节点✨","author":"Aries","version":20241009,"type":"tool","url":"hiker://empty","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nevalPrivateJS(\"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\");\nsetResult(res)","searchFind":"","search_url":"","group":"工具","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"API\",\"path\":\"API\",\"rule\":\"evalPrivateJS(\\\"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\\\")\"},{\"col_type\":\"movie_3\",\"name\":\"Debug\",\"path\":\"Debug\",\"rule\":\"evalPrivateJS(\\\"TKSy21/pektOWQPi4rzrDS4vEwh5noBIrdkC9H7OnxBKN6sCxHs1fdrte3xjaCK1885hWB17qsiSsxKJFEhYGjFBrGj+qAXM45wOMkt7B+NxcKAfw7X6mdVKBHo1BLLz05oJQ/APt7E2aNlv0zzW6/5LeVskzTr1715g4MHOodxRKRxQBUSZ/ACOvf2slwWxpwyQ//QKVh3+BcrfwS2rGG/NvzTkgV/4iLYsXMEH6O+GdxszbfIi6h3wwVH2qgpWuOpEdbBmz1086drMqT2j6KLYUMla1m97V4fyU1P47J/XBS1MG4c4zl9icFWC1FttqxdR5F67mkcHqZ8LJJGri9XNLRi8AcpIPD55g12aoP9OC9HBBg7ctgG2MuhbmcnjvkETUj3toaXWXjnJzM2uW3RuaN+oKTy67Ml2KDxpnV+k8UEL5moiru7FaictmQUF9FrLzyrHaWtltOt81ar3gymQ/3wfM54gKNju9xuJ0uHr2EhIA/gdPG6tEFwIVxOzWFq2EzAtYySeG4cjUOo+AsQcUd1083DAu2o0WBDqUj5a0Jd027pPWDI7VV+8Wc1aOTxJ8u3UD57DPrf+463wIXwSVvYg3pPn4bMC2F3zprwYSv/7dny278NQy8ZCyBaewhV5bhTvz/N94hinBA2HYVc4wcbr/cGntAOwLp0M8oJzrI3RGUoqi6vKI6z6t2pPSm/UMTbvHRQZ2wUeDQ9DjzNoqB9ZTCNmcIs58wocDpztvYcqwvQiB9yOGkAxtfL1sqUdzuCDLgsMkj1+JqR4/Vz+hI48PI4dtFajzHloXJIG4hb+JGeYojRu7OMO6Ej+etbaoi4lF2yMBm1+Yr0bmSqdB7hmwyo4azMbCtuUZ8V/9bzf9jBse750jKWvMJIu2OsSrq3njKSwwd2XPTsrNfnaKCPO419F8FSrSJtjoA+ypR3O4IMuCwySPX4mpHj939k8rsd3dLqHloFkXg1UZ5YW/VelCJ5MY5Rz4XI4SWzppyaaxWXNcRL+oatxtPrro+QNzq/CS/jm7MbYlrtrQ3vxr78b7UOY+dlraJZBK2+S+uwQenRSDHnzK11Q4G1pQRf0P4jufPNZdYtgGlsn1dby0ldEp5qySu5wHPiOQ75uCXswHUfM76fI5ir4cR01qx57VCCT18lGx3PEQzoI34iRjWL5b59z42cJq75nCGv/+C/XPy/+Wq8DswNZv0dZAfYP5IQYR7KTLkHxRK0aRh0g9xr8LtYsScjmygxrbFYd9I/Brgjzr3vpNRoUC92V6BRDfhtZpXNvCdM8pGR/EQ==\\\");\"}]","proxy":"","icon":"https://raw.githubusercontent.com/yuanwangokk-1/HiKer/refs/heads/main/tubiao-main/erdi/1.png"},{"last_chapter_rule":"","title":"麻豆在线","author":"","version":1,"type":"other","url":"hiker://empty","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js: setResult([{url: \"https://jiaosex.cc\",col_type: \"x5_webview_single\",desc: \"100%&&float\",extra:{floatVideo: true}}])","searchFind":"","search_url":"","group":"私人天地♥♥♥","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"auto","preRule":"","pages":"[]","proxy":"","icon":""},{"last_chapter_rule":"","title":"抖阴Porn","author":"流苏","version":1,"type":"video","url":"hiker://empty##fypage","col_type":"movie_2","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js: \nvar d = [];\neval(JSON.parse(request('hiker://page/home')).rule);\nsetResult(d)","searchFind":"js:\n$.require(\"seach\")","search_url":"hiker://empty?page=fypage&kw=**","group":"私人天地♥♥♥","detail_col_type":"movie_3","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"aes\",\"path\":\"aes\",\"rule\":\"//加载CryptoJS库\\neval(getCryptoJS())\\nvar t = Math.floor(Date.now() / 1000);\\n//生成随机uuid\\nfunction generateUUID() {\\n    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\\n        var r = Math.random() * 16 | 0;\\n        var v = c === 'x' ? r : (r & 0x3 | 0x8);\\n        return v.toString(16);\\n    });\\n}\\n//生成时间戳\\nfunction getCurrentTimestamp() {\\n    return new Date().getTime();\\n}\\n//md5加密\\nfunction md5(str) {\\n    return CryptoJS.MD5(str).toString();\\n}\\n//sha256加密\\nfunction sha256(str) {\\n    return CryptoJS.SHA256(str).toString();\\n}\\n\\n\\n// 解密函数\\nfunction Decrypt(word) {\\n    const key = CryptoJS.enc.Utf8.parse(\\\"cc88ddc9357ff461e08f047aedee692b\\\");\\n    const iv = CryptoJS.enc.Utf8.parse(\\\"e89225cfbbimgkcu\\\");\\n    let encryptedHexStr = CryptoJS.enc.Hex.parse(word);\\n    let decrypt = CryptoJS.AES.decrypt({\\n        ciphertext: encryptedHexStr\\n    }, key, {\\n        iv: iv,\\n        mode: CryptoJS.mode.CFB,\\n        padding: CryptoJS.pad.NoPadding // 注意这里应该是CryptoJS.pad.NoPadding\\n    });\\n    if (decrypt) {\\n        let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);\\n        return decryptedStr;\\n    } else {\\n        // 解密失败,返回null或错误信息\\n        return null;\\n    }\\n}\\n\\n// 加密函数\\nfunction Encrypt(plaintext) {\\n    const key = CryptoJS.enc.Utf8.parse(\\\"cc88ddc9357ff461e08f047aedee692b\\\");\\n    const iv = CryptoJS.enc.Utf8.parse(\\\"e89225cfbbimgkcu\\\");\\n    var encrypted = CryptoJS.AES.encrypt(plaintext, key, {\\n        iv: iv,\\n        mode: CryptoJS.mode.CFB,\\n        padding: CryptoJS.pad.NoPadding // 注意这里应该是CryptoJS.pad.NoPadding\\n    });\\n    var ciphertext = encrypted.ciphertext.toString(CryptoJS.enc.Hex);\\n    return ciphertext.toUpperCase();\\n}\\n\\nvar lazy = $('').image(() => {\\nconst CryptoUtil = $.require(\\\"hiker://assets/crypto-java.js\\\");\\n\\tlet key = CryptoUtil.Data.parseUTF8(\\\"f5d965df75336270\\\");\\n\\tlet iv = CryptoUtil.Data.parseUTF8(\\\"97b60394abc2fbe1\\\");\\n\\tlet textData = CryptoUtil.Data.parseInputStream(input);\\n\\tlet encrypted = CryptoUtil.AES.decrypt(textData, key, {\\n  \\tmode: \\\"AES/CBC/PKCS7Padding\\\",\\n\\t\\tiv: iv\\n\\t});\\n\\treturn encrypted.toInputStream();\\n})\\n\\n\\nfunction post(url,data0){\\nvar data = Encrypt(data0); \\nvar sign = md5(sha256('client=pwa&data='+data+'&timestamp='+t+'cc88ddc9357ff461e08f047aedee692b')); //log(sign)\\nvar body = 'client=pwa&timestamp='+t+'&data='+data+'&sign='+sign; \\n//log(body)\\nvar html = fetch(url, {\\n    headers: {\\n    'Content-Type': 'application/x-www-form-urlencoded',\\n   'user-agent':'Dart/3.4(dart:io)',\\n    },\\n    body: body,\\n    method: 'POST'\\n}); \\n//log(html)\\nlet html1 = JSON.parse(html).data; \\n//log(html1)\\nlet html2 = Decrypt(html1); \\nreturn html2;\\n}\\n\"},{\"col_type\":\"movie_3\",\"name\":\"时间戳转换\",\"path\":\"时间戳转换\",\"rule\":\"function timestampToTime(tm, ts) {\\n\\t\\tundefined\\n\\t\\tvar date = new Date(tm * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000\\n\\t\\tvar Y = date.getFullYear() + '-';\\n\\t\\tvar M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';\\n\\t\\tvar D = date.getDate();\\n\\t\\tvar h = ' | ' + date.getHours() + ':';\\n\\t\\tvar m = date.getMinutes();\\n\\t\\tif(m<10) m = '0'+m;\\n\\t\\tm = m + ':'\\n\\t\\tvar s = date.getSeconds();\\n\\t\\tif(s<10) s = '0'+s;\\n\\t\\tif (ts == 0) return Y + M + D;\\n\\t\\tif (ts == 1) return Y + M + D + h + m + s;\\n\\t}\"},{\"col_type\":\"movie_3\",\"name\":\"分类\",\"path\":\"Category\",\"rule\":\"function strong(d, c) {\\n    return '‘‘’’<strong><font color=#' + (c || '000000') + '>' + d + '</font></strong>';\\n}\\nfunction Category(list,n,col,d) {\\n     var title = list[0].title.split('&');\\n     var key = list[0].key.split('&');\\n      if(list[0].img!=null){\\n     var img=list[0].img.split('&');\\n    }else{\\n    var img=[];\\n    }\\nfor (var i in title) {\\n        d.push({\\n            title:   (getMyVar('color'+n, '0') == i) ? strong(title[i], 'FF6699') : title[i],\\n            img:img[i],\\n            url: $(key[i]).lazyRule((i,n,title,key) => {\\n               putMyVar(n, input);\\n               putMyVar('color'+n, i);\\n                refreshPage();\\n                return 'hiker://empty';\\n            }, i, n,title[i],key[i]),\\n            col_type: col\\n        });\\n    }\\n    d.push({\\n        col_type: 'blank_block',\\n    });\\n    return d;\\n}\\n$.exports.Category = Category;\"},{\"col_type\":\"movie_2\",\"name\":\"搜索\",\"path\":\"seach\",\"rule\":\"js: \\nvar d = [];\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar c6= [{title: '长视频&短视频&帖子',key: '6&1&3'}];\\nif (MY_PAGE == 1) {\\n    $.require(\\\"Category\\\").Category(c6,'c6','scroll_button',d);\\n}\\nlet ky=MY_URL.split('=')[2];\\nlet pg=MY_URL.split('=')[1].replace('&kw','');\\nvar t = Math.floor(Date.now() / 1000); //log(t)\\nvar data0='{\\\"oauth_type\\\":\\\"pwa\\\",\\\"oauth_id\\\":\\\"pjNCXTI0IIetltyr_1734010394330\\\",\\\"version\\\":\\\"3.0.0\\\",\\\"code\\\":\\\"search\\\",\\\"type\\\":\\\"'+getMyVar('c6', '6')+'\\\",\\\"key\\\":\\\"'+ky+'\\\",\\\"mod\\\":\\\"index\\\",\\\"page\\\":\\\"'+pg+'\\\"}';\\nvar url = 'https://zivssy.hziyhuy.com/pwa.php';\\n//log(url)\\nlet html2 = post(url,data0); \\nif(getMyVar('c6', '6')==3){\\nlet data= JSON.parse(html2).data;\\n//log(item)\\ndata.forEach(data => {\\n       //用户\\n      var user=data.user;\\n       //图片\\n      var photos=data.photos;\\n      //主题\\n      var topic=data.topic;\\n      //圈子\\n      var group=data.group;\\n      d.push({\\r\\n                title: user.nickname,\\n                img: user.thumb_url+lazy,\\r\\n                col_type: \\\"avatar\\\",\\n                url : 'hiker://empty##fypage##'+user.uuid+'@rule=js:$.require(\\\"hiker://page/detail3\\\")',\\n       },{\\n                title: data.title,\\n                desc:data.content,\\n                url:    'hiker://empty##'+data.id+'@rule=js:$.require(\\\"hiker://page/detail4\\\")',\\r\\n                col_type: 'text_1',\\n                extra: {lineVisible: false}\\n       });\\n       photos.forEach(data => {\\n       d.push({\\n                img: data.media_url_full+lazy,\\r\\n                col_type: \\\"pic_3_card\\\",\\n                url : data.media_url_full,\\n       })\\n      })\\n       if(topic!=null){\\n       d.push({\\n                title:topic.name,\\n                url: 'hiker://empty##fypage##'+topic.id+'@rule=js:$.require(\\\"hiker://page/topic\\\")',\\n                col_type: 'flex_button'\\n      })\\n      }\\n      if(group!=null){\\n      d.push({\\n                title:group.name,\\n                url: 'hiker://empty##fypage##'+group.id+'@rule=js:$.require(\\\"hiker://page/group\\\")',\\n                col_type: 'flex_button'\\n      })\\n      }\\n})\\n}else{\\nlet list= JSON.parse(html2).data;\\nlog(list);\\nif(list!=null){\\nlist.forEach(data => {\\n        d.push({\\n            title: data.title,\\n            desc: data.created_at+'\\\\t\\\\t\\\\t\\\\t'+data.durationStr+'  '+data.tags,\\n            img: data.thumbImg+lazy,\\n            url: data.playUrl.replace(/\\\\/\\\\/.*play\\\\./,'//long.'),\\n            col_type: \\\"movie_2\\\",\\n        })\\n })\\n}\\n}\\nsetResult(d)\"},{\"col_type\":\"movie_2\",\"name\":\"首页视频二级\",\"path\":\"erji\",\"rule\":\"js:\\nvar d=[];\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar t = Math.floor(Date.now() / 1000); //log(t)\\nvar t0=Math.floor(Date.now());\\nvar id=MY_URL.split('##')[2];\\nvar pg=MY_URL.split('##')[1];\\nvar c3= [{title: '最新&最热',key: 'new&hot'}];\\nif (MY_PAGE == 1) {\\n    $.require(\\\"Category\\\").Category(c3,'c3','scroll_button',d);\\n}\\nvar data0='{\\\"oauth_type\\\":\\\"pwa\\\",\\\"oauth_id\\\":\\\"pjNCXTI0IIetltyr_1734010394330\\\",\\\"version\\\":\\\"3.0.0\\\",\\\"mod\\\":\\\"element\\\",\\\"code\\\":\\\"getElementItembyId\\\",\\\"id\\\":'+id+',\\\"page\\\":'+pg+',\\\"type\\\":\\\"'+getMyVar('c3', 'new')+'\\\"}';\\nvar url = 'https://zivssy.hziyhuy.com/pwa.php';\\n//log(url)\\nlet html2 = post(url,data0); \\nlet list= JSON.parse(html2).data.list;\\n//log(list);\\nif(list!=null){\\nlist.forEach(data => {\\n        d.push({\\n            title: data.title,\\n            desc: data.created_at+'\\\\t\\\\t\\\\t\\\\t'+data.durationStr+'  '+data.tags,\\n            img: data.thumbImg+lazy,\\n            url: data.playUrl.replace(/\\\\/\\\\/.*play\\\\./,'//long.')\\n        })\\n })\\n}\\nsetResult(d)\"},{\"col_type\":\"movie_3\",\"name\":\"首页视频\",\"path\":\"video\",\"rule\":\"js:\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar c2= [{title: '推荐&短视频&热点&最新&抖阴原创&乱 伦换妻&国产定制&日韩&黑料&网黄&同城&暗网',key: '1&66&6&4&2&11&3&10&7&8&5&12'}];\\nif (MY_PAGE == 1) {\\n    $.require(\\\"Category\\\").Category(c2,'c2','scroll_button',d);\\n}\\nif(getMyVar('c2', '1')==2){\\nvar data0 = '{\\\"oauth_type\\\":\\\"pwa\\\",\\\"oauth_id\\\":\\\"pjNCXTI0IIetltyr_1734010394330\\\",\\\"version\\\":\\\"3.0.0\\\",\\\"mod\\\":\\\"element\\\",\\\"code\\\":\\\"getConstructById\\\",\\\"page\\\":'+pg+',\\\"id\\\":'+getMyVar('c2', '1')+'}';\\nvar url = 'https://zivssy.hziyhuy.com/pwa.php';\\n//log(url)\\nlet html2 = post(url,data0); \\n//log(html2)\\nlet data= JSON.parse(html2).data;\\n//log(data)\\ndata.forEach(data => {\\nif(data.content_type!=11){\\nvar list=data.list;\\n//log(list);\\nlist.forEach(data => {\\n        d.push({\\r\\n                title: data.nickname,\\n                img: data.thumb+lazy,\\r\\n                col_type: \\\"icon_round_4\\\",\\n                url :  'hiker://empty##fypage##'+data.uuid+'@rule=js:$.require(\\\"hiker://page/detail5\\\")',\\n })\\n})\\n}\\n})\\n}else if(getMyVar('c2', '1')==4){\\nif(pg==1){\\nvar data0 = '{\\\"oauth_type\\\":\\\"pwa\\\",\\\"oauth_id\\\":\\\"pjNCXTI0IIetltyr_1734010394330\\\",\\\"version\\\":\\\"3.0.0\\\",\\\"mod\\\":\\\"element\\\",\\\"code\\\":\\\"getConstructById\\\",\\\"page\\\":'+pg+',\\\"id\\\":'+getMyVar('c2', '1')+'}';\\nvar url = 'https://zivssy.hziyhuy.com/pwa.php';\\n//log(url)\\nlet html2 = post(url,data0); \\n//log(html2)\\nlet data= JSON.parse(html2).data;\\n//log(data)\\ndata.forEach(data => {\\nif(data.content_type!=11){\\nvar list=data.list;\\n//log(list);\\nlist.forEach(data => {\\n        d.push({\\n            title: data.title,\\n            desc: data.created_at+'\\\\t\\\\t\\\\t\\\\t'+data.durationStr+'  '+data.tags,\\n            img: data.thumbImg+lazy,\\n            url: data.playUrl.replace(/\\\\/\\\\/.*play\\\\./,'//long.')\\n        })\\n })\\n}\\n})\\n}else{\\nvar data0 = '{\\\"oauth_type\\\":\\\"pwa\\\",\\\"oauth_id\\\":\\\"pjNCXTI0IIetltyr_1734010394330\\\",\\\"version\\\":\\\"3.0.0\\\",\\\"mod\\\":\\\"element\\\",\\\"code\\\":\\\"getElementItembyId\\\",\\\"page\\\":'+pg+',\\\"id\\\":33}';\\nvar url = 'https://zivssy.hziyhuy.com/pwa.php';\\n//log(url)\\nlet html2 = post(url,data0); \\n//log(html2)\\nlet data= JSON.parse(html2).data.list;\\ndata.forEach(data => {\\n        d.push({\\n            title: data.title,\\n            desc: data.created_at+'\\\\t\\\\t\\\\t\\\\t'+data.durationStr+'  '+data.tags,\\n            img: data.thumbImg+lazy,\\n            url: data.playUrl.replace(/\\\\/\\\\/.*play\\\\./,'//long.'),\\n        })\\n })\\n}\\n}else if(getMyVar('c2', '1')==8){\\nvar data0 = '{\\\"oauth_type\\\":\\\"pwa\\\",\\\"oauth_id\\\":\\\"pjNCXTI0IIetltyr_1734010394330\\\",\\\"version\\\":\\\"3.0.0\\\",\\\"mod\\\":\\\"actor\\\",\\\"code\\\":\\\"index\\\",\\\"page\\\":'+pg+'}';\\nvar url = 'https://zivssy.hziyhuy.com/pwa.php';\\n//log(url)\\nlet html2 = post(url,data0); \\n//log(html2)\\nlet data= JSON.parse(html2).data;\\n//log(data)\\ndata.forEach(data => {\\n        d.push({\\n            title: data.name,\\n            desc: data.brief,\\n            img: data.cover+lazy,\\n            url: 'hiker://empty##fypage##'+data.id+'@rule=js:$.require(\\\"hiker://page/detail2\\\")',\\n            col_type: \\\"movie_1_vertical_pic\\\",\\n        })\\n})\\n}else if(getMyVar('c2', '1')==66){\\n$.require(\\\"mini\\\")\\n}else{\\nvar data0 = '{\\\"oauth_type\\\":\\\"pwa\\\",\\\"oauth_id\\\":\\\"pjNCXTI0IIetltyr_1734010394330\\\",\\\"version\\\":\\\"3.0.0\\\",\\\"mod\\\":\\\"element\\\",\\\"code\\\":\\\"getConstructById\\\",\\\"page\\\":'+pg+',\\\"id\\\":'+getMyVar('c2', '1')+'}';\\nvar url = 'https://zivssy.hziyhuy.com/pwa.php';\\nlet html2 = post(url,data0); \\nlet data= JSON.parse(html2).data;\\ndata.forEach(data => {\\nif((data.content_type!=11)&(data.content_type!=8)){\\n       d.push({\\r\\n                title: data.title,\\r\\n                col_type: \\\"avatar\\\",\\n                url :  'hiker://empty##fypage##'+data.id+'@rule=js:$.require(\\\"hiker://page/erji\\\")',\\n})\\nvar list=data.list;\\n//log(list);\\nlist.forEach(data => {\\n        d.push({\\n            title: data.title,\\n            desc: data.created_at+'\\\\t\\\\t\\\\t\\\\t'+data.durationStr+'  '+data.tags,\\n            img: data.thumbImg+lazy,\\n            url: data.playUrl.replace(/\\\\/\\\\/.*play\\\\./,'//long.'),\\n        })\\n })\\n}\\n})\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"首页\",\"path\":\"home\",\"rule\":\"js:\\nif (MY_PAGE == 1) {\\n    d.push({   \\n        title: \\\"搜索\\\",\\n        url: $.toString(() => {\\n        return \\\"hiker://page/seach?page=fypage&kw=\\\" + input\\n    }),\\n           desc: \\\"请输入搜索关键词\\\",\\n           col_type: \\\"input\\\",\\n    })\\n};\\n\\nvar pg= MY_URL.replace('hiker://empty##', '');\\nvar t = Math.floor(Date.now() / 1000); //log(t)\\nvar t0=Math.floor(Date.now());\\nvar c1= [{title: '精选&原创&社区&热点&up主',key: '1&2&3&4&5',img:'https://ghproxy.net/https://raw.githubusercontent.com/ls125781003/tubiao/main/movie/111.svg&https://ghproxy.net/https://raw.githubusercontent.com/ls125781003/tubiao/main/movie/112.svg&https://ghproxy.net/https://raw.githubusercontent.com/ls125781003/tubiao/main/movie/113.svg&https://ghproxy.net/https://raw.githubusercontent.com/ls125781003/tubiao/main/movie/114.svg&https://ghproxy.net/https://raw.githubusercontent.com/ls125781003/tubiao/main/movie/122.svg'}];\\nif (MY_PAGE == 1) {\\n    $.require(\\\"Category\\\").Category(c1,'c1','icon_5',d);\\nd.push({\\n    col_type: 'line',\\n},{\\n    col_type: 'big_blank_block',\\n}\\n,{\\n    col_type: 'big_blank_block',\\n});\\n}\\nvar 分类=getMyVar('c1', '1');\\nif(分类==1){\\n$.require(\\\"video\\\")\\n}else if(分类==2){\\n$.require(\\\"org\\\")\\n}else if(分类==3){\\n$.require(\\\"news\\\")\\n}else if(分类==4){\\n$.require(\\\"hot\\\")\\n}else if(分类==5){\\n$.require(\\\"up\\\")\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"热点\",\"path\":\"hot\",\"rule\":\"js:\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar data0 = '{\\\"oauth_type\\\":\\\"pwa\\\",\\\"oauth_id\\\":\\\"pjNCXTI0IIetltyr_1734010394330\\\",\\\"version\\\":\\\"3.0.0\\\",\\\"mod\\\":\\\"hot\\\",\\\"code\\\":\\\"index\\\"}';\\nvar url = 'https://zivssy.hziyhuy.com/pwa.php';\\n//log(url)\\nlet html2 = post(url,data0); \\nlet hot= JSON.parse(html2).data.hot;\\nlet list= JSON.parse(html2).data.find;\\n//log(list)\\nhot.forEach(data => {\\n       d.push({\\r\\n                title: data.name,\\n                img: data.img_url+lazy,\\r\\n                col_type: \\\"movie_3\\\",\\n                url :  'hiker://empty##fypage##'+data.type+'@rule=js:$.require(\\\"hiker://page/erji22\\\")',\\n})\\n})\\nlist.forEach(data => {\\n       d.push({\\r\\n                title: data.name,\\n                img: data.img_url+lazy,\\r\\n                col_type: \\\"movie_3\\\",\\n                url :  'hiker://empty##fypage##'+data.name+'@rule=js:$.require(\\\"hiker://page/erji2\\\")',\\n})\\n})\"},{\"col_type\":\"movie_2\",\"name\":\"详情\",\"path\":\"detail\",\"rule\":\"js:\\nvar d=[];\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar t = Math.floor(Date.now() / 1000); //log(t)\\nvar t0=Math.floor(Date.now());\\nvar id=MY_URL.split('##')[2];\\nvar pg=MY_URL.split('##')[1];\\nvar data0='{\\\"oauth_type\\\":\\\"pwa\\\",\\\"oauth_id\\\":\\\"pjNCXTI0IIetltyr_1734010394330\\\",\\\"version\\\":\\\"3.0.0\\\",\\\"code\\\":\\\"detail\\\",\\\"id\\\":'+id+',\\\"mod\\\":\\\"collection\\\",\\\"page\\\":'+pg+'}';\\nvar url = 'https://zivssy.hziyhuy.com/pwa.php';\\n//log(url)\\nlet html2 = post(url,data0); \\n//log(html2)\\nlet list= JSON.parse(html2).data.list;\\nif(list!=null){\\nlist.forEach(data => {\\n        d.push({\\n            title: data.title,\\n            desc: data.created_at+'\\\\t\\\\t\\\\t\\\\t'+data.durationStr+'  '+data.tags,\\n            img: data.thumbImg+lazy,\\n            url: data.playUrl.replace(/\\\\/\\\\/.*play\\\\./,'//long.'),\\n            col_type: \\\"movie_3\\\",\\n        })\\n })\\n}\\nsetResult(d)\"},{\"col_type\":\"movie_2\",\"name\":\"短视频\",\"path\":\"mini\",\"rule\":\"js:\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar data0='{\\\"oauth_type\\\":\\\"pwa\\\",\\\"oauth_id\\\":\\\"pjNCXTI0IIetltyr_1734010394330\\\",\\\"version\\\":\\\"3.0.0\\\",\\\"mod\\\":\\\"index\\\",\\\"code\\\":\\\"home\\\",\\\"page\\\":'+pg+',\\\"limit\\\":20}';\\nvar url = 'https://zivssy.hziyhuy.com/pwa.php';\\n//log(url)\\nlet html2 = post(url,data0); \\nlet list= JSON.parse(html2).data;\\n//log(list);\\nif(list!=null){\\nlist.forEach(data => {\\n     if(data['is_ads']==false){\\n        d.push({\\n            title: data.title,\\n            desc: data.created_at+'\\\\t\\\\t\\\\t\\\\t'+data.durationStr+'  '+data.tags,\\n            img: data.thumbImg+lazy,\\n            url: data.playUrl.replace(/\\\\/\\\\/.*play\\\\./,'//long.'),\\n            col_type: \\\"movie_2\\\",\\n        })\\n}\\n })\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"原创\",\"path\":\"org\",\"rule\":\"js:\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar data0 = '{\\\"oauth_type\\\":\\\"pwa\\\",\\\"oauth_id\\\":\\\"pjNCXTI0IIetltyr_1734010394330\\\",\\\"version\\\":\\\"3.0.0\\\",\\\"mod\\\":\\\"author\\\",\\\"code\\\":\\\"collectRecommed\\\",\\\"type\\\":1,\\\"page\\\":'+pg+',\\\"limit\\\":20}';\\nvar url = 'https://zivssy.hziyhuy.com/pwa.php';\\n//log(url)\\nlet html2 = post(url,data0); \\nlet item= JSON.parse(html2).data.item;\\n//log(item)\\nitem.forEach(data => {\\n       var up=data.user;\\n       d.push({\\r\\n                title: up.nickname,\\n                img: up.thumb+lazy,\\r\\n                col_type: \\\"avatar\\\",\\n                url :  'hiker://empty##fypage##'+data.id+'@rule=js:$.require(\\\"hiker://page/detail\\\")',\\n})\\nvar list=data.video_lists;\\n//log(list);\\nlist.forEach(data => {\\n        d.push({\\n            title: data.title,\\n            desc: data.created_at+'\\\\t\\\\t\\\\t\\\\t'+data.durationStr+'  '+data.tags,\\n            img: data.thumbImg+lazy,\\n            url: data.playUrl.replace(/\\\\/\\\\/.*play\\\\./,'//long.'),\\n            col_type: \\\"movie_3\\\",\\n        })\\n })\\n})\"},{\"col_type\":\"movie_2\",\"name\":\"热点二级\",\"path\":\"erji2\",\"rule\":\"js:\\nvar d=[];\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar t = Math.floor(Date.now() / 1000); //log(t)\\nvar t0=Math.floor(Date.now());\\nvar id=MY_URL.split('##')[2];\\nvar pg=MY_URL.split('##')[1];\\nvar c4= [{title: '最新&最热',key: 'new&hot'}];\\nif (MY_PAGE == 1) {\\n    $.require(\\\"Category\\\").Category(c4,'c4','scroll_button',d);\\n}\\nvar data0='{\\\"oauth_type\\\":\\\"pwa\\\",\\\"oauth_id\\\":\\\"pjNCXTI0IIetltyr_1734010394330\\\",\\\"version\\\":\\\"3.0.0\\\",\\\"code\\\":\\\"listByTag\\\",\\\"tags\\\":\\\"'+id+'\\\",\\\"mod\\\":\\\"index\\\",\\\"page\\\":'+pg+',\\\"type\\\":\\\"'+getMyVar('c4', 'new')+'\\\"}';\\nvar url = 'https://zivssy.hziyhuy.com/pwa.php';\\n//log(url)\\nlet html2 = post(url,data0); \\nlet list= JSON.parse(html2).data.items;\\n//log(list);\\nif(list!=null){\\nlist.forEach(data => {\\n        d.push({\\n            title: data.title,\\n            desc: data.created_at+'\\\\t\\\\t\\\\t\\\\t'+data.durationStr+'  '+data.tags,\\n            img: data.thumbImg+lazy,\\n            url: data.playUrl.replace(/\\\\/\\\\/.*play\\\\./,'//long.'),\\n            col_type: \\\"movie_2\\\",\\n        })\\n })\\n}\\nsetResult(d)\"},{\"col_type\":\"movie_3\",\"name\":\"up主\",\"path\":\"up\",\"rule\":\"js:\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar c5= [{title: '推荐&欢迎&最新',key: '2&3&4'}];\\nif (MY_PAGE == 1) {\\n    $.require(\\\"Category\\\").Category(c5,'c5','scroll_button',d);\\n}\\nvar data0 = '{\\\"oauth_type\\\":\\\"pwa\\\",\\\"oauth_id\\\":\\\"pjNCXTI0IIetltyr_1734010394330\\\",\\\"version\\\":\\\"3.0.0\\\",\\\"mod\\\":\\\"index\\\",\\\"code\\\":\\\"rankLists\\\",\\\"type\\\":'+getMyVar('c5', '2')+',\\\"page\\\":'+pg+',\\\"limit\\\":20}';\\nvar url = 'https://zivssy.hziyhuy.com/pwa.php';\\n//log(url)\\nlet html2 = post(url,data0); \\n//log(html2)\\nlet item= JSON.parse(html2).data;\\n//log(item)\\nitem.forEach(data => {\\n       d.push({\\r\\n                title: data.nickname,\\n                img: data.thumb+lazy,\\r\\n                col_type: \\\"icon_round_4\\\",\\n                url :  'hiker://empty##fypage##'+data.uuid+'@rule=js:$.require(\\\"hiker://page/detail5\\\")',\\n})\\n})\"},{\"col_type\":\"movie_2\",\"name\":\"热点二级2\",\"path\":\"erji22\",\"rule\":\"js:\\nvar d=[];\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar t = Math.floor(Date.now() / 1000); //log(t)\\nvar t0=Math.floor(Date.now());\\nvar id=MY_URL.split('##')[2];\\nvar pg=MY_URL.split('##')[1];\\nvar data0='{\\\"oauth_type\\\":\\\"pwa\\\",\\\"oauth_id\\\":\\\"pjNCXTI0IIetltyr_1734010394330\\\",\\\"version\\\":\\\"3.0.0\\\",\\\"mod\\\":\\\"index\\\",\\\"code\\\":\\\"hotLists\\\",\\\"type\\\":\\\"'+id+'\\\",\\\"page\\\":'+pg+'}';\\nvar url = 'https://zivssy.hziyhuy.com/pwa.php';\\n//log(url)\\nlet html2 = post(url,data0); \\nlet list= JSON.parse(html2).data;\\n//log(list);\\nif(list!=null){\\nlist.forEach(data => {\\n        d.push({\\n            title: data.title,\\n            desc: data.created_at+'\\\\t\\\\t\\\\t\\\\t'+data.durationStr+'  '+data.tags,\\n            img: data.thumbImg+lazy,\\n            url: data.playUrl.replace(/\\\\/\\\\/.*play\\\\./,'//long.'),\\n            col_type: \\\"movie_2\\\",\\n        })\\n })\\n}\\nsetResult(d)\"},{\"col_type\":\"movie_2\",\"name\":\"演员详情\",\"path\":\"detail2\",\"rule\":\"js:\\nvar d=[];\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar t = Math.floor(Date.now() / 1000); //log(t)\\nvar t0=Math.floor(Date.now());\\nvar id=MY_URL.split('##')[2];\\nvar pg=MY_URL.split('##')[1];\\nvar data0='{\\\"oauth_type\\\":\\\"pwa\\\",\\\"oauth_id\\\":\\\"pjNCXTI0IIetltyr_1734010394330\\\",\\\"version\\\":\\\"3.0.0\\\",\\\"mod\\\":\\\"actor\\\",\\\"code\\\":\\\"videos\\\",\\\"page\\\":'+pg+',\\\"id\\\":'+id+'}';\\nvar url = 'https://zivssy.hziyhuy.com/pwa.php';\\n//log(url)\\nlet html2 = post(url,data0); \\n//log(html2)\\nlet list= JSON.parse(html2).data;\\nif(list!=null){\\nlist.forEach(data => {\\n        d.push({\\n            title: data.title,\\n            desc: data.created_at+'\\\\t\\\\t\\\\t\\\\t'+data.durationStr+'  '+data.tags,\\n            img: data.thumbImg+lazy,\\n            url: data.playUrl.replace(/\\\\/\\\\/.*play\\\\./,'//long.'),\\n            col_type: \\\"movie_2\\\",\\n        })\\n })\\n}\\nsetResult(d)\"},{\"col_type\":\"movie_2\",\"name\":\"作品详情\",\"path\":\"detail3\",\"rule\":\"js:\\nvar d=[];\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar t = Math.floor(Date.now() / 1000); //log(t)\\nvar t0=Math.floor(Date.now());\\nvar id=MY_URL.split('##')[2];\\nvar pg=MY_URL.split('##')[1];\\nvar 作品= [{title: '作品&喜欢',key: 'videos&likes'}];\\nif (MY_PAGE == 1) {\\n    $.require(\\\"Category\\\").Category(作品,'作品','scroll_button',d);\\n}\\nvar data0='{\\\"oauth_type\\\":\\\"pwa\\\",\\\"oauth_id\\\":\\\"pjNCXTI0IIetltyr_1734010394330\\\",\\\"version\\\":\\\"3.0.0\\\",\\\"mod\\\":\\\"user\\\",\\\"code\\\":\\\"'+getMyVar('作品','videos')+'\\\",\\\"isAll\\\":false,\\\"page\\\":'+pg+',\\\"uuid\\\":\\\"'+id+'\\\"}';\\nvar url = 'https://zivssy.hziyhuy.com/pwa.php';\\n//log(url)\\nlet html2 = post(url,data0); \\nlet list= JSON.parse(html2).data;\\n//log(list);\\nif(list!=null){\\nlist.forEach(data => {\\n        d.push({\\n            title: data.title,\\n            desc: data.created_at+'\\\\t\\\\t\\\\t\\\\t'+data.durationStr+'  '+data.tags,\\n            img: data.thumbImg+lazy,\\n            url: data.playUrl.replace(/\\\\/\\\\/.*play\\\\./,'//long.'),\\n            col_type: \\\"movie_3\\\",\\n        })\\n })\\n}\\nsetResult(d)\"},{\"col_type\":\"movie_3\",\"name\":\"社区\",\"path\":\"news\",\"rule\":\"js:\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar 社区= [{title: '最新&最热&精选&视频',key: 'new&hot&essence&video'}];\\nif (MY_PAGE == 1) {\\n    $.require(\\\"Category\\\").Category(社区,'社区','scroll_button',d);\\n}\\nvar data0 = '{\\\"oauth_type\\\":\\\"pwa\\\",\\\"oauth_id\\\":\\\"Yn1dGcCtqxLykQ2r_1734091975514\\\",\\\"version\\\":\\\"3.0.0\\\",\\\"mod\\\":\\\"news\\\",\\\"code\\\":\\\"listNews\\\",\\\"page\\\":'+pg+',\\\"type\\\":\\\"'+getMyVar('社区','new')+'\\\"}';\\nvar url = 'https://zivssy.hziyhuy.com/pwa.php';\\n//log(url)\\nlet html2 = post(url,data0); \\n//log(html2)\\nlet data= JSON.parse(html2).data;\\n//log(item)\\ndata.forEach(data => {\\n       //用户\\n      var user=data.user;\\n       //图片\\n      var photos=data.photos;\\n      //主题\\n      var topic=data.topic;\\n      //圈子\\n      var group=data.group;\\n      d.push({\\r\\n                title: user.nickname,\\n                img: user.thumb_url+lazy,\\r\\n                col_type: \\\"avatar\\\",\\n                url : 'hiker://empty##fypage##'+user.uuid+'@rule=js:$.require(\\\"hiker://page/detail3\\\")',\\n       },{\\n                title: data.title,\\n                desc:data.content,\\n                url:    'hiker://empty##'+data.id+'@rule=js:$.require(\\\"hiker://page/detail4\\\")',\\r\\n                col_type: 'text_1',\\n                extra: {lineVisible: false}\\n       });\\n       photos.forEach(data => {\\n       d.push({\\n                img: data.media_url_full+lazy,\\r\\n                col_type: \\\"pic_3_card\\\",\\n                url : data.media_url_full,\\n       })\\n      })\\n       if(topic!=null){\\n       d.push({\\n                title:topic.name,\\n                url: 'hiker://empty##fypage##'+topic.id+'@rule=js:$.require(\\\"hiker://page/topic\\\")',\\n                col_type: 'flex_button'\\n      })\\n      }\\n      if(group!=null){\\n      d.push({\\n                title:group.name,\\n                url: 'hiker://empty##fypage##'+group.id+'@rule=js:$.require(\\\"hiker://page/group\\\")',\\n                col_type: 'flex_button'\\n      })\\n      }\\n})\"},{\"col_type\":\"movie_2\",\"name\":\"社区二级\",\"path\":\"detail4\",\"rule\":\"js:\\nvar d=[];\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar t = Math.floor(Date.now() / 1000); //log(t)\\nvar t0=Math.floor(Date.now());\\nvar id=MY_URL.split('##')[1];\\nvar data0='{\\\"oauth_type\\\":\\\"pwa\\\",\\\"oauth_id\\\":\\\"pjNCXTI0IIetltyr_1734010394330\\\",\\\"version\\\":\\\"3.0.0\\\",\\\"code\\\":\\\"detail\\\",\\\"id\\\":'+id+',\\\"mod\\\":\\\"news\\\",\\\"news_id\\\":'+id+'}';\\nvar url = 'https://zivssy.hziyhuy.com/pwa.php';\\n//log(url)\\nlet html2 = post(url,data0); \\nlet data= JSON.parse(html2).data.detail;\\n       //用户\\n      var user=data.user;\\n       //图片\\n      var photos=data.photos;\\n      d.push({\\r\\n                title: user.nickname,\\n                img: user.thumb_url+lazy,\\r\\n                col_type: \\\"avatar\\\",\\n                url : 'hiker://empty##fypage##'+user.uuid+'@rule=js:$.require(\\\"hiker://page/detail3\\\")',\\n       },{\\n                title: data.content,\\r\\n                col_type: 'long_text',\\n       });\\n       if(data.videos.length != 0){\\n      d.push({\\n            title: '视频▶️',\\n            img:data.videos[0].cover_url+lazy,\\n            url: data.videos[0]['media_url_full'],\\n            col_type: 'movie_2',\\n        });\\n      }\\n       photos.forEach(data => {\\n       d.push({\\n                img: data.media_url_full+lazy,\\r\\n                col_type: \\\"pic_1_full\\\",\\n                url : data.media_url_full,\\n       })\\n      })\\nsetResult(d)\"},{\"col_type\":\"movie_3\",\"name\":\"主题\",\"path\":\"topic\",\"rule\":\"js:\\nvar d=[];\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar id=MY_URL.split('##')[2];\\nvar pg=MY_URL.split('##')[1];\\nvar 主题= [{title: '最新&金币',key: 'new&coins'}];\\nif (MY_PAGE == 1) {\\n    $.require(\\\"Category\\\").Category(主题,'主题','scroll_button',d);\\n}\\nvar data0 = '{\\\"oauth_type\\\":\\\"pwa\\\",\\\"oauth_id\\\":\\\"XxSd8pttBaIkAKrF_1734097591750\\\",\\\"version\\\":\\\"3.0.0\\\",\\\"mod\\\":\\\"news\\\",\\\"code\\\":\\\"listNews\\\",\\\"page\\\":'+pg+',\\\"type\\\":\\\"'+getMyVar('主题','new')+'\\\",\\\"id\\\":'+id+',\\\"cate\\\":\\\"topic\\\"}';\\nvar url = 'https://zivssy.hziyhuy.com/pwa.php';\\n//log(url)\\nlet html2 = post(url,data0); \\n//log(html2)\\nlet data= JSON.parse(html2).data;\\n//log(item)\\ndata.forEach(data => {\\n       //用户\\n      var user=data.user;\\n       //图片\\n      var photos=data.photos;\\n      //主题\\n      var topic=data.topic;\\n      //圈子\\n      var group=data.group;\\n      d.push({\\r\\n                title: user.nickname,\\n                img: user.thumb_url+lazy,\\r\\n                col_type: \\\"avatar\\\",\\n                url : 'hiker://empty##fypage##'+user.uuid+'@rule=js:$.require(\\\"hiker://page/detail3\\\")',\\n       },{\\n                title: data.title,\\n                desc:data.content,\\n                url:    'hiker://empty##'+data.id+'@rule=js:$.require(\\\"hiker://page/detail4\\\")',\\r\\n                col_type: 'text_1',\\n                extra: {lineVisible: false}\\n       });\\n       photos.forEach(data => {\\n       d.push({\\n                img: data.media_url_full+lazy,\\r\\n                col_type: \\\"pic_3_card\\\",\\n                url : data.media_url_full,\\n       })\\n      })\\n       if(topic!=null){\\n       d.push({\\n                title:topic.name,\\n                url: 'hiker://empty##fypage##'+topic.id+'@rule=js:$.require(\\\"hiker://page/topic\\\")',\\n                col_type: 'flex_button'\\n      })\\n      }\\n      if(group!=null){\\n      d.push({\\n                title:group.name,\\n                url:'hiker://empty##fypage##'+group.id+'@rule=js:$.require(\\\"hiker://page/group\\\")',\\n                col_type: 'flex_button'\\n      })\\n      }\\n})\\nsetResult(d)\"},{\"col_type\":\"movie_3\",\"name\":\"圈子\",\"path\":\"group\",\"rule\":\"js:\\nvar d=[];\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar 圈子= [{title: '最新&金币',key: 'new&coins'}];\\nif (MY_PAGE == 1) {\\n    $.require(\\\"Category\\\").Category(圈子,'圈子','scroll_button',d);\\n}\\nvar id=MY_URL.split('##')[2];\\nvar pg=MY_URL.split('##')[1];\\nvar data0 = '{\\\"oauth_type\\\":\\\"pwa\\\",\\\"oauth_id\\\":\\\"XxSd8pttBaIkAKrF_1734097591750\\\",\\\"version\\\":\\\"3.0.0\\\",\\\"mod\\\":\\\"news\\\",\\\"code\\\":\\\"listNews\\\",\\\"page\\\":'+pg+',\\\"type\\\":\\\"'+getMyVar('圈子','new')+'\\\",\\\"id\\\":'+id+',\\\"cate\\\":\\\"group\\\"}';\\nvar url = 'https://zivssy.hziyhuy.com/pwa.php';\\n//log(url)\\nlet html2 = post(url,data0); \\n//log(html2)\\nlet data= JSON.parse(html2).data;\\n//log(item)\\ndata.forEach(data => {\\n       //用户\\n      var user=data.user;\\n       //图片\\n      var photos=data.photos;\\n      //主题\\n      var topic=data.topic;\\n      //圈子\\n      var group=data.group;\\n      d.push({\\r\\n                title: user.nickname,\\n                img: user.thumb_url+lazy,\\r\\n                col_type: \\\"avatar\\\",\\n                url : 'hiker://empty##fypage##'+user.uuid+'@rule=js:$.require(\\\"hiker://page/detail3\\\")',\\n       },{\\n                title: data.title,\\n                desc:data.content,\\n                url:    'hiker://empty##'+data.id+'@rule=js:$.require(\\\"hiker://page/detail4\\\")',\\r\\n                col_type: 'text_1',\\n                extra: {lineVisible: false}\\n       });\\n       photos.forEach(data => {\\n       d.push({\\n                img: data.media_url_full+lazy,\\r\\n                col_type: \\\"pic_3_card\\\",\\n                url : data.media_url_full,\\n       })\\n      })\\n       if(topic!=null){\\n       d.push({\\n                title:topic.name,\\n                url: 'hiker://empty##fypage##'+topic.id+'@rule=js:$.require(\\\"hiker://page/topic\\\")',\\n                col_type: 'flex_button'\\n      })\\n      }\\n      if(group!=null){\\n      d.push({\\n                title:group.name,\\n                url: 'hiker://empty##fypage##'+group.id+'@rule=js:$.require(\\\"hiker://page/group\\\")',\\n                col_type: 'flex_button'\\n      })\\n      }\\n})\\nsetResult(d)\"},{\"col_type\":\"movie_2\",\"name\":\"抖音原创二级\",\"path\":\"detail5\",\"rule\":\"js:\\nvar d=[];\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar t = Math.floor(Date.now() / 1000); //log(t)\\nvar t0=Math.floor(Date.now());\\nvar id=MY_URL.split('##')[2];\\nvar pg=MY_URL.split('##')[1];\\nvar 粉丝团= [{title: '粉丝团&作品',key: 'club&user'}];\\nif (MY_PAGE == 1) {\\n    $.require(\\\"Category\\\").Category(粉丝团,'粉丝团','scroll_button',d);\\n}\\nvar data0='{\\\"oauth_type\\\":\\\"pwa\\\",\\\"oauth_id\\\":\\\"pjNCXTI0IIetltyr_1734010394330\\\",\\\"version\\\":\\\"3.0.0\\\",\\\"code\\\":\\\"videos\\\",\\\"mod\\\":\\\"'+getMyVar('粉丝团','club')+'\\\",\\\"isAll\\\":false,\\\"page\\\":'+pg+',\\\"uuid\\\":\\\"'+id+'\\\"}';\\nvar url = 'https://zivssy.hziyhuy.com/pwa.php';\\n//log(url)\\nlet html2 = post(url,data0); \\nif(getMyVar('粉丝团','club')=='club'){\\nlet list= JSON.parse(html2).data.item;\\nlist.forEach(data => {\\n        d.push({\\n            title: data.title,\\n            desc: data.created_at+'\\\\t\\\\t\\\\t\\\\t'+data.durationStr+'  '+data.tags,\\n            img: data.thumbImg+lazy,\\n            url: data.playUrl.replace(/\\\\/\\\\/.*play\\\\./,'//long.'),\\n            col_type: \\\"movie_2\\\",\\n        })\\n })\\n\\n}else{\\nlet list= JSON.parse(html2).data;\\n//log(list);\\nif(list!=null){\\nlist.forEach(data => {\\n        d.push({\\n            title: data.title,\\n            desc: data.created_at+'\\\\t\\\\t\\\\t\\\\t'+data.durationStr+'  '+data.tags,\\n            img: data.thumbImg+lazy,\\n            url: data.playUrl.replace(/\\\\/\\\\/.*play\\\\./,'//long.'),\\n            col_type: \\\"movie_3\\\",\\n        })\\n })\\n}\\n}\\nsetResult(d)\"}]","proxy":"","icon":"https://mogua.co/download/0a98e15573e9dccb6303b9e4a465186f-icon.png"},{"last_chapter_rule":"","title":"《魔JM》91短视频","author":"https://91short.com","version":0,"type":"other","url":"hiker://empty##fypage","col_type":"movie_3_marquee","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\n/** @type layout[] */\nvar layouts = [];\nif (MY_PAGE === 1) layouts = storage0.getMyVar('items');\nconst { image, lazyRule } = $.require('hiker://page/tools');\nlet html;\nlet type = getMyVar('type');\n\nif (MY_PAGE === 1) {\n  let url = 'https://cn1.91short.com' + (type === 'short' ? getMyVar('short') : getMyVar('film'));\n  if (type === 'actor') url = 'https://cn1.91short.com/film/home_actor_list';\n  html = request(url);\n  putMyVar('url', html.match('let url=\"(.*?)\"')[1]);\n} else {\n  if (getMyVar('url') !== 'fail') {\n    html = request('https://cn1.91short.com' + getMyVar('url'));\n    putMyVar('url', pdfh(html, 'script&&Html'));\n  }\n}\nlet list = pdfa(html, 'body&&.module');\nif (list.length > 0) {\n  for (let module of list) {\n    let title = pdfh(module, '.module-title&&Text');\n    let temp = {\n      url: 'hiker://empty',\n      title,\n      col_type: 'avatar',\n      img: 'https://img95.699pic.com/element/40142/5043.png_860.png',\n    };\n    if (pdfa(module, '.module-title&&a').length > 0) {\n      temp.url = `hiker://empty##${pdfh(module, '.module-title&&a&&href')}##fypage`;\n      temp.img = image(pdfh(module, '.module-title&&img&&data-cover'));\n    }\n    if (title) layouts.push(temp);\n    let module_item = pdfa(module, '.module-list&&.module-item');\n    if (type === 'actor') module_item.pop();\n    for (let item of module_item) {\n      layouts.push({\n        title: pdfh(item, 'img&&alt'),\n        desc: pdfh(item, 'span&&Text'),\n        pic_url: image(pdfh(item, 'img&&data-cover')),\n        url: lazyRule(`https://cn1.91short.com${pdfh(item, 'a&&href')}`),\n      });\n    }\n    let actor_part = pdfa(module, '.module-list&&.actor_part');\n    if (actor_part.length > 0)\n      for (let actor of actor_part) {\n        layouts.push({\n          url: `hiker://empty##${pdfh(actor, 'a&&href')}##fypage`,\n          title: pdfh(actor, 'a&&title'),\n          col_type: 'icon_2_round',\n          img: image(pdfh(actor, 'img&&data-cover')),\n        });\n      }\n  }\n} else {\n  let module_item = pdfa(html, 'body&&.module-item');\n  if (module_item.length > 0)\n    for (let item of module_item) {\n      layouts.push({\n        title: pdfh(item, 'img&&alt'),\n        desc: pdfh(item, 'span&&Text'),\n        pic_url: image(pdfh(item, 'img&&data-cover')),\n        url: lazyRule(`https://cn1.91short.com${pdfh(item, 'a&&href')}`),\n      });\n    }\n  let actor_part = pdfa(html, 'body&&.actor_part');\n  if (actor_part.length > 0)\n    for (let actor of actor_part) {\n      layouts.push({\n        url: `hiker://empty##${pdfh(actor, 'a&&href')}##fypage`,\n        title: pdfh(actor, 'a&&title'),\n        col_type: 'icon_2_round',\n        img: image(pdfh(actor, 'img&&data-cover')),\n      });\n    }\n}\nsetResult(layouts);\n","searchFind":"js:\r\n/** @type layout[] */\r\nlet layouts = [];\r\nconst { image, lazyRule } = $.require('hiker://page/tools');\r\nlet html = request(`https://cn1.91short.com/search?wd=${getParam('wd')}`);\r\nlet module_item = pdfa(html, 'body&&.module-item');\r\nif (module_item.length > 0)\r\n  for (let item of module_item) {\r\n    layouts.push({\r\n      title: pdfh(item, 'img&&alt'),\r\n      desc: pdfh(item, 'span&&Text'),\r\n      pic_url: image(pdfh(item, 'img&&data-cover')),\r\n      url: lazyRule(`https://cn1.91short.com${pdfh(item, 'a&&href')}`),\r\n    });\r\n  }\r\nsetResult(layouts);\r\n","search_url":"hiker://empty?wd=**","group":"私人天地♥♥♥","detail_col_type":"movie_3_marquee","detail_find_rule":"js:\r\n/** @type layout[] */\r\nlet layouts = [];\r\nconst { image, lazyRule } = $.require('hiker://page/tools');\r\nlet html;\r\nif (MY_PAGE === 1) {\r\n  let url = 'https://cn1.91short.com' + MY_URL.split('##')[1];\r\n  html = request(url);\r\n  putMyVar('url2', html.match('let url=\"(.*?)\"')[1]);\r\n} else {\r\n  // log(getMyVar('url2'))\r\n  if (getMyVar('url2') !== 'fail') {\r\n    html = request('https://cn1.91short.com' + getMyVar('url2'));\r\n    putMyVar('url2', pdfh(html, 'script&&Html'));\r\n  }\r\n}\r\n\r\nlet module_item = pdfa(html, 'body&&.module-item');\r\nif (module_item.length > 0)\r\n  for (let item of module_item) {\r\n    layouts.push({\r\n      title: pdfh(item, 'img&&alt'),\r\n      desc: pdfh(item, 'span&&Text'),\r\n      pic_url: image(pdfh(item, 'img&&data-cover')),\r\n      url: lazyRule(`https://cn1.91short.com${pdfh(item, 'a&&href')}`),\r\n    });\r\n  }\r\n\r\nsetResult(layouts);\r\n","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"let tabs = storage0.getMyVar('tabs');\r\nif (!tabs) {\r\n  tabs = [\r\n    {\r\n      title: 'type',\r\n      names: '短视频&AV电影&女‎​优'.split('&'),\r\n      ids: 'short&film&actor'.split('&'),\r\n      arr: [\r\n        [\r\n          {\r\n            title: 'short',\r\n            names: '最新&推荐&美女正妹&91大神&国产高清&排行&国产AV&门事件&大象传媒&情趣综艺'.split('&'),\r\n            ids: [\r\n              '/',\r\n              '/short/recommend_home_list',\r\n              '/short/label_related_list/Ug_pu_kskqY%3D',\r\n              '/short/label_related_list/otDa4t6lDDQ%3D',\r\n              '/short/home_category_list/hd',\r\n              '/short/ranking_list',\r\n              '/short/label_related_list/1Bd0Zzp8D_E%3D',\r\n              '/short/label_related_list/3QW8lOdBcls%3D',\r\n              '/short/label_related_list/F16wCJ3LmWY%3D',\r\n              '/short/label_related_list/-0S1LwkskU4%3D',\r\n            ],\r\n          },\r\n        ],\r\n        [\r\n          {\r\n            title: 'film',\r\n            names: ['推荐', '专题', '无‎码', '中文', '动漫', '经典三级', '欧美性‎爱', 'AV解说'],\r\n            ids: [\r\n              '/film/home_recommend_list',\r\n              '/film/home_subject_list',\r\n              '/film/home_category_list/coded',\r\n              '/film/home_category_list/chinese_subtitle',\r\n              '/film/home_list/jOSxa-4E27U%3D',\r\n              '/film/home_list/uZg0vDL8P8A%3D',\r\n              '/film/home_list/LblejiEnM6s%3D',\r\n              '/film/home_list/vJq_GzRiesQ%3D',\r\n            ],\r\n          },\r\n        ],\r\n      ],\r\n    },\r\n  ];\r\n  storage0.putMyVar('tabs', tabs);\r\n}\r\n\r\nlet items = [];\r\nfunction setTabs(tabs) {\r\n  if (!tabs) return;\r\n  for (let data of tabs) {\r\n    getMyVar(data.title) || putMyVar(data.title, data.ids[0]);\r\n    for (let i = 0; i < data.names.length; i++) {\r\n      items.push({\r\n        title:\r\n          getMyVar(data.title) === data.ids[i]\r\n            ? `““””<font color=\"#12b668\"><b>${data.names[i]}</b></font>`\r\n            : data.names[i],\r\n        url: $('#noLoading#').lazyRule(\r\n          (title, id) => {\r\n            if (getMyVar(title) !== id) {\r\n              putMyVar(title, id);\r\n              refreshPage();\r\n            }\r\n            return 'hiker://empty';\r\n          },\r\n          data.title,\r\n          data.ids[i]\r\n        ),\r\n        col_type: 'scroll_button',\r\n      });\r\n    }\r\n    items.push({ col_type: 'blank_block' });\r\n    if (data.arr) {\r\n      setTabs(data.arr[data.ids.indexOf(getMyVar(data.title))]);\r\n    }\r\n  }\r\n}\r\nsetTabs(tabs);\r\n\r\nstorage0.putMyVar('items', items);\r\n\nregisterDNS({\n    \"https://cn1.91short.com\":\"https://dns.google/dns-query\",\n    'https://cn1.91short.com': 'https://dns.google/dns-query',\n});\r\n\n","pages":"[{\"col_type\":\"movie_3\",\"name\":\"tools\",\"path\":\"tools\",\"rule\":\"const image = (url) =>\\r\\n    $(url).image(() => {\\r\\n        const FileUtil = com.example.hikerview.utils.FileUtil\\r\\n        let bytes = FileUtil.toBytes(input)\\r\\n        const Cipher = javax.crypto.Cipher\\r\\n        const SecretKeySpec = javax.crypto.spec.SecretKeySpec\\r\\n        const KEY = new java.lang.String('Jui7X#cdleN^3eZb')\\r\\n        const KEY_ALGORITHM = 'AES'\\r\\n        const AES_MODE = 'AES/ECB/NoPadding'\\r\\n        let secretKeySpec = new SecretKeySpec(KEY.getBytes(), KEY_ALGORITHM)\\r\\n        let cipher = Cipher.getInstance(AES_MODE)\\r\\n        cipher.init(2, secretKeySpec)\\r\\n        return FileUtil.toInputStream(cipher.doFinal(bytes))\\r\\n    })\\r\\n// const _request = (url) => {\\r\\n//   const input = request(url, {\\r\\n//     headers: {\\r\\n//       'Accept-Encoding': 'gzip, deflate, br',\\r\\n//     },\\r\\n//     inputStream: true,\\r\\n//   });\\r\\n//   let bytes;\\r\\n//   const FileUtil = com.example.hikerview.utils.FileUtil;\\r\\n//   const GZIPInputStream = java.util.zip.GZIPInputStream;\\r\\n//   try {\\r\\n//     const gzip = new GZIPInputStream(input);\\r\\n//     bytes = FileUtil.toBytes(gzip);\\r\\n//   } catch (e) {\\r\\n//     bytes = FileUtil.toBytes(input);\\r\\n//   } finally {\\r\\n//     closeMe(input);\\r\\n//   }\\r\\n//   return new java.lang.String(bytes, 'UTF-8');\\r\\n// };\\r\\n// const lazyRule = (url) =>\\r\\n//   $(url).lazyRule((_request) => {\\r\\n//     const html = _request(input);\\r\\n//     const bad = '502 Bad Gateway';\\r\\n//     if (html.includes(bad)) {\\r\\n//       input = 'toast://' + bad;\\r\\n//     } else {\\r\\n//       input = pdfh(html, 'body&&iframe&&src').split('url=')[1];\\r\\n//     }\\r\\n//     return input;\\r\\n//   }, _request);\\r\\nconst lazyRule = (url) =>\\r\\n    $(url, 'body&&Html').lazyRule(\\r\\n        () =>\\r\\n            input\\r\\n                .split('url=')[1]\\r\\n                .split('\\\"')[0]\\r\\n                +            ';{Referer@https://ha.lilongfei.cn/}'\\r\\n    )\\r\\n$.exports = {\\r\\n    image,\\r\\n    lazyRule,\\r\\n}\\r\\n\"}]","proxy":"","icon":"https://iconf.oss-accelerate.aliyuncs.com/no/icon-152x152.png"},{"firstHeader":"class","last_chapter_rule":"","title":"色情导航","author":"","version":0,"type":"other","url":"hiker://empty##https://sexgps.net/##1","col_type":"movie_3","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\n// 头部分类构造器\nfunction hiker_ClassHeader(classArray) {\n    this.arr = classArray.map(v => this.init(v))\n    this.color = '#12b668'\n    this.boundary = 'blank_block'\n}\nhiker_ClassHeader.prototype = {\n    constructor: hiker_ClassHeader,\n    load(el) {\n        this.arr.forEach((v) => {\n            let {\n                id,\n                class_name,\n                class_url\n            } = v,\n            selected = JSON.stringify(this.getClass(id))\n            class_name.forEach((name, i) => {\n                let url = class_url[i],\n                    now = JSON.stringify({\n                        name: name,\n                        url: url\n                    })\n                el.push({\n                    title: selected == now ? '““””' + name.fontcolor(this.color).bold() : name,\n                    url: selected == now ? 'hiker://empty' : $('#noLoading#').lazyRule((id, now) => {\n                        putMyVar('$hikerClassHeader_' + id, now)\n                        refreshPage(false)\n                        return 'hiker://empty'\n                    }, id, now),\n                    col_type: 'scroll_button'\n                })\n            })\n            el.push({\n                col_type: this.boundary\n            })\n        })\n    },\n    init(classObject) {\n        classObject.class_name = classObject.class_name.split('&')\n        classObject.class_url = classObject.class_url.split('&').map((v) => v.trim())\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        defaultClass = JSON.stringify(defaultClass ? {\n            name: defaultClass.class_name[0],\n            url: defaultClass.class_url[0]\n        } : {\n            name: 'cannot find id: ' + id + ' in hikerClassHeader',\n            url: ''\n        })\n        return JSON.parse(getMyVar('$hikerClassHeader_' + id, defaultClass))\n    },\n    setUrl(url) {\n        return url.replace(/\\$\\{([^}]*)\\}/g, (_, id) => this.getClass(id).url)\n    }\n}\n// 运行链接.js:\nfunction hiker_runCode(rule) {\n    try {\n        let [input, code] = rule.split('.js:')\n        return code ? eval(code) : rule\n    } catch (e) {\n        return rule\n    }\n}\n// 定义变量\nconst hiker_RULE = JSON.parse(JSON.parse(fetch('hiker://page/hiker_cs_data')).rule),\n    hiker_pageNum = parseInt(MY_URL.split('##')[2]),\n    hiker_fyAll = hiker_RULE.url.includes('fyAll')\nlet hiker_el = [],\n    hiker_URL = hiker_RULE.url.split(';'),\n    hikerHTML = '',\n    hiker_classHeader = []\n// 头部分类实例\nif (hiker_RULE.class_name) hiker_classHeader.push({\n    id: hiker_fyAll ? 'fyAll' : 'fyclass',\n    class_name: hiker_RULE.class_name,\n    class_url: hiker_RULE.class_url\n})\nif (hiker_RULE.area_name) hiker_classHeader.push({\n    id: hiker_fyAll ? 'fyAll' : 'fyarea',\n    class_name: hiker_RULE.area_name,\n    class_url: hiker_RULE.area_url\n})\nif (hiker_RULE.year_name) hiker_classHeader.push({\n    id: hiker_fyAll ? 'fyAll' : 'fyyear',\n    class_name: hiker_RULE.year_name,\n    class_url: hiker_RULE.year_url\n})\nif (hiker_RULE.sort_name) hiker_classHeader.push({\n    id: hiker_fyAll ? 'fyAll' : 'fysort',\n    class_name: hiker_RULE.sort_name,\n    class_url: hiker_RULE.sort_url\n})\nhiker_classHeader = new hiker_ClassHeader(hiker_classHeader)\n// 处理MY_URL\nMY_URL = hiker_URL.shift()\nMY_URL = hiker_classHeader.setUrl(hiker_fyAll ?\n        MY_URL.replace(/fyAll/g, '$${fyAll}') :\n        MY_URL.replace(/fy(class|area|year|sort)/g, '$${fy$1}'))\n    .replace(/fypage(?:@(-?\\d+)@)?(?:\\*(\\d+)@)?/g,\n        (_, start, space) => parseInt(start || 0) + 1 + (hiker_pageNum - 1) * parseInt(space || 1))\nMY_URL = /^([\\s\\S]*?)(?:\\[firstPage=([\\s\\S]*?)\\])?(?:(\\.js:[\\s\\S]*?))?$/.exec(MY_URL)\nif (hiker_pageNum == 1 && MY_URL[2]) MY_URL[1] = MY_URL[2]\nif (MY_URL[3] && !MY_URL[1].includes('.js:')) MY_URL[1] += MY_URL[3]\nMY_URL = hiker_runCode(MY_URL[1])\n// 处理MY_URL参数并获取HTML\nhiker_URL = {\n    method: hiker_URL[0] || 'get',\n    headers: {\n        'Content-Type': hiker_URL[1] ? 'text/plain;charst=' + hiker_URL[1] : null\n    },\n    headerStr: hiker_URL[2]\n}\nif (/^post$/i.test(hiker_URL.method)) {\n    let [url, body] = MY_URL.split('?')\n    MY_URL = url.replace(/\\?\\?/g, '?')\n    if (body.startsWith('JsonBody=')) body = body.slice(9)\n    hiker_URL.body = body\n}\nif (hiker_URL.headerStr) hiker_URL.headerStr.match(/{(.*)}/)[1]\n    .split('&&').forEach((v) => {\n        let [key, value] = v.split('@')\n        hiker_URL.headers[key] = hiker_runCode(value)\n    })\ndelete hiker_URL.headerStr\nif (!hiker_URL.headers['User-Agent']) {\n    if (MY_RULE.ua == 'pc')\n        hiker_URL.headers['User-Agent'] = PC_UA\n    else if (MY_RULE.ua == 'mobile')\n        hiker_URL.headers['User-Agent'] = MOBILE_UA\n}\nhikerHTML = fetch(MY_URL, hiker_URL)\n// 劫持内置变量\ngetResCode = () => hikerHTML\nMY_RULE.class_url = hiker_classHeader.getClass(hiker_fyAll ? 'fyAll' : 'fyclass').url\nMY_RULE.area_url = hiker_fyAll ? MY_RULE.class_url : hiker_classHeader.getClass('fyarea').url\nMY_RULE.year_url = hiker_fyAll ? MY_RULE.class_url : hiker_classHeader.getClass('fyyear').url\nMY_RULE.sort_url = hiker_fyAll ? MY_RULE.class_url : hiker_classHeader.getClass('fysort').url\n// 生成头部分类及搜索功能\nif (MY_PAGE == 1) {\n    hiker_classHeader.load(hiker_el)\n    if (hiker_RULE.search_url) hiker_el.push({\n        title: \"搜索\",\n        desc: \"搜你想要的...\",\n        url: '\"hiker://search?s=\"+input',\n        extra: {\n            rules: $.toString(() => {\n                let rule = JSON.parse(fetch('hiker://home')).find((v) => v.title == MY_RULE.title),\n                    exRule = JSON.parse(JSON.parse(fetch('hiker://page/hiker_cs_data')).rule)\n                if (rule.nextRule) {\n                    rule.detail_find_rule = rule.nextRule\n                    rule.detail_col_type = rule.nextColType\n                }\n                return JSON.stringify([Object.assign(rule, exRule)])\n            }),\n            defaultValue: getMyVar('hiker_searchKey', ''),\n            onChange: \"putMyVar('hiker_searchKey',input)\"\n        },\n        col_type: \"input\",\n    })\n}\n// 劫持setResult\nsetResult = function(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    el = hiker_el.concat(el)\n    method_setResult.invoke(javaContext, el, param1, param2, param3)\n}\nsetHomeResult = setResult\nsetSearchResult = setResult; // 原代码\nvar d = []\nvar html = getResCode()\n\nd.push({\n    img: \"https://sexgps.net/images/favicon.png\",\n    url: \"https://sexgps.net/\",\n    col_type: \"pic_1_center\"\n})\n\nd.push({\n    title: '‘‘’’'+pdfh(html, \"h2&&Text\").small(),\n    url: \"hiker://empty\",\n    col_type: \"text_center_1\"\n})\n\nvar tabs = pdfa(html, \".tab-content&&.header\")\nvar conts = pdfa(html, \".tab-content&&.box\")\nfor (var i = 0; i < conts.length; i++) {\r\n    var list = parseDomForArray(conts[i],'.box&&.site:not(:contains(新葡京))');\r\n    if (list != null){\r\n       d.push({\r\n           title: '<strong><font >' + pdfh(tabs[i],\"a&&Text\") +'</font></strong>',\n          img: pd(tabs[i], \"img&&src\") ,\n          url: pd(tabs[i],\"a&&href\"),\n          col_type: \"avatar\"\r\n       });\r\n       for (var j = 0; j < list.length; j++) {\r\n           d.push({\r\n               title: '<middle><font color=#FFA40E>' + pdfh(list[j],\".name&&Text\").split(\" \")[0] +'</middle></font>' + '<font><small>\\t\\t\\t' + pdfh(list[j],\".subtitle&&Text\") +'</font></small>',\r\n               url: 'https://' + pdfh(list[j],\".extra&&Text\"),\n               img: 'https://hikerfans.com/tubiao/system/92.png',\n               col_type: \"avatar\"\r\n            });\r\n        }\n    }\r\n}\nsetResult(d)","searchFind":"","search_url":"","group":"私人天地♥♥♥","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"","pages":"[{\"name\":\"海壳数据\",\"path\":\"hiker_cs_data\",\"rule\":\"{\\\"url\\\":\\\"https://sexgps.net/\\\",\\\"search_url\\\":\\\"\\\",\\\"class_name\\\":\\\"\\\",\\\"class_url\\\":\\\"\\\",\\\"area_name\\\":\\\"\\\",\\\"area_url\\\":\\\"\\\",\\\"year_name\\\":\\\"\\\",\\\"year_url\\\":\\\"\\\",\\\"sort_name\\\":\\\"\\\",\\\"sort_url\\\":\\\"\\\",\\\"searchFind\\\":\\\"\\\",\\\"sdetail_find_rule\\\":\\\"\\\",\\\"sdetail_col_type\\\":\\\"movie_1\\\"}\"}]","proxy":"","icon":"https://sexgps.net/images/favicon.png"},{"firstHeader":"class","last_chapter_rule":"","title":"美国队长🔞","author":"Xiaohuihui","version":20241220,"type":"video","url":"hiker://empty##fypage","col_type":"icon_3_round_fill","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\r\nvar d = [];\n\nfunction color(a, b, txt) {\n    return a == b ? '““””<b><font color=' + '#FF6699' + '>' + txt + '</font></b>' : txt\n}\nvar host = 'https://api.736136.com/api/video'\nvar tabs = [{\nname: \"视频\", url:\"/get/menu\",img:\"https://ghproxy.net/https://raw.githubusercontent.com/ls125781003/tubiao/main/movie/59.svg\"\n},{\nname: \"小说\", url:\"/novelType/index\",img:\"https://ghproxy.net/https://raw.githubusercontent.com/ls125781003/tubiao/main/square/42.png\"\n}];\nif (MY_PAGE == 1) {\n    tabs.forEach((data) => {\n        let title = data.name;\n        let id = data.url;    \n        d.push({\n\t\t         title: color(id, getMyVar(MY_RULE.title,'/get/menu'), title),\n             img:data.img,\n\t          \turl: $('#noLoading#').lazyRule((id) => {\n                    putMyVar(MY_RULE.title, id)\n                    refreshPage(false)\n                    return 'hiker://empty'\n                }, id),\n             col_type: 'icon_2'\n\t       });\n    })\n    d.push({\n        col_type: 'blank_block'\n    });\n}\n\nvar url = host + getMyVar(MY_RULE.title,'/get/menu')\nif (url.match(\"menu\")){\n    var list = JSON.parse(fetch(url)).data\n    list.forEach(item => {\n        d.push({\n            title: item.name,\n            desc: item.time,\n            img: item.logo,\n            url: host + '/get/nav?id=' + item.id + '##fypage' + '@rule=js:$.require(\"hiker://page/nav\")',\n            col_type: 'card_pic_3_center',\n            extra: {\n                title: item.name,\n                id: item.id,\n                host: host,\n            }\n        })\n    })\n} else if (url.match(\"novelType\")){\nvar list = JSON.parse(fetch(url)).data.data\n    list.forEach(item => {\n        d.push({\n            title: item.name,\n            desc: item.time,\n            img: item.pic,\n            url: host + '/novel/titleList?type_id=' + item.id + '&page=fypage' + '@rule=js:$.require(\"hiker://page/novel\")',\n            col_type: 'movie_3',\n            extra: {\n                title: item.name,\n                id: item.id,\n                host: host,\n            }\n        })\n    })\n}\n\r\nsetResult(d);","searchFind":"","search_url":"","group":"私人天地♥♥♥","detail_col_type":"icon_2_round","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"auto","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"小说二级\",\"path\":\"txt\",\"rule\":\"js:\\nvar d = [];\\nvar list = JSON.parse(fetch(MY_URL)).data\\n\\nd.push({\\n    title: \\\"‘‘’’\\\" + list.title.fontcolor('#FF6699').bold(), \\n    desc: list.created_at,\\n    url: 'hiker://empty',\\n    col_type: 'text_1',\\n});\\n\\nd.push({\\n    title: list.content.replace(/<strong><\\\\/strong>/g,\\\"\\\"),\\n    col_type: 'rich_text',\\n    extra: {\\ntextSize: 18,\\nclick: true\\n    }\\n});\\n\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"小说\",\"path\":\"novel\",\"rule\":\"var d = [];\\n\\nvar host = MY_PARAMS.host\\nvar list = JSON.parse(fetch(MY_URL)).data.data\\n//log(list)\\n    list.forEach(item => {\\n        d.push({\\n            title: item.title,\\n            url: host + '/novel/info?id=' + item.id + '@rule=js:$.require(\\\"hiker://page/txt\\\")',\\n            col_type: 'text_1',\\n        })\\n    })\\n\\nsetResult(d);\"},{\"col_type\":\"movie_3\",\"name\":\"视频\",\"path\":\"nav\",\"rule\":\"js:\\r\\nvar d = [];\\nfunction color(a, b, txt) {\\n    return a == b ? '““””<b><font color=' + '#FF6699' + '>' + txt + '</font></b>' : txt\\n}\\nvar host = MY_PARAMS.host\\nMY_URL =  JSON.parse(fetch(MY_URL.split(\\\"##\\\")[0])).data[0].link\\n\\nif (MY_PAGE == 1) {\\n    let data =  JSON.parse(fetch(host + '/get/nav?id=' + MY_PARAMS.id)).data\\n    data.forEach((item) => {\\n        let title = item.name;\\n        let id = item.link;    \\n        d.push({\\n\\t\\t         title: color(id, getMyVar(MY_RULE.url, MY_URL), title),\\n\\t          \\turl: $('#noLoading#').lazyRule((id) => {\\n                    putMyVar(MY_RULE.url, id)\\n                    refreshPage(true)\\n                    return 'hiker://empty'\\n                }, id),\\n             col_type: 'scroll_button'\\n\\t       });\\n    })\\n    d.push({\\n        col_type: 'blank_block'\\n    });\\n}\\n\\nvar lazy=$('').lazyRule(() => {\\n    var url = fetch(input)\\n    return url\\n})\\nlet true_url = host +   '/curl/data?type=1&url=' + getMyVar(MY_RULE.url, MY_URL) + \\\"&p=\\\" + MY_PAGE\\nvar list = JSON.parse(fetch(true_url)).data\\nif (list == null) {\\n    d.push({\\n            title: \\\"列表为空\\\",\\n            desc: \\\"请返回或尝试下拉刷新\\\",\\n            col_type: 'text_center_1'\\n    })\\n}else{\\n    list = list[0].data;\\n    list.forEach(item => {\\n        d.push({\\n            title: item.title,\\n            desc: item.time,\\n            img: item.img,\\n            url: item.address + lazy,\\n            col_type: 'movie_2'\\n        })\\n    })\\n}\\nsetResult(d);\"}]","proxy":"","icon":"https://mdapi.zhbt01.com/storage/video/banner/2024-01-3165b92fda07122.png"},{"last_chapter_rule":"","title":"黃品匯(汤头条)","author":"Aries","version":1,"type":"video","url":"hiker://empty##{\"system_oauth_type\":\"pwa\",\"system_oauth_id\":\"egzmJgnUCTYIlCxD_1722416055782\",\"system_oauth_new_id\":\"\",\"system_version\":\"3.0.1\",\"system_app_type\":\"\",\"system_build\":\"\",\"system_build_id\":\"\",\"page\":\"fypage\",\"tabId\":\"fyclass\"}","col_type":"movie_2","class_name":"今日头条&最新&经典三级&国产&动漫CG&欧美&日韩","class_url":"11&10&5&4&12&2&1","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js: \nvar d = [];\nif (MY_PAGE == 1) {\n    d.push({   \n        title: \"搜索\",\n           url: \"'hiker://search?s='+input+'&rule='+ MY_RULE.title\",\n           desc: \"请输入搜索关键词\",\n           col_type: \"input\",\n    })\n};\neval(JSON.parse(request('hiker://page/aes')).rule);\n\n//生成随机uuid\nfunction generateUUID() {\n    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\n        var r = Math.random() * 16 | 0;\n        var v = c === 'x' ? r : (r & 0x3 | 0x8);\n        return v.toString(16);\n    });\n}\n//生成时间戳\nfunction getCurrentTimestamp() {\n    return new Date().getTime();\n}\n//md5加密\nfunction md5(str) {\n    return CryptoJS.MD5(str).toString();\n}\n//sha256加密\nfunction sha256(str) {\n    return CryptoJS.SHA256(str).toString();\n}\n\nvar lazy = $('').lazyRule(() => {\n    var html = request(input); //log(html)\n    const iv1 = html.match(/^.{32}/)[0]; //log(iv1)\n    const data = html.replace(/^.{32}/,''); //log(data)\n    eval(getCryptoJS())\n    const key = CryptoJS.enc.Hex.parse(\"13d47399bda541b85e55830528d4e66f1791585b2d2216f23215c4c63ebace31\");\n    const iv = CryptoJS.enc.Hex.parse(iv1);\n    function Decrypt1(word) {\n    let encryptedHexStr = CryptoJS.enc.Hex.parse(word);\n    let decrypt = CryptoJS.AES.decrypt({\n        ciphertext: encryptedHexStr\n    }, key, {\n        iv: iv,\n        mode: CryptoJS.mode.CFB,\n        padding: CryptoJS.pad.NoPadding\n    });\n    if (decrypt) {\n        let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);\n        return decryptedStr;\n    } else {\n        // 解密失败,返回null或错误信息\n        return null;\n    }\n}\n    var m3u8 = Decrypt1(data); //log(m3u8)\n    writeFile('hiker://files/cache/video.m3u8', m3u8);\n    return getPath('hiker://files/cache/video.m3u8') + '#' + input;\n    \n})\n\nvar t = Math.floor(Date.now() / 1000); //log(t)\n//var timestamp = new Date().getTime() / 1000; //log(timestamp)\n//var t = timestamp.toString().split('.')[0]; //log(t)\n//var data1 = MY_URL.replace('hiker://empty##', ''); log(data1)\nvar data = Encrypt(MY_URL.replace('hiker://empty##', '')); //log(data)\nvar sign = md5(sha256('client=pwa&data='+data+'&timestamp='+t+'7205a6c3883caf95b52db5b534e12ec3')); //log(sign)\nvar body = 'client=pwa&timestamp='+t+'&data='+data+'&sign='+sign; //log(body)\nvar url = 'https://dpi4.tbrapi.org/pwa.php/api/MvList/featured';\nvar html = fetch(url, {\n    headers: {\n    'Content-Type': 'application/x-www-form-urlencoded'\n    },\n    body: body,\n    method: 'POST'\n}); //log(html)\n\nlet html1 = JSON.parse(html).data; //log(html1)\nlet html2 = Decrypt(html1); //log(html2)\n\nvar list = JSON.parse(html2).data.list; //log(list)\nlist.forEach(data => {\n    var url = data.preview_video;\n        d.push({\n            title: data.title,\n            desc: data.refresh_at+'\\t\\t\\t\\t'+data.duration_str,\n            img: data.thumb_cover_str + '@js=' + imgDec(key, iv, 'AES'),\n            url: url.replace(/\\/\\/.*play\\./,'//long.').replace('&seconds=30','')\n        })\n    })\n\nsetResult(d)","searchFind":"js: \nvar d = [];\n\neval(JSON.parse(request('hiker://page/aes')).rule);\n\n//生成随机uuid\nfunction generateUUID() {\n    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\n        var r = Math.random() * 16 | 0;\n        var v = c === 'x' ? r : (r & 0x3 | 0x8);\n        return v.toString(16);\n    });\n}\n//生成时间戳\nfunction getCurrentTimestamp() {\n    return new Date().getTime();\n}\n//md5加密\nfunction md5(str) {\n    return CryptoJS.MD5(str).toString();\n}\n//sha256加密\nfunction sha256(str) {\n    return CryptoJS.SHA256(str).toString();\n}\n\nvar lazy = $('').lazyRule(() => {\n    var html = request(input); //log(html)\n    const iv1 = html.match(/^.{32}/)[0]; //log(iv1)\n    const data = html.replace(/^.{32}/,''); //log(data)\n    eval(getCryptoJS())\n    const key = CryptoJS.enc.Hex.parse(\"13d47399bda541b85e55830528d4e66f1791585b2d2216f23215c4c63ebace31\");\n    const iv = CryptoJS.enc.Hex.parse(iv1);\n    function Decrypt1(word) {\n    let encryptedHexStr = CryptoJS.enc.Hex.parse(word);\n    let decrypt = CryptoJS.AES.decrypt({\n        ciphertext: encryptedHexStr\n    }, key, {\n        iv: iv,\n        mode: CryptoJS.mode.CFB,\n        padding: CryptoJS.pad.NoPadding\n    });\n    if (decrypt) {\n        let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);\n        return decryptedStr;\n    } else {\n        // 解密失败,返回null或错误信息\n        return null;\n    }\n}\n    var m3u8 = Decrypt1(data); //log(m3u8)\n    writeFile('hiker://files/cache/video.m3u8', m3u8);\n    return getPath('hiker://files/cache/video.m3u8') + '#' + input;\n    \n})\n\nvar t = Math.floor(Date.now() / 1000); //log(t)\n//var timestamp = new Date().getTime() / 1000; //log(timestamp)\n//var t = timestamp.toString().split('.')[0]; //log(t)\nvar data = Encrypt(MY_URL.replace('hiker://empty##', '')); //log(data)\nvar sign = md5(sha256('client=pwa&data='+data+'&timestamp='+t+'7205a6c3883caf95b52db5b534e12ec3')); //log(sign)\nvar body = 'client=pwa&timestamp='+t+'&data='+data+'&sign='+sign; //log(body)\nvar url = 'https://dpi4.tbrapi.org/pwa.php/api/MvSearch/video';\nvar html = fetch(url, {\n    headers: {\n    'Content-Type': 'application/x-www-form-urlencoded'\n    },\n    body: body,\n    method: 'POST'\n}); //log(html)\n\nlet html1 = JSON.parse(html).data; //log(html1)\nlet html2 = Decrypt(html1); //log(html2)\n\nvar list = JSON.parse(html2).data.list; //log(list)\nlist.forEach(data => {\n    var url = data.preview_video;\n        d.push({\n            title: data.title,\n            desc: data.refresh_at+'\\t\\t\\t\\t'+data.duration_str,\n            img: data.thumb_cover_str + '@js=' + imgDec(key, iv, 'AES'),\n            url: url.replace(/\\/\\/.*play\\./,'//long.').replace('&seconds=30','')\n        })\n    })\n\nsetResult(d)","search_url":"hiker://empty##{\"system_oauth_type\":\"pwa\",\"system_oauth_id\":\"98jqSVmwOG2EzP8e_1722415665913\",\"system_oauth_new_id\":\"\",\"system_version\":\"3.0.1\",\"system_app_type\":\"\",\"system_build\":\"\",\"system_build_id\":\"\",\"page\":\"fypage\",\"size\":\"15\",\"keyword\":\"**\"}","group":"私人天地♥♥♥","detail_col_type":"movie_3","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"aes\",\"path\":\"aes\",\"rule\":\"evalPrivateJS(\\\"3GyPqgnmPpU8rxOYRi4W4EDfV3ZaPnY31mAFFh/e+VR5KM6VUBtZJ2YQRDn5hvFkLtDtwkn0rbGSkWu/emMhwH6cVbD3JFSKaHv8Bf5E0wllzw3KmxtE4X4/gY4JW/eLIg6RItXPNtMd34pFc80LZSkwIkxAnNjgh499g9UzFYs9AoI7sJZpGFmCbBPz5P0z7rntqSPqXTFucl+fc7uJ7XJxDstwuZhNiyKa5ncv9Pgcu/b2Ub3FhuHC2iC6Pj2mXcn6FM0ewcFWVsB+CiaxLwZqAG7pBntb6oOZ3W+gVPH3NR7uB8SJqAjIyDgn2CaKiNBBgkeLqDcnp49ktYKlLEhslammUq4vbcyRhcapwmw4g7qK49BbqjtW3PvgLODdeQN9O2ff6AoLp6CVPZ/vFlK8cRaUysHJTseFOxT5F6GL7r6e3T63ShQPBFgFgTl2P6qo7KHkFrLPK8ocgaWz1DGNd9kSkPh5Vuod/nBUgoipErDoXbBVveWx7OZQuE3FRed8LHFdF5mVfYQcEVtGpdPNXIVnxT3Pu0gVhjkgFdws7ubaKepo/QDikPCIfxQYaWGxCxwoImdTKU4a5RUkd1KtSWqCqe0Zz3vIgnfig4xt4QLwU08n1GECxkXpl7I+p9lrEnm+0JByi/96yxwPLqMA0dDzMGpxlAkguH7Wox2foa9eHSxAGfvF137/p8CGuKGAVONUOceKJm0atr4D5Wp1wc/+4R08XbbvcER014Yf/ioM47cvynpe1kdtE+Ol9GnxkxRseZtRgQik779eeTKkZP+FN7B9AFTLKcInFw8/nBgrqq1KRgoh/lDHQx+B0E2jFUtDdDpFLy4z9VIrY7h4bEwHn/OdYgB7P5HZ7eBYHkN041F0hbz41s5qNDzrQRqGvMI6gz6WFztht7FiziQwq4DHhTf7i3sm4Wonsdh0FcXr4K1gMGVaxbDArsAFhyfFr2neMShP9whjHsz//eUT9lbEphlXXGrazmg+iZtbx6tzAOZNxsHmagYGcsAbDpjJe1pFXgfqkxnlOacp9oDbl9T8hnqCN1cjM6wq062Qh5Nyy0sVbbfIQ0QBRDo8BhV2FCsC6bJxLwq82hGTIrXajZxeexugZnOazYNugzNUC/BsDPf/ESJEdtBP/YbOuZHfjnQmXkKy5Q3VbGh+u5a8nTdXqHdSXEMlIIVjgkiaIwvNiytLZP9Q35s32b7qtzDa+kZ+OB4hz/Aab5fiv0+BnsC1ZRmjcsON/G6hh8JBe74LAeVNDjf+82105MOG8vo8AlYV4YAPLkiIhZ3hs+2sm8SNQjuccaWUearAqfaiB73WnY8TSX1dYQIHTCKs+MZbbltaeJZq7/NYBkoVrd4aH5PvxbFOEZNxeaa25deLx7OOPSlYvR4D5zVuzh88TpTHgPOkmgmauom7dBZHVGlhsQscKCJnUylOGuUVJHd6YFoasYv7u3ZHfg9tlAiICAs1OTFhZae/3LPjVw7BbRXOUrBeSFRbzUl/EVG0Q6dHqG3YHYK8c+nf1NT8akOTzFPbXfyP5iTvoozdLrfsebFc6mr0CiuhNrrJMA+rGqvSZcFc0+XPmedDKQE/d9h4MGgy3cdvqs2KAuqLov+koPBNVQCTRrygx+vZ7AaJO7tjJDS+8R0ZTGek5Xt3byOG7JF9DhA9VD3+nYpx1uWZ7maf/2pOlGK5cz1a9SQ74adteB0ZmMeLsvDbK9eNCTVhZDPDT91ovvLjTsjhjSfiHAT0mlGMJI2RHTMzas6LnUMI2DBjgiz02sS5zgG/P5m2Oyq+Q4O67TWbkMTSYcGqdOKGhMkFGUbvlSx2rzkFpab5O/6AU4/Ho8IU7Wd34AawW1V26oilFYyXFZ+v7EHE8KHx1iAEaSaf8ohHmgHtSdcTxpOnGVYKukGDD0mdnApgrKzzUfhAs6gQiF8EO/zz26KiuADGFheY4ZvdxRvc3bUQ+wSLUsYnqCR9i5n/zmDljcpRCGVSAowFOKTIn3PPo/FgAqBoN+iVF8k8XJIoYs6MYEutktMFDchP3pt9ToJkZweirP8VJoGS0ipBKWKrWssry0jWVnP7CJ/71kgB1PYZHUBO47dpX/Hw++zqL1eH7OO2op7puvgtliQD2v7bC/GqWDLohgarCebEMwmuxq32W5kmheIHY1OKHhVfFc8EyyvLSNZWc/sIn/vWSAHU9hyv/O4u+YKma1P4M2wWHF0mH0QVuiD/Zn7rkg+tphovTq5w6kQZecGs8Bt6SNuWqcn4zvTMp5m5kI3aD9N4au7LK8tI1lZz+wif+9ZIAdT2vvzs21t1OAjXLUCrnwIBLaMU9ncBj3CQNWDRdk5YEqpImR8rDMBpol4NQ5WsoiVNvZeiPub8R1+MlZGd9MvYY86UMvsO/POw5Ccr79sJzidJUU530YHn0Ltn6phhAxbspx6CnFbq3J1q/ZIBJrrYHs6UMvsO/POw5Ccr79sJziereKov/XwAhBMA9LOn6VnucxR3rYiO6na4TPJafNeZNxQPieuxJka+vs1rOyh3QhDlq2FNowGsGMEFC0Ueb5+dzMWu0BvTAGOWcpx5n7UoWZT0FfN/jTEq6a60kZFot3fLK8tI1lZz+wif+9ZIAdT2f5n+DJ8EMhLwUcgyIyPC+OPIqGuaDwPMuBVW/it4Kd2gCGc6xBZP8cRS2mfmPwKh+PHV1fvaMG5QBuUJVPfR5NGuegJHKkNZ5tCqHETfWqqu8EeLzG6axc/w/a5p2gUY2POa+o3qeb94YqAMZ0NLW+DlA4uNHTH2ijB84J+KrTMVgQIodFWXY7DQ+kVHgINK6T8Ux6OoAoLN7236rRdFbU+zSXC2xAtbzBITfwZBGmNKwH1X5GI3mleVdwFKMVAbXMJr3CHnLGMrGusn6mRO8i3SJxi1nfZMfOxSP2yb+BX3f17DnxVayUt3vEX59KAniSzCTrEh5qHeUWdG1YJJZCWoUBFBs8hYfQSpbbMUEX23ZiYUqc1UNW/mgftjKUmdAryFc4CyHW8QoeAAgLbvKsbHWXrG56rQvW45cbYITIsZHRdlWbArDGSdwsMqZZQqv7+fM1slo3EqIoZufVW4k9tfk/z43KmQ/3RlIDIsBR/TEVJ0pggtwjSxl5A0JinWbiQomdeaKHfbi9GCqT3eNGE4F5xF4oPypkT2bFfO81jLK8tI1lZz+wif+9ZIAdT2JxNHxdr43re33t+RsaiYBMEU+AR3qrG7MUJyXSVE1gi+1ORFSJUc/yypUxxcZMzoQ/ZjSnaHrgs1ozLXJ65DZssry0jWVnP7CJ/71kgB1PZrT+op/bl/n8ftv3Om7+dnV6enHb/K7GuYByr2dl1b61pY7URtuxadcDVUskSXzkV28aEqssiPJrXXIGnYsy3MfBJwhhKxGpkV8QeuspmntXcM4vsT8UAIFA/qZOB+oYY1FLUnzQ45XwAv95EtpcUD9Pm3xcfIe2AYNNADLOnIig3bPCXlwWYNDFePpxxBic9vouXrbr1Updt7QzR66nNkmkMqJ7N4cdFQ6LU+w3nCD+UaKO7DcFo/Ure+iGjsDmAZBWu0BkdOq0bIv7vrD9mJJ69aLx9Ji2vXSjnpstc3eddqVhnCf8kWcBEA45CeePIEQsGkljkrSDCA5NZToac9N8kdjxijLnAwECNOixUGZ7sAq0xithddPhNB0MvcG0t/Kf5Fw36pKaHN0xsquz05iUi45yMniX/OztMwqmvBZ7R8CwuUsmrrDR2MZSaMNIwUmW4ulruvIGnLZF4z8eQP8pZOz6qkqJ18oDATfGbOKNc/mL5R54SHRaNFmBVH9/OL4HGwumJza0Xw8ox8OppRF1nV9uqN30L9JoXm2JprMh5F2hrctLwpIX/tuS/OWaWM2M3r1nKRyXrit+rqBZnehs6aRpsksLRIg9/MIgY2EKg60s+Fkj3UGkLijhG8FrGNGpeIuux9r54oe5BVUKb+kM43N7I3dYffDvgcxjupiQ==\\\")\"}]","proxy":"","icon":""},{"last_chapter_rule":"","title":"成人tiktok","author":"流苏","version":5,"type":"video","url":"hiker://empty##fypage","col_type":"movie_2","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js: \nvar d = [];\neval(JSON.parse(request('hiker://page/home')).rule);\nsetResult(d)","searchFind":"js: \n$.require(\"seach\")","search_url":"hiker://empty?page=fypage&kw=**","group":"私人天地♥♥♥","detail_col_type":"movie_2","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"aes\",\"path\":\"aes\",\"rule\":\"//加载CryptoJS库\\neval(getCryptoJS())\\n//生成时间戳\\nfunction getCurrentTimestamp() {\\n    return new Date().getTime();\\n}\\n//md5加密\\nfunction md5(str) {\\n    return CryptoJS.MD5(str).toString();\\n}\\n//sha256加密\\nfunction sha256(str) {\\n    return CryptoJS.SHA256(str).toString();\\n}\\n// 解密函数\\nfunction Decrypt(word) {\\n    const key = CryptoJS.enc.Utf8.parse(\\\"tJqkoiJXvD7UCU3i\\\");\\n    const iv = CryptoJS.enc.Utf8.parse(\\\"h79lkicjeqwko5nd\\\");\\n    let encryptedHexStr = CryptoJS.enc.Base64.parse(word);\\n    let decrypt = CryptoJS.AES.decrypt({\\n        ciphertext: encryptedHexStr\\n    }, key, {\\n        iv: iv,\\n        mode: CryptoJS.mode.CBC,\\n        padding: CryptoJS.pad.Pkcs7 // 注意这里应该是CryptoJS.pad.NoPadding\\n    });\\n    if (decrypt) {\\n        let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);\\n        return decryptedStr;\\n    } else {\\n        // 解密失败,返回null或错误信息\\n        return null;\\n    }\\n}\\n\\n// 加密函数\\nfunction Encrypt(plaintext) {\\n    const key = CryptoJS.enc.Utf8.parse(\\\"tJqkoiJXvD7UCU3i\\\");\\n    const iv = CryptoJS.enc.Utf8.parse(\\\"h79lkicjeqwko5nd\\\");\\n    var encrypted = CryptoJS.AES.encrypt(plaintext, key, {\\n        iv: iv,\\n        mode: CryptoJS.mode.CBC,\\n        padding: CryptoJS.pad.Pkcs7 // 注意这里应该是CryptoJS.pad.NoPadding\\n    });\\n    var ciphertext = encrypted.ciphertext.toString(CryptoJS.enc.Base64);\\n    return ciphertext;\\n}\\n\\nvar lazy = $('').image(() => {\\nconst CryptoUtil = $.require(\\\"hiker://assets/crypto-java.js\\\");\\n\\tlet key = CryptoUtil.Data.parseUTF8(\\\"f5d965df75336270\\\");\\n\\tlet iv = CryptoUtil.Data.parseUTF8(\\\"97b60394abc2fbe1\\\");\\n\\tlet textData = CryptoUtil.Data.parseInputStream(input);\\n\\tlet encrypted = CryptoUtil.AES.decrypt(textData, key, {\\n  \\tmode: \\\"AES/CBC/PKCS7Padding\\\",\\n\\t\\tiv: iv\\n\\t});\\n\\treturn encrypted.toInputStream();\\n})\\n\\nfunction post(url,data0){\\nvar t = Math.floor(Date.now() / 1000); \\nvar data = Encrypt(data0);\\nvar sign = md5(sha256('data='+data+'&timestamp='+t+'tJqkoiJXvD7UCU3i')); //log(sign)\\nvar body = 'timestamp='+t+'&data='+data+'&sign='+sign; \\n//log(body)\\nvar html = fetch(url, {\\n    headers: {\\n    'Content-Type': 'application/x-www-form-urlencoded',\\n   'document-url':'/api.php/api/home/getconfig'\\n    },\\n    body: body,\\n    method: 'POST'\\n}); \\n//log(html)\\n\\nlet html1 = JSON.parse(html).data; \\n//log(html1)\\nlet html2 = Decrypt(html1); \\n//log(html2)\\nreturn html2;\\n\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"时间戳转换\",\"path\":\"时间戳转换\",\"rule\":\"function timestampToTime(tm, ts) {\\n\\t\\tundefined\\n\\t\\tvar date = new Date(tm * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000\\n\\t\\tvar Y = date.getFullYear() + '-';\\n\\t\\tvar M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';\\n\\t\\tvar D = date.getDate();\\n\\t\\tvar h = ' | ' + date.getHours() + ':';\\n\\t\\tvar m = date.getMinutes();\\n\\t\\tif(m<10) m = '0'+m;\\n\\t\\tm = m + ':'\\n\\t\\tvar s = date.getSeconds();\\n\\t\\tif(s<10) s = '0'+s;\\n\\t\\tif (ts == 0) return Y + M + D;\\n\\t\\tif (ts == 1) return Y + M + D + h + m + s;\\n\\t}\"},{\"col_type\":\"movie_3\",\"name\":\"二级\",\"path\":\"erji\",\"rule\":\"js: \\nvar d = [];\\n\\neval(JSON.parse(request('hiker://page/aes')).rule);\\n\\nvar t = Math.floor(Date.now() / 1000); //log(t)\\nlet id=MY_URL.split('##')[2];\\nlet p=MY_URL.split('##')[1];\\nvar typelist = [{\\n    title: '最新',\\n    type: 'new'\\n}, {\\n    title: '最热',\\n    type: 'hot'\\n}];\\nif (MY_PAGE == 1) {\\n    $.require(\\\"Category\\\").Category4(typelist,d);\\n}\\nlet data0='{\\\"tab_id\\\":\\\"'+id+'\\\",\\\"limit\\\":\\\"30\\\",\\\"page\\\":\\\"'+p+'\\\",\\\"sort\\\":\\\"'+getMyVar('type4', 'new')+'\\\",\\\"oauth_id\\\":\\\"20926eb9845821fdfa76da309d36a946\\\",\\\"bundle_id\\\":\\\"jp.vzijx.zkvttd\\\",\\\"oauth_type\\\":\\\"android\\\",\\\"theme\\\":\\\"\\\",\\\"token\\\":\\\"\\\",\\\"version\\\":\\\"2.5.0\\\",\\\"build_affcode\\\":\\\"gw\\\"}'\\n//log(data0)\\nvar url = getMyVar('host')+'/api/tabnew/list_tab_mv';\\nlet html2 = post(url,data0); \\n\\nvar list = JSON.parse(html2).data.list;\\n//log(list);\\nlist.forEach(data => {\\n    var url = data.play_url;\\n        d.push({\\n            title: data.title,\\n            desc:  data.created_str+'\\\\t\\\\t\\\\t'+data.duration_str,\\n           img: data.cover_thumb_url + lazy,\\n            url: url.replace(/\\\\/\\\\/.*play\\\\./,'//long.')\\n        })\\n    })\\n\\nsetResult(d)\"},{\"col_type\":\"movie_3\",\"name\":\"分类\",\"path\":\"Category\",\"rule\":\"function strong(d, c) {\\n    return '‘‘’’<strong><font color=#' + (c || '000000') + '>' + d + '</font></strong>';\\n}\\nfunction Category1(list,d) {\\n    for (var i in list) {\\n        var List = list[i];\\n        var title = List.title;\\n        d.push({\\n            title:   (getMyVar('color1', '0') == i) ? strong(title, 'FF6699') : title,\\n            url: $(List.type).lazyRule((i, List) => {\\n               putMyVar('type1', input);\\n               putMyVar('color1', i);\\n                refreshPage();\\n                return 'hiker://empty';\\n            }, i, List),\\n            col_type: 'flex_button'\\n        });\\n    }\\n    d.push({\\n        col_type: 'blank_block',\\n    });\\n    return d;\\n}\\nfunction Category2(list,d) {\\n    for (var i in list) {\\n        var List = list[i];\\n        var title = List.title;\\n        d.push({\\n            title:   (getMyVar('color2', '0') == i) ? strong(title, 'FF6699') : title,\\n            url: $(List.type).lazyRule((i, List) => {\\n               putMyVar('type2', input);\\n               putMyVar('color2', i);\\n                refreshPage();\\n                return 'hiker://empty';\\n            }, i, List),\\n            col_type: 'scroll_button'\\n        });\\n    }\\n    d.push({\\n        col_type: 'blank_block',\\n    });\\n    return d;\\n}\\nfunction Category3(list,d) {\\n    for (var i in list) {\\n        var List = list[i];\\n        var title = List.title;\\n        d.push({\\n            title:   (getMyVar('color3', '0') == i) ? strong(title, 'FF6699') : title,\\n            url: $(List.type).lazyRule((i, List) => {\\n               putMyVar('type3', input);\\n               putMyVar('color3', i);\\n                refreshPage();\\n                return 'hiker://empty';\\n            }, i, List),\\n            col_type: 'flex_button'\\n        });\\n    }\\n    d.push({\\n        col_type: 'blank_block',\\n    });\\n    return d;\\n}\\nfunction Category4(list,d) {\\n    for (var i in list) {\\n        var List = list[i];\\n        var title = List.title;\\n        d.push({\\n            title:   (getMyVar('color4', '0') == i) ? strong(title, 'FF6699') : title,\\n            url: $(List.type).lazyRule((i, List) => {\\n               putMyVar('type4', input);\\n               putMyVar('color4', i);\\n                refreshPage();\\n                return 'hiker://empty';\\n            }, i, List),\\n            col_type: 'flex_button'\\n        });\\n    }\\n    d.push({\\n        col_type: 'blank_block',\\n    });\\n    return d;\\n}\\nfunction Category5(list,d) {\\n    for (var i in list) {\\n        var List = list[i];\\n        var title = List.title;\\n        d.push({\\n            title:   (getMyVar('color5', '0') == i) ? strong(title, 'FF6699') : title,\\n            url: $(List.type).lazyRule((i, List) => {\\n               putMyVar('type5', input);\\n               putMyVar('color5', i);\\n                refreshPage();\\n                return 'hiker://empty';\\n            }, i, List),\\n            col_type: 'scroll_button'\\n        });\\n    }\\n    d.push({\\n        col_type: 'blank_block',\\n    });\\n    return d;\\n}\\nfunction Category6(list,d) {\\n    for (var i in list) {\\n        var List = list[i];\\n        var title = List.title;\\n        d.push({\\n            title:   (getMyVar('color6', '0') == i) ? strong(title, 'FF6699') : title,\\n            url: $(List.type).lazyRule((i, List) => {\\n               putMyVar('type6', input);\\n               putMyVar('color6', i);\\n                refreshPage();\\n                return 'hiker://empty';\\n            }, i, List),\\n            col_type: 'scroll_button'\\n        });\\n    }\\n    d.push({\\n        col_type: 'blank_block',\\n    });\\n    return d;\\n}\\nfunction Category7(list,d) {\\n    for (var i in list) {\\n        var List = list[i];\\n        var title = List.title;\\n        d.push({\\n            title:   (getMyVar('color7', '0') == i) ? strong(title, 'FF6699') : title,\\n            url: $(List.type).lazyRule((i, List) => {\\n               putMyVar('type7', input);\\n               putMyVar('color7', i);\\n                refreshPage();\\n                return 'hiker://empty';\\n            }, i, List),\\n            col_type: 'flex_button'\\n        });\\n    }\\n    d.push({\\n        col_type: 'blank_block',\\n    });\\n    return d;\\n}\\nfunction Category8(list,d) {\\n    for (var i in list) {\\n        var List = list[i];\\n        var title = List.title;\\n        d.push({\\n            title:   (getMyVar('color8', '0') == i) ? strong(title, 'FF6699') : title,\\n            url: $(List.type).lazyRule((i, List) => {\\n               putMyVar('type8', input);\\n               putMyVar('color8', i);\\n                refreshPage();\\n                return 'hiker://empty';\\n            }, i, List),\\n            col_type: 'flex_button'\\n        });\\n    }\\n    d.push({\\n        col_type: 'blank_block',\\n    });\\n    return d;\\n}\\n$.exports.Category1 = Category1;\\n$.exports.Category2 = Category2;\\n$.exports.Category3 = Category3;\\n$.exports.Category4 = Category4;\\n$.exports.Category5 = Category5;\\n$.exports.Category6 = Category6;\\n$.exports.Category7 = Category7;\\n$.exports.Category8 = Category8;\"},{\"col_type\":\"movie_3\",\"name\":\"演员二级2\",\"path\":\"erji2\",\"rule\":\"js: \\nvar d = [];\\n\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar t = Math.floor(Date.now() / 1000); //log(t)\\nlet id=MY_URL.split('##')[2];\\nlet p=MY_URL.split('##')[1];\\nlet data0='{\\\"limit\\\":\\\"30\\\",\\\"page\\\":\\\"'+p+'\\\",\\\"uid\\\":\\\"'+id+'\\\",\\\"oauth_id\\\":\\\"da39c6bcc6e90ed1bf6ca6600dcafe07\\\",\\\"bundle_id\\\":\\\"jp.vzijx.zkvttd\\\",\\\"oauth_type\\\":\\\"android\\\",\\\"theme\\\":\\\"\\\",\\\"token\\\":\\\"\\\",\\\"version\\\":\\\"2.5.0\\\",\\\"build_affcode\\\":\\\"gw\\\"}'\\n//log(data0)\\nvar url = getMyVar('host')+'/api/works/videos';\\nlet html2 = post(url,data0); \\n\\nvar list = JSON.parse(html2).data.data;\\n//log(list);\\nlist.forEach(data => {\\n    var url = data.play_url;\\n        d.push({\\n            title: data.title,\\n            desc:  data.created_str+'\\\\t\\\\t\\\\t'+data.duration_str,\\n           img: data.cover_thumb_url + lazy,\\n            url: url.replace(/\\\\/\\\\/.*play\\\\./,'//long.')\\n        })\\n    })\\n\\nsetResult(d)\"},{\"col_type\":\"movie_2\",\"name\":\"搜索\",\"path\":\"seach\",\"rule\":\"js: \\nvar d = [];\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar orderone= [{\\n    title: '最新',\\n    type: 'new'\\n}, {\\n    title: '最热',\\n    type: 'hot'\\n}];\\nif (MY_PAGE == 1) {  $.require(\\\"Category\\\").Category8(orderone,d);\\n}\\nlet ky=MY_URL.split('=')[2];\\nlet pg=MY_URL.split('=')[1].replace('&kw','');\\nvar t = Math.floor(Date.now() / 1000); //log(t)\\nvar data0='{\\\"page\\\":\\\"'+pg+'\\\",\\\"limit\\\":\\\"30\\\",\\\"sort\\\":\\\"'+getMyVar('type8', 'new')+'\\\",\\\"style\\\":\\\"0\\\",\\\"kwy\\\":\\\"'+ky+'\\\",\\\"oauth_id\\\":\\\"20926eb9845821fdfa76da309d36a946\\\",\\\"bundle_id\\\":\\\"jp.vzijx.zkvttd\\\",\\\"oauth_type\\\":\\\"android\\\",\\\"theme\\\":\\\"\\\",\\\"token\\\":\\\"\\\",\\\"version\\\":\\\"2.5.0\\\",\\\"build_affcode\\\":\\\"gw\\\"}';\\nvar url = getMyVar('host')+'/api/search/mv';\\nlet html2 = post(url,data0); \\nvar list = JSON.parse(html2).data.list;\\nlist.forEach(data => {\\n    var url = data.play_url;\\n        d.push({\\n            title: data.title,\\n            desc:  data.created_str+'\\\\t\\\\t\\\\t'+data.duration_str,\\n            img: data.cover_thumb_url + lazy,\\n            url: url.replace(/\\\\/\\\\/.*play\\\\./,'//long.')\\n        })\\n    })\\n\\nsetResult(d)\"},{\"col_type\":\"movie_3\",\"name\":\"视频\",\"path\":\"video\",\"rule\":\"js:\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar classone= [{title: '推荐',type: '3'}, {title: '国产精选',type: '4'}, {title: '原创传媒',type: '5'}, {title: '乱 伦换妻',type: '11'}, {title: '官方原创',type: '19'}, {title: '禁漫天堂',type: '8'}, {title: '网黄模特',type: '12'}, {title: '国产直播',type: '14'}, {title: '福利姬',type: '13'}, {title: '异国色情',type: '9'}, {title: '制度诱惑',type: '10'}, {title: '岛国AV',type: '15'}];\\nvar classtwo= [{title: '推荐',type: '6'}, {title: '暴力',type: '17'}, {title: '小马拉大车',type: '18'}, {title: '人兽重口',type: '7'}];\\nvar orderone= [{\\n    title: '最新',\\n    type: 'new'\\n}, {\\n    title: '最热',\\n    type: 'hot'\\n}];\\nif(分类==2){\\nif (MY_PAGE == 1) {\\n $.require(\\\"Category\\\").Category2(classone,d);\\n}\\nif (MY_PAGE == 1) {  $.require(\\\"Category\\\").Category3(orderone,d);\\n}\\n\\nvar data0='{\\\"nag_id\\\":\\\"'+getMyVar('type2', '3')+'\\\",\\\"sort\\\":\\\"'+getMyVar('type3', 'new')+'\\\",\\\"limit\\\":\\\"30\\\",\\\"page\\\":\\\"'+pg+'\\\",\\\"oauth_id\\\":\\\"20926eb9845821fdfa76da309d36a946\\\",\\\"bundle_id\\\":\\\"jp.vzijx.zkvttd\\\",\\\"oauth_type\\\":\\\"android\\\",\\\"theme\\\":\\\"\\\",\\\"token\\\":\\\"\\\",\\\"version\\\":\\\"2.5.0\\\",\\\"build_affcode\\\":\\\"gw\\\"}';\\n}else if(分类==3){\\nif (MY_PAGE == 1) {\\n $.require(\\\"Category\\\").Category6(classtwo,d);\\n}\\nif (MY_PAGE == 1) {  $.require(\\\"Category\\\").Category7(orderone,d);\\n}\\n\\nvar data0='{\\\"nag_id\\\":\\\"'+getMyVar('type6', '6')+'\\\",\\\"sort\\\":\\\"'+getMyVar('type7', 'new')+'\\\",\\\"limit\\\":\\\"30\\\",\\\"page\\\":\\\"'+pg+'\\\",\\\"oauth_id\\\":\\\"da39c6bcc6e90ed1bf6ca6600dcafe07\\\",\\\"bundle_id\\\":\\\"jp.vzijx.zkvttd\\\",\\\"oauth_type\\\":\\\"android\\\",\\\"theme\\\":\\\"\\\",\\\"token\\\":\\\"\\\",\\\"version\\\":\\\"2.5.0\\\",\\\"build_affcode\\\":\\\"gw\\\"}';\\n};\\nvar url = getMyVar('host')+'/api/tabnew/list_construct';\\nlet html2 = post(url,data0); \\nvar Label = JSON.parse(html2).data.mid_style_category;\\nvar Labelb = JSON.parse(html2).data.bot_style_one;\\n//log(Label)\\nif(Label!=null){\\nLabel.forEach((data) => {\\r\\n            d.push({\\r\\n                title: data.tab_name,\\n                pic_url: data.icon+ lazy,\\r\\n                col_type: \\\"icon_2_round\\\",\\n                url :  'hiker://empty##fypage##'+data.id+'@rule=js:$.require(\\\"hiker://page/erji\\\")',\\n})\\n})\\n};\\nif(Labelb!=null){\\nLabelb.forEach((data) => {\\r\\n            d.push({\\r\\n                title: data.title,\\n                pic_url: data.icon+ lazy,\\r\\n                col_type: \\\"avatar\\\",\\n                url :  'hiker://empty##fypage##'+data.id+'@rule=js:$.require(\\\"hiker://page/erji\\\")',\\n})\\nlet lista=data.list;\\nlista.forEach((data) => {\\nvar url = data.play_url;\\n        d.push({\\n            title: data.title,\\n            desc:  data.created_str+'\\\\t\\\\t\\\\t'+data.duration_str,\\n           img: data.cover_thumb_url + lazy,\\n            url: url.replace(/\\\\/\\\\/.*play\\\\./,'//long.')\\n        })\\n\\n})\\n\\n})\\n};\\nvar list = JSON.parse(html2).data.bot_style_two;\\n\\n//log(list);\\nif(list!=null){\\nlist.forEach(data => {\\n    var url = data.play_url;\\n        d.push({\\n            title: data.title,\\n            desc:  data.created_str+'\\\\t\\\\t\\\\t'+data.duration_str,\\n           img: data.cover_thumb_url + lazy,\\n            url: url.replace(/\\\\/\\\\/.*play\\\\./,'//long.')\\n        })\\n    })\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"演员\",\"path\":\"actor\",\"rule\":\"js:\\neval(JSON.parse(request('hiker://page/aes')).rule);\\nlet classone= [{title: '女 优',type: '8'}, {title: '传媒',type: '5'}, {title: '网黄',type: '1'}, {title: '主播',type: '4'}, {title: '福利姬',type: '2'}];\\nif (MY_PAGE == 1) {\\n $.require(\\\"Category\\\").Category5(classone,d);\\n}\\nlet data0='{\\\"limit\\\":\\\"30\\\",\\\"page\\\":\\\"'+pg+'\\\",\\\"group_id\\\":\\\"'+getMyVar('type5', '8')+'\\\",\\\"oauth_id\\\":\\\"da39c6bcc6e90ed1bf6ca6600dcafe07\\\",\\\"bundle_id\\\":\\\"jp.vzijx.zkvttd\\\",\\\"oauth_type\\\":\\\"android\\\",\\\"theme\\\":\\\"\\\",\\\"token\\\":\\\"\\\",\\\"version\\\":\\\"2.5.0\\\",\\\"build_affcode\\\":\\\"gw\\\"}'\\nvar url = getMyVar('host')+'/api/mvlist/uper_list';\\nlet html2 = post(url,data0); \\n\\nvar list = JSON.parse(html2).data;\\nlist.forEach((data) => {\\r\\n            d.push({\\r\\n                title: data.nickname,\\n                pic_url: data.thumb_full+lazy,\\r\\n                col_type: \\\"icon_round_4\\\",\\n                url :  'hiker://empty##fypage##'+data.uid+'@rule=js:$.require(\\\"hiker://page/erji2\\\")',\\n})\\n})\\n\"},{\"col_type\":\"movie_2\",\"name\":\"首页\",\"path\":\"home\",\"rule\":\"js:\\nif (MY_PAGE == 1) {\\n    d.push({   \\n        title: \\\"搜索\\\",\\n        url: $.toString(() => {\\n        return \\\"hiker://page/seach?page=fypage&kw=\\\" + input\\n    }),\\n           desc: \\\"请输入搜索关键词\\\",\\n           col_type: \\\"input\\\",\\n    })\\n};\\nvar t = Math.floor(Date.now() / 1000); \\nvar pg= MY_URL.replace('hiker://empty##', '');\\nif(getMyVar('host')==''){\\n$.require(\\\"host\\\")\\n}\\n/*\\nvar class1= [{\\n    title: 'Tiktok',\\n    type: '1'\\n},{\\n    title: '视频',\\n    type: '2'\\n}, {\\n    title: '暗网',\\n    type: '3'\\n}, {\\n    title: '演员',\\n    type: '4'\\n}];\\n*/\\n//暗网不自动开启//\\nvar class1= [{\\n    title: 'Tiktok',\\n    type: '1'\\n},{\\n    title: '视频',\\n    type: '2'\\n},{\\n    title: '演员',\\n    type: '4'\\n}];\\nif (MY_PAGE == 1) {\\n    $.require(\\\"Category\\\").Category1(class1,d);\\n}\\nvar 分类=getMyVar('type1', '1');\\nif(分类==1){\\n$.require(\\\"tiktok\\\")\\n}else if((分类==2)|(分类==3)){\\n$.require(\\\"video\\\")\\n}else if(分类==4){\\n$.require(\\\"actor\\\")\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"host\",\"path\":\"host\",\"rule\":\"js: \\neval(JSON.parse(request('hiker://page/aes')).rule);\\nvar data0='{\\\"oauth_id\\\":\\\"da39c6bcc6e90ed1bf6ca6600dcafe07\\\",\\\"bundle_id\\\":\\\"jp.vzijx.zkvttd\\\",\\\"oauth_type\\\":\\\"android\\\",\\\"theme\\\":\\\"\\\",\\\"token\\\":\\\"\\\",\\\"version\\\":\\\"2.5.0\\\",\\\"build_affcode\\\":\\\"gw\\\"}';\\n//log(data0)\\nvar url = 'https://api2.awdqpyyuqq.com/api.php/api/home/getconfig';\\nlet html2 = post(url,data0); \\n\\nvar host = JSON.parse(html2).data.domain_name.split(',')[0];\\nputMyVar('host',host);\\n//log(getMyVar('host'));\"},{\"col_type\":\"movie_3\",\"name\":\"tiktok\",\"path\":\"tiktok\",\"rule\":\"js: \\neval(JSON.parse(request('hiker://page/aes')).rule);\\n\\nvar t = Math.floor(Date.now() / 1000); //log(t)\\nlet data0='{\\\"limit\\\":\\\"30\\\",\\\"page\\\":\\\"'+pg+'\\\",\\\"oauth_id\\\":\\\"da39c6bcc6e90ed1bf6ca6600dcafe07\\\",\\\"bundle_id\\\":\\\"jp.vzijx.zkvttd\\\",\\\"oauth_type\\\":\\\"android\\\",\\\"theme\\\":\\\"\\\",\\\"token\\\":\\\"\\\",\\\"version\\\":\\\"2.5.0\\\",\\\"build_affcode\\\":\\\"gw\\\"}';\\n//log(data0)\\nvar url = getMyVar('host')+'/api/recommend/index';\\nlet html2 = post(url,data0); \\n\\nvar list = JSON.parse(html2).data.mv_list;\\n//log(list);\\nlist.forEach(data => {\\n    var url = data.play_url;\\n        d.push({\\n            title: data.title,\\n            desc:  data.created_str+'\\\\t\\\\t\\\\t'+data.duration_str,\\n           img: data.cover_thumb_url + lazy,\\n            url: url.replace(/\\\\/\\\\/.*play\\\\./,'//long.')\\n        })\\n    })\"}]","proxy":"","icon":""},{"last_chapter_rule":"","title":"私人天地","author":"福哥教的好","version":121,"type":"all","url":"hiker://empty","col_type":"icon_round_small_4","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nconst QING_TITLE = getMyVar('myCollection'),\n    newWindow = readFile('newWindow'),\n    typeShow = getMyVar('typeShow', '@'),\n    types = { 'all': '聚合', 'video': '视频', 'music': '音频', 'live': '直播', 'cartoon': '漫画', 'read': '阅读', 'picture': '图集', 'news': '资讯', 'tool': '工具', 'other': '其它' }\nlet el = [{\n        title: ' ' + QING_TITLE.bold() + ' &nbsp &nbsp ' + '⚙ 轻合集设置 ⚙'.small(),\n        url: 'hiker://page/Config?rule=' + QING_TITLE + '&#noRecordHistory#',\n        img: MY_RULE.icon || 'hiker://images/icon1',\n        col_type: 'avatar'\n    }, {\n        url: '\"hiker://search?s=\"+input',\n        desc: '这是轻合集的搜索哦~~',\n        title: '搜索',\n        col_type: 'input',\n        extra: {\n            rules: $.toString((QING_TITLE, typeShow) => {\n                let rules = $.require('hiker://page/dataLoad?rule=' + QING_TITLE)\n                if (typeShow[0] == '@') {\n                    let filterKey = typeShow.slice(1)\n                    if (filterKey) rules = rules.filter((v) => v.title.includes(filterKey))\n                } else rules = rules.filter((v) => v.type == typeShow)\n                return JSON.stringify(rules)\n            }, QING_TITLE, typeShow),\n            defaultValue: getMyVar('searchKey', ''),\n            onChange: \"putMyVar('searchKey',input)\"\n        }\n    }],\n    rules = $.require('hiker://page/dataLoad?rule=' + QING_TITLE),\n    rulesType = rules.reduce((obj, v) => {\n        let type = v.type\n        if (type) {\n            if (!Array.isArray(obj[type]))\n                obj[type] = []\n            obj[type].push(v)\n        }\n        return obj\n    }, {})\nif (typeShow[0] == '@') {\n    let filterKey = typeShow.slice(1)\n    if (filterKey) rules = rules.filter((v) => v.title.includes(filterKey))\n}\nel.push(typeShow[0] == '@' ? {\n    title: '““””' + ('全部' + (typeShow[1] ? '[' + typeShow.slice(1) + ']' : '')).bold().fontcolor('#12b668') + ' ' + (rules.length).toString().small(),\n    url: $(typeShow.slice(5), '查找小程序关键词').input(() => {\n        putMyVar('typeShow', '@' + input)\n        refreshPage(false)\n        return 'hiker://empty'\n    }),\n    col_type: 'scroll_button'\n} : {\n    title: '““””全部 ' + (rules.length).toString().small(),\n    url: $('#noLoading#').lazyRule(() => {\n        putMyVar('typeShow', '@')\n        refreshPage(false)\n        return 'toast://再次点击【全部】可查找小程序'\n    }),\n    col_type: 'scroll_button'\n})\nfor (let k in types)\n    if (k in rulesType)\n        el.push({\n            title: '““””' + (k == typeShow ? types[k].bold().fontcolor('#12b668') : types[k]) + ' ' + (rulesType[k].length).toString().small(),\n            url: k == typeShow ? 'hiker://empty' : $('#noLoading#').lazyRule((k) => {\n                putMyVar('typeShow', k)\n                refreshPage(false)\n                return 'hiker://empty'\n            }, k),\n            col_type: 'scroll_button'\n        })\n\nif (typeShow[0] != '@') rules = rulesType[typeShow]\nlet { paramHandle } = $.require('hiker://page/funcTools?rule=' + QING_TITLE, {})\nrules.forEach((v) => {\n    let urlParam = v.url.split(';'),\n        ruleTmp = {\n            title: v.title, url: urlParam.shift(),\n            class_name: v.class_name, class_url: v.class_url,\n            area_name: v.area_name, area_url: v.area_url,\n            year_name: v.year_name, year_url: v.year_url,\n            sort_name: v.sort_name, sort_url: v.sort_url\n        },\n        fypage = ruleTmp.url.includes('fypage') ? 'fypage' : '1',\n        domain = (/^https?:\\/\\/[^/?#]+/i.exec(ruleTmp.url) || ['hiker://empty'])[0],\n        d = {\n            title: v.title,\n            url: 'hiker://page/frameLoad',\n            img: v.icon || 'hiker://images/icon1',\n            extra: {\n                url: domain + '/#noHistory##noRecordHistory####' + fypage +\n                    '.js:let { runCode, indexUrl } = $.require(\"hiker://page/funcTools??rule=' + QING_TITLE + '\", '\n                     + JSON.stringify({\n                        MY_RULE: base64Encode(JSON.stringify(ruleTmp)),\n                        QING_TITLE: QING_TITLE\n                    }) + ');;indexUrl(input);' + paramHandle(urlParam, v.ua),\n                RULE: base64Encode(JSON.stringify({ title: v.title })),\n                isIndex: true\n            }\n        }\n    if (newWindow) Object.assign(d.extra, {\n        newWindow: true,\n        windowId: QING_TITLE + '_' + d.title\n    })\n    el.push(d)\n})\nsetResult(el)\n","searchFind":"js:\nsetResult([{\n    title: \"点我开始轻合集•视界聚搜\",\n    url: \"hiker://search?s=\" + getParam(\"keyword\"),\n    extra: {\n        rules: $.toString(() => {\n            const QING_TITLE = getMyVar('myCollection'),\n                typeShow = getMyVar('typeShow', '@')\n            let rules = $.require('hiker://page/dataLoad?rule=' + QING_TITLE)\n            if (typeShow[0] == '@') {\n                let filterKey = typeShow.slice(1)\n                if (filterKey) rules = rules.filter((v) => v.title.includes(filterKey))\n            } else rules = rules.filter((v) => v.type == typeShow)\n            return JSON.stringify(rules)\n        })\n    }\n}])\n","search_url":"hiker://empty?keyword=**","group":"私人天地♥♥♥","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"putMyVar('myCollection', MY_RULE.title)\nputMyVar('remoteUrl', 'https://files.catbox.moe/4rtxcq.json')\n// \n/*\n*/","pages":"[{\"col_type\":\"text_1\",\"name\":\"ClassTab\",\"path\":\"ClassTab\",\"rule\":\"var {\\n    QING_TITLE, title, url,\\n    class_name, class_url,\\n    area_name, area_url,\\n    year_name, year_url,\\n    sort_name, sort_url\\n} = $.importParam\\nconst ClassTab = function(classArray, params) {\\n    Object.assign(this, params)\\n    this.arr = classArray.map(v => this.init(v))\\n    this.sign = '$' + QING_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 = this.fold && getVar('$fold_' + this.sign, '')\\n        if (this.arr.length > 1 && this.fold) el.push({\\n            title: '““””' + (folded ? '▶' : '▼').fontcolor('#049eff'),\\n            url: $('#noLoading#').lazyRule((sign, folded) => {\\n                putVar('$fold_' + sign, folded ? '' : 'T')\\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 ? '““””' + name.fontcolor(this.color).bold() : name,\\n                    url: selected == now ? 'hiker://empty' : $('#noLoading#').lazyRule((sign, id, now) => {\\n                        putVar(sign + id, 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('&').map((v) => v.trim())\\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        defaultClass = JSON.stringify(defaultClass ? {\\n            name: defaultClass.class_name[0],\\n            url: defaultClass.class_url[0]\\n        } : { name:  'cannot find id: ' + id + ' in classTab: ' + this.sign, url: ''})\\n        return JSON.parse(getVar(this.sign + id, defaultClass))\\n    },\\n    setUrl(url) {\\n        return url.replace(/\\\\$\\\\{([^}]*)\\\\}/g, (_, id) => this.getClass(id).url)\\n    }\\n}\\n// 生成头部分类\\nlet fyAll = url.includes('fyAll'),\\n    tabHeader = []\\nif (class_name) tabHeader.push({\\n    id: fyAll ? 'fyAll' : 'fyclass',\\n    class_name: class_name,\\n    class_url: class_url\\n})\\nif (area_name) tabHeader.push({\\n    id: fyAll ? 'fyAll' : 'fyarea',\\n    class_name: area_name,\\n    class_url: area_url\\n})\\nif (year_name) tabHeader.push({\\n    id: fyAll ? 'fyAll' : 'fyyear',\\n    class_name: year_name,\\n    class_url: year_url\\n})\\nif (sort_name) tabHeader.push({\\n    id: fyAll ? 'fyAll' : 'fysort',\\n    class_name: sort_name,\\n    class_url: sort_url\\n})\\n$.exports = {\\n    fyAll: fyAll,\\n    tabHeader: new ClassTab(tabHeader, { name: title, fold: readFile('tabFold'), })\\n}\\n\"},{\"col_type\":\"icon_2_round\",\"name\":\"设置\",\"path\":\"Config\",\"rule\":\"js:\\naddListener('onClose', 'clearMyVar(\\\"sortFlag\\\");refreshPage()')\\nsetPageTitle('⚙ 轻合集设置 ⚙')\\nconst QING_TITLE = getMyVar('myCollection'),\\n    url = getMyVar('remoteUrl')\\nlet data = $.require('hiker://page/dataLoad?rule=' + QING_TITLE, true),\\n    el = [{\\n        title: '<b> 清除缓存,立即更新 <small> (基于远程仓库,不要频繁点击)',\\n        url: $('#noLoading#').lazyRule((url) => {\\n            if (url.startsWith('hiker://') || url.startsWith('file://'))\\n                return 'toast://仓库为本地文件,不会进行缓存,本功能也无效'\\n            deleteCache(url)\\n            back(false)\\n            return 'toast://已更新'\\n        }, url),\\n        img: 'hiker://images/icon4',\\n        col_type: 'avatar'\\n    }],\\n    updateInterval = readFile('updateInterval') || '1',\\n    newWindow = readFile('newWindow'),\\n    tabFold = readFile('tabFold'),\\n    disableCustom = readFile('disableCustom'),\\n    editMode = disableCustom ? '导入海阔' : getMyVar('editMode', '启用/禁用')\\n\\nel.push({\\n    title: '  💡 更新频率: ' + (updateInterval == 0 ? '手动' : updateInterval + '天') + '  ',\\n    url: $(updateInterval, '输入更新间隔(天),为0则手动更新\\\\n本地文件链接无效').input(() => {\\n        input = parseInt(input)\\n        if (Number.isNaN(input)) input = 1\\n        else if (input < 1) input = 0\\n        saveFile('updateInterval', input.toString())\\n        refreshPage()\\n        return 'hiker://empty'\\n    }),\\n    col_type: 'scroll_button'\\n}, {\\n    title: '  🖥 独立首页: ' + (newWindow ? '是' : '否') + '  ',\\n    url: $('#noLoading#').lazyRule((newWindow) => {\\n        saveFile('newWindow', newWindow ? '' : 'T')\\n        refreshPage()\\n        return 'hiker://empty'\\n    }, newWindow),\\n    col_type: 'scroll_button'\\n}, {\\n    title: '  💠 分类折叠: ' + (tabFold ? '是' : '否') + '  ',\\n    url: $('#noLoading#').lazyRule((tabFold) => {\\n        saveFile('tabFold', tabFold ? '' : 'T')\\n        refreshPage()\\n        return 'hiker://empty'\\n    }, tabFold),\\n    col_type: 'scroll_button'\\n}, {\\n    title: '  💼 备份恢复  ',\\n    url: $(['备份', '恢复'], 1).select((QING_TITLE, updateInterval, newWindow, tabFold, disableCustom) => {\\n        let url = getMyVar('remoteUrl')\\n        if (!url.startsWith('hiker://') && !url.startsWith('file://'))\\n            url = 'hiker://files/libs/' + md5(url) + '.js'\\n        else if (url.startsWith('hiker://page/')) url = 'hiker://empty'\\n        if (input == '备份') return $('hiker://files/tmp/' + QING_TITLE + '_backup.json', '输入备份路径')\\n            .input((url, updateInterval, newWindow, tabFold, disableCustom) => {\\n                let rules = request(url),\\n                    customData = readFile('customData')\\n                writeFile(input, JSON.stringify({\\n                    updateInterval: updateInterval,\\n                    newWindow: newWindow,\\n                    tabFold: tabFold,\\n                    disableCustom: disableCustom,\\n                    customData: customData,\\n                    rules: rules\\n                }))\\n                return 'toast://已备份,注意若仓库为子页面则不备份'\\n            }, url, updateInterval, newWindow, tabFold, disableCustom)\\n        else return $('hiker://files/tmp/' + QING_TITLE + '_backup.json', '输入备份路径').input((url) => {\\n            let { updateInterval, newWindow, tabFold, disableCustom, customData, rules } = JSON.parse(request(input))\\n            saveFile('updateInterval', updateInterval)\\n            saveFile('newWindow', newWindow)\\n            saveFile('tabFold', tabFold)\\n            saveFile('disableCustom', disableCustom)\\n            saveFile('customData', customData)\\n            if (rules) writeFile(url, rules)\\n            refreshPage()\\n            return 'toast://已恢复,如果不想同步远程仓库,可以设置更新频率为手动'\\n        }, url)\\n    }, QING_TITLE, updateInterval, newWindow, tabFold, disableCustom),\\n    col_type: 'scroll_button'\\n}, {\\n    title: '““””<font color=\\\"#666666\\\"><small>特别鸣谢,小程序提供者:\\\\n' +\\n        data.reduce((self, v) => v.author ? self.concat(v.author.split('&')) : self, [])\\n        .filter((v, i, arr) => v && arr.indexOf(v) == i).join('、'),\\n    url: 'hiker://empty',\\n    col_type: 'text_center_1'\\n})\\n\\nel.push({ col_type: 'line' }, {\\n    title: '““””' + '📝'.small() + '&nbsp 轻合集自定义 &nbsp'.bold().fontcolor('#757575') + (disableCustom ? '❌' : '⭕').small(),\\n    url: $([(disableCustom ? '启用' : '禁用') + '合集自定义', '清除自定义数据', '编辑JSON'], 1).select(() => {\\n        switch (input.slice(0, 2)) {\\n            case '清除':\\n                deleteFile('customData')\\n                break\\n            case '启用':\\n                saveFile('disableCustom', '')\\n                break\\n            case '禁用':\\n                saveFile('disableCustom', 'T')\\n                input += '\\\\n小程序启用/禁用、重新排序等操作均不会体现在首页小程序列表中'\\n                break\\n            case '编辑':\\n                let url = getMyVar('remoteUrl')\\n                if (!url.startsWith('hiker://files/') && !url.startsWith('file://'))\\n                    url = 'hiker://files/libs/' + md5(url) + '.js'\\n                return  'hiker://page/interface#noRefresh##noHistory##noRecordHistory#?rule=JSON编辑器&Json='+base64Encode(url)\\n        }\\n        refreshPage(false)\\n        return 'toast://已' + input\\n    }),\\n    col_type: 'text_center_1',\\n    extra: { lineVisible: false }\\n});\\n(disableCustom ? ['导入海阔'] : ['启用/禁用', '重新排序', '更改图标', '导入海阔']).forEach((v) => {\\n    el.push({\\n        title: v == editMode ? '““””' + v.bold().fontcolor('#12b668') : v,\\n        url: v == editMode ? 'hiker://empty' : $('#noLoading#').lazyRule((v) => {\\n            putMyVar('editMode', v)\\n            refreshPage(false)\\n            return 'hiker://empty'\\n        }, v),\\n        col_type: 'scroll_button'\\n    })\\n});\\nif (editMode == '导入海阔') el.push({\\n    title: '全部导入',\\n    url: '海阔视界¥home_rule_url¥' + (url.startsWith('hiker://') || url.startsWith('file://') ? url : 'hiker://files/libs/' + md5(url) + '.js'),\\n    col_type: 'text_center_1',\\n    extra: { lineVisible: false }\\n});\\n(disableCustom ? data : JSON.parse(readFile('customData') || '[]')).forEach((v, i) => {\\n    let d = { title: v.title, img: data[i].icon }\\n    switch (editMode) {\\n        case '启用/禁用':\\n            d.title = (v.visible ? '🟢  ' : '🔴  ') + d.title\\n            d.url = $('#noLoading#').lazyRule((i) => {\\n                let rules = JSON.parse(readFile('customData') || '[]')\\n                rules[i].visible = !rules[i].visible\\n                saveFile('customData', JSON.stringify(rules))\\n                refreshPage(false)\\n                return 'hiker://empty'\\n            }, i)\\n            break\\n        case '重新排序':\\n            let sortFlag = parseInt(getMyVar('sortFlag', '-1'))\\n            d.title = (sortFlag == i ? '🔃  ' : '') + d.title\\n            if (sortFlag == -1)\\n                d.url = $('#noLoading#').lazyRule((i) => {\\n                    putMyVar('sortFlag', i.toString())\\n                    refreshPage(false)\\n                    return 'toast://选择要移动到的位置'\\n                }, i)\\n            else\\n                d.url = $('#noLoading#').lazyRule((oldIndex, newIndex) => {\\n                    let rules = JSON.parse(readFile('customData') || '[]')\\n                    rules.splice(newIndex, 0, rules.splice(oldIndex, 1)[0])\\n                    saveFile('customData', JSON.stringify(rules))\\n                    putMyVar('sortFlag', '-1')\\n                    refreshPage(false)\\n                    return 'hiker://empty'\\n                }, sortFlag, i)\\n            break\\n        case '更改图标':\\n            d.url = $(v.icon || '', '输入新图标地址或颜色代码:').input((i) => {\\n                let rules = JSON.parse(readFile('customData') || '[]')\\n                if (input)\\n                    rules[i].icon = input\\n                else\\n                    delete rules[i].icon\\n                saveFile('customData', JSON.stringify(rules))\\n                refreshPage(false)\\n                return 'hiker://empty'\\n            }, i)\\n            break\\n        case '导入海阔':\\n            d.url = $('#noLoading#').lazyRule((i) => {\\n                let data = $.require('hiker://page/dataLoad?rule=' + getMyVar('myCollection'), true)\\n                return 'rule://' + base64Encode(JSON.stringify(data[i]))\\n            }, i)\\n            break\\n    }\\n    el.push(d)\\n})\\nsetResult(el)\\n\"},{\"col_type\":\"movie_3\",\"name\":\"页面载入\",\"path\":\"frameLoad\",\"rule\":\"js:\\nconst QING_TITLE = getMyVar('myCollection')\\nvar myColl_el = []\\neval(JSON.parse(fetch('hiker://page/hijackEnv?rule=' + QING_TITLE)).rule)\\n\\nif (!isIndex) {\\n    if (pageTitle) setPageTitle(pageTitle)\\n    setLastChapterRule(oriRULE.last_chapter_rule)\\n    MY_PARAMS = MY_RULE.params\\n} else if (MY_PAGE == 1) {\\n    tabHeader.load(myColl_el)\\n    if (RULE.search_url) myColl_el.push({\\n        title: \\\"搜索\\\",\\n        desc: \\\"这是轻合集的搜索哦~~\\\",\\n        url: '\\\"hiker://search?s=\\\"+input',\\n        extra: {\\n            rules: $.toString((QING_TITLE, title) => {\\n                let rules = $.require('hiker://page/dataLoad?rule=' + QING_TITLE)\\n                rules = [rules.find((v) => v.title == title)]\\n                return JSON.stringify(rules)\\n            }, QING_TITLE, RULE.title),\\n            defaultValue: getMyVar('searchKey', ''),\\n            onChange: \\\"putMyVar('searchKey',input)\\\"\\n        },\\n        col_type: \\\"input\\\",\\n    })\\n}\\n// 正文解析\\nvar {\\n    paramHandle,\\n    runPreRule,\\n    genExUrl,\\n    hijackLazyRule\\n} = $.require('hiker://page/funcTools?rule=' + QING_TITLE)\\nrunPreRule(oriRULE.preRule)\\nif (MY_RULE.find_rule.startsWith('js:')) {\\n    let { hijackEl } = $.require('hiker://page/funcTools?rule=' + QING_TITLE)\\n    setResult = function(param0, param1, param2, param3) {\\n        param1 = CALLBACK_KEY\\n        param2 = MY_RULE\\n        param3 = MY_TYPE\\n        if (Array.isArray(param0.data)) param0 = param0.data\\n        Array.prototype.push.apply(myColl_el, param0.map(hijackEl))\\n        method_setResult.invoke(javaContext, myColl_el, param1, param2, param3)\\n    }\\n    setHomeResult = setResult\\n    setSearchResult = setResult\\n\\n    eval(MY_RULE.find_rule.slice(3))\\n} else {\\n    let { runCode } = $.require('hiker://page/funcTools?rule=' + QING_TITLE),\\n        [_, findRule, detailFindRule] = MY_RULE.find_rule.match(/^([\\\\s\\\\S]*?)(?:==>([\\\\s\\\\S]*))?$/)\\n    findRule = findRule.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) { return '' }\\n            }),\\n            res = {\\n                title: title, url: url,\\n                desc: desc, img: img,\\n                col_type: MY_RULE.col_type\\n            }\\n        if (res.url) {\\n            if (res.url.includes('@lazyRule=')) {\\n                let reIndex = res.url.indexOf('.js:')\\n                if (reIndex >= 0) res.url = res.url.slice(0, reIndex) + '.js:' + hijackLazyRule + ';' + res.url.slice(reIndex + 4)\\n            } else  if (detailFindRule) {\\n                res.extra = {\\n                    url: genExUrl(url),\\n                    RULE: base64Encode(JSON.stringify(Object.assign(genMyRule(), { detail_find_rule: detailFindRule }))),\\n                    pageTitle: isIndex && title\\n                }\\n                res.url = 'hiker://page/frameLoad?rule=' + QING_TITLE\\n            } else if (MY_RULE.detail_find_rule) {\\n                res.extra = {\\n                    url: genExUrl(url),\\n                    RULE: base64Encode(JSON.stringify(genMyRule())),\\n                    pageTitle: isIndex && title\\n                }\\n                res.url = 'hiker://page/frameLoad?rule=' + QING_TITLE\\n            }\\n        }\\n        myColl_el.push(res)\\n    })\\n    setResult(myColl_el)\\n}\\n\"},{\"col_type\":\"movie_3\",\"name\":\"数据载入\",\"path\":\"dataLoad\",\"rule\":\"let showAll = $.importParam,\\n    url = getMyVar('remoteUrl'),\\n    data = []\\nif (url.startsWith('hiker://') || url.startsWith('file://')) {\\n    // 如果为本地文件则不进行缓存\\n    try {\\n        let oriData = fetch(url)\\n        if (url.startsWith('hiker://page/'))\\n            oriData = JSON.parse(oriData).rule\\n        data = JSON.parse(oriData)\\n    } catch (e) {}\\n} else {\\n    // 获取远程数据,检查间隔默认一天\\n    let interval = parseInt(readFile('updateInterval') || '1'),\\n        oldData = fetch('hiker://files/libs/' + md5(url) + '.js'),\\n        remoteData = []\\n    if (interval == 0) interval = -1\\n    try { remoteData = JSON.parse(fetchCache(url, 24 * interval, { timeout: 50000 })) } catch (e) {}\\n    if (!Array.isArray(remoteData)) remoteData = []\\n    if (remoteData.length < 3) {\\n        log('未获取到数据')\\n        if (oldData) writeFile('hiker://files/libs/' + md5(url) + '.js', oldData)\\n        data = JSON.parse(oldData || '[]')\\n    } else {\\n        log('已获取到数据')\\n        data = remoteData\\n    }\\n}\\ndata = data.filter((v) => v.title != getMyVar('myCollection') && !(v.author || '').includes('轻合集生成器'))\\nif (readFile('disableCustom')) $.exports = data\\nelse { // 写入自定义数据\\n    let customData = JSON.parse(readFile('customData') || '[]'),\\n        rewriteData = []\\n    customData = customData.reduce((self, v) => {\\n        let index = data.findIndex((vv) => v.title == vv.title)\\n        if (index >= 0) {\\n            self.push(v)\\n            let rule = data.splice(index, 1)[0]\\n            if (showAll || v.visible)\\n                rewriteData.push(Object.assign(rule, v))\\n        }\\n        return self\\n    }, [])\\n    data.forEach((v) => customData.push({ title: v.title, visible: true }))\\n    saveFile('customData', JSON.stringify(customData))\\n    $.exports = rewriteData.concat(data)\\n}\\n\"},{\"col_type\":\"movie_3\",\"name\":\"环境劫持\",\"path\":\"hijackEnv\",\"rule\":\"var { RULE, isIndex, pageTitle } = MY_PARAMS\\nRULE = JSON.parse(base64Decode(RULE))\\nvar oriRULE = $.require('hiker://page/dataLoad?rule=' + QING_TITLE).find((v) => v.title == RULE.title)\\nif (isIndex) {\\n    RULE = oriRULE\\n    var { tabHeader, fyAll } = $.require('hiker://page/ClassTab?rule=' + QING_TITLE, Object.assign({ QING_TITLE: QING_TITLE }, RULE))\\n    // 处理MY_RULE\\n    MY_RULE.class_url = tabHeader.getClass(fyAll ? 'fyAll' : 'fyclass').url\\n    MY_RULE.area_url = fyAll ? MY_RULE.class_url : tabHeader.getClass('fyarea').url\\n    MY_RULE.year_url = fyAll ? MY_RULE.class_url : tabHeader.getClass('fyyear').url\\n    MY_RULE.sort_url = fyAll ? MY_RULE.class_url : tabHeader.getClass('fysort').url\\n    MY_RULE.url = RULE.url\\n    MY_RULE.col_type = RULE.col_type\\n    MY_RULE.detail_col_type = RULE.detail_col_type\\n    MY_RULE.find_rule = RULE.find_rule\\n    MY_RULE.detail_find_rule = RULE.detail_find_rule\\n    MY_RULE.params = {}\\n} else {\\n    RULE.pages = oriRULE.pages\\n    // 处理MY_RULE\\n    MY_RULE.url = MY_PARAMS.url\\n    MY_RULE.col_type = RULE.detail_col_type\\n    MY_RULE.find_rule = RULE.detail_find_rule\\n    MY_RULE.params = RULE.params\\n}\\nMY_RULE.pages = RULE.pages\\nMY_RULE.pageList = JSON.parse(MY_RULE.pages || '[]')\\nMY_RULE.title = RULE.title\\nMY_RULE.ua = RULE.ua\\nlog(MY_RULE.url)\\n// 载入函数工具\\nvar { genMyRule } = $.require('hiker://page/funcTools?rule=' + QING_TITLE, {\\n    QING_TITLE: QING_TITLE,\\n    MY_RULE: MY_RULE,\\n    isIndex: isIndex\\n})\\n// 防止require多次运行\\nconst myColl_required = {}\\nrequire = function(param0, param1, param2, param3, param4) {\\n    if (myColl_required[param0]) return\\n    myColl_required[param0] = true\\n    param2 = param2 != null ? param2 : 0\\n    param3 = MY_TICKET\\n    param4 = eval\\n    return method_require.invoke(javaContext, param0, param1, param2, param3, param4)\\n}\\nrequireCache = function(param0, param1, param2, param3, param4, param5) {\\n    if (myColl_required[param0]) return\\n    myColl_required[param0] = true\\n    param3 = param3 != null ? param3 : 0\\n    param4 = MY_TICKET\\n    param5 = eval\\n    return method_requireCache.invoke(javaContext, param0, param1, param2, param3, param4, param5)\\n}\\nrc = requireCache\\n// 最新章节规则环境劫持\\nsetLastChapterRule = function(param0) {\\n    if (param0.startsWith(\\\"js:\\\")) {\\n        param0 = 'js:' + $.toString((QING_TITLE, MY_PARAMS) => {\\n            eval(JSON.parse(fetch('hiker://page/hijackEnv?rule=' + QING_TITLE)).rule)\\n            var { runPreRule } = $.require('hiker://page/funcTools?rule=' + QING_TITLE)\\n            runPreRule(oriRULE.preRule)\\n        }, QING_TITLE, { url: MY_RULE.url, RULE: base64Encode(JSON.stringify(genMyRule())), isIndex: isIndex }) + ';' + param0.slice(3)\\n    }\\n    method_setLastChapterRule.invoke(javaContext, param0)\\n}\\n// 动态新增函数劫持\\naddItemAfter = function(param0, param1) {\\n    if (Array.isArray(param1)) param1 = param1.map(hijackEl)\\n    else param1 = hijackEl(param1)\\n    method_addItemAfter.invoke(javaContext, param0, param1)\\n}\\naddItemBefore = function(param0, param1) {\\n    if (Array.isArray(param1)) param1 = param1.map(hijackEl)\\n    else param1 = hijackEl(param1)\\n    method_addItemBefore.invoke(javaContext, param0, param1)\\n}\\n\"},{\"col_type\":\"movie_3\",\"name\":\"函数工具\",\"path\":\"funcTools\",\"rule\":\"let { QING_TITLE, MY_RULE, isIndex } = $.importParam\\nif (!MY_RULE) MY_RULE = {}\\n\\nfunction runCode(rule) {\\n    try {\\n        let [input, code] = rule.split('.js:')\\n        return code ? eval(code) : rule\\n    } catch (e) { return rule }\\n}\\n// 首页链接替换分类\\nfunction indexUrl(param) {\\n    MY_RULE = JSON.parse(base64Decode(MY_RULE))\\n    let pageNum = parseInt(param.split('###')[1]),\\n        url = MY_RULE.url,\\n        { fyAll, tabHeader } = $.require('hiker://page/ClassTab?rule=' + QING_TITLE, Object.assign({ QING_TITLE: QING_TITLE }, MY_RULE))\\n\\n    url = tabHeader.setUrl(fyAll ? url.replace(/fyAll/g, '$${fyAll}') : url.replace(/fy(class|area|year|sort)/g, '$${fy$1}'))\\n    url = url.replace(/fypage(?:@(-?\\\\d+)@)?(?:\\\\*(\\\\d+)@)?/g, (_, start, space) => parseInt(start || 0) + 1 + (pageNum - 1) * parseInt(space || 1))\\n    url = /^([\\\\s\\\\S]*?)(?:\\\\[firstPage=([\\\\s\\\\S]*?)\\\\])?(?:(\\\\.js:[\\\\s\\\\S]*?))?$/.exec(url)\\n    if (pageNum == 1 && url[2]) url[1] = url[2]\\n    if (url[3] && !url[1].includes('.js:')) url[1] += url[3]\\n    return runCode(url[1])\\n}\\n\\nfunction paramHandle(urlParam, ua, urlTmp) {\\n    let charset, paramTmp\\n    try { // 链接的编码、UA和Referer应该是首先继承首页链接\\n        [, , charset, paramTmp] = urlTmp.split(';')\\n        paramTmp = paramTmp.match(/^{(.*)}$/)[1].split('&&')\\n    } catch (e) { paramTmp = [] }\\n    let UserAgent = paramTmp.find((v) => v.startsWith('User-Agent@')),\\n        Referer = paramTmp.find((v) => v.startsWith('Referer@'))\\n    urlParam[0] = urlParam[0] || 'GET'\\n    urlParam[1] = urlParam[1] || charset || 'UTF-8'\\n    try {\\n        urlParam[2] = urlParam[2].match(/^{(.*)}$/)[1].split('&&')\\n    } catch (e) { urlParam[2] = [] }\\n    // 添加全局UA和上级Referer\\n    if (!urlParam[2].some((v) => v.startsWith('User-Agent@'))) {\\n        if (UserAgent) urlParam[2].push(UserAgent)\\n        else if (ua == 'pc')\\n            urlParam[2].push('User-Agent@' + PC_UA.replace(/;/g, ';;').replace(/\\\\?/, '??'))\\n        else if (ua == 'mobile')\\n            urlParam[2].push('User-Agent@' + MOBILE_UA.replace(/;/g, ';;').replace(/\\\\?/, '??'))\\n    }\\n    if (Referer && !urlParam[2].some((v) => v.startsWith('Referer@')))\\n        urlParam[2].push(Referer)\\n    urlParam[2] = '{' + urlParam[2].join('&&') + '}'\\n    return urlParam.join(';')\\n}\\n// 预处理并初始化config\\nfunction runPreRule(rule) {\\n    if ((typeof MY_PAGE != 'undefined' &&  MY_PAGE == 1) &&\\n         (isIndex || !getMyVar('$preRule_' + MY_RULE.title))) {\\n        eval(rule)\\n        putMyVar('$preRule_' + MY_RULE.title, 'T')\\n    }\\n    let _cfg = getMyVar('initConfig', '{}')\\n    if (_cfg && _cfg.length > 0) {\\n        config = JSON.parse(_cfg)\\n    }\\n}\\n// 正文解析通用变量\\nfunction genMyRule() {\\n    let RULE = Object.assign({}, MY_RULE)\\n    delete RULE.last_chapter_rule\\n    delete RULE.preRule\\n    delete RULE.pageList\\n    delete RULE.pages\\n    return RULE\\n}\\n\\nfunction genExUrl(url) {\\n    url = url.split(';')\\n    return url.shift() + ';' + paramHandle(url, MY_RULE.ua, MY_RULE.url)\\n}\\n\\nhijackLazyRule = $.toString((QING_TITLE, MY_PARAMS) => {\\n    if (!MY_RULE) MY_RULE = {}\\n    MY_PARAMS = JSON.parse(base64Decode(MY_PARAMS))\\n    eval(JSON.parse(fetch('hiker://page/hijackEnv?rule=' + QING_TITLE)).rule)\\n    var {\\n        paramHandle,\\n        genExUrl,\\n        hijackLazyRule,\\n        hijackEl\\n    } = $.require('hiker://page/funcTools?rule=' + QING_TITLE)\\n}, QING_TITLE, base64Encode(JSON.stringify({ url: MY_RULE.url, RULE: base64Encode(JSON.stringify(genMyRule())), isIndex: isIndex })))\\n\\nfunction hijackEl(el) {\\n    if(!el || typeof el != 'object') return\\n    if (!el.extra) el.extra = {}\\n    el.col_type = el.col_type || MY_RULE.col_type\\n    let NOW_RULE = Object.assign(genMyRule(), { params: el.extra })\\n\\n    if (typeof el.url != 'string' ||\\n        ['x5_webview_single', 'input'].some((v) => el.col_type == v) ||\\n        ['海阔视界', 'javascript:'].some((v) => el.url.startsWith(v)) ||\\n        ['rule', 'pics', 'toast', 'copy', 'editFile', 'x5', 'x5WebView', 'x5Play', 'web', 'x5Rule', 'webRule',\\n            'download', 'share', 'fileSelect', 'video'].some((v) => el.url.startsWith(v + '://'))) {\\n        return el\\n    } else if (el.url.startsWith('input://')) {\\n        let para = JSON.parse(el.url.slice(8))\\n        if (para.js) para.js = hijackLazyRule + ';' + para.js\\n        el.url = 'input://' + JSON.stringify(para)\\n        return el\\n    } else if (el.url.startsWith('confirm://')) {\\n        let reIndex = el.url.indexOf('.js:')\\n        if (reIndex >= 0) el.url = el.url.slice(0, reIndex) + '.js:' + hijackLazyRule + ';' + el.url.slice(reIndex + 4)\\n        return el\\n    } else if (el.url.startsWith('select://')) {\\n        let para = JSON.parse(el.url.slice(9))\\n        if (para.js) para.js = hijackLazyRule + ';' + para.js\\n        el.url = 'select://' + JSON.stringify(para)\\n        return el\\n    } else if (el.url.includes('@rule=')) {\\n        let [_, url, rule] = el.url.match(/^([\\\\s\\\\S]*?)@rule=([\\\\s\\\\S]*)$/)\\n        el.url = url\\n        NOW_RULE.detail_find_rule = rule\\n        NOW_RULE.detail_col_type = MY_RULE.col_type\\n    } else if (el.url.startsWith('hiker://page/')) {\\n        if (el.url.includes('rule=') || el.extra.rule)\\n            return el\\n        let [_, path, flag, params] = el.url.match(/^hiker:\\\\/\\\\/page\\\\/(.+?)(#.*?)?(?:\\\\?(.*))?$/),\\n            subPage = MY_RULE.pageList.find((v) => v.path == path),\\n            subUrl = (params || '').split('&').find((v) => v.startsWith('url='))\\n        el.url = (subUrl ? subUrl.slice(4).replace(/??/g, '?').replace(/&&/g, '&') : (el.extra || {}).url) || 'hiker://empty' + flag + '?' + (params || '')\\n        NOW_RULE.detail_find_rule = subPage.rule\\n        NOW_RULE.detail_col_type = subPage.col_type\\n    } else if (el.url.includes('@lazyRule=')) {\\n        let reIndex = el.url.indexOf('.js:')\\n        if (reIndex >= 0) el.url = el.url.slice(0, reIndex) + '.js:' + hijackLazyRule + ';' + el.url.slice(reIndex + 4)\\n        return el\\n    } else if (isIndex) {\\n        if (!MY_RULE.detail_find_rule || /hiker:\\\\/\\\\/(?!empty.+$)/.test(el.url)) return el\\n    } else {\\n        return el\\n    }\\n    el.extra = Object.assign({}, el.extra, {\\n        url: genExUrl(el.url),\\n        RULE: base64Encode(JSON.stringify(NOW_RULE)),\\n        pageTitle: isIndex && el.title\\n    })\\n    el.url = 'hiker://page/frameLoad?rule=' + QING_TITLE\\n    return el\\n}\\n$.exports = {\\n    runCode: runCode,\\n    indexUrl: indexUrl,\\n    paramHandle: paramHandle,\\n    runPreRule: runPreRule,\\n    genMyRule: genMyRule,\\n    genExUrl: genExUrl,\\n    hijackLazyRule: hijackLazyRule,\\n    hijackEl: hijackEl\\n}\\n\"}]","proxy":"","icon":"https://z3.ax1x.com/2021/11/16/IWJhxf.png"},{"last_chapter_rule":"","title":"孩童","author":"Timik","version":1,"type":"video","url":"https://www.caouu01.xyz/fyAll?page=fypage","col_type":"movie_2","class_name":"父女禁忌&小学初中&稀缺呦呦&呦精品&呦呦&N号房&暗网&人兽&调教&欧美&暗网&校园&SM&足拳&孕妇&重口&门事件&动漫&一家亲&母子&兄妹&嫂子&叔侄&国外","class_url":"category/119&category/49&category/42&category/128&category/1&category/121&category/40&category/107&category/106&category/111&category/41&category/112&category/113&category/117&category/118&category/33&category/43&category/39&category/54&category/56&category/57&category/58&category/59&category/60","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\nvar h = fetchPC(MY_URL);\nlog(h);\nvar list = pdfa(h, '.video-group&&.mix-wrapper&&.horizontal')\nvar lazy = $().lazyRule(_ => {\n    var html = request(input)\n    var play = html.match(/\\/vdata\\/(.*?)';/)[0].replace(\"';\", \"\")\n    var url = 'https://www.caouu01.xyz/' + play.replace('c204', 'c004').replace('5e8d', '5c8d').replace('4be0', '49e0').replace('6c11', '6e11').replace('6823', '6a23')\n    return url\n})\nfor (i in list) {\n    d.push({\n        title: pdfh(list[i], 'h4&&Text'),\n        img: pdfh(list[i], 'img&&data-src')+`@headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36','Referer':'https://www.caouu01.xyz/',}`,\n        url: pd(list[i], 'a&&href') + lazy\n    })\n}\nsetResult(d)","searchFind":"","search_url":"","group":"私人天地♥♥♥","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"pc","preRule":"","pages":"[]","proxy":"","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAJm0lEQVRYw41XCVSU1xV+M6DGmtpoW61LFWVnhk12UXHBI5Im4oqIyCaLbGqVoDAb67C4oLYWrWzDYtWY2Cym9Rh76ulJ1PY0jSbVaG3VVOtKFBWV+f93e+/7ZxhjIAnnPGb5//nvd7/73e/dx0wmE+t3GY3MaHst1ekHmfSGQYaqClayvZaV7Khj+upKZqgqZ4bKcqavqWLFO7ewkq01zFBRRvcPwfudlGcYxTMGivPtwQ1GFb5X6c0YrKKcVawrHLltYfLcX0csKGp0mdHYNC7yg6axke/uc521a9fMJXl1CRlhZW9sHizuR2Amgx2EaUAQA2ZNGdBDDPh5y7L0qH1uszosTj63WpkLtLKJuCaBhU3G18nifSubID5bhvp90RAQU2tene8hgJSX0bPUmIy6PzD9B0fkRHFV1lrPpvGRRzowQAsGPaDSwIlXpsufjo+1Xp68yPql+zLpmttS6aJLnPVvY+ZZP3g5HNqZpwDTwTwe7/GP2VaxvnCMrlphpD8mvhHcaDSq9eYKVj8vIbFT5fWgBTM+NNhfPvfz16yP/NNkCM3lEJZvW3mgLNvnkBx+z2eV/PHo6N525gVNbIK1elFKhDmzIKI6NdffpNM7ERNGJY6I1wdABKfMMfjuoF8U7hdZu8OpUdHSs8BMgPACEYAHZcNAC2gRwPC1Upd7Aj8blHSyOT5nTjsm0cF8ukzFOlZSW0UMP8eALXuj3qDS4cUds+MzOym4yst6cWKcjJkBBK/h8pQsJUjwGiUgvoL9cwiu0BxlBWcD3UtgH/gkw9nxr3a3qrykdift/fp5y+OqV63xN5aaHAwI6jE41bw2MSu0k7lJLSpP678nLZIhPB+kKVmcAmBmtgC2wLRCcgQA0KQBeCQD90wG2Xc18PA83u2bjCVw583IImYPbcxbOoA6aldr7mCyKG6hNUb/VIZSk8pUonOyvBz4WRMq+R9j5lspcxEcg4I2Hbj7KgyCa4qSNdD3PhhYkw6wtBRgYwNAwS7g0YUACKRHm8Lf+0EovOnsLxOADqbpbRkecGnfuGlHjdje5A9GoYFi3RDKfte0xZltqN73h4X1cqI8KJvzsFwADMxXmgHe/Qhg/wmACCoJgvBJBVhWBnD6PECvFex//MEjgM4PlbJMWQPXPZbzPczV+hbzlt9fmp9WVFtpF7swKWYoK1WVbi5xbh0WeL6FufLr7vEShOaBTFkSrfEY5N6DvgAwr0hhYnk5wKMnMNAfP4PAgnPgoTYF/vjDcOnUK1HQFZlzbvf0xfm/CowtEUal0zuz4vpatmVxWpQFhffe0BCZskf0nGNd+YbfOIJIEsCDxwDRG0VJ4IsvbZE4wIlPADZgCcrbgF+5qXxHl3a9TWC5vVUfapPhABmXs+ZOWeGmYYYyk4oVo683+MdWt7AJ/Nz4V5Xak+goy79eUILYKX78FGAqliC1xhH86GmAyStF3cFlBcBsBHizC7iM167espUiC0tKnZHLjw2PtJKbbl2cNrNkazVjeqSiaXTEcQvSf9trhZVjHxP9xACYOwFO/ROg56kSkF5JfBXtfVlCai2AN+ohPE8B55YE8LsTyvVHPQDzNwH4reYS6oZjcp+Oi7VSsrvDFmzavLOOMXP2updah/hd2s+84bEfOh3WjVMfkwYoK0J+576DAQJQanEAyN6usEXipDU5EeDtvzgAx24Gjq0pkgrL41dclyAAF77PZaalGHdWVrci06vVSXP7kMoXegMzOAWW7X1OQKLWA9y1iZD0EFmgCNBeAmIIA4jMJyYAkGhJK3Tt8o0+z5AVl4QbHssl2sCafjb1D7o6MwJIzPJDAHffVBOATA5BNgDEAFnwjHXIgA3AQ3zw3DcUZs5ccEj+/FWAnW8BWI7hPT2O7+sPK8CQNcUdc+F/ngmSRQFwTACoSckZ0eqsvXqAaeCJf7pSghcB2Bno7lEAUM1jsLbX7/bfgyRA+s20tQABmdDHamgev+a2DEswCRrHTTskREh22Dwi5OM2tM0uTZLEUamy3etfBEDZzdmofO+LrTh7A8Dhk8r1J8+UbrF3DLYkuCcJ2qkEUpAiws9xV21GETYExFYKEZZsr2F7PaP3NLOJ/JLLQisKBS3YpoH+AJDV+mHNw1CM/hnIRorSAcWNjuBUEtJFsG2zIgaoBMjAn0dEydgFUB+buFCIkHxge+zKJTTlfDh8mtjvZdoD6IcBL2rABoAC08PJL8iuCcRHnynCk2WA9C1KZ4TmOLZrNLinAenyQbUWLGqv7src9aPJApi+Ssx6P7IM0t7GaYZ/pVkl28sgGJi+1tGG3Y+VEtgBEAtuaELGFkf9yZiI+pA1fVoS2SP9FyYs6CWmG8dN/70Y1XDYZbgLiiGyQRNTS6PUyZEze2kvkIKQhYAM4PYS2I3FXgLyA78MxXzQ+cAqKddjioQ+hIZsswN6AKcOOzwk0NpBLhiXMocGHwWAzqBGNKqK/A0/6VB738f9W7rmulQSlhyAvoAB+M17SnZd3YovIDABwAupP3rKkf0ObEXXlSB2URv1tKXTs06Pmovic4HmURHHcQMUo5/RMZDo1WIamrUsjRDuH+T37L5G2UQIBI/TAySZgS/QK+ZE2SlTD8ARdL2TZ5WtWvi+Y2pSghfAv3CyamYeUifz6DGn57mL7HEI+vpQSvM/6uG3brOb2lCQBwf7P/tKgMgH2SeVc8yWaxRq+3yCXokFT7yGoiMLtyse7xHBL7sskmm860TzqZ+bkEiJUnD7EPy1iRgnIzUOCU77JkUdaUcQ+519rejdOGSi/Ybni9HsG8MosiCWTfHopGJC5mhon4yNkVqYB9CAS4MujedG22HFPp6/cBIyMHt99nrM2dtpm4z/NHKG9Y5PkkzbqRi/sZ8F/X0rV/Q4XaNJ6gqeFd4ZFoI1nwSdzL13R3R8hh6PdfTcFw8n/R3HGE2t1Cb4w+T2QT43yCPa8MBxbPhU+fMJr1tveq2QHvqmyk/8V3O0b35fmyz/FzeZv4+db31naDCnzYYYbP1x8KmapOwwyhyT+46TUX8HFPxh+brCn+4Ofa20bYj2PxbbsayNuSGtPnAQN7CDKi1m6S2OZS3iGk48I4PP7IyOTzGV6NU2wQ14RvyWU7EoCbUoI58o31g0bFtcckxDwPxa3MmOtzlrL7apfO62qbxvWV7yO9c4YfqR3eGvF9euzArF/sbTc5W9rKrvfzh9HsRzJ2Q8bg82ojbo+F1SXyeO45X5G5g5q2BUdVbBiPJfFjEd7mx0TVdrpt87iSP9d5yMaf0fql4Q3tpuwosAAAAASUVORK5CYII="},{"last_chapter_rule":"","title":"新水果派","author":"流苏","version":1,"type":"video","url":"hiker://empty##{\"bundle_id\":\"com.sgp.xxx.org\",\"limit\":\"15\",\"oauth_type\":\"web\",\"p_type\":\"1\",\"oauth_id\":\"bae78095611c1638d4664638c6164465\",\"language\":\"zh\",\"page\":\"fypage\",\"version\":\"1.0.0\",\"via\":\"pwa\",\"token\":\"\"}","col_type":"movie_2","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js: \nvar d = [];\nif (MY_PAGE == 1) {\n    d.push({   \n        title: \"搜索\",\n           url: \"'hiker://search?s='+input+'&rule='+ MY_RULE.title\",\n           desc: \"请输入搜索关键词\",\n           col_type: \"input\",\n    })\n};\neval(JSON.parse(request('hiker://page/aes')).rule);\n\n//生成时间戳\nfunction getCurrentTimestamp() {\n    return new Date().getTime();\n}\n//md5加密\nfunction md5(str) {\n    return CryptoJS.MD5(str).toString();\n}\n//sha256加密\nfunction sha256(str) {\n    return CryptoJS.SHA256(str).toString();\n}\nvar t = Math.floor(Date.now() / 1000); \nvar data = Encrypt(MY_URL.replace('hiker://empty##', '')); \nvar sign = md5(sha256('data='+data+'&timestamp='+t+'tJqkoiJXvD7UCU3i')); //log(sign)\nvar body = 'data='+data+'&sign='+sign+'&timestamp='+t; \n//log(body)\nvar url = 'https://api2.kraxdoe.com/api.php/api/narrate/list_post';\nvar html = fetch(url, {\n    headers: {\n    'Content-Type': 'application/x-www-form-urlencoded',\n     'user-agent':'Mozilla/5.0 (iPhone 15 Plus; CPU iPhone OS 16_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1'\n    },\n    body: body,\n    method: 'POST'\n}); \n//log(html)\n\nlet html1 = JSON.parse(html).data; \n//log(html1)\nlet html2 = Decrypt(html1); \n//log(html2)\n\nvar list = JSON.parse(html2).data.list;\nvar lazy = $('').image(() => {\nconst CryptoUtil = $.require(\"hiker://assets/crypto-java.js\");\n\tlet key = CryptoUtil.Data.parseUTF8(\"f5d965df75336270\");\n\tlet iv = CryptoUtil.Data.parseUTF8(\"97b60394abc2fbe1\");\n\tlet textData = CryptoUtil.Data.parseInputStream(input);\n\tlet encrypted = CryptoUtil.AES.decrypt(textData, key, {\n  \tmode: \"AES/CBC/PKCS7Padding\",\n\t\tiv: iv\n\t});\n\treturn encrypted.toInputStream();\n})\n//log(list);\nlist.forEach(data => {\n        d.push({\n            title: data.title,\n            desc:  data.updated_at,\n           img: data.cover_img + lazy,\n           // img: data.cover_thumb_url + + '@js=' + imgDec(key, iv, 'AES'),\n            url: 'hiker://empty##'+data.medias.cover+'##'+data.medias.media_url_full+'##'+data.id+'@rule=js:$.require(\"hiker://page/erji\")',\n        col_type: 'pic_1'\n        })\n    })\nsetResult(d)","searchFind":"js: \nvar d = [];\neval(JSON.parse(request('hiker://page/aes')).rule);\n\n//生成时间戳\nfunction getCurrentTimestamp() {\n    return new Date().getTime();\n}\n//md5加密\nfunction md5(str) {\n    return CryptoJS.MD5(str).toString();\n}\n//sha256加密\nfunction sha256(str) {\n    return CryptoJS.SHA256(str).toString();\n}\nvar t = Math.floor(Date.now() / 1000); \nvar data = Encrypt(MY_URL.replace('hiker://empty##', '')); \nvar sign = md5(sha256('data='+data+'&timestamp='+t+'tJqkoiJXvD7UCU3i')); //log(sign)\nvar body = 'data='+data+'&sign='+sign+'&timestamp='+t; \n//log(body)\nvar url = 'https://api1.kraxdoe.com/api.php/api/narrate/search';\nvar html = fetch(url, {\n    headers: {\n    'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8',\n     'user-agent':'user-agent:Dart/2.18 (dart:io)'\n    },\n    body: body,\n    method: 'POST'\n}); \n//log(html)\n\nlet html1 = JSON.parse(html).data; \n//log(html1)\nlet html2 = Decrypt(html1); \nlog(html2)\n\nvar list = JSON.parse(html2).data.list;\nvar lazy = $('').image(() => {\nconst CryptoUtil = $.require(\"hiker://assets/crypto-java.js\");\n\tlet key = CryptoUtil.Data.parseUTF8(\"f5d965df75336270\");\n\tlet iv = CryptoUtil.Data.parseUTF8(\"97b60394abc2fbe1\");\n\tlet textData = CryptoUtil.Data.parseInputStream(input);\n\tlet encrypted = CryptoUtil.AES.decrypt(textData, key, {\n  \tmode: \"AES/CBC/PKCS7Padding\",\n\t\tiv: iv\n\t});\n\treturn encrypted.toInputStream();\n})\n//log(list)\nlist.forEach(data => {\n        d.push({\n            title: data.title,\n            desc:  data.updated_at,\n           img: data.cover_img + lazy,\n           // img: data.cover_thumb_url + + '@js=' + imgDec(key, iv, 'AES'),\n            url: 'hiker://empty##'+data.medias.cover+'##'+data.medias.media_url_full+'##'+data.id+'@rule=js:$.require(\"hiker://page/erji\")',\n        col_type: 'pic_1'\n        })\n    })\nsetResult(d)","search_url":"hiker://empty##{\"oauth_id\":\"377583b5da12b20e\",\"bundleId\":\"com.example.sgp\",\"version\":\"2.1.0\",\"oauth_type\":\"android\",\"word\":\"**\",\"type\":1,\"page\":fypage,\"limit\":30}","group":"私人天地♥♥♥","detail_col_type":"movie_2","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"aes\",\"path\":\"aes\",\"rule\":\"//加载CryptoJS库\\neval(getCryptoJS())\\n\\n// 解密函数\\nfunction Decrypt(word) {\\n    const key = CryptoJS.enc.Utf8.parse(\\\"tJqkoiJXvD7UCU3i\\\");\\n    const iv = CryptoJS.enc.Utf8.parse(\\\"h79lkicjeqwko5nd\\\");\\n    let encryptedHexStr = CryptoJS.enc.Base64.parse(word);\\n    let decrypt = CryptoJS.AES.decrypt({\\n        ciphertext: encryptedHexStr\\n    }, key, {\\n        iv: iv,\\n        mode: CryptoJS.mode.CBC,\\n        padding: CryptoJS.pad.Pkcs7 // 注意这里应该是CryptoJS.pad.NoPadding\\n    });\\n    if (decrypt) {\\n        let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);\\n        return decryptedStr;\\n    } else {\\n        // 解密失败,返回null或错误信息\\n        return null;\\n    }\\n}\\n\\n// 加密函数\\nfunction Encrypt(plaintext) {\\n    const key = CryptoJS.enc.Utf8.parse(\\\"tJqkoiJXvD7UCU3i\\\");\\n    const iv = CryptoJS.enc.Utf8.parse(\\\"h79lkicjeqwko5nd\\\");\\n    var encrypted = CryptoJS.AES.encrypt(plaintext, key, {\\n        iv: iv,\\n        mode: CryptoJS.mode.CBC,\\n        padding: CryptoJS.pad.Pkcs7 // 注意这里应该是CryptoJS.pad.NoPadding\\n    });\\n    var ciphertext = encrypted.ciphertext.toString(CryptoJS.enc.Base64);\\n    return ciphertext;\\n}\\n\\n//图片解密\\nkey = 'f5d965df75336270';\\niv = '97b60394abc2fbe1';\\nfunction imgDec(key,iv,a,b){\\n\\tif(!b){\\n \\t\\tb='PKCS5Padding';\\n \\t}\\n    \\tvar sss = `\\n            function imgDecrypt() {\\n                var javaImport = new JavaImporter();\\n                javaImport.importPackage(\\n                    Packages.com.example.hikerview.utils,\\n                    Packages.java.lang,\\n                    Packages.java.security,\\n                    Packages.java.util,\\n                    Packages.java.io,\\n                    Packages.java.text,\\n                    Packages.javax.crypto,\\n                    Packages.javax.crypto.spec,\\n                );\\n                with(javaImport) {\\n                    let bytes = FileUtil.toBytes(input);\\n                    function decryptData(bArr) {\\n\\t\\t    if(/B@/.test(\\\"${key}\\\")){\\n      \\t\\t\\tvar secretKeySpec = new SecretKeySpec(String(\\\"${key}\\\"), \\\"${a}\\\");\\n                    \\tvar ivParameterSpec = new IvParameterSpec(String(\\\"${iv}\\\"));\\n\\t\\t    }else{\\n\\t\\t    \\tvar secretKeySpec = new SecretKeySpec(String(\\\"${key}\\\").getBytes(), \\\"${a}\\\");\\n                    \\tvar ivParameterSpec = new IvParameterSpec(String(\\\"${iv}\\\").getBytes());\\n\\t\\t     }\\n                    \\tvar cipher = Cipher.getInstance(\\\"${a}\\\"+\\\"/CBC/\\\"+\\\"${b}\\\");\\n                    \\tcipher.init(2, secretKeySpec, ivParameterSpec);\\n                   \\t return cipher.doFinal(bArr);\\n                    }\\n                    bytes = decryptData(bytes);\\n                    return FileUtil.toInputStream(bytes);\\n                }\\n            }                    \\n        `;\\n        putVar('sss', sss);\\n        var imgdec = $.toString(() => {\\n            eval(getVar('sss'));\\n            return imgDecrypt();\\n        });        \\n        putVar('imgdec', imgdec);\\n        return imgdec;\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"二级\",\"path\":\"erji\",\"rule\":\"js: \\nvar d = [];\\neval(JSON.parse(request('hiker://page/aes')).rule);\\n\\nlet cover=MY_URL.split('##')[1];\\nlet media_url_full=MY_URL.split('##')[2];\\nlet id = MY_URL.split('##')[3];\\n\\nvar lazy = $('').image(() => {\\nconst CryptoUtil = $.require(\\\"hiker://assets/crypto-java.js\\\");\\n\\tlet key = CryptoUtil.Data.parseUTF8(\\\"f5d965df75336270\\\");\\n\\tlet iv = CryptoUtil.Data.parseUTF8(\\\"97b60394abc2fbe1\\\");\\n\\tlet textData = CryptoUtil.Data.parseInputStream(input);\\n\\tlet encrypted = CryptoUtil.AES.decrypt(textData, key, {\\n  \\tmode: \\\"AES/CBC/PKCS7Padding\\\",\\n\\t\\tiv: iv\\n\\t});\\n\\treturn encrypted.toInputStream();\\n})\\n\\n//生成时间戳\\nfunction getCurrentTimestamp() {\\n    return new Date().getTime();\\n}\\n//md5加密\\nfunction md5(str) {\\n    return CryptoJS.MD5(str).toString();\\n}\\n//sha256加密\\nfunction sha256(str) {\\n    return CryptoJS.SHA256(str).toString();\\n}\\nvar t = Math.floor(Date.now() / 1000); \\nvar data0= '{\\\"bundle_id\\\":\\\"com.sgp.xxx.org\\\",\\\"oauth_type\\\":\\\"web\\\",\\\"oauth_id\\\":\\\"bae78095611c1638d4664638c6164465\\\",\\\"language\\\":\\\"zh\\\",\\\"id\\\":\\\"'+id+'\\\",\\\"version\\\":\\\"1.0.0\\\",\\\"via\\\":\\\"pwa\\\",\\\"token\\\":\\\"\\\"}'\\nvar data = Encrypt(data0); \\nvar sign = md5(sha256('data='+data+'&timestamp='+t+'tJqkoiJXvD7UCU3i')); //log(sign)\\nvar body = 'data='+data+'&sign='+sign+'&timestamp='+t; \\n//log(body)\\nvar url = 'https://api2.kraxdoe.com/api.php/api/narrate/original_detail';\\nvar html = fetch(url, {\\n    headers: {\\n    'Content-Type': 'application/x-www-form-urlencoded',\\n     'user-agent':'Mozilla/5.0 (iPhone 15 Plus; CPU iPhone OS 16_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1'\\n    },\\n    body: body,\\n    method: 'POST'\\n}); \\n//log(html)\\n\\nlet html1 = JSON.parse(html).data; \\n//log(html1)\\nlet html2 = Decrypt(html1); \\n//log(html2)\\n\\nd.push({\\n            title: '解说',\\n            img: cover + lazy,\\n           // img: cover  + '@js=' + imgDec(key, iv, 'AES'),\\n            url: media_url_full.replace(/\\\\/\\\\/.*play\\\\./,'//long.'),\\n            col_type: 'pic_1',\\n        });\\nif(JSON.parse(html2).msg!='视频不存在'){\\nvar list = JSON.parse(html2).data;\\nvar title = list.title;\\nvar url0 = list.play_url;\\nd.push({\\n            title: '原片',\\n           img: cover + lazy,\\n           // img: cover +  '@js=' + imgDec(key, iv, 'AES'),\\n           desc: title,\\n            url: url0.replace(/\\\\/\\\\/.*play\\\\./,'//long.'),\\n            col_type: 'pic_1',\\n   })\\n}\\nsetResult(d)\"}]","proxy":"","icon":""},{"last_chapter_rule":"","title":"小女16","author":"R","version":20240204,"type":"video","url":"hiker://empty##https://xnv16spc.bar/##fypage","col_type":"movie_2","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\nvar d = [];\naddListener(\"onClose\", $.toString(() => {\n    let keys = listMyVarKeys();\n    for (let it of keys) {\n        clearMyVar(it);\n    }\n}));/*\naddListener(\"onRefresh\", $.toString(() => {\n    let keys = listMyVarKeys();\n    for (let it of keys) {\n        clearMyVar(it);\n    }\n}));*/\nvar getRangeColors = function() {       \n    return '#' + ('00000' + (Math.random() * 0x1000000 << 0).toString(16)).substr(-6);     \n}\nvar 下一页 = \"pd(html, 'a:matches(下一页)&&href')\";\n   \nconst page = MY_PAGE;\neval(JSON.parse(request('hiker://page/yi')).rule)\n\nvar 定位信息 = [{\n    大类定位: '.nav',\n    小类: 'body&&a:not(:matches(🔥🔥))',\n    //增加: ['<a href=\"' + MY_HOME + '\">Home</A>'],\n    链接处理: (u) => {\n        let url = u.replace(/typel(\\/\\d+)\\.html/, 'showl$1-----------.html');\n        return url\n    }\n}, {\n    大类定位: 'body&&.vods&&.links&&a,1:10',\n}, {\n    大类定位: 'body&&.vods&&.links&&a,10:19',\n}, {\n    大类定位: 'body&&.vods&&.links&&a,19:28',\n}, {\n    大类定位: 'body&&.vods&&.links&&a,28:',\n}]\n\n//var whost = config.host\nMY_URL = MY_URL.split('##')[1]\nlet true_url = getTruelink(MY_RULE.url, MY_URL, page);\nlog(true_url)\n\nvar html = request(true_url)\nconst dc = dynamicClass({\n    分类颜色: getRangeColors()\n});\ndc.开启折叠(false)\ndc.开启搜索()\ndc.创建动态分类(定位信息)\n\neval(JSON.parse(fetch('hiker://page/lazy', {})).rule);\n\nvar parseRule = {\n    list: 'body&&.vods&&.vod',\n    title: '.vod-txt&&Text',\n    desc0: '',\n    desc1: '',\n    desc: '',\n    img: 'img||a&&src||data-cfsrc',\n    url: 'a&&href.js:input.replace(\"info\",\"play\")',\n    ref: '@Referer=',\n    imt: false,\n    //backimg: true,\n}\n\nif (/buzz\\/$/.test(true_url)){\nif(page == 1){\n       eval(JSON.parse(fetch('hiker://page/首页', {})).rule);      \n }\n}else{\n    Create.ruleList(d, html, parseRule);\n   }     \n\nautoPage();\n\nsetResult(d)","searchFind":"js:\nvar d = [];\n\neval(JSON.parse(request('hiker://page/yi')).rule);\neval(JSON.parse(fetch('hiker://page/lazy', {})).rule);\n\n    //var whost = config.host\nMY_URL = MY_URL.replace('hiker://empty##', '')\n    var html=fetch(MY_URL);\nlog(MY_URL)\n\nvar parseRule = {\n    list: 'body&&.vods&&.vod',\n    title: '.vod-txt&&Text',\n    desc0: '',\n    desc1: '',\n    desc: '',\n    img: 'img||a&&src||data-cfsrc',\n    url: 'a&&href.js:input.replace(\"info\",\"play\")',\n    ref: '@Referer=',\n    imt: false,\n    //backimg: true,\n}\n\n\nCreate.ruleList(d, html, parseRule);\n\nsetResult(d)","search_url":"/hunt/**/h/fypage.html","group":"私人天地♥♥♥","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"//@LoyDgIk大佬写的自动更新,复制黏贴就完事,感谢大佬的分享\n            let MY_HOME = MY_RULE.url.match(/https?\\:\\/\\/.*?\\//)[0];\n            let url =JSON.parse(fetch(MY_HOME,{onlyHeaders:true})).url;\n\nif (MY_HOME != url) {\n    confirm({\n        title: \"更新规则\",\n        content: \"检测到你规则的域名已失效,是否立即更新?\",\n        confirm: () => {\n            showLoading(\"正在获取可用域名\");\n            let html = 'https://xnv163.xyz/';\n            let r = JSON.parse(fetch(html,{onlyHeaders:true}));\n            let host = r.url;\n            hideLoading();\n            if (!host) return \"toast://获取失败\";\n            toast(host);\n            /(https?\\:\\/\\/.*?\\/)/.test(MY_RULE.url);\n            MY_RULE.url = MY_RULE.url.replace(RegExp.$1, host);\n            return \"rule://\" + base64Encode(\"海阔视界¥home_rule¥\" + JSON.stringify(MY_RULE));\n\n        },\n        cancel: () => {\n            return \"toast://😇\";\n        }\n    });\n   }","pages":"[{\"col_type\":\"movie_3\",\"name\":\"一级分类列表\",\"path\":\"yi\",\"rule\":\"js:\\n/*\\nby α(zetalpha)\\n一级封装\\n动态分类 列表创建 自动下一页\\nver 20231017 1.0\\n*/\\n\\n//随机颜色\\nvar getRangeColors = function() {\\n    return '#' + ('00000' + (Math.random() * 0x1000000 << 0).toString(16)).substr(-6);\\n}\\n\\n//动态分类\\nfunction dynamicClass(options) {\\n    const obj = {\\n        //默认值\\n        layout: \\\"undefined\\\",\\n        html: \\\"empty\\\",\\n        page: 0,\\n        分类颜色: \\\"#FA7298\\\",\\n        折叠: \\\"““””<b>\\\" + \\\"∧\\\".fontcolor(\\\"#1aad19\\\") + \\\"</b>\\\",\\n        展开: \\\"““””<b>\\\" + \\\"∨\\\".fontcolor(\\\"#FF0000\\\") + \\\"</b>\\\",\\n        open: true,\\n        state: MY_RULE.url,\\n        search: false,\\n        clears: [],\\n        clearall: [\\\"yi_firstpage\\\"],\\n        debug: false,\\n\\n        预设(param) {\\n            if (param == undefined) {\\n                param = [];\\n            }\\n            Object.keys(param).forEach((property) => {\\n                // 对每个属性名执行操作\\n                const value = param[property]; // 获取属性值\\n                // 在这里执行您的操作\\n                this[property] = value;\\n                if (this.debug) {\\n                    console.log(property + \\\":\\\" + value);\\n                }\\n            });\\n        },\\n        evalJSRule(item,\\n            jsRule) {\\n            let rule = jsRule.replace(\\\"@js:\\\",\\n                \\\"\\\");\\n            rule = rule.trim();\\n            //log($.stringify(rule))\\n            let input = item;\\n            if (rule.startsWith(\\\"(\\\")) {\\n                eval(\\\"result = \\\" + rule);\\n            } else {\\n                /**\\n                 * 还原成 $.toString(...) 的最终结果,达到最终处理方式跟上面的 if 一致的目的\\n                 */\\n                eval(\\\"result = \\\" + \\\"(() => {\\\" + rule + \\\"})()\\\");\\n            }\\n            return result || \\\"\\\";\\n        },\\n        getTitle(src, category) {\\n            let title = \\\"\\\";\\n            let titleRule = category || \\\"a&&Text\\\";\\n            if (titleRule.startsWith(\\\"@js:\\\")) {\\n                title = this.evalJSRule(src, titleRule);\\n            } else {\\n                title = parseDomForHtml(src, titleRule);\\n            }\\n            return title || \\\"\\\";\\n        },\\n        getUrl(src, category) {\\n            let url = \\\"\\\";\\n            let urlRule = category.链接 || \\\"a&&href\\\";\\n            if (urlRule.startsWith(\\\"@js:\\\")) {\\n                url = this.evalJSRule(src, urlRule);\\n            } else {\\n                url = pd(src, urlRule);\\n            }\\n            if (typeof category.链接处理 == \\\"function\\\") {\\n                url = category.链接处理(url);\\n            }\\n            return url || \\\"\\\";\\n        },\\n        isNull(param) {\\n            if (param == null) {\\n                return this;\\n            }\\n            return false;\\n        },\\n        isBoolean(variable) {\\n            if (typeof variable !== \\\"boolean\\\") {\\n                throw new Error(\\\"开启折叠请传入布尔值\\\");\\n            }\\n        },\\n        清除(list) {\\n            if (this.isNull(list)) {\\n                return this;\\n            }\\n            if (list.constructor == String) {\\n                throw new Error(\\\"清除报错:请传列表\\\");\\n            }\\n            this.clears = list;\\n            return this;\\n        },\\n        全清(list) {\\n            if (this.isNull(list)) {\\n                return this;\\n            }\\n            var c = this.clearall;\\n            list = c.concat(list);\\n            this.clearall = list;\\n            return this;\\n        },\\n        源码(input) {\\n            this.html = input;\\n            return this;\\n        },\\n        界面(input) {\\n            this.layout = input;\\n            return this;\\n        },\\n        页码(input) {\\n            this.page = input;\\n            return this;\\n        },\\n        状态(input) {\\n            this.state = input;\\n            return this;\\n        },\\n        开启搜索(input) {\\n            if (input == undefined) {\\n                input = true;\\n            }\\n            this.search = input;\\n            return this;\\n        },\\n        开启折叠(input) {\\n            if (input == undefined) {\\n                input = true;\\n            }\\n            this.isBoolean(input);\\n            this.open = input;\\n            return this;\\n        },\\n        setTitle(k, i, t) {\\n            return k == i ? \\\"““””\\\" + t.fontcolor(this.分类颜色) : t;\\n        },\\n        action(obj) {\\n            return [{\\n                title: \\\"清除状态\\\",\\n                js: $.toString((obj) => {\\n                    log(obj);\\n                    clearMyVar(obj.state);\\n                    clearMyVar(\\\"head.cate\\\");\\n                    clearMyVar('cate_button');\\n                    obj.all.forEach((item) => {\\n                        clearMyVar(item);\\n                    });\\n                    obj.cl.forEach((item) => {\\n                        clearMyVar(item);\\n                    });\\n                    refreshPage();\\n                }, obj),\\n            }, ];\\n        },\\n        checkParam() {\\n            var obj = {};\\n            if (this.page == 0 && typeof page == \\\"undefined\\\") {\\n                throw new Error(\\\"请传入页码\\\");\\n            } else {\\n                if (typeof page == \\\"undefined\\\") {\\n                    obj[\\\"页码\\\"] = this.page;\\n                } else {\\n                    obj[\\\"页码\\\"] = page;\\n                }\\n            }\\n            if (this.html == \\\"empty\\\" && typeof html == \\\"undefined\\\") {\\n                throw new Error(\\\"请传入源码\\\");\\n            } else {\\n                if (typeof html == \\\"undefined\\\") {\\n                    obj[\\\"源码\\\"] = this.html;\\n                } else {\\n                    obj[\\\"源码\\\"] = html;\\n                }\\n            }\\n            if (this.layout == \\\"undefined\\\" && typeof d == \\\"undefined\\\") {\\n                throw new Error(\\\"请传入界面\\\");\\n            } else {\\n                if (typeof d == \\\"undefined\\\") {\\n                    obj[\\\"界面\\\"] = this.layout;\\n                } else {\\n                    obj[\\\"界面\\\"] = d;\\n                }\\n            }\\n            return obj;\\n        },\\n        创建动态分类(ruleObj) {\\n            let items = [];\\n            let cates = [];\\n            if (ruleObj == undefined) {\\n                ruleObj = [];\\n            }\\n            //初始化变量开始\\n            const param = this.checkParam();\\n            const page = param.页码;\\n            const html = param.源码;\\n            const d = param.界面;\\n            const 状态 = this.state;\\n            const search = this.search;\\n            const empty = \\\"hiker://empty\\\";\\n            const 折叠状态 = this.open;\\n            var 展开 = this.展开;\\n            var 折叠 = this.折叠;\\n            var 全清 = this.clearall;\\n            var 清除 = this.clears;\\n            //初始化变量结束\\n            let init_cate = new Array(20).fill(\\\"0\\\");\\n            const fold = getMyVar(MY_RULE.group, \\\"0\\\");\\n            const cate_temp = JSON.parse(\\n                getMyVar(\\\"head.cate\\\", JSON.stringify(init_cate))\\n            );\\n            if (search && page == 1) {\\n                items.push({\\n                    title: \\\"🔎\\\",\\n                    url: \\\"'hiker://search?rule=\\\" + MY_RULE.title + \\\"&s='+input\\\",\\n                    desc: \\\"搜索关键词\\\",\\n                    col_type: \\\"input\\\",\\n                    extra: {\\n                        defaultValue: getMyVar(\\\"keyword\\\", \\\"\\\"),\\n                        onChange: $.toString(() => {\\n                            putMyVar(\\\"keyword\\\", input);\\n                        }),\\n                    },\\n                });\\n            }\\n            const categories = [];\\n            ruleObj.forEach((x) => {\\n                var list = [];\\n                //log(x)\\n                if (x.json != undefined) {\\n                    x.json.map(k => {\\n                        categories.push(JSON.stringify(k).replace(/^\\\\[|\\\\]$/g, ''))\\n                    })\\n                    //categories.push(x.json)\\n                }\\n                if (x.一级定位) {\\n                    if (x.一级定位.startsWith(\\\"@js:\\\")) {\\n                        list = this.evalJSRule(html, x.一级定位);\\n                    } else {\\n                        list = pdfa(html, x.一级定位);\\n                    }\\n                }\\n                if (x.大类定位) {\\n                    if (x.大类定位.startsWith(\\\"@js:\\\")) {\\n                        list = this.evalJSRule(html, x.大类定位);\\n                    } else {\\n                        list = [pdfa(html, x.大类定位).join('\\\\n')];\\n                    }\\n                }\\n\\n                //--额外处理--\\n                var 一级 = list.map((s) => {\\n                    var slist = [];\\n                    if (!(\\\"小类\\\" in x)) {\\n                        x.小类 = \\\"body&&a:not(:matches(首页)):not(a:not([href]))\\\";\\n                    }\\n                    if (x.小类.startsWith(\\\"@js:\\\")) {\\n                        slist = this.evalJSRule(s, x.小类);\\n                    } else {\\n                        slist = pdfa(s, x.小类);\\n                    }\\n              //--额外处理--\\n                if (('增加' in x)) {\\n                    if (x.增加.constructor == String) {\\n                        x.增加 = eval(x.增加);\\n                    }\\n                    slist = x.增加.concat(slist);\\n                }\\n                if (('补充' in x)) {\\n                    if (x.补充.constructor == String) {\\n                        x.补充 = eval(x.补充);\\n                    }\\n                    slist = slist.concat(x.补充);\\n                }\\n                \\n                    var 定位 = slist.map((item) => {\\n                        var title = this.getTitle(item, x.标题);\\n                        var url = this.getUrl(item, x);\\n                        var obj = {\\n                            title: title,\\n                            url: url\\n                        };\\n                        return JSON.stringify(obj);\\n                    });\\n                    return 定位;\\n                });\\n                //log(一级)\\n                //log(一级.length)\\n                if (一级.length == 1) {\\n                    categories.push(一级.join(\\\"\\\\n\\\"));\\n                } else {\\n                    一级.forEach((item) => {\\n                        categories.push(item.join(\\\",\\\"));\\n                    });\\n                }\\n                //log(categories)\\n            });\\n            if (折叠状态) {\\n                if (page == 1) {\\n                    items.push({\\n                        title: fold === \\\"1\\\" ? 折叠 : 展开,\\n                        url: $(\\\"#noLoading#\\\").lazyRule(\\n                            (title, fold, u, all, exps) => {\\n                                var fold = getMyVar(MY_RULE.group, fold);\\n\\n                                var [展开, 折叠] = exps;\\n\\n                                if (fold == 1) {\\n                                    var cx = findItemsByCls(title + 'cate_button');\\n                                    storage0.putMyVar('cate_button', cx);\\n                                    deleteItemByCls(title + 'cate_button');\\n\\n                                } else {\\n                                    var cx = storage0.getMyVar('cate_button', []).map(x => {\\n                                        x['col_type'] = x['col_type'] ? x['col_type'] : x['type'];\\n                                        return x;\\n                                    });\\n                                    addItemAfter(title + 'cate_line', cx)\\n                                }\\n\\n                                /*all.forEach((item) => {\\n                                  clearMyVar(item);\\n                                });*/\\n                                updateItem(title + 'cate_exp', {\\n                                    title: fold == 1 ? 展开 : 折叠,\\n                                })\\n\\n                                putMyVar(MY_RULE.group, fold === \\\"1\\\" ? \\\"0\\\" : \\\"1\\\");\\n\\n                                //refreshPage(false);\\n                                return \\\"hiker://empty\\\";\\n                            },\\n                            MY_RULE.title,\\n                            fold,\\n                            状态,\\n                            全清, [展开,\\n                                折叠\\n                            ],\\n                        ),\\n                        col_type: \\\"scroll_button\\\",\\n                        extra: {\\n                            id: MY_RULE.title + 'cate_exp',\\n                            longClick: this.action({\\n                                state: 状态,\\n                                all: 全清,\\n                                cl: 清除,\\n                            }),\\n                        },\\n                    });\\n                }\\n            }\\n            if (page == 1) {\\n                categories.forEach((category, index) => {\\n                    //log(category)\\n                    let sub_categories = [];\\n                    /*if (小类定位.includes(\\\";\\\")) {\\n                      sub_categories = pdfa(category, 小类定位.split(\\\";\\\")[0]);\\n                      if (sub_categories.length == 0) {\\n                        sub_categories = pdfa(category, 小类定位.split(\\\";\\\")[1]);\\n                      }\\n                    } else {*/\\n                    //log(index)\\n                    sub_categories = JSON.parse(`[${category}]`);\\n                    //log(sub_categories)\\n                    // sub_categories = pdfa(category, 小类定位);\\n                    //}\\n                    if (index === 0) {\\n                        //大类\\n                        sub_categories.forEach((item, key) => {\\n\\n                            //let title = pdfh(item, _大类标题);\\n                            let title = item.title;\\n\\n                            if (typeof 排除 != \\\"undefined\\\" && 排除 != \\\"\\\") {\\n                                title = title.replace(newRegExp(排除, \\\"g\\\"), \\\"\\\");\\n                            }\\n                            let json = ''\\n                            json = item.url;\\n\\n                            let params = {\\n                                cate_temp: cate_temp,\\n                                key: key,\\n                                page: page,\\n                                clears: 清除,\\n                                json: json,\\n                                state: 状态,\\n                                allclears: 全清,\\n                            };\\n\\n                            //let url = pd(item, _大类链接);\\n                            let url = item.url;\\n                            /*if (大类处理) {\\n                              url = 一级分类处理(url);\\n                            }*/\\n                            //log(url)\\n                            items.push({\\n                                title: this.setTitle(key.toString(), cate_temp[index], title),\\n                                col_type: \\\"scroll_button\\\",\\n                                url: $(\\\"hiker://empty#noLoading#\\\").lazyRule((params) => {\\n                                        let new_cate = [];\\n                                        params.clears.forEach((item) => {\\n                                            clearMyVar(item);\\n                                        });\\n                                        params.allclears.forEach((item) => {\\n                                            clearMyVar(item);\\n                                        });\\n                                        clearMyVar('cate_button');\\n\\n                                        params.cate_temp.forEach((cate, index) => {\\n                                            new_cate.push(index === 0 ? params.key.toString() : \\\"0\\\");\\n                                        });\\n                                        putMyVar(\\\"head.cate\\\", JSON.stringify(new_cate));\\n                                        if (params.json.constructor === Object) {\\n                                            putMyVar(\\\"dt_\\\" + params.json.type, params.json.value);\\n                                        } else {\\n                                            putMyVar(params.state, params.json);\\n                                        }\\n                                        refreshPage(true);\\n                                        return \\\"hiker://empty\\\";\\n                                    },\\n                                    params),\\n                            });\\n                        });\\n                        items.push({\\n                            col_type: \\\"blank_block\\\",\\n                            extra: {\\n                                id: MY_RULE.title + 'cate_line',\\n                            }\\n                        });\\n                    } else {\\n                        //小类\\n                        sub_categories.forEach((item, key) => {\\n                            var extrapos = false;\\n                            /*if (item.includes('type=\\\"@extra\\\"')) {\\n                              extrapos = true;\\n                              //log('附加定位')\\n                            }*/\\n\\n                            if (extrapos) {\\n                                var title = pdfh(item, \\\"a&&Text\\\");\\n                                if (typeof 排除 != \\\"undefined\\\" && 排除 != \\\"\\\") {\\n                                    title = title.replace(new RegExp(排除, \\\"g\\\"), \\\"\\\");\\n                                }\\n                                var json = {\\n                                    type: pdfh(item, \\\"a&&state\\\"),\\n                                    value: pdfh(item, \\\"a&&value\\\"),\\n                                };\\n                            } else {\\n                                //var title = pdfh(item, 分类标题);\\n                                var title = item.title;\\n                                if (typeof 排除 != \\\"undefined\\\" && 排除 != \\\"\\\") {\\n                                    title = title.replace(new RegExp(排除, \\\"g\\\"), \\\"\\\");\\n                                }\\n\\n                                var json = \\\"\\\";\\n                                /*switch (true) {\\n                                  case 分类链接.includes(\\\"@@@\\\"):\\n                                    json = {\\n                                      type: pdfh(item, 分类链接.split(\\\"@@@\\\")[0]),\\n                                      value: pdfh(item, 分类链接.split(\\\"@@@\\\")[1]),\\n                                    };\\n                                    break;\\n                                  case 分类链接.includes(\\\"@@\\\"):\\n                                    json = {\\n                                      type: 分类链接.split(\\\"@@\\\")[0],\\n                                      value: pdfh(item, 分类链接.split(\\\"@@\\\")[1]),\\n                                    };\\n                                    break;\\n                                  default:\\n                                    json = item.url;\\n                                    // json = pd(item, 分类链接);\\n                                    break;\\n                                }*/\\n                                json = item.url;\\n                                /*var json=分类链接.includes('@@@')?{\\n                                      type:pdfh(item,分类链接.split('@@@')[0]),\\n                                      value:pdfh(item,分类链接.split('@@@')[1]),\\n                                  }:pd(item,分类链接);\\n                                  json=分类链接.includes('@@')?{\\n                                      type:分类链接.split('@@')[0],\\n                                      value:pdfh(item,分类链接.split('@@')[1]),\\n                                  }:pd(item,分类链接);*/\\n                            }\\n\\n                            let params = {\\n                                cate_temp: cate_temp,\\n                                index: index,\\n                                key: key,\\n                                page: page,\\n                                json: json,\\n                                state: 状态,\\n                                allclears: 全清,\\n                            };\\n                            cates.push({\\n                                title: this.setTitle(key.toString(), cate_temp[index], title),\\n                                url: $(\\\"hiker://empty\\\" + \\\"#noLoading#\\\").lazyRule((params) => {\\n                                        params.allclears.forEach((item) => {\\n                                            clearMyVar(item);\\n                                        });\\n                                        clearMyVar('cate_button');\\n\\n                                        params.cate_temp[params.index] = params.key.toString();\\n                                        putMyVar(\\\"head.cate\\\", JSON.stringify(params.cate_temp));\\n                                        if (params.json.constructor === Object) {\\n                                            putMyVar(\\\"dt_\\\" + params.json.type, params.json.value);\\n                                        } else {\\n                                            putMyVar(params.state, params.json);\\n                                        }\\n                                        refreshPage();\\n                                        return \\\"hiker://empty\\\";\\n                                    },\\n                                    params),\\n                                col_type: \\\"scroll_button\\\",\\n                                extra: {\\n                                    cls: MY_RULE.title + 'cate_button',\\n                                }\\n                            });\\n                        });\\n                        cates.push({\\n                            col_type: \\\"blank_block\\\",\\n                            extra: {\\n                                cls: MY_RULE.title + 'cate_button',\\n                            }\\n                        });\\n                    }\\n                });\\n            }\\n            if (fold === \\\"1\\\" || 折叠状态 == false) {\\n                items = items.concat(cates);\\n            }\\n            if (fold === \\\"0\\\") {\\n                storage0.putMyVar('cate_button', cates)\\n            }\\n            if (typeof setPreResult != 'undefined') {\\n                items = d.concat(items);\\n                //清空继承数组\\n                d.length = 0;\\n                setPreResult(items);\\n            } else {\\n                items.forEach(item => {\\n                    d.push(item);\\n                })\\n            }\\n        },\\n    };\\n    obj.预设(options);\\n    return obj;\\n}\\n\\nvar 状态 =\\n    typeof 状态标记 != \\\"undefined\\\" && 状态标记 != \\\"\\\" ? 状态标记 : MY_RULE.url;\\n\\nlet dt_debug = false;\\n\\naddListener(\\n    \\\"onClose\\\",\\n    $.toString(() => {})\\n);\\n\\nvar Create = {\\n    nextPage: function() {\\n        var result = false;\\n        try {\\n            var next = eval(下一页);\\n            //log('n:'+next)\\n            if (next == \\\"\\\") {\\n                throw new Error('下一页链接为空')\\n            }\\n            result = true;\\n            if (true_url == next) {\\n                result = false;\\n            }\\n        } catch (e) {\\n            //log(\\\"可能不存在下一页或者下一页定位有问题\\\");\\n            log(\\\"错误信息:\\\" + e.message);\\n        }\\n        if ((next == \\\"\\\" || next == undefined) && page == 1) {\\n            next = true_url;\\n        } else {\\n            //result=false;\\n            next = getMyVar(状态);\\n        }\\n        //log('l'+true_url)\\n        //log('n'+next)\\n        if (page != 1) {\\n            if (true_url == next && !result) {\\n                result = false;\\n            } else {\\n                result = true;\\n            }\\n        }\\n        return result;\\n        //putMyVar(状态, next);\\n    },\\n    getBackImage: function(imgurl) {\\n        var result = imgurl;\\n        try {\\n            result = /url(?:\\\\s+)?\\\\((.*?)\\\\)/g\\n                .exec(imgurl)[1]\\n                .replace(/('|\\\"|&quot;)/gm, \\\"\\\");\\n        } catch {}\\n        return result;\\n    },\\n    httpHandle: function(input) {\\n        if (input.startsWith(\\\"http\\\")) {\\n            return input;\\n        } else if (input.startsWith(\\\"//\\\")) {\\n            return \\\"https:\\\" + input;\\n        } else if (input.startsWith(\\\"/\\\")) {\\n            return MY_HOME + input;\\n        }\\n    },\\n    imgHandle: function(item, rule) {\\n        var img = \\\"\\\";\\n        if (rule.img.startsWith(\\\"pd\\\")) {\\n            img = eval(rule.img);\\n        } else if (rule.backimg) {\\n            img = pdfh(item, rule.img);\\n            img = this.getBackImage(img);\\n            img = this.httpHandle(img);\\n        } else {\\n            img = pdfh(item, rule.img);\\n            if (!img.startsWith(\\\"http\\\")) {\\n                img = pd(item, rule.img);\\n                img = this.httpHandle(img);\\n            }\\n        }\\n        return img + rule.ref;\\n    },\\n    urlHandle: function(item, rule) {\\n        var href = \\\"\\\";\\n        if (rule.url.startsWith(\\\"pd\\\")) {\\n            href = eval(rule.url);\\n        } else {\\n            href = pd(item, rule.url);\\n        }\\n        href = rule.imt ? href + \\\"#immersiveTheme#\\\" : href;\\n        return href;\\n    },\\n    setContent: function(item, input) {\\n        let output = \\\"\\\";\\n        if (input == undefined) {\\n            return output;\\n        }\\n        if (input.startsWith(\\\"pd\\\")) {\\n            output = eval(input);\\n        } else {\\n            output = pdfh(item, input);\\n        }\\n        return output;\\n    },\\n    refresh: function() {\\n        addListener(\\n            \\\"onRefresh\\\",\\n            $.toString((u) => {\\n                clearMyVar(\\\"yilist\\\");\\n                //var p = storage0.getMyVar('spage', '');\\n                //putMyVar(u, p);\\n            }, 状态)\\n        );\\n    },\\n    getBooleanValue: function(value, defaultValue) {\\n        return value !== undefined ? Boolean(value) : (defaultValue !== undefined ? defaultValue : true);\\n    },\\n    debuglog: function(i, item, rule, obj) {\\n        log('----------' + (i + 1) + ':调试开始----------');\\n        if (item.constructor == Object) {\\n            item = JSON.stringify(item);\\n        }\\n        log('item内容:\\\\r\\\\n' + item + '\\\\r\\\\n' +\\n            `\\\\n\\\\ttitle定位:  ${rule.title}  ---> 结果:  ${obj.title}` +\\n            `\\\\n\\\\tdesc定位:  ${rule.desc}  ---> 结果:  ${obj.desc}` +\\n            `\\\\n\\\\timg定位:  ${rule.img}  ---> 结果:  ${obj.img}` +\\n            (rule.content != undefined ? `\\\\n\\\\tcontent定位:  ${rule.content}  ---> 结果:  ${obj.content}` : '') +\\n            `\\\\n\\\\turl定位:  ${rule.url}  ---> 结果:  ${obj.url}`\\n        );\\n        log('----------' + (i + 1) + ':调试结束----------');\\n    },\\n    jsonList: function(arr, json, rule) {\\n        if (json.constructor != Object) {\\n            try {\\n                json = JSON.parse(json);\\n            } catch {}\\n        }\\n        if (json[rule.list] == undefined) {\\n            arr.push({\\n                title: '““””<font color=\\\"grey\\\"><small>无内容</small></font>',\\n                url: \\\"hiker://empty\\\",\\n                col_type: \\\"text_center_1\\\",\\n                extra: {},\\n            });\\n            return;\\n        }\\n        var debug = this.getBooleanValue(rule.debug, false);\\n        var empty = this.getBooleanValue(rule.empty);\\n        if (debug) {\\n            log('定位列表:' + rule.list);\\n        }\\n        json[rule.list].forEach((item, i) => {\\n            var title = eval(rule.title);\\n            var desc = eval(rule.desc);\\n            var content = eval(rule.content);\\n            var img = eval(rule.img) + rule.ref;\\n            var href = eval(rule.url);\\n            var url = rule.imt ? href + \\\"#immersiveTheme#\\\" : href;\\n            var lazy = rule.lazy ? rule.lazy : \\\"\\\";\\n\\n            var dd = {\\n                title: title,\\n                desc: desc,\\n                content: content,\\n                pic_url: img,\\n                url: (empty ? \\\"hiker://empty##\\\" : '') + url,\\n                col_type: rule.col_type,\\n                extra: {\\n                    img: img,\\n                },\\n            };\\n\\n            if (debug) {\\n                var rx = {\\n                    title,\\n                    desc,\\n                    img,\\n                    content,\\n                    url\\n                };\\n                this.debuglog(i, item, rule, rx);\\n            }\\n\\n            if (lazy != \\\"\\\") {\\n                dd[\\\"url\\\"] = href + lazy;\\n            }\\n            arr.push(dd);\\n        });\\n    },\\n    ruleList: function(arr, html, rule) {\\n        var list = pdfa(html,\\n            rule.list);\\n        var debug = this.getBooleanValue(rule.debug,\\n            false);\\n        var empty = this.getBooleanValue(rule.empty);\\n        if (debug) {\\n            log('定位列表:' + rule.list);\\n        }\\n        list.forEach((item, i) => {\\n            var title = this.setContent(item, rule.title);\\n            var desc = this.setContent(item, rule.desc);\\n        var desc0 = this.setContent(item, rule.desc0);\\n        var desc1 = this.setContent(item, rule.desc1);\\n            var img = this.imgHandle(item, rule);\\n            var url = this.urlHandle(item, rule);\\n            var content = this.setContent(item, rule.content);\\n\\n            if (debug) {\\n                var rx = {\\n                    title,\\n                    desc,\\n                    img,\\n                    content,\\n                    url\\n                };\\n                this.debuglog(i, item, rule, rx);\\n            }\\n    //desc0 + '\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t' + desc1 + '\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t' + \\n            //var lazy = rule.lazy ? rule.lazy : \\\"\\\";\\n            var dd = {\\n                title: title,\\n                desc: desc0 + '\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t' + desc,\\n                pic_url: img,\\n                url: url + lazy,\\n                content: content,\\n                col_type: rule.col_type,\\n                extra: {\\n                    img: img,\\n                },\\n            };\\n            if (lazy != \\\"\\\") {\\n                dd[\\\"url\\\"] = url + lazy;\\n            }\\n            arr.push(dd);\\n        });\\n    },\\n    List: function(arr, html, rule, param) {\\n        param = param ? param : {};\\n        var auto = param.auto ? param.auto : false;\\n        var show = param.show ? param.show : false;\\n        if (page == 1) {\\n            //this.spage.set(true_url);\\n        }\\n        this.refresh();\\n        var debug = this.getBooleanValue(rule.debug, false);\\n        var empty = this.getBooleanValue(rule.empty);\\n        var list = pdfa(html, rule.list);\\n        if (debug) {\\n            log('定位列表:' + rule.list);\\n        }\\n        //log(this.nextPage())\\n        if ((storage0.getMyVar('yi_isnext', 't') == 't' && list.length > 0) || page == 1) {\\n            list.forEach((item, i) => {\\n                deleteItem(\\\"pagenum\\\");\\n                deleteItem(\\\"pageline\\\");\\n                var id = \\\"\\\";\\n                var cls = \\\"\\\";\\n                var title = this.setContent(item, rule.title);\\n                var desc = this.setContent(item, rule.desc);\\n        var desc0 = this.setContent(item, rule.desc0);\\n        var desc1 = this.setContent(item, rule.desc1);\\n                var img = this.imgHandle(item, rule);\\n                var url = this.urlHandle(item, rule);\\n                var content = this.setContent(item, rule.content);\\n\\n                if (debug) {\\n                    var rx = {\\n                        title,\\n                        desc,\\n                        img,\\n                        content,\\n                        url\\n                    };\\n                    this.debuglog(i, item, rule, rx);\\n                }\\n\\n                if (i == list.length - 1) {\\n                    id = \\\"lastid_\\\" + page;\\n                    cls = \\\"lastmark\\\";\\n                }\\n                d.push({\\n                    title: title,\\n                    desc: desc,\\n                    pic_url: img,\\n                    url: (empty ? \\\"hiker://empty##\\\" : '') + url + '##fypage@rule=js:$.require(\\\"yiji\\\")',\\n                    content: content,\\n                    col_type: rule.col_type,\\n                    extra: {\\n                        img: img,\\n                        id: id,\\n                        cls: cls,\\n                    },\\n                });\\n                if (i == list.length - 1 && show) {\\n                    d.push({\\n                        col_type: \\\"line\\\",\\n                        extra: {\\n                            id: \\\"pageline\\\",\\n                        },\\n                    });\\n\\n                    d.push({\\n                        title: \\\"““””<small>加载中...</small>\\\",\\n                        url: \\\"hiker://empty\\\",\\n                        col_type: \\\"text_center_1\\\",\\n                        extra: {\\n                            id: \\\"pagenum\\\",\\n                        },\\n                    });\\n                }\\n            });\\n        } else {\\n            updateItem(\\\"pagenum\\\", {\\n                title: '““””<font color=\\\"grey\\\"><small>到底了</small></font>',\\n                url: \\\"hiker://empty\\\",\\n                col_type: \\\"text_center_1\\\",\\n                extra: {\\n                    id: \\\"last\\\",\\n                },\\n            });\\n        }\\n        if (list.length == 0 && page == 1) {\\n            d.push({\\n                col_type: \\\"line\\\",\\n            });\\n            d.push({\\n                title: '““””<font color=\\\"grey\\\"><small>无内容</small></font>',\\n                url: \\\"hiker://empty\\\",\\n                col_type: \\\"text_center_1\\\",\\n                extra: {},\\n            });\\n        }\\n        if (this.nextPage()) {\\n            //log('t');\\n            storage0.putMyVar('yi_isnext', 't');\\n        } else {\\n            //log('f');\\n            storage0.putMyVar('yi_isnext', 'f');\\n        }\\n        if (auto) {\\n            //createNextPage();\\n            autoPage();\\n        }\\n    },\\n};\\n\\nvar extMethod = {\\n    ToParams: function() {\\n        var json = arguments[0];\\n        return Object.keys(json)\\n            .map((key) => key + \\\"=\\\" + json[key])\\n            .join(\\\"&\\\");\\n    },\\n    urlParse: function(u) {\\n        var dict = {};\\n        dict.Source = u;\\n        let params = (url) => {\\n            let queryParams = {};\\n            let reg = /([^?=&]+)=([^?=&]+)/g;\\n            url.replace(reg, function() {\\n                queryParams[arguments[1]] = arguments[2];\\n            });\\n            return queryParams;\\n        };\\n        var javaUrl = JavaImporter(java.net.URL);\\n        with(javaUrl) {\\n            var url = new URL(u);\\n            dict.Protocol = url.getProtocol();\\n            dict.Host = url.getHost();\\n            dict.Port = url.getPort();\\n            dict.File = url.getFile();\\n            dict.Path = url.getPath();\\n            dict.Ref = url.getRef();\\n            dict.Hosts = `${dict.Protocol}://${url.getHost()}`;\\n        }\\n        dict.Params = params(u);\\n        return dict;\\n    },\\n    isEqual: function(x, y) {\\n        const ok = Object.keys,\\n            tx = typeof x,\\n            ty = typeof y;\\n        return x && y && tx === \\\"object\\\" && tx === ty ?\\n            ok(x).length === ok(y).length &&\\n            ok(x).every((key) => this.isEqual(x[key], y[key])) : x === y;\\n    },\\n    findDifferentIndex: function(str1, str2) {\\n        const diffChars = [];\\n        for (let i = 0; i < str2.length; i++) {\\n            if (str1[i] !== str2[i]) {\\n                diffChars.push({\\n                    index: i,\\n                    s1: str1[i],\\n                    s2: str2[i],\\n                });\\n            }\\n        }\\n        return diffChars;\\n    },\\n    replaceCharAt: function(str, index, replacement) {\\n        if (index < 0 || index >= str.length) {\\n            return str;\\n        }\\n        //log(index)\\n        const arr = str.split(\\\"\\\");\\n        arr[index] = replacement;\\n        return arr.join(\\\"\\\");\\n    },\\n    getObjectKeysDiff: function(obj1, obj2) {\\n        const differentKeys = [];\\n        for (let key in obj1) {\\n            if (!obj2.hasOwnProperty(key) || obj1[key] !== obj2[key]) {\\n                differentKeys.push(key);\\n            }\\n        }\\n        for (let key in obj2) {\\n            if (!obj1.hasOwnProperty(key)) {\\n                differentKeys.push(key);\\n            }\\n        }\\n        return differentKeys;\\n    },\\n    getNextUrl: function(source, target, params) {\\n        var u1 = this.urlParse(source);\\n        var u2 = this.urlParse(target);\\n        var pa = undefined;\\n        if (typeof params == \\\"object\\\") {\\n            pa = params.hasOwnProperty(\\\"特征\\\") ? params.特征 : undefined;\\n        }\\n        var nexturl = source;\\n        var ca = Object.keys(u2.Params).length == 0 ? \\\"\\\" : \\\"?\\\";\\n        if (pa != undefined) {\\n            var rs = String(u2.Path).replace(new RegExp(pa), \\\"$1fypage\\\");\\n            nexturl = u2.Hosts + rs + ca + this.ToParams(u2.Params);\\n        } else {\\n            if (this.isEqual(u1.Params, u2.Params)) {\\n                if (dt_debug) {\\n                    log(u1.Path);\\n                    log(u2.Path);\\n                }\\n                var df = this.findDifferentIndex(String(u1.Path), String(u2.Path));\\n                if (dt_debug) {\\n                    log(df);\\n                }\\n                if (df.length == 1) {\\n                    var re = df[0].index;\\n                } else {\\n                    var f = df.filter((x) => /\\\\d+/.test(x.s2));\\n                    var re = f[0].index;\\n                }\\n                var eq = this.replaceCharAt(String(u2.Path), re, \\\"fypage\\\");\\n                nexturl = u2.Hosts + eq + ca + this.ToParams(u2.Params);\\n            } else {\\n                var ep = this.getObjectKeysDiff(u1.Params, u2.Params)\\n                if (ep.length == 1) {\\n                    u1.Params[ep[0]] = 'fypage'\\n                } else {\\n                    log(ep);\\n                }\\n                var eq = String(u1.Path).replace(/\\\\d+/, \\\"fypage\\\");\\n                nexturl = u1.Hosts + eq + ca + this.ToParams(u1.Params);\\n            }\\n        }\\n        //log('next:'+nexturl)\\n        return nexturl;\\n    },\\n};\\n\\nfunction getTruelink(mark, url, page) {\\n    var p = getMyVar(mark, url).replace(\\\"fypage\\\", page);\\n    if (page == 1) {\\n        return getMyVar(\\\"yi_firstpage\\\", p);\\n    } else if (p != \\\"\\\") {\\n        return p;\\n    } else {\\n        return url;\\n    }\\n}\\n//构建\\nfunction createNextPage() {\\n    let startnum = 1;\\n    var obj = arguments[0];\\n    if (true_url != getMyVar(\\\"yi_pageurl\\\", \\\"\\\")) {\\n        clearMyVar(\\\"yi_pageurl\\\");\\n    }\\n    if (page == startnum && getMyVar(\\\"yi_pageurl\\\") == \\\"\\\") {\\n        putMyVar(\\\"yi_firstpage\\\", true_url);\\n        try {\\n            var next = eval(下一页);\\n            //log(\\\"next\\\");\\n            //log(next);\\n        } catch {\\n            log(\\\"可能不存在下一页或者下一页定位有问题\\\");\\n            next = \\\"\\\";\\n        }\\n        if (next != \\\"\\\") {\\n            var nxurl = extMethod.getNextUrl(true_url, next, obj);\\n            //log(\\\"nxurl:\\\" + nxurl);\\n            putMyVar(状态, nxurl);\\n            putMyVar(\\\"yi_pageurl\\\", nxurl);\\n        }\\n    }\\n}\\n\\nfunction autoPage() {\\n    if (page == 1) {\\n        putMyVar(\\\"yi_firstpage\\\", true_url);\\n    }\\n    try {\\n        var next = eval(下一页);\\n        //log(\\\"next\\\");\\n        //log('next:'+next);\\n    } catch {\\n        log(\\\"可能不存在下一页或者下一页定位有问题\\\");\\n        next = \\\"\\\";\\n    }\\n    if (next != \\\"\\\") {\\n        putMyVar(状态, next);\\n    }\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"解析\",\"path\":\"lazy\",\"rule\":\"var lazy = $('').lazyRule(() => {\\n         var html = fetch(input)\\n         var js = html.match(/var playUrl[^;]+/)[0]\\n         eval(js)\\n         return playUrl\\n         });\"},{\"col_type\":\"movie_3\",\"name\":\"一级页面.简\",\"path\":\"yiji\",\"rule\":\"js:\\nvar d = [];\\n\\neval(JSON.parse(fetch('hiker://page/lazy', {})).rule);\\nMY_URL = MY_URL.replace(\\\"hiker://empty##\\\",\\\"\\\")\\n\\nlet true_url = MY_URL\\n//获取上次缓存的下页链接\\nlet nextPage = getMyVar(\\\"nextPage\\\", \\\"\\\");\\n//如果有下一页且不是第一页就使用下一页链接\\nif (nextPage && MY_PAGE > 1) {\\n    true_url = nextPage;\\n}\\n\\nvar html = fetch(true_url);\\nlog(true_url)      \\n\\ntry {\\n    //缓存下一页\\n    let nextUrl = pd(html, \\\"a:matches(Next)&&href\\\");\\n    putMyVar(\\\"nextPage\\\", nextUrl || \\\"\\\");\\n    log(\\\"下一页:\\\" + nextUrl)\\n} catch (e) {\\n    clearMyVar(\\\"nextPage\\\");\\n    toast(\\\"好像没有下一页了!\\\");\\n}\\n\\n        var list = pdfa(html, 'body&&.item');\\n        list.forEach(list => {\\n            d.push({\\n                title: pdfh(list, 'a&&title'),\\n                desc: pdfh(list, '.info-row:matches(Added)&&Text.js:input.replace(\\\"Added:\\\",\\\"\\\")') + '\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t' + pdfh(list, '.info-row:matches(Length:)&&Text.js:input.replace(\\\"Length:\\\",\\\"\\\")'),\\n                img: pd(list, 'img||a&&src||data-cfsrc') + '@Referer=',\\n                url: pd(list, 'a&&href') + lazy,\\n                col_type: 'movie_2',\\n            });\\n        })\\n\\nsetResult(d)\"},{\"col_type\":\"movie_3\",\"name\":\"一级首页\",\"path\":\"首页\",\"rule\":\"\\nvar tabs = pdfa(html, 'body&&h3');\\nvar conts = pdfa(html, 'body&&.vods'); \\n\\nfor (var i = 0; i < conts.length; i++) {\\n      var list = pdfa(conts[i], 'body&&.vod'); \\n     d.push({\\n        title: '<middle><font color=#FFA500>'+pdfh(tabs[i], 'Text')+'</font></middle>',\\n        img: 'https://thumbsnap.com/i/h82ozRYd.png',\\n        url: 'hiker://empty',\\n        //url: pd(tabs[i],'a&&href') + '##fypage@rule=js:$.require(\\\"sx\\\")',\\n        col_type: \\\"avatar\\\",\\n        extra: {lineVisible:false}\\n    });\\n\\n        for (var j = 0; j < (list.length-list.length%2); j++) {       \\n            d.push({\\n                title: pdfh(list[j], '.vod-txt&&Text'),\\n                desc: pdfh(list[j], '.time&&Text'),\\n                img: pd(list[j],'img||a&&src'),\\n                url: pd(list[j], 'a&&href').replace(\\\"info\\\",\\\"play\\\") + lazy,\\n                col_type: 'movie_2',              \\n            });\\n        }\\n    }\"}]","proxy":"","icon":"https://cdn2.iconfinder.com/data/icons/japan-flat-2/340/japan_idol_japanese_cute_asian_pretty_female-128.png"},{"last_chapter_rule":"","title":"暗网解密","author":"流苏","version":1,"type":"other","url":"hiker://empty##{\"nag_id\":\"fyclass\",\"page\":\"fypage\",\"sort\":\"fyarea\",\"limit\":\"30\",\"oauth_id\":\"aaa939f2748a25e38d42e7d500b05c01\",\"bundle_id\":\"com.7du.cn.org\",\"version\":\"2.0.5\",\"oauth_type\":\"web\",\"language\":\"zh\"}","col_type":"movie_2","class_name":"推荐&国产精品&乱 伦换妻&原创传媒&动漫次元&网黄模特&国产直播&福利姬&异国色情&制度诱惑&岛国AV","class_url":"3&4&11&5&8&12&14&13&9&10&15","area_name":"最热&最新","area_url":"hot&new","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js: \nvar d = [];\n//只做了明网内容,暗网太BT了//\nif (MY_PAGE == 1) {\n    d.push({   \n        title: \"搜索\",\n           url: \"'hiker://search?s='+input+'&rule='+ MY_RULE.title\",\n           desc: \"请输入搜索关键词(至少两个字符)\",\n           col_type: \"input\",\n    })\n};\neval(JSON.parse(request('hiker://page/aes')).rule);\n\n//生成时间戳\nfunction getCurrentTimestamp() {\n    return new Date().getTime();\n}\n//md5加密\nfunction md5(str) {\n    return CryptoJS.MD5(str).toString();\n}\n//sha256加密\nfunction sha256(str) {\n    return CryptoJS.SHA256(str).toString();\n}\nvar t = Math.floor(Date.now() / 1000); \nvar data = Encrypt(MY_URL.replace('hiker://empty##', '')); \nvar sign = md5(sha256('data='+data+'&timestamp='+t+'NQYT3eSsXG52WPDS')); //log(sign)\nvar body = 'timestamp='+t+'&data='+data+'&sign='+sign; \n//log(body)\nvar url = 'https://loyapi02.xingqu200.com/api.php/api/tabnew/list_construct';\nvar html = fetch(url, {\n    headers: {\n    'Content-Type': 'application/x-www-form-urlencoded'\n    },\n    body: body,\n    method: 'POST'\n}); \n//log(html)\n\nlet html1 = JSON.parse(html).data; \n//log(html1)\nlet html2 = Decrypt(html1); \n//log(html2)\n\nvar Label = JSON.parse(html2).data.mid_style_category;\nvar Labelb = JSON.parse(html2).data.bot_style_one;\n//log(Label)\nif(Label!=null){\nLabel.forEach((data) => {\nlet area= MY_AREA_URL\r\n            d.push({\r\n                title: data.tab_name,\n                pic_url: data.icon+ '@js=' + imgDec(key, iv, 'AES'),\r\n                col_type: \"icon_2_round\",\n                url :  'hiker://empty##fypage##'+area+'##'+data.id+'@rule=js:$.require(\"hiker://page/erji\")',\n})\n})\n};\nif(Labelb!=null){\nLabelb.forEach((data) => {\nlet area= MY_AREA_URL;\r\n            d.push({\r\n                title: data.title,\n                pic_url: data.icon+ '@js=' + imgDec(key, iv, 'AES'),\r\n                col_type: \"icon_2_round\",\n                url :  'hiker://empty##fypage##'+area+'##'+data.id+'@rule=js:$.require(\"hiker://page/erji\")',\n})\n})\n};\nvar list = JSON.parse(html2).data.bot_style_two;\nvar lazy = $('').image(() => {\nconst CryptoUtil = $.require(\"hiker://assets/crypto-java.js\");\n\tlet key = CryptoUtil.Data.parseUTF8(\"f5d965df75336270\");\n\tlet iv = CryptoUtil.Data.parseUTF8(\"97b60394abc2fbe1\");\n\tlet textData = CryptoUtil.Data.parseInputStream(input);\n\tlet encrypted = CryptoUtil.AES.decrypt(textData, key, {\n  \tmode: \"AES/CBC/PKCS7Padding\",\n\t\tiv: iv\n\t});\n\treturn encrypted.toInputStream();\n})\n//log(list);\nlist.forEach(data => {\n    var url = data.play_url;\neval(JSON.parse(request('hiker://page/时间戳转换')).rule);\n        d.push({\n            title: data.title,\n            desc:  timestampToTime(data.refresh_at,1)+'\\t\\t\\t\\t'+parseInt(data.duration/60)+':'+parseInt(data.duration%60),\n           img: data.cover_thumb_url + lazy,\n           // img: data.cover_thumb_url + + '@js=' + imgDec(key, iv, 'AES'),,\n            url: url.replace(/\\/\\/.*play\\./,'//long.')\n        })\n    })\nsetResult(d)","searchFind":"js: \nvar d = [];\n\neval(JSON.parse(request('hiker://page/aes')).rule);\n\n//生成时间戳\nfunction getCurrentTimestamp() {\n    return new Date().getTime();\n}\n//md5加密\nfunction md5(str) {\n    return CryptoJS.MD5(str).toString();\n}\n//sha256加密\nfunction sha256(str) {\n    return CryptoJS.SHA256(str).toString();\n}\n\nvar t = Math.floor(Date.now() / 1000); //log(t)\n//var timestamp = new Date().getTime() / 1000; //log(timestamp)\n//var t = timestamp.toString().split('.')[0]; //log(t)\n//var data1 = MY_URL.replace('hiker://empty##', ''); //log(data1)\nvar data = Encrypt(MY_URL.replace('hiker://empty##', '')); \n//log(data)\nvar sign = md5(sha256('data='+data+'&timestamp='+t+'NQYT3eSsXG52WPDS')); //log(sign)\nvar body = 'timestamp='+t+'&data='+data+'&sign='+sign; \n//log(body)\nvar url = 'https://loyapi02.xingqu200.com/api.php/api/search/mv';\nvar html = fetch(url, {\n    headers: {\n    'Content-Type': 'application/x-www-form-urlencoded'\n    },\n    body: body,\n    method: 'POST'\n}); \n//log(html)\n\nlet html1 = JSON.parse(html).data; \n//log(html1)\nlet html2 = Decrypt(html1); \n//log(html2)\n\nvar list = JSON.parse(html2).data.list;\nvar lazy = $('').image(() => {\nconst CryptoUtil = $.require(\"hiker://assets/crypto-java.js\");\n\tlet key = CryptoUtil.Data.parseUTF8(\"f5d965df75336270\");\n\tlet iv = CryptoUtil.Data.parseUTF8(\"97b60394abc2fbe1\");\n\tlet textData = CryptoUtil.Data.parseInputStream(input);\n\tlet encrypted = CryptoUtil.AES.decrypt(textData, key, {\n  \tmode: \"AES/CBC/PKCS7Padding\",\n\t\tiv: iv\n\t});\n\treturn encrypted.toInputStream();\n})\n//log(list);\nlist.forEach(data => {\n    var url = data.play_url;\neval(JSON.parse(request('hiker://page/时间戳转换')).rule);\n        d.push({\n            title: data.title,\n            desc:  timestampToTime(data.refresh_at,1)+'\\t\\t\\t\\t'+parseInt(data.duration/60)+':'+parseInt(data.duration%60),\n            img: data.cover_thumb_url + lazy,\n           // img: data.cover_thumb_url + + '@js=' + imgDec(key, iv, 'AES'),,\n            url: url.replace(/\\/\\/.*play\\./,'//long.')\n        })\n    })\n\nsetResult(d)","search_url":"hiker://empty##{\"page\":\"fypage\",\"limit\":\"30\",\"style\":\"0\",\"kwy\":\"**\",\"oauth_id\":\"aaa939f2748a25e38d42e7d500b05c01\",\"bundle_id\":\"com.7du.cn.org\",\"version\":\"2.0.5\",\"oauth_type\":\"web\",\"language\":\"zh\"}","group":"私人天地♥♥♥","detail_col_type":"movie_2","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"*","ua":"mobile","preRule":"","pages":"[{\"col_type\":\"movie_3\",\"name\":\"aes\",\"path\":\"aes\",\"rule\":\"//加载CryptoJS库\\neval(getCryptoJS())\\n\\n// 解密函数\\nfunction Decrypt(word) {\\n    const key = CryptoJS.enc.Utf8.parse(\\\"NQYT3eSsXG52WPDS\\\");\\n    const iv = CryptoJS.enc.Utf8.parse(\\\"e89225cfbbimgkcu\\\");\\n    let encryptedHexStr = CryptoJS.enc.Base64.parse(word);\\n    let decrypt = CryptoJS.AES.decrypt({\\n        ciphertext: encryptedHexStr\\n    }, key, {\\n        iv: iv,\\n        mode: CryptoJS.mode.CBC,\\n        padding: CryptoJS.pad.Pkcs7 // 注意这里应该是CryptoJS.pad.NoPadding\\n    });\\n    if (decrypt) {\\n        let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);\\n        return decryptedStr;\\n    } else {\\n        // 解密失败,返回null或错误信息\\n        return null;\\n    }\\n}\\n\\n// 加密函数\\nfunction Encrypt(plaintext) {\\n    const key = CryptoJS.enc.Utf8.parse(\\\"NQYT3eSsXG52WPDS\\\");\\n    const iv = CryptoJS.enc.Utf8.parse(\\\"e89225cfbbimgkcu\\\");\\n    var encrypted = CryptoJS.AES.encrypt(plaintext, key, {\\n        iv: iv,\\n        mode: CryptoJS.mode.CBC,\\n        padding: CryptoJS.pad.Pkcs7 // 注意这里应该是CryptoJS.pad.NoPadding\\n    });\\n    var ciphertext = encrypted.ciphertext.toString(CryptoJS.enc.Base64);\\n    return ciphertext;\\n}\\n\\n//图片解密\\nkey = 'f5d965df75336270';\\niv = '97b60394abc2fbe1';\\nfunction imgDec(key,iv,a,b){\\n\\tif(!b){\\n \\t\\tb='PKCS5Padding';\\n \\t}\\n    \\tvar sss = `\\n            function imgDecrypt() {\\n                var javaImport = new JavaImporter();\\n                javaImport.importPackage(\\n                    Packages.com.example.hikerview.utils,\\n                    Packages.java.lang,\\n                    Packages.java.security,\\n                    Packages.java.util,\\n                    Packages.java.io,\\n                    Packages.java.text,\\n                    Packages.javax.crypto,\\n                    Packages.javax.crypto.spec,\\n                );\\n                with(javaImport) {\\n                    let bytes = FileUtil.toBytes(input);\\n                    function decryptData(bArr) {\\n\\t\\t    if(/B@/.test(\\\"${key}\\\")){\\n      \\t\\t\\tvar secretKeySpec = new SecretKeySpec(String(\\\"${key}\\\"), \\\"${a}\\\");\\n                    \\tvar ivParameterSpec = new IvParameterSpec(String(\\\"${iv}\\\"));\\n\\t\\t    }else{\\n\\t\\t    \\tvar secretKeySpec = new SecretKeySpec(String(\\\"${key}\\\").getBytes(), \\\"${a}\\\");\\n                    \\tvar ivParameterSpec = new IvParameterSpec(String(\\\"${iv}\\\").getBytes());\\n\\t\\t     }\\n                    \\tvar cipher = Cipher.getInstance(\\\"${a}\\\"+\\\"/CBC/\\\"+\\\"${b}\\\");\\n                    \\tcipher.init(2, secretKeySpec, ivParameterSpec);\\n                   \\t return cipher.doFinal(bArr);\\n                    }\\n                    bytes = decryptData(bytes);\\n                    return FileUtil.toInputStream(bytes);\\n                }\\n            }                    \\n        `;\\n        putVar('sss', sss);\\n        var imgdec = $.toString(() => {\\n            eval(getVar('sss'));\\n            return imgDecrypt();\\n        });        \\n        putVar('imgdec', imgdec);\\n        return imgdec;\\n}\"},{\"col_type\":\"movie_3\",\"name\":\"时间戳转换\",\"path\":\"时间戳转换\",\"rule\":\"function timestampToTime(tm, ts) {\\n\\t\\tundefined\\n\\t\\tvar date = new Date(tm * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000\\n\\t\\tvar Y = date.getFullYear() + '-';\\n\\t\\tvar M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';\\n\\t\\tvar D = date.getDate();\\n\\t\\tvar h = ' | ' + date.getHours() + ':';\\n\\t\\tvar m = date.getMinutes();\\n\\t\\tif(m<10) m = '0'+m;\\n\\t\\tm = m + ':'\\n\\t\\tvar s = date.getSeconds();\\n\\t\\tif(s<10) s = '0'+s;\\n\\t\\tif (ts == 0) return Y + M + D;\\n\\t\\tif (ts == 1) return Y + M + D + h + m + s;\\n\\t}\"},{\"col_type\":\"movie_3\",\"name\":\"二级\",\"path\":\"erji\",\"rule\":\"js: \\nvar d = [];\\n\\neval(JSON.parse(request('hiker://page/aes')).rule);\\n\\n//生成时间戳\\nfunction getCurrentTimestamp() {\\n    return new Date().getTime();\\n}\\n//md5加密\\nfunction md5(str) {\\n    return CryptoJS.MD5(str).toString();\\n}\\n//sha256加密\\nfunction sha256(str) {\\n    return CryptoJS.SHA256(str).toString();\\n}\\n\\nvar t = Math.floor(Date.now() / 1000); //log(t)\\nlet id=MY_URL.split('##')[3];\\nlet p=MY_URL.split('##')[1];\\nlet z = MY_URL.split('##')[2];\\nlet data0='{\\\"tab_id\\\":\\\"'+id+'\\\",\\\"limit\\\":\\\"30\\\",\\\"page\\\":\\\"'+p+'\\\",\\\"sort\\\":\\\"'+z+'\\\",\\\"oauth_id\\\":\\\"aaa939f2748a25e38d42e7d500b05c01\\\",\\\"bundle_id\\\":\\\"com.7du.cn.org\\\",\\\"version\\\":\\\"2.0.5\\\",\\\"oauth_type\\\":\\\"web\\\",\\\"language\\\":\\\"zh\\\"}'\\n//log(data0)\\nvar data = Encrypt(data0); \\n//log(data)\\nvar sign = md5(sha256('data='+data+'&timestamp='+t+'NQYT3eSsXG52WPDS')); //log(sign)\\nvar body = 'timestamp='+t+'&data='+data+'&sign='+sign; \\n//log(body)\\nvar url = 'https://loyapi02.xingqu200.com/api.phpapi/tabnew/list_tab_mv';\\nvar html = fetch(url, {\\n    headers: {\\n    'Content-Type': 'application/x-www-form-urlencoded'\\n    },\\n    body: body,\\n    method: 'POST'\\n}); \\n//log(html)\\n\\nlet html1 = JSON.parse(html).data; \\n//log(html1)\\nlet html2 = Decrypt(html1); \\n//log(html2)\\n\\nvar list = JSON.parse(html2).data.list;\\nvar lazy = $('').image(() => {\\nconst CryptoUtil = $.require(\\\"hiker://assets/crypto-java.js\\\");\\n\\tlet key = CryptoUtil.Data.parseUTF8(\\\"f5d965df75336270\\\");\\n\\tlet iv = CryptoUtil.Data.parseUTF8(\\\"97b60394abc2fbe1\\\");\\n\\tlet textData = CryptoUtil.Data.parseInputStream(input);\\n\\tlet encrypted = CryptoUtil.AES.decrypt(textData, key, {\\n  \\tmode: \\\"AES/CBC/PKCS7Padding\\\",\\n\\t\\tiv: iv\\n\\t});\\n\\treturn encrypted.toInputStream();\\n})\\n//log(list);\\nlist.forEach(data => {\\n    var url = data.play_url;\\neval(JSON.parse(request('hiker://page/时间戳转换')).rule);\\n        d.push({\\n            title: data.title,\\n            desc:  timestampToTime(data.refresh_at,1)+'\\\\t\\\\t\\\\t\\\\t'+parseInt(data.duration/60)+':'+parseInt(data.duration%60),\\n           img: data.cover_thumb_url + lazy,\\n           // img: data.cover_thumb_url + + '@js=' + imgDec(key, iv, 'AES'),,\\n            url: url.replace(/\\\\/\\\\/.*play\\\\./,'//long.')\\n        })\\n    })\\n\\nsetResult(d)\"}]","proxy":"","icon":"http://awjm.cc/assets/images/img-1.png"},{"last_chapter_rule":"","title":"聚云盘Pro","author":"tee&MrFly&小棉袄🌞","version":9,"type":"video","url":"hiker://empty##fyclass","col_type":"text_1","class_name":"全部&喵搜&小纸条&找资源&小站&UP云搜&盘基地登陆&云盘资源&网盘资源&JIKE&更多&易搜","class_url":"all&https://www.alipansou.com&https://u.gitcafe.net/&https://zhaoziyuan.me/so&https://www.pan666.cn/&https://www.upyunso.com&https://www.panjd.com/&https://yunpan1.com/&https://aliwp.cn/&https://jike.info/category/2/%E8%AE%A8%E8%AE%BA%E5%8C%BA?lang=en-US&https://dalao.ru/w/&https://yiso.fun/","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js:\n//随机图API地址,设置为空不显示图片\nlet pic = \"https://api.ixiaowai.cn/api/api.php\";\n//必应:https://api.isoyu.com/bing_images.php\n//美女:https://api.btstu.cn/sjbz/api.php\n//是否随机图,0固定,1随机(5分钟内固定)\nlet random = 1;\n\nlet white = [\n    \"//tx.me/\",\n]\nlet d = [];\nlet r = fetch(\"hiker://home@云盘汇影\");\nif (!r || r.length <= 5) {\n    let ru = $.toString(() => {\n        return \"海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@云盘汇影@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoi5LqR55uY5rGH5b2xIiwiYXV0aG9yIjoiTXJGbHkiLCJ1cmwiOiJoaWtlcjovL2VtcHR5JCQkZnlwYWdlIiwidmVyc2lvbiI6NiwiY29sX3R5cGUiOiJ0ZXh0XzEiLCJjbGFzc19uYW1lIjoiIiwidHlwZSI6ImFsbCIsImNsYXNzX3VybCI6IiIsImFyZWFfbmFtZSI6IiIsImFyZWFfdXJsIjoiIiwic29ydF9uYW1lIjoiIiwieWVhcl9uYW1lIjoiIiwic29ydF91cmwiOiIiLCJ5ZWFyX3VybCI6IiIsImZpbmRfcnVsZSI6ImpzOlxuZXZhbChmZXRjaCgnaGlrZXI6Ly9maWxlcy9ydWxlcy9pY3kvYWxpLmpzJykpO1xuYWxpLmhvbWVQYWdlKCk7Iiwic2VhcmNoX3VybCI6Imhpa2VyOi8vZW1wdHkkJCQqKiQkJGZ5cGFnZSQkJCIsImdyb3VwIjoi4pGg572R55uYIiwic2VhcmNoRmluZCI6ImpzOlxuZXZhbChmZXRjaCgnaGlrZXI6Ly9maWxlcy9ydWxlcy9pY3kvYWxpLmpzJykpO1xuYWxpLnNlYXJjaFBhZ2UodHJ1ZSk7XG4iLCJkZXRhaWxfY29sX3R5cGUiOiJtb3ZpZV8xIiwiZGV0YWlsX2ZpbmRfcnVsZSI6ImpzOlxuZXZhbChmZXRjaCgnaGlrZXI6Ly9maWxlcy9ydWxlcy9pY3kvYWxpLmpzJykpO1xuYWxpLmRldGFpbFBhZ2UoKTsiLCJzZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsInNkZXRhaWxfZmluZF9ydWxlIjoiIiwidWEiOiJtb2JpbGUiLCJwcmVSdWxlIjoidmFyIGFsaWpzID0gZmV0Y2goJ2h0dHBzOi8vZ2l0ZWUuY29tL2ZseTEzOTcvaGlrZXItaWN5L3Jhdy9tYXN0ZXIvYWxpLmpzJyk7XG5pZighYWxpanMgfHwgIWFsaWpzLmluY2x1ZGVzKCdhbGknKSl7XG5cdGFsaWpzID0gZmV0Y2goJ2h0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9mbHkxMzk3L2hpa2VyLWljeS9hbGkuanMnKVxufVxuaWYoIWFsaWpzIHx8ICFhbGlqcy5pbmNsdWRlcygnYWxpJykpe1xuXHRhbGlqcyA9IGZldGNoKCdodHRwOi8vbGZpY3kuY29tOjMwMDAwL21yZmx5L2hpa2VyLWljeS9yYXcvbWFzdGVyL2FsaS5qcycpXG59XG5pZihhbGlqcykge1xuXHR3cml0ZUZpbGUoXCJoaWtlcjovL2ZpbGVzL3J1bGVzL2ljeS9hbGkuanNcIixhbGlqcyk7XG5cdGV2YWwoYWxpanMpO1xuXHRhbGkucHJlUnVsZSgpO1xufVxuIiwicGFnZXMiOiJbe1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIue9keebmOivpuaDhVwiLFwicGF0aFwiOlwiZGV0YWlsXCIsXCJydWxlXCI6XCJqczpcXG5ldmFsKGZldGNoKCdoaWtlcjovL2ZpbGVzL3J1bGVzL2ljeS9hbGkuanMnKSk7XFxuYWxpLmluaXRDb25maWcoKTtcXG5hbGkuYWxpUnVsZSgpO1wifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfMV9sZWZ0X3BpY1wiLFwibmFtZVwiOlwi6LWE5rqQ572R6aG16K+m5oOFXCIsXCJwYXRoXCI6XCJzaXRlLWRldGFpbFwiLFwicnVsZVwiOlwianM6XFxuZXZhbChmZXRjaCgnaGlrZXI6Ly9maWxlcy9ydWxlcy9pY3kvYWxpLmpzJykpO1xcbmFsaS5kZXRhaWxQYWdlKCk7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLkuKrkurrnvZHnm5jor6bmg4VcIixcInBhdGhcIjpcImRyaXZlXCIsXCJydWxlXCI6XCJqczpcXG5ldmFsKGZldGNoKCdoaWtlcjovL2ZpbGVzL3J1bGVzL2ljeS9hbGkuanMnKSk7XFxuYWxpLmluaXRDb25maWcoKTtcXG5hbGkubXlBbGlSdWxlKCk7XCJ9XSIsImljb24iOiJodHRwczovL2dpdGVlLmNvbS9mbHkxMzk3L2hpa2VyLWljeS9yYXcvbWFzdGVyL2FsaXl1bi5wbmcifQ==\"\n    });\n    confirm({\n        title: MY_RULE.title + '提示',\n        content: '本规则依赖云盘汇影规则,点击下面的确定按钮导入',\n        confirm: ru,\n        cancel: ru\n    })\n}\nlet u = MY_URL.split(\"##\")[1];\n\nfunction loadUrl(u) {\n    let desc = \"auto\";\n    for (let it of white) {\n        if (u.includes(it)) {\n            desc = \"100%&&float\";\n        }\n    }\n    if (getAppVersion() >= 3018) {\n        desc = \"float&&top\";\n    }\n    setResult([{\n        col_type: \"x5_webview_single\",\n        url: u,\n        desc: desc,\n        extra: {\n            canBack: true,\n            urlInterceptor: $.toString(() => {\n                if (input.startsWith('https://www.aliyundrive.com/s/')) {\n                    return $.toString((url) => {\n                        fba.open(JSON.stringify({\n                            rule: '云盘汇影',\n                            url: 'hiker://page/detail?rule=云盘汇影&url=' + url + '??fypage'\n                        }));\n                    }, input)\n                }\n            }),\n            disableX5: true\n        }\n    }])\n}\nif (u == \"all\") {\n    let cls = getMyVar(\"cls\", \"\");\n    if (cls) {\n        u = cls;\n        loadUrl(u);\n        clearMyVar(\"cls\");\n    } else {\n        let r = JSON.parse(fetch(\"hiker://home@\" + MY_RULE.title));\n        let cn = r.class_name.split(\"&\");\n        let cu = r.class_url.split(\"&\");\n        let arr = [];\n        if (pic) {\n            arr.push({\n                title: \"\",\n                url: pic,\n                col_type: \"card_pic_1\",\n                desc: \"0\",\n                pic_url: random ? (pic + \"#_t=\" + Math.ceil(new Date().getTime() / 300000)) : pic\n            });\n            arr.push({\n                col_type: \"big_blank_block\"\n            });\n\n\n        }\n        for (let i = 1; i < cn.length; i++) {\n            arr.push({\n                title: cn[i],\n                url: $().lazyRule((u) => {\n                    putMyVar(\"cls\", u);\n                    //refreshX5Desc(\"top&&float\");\n                    refreshPage();\n                    return \"hiker://empty\";\n                }, cu[i]),\n                col_type: \"text_2\",\n                desc: \"\",\n                pic_url: \"\"\n            });\n        }\n        refreshX5Desc(\"0&&float\");\n        setResult(arr);\n    }\n} else {\n    loadUrl(u);\n}","searchFind":"","search_url":"","group":"视频","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"mobile","preRule":"","pages":"[]","proxy":"","icon":"https://www.alipansou.com/favicon.ico"},{"firstHeader":"class","last_chapter_rule":"","title":"奇特视频","author":"小棉袄🌞","version":1,"type":"other","url":"http://baobab.kaiyanapp.com:80/api/v5/index/tab/feed?udid=ecab2cc100f540e482c5f7db5542a33cc5a908bc&vc=591&vn=6.2.1&size=1080X2340&deviceModel=HLK-AL00&first_channel=eyepetizer_zhihuiyun_market&last_channel=eyepetizer_zhihuiyun_market&system_version_code=29","col_type":"pic_1","class_name":"","class_url":"","area_name":"","area_url":"","sort_name":"","year_name":"","sort_url":"","year_url":"","find_rule":"js: var s = getResCode(); var json={}; eval('json=' + s);\n\nvar next=json.nextPageUrl;\nvar s2 = fetch(next,{});\nvar j2={}; eval('j2=' + s2);\nfor(var i=0;i<j2.itemList.length;i++){\njson.itemList.push(j2.itemList[i]);\n}\n\nvar res={};var d=[];for(var i=0;i<json.itemList.length;i++){var j = json.itemList[i]; if(j.type!=\"followCard\")continue;var r = {};r.pic_url=j.data.content.data.cover.feed;r.title = j.data.content.data.title;r.desc=j.data.header.description;r.url='https://baobab.kaiyanapp.com/api/v1/video/' + j.data.header.id+'?f=web@lazyRule=.js:JSON.parse(fetch(input,{})).playUrl+\"&_t=.m3u8\"';d.push(r);}\nres.data = d;setHomeResult(res);","searchFind":"","search_url":"","titleColor":"#ff148e8e","group":"视频","detail_col_type":"movie_1","detail_find_rule":"","sdetail_col_type":"movie_1","sdetail_find_rule":"","ua":"auto","preRule":"","pages":"[]","proxy":"","icon":""}]

其他资源(别的大佬整合的,没测试过)

使用方式:复制其中一个粘贴即可

🌊 云5oooole/jy6w 小程序:小程序仓库🎱

🌊 云5oooole/47xx 小程序:小程序仓库🎱

🌊 云5oooole/wsf7 小程序:小程序仓库🎱

🌊 云5oooole/rkmr 小程序:小程序仓库🎱

🌊 云5oooole/nujp 小程序:多多视频

🌊 云5oooole/ctk7 小程序:小熊猫APP

🌊 云5oooole/ybij 小程序:素白白

🌊 云5oooole/6ipb 小程序:久播影院

🌊 云5oooole/twxc 小程序:全网影视

🌊 云5oooole/wjw7 小程序:片吧影院·Z

🌊 云6oooole/xxxxxx/0xmxy5iogbnmusbh 小程序:在线之家Q

🌊 云5oooole/5c8i 小程序:91制片厂

🌊 云2oooole/apidb/1r2z1733748397 小程序:泡泡影视

🌊 云6oooole/xxxxxx/vhgeaovwhgujccpm 小程序:爱情岛

🌊 云6oooole/xxxxxx/9xgxlwbfmm5m27fv 小程序:特狗大TVAPP

🌊 云6oooole/xxxxxx/c7cksxokls8zotxl 小程序:星奇视频APP

🌊 云1oooole/P5HJfQNk 小程序:全网搜剧

🌊 云6oooole/xxxxxx/smduvhbiuuudukm1 小程序:DrpyHiker

🌊 云6oooole/xxxxxx/v5rhjfukljk3htir 小程序:大米动漫

🌊 云6oooole/xxxxxx/nbtbdage0fgwp6qe 小程序:嘀哩嘀哩

🌊 云6oooole/xxxxxx/b6uz9tdmss1mbvqq 小程序:片吧影院·Z

🌊 云6oooole/xxxxxx/0umsq3tooml2rbof 小程序:杂影网

🌊 云5oooole/pc8j 小程序:小熊猫APP

🌊 云5oooole/8xjn 小程序:六点六TVAPP

🌊 云5oooole/ised 小程序:顶点小说APP

🌊 云5oooole/bjbb 小程序:港湾直播

🌊 云6oooole/xxxxxx/2ubnolyxks5rnadm 小程序:豌豆AI影视

🌊 云5oooole/4hix 小程序:大象影视

🌊 云5oooole/5fem 小程序:可可影视

🌊 云5oooole/aitc 小程序:云盘君.简

🌊 云5oooole/ec7a 小程序:阿里云签到主页

🌊 云6oooole/xxxxxx/vahvauhilabhy61n 小程序:电影驿站APP

🌊 云2oooole/apidb/1r2z1734601065 小程序:偷渡

🌊 云5oooole/i6x7 小程序:KanPlay-影视仓库

🌸 云10oooole/share/a/b/eqohifagut 小程序:聚阅√

🌸【音乐+听书】

🌊 云6oooole/xxxxxx/nyia3h8wy1edwhbb 小程序:摸鱼日报

🌊 云6oooole/xxxxxx/ef5j8l6np1hakazp 小程序:🔥音乐格式转换

🌊 云6oooole/xxxxxx/nfxbd68v9o0wpryf 小程序:爪机书屋

🌊 云5oooole/p4nb 小程序:GGGmusic

🌊 云5oooole/s53n 小程序:云动听书APP

🌊 云6oooole/xxxxxx/falcokkxwbluiaub 小程序:极简壁纸.dy

🌸【短剧】

🌊 云2oooole/apidb/1r2z1733748240 小程序:火柴短剧

🌊 云6oooole/xxxxxx/gpioze5w4b9amr9d 小程序:南风短剧·Q

🌊 云5oooole/aswc 小程序:小白短剧

🌊 云6oooole/xxxxxx/qnr5mdovcjr9fr0x 小程序:小白短剧

🌊 云5oooole/mcdf 小程序:小白短剧

🌊 云6oooole/xxxxxx/estritqr3fdeperp 小程序:爱你短剧·Q

🌊 云6oooole/xxxxxx/xdc2wmt821jjveks 小程序:狂人短剧