漫蛙
https://www.manwaye.cc
langzaier (13654)08/19 18:42
8.19
复用夜泽川大佬的封面解密,在此表示感谢。
因为这个漫蛙就是猕猴桃漫画里的某个域名,所以很多代码复用夜泽川大佬就行。本次修改主要是把硬编码的获取API的方法改成了基于源Url获取API,如果源失效只要改源Url(源Url后面不要加/)就好了。登录处是发现页网址。
{
"bookSourceComment": "\/\/2026.6.20\n用了夜泽川的猕猴桃漫画的代码做了发布页和翻页规则,在此郑重感谢。\n!!!大家一定要擦亮眼睛,不要给这个网站买会员啊!直接在Legado阅读里阅读或者去正版漫蛙网站里看。正版漫蛙是htpps:\/\/www.mw777.me。这个源爬的网站胜在国内连接稳定,更换了域名也容易改,网速差可以考虑挂梯或换域名。\n用户ljy911028发的是正版漫蛙的源,大家可以也去那里看看。\n我也是在昨天才发现这个网站是需要开会员看部分漫画的,之前一直都是直接抓取api阅读,所以不要在这个网站充钱,真正的漫蛙是完全免费的。\n8.19\n因为这个漫蛙就是猕猴桃漫画里的某个域名,所以很多代码复用夜泽川就行。本次修改主要是把硬编码的获取API的方法改成了基于源Url获取API,如果源失效只要改源Url(源Url后面不要加\/)就好了。登录处是发现页网址。",
"bookSourceGroup": "",
"bookSourceName": "漫蛙",
"bookSourceType": 2,
"bookSourceUrl": "https:\/\/www.manwaye.cc",
"bookUrlPattern": "",
"concurrentRate": "",
"coverDecodeJs": "(() => {\n const view = result.readAllBytes();\n const isImage = (view[0] === 0xFF && view[1] === 0xD8) ||\n (view[0] === 0x89 && view[1] === 0x50) ||\n (view[0] === 0x47 && view[1] === 0x49) ||\n (view[0] === 0x52 && view[1] === 0x49);\n if (isImage) return result;\n const iv = view.slice(0, 16);\n const ciphertext = view.slice(16);\n const key = java.strToBytes('0B6666A0-BB59-1381-B746-a0E4C9AC');\n const cipher = java.createSymmetricCrypto(\"AES\/CBC\/PKCS5Padding\", key, iv);\n return cipher.decrypt(ciphertext);\n})();",
"customOrder": 1,
"enabled": true,
"enabledCookieJar": true,
"enabledExplore": true,
"exploreScreen": "",
"exploreUrl": "@js:\nvar baseUrl = source.bookSourceUrl;\nif (baseUrl && baseUrl.length > 0 && baseUrl.charAt(baseUrl.length - 1) == '\/') {\n baseUrl = baseUrl.substring(0, baseUrl.length - 1);\n}\n\nvar result = [];\nvar push = (title, tag, p, size) => result.push({\n title: title,\n url: baseUrl + '\/api' + p + \",\" + JSON.stringify({\n \"body\": \"{\\\"page\\\":{\\\"page\\\":{{page}},\\\"pageSize\\\":1000},\\\"category\\\":\\\"comic\\\",\\\"sort\\\":0,\\\"comic\\\":{\\\"status\\\":-1,\\\"day\\\":0,\\\"tag\\\":\\\"\" + tag + \"\\\"},\\\"video\\\":{\\\"year\\\":0,\\\"typeId\\\":0,\\\"typeId1\\\":0,\\\"area\\\":\\\"\\\",\\\"lang\\\":\\\"\\\",\\\"status\\\":-1,\\\"day\\\":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\nvar html = java.ajax(baseUrl + '\/cate');\nvar doc = org.jsoup.Jsoup.parse(html);\nvar tagContainers = doc.select('.tag-container');\nvar lastContainer = tagContainers.size() > 0 ? tagContainers.get(tagContainers.size() - 1) : null;\nvar tags = lastContainer ? lastContainer.select('a') : [];\nfor (var i = 0; i < tags.size(); i++) {\n var a = tags.get(i);\n var size = i == 0 ? 1 : 0.25;\n push(a.text(), a.attr('data-value'), a.attr('href'), size);\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": "1787136123572",
"loginCheckJs": "",
"loginUi": "",
"loginUrl": "https:\/\/www.manwake.cc\/",
"respondTime": 6451,
"ruleBookInfo": {
"author": "a[href*=\"author\"]@text",
"canReName": "",
"coverUrl": "",
"init": "",
"intro": "p.comic-desc@text",
"kind": "a[href^=\"\/cate\/\"]@text",
"lastChapter": "a#newch@text",
"name": "h2#page-title@text",
"tocUrl": "",
"wordCount": ""
},
"ruleContent": {
"content": "@js:\nvar imglist = JSON.parse(src).data.images;\nvar html = '';\nfor (var i = 0; i < imglist.length; i++) {\n html += '<img src=\\\"' + imglist[i].url + '\\\">\\\n';\n}\nhtml",
"imageDecode": "(function() {\n var isImage = (result[0] === 0xFF && result[1] === 0xD8) ||\n (result[0] === 0x89 && result[1] === 0x50) ||\n (result[0] === 0x47 && result[1] === 0x49) ||\n (result[0] === 0x52 && result[1] === 0x49);\n if (isImage) return result;\n var iv = result.slice(0, 16);\n var ciphertext = result.slice(16);\n var key = java.strToBytes('0B6666A0-BB59-1381-B746-a0E4C9AC');\n var cipher = java.createSymmetricCrypto('AES\/CBC\/PKCS5Padding', key, iv);\n return cipher.decrypt(ciphertext);\n})();",
"imageStyle": "",
"nextContentUrl": "@js:\nvar pageList = [];\nlet Data = JSON.parse(src).data.pagination;\nvar page = Math.ceil(Data.total \/ Data.page_size);\nfor (let i = 2;i <= page;i++) {\npageList.push(baseUrl.replace(\"page=1\",`page=${i}`));\n}\npageList;",
"replaceRegex": "",
"sourceRegex": "",
"webJs": ""
},
"ruleExplore": {
"author": "",
"bookList": "$.data.list[*]",
"bookUrl": "@json:$.url##\/api\/comic\/##\/comic\/",
"coverUrl": "$.pic",
"intro": "$.description",
"kind": "$.tags",
"lastChapter": "",
"name": "$.title",
"wordCount": ""
},
"ruleSearch": {
"author": "$.author",
"bookList": "$.data.list",
"bookUrl": "$.url",
"coverUrl": "$.cover",
"intro": "$.description",
"kind": "$.tags",
"lastChapter": "",
"name": "$.title",
"wordCount": ""
},
"ruleToc": {
"chapterList": "#chapter-grid-container a",
"chapterName": "@data-title",
"chapterUrl": "@href@js:\nvar baseUrl = source.bookSourceUrl;\nif (baseUrl && baseUrl.length > 0 && baseUrl.charAt(baseUrl.length - 1) == '\/') {\n baseUrl = baseUrl.substring(0, baseUrl.length - 1);\n}\nvar a = result.split(\"\/\")[3];\nvar b = baseUrl + '\/api\/comic\/image\/' + a + '?count=true&page=1';\nb;",
"isVip": "",
"isVolume": "",
"nextTocUrl": "",
"updateTime": "span@text##\\n##|"
},
"searchUrl": "\/api\/search?type=mh&page={{page}}&pageSize=20&keyword={{key}}",
"variableComment": "",
"weight": 0
}