🎨哔哩哔哩漫画💓

https://manga.bilibili.com

xiaohan231 (515)06/14 12:09

V2.2版,激活码:555666
二维码导入
{
    "bookSourceComment": "",
    "bookSourceGroup": "🍿 日常,🎊 常用,🎨 漫画",
    "bookSourceName": "🎨哔哩哔哩漫画💓",
    "bookSourceType": 2,
    "bookSourceUrl": "https:\/\/manga.bilibili.com",
    "bookUrlPattern": "https:\/\/.*\/twirp\/comic.v1.Comic\/ComicDetail?device=pc&platform=web,.*comic_id.*",
    "concurrentRate": "20\/5000",
    "customOrder": 117,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreUrl": "<js>\neval(String(source.loginUrl));\nvar Option = {\n    \"method\": \"GET\",\n    \"headers\": \"\"\n};\nvar requestBody = `{}`;\nvar option = {\n    \"method\": \"POST\",\n    \"body\": String(requestBody),\n    \"headers\": \"\"\n};\nvar Url1 = Get('url') + '\/twirp\/comic.v1.Comic\/ListRank?device=pc&platform=web,' + JSON.stringify(option);\nvar Url2 = Get('url') + '\/twirp\/comic.v1.Comic\/AllLabel?device=pc&platform=web,' + JSON.stringify(option);\nrank = JSON.parse(java.ajax(Url1)).data.list;\nkind = JSON.parse(java.ajax(Url2)).data.styles;\nvar exploreUrl = [];\nif(cookie.getCookie(Get('url')).includes('SESSDATA')) {\n    var list = JSON.parse(java.ajax('https:\/\/api.bilibili.com\/x\/web-interface\/nav')).data;\n    if (cookie.getCookie(Get('url')).includes('SESSDATA') && !list.uname) {\n    \tLogin();\n    \tlist = JSON.parse(java.ajax('https:\/\/api.bilibili.com\/x\/web-interface\/nav')).data;\n    }\n    if(list.uname) {\n        cache.put(java.md5Encode16(Get('url') + \"Account_1\"), list.uname);\n        java.put(java.md5Encode16(Get('url') + \"Account_1\"), list.uname);\n        Option9 = `{{get('option9','0')}}`;\n        Option10 = `{{get('option10','0')}}`;\n        Option11 = `{{get('option11','0')}}`;\n        Option12 = `{{get('option12','0')}}`;\n        Option13 = `{{get('option13','0')}}`;\n        exploreUrl.push(explore('✣【' + list.uname + '】✣', '', 1, 1, false));\n        var signdate = sign();\n        cache.put(\"bili-sign\", signdate);\n        exploreUrl.push(explore(signdate + '✔️', '', 1, 0.25, false));\n        exploreUrl.push(explore('已购漫画', `{{Get('url')}}\/twirp\/user.v1.User\/GetAutoBuyComics?device=pc&platform=web,${Option9}{{page}}${Option10}`, 1, 0.25, false));\n        exploreUrl.push(explore('阅读历史', `{{Get('url')}}\/twirp\/bookshelf.v1.Bookshelf\/ListHistory?device=pc&platform=web,${Option9}{{page}}${Option10}`, 1, 0.25, false));\n        exploreUrl.push(explore('✣  追 漫  ✣', '', 1, 1, false));\n        exploreUrl.push(explore('追漫顺序', `{{Get('url')}}\/twirp\/bookshelf.v1.Bookshelf\/ListFavorite?device=pc&platform=web,${Option9}{{page}}${Option11}`, 1, 0.25, false));\n        exploreUrl.push(explore('更新时间', `{{Get('url')}}\/twirp\/bookshelf.v1.Bookshelf\/ListFavorite?device=pc&platform=web,${Option9}{{page}}${Option12}`, 1, 0.25, false));\n        exploreUrl.push(explore('完成等免', `{{Get('url')}}\/twirp\/bookshelf.v1.Bookshelf\/ListFavorite?device=pc&platform=web,${Option9}{{page}}${Option13}`, 1, 0.25, false));\n    }\n}\ntitle = '✣       ✣  榜  单  ✣       ✣';\nexploreUrl.push(explore(title, '', 1, 1, false));\nOption = `{{get('option','0')}}`;\nOption1 = `{{get('option1','0')}}`;\nfor (i in rank) {\n    url = `{{Get('url')}}\/twirp\/comic.v1.Comic\/GetRankInfo?device=pc&platform=web,${Option}${rank[i].id}${Option1}`;\n    exploreUrl.push(explore(rank[i].name, url, 1, 0.2, false));\n}\ntitle = '✣       ✣  标  签  ✣       ✣';\nexploreUrl.push(explore(title, '', 1, 1, false));\nOption2 = `{{get('option2','0')}}`;\nOption3 = `{{get('option3','0')}}`;\nOption4 = `{{get('option4','0')}}`;\nOption5 = `{{get('option5','0')}}`;\nOption6 = `{{get('option6','0')}}`;\nOption7 = `{{get('option7','0')}}`;\nOption8 = `{{get('option8','0')}}`;\nO = `{{get('o1',Get('o'))}}`;\nP = `{{get('p1',Get('p'))}}`;\nQ = `{{get('q1',Get('q'))}}`;\nR = `{{get('r1',Get('r'))}}`;\nurl0 = `{{Get('url')}}\/twirp\/comic.v1.Comic\/ClassPage?device=pc&platform=web,${Option2}-1${Option3}${O}${Option4}${P}${Option5}${R}${Option6}{{page}}${Option7}${Q}${Option8}`;\nexploreUrl.push(explore('全部', url0, 1, 0.25, false));\nfor (j in kind) {\n    url = `{{Get('url')}}\/twirp\/comic.v1.Comic\/ClassPage?device=pc&platform=web,${Option2}${kind[j].id}${Option3}${O}${Option4}${P}${Option5}${R}${Option6}{{page}}${Option7}${Q}${Option8}`;\n    exploreUrl.push(explore(kind[j].name, url, 1, 0.25, false));\n}\nBID = ((kind.length + 1) % 3) < 1 ? 0 : (3 - ((kind.length + 1) % 3));\nfor (i = 0; i < BID; i++) {\n   exploreUrl.push(explore('', '', 1, 0.25, false)); \n}\n\/\/exploreUrl.splice(40, 0, explore('', '', 1, 0.25, false));\nJSON.stringify(exploreUrl);\n<\/js>",
    "header": "<js>\nvar Proxy = Map('代理:').split(\",\");\nheaders={\n    \"User-Agent\": \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/124.0.0.0 Safari\/537.36\",\n    \"proxy\": Proxy.some(value => parseInt(value, 10) == parseInt(Get('ci0'), 10)) ? '' : Proxy[0],\n}\ncache.put(java.md5Encode16(Get('url') + \"headers\"),JSON.stringify(headers));\nJSON.stringify(headers);\n<\/js>",
    "jsLib": "function get(tag,num) {\n    var option = ['{\"body\":{\"id\":'];\n    var option1 = ['},\"headers\": \"\",\"method\": \"POST\"}'];\n    var option2 = ['{\"body\":{\"style_id\":'];\n    var option3 = [',\"area_id\":'];\n    var option4 = [',\"is_finish\":'];\n    var option5 = [',\"order\":'];\n    var option6 = [',\"page_num\":'];\n    var option7 = [',\"page_size\":18,\"is_free\":'];\n    var option8 = ['},\"headers\": \"\",\"method\": \"POST\"}'];\n    var option9 = ['{\"body\":{\"page_num\":'];\n    var option10 = [',\"page_size\":15},\"headers\": \"\",\"method\": \"POST\"}'];\n    var option11 = [',\"page_size\":15,\"order\":1,\"wait_free\":0},\"headers\": \"\",\"method\": \"POST\"}'];\n    var option12 = [',\"page_size\":15,\"order\":2,\"wait_free\":0},\"headers\": \"\",\"method\": \"POST\"}'];\n    var option13 = [',\"page_size\":15,\"order\":3,\"wait_free\":1},\"headers\": \"\",\"method\": \"POST\"}'];\n    var o1 = ['-1','1','2','6','5'];\n    var p1 = ['-1','0','1'];\n    var q1 = ['-1','1','2','3'];\n    var r1 = ['0','1','3'];\n    orderBy = [\n        '&orderby=click',\n        '&orderby=date',\n        '&orderby=score',\n        '&orderby=shoucang'\n    ];\n    var e = eval(tag + '[' + num + ']');\n    return e;\n}\nfunction explore(title, url, Grow, Basis, bool) {\n    style = {\n        title:title,\n        url:url,\n        style:{\n            layout_flexGrow:Grow,\n            layout_flexBasisPercent:Basis,\n            layout_wrapBefore: bool\n        }\n    };\n    return style;\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}\nfunction Num(e) {\n    e = String(e);\n    var num = e.length > 8 ? (e.substring(0, e.length - 8) + \"亿\") : (e.length > 4 ? (e.substring(0, e.length - 4) + \"万\") : e);\n    return num;\n}\nfunction sign() {\n    const { java, source, cookie } = this;\n    var get = JSON.parse(source.getVariable());\n    var requestBody = `{}`;\n    var option = {\n        \"method\": \"POST\",\n        \"body\": String(requestBody),\n        \"headers\": \"\"\n    };\n    var Url = get['url'] + '\/twirp\/activity.v1.Activity\/ClockIn?platform=android,' + JSON.stringify(option);\n    var sign = JSON.parse(java.ajax(Url));\n    var date = String(java.timeFormat(new Date().getTime())).replace(\/\\d+\\\/(.*)\\s.*\/, '$1');\n    java.longToast('【登录提示】\\n\\n┏┅━┅━┅━┅━┅┅━┅━┅━┅━┅┓\\n┋┋' + '\\n账号:' + java.get(java.md5Encode16(get['url'] + \"Account_1\")) + '\\n┋┋' + '\\n❤️登录成功❤️\\n┋┋' + (sign.code < 1 ? ('\\n📆今日签到成功~\\n┋┋') : ('\\n📆' + sign.msg + '\\n┋┋')) + '\\n┗┅━┅━┅━┅━┅┅━┅━┅━┅━┅┛');\n    return date;\n}",
    "lastUpdateTime": 1718310889121,
    "loginCheckJs": "",
    "loginUi": "[\n  { name: \"激活码:\", type: \"text\" },\n  { name: \"代理:\", type: \"text\" },\n  {\n    name: \"      💡登录账号💡      \",\n    type: \"button\",\n    action: \"Login()\"\n  },\n  {\n    name: \"      💡源站测试💡      \",\n    type: \"button\",\n    action: \"test(1)\"\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: \"o(0)\" },\n  { name: \"      大 陆      \", type: \"button\", action: \"o(1)\" },\n  { name: \"      日 本     \", type: \"button\", action: \"o(2)\" },\n  { name: \"      韩 国      \", type: \"button\", action: \"o(3)\" },\n  { name: \"      其 它      \", type: \"button\", action: \"o(4)\" },\n  { name: \"                     \", type: \"button\"},\n\n  { name: \"                      ༺ˇ»`ʚ  点击切换进度  ɞ´«ˇ༻                    \", type: \"button\" },\n  { name: \"      全 部      \", type: \"button\", action: \"p(0)\" },\n  { name: \"      连 载      \", type: \"button\", action: \"p(1)\" },\n  { name: \"      完 结      \", type: \"button\", action: \"p(2)\" },\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  { name: \"等就免费\", type: \"button\", action: \"q(3)\" },\n\n  { name: \"                      ༺ˇ»`ʚ  点击切换排序  ɞ´«ˇ༻                    \", type: \"button\" },\n  { name: \"  人气推荐  \", type: \"button\", action: \"r(0)\" },\n  { name: \"   更新时间   \", type: \"button\", action: \"r(1)\" },\n  { name: \"  上架时间  \", type: \"button\", action: \"r(2)\" },\n\n  { name: \"                      ༺ˇ»`ʚ  点击切换接口  ɞ´«ˇ༻                    \", type: \"button\" },\n  { name: \"🚨风险提示\", type: \"button\", action: \"login('【🚨风险提示】' + n(2) + '① BiliPlus解析可获取已关联 bilibili 帐号访客的已解锁章节。\\\\n② BiliPlus解析需要允许第三方网站登录账号,可能存在风险。')\" },\n  { name: \"  B站解析 \", type: \"button\", action: \"s(0)\" },\n  { name: \"BiliPlus解析\", type: \"button\", action: \"s(1)\" },\n\n  { name: \"                      ༺ˇ»`ʚ  点击评论排序  ɞ´«ˇ༻                     \", type: \"button\" },\n  { name: \"      最 新      \", type: \"button\", action: \"t(0)\" },\n  { name: \"      最 热      \", type: \"button\", action: \"t(2)\" },\n  { name: \"      回 复      \", type: \"button\", action: \"t(1)\" },\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 = '';\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    'r': 0,\n    's': 0,\n    't': 0,\n    'search_TC': false,\n    'TC_to_SC': true,\n    'settle': false,\n    'url': 'https:\/\/manga.bilibili.com',\n    'urls': [\n        'https:\/\/manga.bilibili.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(java.md5Encode16(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.webViewGetOverrideUrl(null, fburl, null, '');\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' + '🗺当前地区:' + typeO($$$.o)) + '\\n┋┋' + ('\\n' + '⏲️漫画进度:' + typeP($$$.p)) + '\\n┋┋' + ('\\n' + '💴收费分类:' + typeQ($$$.q)) + '\\n┋┋' + ('\\n' + '📚漫画排序:' + typeR($$$.r)) + '\\n┋┋' + ('\\n' + '📡正文接口:' + typeS($$$.s)) + '\\n┋┋' + ('\\n' + '📰评论页数:前' + ($$$.f) + '页') + '\\n┋┋' + ('\\n' + '📝评论排序:' + typeT($$$.t)) + '\\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($$$.ci0)) + '\\n┋┋' + ('\\n ci2:' + name($$$.ci1)) + '\\n┋┋' + ('\\n ci3:' + name($$$.ci2)) + '\\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'];\n    $$$['ci2'] = $$$['ci1'];\n    $$$['ci1'] = $$$['ci0'];\n    $$$['ci0'] = e;\n    put($$$);\n    test(e);\n}\nO = ['全部','大陆','日本','韩国','其它'];\nfunction typeO(e) {\n    if (e == undefined) {\n        e = 0;\n    }\n    return O[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) + '已经切换到[' + typeO(e) + ']地区');\n    $$$.o = e;\n    return put($$$);\n}\nP = ['全部','连载','完结'];\nfunction typeP(e) {\n    if (e == undefined) {\n        e = 0;\n    }\n    return P[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) + '已经切换到[' + typeP(e) + ']进度');\n    $$$.p = e;\n    return put($$$);\n}\nQ = ['全部','免费','付费','等就免费'];\nfunction typeQ(e) {\n    if (e == undefined) {\n        e = 0;\n    }\n    return Q[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) + '已经切换到[' + typeQ(e) + ']分类');\n    $$$.q = e;\n    return put($$$);\n}\nR = ['人气推荐','更新时间','上架时间'];\nfunction typeR(e) {\n    if (e == undefined) {\n        e = 0;\n    }\n    return R[e];\n}\nfunction r(e) {\n    if (r == undefined) {\n        r = result.r;\n    }\n    if (e == $$$.r) {\n        return login('【排序切换提示】' + n(2) + '已经选择此排序,无需更换');\n    }\n    login('【排序切换提示】' + n(2) + '已经切换到[' + typeR(e) + ']排序');\n    $$$.r = e;\n    return put($$$);\n}\nS = ['B站解析','BiliPlus解析'];\nfunction typeS(e) {\n    if (e == undefined) {\n        e = 0;\n    }\n    return S[e];\n}\nfunction s(e) {\n    if (s == undefined) {\n        s = result.s;\n    }\n    if (e == $$$.s) {\n        return login('【接口切换提示】' + n(2) + '已经选择此接口,无需更换');\n    }\n    login('【接口切换提示】' + n(2) + '已经切换到[' + typeS(e) + ']接口');\n    if (e > 0) {\n        Login1();\n    }\n    $$$.s = e;\n    return put($$$);\n}\nT = ['最新','回复','最热'];\nfunction typeT(e) {\n    if (e == undefined) {\n        e = 0;\n    }\n    return T[e];\n}\nfunction t(e) {\n    if (t == undefined) {\n        t = result.t;\n    }\n    if (e == $$$.t) {\n        return login('【排序切换提示】' + n(2) + '已经选择此排序,无需更换');\n    }\n    login('【排序切换提示】' + n(2) + '已经切换到[' + typeT(e) + ']排序');\n    $$$.t = e;\n    return put($$$);\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}\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 sleep(milliseconds) {\n    var start = new Date().getTime();\n    while (new Date().getTime() - start < milliseconds) {\n    }\n}\nfunction Login() {\n    var URL = 'https:\/\/passport.bilibili.com';\n    java.webView('', URL + '\/login', '');\n    var json = java.ajax(URL + '\/x\/passport-login\/web\/qrcode\/generate?source=main_web');\n    var qrcode = JSON.parse(json).data.qrcode_key;\n    java.startBrowser('https:\/\/www.coolapk.com\/link?url=bilibili:\/\/browser\/?url=' + URL + '\/h5-app\/passport\/login\/scan?qrcode_key=' + qrcode + '&navhide=1&from=main_web', '登录');\n    for (i = 0; i < 60; i++) {\n        Response = java.ajax(URL + '\/x\/passport-login\/web\/qrcode\/poll?qrcode_key=' + qrcode + '&source=main_web');\n        var list = JSON.parse(Response);\n        if (list.data.code == 0) {\n            var refresh_token = list.data.refresh_token;\n            var url1 = list.data.url;\n            break;\n        }\n        sleep(1000);\n    }\n    java.ajax(url1);\n}\nfunction Login1() {\n    var URL = 'https:\/\/www.biliplus.com';\n    java.webView('', URL + '\/login', '');\n    var json = java.ajax(URL + '\/login?act=getauth');\n    var url = JSON.parse(json).data.url;\n    java.startBrowser('https:\/\/www.coolapk.com\/link?url=bilibili:\/\/browser\/?url=' + url, '登录');\n    var requestBody = String(url).replace(\/.*\\?(.*)&.*\/, '$1');\n    var headers = JSON.parse(cache.get(java.md5Encode16(Get('url') + \"headers\")).replace('\"Referer\":\"' + Get('url'), '\"Referer\":\"' + URL + '\/login'));\n    var option = {\n        \"method\": \"POST\",\n        \"body\": String(requestBody),\n        \"headers\": String(headers)\n    };\n    for (i = 0; i < 60; i++) {\n        Response = java.ajax(URL + '\/login?act=authpoll,' + JSON.stringify(option));\n        var list = JSON.parse(Response);\n        if (list.code == 0) {\n            var mid = list.data.mid;\n            var access_token = list.data.access_token;\n            var refresh_token = list.data.refresh_token;\n            var expire = list.data.cookie_info.cookies[0].expires;\n            break;\n        }\n        sleep(1000);\n    }\n    var url1 = URL + '\/login?act=savekey&mid=' + mid + '&access_key=' + access_token + '&refresh_token=' + refresh_token + '&expire=' + expire;\n    java.ajax(url1);\n    java.ajax(URL + '\/login');\n}",
    "respondTime": 180000,
    "ruleBookInfo": {
        "author": "author",
        "canReName": "reName",
        "coverUrl": "cover",
        "downloadUrls": "durl",
        "init": "<js>\neval(String(source.loginUrl));\nvar Headers = JSON.parse(cache.get(java.md5Encode16(Get('url') + \"headers\")).replace(Get('url'), baseUrl));\nvar Option = {\n    \"method\": \"GET\",\n    \"headers\": Headers\n};\nif (String(book['author']) !== \"xiaohan231\") {\n    Account = (cache.get(java.md5Encode16(Get('url') + \"Account_1\")) && String(cache.get(java.md5Encode16(Get('url') + \"Account_1\"))).length > 0) ? cache.get(java.md5Encode16(Get('url') + \"Account_1\")) : '';\n    var list = JSON.parse(result).data;\n    var $2 = element => String(java.getElements(element).text());\n    var $3 = element => java.getElements(element);\n    url = baseUrl;\n    cache.put(java.md5Encode16('ComicId' + url), String(list.id));\n    var authors = [];\n    var authorElements = list.authors;\n    for (j in authorElements) {\n        authors.push(String(authorElements[j].name));\n    }\n    author = authors.join('\/');\n    s = '';\n    var styles = [];\n    var styleElements = list.styles;\n    for (j in styleElements) {\n        styles.push(String(styleElements[j]));\n    }\n    style = styles.join(',');\n    var tags = [];\n    var tagElements = list.tags;\n    for (j in tagElements) {\n        if (!String(style).includes(String(tagElements[j].name))) {\n            tags.push(String(tagElements[j].name));\n        }\n    }\n    tag = tags.join(',');\n    k = (list.is_finish > 0 ? '完结,' : '连载,') + style + ',' + tag + (list.pay_mode > 0 ? '' : ',免费') + (list.allow_wait_free ? ',等免' : '');\n    t = list.ep_list[0].pub_time;\n    Title = String(list.ep_list[0].short_title).replace(\/^([一二两三四五六七八九十零百千万0-9.]+)[话話章回期]?\/, '第$1话').replace(\/^(\\d+\\.\\d)$\/, '第$1话').replace(\/^(\\d+\\-)\/, '第$1话-');\n    Title1 = String(list.ep_list[0].title).replace(\/.*?[一二两三四五六七八九十零百千万0-9.]+[话話章回期].*\/, '');\n    title1 = String(list.ep_list[0].title && String(list.ep_list[0].title).replace(\/.*?[一二两三四五六七八九十零百千万0-9.]+[话話章回期].*\/, '') == '' && Title1 == '' ? '' : Title);\n    short_title = list.ep_list[0].short_title == list.ep_list[0].short_title ? String(list.ep_list[0].short_title) : '';\n    title2 = String(' ' + String(list.ep_list[0].title).replace(title1, '').replace(short_title, '')).replace(\/^\\s$\/, '');\n    l = title1 + title2;\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 ? '默认' : '自选') + '〗' + O[Get('o')]) + ('\\n⏲️漫画进度:〖' + (Get('p') == 0 ? '默认' : '自选') + '〗' + P[Get('p')]) + ('\\n💴收费分类:〖' + (Get('q') == 0 ? '默认' : '自选') + '〗' + Q[Get('q')]) + ('\\n📚漫画排序:〖' + (Get('r') == 0 ? '默认' : '自选') + '〗' + R[Get('r')]) + ('\\n📡正文接口:〖' + (Get('s') == 0 ? '默认' : '自选') + '〗' + S[Get('s')]) + ('\\n📰评论页数:〖' + (Get('f') == 5 ? '默认' : '自选') + '〗前' + Get('f') + '页') + ('\\n📝评论排序:〖' + (Get('r') == 0 ? '默认' : '自选') + '〗' + T[Get('t')]) + ('\\n🔍繁体搜索:' + (Get('search_TC') == true ? '〖自选〗开启' : '〖默认〗关闭')) + ('\\n📑繁简转换:' + (Get('TC_to_SC') == true ? '〖默认〗开启' : '〖自选〗关闭')) + ('\\n🗃目录整理:' + (Get('settle') == true ? '〖自选〗开启' : '〖默认〗关闭'));\n    changeLog = '\\nㅤ\\nㅤ\\n' + Setting + '\\nㅤ\\n';\n    function B2E(comment) {\n        const emojiMap = {\n            \"[微笑]\": \"😊\",\n            \"[哈哈]\": \"😄\",\n            \"[大笑]\": \"😆\",\n            \"[大哭]\": \"😭\",\n            \"[憨笑]\": \"😆\",\n            \"[可爱]\": \"😊\",\n            \"[害羞]\": \"😳\",\n            \"[疑问]\": \"🤔\",\n            \"[思考]\": \"🤔\",\n            \"[吐舌]\": \"😛\",\n            \"[闭嘴]\": \"🤐\",\n            \"[加油]\": \"💪\",\n            \"[支持]\": \"👍\",\n            \"[口罩]\": \"😷\",\n            \"[doge]\": \"🐶\",\n            \"[妙啊]\": \"😆\",\n            \"[OK]\": \"👌\",\n            \"[星星眼]\": \"🤩\",\n            \"[色]\": \"😍\",\n            \"[辣眼睛]\": \"🤧\",\n            \"[给心心]\": \"😘\",\n            \"[吃瓜]\": \"🍉\",\n            \"[滑稽]\": \"🤪\",\n            \"[呲牙]\": \"😬\",\n            \"[打call]\": \"🫶\",\n            \"[歪嘴]\": \"😏\",\n            \"[调皮]\": \"😜\",\n            \"[豹富]\": \"🤑\",\n            \"[嗑瓜子]\": \"🍿\",\n            \"[笑哭]\": \"😂\",\n            \"[藏狐]\": \"🦊\",\n            \"[脸红]\": \"😳\",\n            \"[嘟嘟]\": \"😙\",\n            \"[哦呼]\": \"😲\",\n            \"[喜欢]\": \"🥰\",\n            \"[酸了]\": \"🍋\",\n            \"[嫌弃]\": \"😑\",\n            \"[害羞]\": \"😳\",\n            \"[疑惑]\": \"😕\",\n            \"[喜极而泣]\": \"🤣\",\n            \"[笑]\": \"🙂\",\n            \"[偷笑]\": \"🤭\",\n            \"[惊讶]\": \"😮\",\n            \"[捂脸]\": \"🤦‍♀️\",\n            \"[阴险]\": \"😈\",\n            \"[呆]\": \"🤓\",\n            \"[呆滞]\": \"😳\",\n            \"[震撼]\": \"😲\",\n            \"[注意]\": \"🧐\",\n            \"[抠鼻]\": \"😉\",\n            \"[惊喜]\": \"😆\",\n            \"[无语]\": \"😑\",\n            \"[点赞]\": \"👍\",\n            \"[鼓掌]\": \"👏\",\n            \"[尴尬]\": \"😅\",\n            \"[灵魂出窍]\": \"👻\",\n            \"[委屈]\": \"🙁\",\n            \"[傲娇]\": \"😌\",\n            \"[疼]\": \"🥴\",\n            \"[冷]\": \"🥶\",\n            \"[热]\": \"🥵\",\n            \"[生病]\": \"🤒\",\n            \"[捂眼]\": \"🫣\",\n            \"[嘘声]\": \"🤫\",\n            \"[思考]\": \"🤔\",\n            \"[再见]\": \"👋\",\n            \"[翻白眼]\": \"🙄\",\n            \"[哈欠]\": \"🥱\",\n            \"[奋斗]\": \"✊\",\n            \"[墨镜]\": \"😎\",\n            \"[难过]\": \"😞\",\n            \"[撇嘴]\": \"😕\",\n            \"[抓狂]\": \"😡\",\n            \"[生气]\": \"😠\",\n            \"[水稻]\": \"🌾\",\n            \"[奶茶干杯]\": \"🧋🧋\",\n            \"[汤圆]\": \"🍨\",\n            \"[锦鲤]\": \"🐬\",\n            \"[福到了]\": \"🧧\",\n            \"[鸡腿]\": \"🍗\",\n            \"[雪花]\": \"❄\",\n            \"[视频卫星]\": \"🛰\",\n            \"[干杯]\": \"🍻\",\n            \"[黑洞]\": \"🕳\",\n            \"[黑洞2]\": \"🕳\",\n            \"[爱心]\": \"❤\",\n            \"[胜利]\": \"✌\",\n            \"[抱拳]\": \"🫸🤛\",\n            \"[响指]\": \"🫰\",\n            \"[保佑]\": \"🙏\",\n            \"[福]\": \"🧧\",\n            \"[拥抱]\": \"🤗\",\n            \"[跪了]\": \"🧎\",\n            \"[怪我咯]\": \"🤷‍♂️\",\n            \"[老鼠]\": \"🐹\",\n            \"[鼠年]\": \"🐹\",\n            \"[牛年]\": \"🐮\",\n            \"[虎年]\": \"🐯\",\n            \"[兔年]\": \"🐰\",\n            \"[龙年]\": \"🐉\",\n            \"[蛇年]\": \"🐍\",\n            \"[马年]\": \"🐴\",\n            \"[羊年]\": \"🐏\",\n            \"[猴年]\": \"🐵\",\n            \"[鸡年]\": \"🐔\",\n            \"[狗年]\": \"🐶\",\n            \"[猪年]\": \"🐷\",\n            \"[三星堆]\": \"🏺\",\n            \"[洛天依]\": \"💃\",\n            \"[哭泣]\": \"😢\",\n            \"[哈哈]\": \"😃\",\n            \"[狗子]\": \"🐶\",\n            \"[羞羞]\": \"😳\",\n            \"[亲亲]\": \"😗\",\n            \"[弹幕破百亿]\": \"🎊\",\n            \"[囧]\": \"😔\",\n            \"[奸笑]\": \"😏\",\n            \"[吓]\": \"😱\",\n            \"[吐]\": \"🤮\",\n            \"[足球]\": \"⚽\",\n            \"[高考加油]\": \"💪\",\n            \"[总冠军]\": \"🥇\",\n            \"[粽子]\": \"🍙\",\n            \"[母亲节]\": \"💐\",\n            \"[团宝]\": \"🐼\",\n            \"[泼水节]\": \"🔫\",\n            \"[冰墩墩]\": \"🐼\",\n            \"[雪容融]\": \"🐼\",\n            \"[耍帅]\": \"😎\",\n            \"[气愤]\": \"😠\",\n            \"[高兴]\": \"😁\",\n            \"[2021万圣节]\": \"🎃\",\n            \"[月饼]\": \"🥮\",\n            \"[加油武汉]\": \"💪\",\n            \"[画风突变]\": \"😈\",\n            \"[蜡烛]\": \"🕯\",\n            \"[给花花]\": \"🌷\",\n            \"[缘分]\": \"💑\",\n            \"[欢呼]\": \"🤩\",\n            \"[乖巧]\": \"😊\",\n            \"[钻石]\": \"💎\",\n            \"[沉思]\": \"🤔\",\n            \"[哇]\": \"😮\",\n            \"[哼]\": \"😤\",\n            \"[嗯]\": \"🙂\",\n            \"[欸嘿]\": \"😋\",\n            \"[喝茶]\": \"🍵\",\n            \"[笔芯]\": \"💖\",\n            \"[哭哭]\": \"😭\",\n            \"[问号]\": \"🤔\",\n            \"[达咩]\": \"🙅\",\n            \"[好耶]\": \"😆\",\n            \"[击爪]\": \"🤝\",\n            \"[怒了鸦]\": \"😡\",\n            \"[石化鸦]\": \"😮\",\n            \"[摊手鸦]\": \"🤷‍♂️\",\n            \"[比心鸦]\": \"💖\",\n            \"[哼白眼鸦]\": \"🙄\",\n            \"[哎?!]\": \"🤔\",\n            \"[爱你哦]\": \"😘\",\n            \"[好耶!]\": \"😆\",\n            \"[针不戳]\": \"😝\",\n            \"[脱单doge]\": \"🐶🌹\",\n            \"[不愧是你]\": \"😌\"\n        };\n        const regex = new RegExp(Object.keys(emojiMap).join(\"|\").replace(\/\\[|\\]\/g, \"\\\\$&\"), \"g\");\n        comment = comment.replace(\/\\[热词系列-\/g, '[').replace(\/-鼠年\\]|-牛年\\]|-虎年\\]|-兔年\\]|-龙年\\]|-蛇年\\]|-马年\\]|-羊年\\]|-猴年\\]|-鸡年\\]|-狗年\\]|-猪年\\]|-春节\\]|-圣诞\\]|-愚人节\\]|-愚人节2\\]\/g, ']').replace(\/\\[.*?\\-(.*)\\]\/g, '[$1]').replace(\/\\[.*?\\_(.*?)\\]\/g, '[$1]');\n        return comment.replace(regex, function(match) {\n            return emojiMap[match];\n        });\n    }\n    var url1 = 'https:\/\/www.biliplus.com\/api\/reply?isReply=0&jsonp=jsonp&type=22&sort=';\n    var id = list.id;\n    var list1 = [];\n    for (var c = 0; c < Get('f'); c++) {\n        var page = c + 1;\n        var option = {\n            \"method\": \"GET\",\n            \"headers\": {\"Content-Type\":\"application\/json\"}\n        };\n        var Url = url1 + Get('t') + '&oid=' + id + '&pn=' + page + '&callback=,' + JSON.stringify(option);\n        result1 = String(java.ajax(Url)).replace(\/\\((.*)\\)\/, '$1');\n        var pageData = JSON.parse(result1).data;\n        var pageList = JSON.parse(result1).data.replies;\n        list1 = list1.concat(pageList);\n    }\n    var intro2 = '';\n    var intro3 = '';\n    for (var i = 0; i < list1.length; i++) {\n        var intro2_1 = String('[' + java.timeFormat(list1[i].ctime*1000) + ']');\n        var intro2_2 = '⛄ Lv' +  list1[i].member.level_info.current_level + '【' +  list1[i].member.uname + '】:   ';\n        var intro2_3 = B2E(list1[i].content.message);\n        if (list1[i].replies.length > 0) {\n            var list2 = list1[i].replies;\n            for (var j = 0; j < list2.length; j++) {\n                var intro2_1_1 = String('[' + java.timeFormat(list1[j].ctime*1000) + ']');\n                var intro2_2_1 = '⛄ Lv' +  list2[j].member.level_info.current_level + '【' +  list1[j].member.uname + '】:   ';\n                var intro2_3_1 = B2E(list2[j].content.message);\n                intro3 = intro3 +'\\nㅤ     ' +  intro2_1_1 + '\\nㅤ     ' +  intro2_2_1 +  intro2_3_1;\n            }\n        }\n        intro2 = intro2 + '\\nㅤ\\n' +  intro2_1 + '\\n' +  intro2_2 +  intro2_3 + intro3;\n        intro3 = '';\n    }\n    if(String(Account).length > 0) {\n        let dataId = String(list.id);\n        var SC = cache.get(java.md5Encode16(book.originName + Account + dataId)) ? cache.get(java.md5Encode16(book.originName + Account + dataId)) : '';\n        var BN = list.title;\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\":{\"comic_ids\":\"' + dataId + '\"},\"headers\":\"\",\"method\": \"POST\"}';\n            let url = Get('url') + '\/twirp\/bookshelf.v1.Bookshelf\/AddFavorite?device=pc&platform=web,' + option;\n            java.ajax(url);\n            cache.put(java.md5Encode16(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\":{\"comic_ids\":\"' + dataId + '\"},\"headers\":\"\",\"method\": \"POST\"}';\n            let url = Get('url') + '\/twirp\/bookshelf.v1.Bookshelf\/DeleteFavorite?device=pc&platform=web,' + option;\n            java.ajax(url);\n            cache.put(java.md5Encode16(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': list.title,\n        'author': author,\n        'kind': String(s + ',' + k).replace(\/^(.{36}).*\/, '$1'),\n        'word': '',\n        'latest': l + '〔' + t + '〕',\n        'intro': (t != '' ? ('更新时间:' + t + (list.hall_icon_text != '' ? ('          星殿堂:' + list.hall_icon_text) : '') + '\\nㅤ\\n') : '') + (list.comment_status < 1 ? '⛔非常抱歉,您暂时无法阅读该漫画 ●︿●\\nㅤ\\n' : '') + (list.allow_wait_free\n ? ((String(list.wait_free_at).includes('2') ? ('⏰ 等免完成时间:' + list.wait_free_at) : '✅ 等免已完成') + '\\nㅤ\\n') : '') + list.evaluate.replace(\/(^)\/g, '$1<br>') + changeLog + '☕【评论】                                      评论数:' + pageData.page.count + intro2,\n        'cover': list.vertical_cover,\n        'url': url,\n        'durl': '',\n        'reName': true\n    });\n} else {\n    (function Book() {\n        apiBaseUrl = cache.get(java.md5Encode16('cache_api_' +Get('url')));\n        json = java.ajax(apiBaseUrl);\n        Title = JSON.parse(json)['title'];\n        Intro = cache.get(java.md5Encode16('User' + Get('url'))) == 'y' ? JSON.parse(json)['intro1'] : 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>\nlet ck = cookie.getCookie(Get('url'));\nvar ComicId = cache.get(java.md5Encode16('ComicId' + book.bookUrl));\nvar Epid = String(baseUrl).replace(\/.*ep_id\\\"\\:(\\d+)\\}.*\/, '$1');\nif(cookie.getCookie(baseUrl).includes('SESSDATA')) {\n    let option = '{\"body\":{\"comic_id\":' + ComicId + ',\"ep_id\":' + Epid + '},\"headers\":\"\",\"method\": \"POST\"}';\n    let hurl = Get('url') + '\/twirp\/bookshelf.v1.Bookshelf\/AddHistory?device=pc&platform=web,' + option;\n    java.ajax(hurl);\n}\nif (String(book['author']) !== \"xiaohan231\") {\n    var Date = String(java.timeFormat(new Date().getTime())).replace(\/\\d+\\\/(.*)\\s.*\/, '$1');\n    if (cache.get(java.md5Encode16(Get('url') + \"Account_1\")) && String(cache.get(java.md5Encode16(Get('url') + \"Account_1\"))).length > 0 && !Date.includes(cache.get(\"bili-sign\"))) {\n        var signdate = sign();\n        cache.put(\"bili-sign\", signdate);\n    }\n    var list=JSON.parse(result).data.images;\n    var result='';\n    if (Get('s') < 1) {\n        for(i in list){\n            var url1 = Get('url') + '\/twirp\/comic.v1.Comic\/ImageToken?device=pc&platform=web,{\"body\":{\"urls\":\"[\\\\\"' + list[i].path + '@.jpg\\\\\"]\"},\"headers\":\"\",\"method\": \"POST\"}';\n            var json = java.ajax(url1);\n            cookie.removeCookie(Get('url'));\n            cookie.setCookie(Get('url'), `${ck}`);\n            var list1 = JSON.parse(json);\n            result +='<img src=\"' + list1.data[0].url + '?token=' + list1.data[0].token + '&no_cache=1\">\\n';\n        }\n    } else {\n        var purl = 'https:\/\/www.biliplus.com\/manga\/?act=read&mangaid=' + ComicId + '&epid=' + Epid;\n        var html = java.ajax(purl);\n        if (html.includes('comic-single')) {\n            var plist = org.jsoup.Jsoup.parse(html).select('.comic-single');\n            for(i in plist){\n                result +='<img src=\"' + plist[i].attr('_src') + '\">\\n';\n            }\n        } else {\n            java.toast('【章节提示】\\nㅤ\\n' + chapter.title + '\\n\\n♣️BiliPlus解析未成功,重新调用B站解析♣️\\n');\n            for(i in list){\n                var url1 = Get('url') + '\/twirp\/comic.v1.Comic\/ImageToken?device=pc&platform=web,{\"body\":{\"urls\":\"[\\\\\"' + list[i].path + '@.jpg\\\\\"]\"},\"headers\":\"\",\"method\": \"POST\"}';\n                var json = java.ajax(url1);\n                cookie.removeCookie(Get('url'));\n                cookie.setCookie(Get('url'), `${ck}`);\n                var list1 = JSON.parse(json);\n                result +='<img src=\"' + list1.data[0].url + '?token=' + list1.data[0].token + '&no_cache=1\">\\n';\n            }\n        }\n    }\n} else {\n    if (baseUrl.includes('\/json\/')) {\n        '<br><img src=\"https:\/\/qyyuapi.com\/j-img\/' + String(title).replace(\/〔.*$\/, \"\") + '.jpg\">';\n    } else {\n        '<br><img src=\"https:\/\/qyyuapi.com\/img\/' + String(title).replace(\/〔.*$\/, \"\") + '.jpg\">';\n    }\n}\n<\/js>",
        "imageDecode": "",
        "imageStyle": "FULL",
        "nextContentUrl": "",
        "payAction": "var payurl = Get('url') + '\/mc' + cache.get(java.md5Encode16('ComicId' + book.bookUrl)) + '\/' + String(baseUrl).replace(\/.*ep_id\\\"\\:(\\d+)\\}.*\/, '$1');\npayurl;",
        "replaceRegex": "",
        "title": "<js>\nif (Get('s') > 0) {\n    var ComicId = cache.get(java.md5Encode16('ComicId' + book.bookUrl));\n    var Epid = String(baseUrl).replace(\/.*ep_id\\\"\\:(\\d+)\\}.*\/, '$1');\n    var purl = 'https:\/\/www.biliplus.com\/manga\/?act=read&mangaid=' + ComicId + '&epid=' + Epid;\n    var html = java.ajax(purl);\n    if (\/〔\/.test(chapter.title)) {\n        var title = chapter.title.match(\/(.*)(〔.*)\/);\n        var Rtitle = title[1] + (html.includes('comic-single') ? '📡' : '') + title[2];\n    } else {\n        var Rtitle = chapter.title + (html.includes('comic-single') ? '📡' : '');\n    }\n    String(Rtitle).replace(\/[📡]+\/g, '📡');\n}\n<\/js>"
    },
    "ruleExplore": {
        "author": "author",
        "bookList": "<js>\nvar _0x4e7b=['\\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 _0x40e6=function(_0x4e7bbb,_0x40e68d){_0x4e7bbb=_0x4e7bbb-0x0;var _0x2e143e=_0x4e7b[_0x4e7bbb];if(_0x40e6['zKEfNe']===undefined){(function(){var _0x53ff17=function(){var _0x2e28cc;try{_0x2e28cc=Function('return\\x20(function()\\x20'+'{}.constructor(\\x22return\\x20this\\x22)(\\x20)'+');')();}catch(_0x4298b5){_0x2e28cc=window;}return _0x2e28cc;};var _0x142bd2=_0x53ff17();var _0x597c99='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=';_0x142bd2['atob']||(_0x142bd2['atob']=function(_0x388cc3){var _0x9c40ad=String(_0x388cc3)['replace'](\/=+$\/,'');var _0x47b0ae='';for(var _0x78fcad=0x0,_0x172c5c,_0x53fc1f,_0x35ec06=0x0;_0x53fc1f=_0x9c40ad['charAt'](_0x35ec06++);~_0x53fc1f&&(_0x172c5c=_0x78fcad%0x4?_0x172c5c*0x40+_0x53fc1f:_0x53fc1f,_0x78fcad++%0x4)?_0x47b0ae+=String['fromCharCode'](0xff&_0x172c5c>>(-0x2*_0x78fcad&0x6)):0x0){_0x53fc1f=_0x597c99['indexOf'](_0x53fc1f);}return _0x47b0ae;});}());_0x40e6['mTDsfj']=function(_0x219eb0){var _0x97d542=atob(_0x219eb0);var _0x115c96=[];for(var _0xcff25c=0x0,_0x67b08c=_0x97d542['length'];_0xcff25c<_0x67b08c;_0xcff25c++){_0x115c96+='%'+('00'+_0x97d542['charCodeAt'](_0xcff25c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x115c96);};_0x40e6['hdxqpq']={};_0x40e6['zKEfNe']=!![];}var _0x57fc89=_0x40e6['hdxqpq'][_0x4e7bbb];if(_0x57fc89===undefined){_0x2e143e=_0x40e6['mTDsfj'](_0x2e143e);_0x40e6['hdxqpq'][_0x4e7bbb]=_0x2e143e;}else{_0x2e143e=_0x57fc89;}return _0x2e143e;};eval(String(java[_0x40e6('\\x30\\x78\\x30')](source[_0x40e6('\\x30\\x78\\x31')],_0x40e6('\\x30\\x78\\x32'),_0x40e6('\\x30\\x78\\x33'),'')));\nvar User = '';\nvar Title = '';\nvar Link = '';\nvar Intro = '';\nuser_Check();\nvar data = [];\nvar Headers = JSON.parse(cache.get(java.md5Encode16(Get('url') + \"headers\")).replace(Get('url'), baseUrl));\nvar Option = {\n    \"method\": \"GET\",\n    \"headers\": Headers\n};\nif (User == true) {\n    var Date = String(java.timeFormat(new Date().getTime())).replace(\/\\d+\\\/(.*)\\s.*\/, '$1');\n    if (cache.get(java.md5Encode16(Get('url') + \"Account_1\")) && String(cache.get(java.md5Encode16(Get('url') + \"Account_1\"))).length > 0 && !Date.includes(cache.get(\"bili-sign\"))) {\n        var signdate = sign();\n        cache.put(\"bili-sign\", signdate);\n    }\n    if (baseUrl.includes(\"GetAutoBuyComics\") || baseUrl.includes(\"ListHistory\") || baseUrl.includes(\"ListFavorite\")) {\n        var list = JSON.parse(result).data;\n        for (i = 0; i < list.length; i++) {\n            name = list[i].title;\n            latest = String(list[i].latest_ep_short_title).replace(\/^([一二两三四五六七八九十零百千万0-9.-]+)[话話章回期]?\/, '第$1话').replace(\/^(\\d+\\.\\d)$\/, '第$1话').replace(\/^(\\d+\\-)\/, '第$1话-');\n            intro =  '\\nㅤ\\n⏰时间:' + (list[i].read_time || list[i].latest_read_time\n) + '\\n📖观看至:' + String(list[i].last_ep_short_title).replace(\/^([一二两三四五六七八九十零百千万0-9.]+)[话話章回期]?\/, '第$1话').replace(\/^(\\d+\\.\\d)$\/, '第$1话').replace(\/^(\\d+\\-)\/, '第$1话-');\n            data.push({\n                'name': name,\n                'author': '',\n                'kind': '',\n                'word': '',\n                'latest': latest,\n                'intro': intro,\n                'cover': list[i].vcover,\n                'url': Get('url') + '\/twirp\/comic.v1.Comic\/ComicDetail?device=pc&platform=web,{\"body\":{\"comic_id\":' + list[i].comic_id + '},\"headers\":\"\",\"method\": \"POST\"}'\n            });\n        }\n    }\n    if (baseUrl.includes(\"GetRankInfo\")) {\n        var list = JSON.parse(result).data.list;\n        for (i = 0; i < list.length; i++) {\n            name = list[i].title;\n            var authors = [];\n            var authorElements = list[i].author;\n            for (var j in authorElements) {\n                authors.push(String(authorElements[j]));\n            }\n            author = authors.join('\/');\n            var styles = [];\n            var styleElements = list[i].styles;\n            for (var j in styleElements) {\n                styles.push(String(styleElements[j].name));\n            }\n            style = styles.join(',');\n            kind = '♥ ' + Num(list[i].fans) + ',' + (list[i].is_finish > 0 ? '完结' : '连载') + ',' + style + ',' + list[i].total + '话,' + (list[i].allow_wait_free ? '等免' : '');\n            latest = String(list[i].last_short_title).replace(\/^([一二两三四五六七八九十零百千万0-9.]+)[话話章回期]?\/, '第$1话').replace(\/^(\\d+\\.\\d)$\/, '第$1话').replace(\/^(\\d+\\-)\/, '第$1话-');\n            intro = '';\n            data.push({\n                'name': name,\n                'author': author,\n                'kind': kind,\n                'word': '',\n                'latest': latest,\n                'intro': intro,\n                'cover': list[i].vertical_cover,\n                'url': Get('url') + '\/twirp\/comic.v1.Comic\/ComicDetail?device=pc&platform=web,{\"body\":{\"comic_id\":' + list[i].comic_id + '},\"headers\":\"\",\"method\": \"POST\"}'\n            });\n        }\n    }\n    if (baseUrl.includes(\"ClassPage\")) {\n        var list = JSON.parse(result).data;\n        for (i = 0; i < list.length; i++) {\n            name = list[i].title;\n            var authors = [];\n            var authorElements = list[i].author;\n            for (var j in authorElements) {\n                authors.push(String(authorElements[j]));\n            }\n            author = authors.join('\/');\n            var styles = [];\n            var styleElements = list[i].styles;\n            for (j in styleElements) {\n                styles.push(String(styleElements[j]));\n            }\n            style = styles.join(',');\n            var v2s = [];\n            var v2Elements = list[i].bottom_info_v2;\n            for (j in v2Elements) {\n                if (!String(style).includes(String(v2Elements[j])) && !String(v2Elements[j]).includes('话')) {\n                    v2s.push(String(v2Elements[j]));\n                }\n            }\n            v2 = v2s.join(',');\n            tag = list[i].rd_tag;\n            tag = (!String(style).includes(tag) && !String(v2).includes(tag)) ? tag : '';\n            kind = (list[i].is_finish > 0 ? '完结' : '连载') + ',' + style + ',' + v2 + ',' + tag + ',' + list[i].total + '话,' + (list[i].is_free > 0 ? '' : '免费') + (list[i].allow_wait_free ? '等免' : '');\n            latest = String(list[i].last_short_title).replace(\/^([一二两三四五六七八九十零百千万0-9.]+)[话話章回期]?\/, '第$1话').replace(\/^(\\d+\\.\\d)$\/, '第$1话').replace(\/^(\\d+\\-)\/, '第$1话-');\n            intro = list[i].evaluate;\n            data.push({\n                'name': name,\n                'author': author,\n                'kind': kind,\n                'word': '',\n                'latest': latest,\n                'intro': intro,\n                'cover': list[i].vertical_cover,\n                'url': Get('url') + '\/twirp\/comic.v1.Comic\/ComicDetail?device=pc&platform=web,{\"body\":{\"comic_id\":' + list[i].season_id + '},\"headers\":\"\",\"method\": \"POST\"}'\n            });\n        }\n    }\n    if (baseUrl.includes(\"GetRankInfo\")) {\n        Data();\n    }\n    if (baseUrl.includes(\"GetAutoBuyComics\") || baseUrl.includes(\"ListHistory\") || baseUrl.includes(\"ListFavorite\") || baseUrl.includes(\"ClassPage\")) {\n        var next = '';\n        if (!list[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 _0x4e7b=['\\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 _0x40e6=function(_0x4e7bbb,_0x40e68d){_0x4e7bbb=_0x4e7bbb-0x0;var _0x2e143e=_0x4e7b[_0x4e7bbb];if(_0x40e6['zKEfNe']===undefined){(function(){var _0x53ff17=function(){var _0x2e28cc;try{_0x2e28cc=Function('return\\x20(function()\\x20'+'{}.constructor(\\x22return\\x20this\\x22)(\\x20)'+');')();}catch(_0x4298b5){_0x2e28cc=window;}return _0x2e28cc;};var _0x142bd2=_0x53ff17();var _0x597c99='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=';_0x142bd2['atob']||(_0x142bd2['atob']=function(_0x388cc3){var _0x9c40ad=String(_0x388cc3)['replace'](\/=+$\/,'');var _0x47b0ae='';for(var _0x78fcad=0x0,_0x172c5c,_0x53fc1f,_0x35ec06=0x0;_0x53fc1f=_0x9c40ad['charAt'](_0x35ec06++);~_0x53fc1f&&(_0x172c5c=_0x78fcad%0x4?_0x172c5c*0x40+_0x53fc1f:_0x53fc1f,_0x78fcad++%0x4)?_0x47b0ae+=String['fromCharCode'](0xff&_0x172c5c>>(-0x2*_0x78fcad&0x6)):0x0){_0x53fc1f=_0x597c99['indexOf'](_0x53fc1f);}return _0x47b0ae;});}());_0x40e6['mTDsfj']=function(_0x219eb0){var _0x97d542=atob(_0x219eb0);var _0x115c96=[];for(var _0xcff25c=0x0,_0x67b08c=_0x97d542['length'];_0xcff25c<_0x67b08c;_0xcff25c++){_0x115c96+='%'+('00'+_0x97d542['charCodeAt'](_0xcff25c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x115c96);};_0x40e6['hdxqpq']={};_0x40e6['zKEfNe']=!![];}var _0x57fc89=_0x40e6['hdxqpq'][_0x4e7bbb];if(_0x57fc89===undefined){_0x2e143e=_0x40e6['mTDsfj'](_0x2e143e);_0x40e6['hdxqpq'][_0x4e7bbb]=_0x2e143e;}else{_0x2e143e=_0x57fc89;}return _0x2e143e;};eval(String(java[_0x40e6('\\x30\\x78\\x30')](source[_0x40e6('\\x30\\x78\\x31')],_0x40e6('\\x30\\x78\\x32'),_0x40e6('\\x30\\x78\\x33'),'')));\nvar User = '';\nvar Title = '';\nvar Link = '';\nvar Intro = '';\nuser_Check();\nvar data = [];\nvar Headers = JSON.parse(cache.get(java.md5Encode16(Get('url') + \"headers\")).replace(Get('url'), baseUrl));\nvar Option = {\n    \"method\": \"GET\",\n    \"headers\": Headers\n};\nif (User == true) {\n    var list = JSON.parse(result).data.list;\n    for (i = 0; i < list.length; i++) {\n        name = list[i].real_title;\n        var authors = [];\n        var authorElements = list[i].author_name;\n        for (var j in authorElements) {\n            authors.push(String(authorElements[j]));\n        }\n        author = authors.join('\/');\n        var styles = [];\n        var styleElements = list[i].styles;\n        for (var j in styleElements) {\n            styles.push(String(styleElements[j]));\n        }\n        style = styles.join(',');\n        kind = (list[i].is_finish > 0 ? '完结' : '连载') + ',' + style + ',' + (list[i].allow_wait_free ? '等免' : '');\n        data.push({\n            'name': name,\n            'author': author,\n            'kind': kind,\n            'word': '',\n            'latest': '',\n            'intro': '',\n            'cover': list[i].vertical_cover,\n            'url': Get('url') + '\/twirp\/comic.v1.Comic\/ComicDetail?device=pc&platform=web,{\"body\":{\"comic_id\":' + list[i].id + '},\"headers\":\"\",\"method\": \"POST\"}'\n        });\n    }\n    var next = '';\n    var searchkey = java.get(java.md5Encode16(Get('url') + \"searchkey\"));\n    if (!list[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 _0x4e7b=['\\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 _0x40e6=function(_0x4e7bbb,_0x40e68d){_0x4e7bbb=_0x4e7bbb-0x0;var _0x2e143e=_0x4e7b[_0x4e7bbb];if(_0x40e6['zKEfNe']===undefined){(function(){var _0x53ff17=function(){var _0x2e28cc;try{_0x2e28cc=Function('return\\x20(function()\\x20'+'{}.constructor(\\x22return\\x20this\\x22)(\\x20)'+');')();}catch(_0x4298b5){_0x2e28cc=window;}return _0x2e28cc;};var _0x142bd2=_0x53ff17();var _0x597c99='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=';_0x142bd2['atob']||(_0x142bd2['atob']=function(_0x388cc3){var _0x9c40ad=String(_0x388cc3)['replace'](\/=+$\/,'');var _0x47b0ae='';for(var _0x78fcad=0x0,_0x172c5c,_0x53fc1f,_0x35ec06=0x0;_0x53fc1f=_0x9c40ad['charAt'](_0x35ec06++);~_0x53fc1f&&(_0x172c5c=_0x78fcad%0x4?_0x172c5c*0x40+_0x53fc1f:_0x53fc1f,_0x78fcad++%0x4)?_0x47b0ae+=String['fromCharCode'](0xff&_0x172c5c>>(-0x2*_0x78fcad&0x6)):0x0){_0x53fc1f=_0x597c99['indexOf'](_0x53fc1f);}return _0x47b0ae;});}());_0x40e6['mTDsfj']=function(_0x219eb0){var _0x97d542=atob(_0x219eb0);var _0x115c96=[];for(var _0xcff25c=0x0,_0x67b08c=_0x97d542['length'];_0xcff25c<_0x67b08c;_0xcff25c++){_0x115c96+='%'+('00'+_0x97d542['charCodeAt'](_0xcff25c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x115c96);};_0x40e6['hdxqpq']={};_0x40e6['zKEfNe']=!![];}var _0x57fc89=_0x40e6['hdxqpq'][_0x4e7bbb];if(_0x57fc89===undefined){_0x2e143e=_0x40e6['mTDsfj'](_0x2e143e);_0x40e6['hdxqpq'][_0x4e7bbb]=_0x2e143e;}else{_0x2e143e=_0x57fc89;}return _0x2e143e;};eval(String(java[_0x40e6('\\x30\\x78\\x30')](source[_0x40e6('\\x30\\x78\\x31')],_0x40e6('\\x30\\x78\\x32'),_0x40e6('\\x30\\x78\\x33'),'')));\nvar User = '';\nvar Title = '';\nvar Link = '';\nvar Intro = '';\nuser_Check();\nvar data = [];\nvar Headers = JSON.parse(cache.get(java.md5Encode16(Get('url') + \"headers\")).replace(Get('url'), baseUrl));\nvar Option = {\n    \"method\": \"GET\",\n    \"headers\": Headers\n};\nif (String(book['author']) !== \"xiaohan231\") {\n    var id = JSON.parse(result).data.id;\n    var list = JSON.parse(result).data.ep_list;\n    var $1 = element => String(java.getElements(element).attr('content'));\n    var date = list[0].pub_time;\n    for (i = list.length - 1; i >= 0; i--) {\n        Title = String(list[i].short_title).replace(\/^([一二两三四五六七八九十零百千万0-9.]+)[话話章回期]?\/, '第$1话').replace(\/^(\\d+\\.\\d)$\/, '第$1话').replace(\/^(\\d+\\-)\/, '第$1话-');\n        Title1 = String(list[i].title).replace(\/.*?[一二两三四五六七八九十零百千万0-9.]+[话話章回期].*\/, '');\n        title1 = String((list[i].title && String(list[i].title).replace(\/.*?[一二两三四五六七八九十零百千万0-9.]+[话話章回期].*\/, '') == '' && Title1 == '') ? '' : Title);\n        short_title = list[i].short_title == list[i].short_title ? String(list[i].short_title) : '';\n        title2 = String(' ' + String(list[i].title).replace(title1, '').replace(short_title, '')).replace(\/^\\s$\/, '');\n        title = String(title1 + title2 + ' ('  + list[i].image_count + 'p)' + (list[i].allow_wait_free ? '[等免]' : ''));\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') + '\/twirp\/comic.v1.Comic\/GetImageIndex?device=pc&platform=web,{\"body\":{\"ep_id\":' + list[i].id + '},\"headers\":\"\",\"method\": \"POST\"}',\n            'time': list[i].pub_time,\n            'vip': list[i].is_locked,\n            'pay': list[i].is_locked ? false : true\n        });\n    }\n    data = JSON.stringify(data);\n} else {\n    data = Data1();\n}\nPut(data);\n<\/js>",
        "chapterName": "title",
        "chapterUrl": "link",
        "isPay": "pay",
        "isVip": "vip",
        "preUpdateJs": "java.refreshTocUrl()",
        "updateTime": "time"
    },
    "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(java.md5Encode16(Get('url') + \"searchkey\"), e);\n    return Get('url') + '\/twirp\/comic.v1.Comic\/Search?device=pc&platform=web,{\"body\":{\"key_word\":\"' + e + '\",\"page_num\":{{page}},\"page_size\":9},\"headers\":\"\",\"method\": \"POST\"}';\n}(key));\n<\/js>",
    "variableComment": "JspHXCgzmq549cSvxZRk3eTaezs7QetG4Oaia85JS5\/uQPm6gkVOfbKqM5kCCPowDXJkiSRSa3npJPxd9vxKh3cMNvD1zWkrw4ju5caIY4nxOyT73azNVhhjJZjyz\/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+gjmmIUFWzCRS04Tt73caDyre0HCCN2pqS6ZBS2icFhNeUihcsLRwTEDVl\/sZDkxd2iRw+tXXN4T0YUhUhKASsyWcBierceiAdxWVvN9PBHGj7PuURLAxomWRJCiYzvSxiFLpsc\/GC8bcsMVhOjyZ0JhXuCzlsLxTGNjGx2qvfabOhqkXYO4M9kVYdK1SCRqCP9CeWO\/o2L1OHqFhJFwWS\/u9sqKgoi4FUeerbo89Vo\/f0dFUEU3XhM96QWzYMIw5Iy1dtZ0yQn2lZDLa5Xycu6RBYYrH+3LLI4Gm1eSGWizY5XCtMpmW0hIUzqDMSozst2DzrTM7pwe6SXKZ2wG53Vv6yWw9OkopECrlf1L4hHxLZa84ym1nBkWHkQll+O5K1rZo\/teAVgM6in\/tF07dDd1Wg8rpE5WOU\/SSdvGEQVCrJapkujRoGh47zOPOeblYPwpO0+8iTvI9eJjHjMr09Ijc8wsUxM8Zn0CKJFwR4gDSOuFGjdXlzszKz+ptxbsbek7yWe+g4vycbQ9tR2PiW\/bXYRr\/JSctMNVcAJDxN1fudPXUm1IlCiTWgvOorNuofcLn1lNVX1H0oLFb6o5wKJsrNpou55FfppgsV4Y10eCMbrf4ghGn81bo7MXxzQjv1TMDrP8LbDeiB6rMmilGmlmo4d9zcpDTtS27wZDSRAS+Ki3hJ0D77Q5Cev2U8XQRMz27GXv4xEfBVQ5CaqkGnnhUpo5s56aZTUghNbMKTNIbd5JSBC6TfbqwrDrFSJUn5tJTALE2Mx40PM6TRr9kRHed7yo\/fCiQ0iNIpETAefKJdlDaqbiFCltjRBxNNf\/S2IBPQy72Tk1IkiYlFP0QkPI2p0ebH5zo0tl0HKDuvO2Z0qwxj90S9SVA9dh0ga4SqYOx1WeUURvrxOZ56ieOvSEuSRE5WU4VwT7mPwYftjj8SrHzr7r3nuH9xrX4sID8GzfAD75tKSk\/UkcUY5XyZXNYI9Dpz6+f4O6T2LMmP+U5MEuvM\/F7CmsDmgezt6oE\/kSUgtxxfnGi2mgExqVzIIMeXEnSHQt\/ztKPjBn+VK1DbzQGZdS\/Xfpv2mbCJUyPRa2gnZV5Uege0fK8NUuhabFmz\/IWUcLd1fDeeP5wQ25msDMh5ym9Uh\/t2gWEzwzZCmUMGg6IW8d+zaPxQqo\/ttMr+GjmnSmsrLpxK960nWBjTiq+A6sD8UzrRTPx10xfO+siv3frWB7To96qJgAJEGD2BvdjJAtmwQGhREdtV73jKNjAYjgJFjU01X\/PkTH1oCUzLzHBWdbRsCFxQb1kbUSCsLt8jYvr7sIgNLyDGDBUF4E2LYnykEl5n3IkxhFez7rXlQa0FUGq0SGdZsqCTayWQQLH6KDJCSVAUgnVlM9WDpcUh15ZBeXLKmR8QEwWvgU\/KWykY+QuW8mmhPtP2BGf+SSy01w+g6ec+COp2rPd6bRj8725URic4nxnYPKW1yXlJoPuYLazwk6uoOgpxvOGpGmgI6854twG15ZoR1QXhTgf6\/ehhw\/pBlwV\/lRsnJNIQGRvyYkUY7+C1mIytPUs9tRiz8QqaUCwB8X9UQAI95bnDRnxrF2\/yT2c34E4CmcDzhCElJsbS374XLQeka5jdRcue6hK4qwmUKH1uwYORurA47Q\/JtKUuZOO3F0K7fapLPWyQuvFahOAZtYAhKbeCf+0p3zyVdwjvOJLOK7NlMz8IvG2EBbWiTm4QHhDe1\/E8=",
    "weight": 0
}
站长推荐
广告