🧁轻文库小说
轻文库小说
x5201314l (7559)2天前
-聆听月与悦 . 25-8.15 - -app链接(三十天有效期): https://www.123865.com/s/ASCSjv-z7QTv
{ "bookSourceComment": "-聆听月与悦 . 25-8.15\n-\n\t\n-app链接(三十天有效期):\n https:\/\/www.123865.com\/s\/ASCSjv-z7QTv", "bookSourceName": "🧁轻文库小说", "bookSourceType": 0, "bookSourceUrl": "轻文库小说", "customOrder": 6, "enabled": true, "enabledCookieJar": true, "enabledExplore": true, "exploreUrl": "[\n {\n \"title\": \" 最近更新 \",\n \"url\": \"{{Update()}}\",\n \"style\": {\n \"layout_flexGrow\": 0,\n \"layout_flexBasisPercent\": 1 \n }\n },\n {\n \"title\": \" ↓ 排行榜 ↓ \",\n \"url\": \"\",\n \"style\": {\n \"layout_flexGrow\": 0,\n \"layout_flexBasisPercent\": 1\n }\n },\n {\n \"title\": \" 总点击排行 \",\n \"url\": \"{{Every()}}\",\n \"style\": {\n \"layout_flexGrow\": 1,\n \"layout_flexBasisPercent\": 0.29\n }\n },\n {\n \"title\": \" 总推荐排行 \",\n \"url\": \"source.getKey()\",\n \"style\": {\n \"layout_flexGrow\": 1,\n \"layout_flexBasisPercent\": 0.29\n }\n }\n]", "header": "{\n\t\"User-Agent\": \"Dalvik\/2.1.0 (Linux; U; Android 15; V2338A Build\/AP3A.240905.015.A2)\",\n\t\"Content-Type\": \"application\/x-www-form-urlencoded\"\n}", "jsLib": "let base_url = \"http:\/\/app.wenku8.com\/android.php\";\n\nfunction Update() {\n try {\n let burl = \"https:\/\/wenku8-relay.mewx.org\/,\";\n let by = \"action=novellist&sort=lastupdate&page={{page}}&t=0\";\n const timetoken = Packages.java.lang.System.currentTimeMillis();\n const base64Encode = (str) => {\n const bytes = new java.lang.String(str).getBytes(\"UTF-8\");\n return Packages.android.util.Base64.encodeToString(bytes, Packages.android.util.Base64.NO_WRAP);\n };\n \n let body = {\n \"body\": `&appver=1.22&timetoken=${timetoken}&request=${base64Encode(by)}`,\n \"charset\": \"UTF-8\",\n \"method\": \"POST\"\n };\n \n return burl + JSON.stringify(body);\n \n } catch (e) {\n \/\/ 错误处理\n Packages.java.lang.System.err.println(\"Update函数错误: \" + e);\n return \"https:\/\/wenku8-relay.mewx.org\/,\" + JSON.stringify({\n error: e.toString()\n });\n }\n}\nfunction Every() {\n let burl = \"https:\/\/wenku8-relay.mewx.org\/,\";\n let by = \"action=articlelist&sort=allvisit&page={{page}}&t=0\";\n const timetoken = Packages.java.lang.System.currentTimeMillis();\n const base64Encode = (str) => {\n const bytes = new java.lang.String(str).getBytes(\"UTF-8\");\n return Packages.android.util.Base64.encodeToString(bytes, Packages.android.util.Base64.NO_WRAP);\n };\n \n let body = {\n \"body\": `&appver=1.22&timetoken=${timetoken}&request=${base64Encode(by)}`,\n \"charset\": \"UTF-8\",\n \"method\": \"POST\"\n };\n return burl + JSON.stringify(body);\n }", "lastUpdateTime": "1755698935015", "respondTime": 180000, "ruleBookInfo": { "author": "\/\/data[@name='Author']\/@value", "coverUrl": "@js:\nvar id = java.getString(\"\/\/data[@name='Title']\/@aid\");\nvar iid = id.toString().substring(0,1);\nvar cover = \"http:\/\/img.wenku8.com\/image\/\" + iid + \"\/\" + id + \"\/\" + id + \"s.jpg\";\ncover ", "init": "@js:\n\/\/完整简介\nvar id = java.getString(\"\/\/data[@name='Title']\/@aid\");\nvar by = `action=book&do=intro&aid=${id}&t=0`;\nvar body = {\n body: `&appver=1.22&timetoken=${Date.now()}&request=${java.base64Encode(by)}`,\n method: \"POST\"\n}\nvar url = base_url + \",\" + JSON.stringify(body);\nvar intro = java.ajax(url);\njava.put(\"intro\", intro);\njava.put(\"bid\", id);\nsrc", "intro": " \n📖 书名:{{\/\/data[@name='Title']\/text()}}\n✏️ 作者:{{\/\/data[@name='Author']\/@value}}{{\"\\n\"+\"\"}}\n🏷 标签:{{\/\/data[@name='Tags']\/@value}}\n🎐 来源:{{\/\/data[@name='PressId']\/@value}}\n👀点击量:{{\/\/data[@name='TotalHitsCount']\/@value}}{{\"\\n\"+\"\"}}\n📜 简介:{{java.get(\"intro\")}}", "kind": "\/\/data[@name='Tags']\/@value", "lastChapter": "{{\/\/data[@name='LatestSection']\/text()}} {{\/\/data[@name='LastUpdate']\/@value}}", "name": "\/\/data[@name='Title']\/text()", "tocUrl": "@js:\nvar s = base_url + \",\";\nvar id = java.getString(\"\/\/data[@name='Title']\/@aid\");\nvar by = `action=book&do=list&aid=${id}&t=0`;\nvar body = {\n body: `&appver=1.22&timetoken=${Date.now()}&request=${java.base64Encode(by)}`,\n method: \"POST\"\n}\nvar CheaperUrl = s + JSON.stringify(body);\nCheaperUrl" }, "ruleContent": { "content": "<js>\nfunction convertToSimpleImgTags(content) {\n if (!content || typeof content !== \"string\") {\n return content;\n }\n var imgRegex = \/(https?:\\\/\\\/[^\\s]+?\\.(?:jpg|png|webp|jpeg)(?:\\?[^\\s]*)?)\/gi;\n var newContent = content.replace(imgRegex, function(url) {\n return '<img src=\"' + url + '\">';\n });\n \n return newContent;\n}\nresult = convertToSimpleImgTags(result);\n<\/js>" }, "ruleExplore": { "author": "\/\/data[@name='Author']\/@value", "bookList": "@XPath:item", "bookUrl": "@js:\nvar s = base_url + \",\";\nvar id = java.getString(\"\/\/@aid\");\nvar by = `action=book&do=meta&aid=${id}&t=0`;\nvar body = {\n body: `&appver=1.22&timetoken=${Date.now()}&request=${java.base64Encode(by)}`,\n method: \"POST\"\n}\nvar bookUrl = s + JSON.stringify(body);\nbookUrl", "coverUrl": "@js:\nvar id = java.getString(\"\/\/@aid\");\nvar iid = id.toString().substring(0,1);\nvar cover = \"http:\/\/img.wenku8.com\/image\/\" + iid + \"\/\" + id + \"\/\" + id + \"s.jpg\";\ncover ", "intro": "\/\/data[@name='IntroPreview']\/text()", "kind": "\/\/data[@name='Tags']\/@value\n@js:\nif ( !result ) {\n\t result = java.get(\"tag\");\n\t} else {\n\t\t result\n\t}", "lastChapter": "{{\/\/data[@name='LastUpdate']\/@value}}", "name": "\/\/data[@name='Title']\/text()\n@js:\nif ( !result ) {\n\t let id = java.getString(\"\/\/@aid\");\n\t let by = `action=book&do=meta&aid=${id}&t=0`;\n\t let body = {\n body: `&appver=1.22&timetoken=${Date.now()}&request=${java.base64Encode(by)}`,\n method: \"POST\"\n }\n\t let book = java.ajax(base_url + \",\" + JSON.stringify(body));\n\t java.put(\"tag\", java.getString(\"\/\/data[@name='Tags']\/@value\", book));\n\t result = java.getString(\"\/\/data[@name='Title']\/text()\", book);\n\t} else {\n\t\t result\n\t}", "wordCount": "\/\/data[@name='TotalHitsCount']\/@value" }, "ruleSearch": { "author": "\/\/data[@name='Author']\/@value", "bookList": "@XPath:item", "bookUrl": "@js:\nvar s = base_url + \",\";\nvar id = java.getString(\"\/\/@aid\");\nvar by = `action=book&do=meta&aid=${id}&t=0`;\nvar body = {\n body: `&appver=1.22&timetoken=${Date.now()}&request=${java.base64Encode(by)}`,\n method: \"POST\"\n}\nvar bookUrl = s + JSON.stringify(body);\nbookUrl", "checkKeyWord": "魔法师", "coverUrl": "@js:\nvar id = java.getString(\"\/\/@aid\");\nvar iid = id.toString().substring(0,1);\nvar cover = \"http:\/\/img.wenku8.com\/image\/\" + iid + \"\/\" + id + \"\/\" + id + \"s.jpg\";\ncover ", "intro": "\/\/data[@name='IntroPreview']\/text()", "kind": "\/\/data[@name='Tags']\/@value", "lastChapter": "{{\/\/data[@name='LastUpdate']\/@value}}", "name": "\/\/data[@name='Title']\/text()", "wordCount": "\/\/data[@name='TotalHitsCount']\/@value" }, "ruleToc": { "chapterList": "volume,chapter", "chapterName": "\/text()[1]", "chapterUrl": "@js:\nvar s = base_url + \",\";\nvar id = java.getString(\"\/\/chapter\/@cid\");\nvar vid = java.getString(\"\/\/volume\/@vid\");\nvar by = `action=book&do=text&aid=${java.get(\"bid\")}&cid=${id}&t=0`;\nvar body = {\n body: `&appver=1.22&timetoken=${Date.now()}&request=${java.base64Encode(by)}`,\n method: \"POST\"\n};\n\/\/ 当vid不为空时输出空字符串,否则输出拼接的URL\nvar ContentUrl = vid != \"\" ? \"\" : s + JSON.stringify(body);\nContentUrl", "isVolume": "{{java.getString('vid')}}<js>if (result == \"\") {\n false\n} else {\n true\n}<\/js>" }, "searchUrl": "@js:\nvar s = base_url + \",\";\nvar page = page-1;\nvar keywords = \"action=search&searchtype=articlename&searchkey=\" + key + \"&t=\" + page;\nvar body = {\n body: `&appver=1.22&timetoken=${Date.now()}&request=${java.base64Encode(keywords)}`,\n method: \"POST\"\n}\nvar url = s + JSON.stringify(body);\nurl", "weight": 0 }