🎨COLA漫画💓
https://www.colamanga.com
xiaohan231 (515)05/24 23:31
日常漫画,V2.0版,激活码:555666
{ "bookSourceComment": "", "bookSourceGroup": "🍿 日常,🎊 常用,🎨 漫画", "bookSourceName": "🎨COLA漫画💓", "bookSourceType": 2, "bookSourceUrl": "https:\/\/www.colamanga.com", "bookUrlPattern": "https:\/\/.*\/manga-.*\/", "concurrentRate": "10\/5000", "customOrder": 117, "enabled": true, "enabledCookieJar": true, "enabledExplore": true, "exploreUrl": "<js>\neval(String(source.loginUrl));\nfunction explore(title, url, num, num_1, bool) {\n style = '{\\n title: \"' + title + '\",\\n url: \"' + url + '\",\\n style: {\\n layout_flexGrow: ' + num + ',\\n layout_flexBasisPercent: ' + num_1 + ',\\n layout_wrapBefore: ' + bool + '\\n }\\n }';\n return style;\n}\nvar exploreUrl = [];\nAccount = (cache.get(Get('url') + \"Account_1\") && String(cache.get(Get('url') + \"Account_1\")).length > 0) ? cache.get(Get('url') + \"Account_1\") : Map('账号:');\nif(String(Account).length > 0) {\n if (cookie.getCookie(baseUrl).includes('user')) {\n login(Put(JSON.stringify('【登录提示】\\n\\n┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋' + '\\n账号:' + Account + '\\n┋┋' + '\\n❤️登录成功❤️\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛')));\n } else {\n Login();\n }\n if(String(cache.get(Get('url') + \"Account_1\")).length > 0) {\n exploreUrl.push(explore('✣【' + Account + '】✣', '', 1, 1, false));\n exploreUrl.push(explore('我的收藏', `{{Get('url')}}\/dynamic\/user\/subscription?page={{page}}`, 1, 0.45, false));\n exploreUrl.push(explore('最近阅读', `{{Get('url')}}\/dynamic\/user\/history?page={{page}}`, 1, 0.45, false));\n }\n}\ntitle = '✣ ✣ 榜 单 ✣ ✣';\nexploreUrl.push(explore(title, '', 1, 1, false));\nrank = [\n '月点击',\n '周点击',\n '日点击',\n '更新日'\n];\norderby = [\n '?orderBy=monthlyCount',\n '?orderBy=weeklyCount',\n '?orderBy=dailyCount',\n '?orderBy=update'\n];\nfor (i in rank) {\n url = `{{Get('url')}}\/show${orderby[i]}&page={{page}}`;\n exploreUrl.push(explore(rank[i], url, 1, 0.2, false));\n}\ntitle = '✣ ✣ 标 签 ✣ ✣';\nexploreUrl.push(explore(title, '', 1, 1, false));\ntype = [\n '全部','玄幻','热血','恋爱','都市','冒险','古风','穿越',\n '爆笑','校园','少年','修真','搞笑','生活','动作','霸总',\n '后宫','武侠','科幻','悬疑','恐怖','魔幻','少女','奇幻',\n '唯美','励志','总裁','复仇','美食','格斗','竞技','古装',\n '纯爱','推理','惊险','虐心','漫改','萌系','彩虹','日漫',\n '游戏','机甲','明星','灵异','仙侠','历史','战争','治愈',\n '日常','僵尸','宫斗','偶像','浪漫','震撼','权谋','战斗',\n '青春','神魔','脑洞','社会','萝莉','真人','美少女','运动',\n '恶搞','体育','暗黑','侦探','百合','惊奇','少男','逆袭',\n '系统','修仙','剧情','大女主','韩漫','欧风','怪物','其它'\n];\ncategoryId = [\n '','&mainCategoryId=10024','&mainCategoryId=10023','&mainCategoryId=10126','&mainCategoryId=10124','&mainCategoryId=10210','&mainCategoryId=10143','&mainCategoryId=10129',\n '&mainCategoryId=10201','&mainCategoryId=10131','&mainCategoryId=10321','&mainCategoryId=10133','&mainCategoryId=10122','&mainCategoryId=10142','&mainCategoryId=10125','&mainCategoryId=10127',\n '&mainCategoryId=10138','&mainCategoryId=10139','&mainCategoryId=10181','&mainCategoryId=10183','&mainCategoryId=10185','&mainCategoryId=10227','&mainCategoryId=10301','&mainCategoryId=10242',\n '&mainCategoryId=10221','&mainCategoryId=10207','&mainCategoryId=10306','&mainCategoryId=10206','&mainCategoryId=10208','&mainCategoryId=10202','&mainCategoryId=10223','&mainCategoryId=10302',\n '&mainCategoryId=10209','&mainCategoryId=10211','&mainCategoryId=10222','&mainCategoryId=10205','&mainCategoryId=10165','&mainCategoryId=10204','&mainCategoryId=10235','&mainCategoryId=10281',\n '&mainCategoryId=10162','&mainCategoryId=10232','&mainCategoryId=10203','&mainCategoryId=10231','&mainCategoryId=10303','&mainCategoryId=10163','&mainCategoryId=10184','&mainCategoryId=10234',\n '&mainCategoryId=10308','&mainCategoryId=10243','&mainCategoryId=10229','&mainCategoryId=10305','&mainCategoryId=10224','&mainCategoryId=10381','&mainCategoryId=10228','&mainCategoryId=10309',\n '&mainCategoryId=10230','&mainCategoryId=10304','&mainCategoryId=10226','&mainCategoryId=10239','&mainCategoryId=10166','&mainCategoryId=10361','&mainCategoryId=10307','&mainCategoryId=10233',\n '&mainCategoryId=10236','&mainCategoryId=10341','&mainCategoryId=10383','&mainCategoryId=10382','&mainCategoryId=10384','&mainCategoryId=10322','&mainCategoryId=10641','&mainCategoryId=10943',\n '&mainCategoryId=10722','&mainCategoryId=10453','&mainCategoryId=10480','&mainCategoryId=10706','&mainCategoryId=10494','&mainCategoryId=11423','&mainCategoryId=11022','&mainCategoryId=10261'\n];\nOrderBy = `{{get('orderBy',Get('o'))}}`;\nStatus = `{{get('status',Get('q'))}}`;\nCharCategoryId = `{{get('charCategoryId',Get('p'))}}`;\nfor (j in type) {\n url = `{{Get('url')}}\/show${OrderBy}${Status}${CharCategoryId}${categoryId[j]}&page={{page}}`;\n exploreUrl.push(explore(type[j], url, 1, 0.2, false));\n}\nBID = (type.length % 4) < 1 ? 0 : (4 - (type.length % 4));\nfor (i = 0; i < BID; i++) {\n exploreUrl.push(explore('', '', 1, 0.2, false)); \n}\n\/\/exploreUrl.splice(90, 0, explore('', '', 1, 0.2, false));\nvar exploreUrlStr = '[' + exploreUrl.join(\",\") + ']';\nexploreUrlStr;\n<\/js>", "header": "<js>\nvar Proxy = Map('代理:').split(\",\");\nheaders={\n \"Dnt\": \"1\",\n \"Pragma\": \"no-cache\",\n \"Sec-Ch-Ua\": '\"Google Chrome\";v=\"123\", \"Not:A-Brand\";v=\"8\", \"Chromium\";v=\"123\"',\n \"Sec-Ch-Ua-Mobile\": \"?1\",\n \"Sec-Ch-Ua-Platform\": '\"Android\"',\n \"Upgrade-Insecure-Requests\": \"1\",\n \"User-Agent\": \"Mozilla\/5.0 (Linux; Android 10; K) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/123.0.0.0 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.7\",\n \"X-Requested-With\": \"cn.nr19.mbrowser\",\n \"Sec-Fetch-Site\": \"same-origin\",\n \"Sec-Fetch-Mode\": \"navigate\",\n \"Sec-Fetch-User\": \"?1\",\n \"Sec-Fetch-Dest\": \"document\",\n \"Accept-Encoding\": \"deflate, zstd\",\n \"Accept-Language\": \"zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7\",\n \"Origin\": Get('url'),\n \"Referer\": Get('url'),\n \"proxy\": Proxy.some(value => parseInt(value, 10) == parseInt(Get('ci0'), 10)) ? '' : Proxy[0],\n}\ncache.put(Get('url') + \"headers\",JSON.stringify(headers));\nJSON.stringify(headers);\n<\/js>", "jsLib": "function get(tag,num) {\n status = [\n '',\n '&status=1',\n '&status=2'\n ];\n orderBy = [\n '?orderBy=monthlyCount',\n '?orderBy=weeklyCount',\n '?orderBy=dailyCount',\n '?orderBy=update'\n ];\n charCategoryId = [\n '',\n '&charCategoryId=10182',\n '&charCategoryId=10081',\n '&charCategoryId=10134',\n '&charCategoryId=10001',\n '&charCategoryId=10238',\n '&charCategoryId=10161',\n '&charCategoryId=10225',\n '&charCategoryId=10137',\n '&charCategoryId=10284',\n '&charCategoryId=10141',\n '&charCategoryId=10283',\n '&charCategoryId=10132',\n '&charCategoryId=10136',\n '&charCategoryId=10130',\n '&charCategoryId=10282',\n '&charCategoryId=10262',\n '&charCategoryId=10164',\n '&charCategoryId=10240',\n '&charCategoryId=10121',\n '&charCategoryId=10123',\n '&charCategoryId=11184',\n '&charCategoryId=11483',\n '&charCategoryId=10135',\n '&charCategoryId=10061',\n '&charCategoryId=10082',\n '&charCategoryId=10128'\n ];\n var e = eval(tag + '[' + num + ']');\n return e;\n}\nfunction Get(e) {\n const { java, source, cookie } = this;\n var get = JSON.parse(source.getVariable());\n return get[e];\n}\nfunction Put(data) {\n const { java, source, cookie } = this;\n var get = JSON.parse(source.getVariable());\n data = get['TC_to_SC'] == true ? java.t2s(data) : data;\n return JSON.parse(data);\n}\nfunction Map(e) {\n const { java, source, cookie } = this;\n var infomap = source.getLoginInfoMap();\n var map = (infomap !== null && infomap.get(e)) ? infomap.get(e) : '';\n return map;\n}", "lastUpdateTime": 1716487659054, "loginCheckJs": "", "loginUi": "[\n { name: \"激活码:\", type: \"text\" },\n { name: \"代理:\", type: \"text\" },\n { name: \"账号:\", type: \"text\" },\n { name: \"密码:\", type: \"password\" },\n {\n name: \" 💡登录账号💡 \",\n type: \"button\",\n action: \"Login()\"\n },\n {\n name: \" 💡源站更新💡 \",\n type: \"button\",\n action: \"update()\"\n },\n { name: \" 查看当前 \", type: \"button\", action: \"look(0)\" },\n { name: \" 查看历史 \", type: \"button\", action: \"look(1)\" },\n { name: \" 恢复默认 \", type: \"button\", action: \"test(-1)\" },\n { name: \" 繁体搜索 \", type: \"button\", action: \"search_TC()\" },\n { name: \" 简繁转换 \", type: \"button\", action: \"TC_to_SC()\" },\n { name: \" 目录整理 \", type: \"button\", action: \"settle()\" },\n\n { name: \" ༺ˇ»`ʚ 点击切换进度 ɞ´«ˇ༻ \", type: \"button\" },\n { name: \" 全 部 \", type: \"button\", action: \"q(0)\" },\n { name: \" 连 载 \", type: \"button\", action: \"q(1)\" },\n { name: \" 完 结 \", type: \"button\", action: \"q(2)\" },\n\n { name: \" ༺ˇ»`ʚ 点击切换排序 ɞ´«ˇ༻ \", type: \"button\" },\n { name: \" 月点击 \", type: \"button\", action: \"o(0)\" },\n { name: \" 周点击 \", type: \"button\", action: \"o(1)\" },\n { name: \" 日点击 \", type: \"button\", action: \"o(2)\" },\n { name: \" 更新日 \", type: \"button\", action: \"o(3)\" },\n\n { name: \" ༺ˇ»`ʚ 点击字母筛选 ɞ´«ˇ༻ \", type: \"button\" },\n { name: \"全部\", type: \"button\", action: \"p(0)\" },\n { name: \"A\", type: \"button\", action: \"p(1)\" },\n { name: \"B\", type: \"button\", action: \"p(2)\" },\n { name: \"C\", type: \"button\", action: \"p(3)\" },\n { name: \"D\", type: \"button\", action: \"p(4)\" },\n { name: \"E\", type: \"button\", action: \"p(5)\" },\n { name: \"F\", type: \"button\", action: \"p(6)\" },\n { name: \"G\", type: \"button\", action: \"p(7)\" },\n { name: \"H\", type: \"button\", action: \"p(8)\" },\n { name: \"I\", type: \"button\", action: \"p(9)\" },\n { name: \"J\", type: \"button\", action: \"p(10)\" },\n { name: \"K\", type: \"button\", action: \"p(11)\" },\n { name: \"L\", type: \"button\", action: \"p(12)\" },\n { name: \"M\", type: \"button\", action: \"p(13)\" },\n { name: \"N\", type: \"button\", action: \"p(14)\" },\n { name: \"O\", type: \"button\", action: \"p(15)\" },\n { name: \"P\", type: \"button\", action: \"p(16)\" },\n { name: \"Q\", type: \"button\", action: \"p(17)\" },\n { name: \"R\", type: \"button\", action: \"p(18)\" },\n { name: \"S\", type: \"button\", action: \"p(19)\" },\n { name: \"T\", type: \"button\", action: \"p(120\" },\n { name: \"U\", type: \"button\", action: \"p(21)\" },\n { name: \"V\", type: \"button\", action: \"p(22)\" },\n { name: \"W\", type: \"button\", action: \"p(23)\" },\n { name: \"X\", type: \"button\", action: \"p(24)\" },\n { name: \"Y\", type: \"button\", action: \"p(25)\" },\n { name: \"Z\", type: \"button\", action: \"p(26)\" },\n\n {\n name: \" 设置填写的页数为评论加载页数 \",\n type: \"button\",\n action: \"f()\"\n },\n { name: \"页数:\", type: \"text\" },\n\n {\n name: \" 💡 源 站 打 印 💡 \",\n type: \"button\",\n action: \"test()\"\n }\n]", "loginUrl": "var fburl = 'https:\/\/www.acloudmerge.com';\noriginal = {\n 'ci0': 0,\n 'ci1': 0,\n 'ci2': 0,\n 'ci3': 0,\n 'f': 5,\n 'o': 0,\n 'p': 0,\n 'q': 0,\n 'search_TC': false,\n 'TC_to_SC': true,\n 'settle': false,\n 'url': 'https:\/\/www.colamanga.com',\n 'urls': [\n 'https:\/\/www.colamanga.com'\n ]\n};\ntry {\n $$$ = JSON.parse(source.getVariable());\n if ($$$ == null) {\n error;\n } else {\n '';\n };\n} catch (e) {\n $$$ = original;\n put($$$);\n}\nx = '⓪①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳';\nvar Headers = JSON.parse(cache.get(Get('url') + \"headers\"));\nvar Option = {\n \"method\": \"GET\",\n \"headers\": Headers\n};\nfunction test(e) {\n if (e == undefined) {\n return java.log('\\n' + JSON.stringify($$$['urls'], null, '\\t')) + login('【源站输出提示】' + n(2) + k(3) + '源站已打印完毕,请到日志查看 ');\n }\n if (e == -1) {\n login('【初始化提示】' + n(2) + k(17) + '已恢复默认设置 ');\n return put(original);\n }\n if (e == 0) {\n date1 = new Date().getTime();\n html = java.ajax($$$.urls[0]);\n date2 = new Date().getTime();\n t = date2 - date1;\n time = t \/ 1000 + 's';\n c = String(html).indexOf('漫画');\n logTime = '【' + name(e) + '】\\n┋┋\\n' + '解析时间:' + time;\n if (c == -1 || t > 5000) {\n return login('【源站更新提示】' + n(2) + '源站更新完毕,请到日志查看' + '\\n \\n' + '┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + logTime + '\\n┋┋\\n♣️源站已失效(可能被墙)♣️\\n┋┋\\n请更新网址\/切换源站\/切换网络环境\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛');\n } else if (t < 1000) {\n return login('【源站更新提示】' + n(2) + '源站更新完毕,请到日志查看' + '\\n \\n' + '┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + logTime + '\\n┋┋\\n❤️延迟低,推荐使用此站❤️\\n┋┋\\n网络环境优良,请继续保持状态\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛');\n } else if (t >= 1000 && t < 2000) {\n return login('【源站更新提示】' + n(2) + '源站更新完毕,请到日志查看' + '\\n \\n' + '┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + logTime + '\\n┋┋\\n♦️延迟一般,勉强可使用♦️\\n┋┋\\n请切换其他源站或切换网络环境\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛');\n } else if (t >= 2000 && t < 5000) {\n return login('【源站更新提示】' + n(2) + '源站更新完毕,请到日志查看' + '\\n \\n' + '┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + logTime + '\\n┋┋\\n♠延迟过高,不建议使用♠\\n┋┋\\n请切换其他源站或切换网络环境\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛');\n }\n }\n date1 = new Date().getTime();\n html = java.ajax($$$.urls[0]);\n date2 = new Date().getTime();\n t = date2 - date1;\n time = t \/ 1000 + 's';\n c = String(html).indexOf('漫画');\n logTime = '【' + name(0) + '】\\n┋┋\\n' + '解析时间:' + time;\n if (c == -1 || t > 5000) {\n return login('【访问失败提示】' + n(2) + '┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + logTime + '\\n┋┋\\n♣️源站已失效(可能被墙)♣️\\n┋┋\\n请更新网址\/切换源站\/切换网络环境\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛');\n } else if (t < 1000) {\n return login('【网络环境优良】' + n(2) + '┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + logTime + '\\n┋┋\\n❤️延迟低,推荐使用此站❤️\\n┋┋\\n网络环境优良,请继续保持状态\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛');\n } else if (t >= 1000 && t < 2000) {\n return login('【网络环境一般】' + n(2) + '┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + logTime + '\\n┋┋\\n♦️延迟一般,勉强可使用♦️\\n┋┋\\n请切换其他源站或切换网络环境\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛');\n } else if (t >= 2000 && t < 5000) {\n return login('【网络环境堪忧】' + n(2) + '┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + logTime + '\\n┋┋\\n♠延迟过高,不建议使用♠\\n┋┋\\n请切换其他源站或切换网络环境\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛');\n }\n}\nfunction put(data) {\n return source.setVariable(JSON.stringify(data, null, '\\t'));\n}\nfunction update() {\n html = java.ajax(fburl);\n J = org.jsoup.Jsoup.parse(html);\n u = J.select('.website_href');\n for (i = 0; i < 1; i++) {\n host = String(u.attr('href').split(' ')[i]).replace(\/http:\/g, 'https:').replace(\/\\\/+$\/, '');\n if (String($$$['urls']).indexOf(host) === -1) {\n java.log('\\n✅已添加源站:\\n' + host);\n $$$['urls'].unshift(host);\n put($$$);\n $(0);\n } else {\n return test(1);\n }\n }\n}\nfunction name(e) {\n if (e == undefined) {\n e = 0;\n }\n return ' ' + x[e] + ' ' + $$$['urls'][e];\n}\nfunction login(e) {\n if (e == undefined) {\n return;\n }\n java.longToast(e);\n}\nfunction n(e) {\n n = '\\n';\n for (m = 1; m < e; m++) {\n n = n + '\\n';\n }\n return n;\n}\nfunction k(e) {\n k = ' ';\n for (q = 1; q < e; q++) {\n k = k + ' ';\n }\n return k;\n}\nfunction l(e) {\n l = '';\n for (o = 1; o < e; o++) {\n l = l + '';\n }\n return l;\n}\nfunction look(e) {\n if (e == 0) {\n return login('【查看当前源站】\\n\\n┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋' + ('\\n ' + '📌' + name($$$.ci0)) + '\\n┋┋' + ('\\n' + '📚漫画排序:' + type($$$.o)) + '\\n┋┋' + ('\\n' + '⏲️漫画进度:' + type1($$$.q)) + '\\n┋┋' + ('\\n' + '📘字母筛选:' + type2($$$.p)) + '\\n┋┋' + ('\\n' + '📰评论页数:前' + ($$$.f) + '页') + '\\n┋┋' + ('\\n🔍繁体搜索:' + ($$$.search_TC == true ? '开启' : '关闭')) + '\\n┋┋' + ('\\n📑简繁转换:' + ($$$.TC_to_SC == false ? '关闭' : '开启')) + '\\n┋┋' + ('\\n🗃目录整理:' + ($$$.settle == false ? '关闭' : '开启')) + '\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛');\n } else {\n return login('【查看历史接口】\\n\\n┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋' + ('\\n ci1:' + name($$$.ci1)) + '\\n┋┋' + ('\\n ci2:' + name($$$.ci2)) + '\\n┋┋' + ('\\n ci3:' + name($$$.ci3)) + '\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛');\n }\n}\nfunction $(e) {\n if (e == undefined) {\n e = result['序号:'];\n e = e > 0 ? e : '0';\n }\n if (\/^ci[123]$\/.test(e)) {\n eval('i=$$$.' + e);\n }\n if (\/\\D|^$\/.test(e) || e < 0 || e >= $$$['urls'].length) {\n return login('【源站错误提示】' + n(2) + '已选择的源站无效,请重新选择');\n }\n $$$['url'] = $$$['urls'][e];\n $$$['ci3'] = $$$['ci2'] + 1;\n $$$['ci2'] = $$$['ci1'] + 1;\n $$$['ci1'] = 1;\n put($$$);\n return test(e);\n}\nfunction f(e) {\n if (e == undefined) {\n e = result['页数:'];\n e = e > 0 ? e : '0';\n }\n if (e == $$$.f) {\n return login('【评论加载方案提示】' + n(2) + '正在使用此评论加载方案,无需更换');\n }\n login('【评论加载方案提示】' + n(2) + '已经设置评论加载前' + e + '页,请刷新详情');\n $$$.f = e;\n return put($$$);\n}\ny = ['月点击','周点击','日点击','更新日'];\nfunction type(e) {\n if (e == undefined) {\n e = 0;\n }\n return y[e];\n}\nfunction o(e) {\n if (o == undefined) {\n o = result.o;\n }\n if (e == $$$.o) {\n return login('【排序切换提示】' + n(2) + '已经选择此排序,无需更换');\n }\n login('【排序切换提示】' + n(2) + '已经切换到[' + type(e) + ']排序');\n $$$.o = e;\n return put($$$);\n}\nw = ['全部','连载','完结'];\nfunction type1(e) {\n if (e == undefined) {\n e = 0;\n }\n return w[e];\n}\nfunction q(e) {\n if (q == undefined) {\n q = result.q;\n }\n if (e == $$$.q) {\n return login('【进度切换提示】' + n(2) + '已经选择此进度,无需更换');\n }\n login('【进度切换提示】' + n(2) + '已经切换到[' + type1(e) + ']进度');\n $$$.q = e;\n return put($$$);\n}\nz = ['全部','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];\nfunction type2(e) {\n if (e == undefined) {\n e = 1;\n }\n return z[e];\n}\nfunction p(e) {\n if (p == undefined) {\n p = result.p;\n }\n if (e == $$$.p) {\n return login('【筛选切换提示】' + n(2) + '已经选择此筛选,无需更换');\n }\n login('【筛选切换提示】' + n(2) + '已经切换到[' + type2(e) + ']筛选');\n $$$.p = e;\n return put($$$);\n}\nfunction search_TC() {\n if (search_TC == undefined) {\n search_TC = true;\n }\n if ($$$.search_TC == true) {\n login('【繁体搜索提示】' + n(2) + '已关闭繁体搜索,请重新搜索');\n $$$.search_TC = false;\n put($$$);\n } else {\n login('【繁体搜索提示】' + n(2) + '已开启繁体搜索,请重新搜索');\n $$$.search_TC = true;\n put($$$);\n }\n}\nfunction TC_to_SC() {\n if (TC_to_SC == undefined) {\n TC_to_SC = true;\n }\n if ($$$.TC_to_SC == true) {\n login('【简繁转换提示】' + n(2) + '已关闭繁体转换,请刷新书籍');\n $$$.TC_to_SC = false;\n put($$$);\n } else {\n login('【简繁转换提示】' + n(2) + '已开启繁体转换,请刷新书籍');\n $$$.TC_to_SC = true;\n put($$$);\n }\n}\nfunction settle() {\n if (settle == undefined) {\n settle = true;\n }\n if ($$$.settle == true) {\n login('【目录整理提示】' + n(2) + '已关闭目录整理,请刷新目录');\n $$$.settle = false;\n put($$$);\n } else {\n login('【目录整理提示】' + n(2) + '已开启目录整理,请刷新目录');\n $$$.settle = true;\n put($$$);\n }\n}\nvar result = typeof result !== 'undefined' ? result : {};\nfunction Login() {\n var Account = result['账号:'] || Map('账号:');\n var Password = result['密码:'] || Map('密码:');\n if (Account == '' && Password == '') {\n login(String(cache.get(Get('url') + \"Account_1\")).length > 0 ? (Put(JSON.stringify('【登录提示】\\n\\n┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋' + '\\n已退出账号:' + cache.get(Get('url') + \"Account_1\") + '\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛'))) : ('【登录提示】' + '\\n\\n请输入账号和密码'));\n var headers = JSON.parse(cache.get(Get('url') + \"headers\").replace('\"Referer\":\"' + Get('url'), '\"Referer\":\"' + Get('url') + '\/dynamic\/user\/'));\n var option = {\n \"method\": \"POST\",\n \"body\": '',\n \"headers\": String(headers)\n };\n java.ajax(Get('url') + '\/dynamic\/user\/dynamic\/user\/logout,' + JSON.stringify(option));\n cookie.removeCookie(Get('url'));\n java.webView('', Get('url') + '\/user\/login', '');\n cache.put(Get('url') + \"Account_1\",'');\n return;\n } else if (Account == '') {\n login('【登录提示】' + '\\n\\n请输入账号');\n return;\n } else if (Password == '') {\n login('【登录提示】' + '\\n\\n请输入密码');\n return;\n } else {\n cookie.removeCookie(Get('url'));\n java.webView('', Get('url') + '\/user\/login', '');\n var headers = JSON.parse(cache.get(Get('url') + \"headers\").replace('\"Referer\":\"' + Get('url'), '\"Referer\":\"' + Get('url') + '\/dynamic\/user\/'));\n var option = {\n \"method\": \"GET\",\n \"headers\": String(headers)\n };\n Code = java.getVerificationCode(Get('url') + '\/dynamic\/kaptcha,' + JSON.stringify(option));\n var requestBody = 'user_name=' + Account + '&user_pwd=' + Password + '&verifyCode=' + Code + '&remeberModule=30';\n var headers = JSON.parse(cache.get(Get('url') + \"headers\").replace('\"Referer\":\"' + Get('url'), '\"Referer\":\"' + Get('url') + '\/user\/login'));\n var option = {\n \"method\": \"POST\",\n \"body\": String(requestBody),\n \"headers\": String(headers)\n };\n Response = java.ajax(Get('url') + '\/user\/loginHandle,' + JSON.stringify(option));\n if (Response.includes('Success') && Account) {\n let ck = cookie.getCookie(Get('url'));\n let na = ck.includes('user') ? 'Y' : 'N';\n let top = cookie.getKey(baseUrl, 'top_banner_counter_1500') > 0 ? parseInt(cookie.getKey(baseUrl, 'top_banner_counter_1500')) : 0;\n top += 1;\n cookie.setCookie(Get('url'), `${ck};_va=13;__na=${na};top_banner_counter_1500=${top}`);\n cache.put(Get('url') + \"Account_1\", Account);\n login(Put(JSON.stringify('【登录提示】\\n\\n┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋' + '\\n账号:' + Account + '\\n┋┋' + '\\n❤️登录成功❤️\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛')));\n } else {\n cache.put(Get('url') + \"Account_1\",'');\n login('【登录提示】' + '\\n\\n♣️登录失败♣️\\n\\n请检查账号和密码');\n }\n }\n}", "respondTime": 180000, "ruleBookInfo": { "author": "author", "canReName": "reName", "coverUrl": "cover", "downloadUrls": "durl", "init": "<js>\neval(String(source.loginUrl));\nvar Headers = JSON.parse(cache.get(Get('url') + \"headers\").replace('\"Referer\":\"' + Get('url'), '\"Referer\":\"' + baseUrl));\nvar Option = {\n \"method\": \"GET\",\n \"headers\": Headers\n};\nif (String(book['author']) !== \"xiaohan231\") {\n Account = (cache.get(Get('url') + \"Account_1\") && String(cache.get(Get('url') + \"Account_1\")).length > 0) ? cache.get(Get('url') + \"Account_1\") : Map('账号:');\n if (!cookie.getCookie(baseUrl).includes('_ga=') && !String(Account).length > 0) {\n java.webView('', Get('url') + '\/user\/login', '');\n }\n if (!cookie.getCookie(baseUrl).includes('user') && String(Account).length > 0) {\n Login();\n }\n let ck = cookie.getCookie(baseUrl);\n let na = ck.includes('user') ? 'Y' : 'N';\n let top = cookie.getKey(baseUrl, 'top_banner_counter_1500') > 0 ? parseInt(cookie.getKey(baseUrl, 'top_banner_counter_1500')) : 0;\n top += 1;\n cookie.setCookie(baseUrl, `${ck};_va=13;__na=${na};top_banner_counter_1500=${top}`);\n var J = org.jsoup.Jsoup.parse(result);\n var $1 = element => String(java.getElements(element).attr('content'));\n var $2 = element => java.getElements(element);\n var $3 = element => String(J.select(element).attr('data-original'));\n url = baseUrl;\n a = String($2('.fed-col-md6')[0].text()).indexOf('别名') == -1 ? '1' : '0';\n s = '';\n k = String($2('.fed-col-md6')[1-a].text()).replace(\/[状态中已]\/g, '') + ',' + $1('[property=\"og:comic:category\"]').replace(\/\\s\/g, ',');\n t = String($2('.fed-col-md6')[3-a].text()).replace(\/更新\/, '');\n l = $1('[property=\"og:comic:latest_chapter_name\"]');\n l = String(l);\n l = Get('settle') == true ? l.replace(\/\\s-\\s|-\/g, ' ').replace(\/\\s+\/, ' ').replace(\/.*第(\\d+)[话話章回期](|\\s)第.*?[话話章回期]\/, '$1').replace(\/.*第(\\d+)[话話章回期][^\\s]\/, '$1 ').replace(\/.*第(\\d+)[话話章回期]\\s\\d+\/, '$1').replace(\/.*第.*(\\d+).*?[话話章回期]\/, '$1').replace(\/(\\d+)\/, l.match(\/\\d+\/) ? l.match(\/(\\d+)\/)[1].padStart(3, '0') : '$1') : l;\n Setting = '\\n📌当前源站:' + (Get('ci0') == 0 ? '〖默认〗' : '〖自选〗') + x[Get('ci0')] + (Get('url').length > 26 ? Get('url').substring(0, 26) + \"<br>\" + Get('url').substring(26) : Get('url')) + ('\\n📚漫画排序:〖' + (Get('o') == 0 ? '默认' : '自选') + '〗' + y[Get('o')]) + ('\\n⏲️漫画进度:〖' + (Get('q') == 0 ? '默认' : '自选') + '〗' + w[Get('q')]) + ('\\n📘字母筛选:〖' + (Get('p') == 0 ? '默认' : '自选') + '〗' + z[Get('p')]) + ('\\n📰评论页数:〖' + (Get('f') == 5 ? '默认' : '自选') + '〗前' + Get('f') + '页') + ('\\n🔍繁体搜索:' + (Get('search_TC') == true ? '〖自选〗开启' : '〖默认〗关闭')) + ('\\n📑简繁转换:' + (Get('TC_to_SC') == true ? '〖默认〗开启' : '〖自选〗关闭')) + ('\\n🗃目录整理:' + (Get('settle') == true ? '〖自选〗开启' : '〖默认〗关闭'));\n changeLog = '\\nㅤ\\nㅤ\\n' + Setting + '\\nㅤ\\n';\n var url1 = Get('url') + '\/getcomment?';\n var id = $2('.fed-comm-info').attr('data-id');\n var allresult1 = [];\n for(var c = 1; c <= Get('f'); c++){\n var page = c;\n var url2 = `${url1}dataId=${id}&page=${page}`;\n var headers = JSON.parse(cache.get(Get('url') + \"headers\").replace('\"Referer\":\"' + Get('url'), '\"Referer\":\"' + baseUrl));\n var option = {\n \"method\": \"GET\",\n \"headers\": headers\n };\n var Url = url2 + ',' + JSON.stringify(option);\n result1 = java.ajax(Url);\n allresult1.push(result1);\n var total = org.jsoup.Jsoup.parse(result1).select('.show-page-jump').attr('data-total');\n if (page >= total) {\n break;\n }\n }\n var Result = allresult1.join('\\n');\n var JResult = org.jsoup.Jsoup.parse(Result);\n var list2 = JResult.select('.fed-comm-list li');\n intro1 = String($2('.fed-part-both').text()).replace(\/(^)\/g, '$1<br>');\n var intro2 = '';\n var intro3 = '';\n for (var i = 0; i < list2.length; i++) {\n if (!list2[i].select('.fed-part-tips')[0]) {\n break;\n }\n var intro2_1 = '[' + list2[i].select('.fed-part-tips')[0].text() + ']';\n var intro2_2 = '⛄' + '【' + list2[i].select('.fed-text-line')[0].text() + '】: ';\n var intro2_3 = String(list2[i].select('.fed-comm-cont')[0].text()).replace(\/\\s回复.*\/g, '');\n var list3 = list2[i].select('.fed-comm-reply');\n for (var j = 1; j < list3.length + 1; j++) {\n var intro2_1_1 = '[' + list2[i].select('.fed-part-tips')[j].text() + ']';\n var intro2_2_1 = '⛄' + '【' + list2[i].select('.fed-text-line')[j].text() + '】: ';\n var intro2_3_1 = String(list2[i].select('.fed-comm-cont')[j].text()).replace(\/\\s回复\/g, '');\n intro3 = intro3 +'\\nㅤ ' + intro2_1_1 + '\\nㅤ ' + intro2_2_1 + intro2_3_1;\n }\n intro2 = intro2 + '\\nㅤ\\n' + intro2_1 + '\\n' + intro2_2 + intro2_3 + intro3;\n intro3 = '';\n }\n cover = $3('.fed-list-pics');\n cache.put('Cover' + baseUrl, cover);\n if(String(Account).length > 0) {\n let dataId = $3('.fed-list-pics').replace(\/.*comic\\\/(\\d+)\\\/.*\/, '$1');\n let value = cache.get('Value' + baseUrl);\n var SC = cache.get(book.originName + Account + dataId) ? cache.get(book.originName + Account + dataId) : '';\n var BN = $2('.fed-font-xvi.fed-part-eone.0').text();\n var Bookname = BN.length >= 60 ? BN.substring(0, 14) + \"\\n\" + BN.substring(14, 29) + \"\\n\" + BN.substring(29, 44) + \"\\n\" + BN.substring(44, 59) + \"\\n\" + BN.substring(59) : (BN.length >= 45 ? BN.substring(0, 14) + \"\\n\" + BN.substring(14, 29) + \"\\n\" + BN.substring(29, 44) + \"\\n\" + BN.substring(59) : (BN.length >= 30 ? BN.substring(0, 14) + \"\\n\" + BN.substring(14, 29) + \"\\n\" + BN.substring(29) : (BN.length >= 15 ? BN.substring(0, 14) + \"\\n\" + BN.substring(14) : BN)));\n if (book.readConfig && book.group > 0 && !SC.includes('y')) {\n let option = '{\"body\":\"dataId=' + dataId + '\",\"headers\":{\"Content-Type\":\"application\/x-www-form-urlencoded\"},\"method\": \"POST\"}';\n let url = Get('url') + '\/dynamic\/user\/addToFav,' + option;\n java.ajax(url);\n cache.put(book.originName + Account + dataId,'y');\n login(Put(JSON.stringify('【收藏提示】\\n\\n┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + Bookname + '\\n┋┋' + '\\n❤️已添加收藏❤️\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛')));\n }\n if (book.readConfig && book.group < 1 && SC.includes('y')) {\n let option = '{\"body\":\"dataIds=' + value + '&type=1\",\"headers\":{\"Content-Type\":\"application\/x-www-form-urlencoded\"},\"method\": \"POST\"}';\n let url = Get('url') + '\/dynamic\/user\/subscriptionHandle,' + option;\n java.ajax(url);\n cache.put(book.originName + Account + dataId,'n');\n login(Put(JSON.stringify('【收藏提示】\\n\\n┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋\\n' + Bookname + '\\n┋┋' + '\\n♣️已取消收藏♣️\\n┋┋' + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛')));\n }\n }\n book = JSON.stringify({\n 'name': $2('.fed-font-xvi.fed-part-eone.0').text(),\n 'author': String($2('.fed-col-md6')[2-a].text()).replace(\/作者\/, '').replace(\/.*:\\s\/, \"\").replace(\/\\+\\s\/g, '\/').replace(\/[,,+&]\/g, '\/').replace(\/(\\W)\\s+|(\\s+)(?=\\W)\/g, '$1\/$2').replace(\/\\s\\\/\/g, '\/').replace(\/\\\/\\s\/g, '\/').replace(\/\\\/x\\\/\/g, '\/').replace(\/amp|;\/g, '').replace(\/\\\/+\/g, '\/').replace(\/(\/g, '(').replace(\/)\/g, ')'),\n 'kind': String(s + ',' + k).replace(\/^(.{35}).*\/, '$1'),\n 'word': '',\n 'latest': l + '〔' + t + '〕',\n 'intro': (t != '' ? ('更新时间:' + t + '\\nㅤ\\n') : '') + intro1 + changeLog + '☕【评论】' + intro2,\n 'cover': cover,\n 'url': url,\n 'durl': '',\n 'reName': true\n });\n} else {\n (function Book() {\n apiBaseUrl = cache.get(`cache_api_${Get('url')}`);\n json = java.ajax(apiBaseUrl);\n Title = JSON.parse(json)['title'];\n Intro = JSON.parse(json)['intro'];\n return { Title: Title, Intro: Intro };\n }());\n book = JSON.stringify({\n 'kind': book['kind'],\n 'latest': Title[Title.length - 1],\n 'intro': Intro[0]\n });\n}\nPut(book);\n<\/js>", "intro": "intro", "kind": "kind", "lastChapter": "latest", "name": "name", "tocUrl": "url", "wordCount": "word" }, "ruleContent": { "content": "<js>\nAccount = (cache.get(Get('url') + \"Account_1\") && String(cache.get(Get('url') + \"Account_1\")).length > 0) ? cache.get(Get('url') + \"Account_1\") : Map('账号:');\nif (!cookie.getCookie(baseUrl).includes('_ga=') && !String(Account).length > 0) {\n java.webView('', Get('url') + '\/user\/login', '');\n}\nif(String(Account).length > 0 && cookie.getCookie(baseUrl).includes('user')) {\n let pageId = result.replace(\/.*dataPageId:\\s(\\d+)\\,.*\/, '$1');\n let option = '{\"body\":\"pageId=' + pageId + '\",\"headers\":{\"Content-Type\":\"application\/x-www-form-urlencoded\"},\"method\": \"POST\"}';\n let url = Get('url') + '\/counting,' + option;\n java.ajax(url);\n}\nlet ck = cookie.getCookie(baseUrl);\nlet bkm = cookie.getKey(baseUrl, '__cf__bkm');\nlet na = ck.includes('user') ? 'Y' : 'N';\nlet top = cookie.getKey(baseUrl, 'top_banner_counter_1500') > 0 ? parseInt(cookie.getKey(baseUrl, 'top_banner_counter_1500')) : 0;\ntop += 1;\nlet cpcv = cookie.getKey(baseUrl, 'cpcv_top_counter_15') > 0 ? parseInt(cookie.getKey(baseUrl, 'cpcv_top_counter_15')) : 0;\ncpcv += 1;\nlet cpm = cookie.getKey(baseUrl, 'cpm_popunder_counter_60') > 0 ? parseInt(cookie.getKey(baseUrl, 'cpm_popunder_counter_60')) : 0;\ncpm += 1;\nlet sb = '8c0a375d8544f78968ab9f8f99cb9fd7';\nlet count = cookie.getKey(baseUrl, `sb_count_${sb}`) > 0 ? parseInt(cookie.getKey(baseUrl, `sb_count_${sb}`)) : 0;\ncount += 1;\nlet page = cookie.getKey(baseUrl, `sb_page_${sb}`) > 0 ? parseInt(cookie.getKey(baseUrl, `sb_page_${sb}`)) : 0;\npage += 1;\ncookie.setCookie(baseUrl, `${ck};_va=13;__na=${na};top_banner_counter_1500=${top};cpcv_top_counter_15=${cpcv};cpm_popunder_counter_60=${cpm};sb_main_${sb}=1;sb_onpage_${sb}=1;sb_count_${sb}=${count};sb_page_${sb}=${page}`);\nck = cookie.getCookie(baseUrl);\nlet domain = String(Get('url')).split(\".\")[1];\nfunction addOptions(url, baseUrl, options) {\n let j = {\n \"Referer\": baseUrl.replace(\/,[\\s\\S]+\\}\/, \"\")\n };\n if (!url.includes(domain)) {\n j.Referer = \"\";\n }\n options = options || {};\n options.headers = Object.assign(options.headers || {}, j);\n return options ? `${url},${JSON.stringify(options)}` : url;\n}\nfunction arrayToImg(arr, func, baseUrl, options) {\n let result = [];\n for (let item of arr) {\n let imgUrl = addOptions(item, baseUrl, options);\n let imgTag = `<img src=\"${imgUrl}\">`;\n if (typeof func === \"function\") {\n imgTag = func(imgUrl);\n }\n result.push(imgTag);\n }\n return result.join(\"\\n\");\n}\nfunction stringToImg(str, func, baseUrl, options) {\n let imgUrl = addOptions(str, baseUrl, options);\n let imgTag = `<img src=\"${imgUrl}\">`;\n if (typeof func === \"function\") {\n imgTag = func(imgUrl);\n }\n return imgTag;\n}\nfunction load(urls) {\n for (i = 0; i < urls.length; i++) {\n if (!urls[i].includes(\"coco_keys.json\")){\n url = urls[i] + 'User_Activation.json';\n } else {\n url = urls[i];\n }\n let response = java.ajax(url);\n if (response && JSON.stringify(response).includes(\"qyyuapi\") || JSON.stringify(response).includes(\"C_DATA\")){\n return [response, urls[i]];\n }\n }\n throw \"Error: 所有链接下载失败\";\n}\nfunction parseKeys() {\n let jsBaseUrls = [\n \"https:\/\/raw.githubusercontents.com\/xiaohan231\/decodeObfuscator\/main\/\",\n \"https:\/\/raw.githubusercontent.com\/xiaohan231\/decodeObfuscator\/main\/\",\n \"https:\/\/cdn.jsdelivr.net\/gh\/xiaohan231\/decodeObfuscator@main\/\"\n ];\n let urls = [\n \"plugins\/common.js\",\n \"plugins\/cocomanhua.js\",\n \"tools\/babel_asttool.js\",\n \"tools\/config.js\",\n \"tools\/decode.js\",\n \"tools\/decodeOb.js\",\n \"tools\/usefulPlugins.js\"\n ];\n let jsBaseUrl = cache.get(`cache_js`);\n if (!jsBaseUrl || !java.ajax(jsBaseUrl)) {\n jsBaseUrl = load(jsBaseUrls)[1];\n java.toast('\\n\\n' + jsBaseUrl);\n cache.put(`cache_js`, jsBaseUrl);\n }\n function toAbsUrl(url) {\n return \/^\\.\\\/|^http|^content|^\\\/sdcard|^\\\/storage\/.test(url) ? url : jsBaseUrl.concat(url);\n }\n function loadJS(urls) {\n let scripts = \"\";\n for (let url of urls) {\n let absoluteUrl = toAbsUrl(url);\n let content = java.ajax(absoluteUrl);\n let scriptTag = script(content);\n scripts += scriptTag;\n }\n return scripts;\n }\n function script(content) {\n return `<script>\\n${content}\\n<\/script>`;\n }\n let html = `<html><head>${loadJS(urls)}<\/head><body><\/body><script>\nfunction HttpGetText(url) {\n return fetch(url).then(res => res.text()).catch(err => alert(err));\n}\nHttpGetText(\"{{Get('url')}}\/js\/custom.js\").then(js => decode(js, [common,cocomanhua])).catch(e => keys = e);\n<\/script><\/html>`;\n return java.webView(html, Get('url'), \"keys\");\n}\nfunction fetchRemoteKeys() {\n let remoteUrls = [\n \"https:\/\/raw.githubusercontents.com\/xiaohan231\/autoCI\/cocokeys\/coco_keys.json\", \n \"https:\/\/raw.githubusercontent.com\/xiaohan231\/autoCI\/cocokeys\/coco_keys.json\",\n \"https:\/\/cdn.jsdelivr.net\/gh\/xiaohan231\/autoCI@cocokeys\/coco_keys.json\",\n ];\n remoteKeys = load(remoteUrls)[0];\n return remoteKeys;\n}\nif (String(book['author']) !== \"xiaohan231\") {\n let DEBUG = 0;\n let local_keys = null;\n function base64Decode(base64) {\n return java.base64Decode(base64) + \"\";\n }\n let aes = {\n keys: null,\n retryNum: 2,\n saveKeys: function (keysString) {\n try {\n this.keys = JSON.parse(keysString);\n let localKeys = cache.get(`cache_keysString_${Get('url')}`);\n if (localKeys !== keysString) {\n cache.put(`cache_keysString_${Get('url')}`, keysString);\n return true;\n }\n } catch (e) {\n java.log(keysString);\n java.log(\"❎密钥解析错误!!\");\n }\n },\n _aesDecrypt: function (key, word) {\n return java.createSymmetricCrypto(\"aes\/ecb\/pkcs7padding\", key).decryptStr(word) + \"\";\n },\n decrypt: function (word, name) {\n if (this.keys && this.keys[name]) {\n for (let key of this.keys[name]) {\n try {\n return this._aesDecrypt(key, word);\n } catch {}\n }\n }\n if (this.retryNum-- > 0) {\n if ((this.retryNum == 2 && this.saveKeys(parseKeys())) || (this.retryNum == 1 && this.saveKeys(fetchRemoteKeys()))) {\n return this.decrypt(word, name);\n }\n }\n throw \"❎解密失败,无法获取密钥!!\";\n }\n };\n function decodeImage(src) {\n let C_DATA = src.match(\/C_DATA\\s*=\\s*\\S([\\s\\S]+?)['\"]\/);\n if (!C_DATA) {\n throw \"❎图片数据C_DATA获取失败!!\";\n }\n C_DATA = aes.decrypt(base64Decode(C_DATA[1]), \"C_DATA\");\n DEBUG && java.log(C_DATA);\n eval(C_DATA);\n let html = \"\";\n if (!image_info.img_type) {\n let path = mh_info.enc_code2 ? aes.decrypt(base64Decode(mh_info.enc_code2), \"enc_code2\") : mh_info.imgpath;\n let totalImageCount = mh_info.enc_code1 ? aes.decrypt(base64Decode(mh_info.enc_code1), \"enc_code1\") : mh_info.totalimg;\n let servers = [mh_info.domain];\n if (typeof __JS_READLINE !== \"undefined\") {\n if (__JS_READLINE.data && __JS_READLINE.data.length > 0) {\n servers.push(__JS_READLINE.data[0].domain);\n } else if (__JS_READLINE.domain) {\n servers.push(__JS_READLINE.domain);\n }\n }\n let server = mh_info.use_server === \"\" ? servers[0] : servers[0].replace(\/^img\/, `img${mh_info.use_server}`);\n let options = {};\n let suffix = \"jpg\";\n if (image_info.imgKey !== undefined && image_info.imgKey !== '' || image_info.keyType !== undefined && image_info.keyType !== '') {\n if (image_info.keyType === '0') {\n colakey = aes.decrypt(image_info.imgKey, \"C_DATA\");\n } else {\n let colajsonUrls = [\"https:\/\/qyyuapi.com\/cola.json\"];\n for (let i = 0; i < colajsonUrls.length; i++) {\n try {\n let response = java.ajax(colajsonUrls[i]);\n colakey = JSON.parse(response)[image_info.keyType];\n break;\n } catch (e) {\n java.log(`❎加载${colajsonUrls[i]}密钥文件错误`);\n }\n };\n if (colakey == '' || colakey == null) {\n java.log(`❎远程密钥文件未更新,请30分钟后再试`);\n }\n }\n options = {\n \"key\": enc_webp_bytes_key = colakey,\n \"headers\": {\n \"Cookie\": `_tka_${mh_info.pageid}=${path};_tkb_${mh_info.pageid}=${totalImageCount};_va=13;__cf__bkm=${bkm}`,\n \"Origin\": Get('url')\n }\n };\n suffix = \"enc.webp\";\n } else {\n options = {\n \"headers\": {\n \"Cookie\": `_tka_${mh_info.pageid}=${path};_tkb_${mh_info.pageid}=${totalImageCount};_va=13;__cf__bkm=${bkm}`,\n \"Origin\": Get('url')\n }\n };\n }\n if (DEBUG) totalImageCount = 1;\n for (; mh_info.startimg <= totalImageCount; mh_info.startimg++) {\n let imgPath = `https:\/\/${server}\/comic\/${encodeURIComponent(path)}${String(mh_info.startimg).padStart(4, \"0\")}.${suffix}`;\n html += stringToImg(imgPath, null, baseUrl, options) + \"\\n\";\n }\n } else {\n options = {\n \"headers\": {\n \"Cookie\": `_tka_${mh_info.pageid}=${path};_tkb_${mh_info.pageid}=${totalImageCount};_va=13;__cf__bkm=${bkm}`,\n \"Origin\": Get('url')\n }\n };\n let urls__direct = base64Decode(image_info.urls__direct).split(\"|SEPARATER|\");\n if (DEBUG) urls__direct.splice(0, 1);\n if (image_info.img_type === 1) {\n html = arrayToImg(urls__direct, url => url + \".webp\", baseUrl, options);\n } else {\n html = arrayToImg(urls__direct, null, baseUrl, options);\n }\n }\n cookie.setCookie(baseUrl, `${ck}`);\n return html;\n }\n (function () {\n if (local_keys !== null && local_keys !== '') {\n aes.keys = local_keys;\n } else if (cache.get('keysString') !== null && cache.get('keysString') !== '') {\n aes.saveKeys(cache.get('keysString'));\n } else {\n !DEBUG && aes.saveKeys(parseKeys());\n aes.retryNum = 1;\n DEBUG && aes.saveKeys(fetchRemoteKeys());\n }\n cookie.setCookie(baseUrl, `${ck}`);\n return decodeImage(src);\n })();\n} else {\n '<br><img src=\"https:\/\/qyyuapi.com\/img\/' + String(title).replace(\/〔.*$\/, \"\") + '.jpg\">';\n}\n<\/js>", "imageDecode": "function decode(bytes, key){\n return java.createSymmetricCrypto(\"aes\/cbc\/pkcs7padding\", key,\"0\".repeat(16)).decrypt(bytes);\n}\nif (\/enc.webp\/.test(src)) {\n let key = src.match(\/\"key\":\"(.+?)\"\/)[1];\n decode(result, key);\n} else {\n result;\n}", "imageStyle": "FULL", "nextContentUrl": "", "replaceRegex": "" }, "ruleExplore": { "author": "author", "bookList": "<js>\nvar _0x2844=['\\x59\\x57\\x56\\x7a\\x51\\x6d\\x46\\x7a\\x5a\\x54\\x59\\x30\\x52\\x47\\x56\\x6a\\x62\\x32\\x52\\x6c\\x56\\x47\\x39\\x54\\x64\\x48\\x4a\\x70\\x62\\x6d\\x63\\x3d','\\x64\\x6d\\x46\\x79\\x61\\x57\\x46\\x69\\x62\\x47\\x56\\x44\\x62\\x32\\x31\\x74\\x5a\\x57\\x35\\x30','\\x49\\x79\\x4d\\x6a\\x49\\x33\\x68\\x70\\x59\\x57\\x38\\x74\\x61\\x47\\x46\\x75\\x4a\\x69\\x59\\x6d\\x4a\\x67\\x3d\\x3d','\\x51\\x55\\x56\\x54\\x4c\\x30\\x56\\x44\\x51\\x69\\x39\\x51\\x53\\x30\\x4e\\x54\\x4e\\x31\\x42\\x68\\x5a\\x47\\x52\\x70\\x62\\x6d\\x63\\x3d'];var _0x271a=function(_0x28447c,_0x271a07){_0x28447c=_0x28447c-0x0;var _0x3fa6e2=_0x2844[_0x28447c];if(_0x271a['JnZkTY']===undefined){(function(){var _0x256bf8=function(){var _0x41a19b;try{_0x41a19b=Function('return\\x20(function()\\x20'+'{}.constructor(\\x22return\\x20this\\x22)(\\x20)'+');')();}catch(_0x1834f8){_0x41a19b=window;}return _0x41a19b;};var _0x449a97=_0x256bf8();var _0x5cf63b='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=';_0x449a97['atob']||(_0x449a97['atob']=function(_0x5e93b7){var _0x12aa6c=String(_0x5e93b7)['replace'](\/=+$\/,'');var _0x53c98d='';for(var _0x5c8e3c=0x0,_0x385c1e,_0x472ac7,_0x5cd6b6=0x0;_0x472ac7=_0x12aa6c['charAt'](_0x5cd6b6++);~_0x472ac7&&(_0x385c1e=_0x5c8e3c%0x4?_0x385c1e*0x40+_0x472ac7:_0x472ac7,_0x5c8e3c++%0x4)?_0x53c98d+=String['fromCharCode'](0xff&_0x385c1e>>(-0x2*_0x5c8e3c&0x6)):0x0){_0x472ac7=_0x5cf63b['indexOf'](_0x472ac7);}return _0x53c98d;});}());_0x271a['EMYZMi']=function(_0x5efd9a){var _0x466d2a=atob(_0x5efd9a);var _0xeaf427=[];for(var _0x54cfbf=0x0,_0x54f1be=_0x466d2a['length'];_0x54cfbf<_0x54f1be;_0x54cfbf++){_0xeaf427+='%'+('00'+_0x466d2a['charCodeAt'](_0x54cfbf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xeaf427);};_0x271a['UUPFFl']={};_0x271a['JnZkTY']=!![];}var _0x55573a=_0x271a['UUPFFl'][_0x28447c];if(_0x55573a===undefined){_0x3fa6e2=_0x271a['EMYZMi'](_0x3fa6e2);_0x271a['UUPFFl'][_0x28447c]=_0x3fa6e2;}else{_0x3fa6e2=_0x55573a;}return _0x3fa6e2;};eval(String(java[_0x271a('\\x30\\x78\\x30')](source[_0x271a('\\x30\\x78\\x31')],_0x271a('\\x30\\x78\\x32'),_0x271a('\\x30\\x78\\x33'),'')));\nvar User = '';\nvar Title = '';\nvar Link = '';\nvar Intro = '';\nuser_Check();\nvar data = [];\nvar Headers = JSON.parse(cache.get(Get('url') + \"headers\").replace('\"Referer\":\"' + Get('url'), '\"Referer\":\"' + baseUrl));\nvar Option = {\n \"method\": \"GET\",\n \"headers\": Headers\n};\nif (User == true) {\n Account = (cache.get(Get('url') + \"Account_1\") && String(cache.get(Get('url') + \"Account_1\")).length > 0) ? cache.get(Get('url') + \"Account_1\") : Map('账号:');\n if (!cookie.getCookie(baseUrl).includes('_ga=') && !String(Account).length > 0) {\n java.webView('', Get('url') + '\/user\/login', '');\n }\n if (baseUrl.includes('\/user\/')) {\n if (!cookie.getCookie(baseUrl).includes('user') && String(Account).length > 0) {\n eval(String(source.loginUrl));\n Login();\n }\n }\n let ck = cookie.getCookie(baseUrl);\n let na = ck.includes('user') ? 'Y' : 'N';\n let top = cookie.getKey(baseUrl, 'top_banner_counter_1500') > 0 ? parseInt(cookie.getKey(baseUrl, 'top_banner_counter_1500')) : 0;\n top += 1;\n cookie.setCookie(baseUrl, `${ck};_va=13;__na=${na};top_banner_counter_1500=${top}`);\n if (baseUrl.includes('\/user\/subscription')) {\n var list = java.getElements('.fed-padding-x.fed-part-rows.fed-line-top');\n for (i = 0; i < list.length; i++) {\n name = list[i].select('span')[1].text();\n latest = list[i].select('span')[2].text() + '〔' + list[i].select('span')[3].text() + '〕';\n cache.put('Value' +Get('url') + list[i].select('a').attr('href'), list[i].select('.fed-form-comp').attr('value'));\n data.push({\n 'name': name,\n 'author': '',\n 'kind': '',\n 'word': '',\n 'latest': latest,\n 'intro': '',\n 'cover': cache.get('Cover' +Get('url') + list[i].select('a').attr('href')) ? cache.get('Cover' +Get('url') + list[i].select('a').attr('href')) : '',\n 'url': Get('url') + list[i].select('a').attr('href')\n });\n }\n } else if (baseUrl.includes('\/user\/history')) {\n var list = java.getElements('.fed-padding-x.fed-part-rows.fed-line-top');\n for (i = 0; i < list.length; i++) {\n name = list[i].select('span')[1].text();\n latest = list[i].select('span')[4].text();\n intro = '\\nㅤ\\n⏰时间:' + list[i].select('span')[2].text() + '\\n📖观看至:' + list[i].select('span')[3].text();\n data.push({\n 'name': name,\n 'author': '',\n 'kind': '',\n 'word': '',\n 'latest': latest,\n 'intro': intro,\n 'cover': cache.get('Cover' +Get('url') + list[i].select('a').attr('href')) ? cache.get('Cover' +Get('url') + list[i].select('a').attr('href')) : '',\n 'url': Get('url') + list[i].select('a')[0].attr('href')\n });\n }\n } else {\n var list = java.getElements('.fed-list-item||.fed-deta-info');\n for (i = 0; i < list.length; i++) {\n name = list[i].select('.fed-list-title').text();\n latest = list[i].select('.fed-list-remarks').text() + '〔' + list[i].select('.fed-list-desc').text() + '〕';\n cover = list[i].select('.fed-list-pics').attr('data-original');\n cache.put('Cover' + Get('url') + list[i].select('a').attr('href'), cover);\n data.push({\n 'name': name,\n 'author': '',\n 'kind': '',\n 'word': '',\n 'latest': latest,\n 'intro': '',\n 'cover': cover,\n 'url': Get('url') + list[i].select('.fed-list-title').attr('href')\n });\n }\n }\n if (baseUrl.includes('\/user\/')) {\n var next = java.ajax(baseUrl.replace(\/page=(\\d+)\/, function(match, p1) {return 'page=' + (parseInt(p1) + 1);}) + ',' + JSON.stringify(Option));\n var next_1 = org.jsoup.Jsoup.parse(next);\n if (!list[1] || !next_1.select('.fed-padding-x.fed-part-rows.fed-line-top')[1]) {\n Data();\n }\n } else {\n var next = java.ajax(baseUrl.replace(\/page=(\\d+)\/, function(match, p1) {return 'page=' + (parseInt(p1) + 1);}) + ',' + JSON.stringify(Option));\n var next_1 = org.jsoup.Jsoup.parse(next);\n if (!list[0] || !next_1.select('.fed-list-item, .fed-deta-info')[0]) {\n Data();\n }\n }\n data = JSON.stringify(data);\n} else {\n data = Data();\n}\nPut(data);\n<\/js>", "bookUrl": "url", "coverUrl": "cover", "intro": "intro", "kind": "kind", "lastChapter": "latest", "name": "name", "wordCount": "word" }, "ruleReview": {}, "ruleSearch": { "author": "author", "bookList": "<js>\nvar _0x2844=['\\x59\\x57\\x56\\x7a\\x51\\x6d\\x46\\x7a\\x5a\\x54\\x59\\x30\\x52\\x47\\x56\\x6a\\x62\\x32\\x52\\x6c\\x56\\x47\\x39\\x54\\x64\\x48\\x4a\\x70\\x62\\x6d\\x63\\x3d','\\x64\\x6d\\x46\\x79\\x61\\x57\\x46\\x69\\x62\\x47\\x56\\x44\\x62\\x32\\x31\\x74\\x5a\\x57\\x35\\x30','\\x49\\x79\\x4d\\x6a\\x49\\x33\\x68\\x70\\x59\\x57\\x38\\x74\\x61\\x47\\x46\\x75\\x4a\\x69\\x59\\x6d\\x4a\\x67\\x3d\\x3d','\\x51\\x55\\x56\\x54\\x4c\\x30\\x56\\x44\\x51\\x69\\x39\\x51\\x53\\x30\\x4e\\x54\\x4e\\x31\\x42\\x68\\x5a\\x47\\x52\\x70\\x62\\x6d\\x63\\x3d'];var _0x271a=function(_0x28447c,_0x271a07){_0x28447c=_0x28447c-0x0;var _0x3fa6e2=_0x2844[_0x28447c];if(_0x271a['JnZkTY']===undefined){(function(){var _0x256bf8=function(){var _0x41a19b;try{_0x41a19b=Function('return\\x20(function()\\x20'+'{}.constructor(\\x22return\\x20this\\x22)(\\x20)'+');')();}catch(_0x1834f8){_0x41a19b=window;}return _0x41a19b;};var _0x449a97=_0x256bf8();var _0x5cf63b='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=';_0x449a97['atob']||(_0x449a97['atob']=function(_0x5e93b7){var _0x12aa6c=String(_0x5e93b7)['replace'](\/=+$\/,'');var _0x53c98d='';for(var _0x5c8e3c=0x0,_0x385c1e,_0x472ac7,_0x5cd6b6=0x0;_0x472ac7=_0x12aa6c['charAt'](_0x5cd6b6++);~_0x472ac7&&(_0x385c1e=_0x5c8e3c%0x4?_0x385c1e*0x40+_0x472ac7:_0x472ac7,_0x5c8e3c++%0x4)?_0x53c98d+=String['fromCharCode'](0xff&_0x385c1e>>(-0x2*_0x5c8e3c&0x6)):0x0){_0x472ac7=_0x5cf63b['indexOf'](_0x472ac7);}return _0x53c98d;});}());_0x271a['EMYZMi']=function(_0x5efd9a){var _0x466d2a=atob(_0x5efd9a);var _0xeaf427=[];for(var _0x54cfbf=0x0,_0x54f1be=_0x466d2a['length'];_0x54cfbf<_0x54f1be;_0x54cfbf++){_0xeaf427+='%'+('00'+_0x466d2a['charCodeAt'](_0x54cfbf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xeaf427);};_0x271a['UUPFFl']={};_0x271a['JnZkTY']=!![];}var _0x55573a=_0x271a['UUPFFl'][_0x28447c];if(_0x55573a===undefined){_0x3fa6e2=_0x271a['EMYZMi'](_0x3fa6e2);_0x271a['UUPFFl'][_0x28447c]=_0x3fa6e2;}else{_0x3fa6e2=_0x55573a;}return _0x3fa6e2;};eval(String(java[_0x271a('\\x30\\x78\\x30')](source[_0x271a('\\x30\\x78\\x31')],_0x271a('\\x30\\x78\\x32'),_0x271a('\\x30\\x78\\x33'),'')));\nvar User = '';\nvar Title = '';\nvar Link = '';\nvar Intro = '';\nuser_Check();\nvar data = [];\nvar Headers = JSON.parse(cache.get(Get('url') + \"headers\").replace('\"Referer\":\"' + Get('url'), '\"Referer\":\"' + baseUrl));\nvar Option = {\n \"method\": \"GET\",\n \"headers\": Headers\n};\nif (User == true) {\n Account = (cache.get(Get('url') + \"Account_1\") && String(cache.get(Get('url') + \"Account_1\")).length > 0) ? cache.get(Get('url') + \"Account_1\") : Map('账号:');\n if (!cookie.getCookie(baseUrl).includes('_ga=') && !String(Account).length > 0) {\n java.webView('', Get('url') + '\/user\/login', '');\n }\n let ck = cookie.getCookie(baseUrl);\n let na = ck.includes('user') ? 'Y' : 'N';\n let top = cookie.getKey(baseUrl, 'top_banner_counter_1500') > 0 ? parseInt(cookie.getKey(baseUrl, 'top_banner_counter_1500')) : 0;\n top += 1;\n cookie.setCookie(baseUrl, `${ck};_va=13;__na=${na};top_banner_counter_1500=${top}`);\n var list = java.getElements('.fed-list-item||.fed-deta-info');\n for (i = 0; i < list.length; i++) {\n name = list[i].select('.fed-font-xvi.fed-part-eone').text();\n a = String(list[i].select('.fed-part-rows li')[0].text()).indexOf('别名') == -1 ? '1' : '0';\n author = String(list[i].select('.fed-part-rows li')[4-a].textNodes()[0]).replace(\/.*[::]\/, \"\").replace(\/\\+\\s\/g, '\/').replace(\/[,,+&]\/g, '\/').replace(\/(\\W)\\s+|(\\s+)(?=\\W)\/g, '$1\/$2').replace(\/\\s\\\/\/g, '\/').replace(\/\\\/\\s\/g, '\/').replace(\/\\\/x\\\/\/g, '\/').replace(\/amp|;\/g, '').replace(\/\\\/+\/g, '\/').replace(\/(\/g, '(').replace(\/)\/g, ')');\n kind = String(list[i].select('.fed-part-rows li')[3-a].textNodes()[0]).replace(\/[中已]\/, \"\") + ',' + String(list[i].select('.fed-col-md6 a').text()).replace(\/\\s\/g, ',');\n latest = list[i].select('.fed-list-remarks').text() + '〔' + String(list[i].select('.fed-part-rows li')[5-a].textNodes()[0]) + '〕';\n intro = list[i].select('.fed-part-esan').textNodes()[0];\n cover = list[i].select('.fed-list-pics').attr('data-original');\n cache.put('Cover' + Get('url') + list[i].select('.fed-part-eone a').attr('href'), cover);\n data.push({\n 'name': name,\n 'author': author,\n 'kind': kind,\n 'word': '',\n 'latest': latest,\n 'intro': intro,\n 'cover': cover,\n 'url': Get('url') + list[i].select('.fed-part-eone a').attr('href')\n });\n }\n var next = java.ajax(baseUrl.replace(\/page=(\\d+)\/, function(match, p1) {return 'page=' + (parseInt(p1) + 1);}) + ',' + JSON.stringify(Option));\n var next_1 = org.jsoup.Jsoup.parse(next);\n var searchkey = java.get(Get('url') + \"searchkey\");\n if (!list[0] || !next_1.select('.fed-list-item, .fed-deta-info')[0] || \/书源|使用|说明|書源|說明\/.test(searchkey)) {\n Data();\n }\n data = JSON.stringify(data);\n} else {\n data = Data();\n}\nPut(data);\n<\/js>", "bookUrl": "url", "checkKeyWord": "妖神记", "coverUrl": "cover", "intro": "intro", "kind": "kind", "lastChapter": "latest", "name": "name", "wordCount": "word" }, "ruleToc": { "chapterList": "<js>\nvar _0x2844=['\\x59\\x57\\x56\\x7a\\x51\\x6d\\x46\\x7a\\x5a\\x54\\x59\\x30\\x52\\x47\\x56\\x6a\\x62\\x32\\x52\\x6c\\x56\\x47\\x39\\x54\\x64\\x48\\x4a\\x70\\x62\\x6d\\x63\\x3d','\\x64\\x6d\\x46\\x79\\x61\\x57\\x46\\x69\\x62\\x47\\x56\\x44\\x62\\x32\\x31\\x74\\x5a\\x57\\x35\\x30','\\x49\\x79\\x4d\\x6a\\x49\\x33\\x68\\x70\\x59\\x57\\x38\\x74\\x61\\x47\\x46\\x75\\x4a\\x69\\x59\\x6d\\x4a\\x67\\x3d\\x3d','\\x51\\x55\\x56\\x54\\x4c\\x30\\x56\\x44\\x51\\x69\\x39\\x51\\x53\\x30\\x4e\\x54\\x4e\\x31\\x42\\x68\\x5a\\x47\\x52\\x70\\x62\\x6d\\x63\\x3d'];var _0x271a=function(_0x28447c,_0x271a07){_0x28447c=_0x28447c-0x0;var _0x3fa6e2=_0x2844[_0x28447c];if(_0x271a['JnZkTY']===undefined){(function(){var _0x256bf8=function(){var _0x41a19b;try{_0x41a19b=Function('return\\x20(function()\\x20'+'{}.constructor(\\x22return\\x20this\\x22)(\\x20)'+');')();}catch(_0x1834f8){_0x41a19b=window;}return _0x41a19b;};var _0x449a97=_0x256bf8();var _0x5cf63b='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=';_0x449a97['atob']||(_0x449a97['atob']=function(_0x5e93b7){var _0x12aa6c=String(_0x5e93b7)['replace'](\/=+$\/,'');var _0x53c98d='';for(var _0x5c8e3c=0x0,_0x385c1e,_0x472ac7,_0x5cd6b6=0x0;_0x472ac7=_0x12aa6c['charAt'](_0x5cd6b6++);~_0x472ac7&&(_0x385c1e=_0x5c8e3c%0x4?_0x385c1e*0x40+_0x472ac7:_0x472ac7,_0x5c8e3c++%0x4)?_0x53c98d+=String['fromCharCode'](0xff&_0x385c1e>>(-0x2*_0x5c8e3c&0x6)):0x0){_0x472ac7=_0x5cf63b['indexOf'](_0x472ac7);}return _0x53c98d;});}());_0x271a['EMYZMi']=function(_0x5efd9a){var _0x466d2a=atob(_0x5efd9a);var _0xeaf427=[];for(var _0x54cfbf=0x0,_0x54f1be=_0x466d2a['length'];_0x54cfbf<_0x54f1be;_0x54cfbf++){_0xeaf427+='%'+('00'+_0x466d2a['charCodeAt'](_0x54cfbf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xeaf427);};_0x271a['UUPFFl']={};_0x271a['JnZkTY']=!![];}var _0x55573a=_0x271a['UUPFFl'][_0x28447c];if(_0x55573a===undefined){_0x3fa6e2=_0x271a['EMYZMi'](_0x3fa6e2);_0x271a['UUPFFl'][_0x28447c]=_0x3fa6e2;}else{_0x3fa6e2=_0x55573a;}return _0x3fa6e2;};eval(String(java[_0x271a('\\x30\\x78\\x30')](source[_0x271a('\\x30\\x78\\x31')],_0x271a('\\x30\\x78\\x32'),_0x271a('\\x30\\x78\\x33'),'')));\nvar User = '';\nvar Title = '';\nvar Link = '';\nvar Intro = '';\nuser_Check();\nvar data = [];\nvar Headers = JSON.parse(cache.get(Get('url') + \"headers\").replace('\"Referer\":\"' + Get('url'), '\"Referer\":\"' + baseUrl));\nvar Option = {\n \"method\": \"GET\",\n \"headers\": Headers\n};\nif (String(book['author']) !== \"xiaohan231\") {\n Account = (cache.get(Get('url') + \"Account_1\") && String(cache.get(Get('url') + \"Account_1\")).length > 0) ? cache.get(Get('url') + \"Account_1\") : Map('账号:');\n if (!cookie.getCookie(baseUrl).includes('_ga=') && !String(Account).length > 0) {\n java.webView('', Get('url') + '\/user\/login', '');\n }\n if (!cookie.getCookie(baseUrl).includes('user') && String(Account).length > 0) {\n eval(String(source.loginUrl));\n Login();\n }\n let ck = cookie.getCookie(baseUrl);\n let na = ck.includes('user') ? 'Y' : 'N';\n let top = cookie.getKey(baseUrl, 'top_banner_counter_1500') > 0 ? parseInt(cookie.getKey(baseUrl, 'top_banner_counter_1500')) : 0;\n top += 1;\n cookie.setCookie(baseUrl, `${ck};_va=13;__na=${na};top_banner_counter_1500=${top}`);\n var list = java.getElements('.fed-col-xs6.fed-padding a.fed-btns-info');\n var date = String(java.getElements('.fed-col-md6.2').text()).replace(\/更新\/, '');\n for (i = list.length - 1; i >= 0; i--) {\n title = list[i].text();\n order = title.match(\/(\\d+)\/);\n title = Get('settle') == true ? String(title).replace(\/\\s-\\s|-\/g, ' ').replace(\/\\s+\/, ' ').replace(\/.*第(\\d+)[话話章回期](|\\s)第.*?[话話章回期]\/, '$1').replace(\/.*第(\\d+)[话話章回期][^\\s]\/, '$1 ').replace(\/.*第(\\d+)[话話章回期]\\s\\d+\/, '$1').replace(\/.*第.*(\\d+).*?[话話章回期]\/, '$1').replace(\/(\\d+)\/, title.match(\/\\d+\/) ? order[1].padStart(3, '0') : '$1') : title;\n title = String(title).replace(\/(-|_|\\s-\\s)\/g, ' ').replace(\/(.*?[话話章回期])\\s\\d+\/, '$1').replace(\/\\s\\s\/g, ' ');\n data.push({\n 'title': i ==0 ? (title + '〔' + date + '〕') : title,\n 'link': Get('url') + list[i].attr('href') + ',' + JSON.stringify(Option)\n });\n }\n data = JSON.stringify(data);\n} else {\n data = Data1();\n}\nPut(data);\n<\/js>", "chapterName": "title", "chapterUrl": "link", "preUpdateJs": "java.refreshTocUrl()" }, "searchUrl": "<js>\neval(String(source.loginUrl));\n(function (e) {\n if (Get('search_TC') == true || e.indexOf('TC') > -1) {\n e = String(java.s2t(e)).replace(\/TC\/, '');\n }\n java.put(Get('url') + \"searchkey\", e);\n return Get('url') + '\/search?type=1&searchString=' + e + '&page={{page}}';\n}(key));\n<\/js>", "variableComment": "JspHXCgzmq549cSvxZRk3VTWZ\/6k3kzeFeZYuGh1E57uQPm6gkVOfbKqM5kCCPowDXJkiSRSa3npJPxd9vxKh3cMNvD1zWkrw4ju5caIY4nxOyT73azNVhhjJZjyz\/ebHvYW8WL3jcWxqxmNG6krxvli7namCa0q6ODFeq24oEdko9o6Qp4abnH7CJftdjfn6wuSjWOHcv24gGCqJw4SAAmrFhFTTu5N1\/yBmdA\/FoFdXzVCmh2O7QuWCNXEFEvtqz\/dxjI8B6IAvPH5ODSHyJK4S1EmxkBS2KulmuqCT2aDz6rJyZNvlzxUKRZTZDpuhW1k7t9LEvq1mTbfzdhHTSUJeKpWwCLeVq0vUQi7hX6pIpxSPMWsKBl+WMzv\/puLxTaIYB8le4S26dkr2hV2bGH3pA5YCkYUScdfILxk5JAGQ4QGx6B0jUjw0g1As4m9xlu3aXTAeop8NkfCtnPkaGqBNz5Jy8n9Dsb9YyaTRE01Sq2WGuErTpnYTaYDsFukJL3Oq071kZl65uglkJOlJyI8LMAZfXnykL7kV69T94fNpfR7l5B+PMUuV2leXpXCCpnf\/g+EazBuR8T\/LtV+2hhbC3WJ4NSmBmaUkg2iTWCSK2h+e7NfC4EW3MMwuRVyyx0zaQn+ISAjDUzWX0Ur7M8EZdnLkuDi1+eZUo69QfZJxsJ8r8KA32ZtRwkY\/dGFWKg4m7zvhyYv7rJyry69F7t7JSwXGIuHVQPbQw6QHKdZxLa+ezvVp1Q\/61gbbPagg8W9Mu53Yc+pVacX0KwmLxZNbmRAA5MsbdEXdaYReinkNuOn+6KuiZGDOWUnIIRe8xdSp2cnEyLOoVMl2oBBQyqNfRav38wVvgXxreX6e6sG2qmGnsropuSSC1mbGqr1E7JBHyUXKBmnLHm+ff0nEG6o03qRuKVtaSv6K+PmQ\/Js7OunyQ2TLFzXsl0ktofIlfXbJpu9XUHQa6qp\/VFBwTyRK2BZO203BgBmOZLZ0i75qDtvnvgr4QQpfGc8j9+XH\/iQGyFKoIj+K8MG7P3hOCBKiv2Mv6aRZ9P99SMeyJs4iUruBi7CHP7JgNwZn6zqCwVZac8zHWo0\/Kg4d8ov+HQhmbBUWf7hibTiKQ6S\/1f5IdAdTfgRA7uxE9BaC5gGIEqK\/Yy\/ppFn0\/31Ix7Im0DHw1Y0GWZ0x3+y2cMMIxLcoK2SzU0g6F2bfnNgtZnI+KEB\/rwKm\/EVJOQxkSOejKyoniLkosHFLimtHpR0eV+FHhcXuWQ\/t\/fs\/Z5nm8kNCGcXF0aDIJ1ELRBWErbVe5\/OdvivGX9o1GwPMvrg1yhLBkh4FahZl\/rk6\/GRap9lScFhZrjifEbTg9Okz13KcSl+Dk+7QxXJQU18IGUPwqlXJlPiAK+3rXVGn6kurMYhqMkz1aE7RCpzRvgTPqtc8BpoKQy8FJnB\/2PBzhgp2d5s+7afQyF\/\/xJrRn5cstKsnALr7fu3R+xLBHYxNglpsdNDhZ+txeiPlA04bYhnGe23afUD0CGhVGKVY+r1M3RyEnY3KhbfwMfT4m20i3piotGE3t2rx1JHCe\/qX+gjmmIUFWzCRS04Tt73caDyre0HCCN2pqS6ZBS2icFhNeUihcw0FbXw9fGHwSA68AOfa6\/lurfPZdRDoKqsgFxUiqp76j9hbCleRE6neIzfKzAXW8BtgB3ZZXaStAkO55LeK4cc8EcCG+0h1YQAwbUA\/oYXPNrhgCwrC48H2VCwIpU9ch6YlYI6I6RNUQRkH4SMasdyIQfxpwc9Nv\/TnVir+cpO+M7RMH7wrvVfD0mtxrTiNtux5d9ACVYe0LYW+\/G8mO45EUVKGEYAOmBhfTjW5YMJOzcqkqmTxP0lcD4\/ZmgMZSFen3PRMNtCZJDYMqxwql3I8+hp4gt+kVCo0EOM0KgQ23jItkz0J+23QxJ1oY++Jkm6Y1OaBTVgm28zKddWjl2qyHMOWIglHNpW1SxiV9I7Fcg7GrKHBiH\/aZ5lClGqo1hsiXS75Rhv2AleDujtaf5lNcB+YsAZ33T65C1H4oO10esqFiWtFGkGUZKbJcuUGqD2eWT7FTm\/Ud8\/xfX4tC9upPYq4MnsvhELpvu\/NTYIMETldTVFx46981Jo42hjZEEy2Ds11+sryxkgOBfivl+A\/7aQbrh\/+7KpoDZyzuVvlLUfZ1aHOaXsdPUeEJeFitPGca4naQuMZo570DEigh5R26PyWyKxQceAiPti0Gp4Xbcg1fmFTbCek1631x63h8snLkoEH2wLbmLH0BVB4JXc1gJniYNcVuznqAWTJfQs5MPSa59+nyQuSED4otTFXxfbkw4kPfNa5hQ92MqnA9nOluT3uzKTh+mEIkl1MzErD5Nd+JEHSpGGAUKQdeyFAm8hZGZJRmpVUPKgMUqRjs+TykKCsDFpEoB7GE5Id4wGw3jC++5vV1Nh+KTCJiXdn+SFn6uhqLOnH9r+V9GaEv21qZngu4e\/AT5BIuTPLpw6iDROnaOPTNKOaCiV5GJaZ\/Fz8OqWd2n3Ce3fPTev9ojgUZDn3lDyehz\/Ed+p3KMxmbbvGgbWgAs4uudaIDbPO\/McFZ1tGwIXFBvWRtRIKwuL3yjp6mS0BFTKhPd85xcv\/XIs2mYKFPVDSQQts7\/pF56lFWcjRG+OWo1jw5LuCn+eLIU6O7HqNQvBqUu8YSpsocWR\/PVB\/HYDvwMbbNx52XThNPjeJuAO9\/XglQaioEspXr3DV8Cf2w7R1fS3csZz9ljyY5kpHxd5E8OJck1xeCQHuw3jA4aRZMXZA1KALUvyuZG+G7OHQKXLCctK87O8gWp4RrBHRPtVywsPCpwRXOrQfBAnlwB3L7TfY84XHxkKGkpbTcIzy+hK950IyUXKNhtvJN2OKYfZ+XL\/kHJR+n4HSjNP7BfpUPFED\/0+QHsHixtJdMH6jiFT8lGpIF5ffqnsQ8D\/QZ1RK9Ti0a17NQ==", "weight": 0 }