🎨COLA漫画💓

https://www.colamanga.com

xiaohan231 (515)05/05 08:53

V1.9版,激活码:555666
二维码导入
{
    "bookSourceComment": "",
    "bookSourceGroup": "🍿 日常,🎊 常用,🎨 漫画",
    "bookSourceName": "🎨COLA漫画💓",
    "bookSourceType": 2,
    "bookSourceUrl": "https:\/\/www.colamanga.com",
    "bookUrlPattern": "",
    "concurrentRate": "10\/5000",
    "customOrder": 130,
    "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    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}\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];\nfor (j in type) {\n    OrderBy = `{{get('orderBy',Get('o'))}}`;\n    Status = `{{get('status',Get('q'))}}`;\n    CharCategoryId = `{{get('charCategoryId',Get('p'))}}`;\n    url = `{{Get('url')}}\/show${OrderBy}${Status}${CharCategoryId}${categoryId[j]}&page={{page}}`;\n    exploreUrl.push(explore(type[j], url, 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": 1714858490953,
    "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}\nfunction Login() {\n    var result = typeof result !== 'undefined' ? result : {};\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>\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 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    num = \"⓪①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳\"\n    x = ['月点击','周点击','日点击','更新日'];\n    y = ['全部','连载','完结'];\n    z = ['全部','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'];\n    Setting = '\\n📌当前源站:' + (Get('ci0') == 0 ? '〖默认〗' : '〖自选〗') + num[Get('ci0')] + (Get('url').length > 25 ? Get('url').substring(0, 25) + \"<br>\" + Get('url').substring(25) : Get('url')) + ('\\n📚当前排序:〖' + (Get('o') == 0 ? '默认' : '自选') + '〗' + x[Get('o')]) + ('\\n⏲️漫画进度:〖' + (Get('q') == 0 ? '默认' : '自选') + '〗' + y[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') + ',' + JSON.stringify(Option);\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    book = JSON.stringify({\n        'kind': book['kind']\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 _0x8ad9=['\\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 _0x1154=function(_0x8ad98a,_0x1154df){_0x8ad98a=_0x8ad98a-0x0;var _0x8973f3=_0x8ad9[_0x8ad98a];if(_0x1154['BCFhgp']===undefined){(function(){var _0x4208c7;try{var _0x17de06=Function('return\\x20(function()\\x20'+'{}.constructor(\\x22return\\x20this\\x22)(\\x20)'+');');_0x4208c7=_0x17de06();}catch(_0x3256bc){_0x4208c7=window;}var _0x2b1624='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=';_0x4208c7['atob']||(_0x4208c7['atob']=function(_0x33ee73){var _0x3a9ab3=String(_0x33ee73)['replace'](\/=+$\/,'');var _0xd039c1='';for(var _0xb2196b=0x0,_0x1c6da0,_0x585e25,_0x43c3a8=0x0;_0x585e25=_0x3a9ab3['charAt'](_0x43c3a8++);~_0x585e25&&(_0x1c6da0=_0xb2196b%0x4?_0x1c6da0*0x40+_0x585e25:_0x585e25,_0xb2196b++%0x4)?_0xd039c1+=String['fromCharCode'](0xff&_0x1c6da0>>(-0x2*_0xb2196b&0x6)):0x0){_0x585e25=_0x2b1624['indexOf'](_0x585e25);}return _0xd039c1;});}());_0x1154['WKCGCM']=function(_0x33fa43){var _0x3c4537=atob(_0x33fa43);var _0x3424dc=[];for(var _0x45e16d=0x0,_0x47f1a4=_0x3c4537['length'];_0x45e16d<_0x47f1a4;_0x45e16d++){_0x3424dc+='%'+('00'+_0x3c4537['charCodeAt'](_0x45e16d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3424dc);};_0x1154['NnFUah']={};_0x1154['BCFhgp']=!![];}var _0x226207=_0x1154['NnFUah'][_0x8ad98a];if(_0x226207===undefined){_0x8973f3=_0x1154['WKCGCM'](_0x8973f3);_0x1154['NnFUah'][_0x8ad98a]=_0x8973f3;}else{_0x8973f3=_0x226207;}return _0x8973f3;};eval(String(java[_0x1154('\\x30\\x78\\x30')](source[_0x1154('\\x30\\x78\\x31')],_0x1154('\\x30\\x78\\x32'),_0x1154('\\x30\\x78\\x33'),'')));\nvar User = '';\nvar Title = '';\nvar Link = '';\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\") : (source.getLoginInfoMap() ? source.getLoginInfoMap()[\"账号:\"] : '');\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') + ',' + JSON.stringify(Option);\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 _0x8ad9=['\\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 _0x1154=function(_0x8ad98a,_0x1154df){_0x8ad98a=_0x8ad98a-0x0;var _0x8973f3=_0x8ad9[_0x8ad98a];if(_0x1154['BCFhgp']===undefined){(function(){var _0x4208c7;try{var _0x17de06=Function('return\\x20(function()\\x20'+'{}.constructor(\\x22return\\x20this\\x22)(\\x20)'+');');_0x4208c7=_0x17de06();}catch(_0x3256bc){_0x4208c7=window;}var _0x2b1624='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=';_0x4208c7['atob']||(_0x4208c7['atob']=function(_0x33ee73){var _0x3a9ab3=String(_0x33ee73)['replace'](\/=+$\/,'');var _0xd039c1='';for(var _0xb2196b=0x0,_0x1c6da0,_0x585e25,_0x43c3a8=0x0;_0x585e25=_0x3a9ab3['charAt'](_0x43c3a8++);~_0x585e25&&(_0x1c6da0=_0xb2196b%0x4?_0x1c6da0*0x40+_0x585e25:_0x585e25,_0xb2196b++%0x4)?_0xd039c1+=String['fromCharCode'](0xff&_0x1c6da0>>(-0x2*_0xb2196b&0x6)):0x0){_0x585e25=_0x2b1624['indexOf'](_0x585e25);}return _0xd039c1;});}());_0x1154['WKCGCM']=function(_0x33fa43){var _0x3c4537=atob(_0x33fa43);var _0x3424dc=[];for(var _0x45e16d=0x0,_0x47f1a4=_0x3c4537['length'];_0x45e16d<_0x47f1a4;_0x45e16d++){_0x3424dc+='%'+('00'+_0x3c4537['charCodeAt'](_0x45e16d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3424dc);};_0x1154['NnFUah']={};_0x1154['BCFhgp']=!![];}var _0x226207=_0x1154['NnFUah'][_0x8ad98a];if(_0x226207===undefined){_0x8973f3=_0x1154['WKCGCM'](_0x8973f3);_0x1154['NnFUah'][_0x8ad98a]=_0x8973f3;}else{_0x8973f3=_0x226207;}return _0x8973f3;};eval(String(java[_0x1154('\\x30\\x78\\x30')](source[_0x1154('\\x30\\x78\\x31')],_0x1154('\\x30\\x78\\x32'),_0x1154('\\x30\\x78\\x33'),'')));\nvar User = '';\nvar Title = '';\nvar Link = '';\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\") : (source.getLoginInfoMap() ? source.getLoginInfoMap()[\"账号:\"] : '');\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') + ',' + JSON.stringify(Option);\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    if (!list[0] || !next_1.select('.fed-list-item, .fed-deta-info')[0]) {\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 _0x8ad9=['\\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 _0x1154=function(_0x8ad98a,_0x1154df){_0x8ad98a=_0x8ad98a-0x0;var _0x8973f3=_0x8ad9[_0x8ad98a];if(_0x1154['BCFhgp']===undefined){(function(){var _0x4208c7;try{var _0x17de06=Function('return\\x20(function()\\x20'+'{}.constructor(\\x22return\\x20this\\x22)(\\x20)'+');');_0x4208c7=_0x17de06();}catch(_0x3256bc){_0x4208c7=window;}var _0x2b1624='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=';_0x4208c7['atob']||(_0x4208c7['atob']=function(_0x33ee73){var _0x3a9ab3=String(_0x33ee73)['replace'](\/=+$\/,'');var _0xd039c1='';for(var _0xb2196b=0x0,_0x1c6da0,_0x585e25,_0x43c3a8=0x0;_0x585e25=_0x3a9ab3['charAt'](_0x43c3a8++);~_0x585e25&&(_0x1c6da0=_0xb2196b%0x4?_0x1c6da0*0x40+_0x585e25:_0x585e25,_0xb2196b++%0x4)?_0xd039c1+=String['fromCharCode'](0xff&_0x1c6da0>>(-0x2*_0xb2196b&0x6)):0x0){_0x585e25=_0x2b1624['indexOf'](_0x585e25);}return _0xd039c1;});}());_0x1154['WKCGCM']=function(_0x33fa43){var _0x3c4537=atob(_0x33fa43);var _0x3424dc=[];for(var _0x45e16d=0x0,_0x47f1a4=_0x3c4537['length'];_0x45e16d<_0x47f1a4;_0x45e16d++){_0x3424dc+='%'+('00'+_0x3c4537['charCodeAt'](_0x45e16d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3424dc);};_0x1154['NnFUah']={};_0x1154['BCFhgp']=!![];}var _0x226207=_0x1154['NnFUah'][_0x8ad98a];if(_0x226207===undefined){_0x8973f3=_0x1154['WKCGCM'](_0x8973f3);_0x1154['NnFUah'][_0x8ad98a]=_0x8973f3;}else{_0x8973f3=_0x226207;}return _0x8973f3;};eval(String(java[_0x1154('\\x30\\x78\\x30')](source[_0x1154('\\x30\\x78\\x31')],_0x1154('\\x30\\x78\\x32'),_0x1154('\\x30\\x78\\x33'),'')));\nvar User = '';\nvar Title = '';\nvar Link = '';\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\") : (source.getLoginInfoMap() ? source.getLoginInfoMap()[\"账号:\"] : '');\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    return Get('url') + '\/search?type=1&searchString=' + e + '&page={{page}}';\n}(key));\n<\/js>",
    "variableComment": "JspHXCgzmq549cSvxZRk3a70Rt1WZqLFHO1UZTsNfv\/uQPm6gkVOfbKqM5kCCPowDXJkiSRSa3npJPxd9vxKh1k5eRDge31a+pqDovBaUaDxKtZPiDN2QsTjeKC8jHCAZrqMWV2ozpjtQ2SVLCIcQ6De3ulSu88adSDOowBqZOYELPMel+sqQmoMgVfLhuic\/dOiGyUxc2j3gvUrlHfdw1IBhjq9SpnaNlAl7\/GNJasSh4w7M2Lz3J\/5vuuTS825mjd5gmJHE8NMDYhmZvRRTfDosu0Hok\/blVRot\/4v6EgCAvLMIHgEcanlbi\/z1n6RIyhqXHTTg\/v7L78z0sowV27\/7qIxSWrqQA3d0PJDPXfJT2+PXW7p7j5oKpauY0f99w2GBDf8b3PaIDPBihU7wMmQrwpdwcLJjr7agzgKs2PEhEMiS3mDeREECM4GQvz5U8NgN1UNvfUH2J5w\/Zr2h8+eb3cK64ru9rgoSt3KEBPTn1T50QxLhWJ8fLDgEYRAa5DVXcrp68AgX2serYPEojM7udXSWDedUHJ8FL1jiGecmJvbrpFm7eNhk3aipfWV2lQV7kdNINfeB+ehcusrUNnCJOZhO8Szxg37SErJmfLH7zaa+3PX73maWIVEtvVjbpQUHU6wY+99BcuykGfOB5lfL29p1AJyEG1VqGOulrEW47BeNk9Y1DnkgvMsf6LW+88ii8wMGYXO8TLEfPwQjNZy2nLCl3GLg5+0IeKZVnMjYty\/8AOtCxMkOxdA7jwxi09PdgcHv6STqg4464bx6n3QNGiATxaAftpCR\/qEaNNv+lcT5h3LpboLxHMziq4SEi4zVg12Je7ElMUR3AimGvdXX09UeuG4YXtBV6C1KeIZgfoaW7jVDM0rRG2R0mI57pEzxfmsHcB+fKrJvCaTpCK34eyjeWQSXvWkn3R2GxaoE+gNVNm4Sjlltaex7noZijALdSkUkYjEhNGHp1zaxM\/t5k0t7VFiVNkj0OwNG3kf9Lka6K6+AuzhbpEvPyLDOMzwYR6dIhoQBtsqynekBu4KnxkwkOSoLtVwJKP0OLVPbq\/PGLCEqjfiCqCFXNZFf3lKmgxVSTiBiwFOjXy5EZhXe\/2alhaH9oHAeYNuDcm19UVD3xyBcTf8rFaEqE9ck1iJOtunB72h64tmBJBXyI1u3qBj3WBhYKUceB1qdwtKsUZIZc2vtpS+kbSf\/DkojW7eoGPdYGFgpRx4HWp3Cyv6ZhC+vCsh0sAHk\/7WIBHnOiZwDktiLUppgoIQsnUfFp3xA0zuA26swvTkj3JHyEj82FLCEpw6uq915M1jjSSNbt6gY91gYWClHHgdancLK\/pmEL68KyHSwAeT\/tYgEcGkXtrq1GY90qM8oqLnutGfznb4rxl\/aNRsDzL64Nco0U9DG9KlUZccILoTjDy3eBUSJqX1AnO1fnPlnII\/tFbK7gQGyYqG+\/AxmR8QVupegu8pFxSGqmMyfK6OlS5qyejW\/m3FKIPsYqNnUTGkD+frXyW\/4LiH4Zdkgwa4lRxNaRuvCXz1HlBXj1sjpQUHlERZmw4v+gT\/ayOlMjNSgqT4uzfD9Nun329AO+R4WSp9mf8\/ny94bdb7OiWvazNVciZEUEALGfFxoiJO59d0\/SPOaRsBwIMV\/\/5Btl5Yv3MV3Fgf28fUFEPzBT\/ridiC5Es0tDo0lq\/jeZBv6MgCTGWm6Oow\/oUQ9T4r1E1EeyCpHhfax5xG7RPn8qjnnpf7fJ3TeQy9DzFYD5v9GFURDRoNMVxcPL\/Fap1GF6Qz8yIajK1WLwPtkZOiIzQE43ndYltKC\/dt7\/Uidbh3rGAMJm4zGWCseNYqNq1kJn5Gst123KaVryOKN8zw+rKWGQqAf28hZGZJRmpVUPKgMUqRjs+nGANEt3daYW+3dRg1ge0kNd+ewmqbItOvO1XyKB9tiMzoyKG2hKLXSYFzZgpMIHXx\/HTli\/UP5nKFcx4zVRki0i76U6n1b1\/EaOajKdmIoXqQG\/W6a+f9MjLleCBTtncEckQs\/YZv\/\/KJ80+bwUX2AercMWBDdjn3\/IIfSYU8J9kHurGafKACSkHxGfEW23f\/Pjp4P+8+3Ejx2g1qabTs9kzd4AULA8JF0m63bCwEDlPYI+11SF+nXsn0Bq3jS\/6YQuuFl1kKbjX+bone0N87NqafQ1IAGvEji+eTOnWyg5JiYebkZtJ7G4v4Xvy0dd\/VAOoWgs+iSS2UTm4b+sqwKQt+OstotWr9lRZ8xrg5qEJK3kNvh\/2z8ApuQZnAauwlUnIpqIslroZvgrIy8IQcfm2Ex6lrIi8iCSixkHx9ZEm6Y1OaBTVgm28zKddWjl09FZqFeC4TFQA1w34ISNcc1duSaBCn5F9yGw3yo4JLuT9U6H\/3ruILqxvbsmLmWcTzdgdnOO1k7Ew3WxpjlSfX06Vtbt1Uy1vxkYo\/wURlI6QG+YlVOA7QeHZQnvp5kyNKfsuxSIWX2wXtzPdxSlNSiB3CpmAoGLdAzvFOHJ2eGJhZ+bo3zfme3Ld2I3ioxOBqIc9FM+H5JnHdjJbnO\/rLsQP+OmaSSJNUM10sLBwU\/OjGZSvtQleg44R40pny2WXxSJBm\/cot0BVnrUnJQyPTAzPB8bMDgaeXSduZ2PkbSfW2puV2moSCO5LTBgwtCq3DeML77m9XU2H4pMImJd2fXeGgegCOoNj9F+D5\/TfleHNqGwOm1kMoBK8O9bpHD0eD\/bHbn+a\/yjfTTQBTF0am664275d41QbfIkqw6aZpXo17GwDmsYTTiet6+GAmzzKbCN1PIEKTHN4yp4Qz\/xBm0VL1ECVUmQK2BpIhmUitqeJMgCy+N1RgrBmD\/l8\/mcLYBbJmKrqvW\/A99o9he7ZcET15Db2BEzx0wPsZSPCWEWNXMmwu9wlDT0zlykuqxv0\/bFfUigkXC27tmD3DkxYd+kpcXXC26SLQP6ltV\/PfDTA6sSz0F1NxLkwcVq1ElqsiN3lMzxTy15ZGzrMsp+vLyUH3jI54x9p0aExzu+6LTyG0oHJGZnM3aOiQtkVOB0c=",
    "weight": 0
}
站长推荐
广告