[{"bookSourceComment":"\/\/2025.7.22 ◎夜泽川◎","bookSourceGroup":"网络,自制","bookSourceName":"完本小说网","bookSourceType":0,"bookSourceUrl":"https:\/\/www.finalbooks.work","bookUrlPattern":"https?:\\\/\\\/www\\.finalbooks\\.work\\\/book\\\/\\d+\\\/?","customOrder":2,"enabled":true,"enabledCookieJar":true,"enabledExplore":true,"exploreUrl":"@js:\nvar result = [];\nvar push = (title, url, size) => result.push({\n    title: title,\n    url: url,\n    style: {\n        layout_flexGrow: 1,\n        layout_flexBasisPercent: size\n    }\n});\n\nvar tags = org.jsoup.Jsoup.parse(java.ajax(source.key + \"\/category\/\"))\n    .select('.CGsectionTwo-left a')\n    .toArray()\n    .map(tag => {\n        let text = [String(tag.text()).trim(), String(tag.attr('href')).match(\/(\\d+)\/)[1]];\n        return String(tag.text()).trim() ? text :  null;\n    })\n    .filter(item => item !== null);\n\n[\n    [\"༺ˇ»`ʚ  分类  ɞ´«ˇ༻\", \"\/category\/\"],\n    [\"༺ˇ»`ʚ  排行榜  ɞ´«ˇ༻\", null],\n    [\"༺ˇ»`ʚ  总榜  ɞ´«ˇ༻\", \"\/rank\/all\/\"],\n    [\"༺ˇ»`ʚ  周榜  ɞ´«ˇ༻\", \"\/rank\/\"],\n    [\"༺ˇ»`ʚ  月榜  ɞ´«ˇ༻\", \"\/rank\/month\/\"],\n    [\"༺ˇ»`ʚ  全本  ɞ´«ˇ༻\", \"\/category\/finish\/\"]\n].forEach(item => {\n    push(item[0], null, 1);\n    if (item[1]) {\n        tags.forEach((tag, index) => {\n            let url = item[1] + tag[1] + \"\/{{page}}.html\";\n            push(tag[0], url, (index ? 0.2 : 1));\n        });\n    }\n});\nJSON.stringify(result);","header":"{\"User-Agent\": \"Mozilla\/5.0 (Linux; Android 9) Mobile Safari\/537.36\"}","jsLib":"function decrypt(encryptedTxt, keySeed) {\n    const { java } = this;\n    let result;\n    try {\n        const fullKey = java.md5Encode(keySeed);\n        const ivBytes = java.strToBytes(fullKey.substring(0, 16));\n        const keyBytes = java.strToBytes(fullKey.substring(16));\n\n        const Cipher = java.createSymmetricCrypto(\n            \"AES\/CBC\/Pkcs7Padding\",\n            keyBytes,\n            ivBytes\n        );\n\n        result = Cipher.decryptStr(java.base64DecodeToByteArray(encryptedTxt));\n    } catch (e) {\n        java.log(e.message);\n        result = \"解密失败\";\n    }\n    return result;\n}","lastUpdateTime":"1753164782957","respondTime":180000,"ruleBookInfo":{"author":"@get:{a}","coverUrl":"@get:{i}","init":"@put:{\"n\":\"[property$=book_name]@content\",\n\"a\":\"[property$=author]@content\",\n\"t\":\"[property~=category|status]@content\",\n\"l\":\"[property$=lastest_chapter_name]@content\",\n\"i\":\"[property$=image]@content\",\n\"o\":\"[property$=description]@content\",\n\"g\":\"[property$=update_time]@content\",\n\"m\":\".BGsectionOne-bottom@li.1@a@href\"\n}","intro":"@get:{o}","kind":"@get:{t}","lastChapter":"@get:{l}◎@get:{g}","name":"@get:{n}","tocUrl":"@get:{m}"},"ruleContent":{"content":"@js:\nlet data = src.match(\/d\\(\"([^\\)]+)\/)[1].replace(\/\"|\\s\/g, \"\").trim().split(\",\");\ndecrypt(data[0], data[1]);"},"ruleExplore":{"author":"a[href^=\"\/writer\/\"]@text","bookList":"[class$=\"unit\"]","bookUrl":"a[href^=\"\/book\/\"]@href","kind":"p.-1@text","name":"a[href^=\"\/book\/\"][0]@text"},"ruleSearch":{"author":"a[href^=\"\/writer\/\"]@text","bookList":".SHsectionThree-middle > p","bookUrl":"a[href^=\"\/book\/\"]@href","kind":"a[href^=\"\/category\/\"]@text","name":"a[href^=\"\/book\/\"]@text"},"ruleToc":{"chapterList":"ol > li\n<js>\nlet Regex_ = \/(data-[a-zA-Z0-9]+)\/g;\nlet label = result.select('li')[0].outerHtml().match(Regex_)[1];\nresult.sort((a, b) => +a.attr(label) - +b.attr(label));\nchapterList = result.select('a').toArray().map(e => {\n    let labeln = e.outerHtml().match(Regex_);\n    return {\n        title: String(e.attr(labeln[0])).trim() || e.text(),\n        url: java.base64Decode(String(e.attr(labeln[1])))\n    }\n});\nJSON.stringify(chapterList);\n<\/js>\n$[*]","chapterName":"$.title","chapterUrl":"$.url","nextTocUrl":"@js:\nvar pages = [];\nvar endPage = String(java.getString('#end@href'));\nvar num = +endPage.match(\/(\\d+)\/g)[1];\nfor (let i = 2; i <= num; i++) {\n      pages.push(String(book.tocUrl).replace(\/$\/, i + \".html\"));\n}\npages;"},"searchUrl":"\/search\/{{key}}\/{{page}}","weight":0}]