🌟漫蛙动漫🔞
https://manwaqu.cc
langzaier (13654)07/06 19:34
by狼崽儿 //2026.7.1
有些资源只有一条线路,所以单线路时换线路没有用。
是个动漫站,喜欢看动漫的可入。内含各个年龄阶段的动漫。
修改了目录列表,确保能正确换线路。如果用上一版书源也能看,但只能解析线路一。//2026.7.6
{
"bookSourceComment": "by狼崽儿 \/\/2026.7.1\n有些资源只有一条线路,所以单线路时换线路没有用。\n修改了目录列表,确保能正确换线路。\/\/2026.7.6",
"bookSourceName": "🌟漫蛙动漫🔞",
"bookSourceType": 0,
"bookSourceUrl": "https:\/\/manwaqu.cc",
"customOrder": 0,
"enabled": true,
"enabledCookieJar": true,
"enabledExplore": true,
"exploreUrl": "@js:\nvar result = [];\nvar push = (title, typeId, tag, size) => result.push({\n title: title,\n url: \"\/api\/cate\/,\" + JSON.stringify({\n \"body\": \"{\\\"page\\\":{\\\"page\\\":{{page}},\\\"pageSize\\\":36},\\\"category\\\":\\\"video\\\",\\\"sort\\\":0,\\\"comic\\\":{\\\"status\\\":-1,\\\"day\\\":0,\\\"year\\\":0,\\\"tag\\\":\\\"\\\"},\\\"video\\\":{\\\"typeId\\\":\" + typeId + \",\\\"tag\\\":\\\"\" + tag + \"\\\",\\\"area\\\":\\\"\\\",\\\"lang\\\":\\\"\\\",\\\"status\\\":-1,\\\"year\\\":0},\\\"novel\\\":{\\\"status\\\":-1,\\\"day\\\":0,\\\"sortId\\\":0}}\",\n \"method\": \"POST\"\n }),\n style: {\n layout_flexGrow: 1,\n layout_flexBasisPercent: size\n }\n});\n\n\/\/ typeId名称映射\nvar types = [\"\", \"国产\", \"日韩\", \"欧美\", \"港台\", \"电影\", \"里番\"];\n\/\/ 全部tag列表(含空=全部)\nvar tags = [\"全部\", \"动画\", \"喜剧\", \"奇幻\", \"剧情\", \"冒险\", \"动作\", \"科幻\", \"爱情\", \"儿童\", \"短片\", \"家庭\", \"悬疑\", \"运动\"];\n\nfor (var t = 1; t <= 6; t++) {\n for (var g = 0; g < tags.length; g++) {\n var title = types[t] + '-' + tags[g];\n var tag = (g === 0) ? '' : tags[g];\n var size = (g === 0) ? 1 : 0.25;\n push(title, t, tag, size);\n }\n}\n\nJSON.stringify(result);",
"header": "{ \"User-Agent\": \"Mozilla\/5.0 (Linux; Android 8.1.0; JKM-AL00b Build\/HUAWEIJKM-AL00b; wv) AppleWebKit\/537.36 (KHTML, like Gecko) Version\/4.0 Chrome\/66.0.3359.126 MQQBrowser\/6.2 TBS\/044807 Mobile Safari\/537.36\"}",
"lastUpdateTime": "1783337695246",
"loginUi": "",
"respondTime": 8118,
"ruleBookInfo": {
"author": "@js:var m=src.match(new RegExp('导演:<span>([^<]+)<\/span>'));result=m?m[1]:'';",
"coverUrl": ".comic-cover@src",
"intro": "<js>\nfunction d(s) {\n return s.replace(\/&#x([0-9a-f]+);\/gi, function(_, h) {\n return String.fromCharCode(parseInt(h, 16));\n });\n}\nvar m0 = src.match(\/option value=\"0\">\\s*([^<]+)\\s*<\\\/\/);\nvar m1 = src.match(\/option value=\"1\">\\s*([^<]+)\\s*<\\\/\/);\nvar name0 = m0 ? d(m0[1].trim()) : '线路0';\nvar name1 = m1 ? d(m1[1].trim()) : '线路1';\nvar xu = (book.getVariable('custom') != null && book.getVariable('custom') != '') ? book.getVariable('custom') : '0';\njava.put('custom', xu);\nvar descM = src.match(\/comic-desc[^>]*>([\\s\\S]*?)<div\\s\/);\nvar dsc = descM ? descM[1].replace(\/<[^>]+>\/g,'').trim() : '';\nresult = '【线路列表】(右上角书籍变量输入序号刷新切换)\\n◖0◗' + name0 + '\\n◖1◗' + name1 + '\\n当前来源◖' + xu + '◗\\n------------\\n' + dsc;\n<\/js>",
"kind": "@js:var tags=[];var re=new RegExp('<span class=\\\"tag\\\">([^<]+)<\/span>','g');var m;while((m=re.exec(src))!==null){tags.push(m[1]);}result=tags.join(',');",
"name": ".comic-title@text",
"tocUrl": "@js:\nbook.tocUrl"
},
"ruleContent": {
"content": "@js:\nvar iframe = src.match(\/<iframe[^>]*src=\"([^\"]+)\"\/);\nvar videoUrl = '';\nif (iframe) {\n var m = iframe[1].match(\/[?&]url=([^&]+)\/);\n if (m) { videoUrl = decodeURIComponent(m[1]); }\n}\nif (videoUrl) {\n java.startBrowser(videoUrl, book.name + ' - ' + chapter.title);\n java.toast('正在加载视频');\n}\nresult = '【刷新正文】播放' + String.fromCharCode(10, 10) + '直链:' + String.fromCharCode(10) + videoUrl;"
},
"ruleExplore": {
"author": "$.author",
"bookList": "$.data.list",
"bookUrl": "$.url",
"coverUrl": "$.pic",
"intro": "$.intro",
"kind": "$.tags",
"name": "$.title"
},
"ruleSearch": {
"author": "$.author",
"bookList": "$.data.list",
"bookUrl": "$.url",
"coverUrl": "$.cover",
"intro": "$.description",
"kind": "$.tags",
"name": "$.title"
},
"ruleToc": {
"chapterList": "@js:\nvar m = String(book.intro).match(\/来源◖(\\d+)◗\/);\nvar xu = (m && m[1]) ? m[1] : '0';\nvar gridId = (xu === '1') ? 'grid-1' : 'grid-0';\nvar start = src.indexOf('<div id=\"' + gridId + '\"');\nvar end = src.indexOf('<div id=\"grid-', start + 10);\nif (end < 0) { end = src.indexOf('<script', start + 10); }\nif (end < 0) { end = src.length; }\nvar block = src.substring(start, end);\nvar list = [];\nvar re = new RegExp('<a href=\"(\/video\/\\\\d+\/\\\\d+)\"[^>]*class=\"episode-item\"[^>]*>\\\\s*([^<]+)\\\\s*<\/a>', 'g');\nvar m;\nwhile ((m = re.exec(block)) !== null) {\n list.push({ text: m[2].trim(), href: m[1] });\n}\nlist",
"chapterName": "text",
"chapterUrl": "href"
},
"searchUrl": "\/api\/search?type=mh&page={{page}}&pageSize=20&keyword={{key}}",
"weight": 0
}