🌟卡拉漫画
https://www.kalamanhua.com
langzaier (13654)08/19 18:38
by狼崽儿 //2026.8.19
融合了好几个有名漫画网站资源的漫画网站。bug未知,如果有问题先从登录处进去搜索查看漫画,走一遍真人搜索流程。
有些线路或者有些漫画本身资源有问题,线路问题换线路,漫画显示章节下架就说明看不了了。
{
"bookSourceComment": "by狼崽儿 \/\/2026.8.19\n融合了好几个有名漫画网站资源的漫画网站。bug未知,如果有问题先从登录处进去搜索查看漫画,走一遍真人搜索流程。\n有些线路或者有些漫画本身资源有问题,线路问题换线路,漫画显示章节下架就说明看不了了。",
"bookSourceName": "🌟卡拉漫画",
"bookSourceType": 2,
"bookSourceUrl": "https:\/\/www.kalamanhua.com",
"customOrder": 0,
"enabled": true,
"enabledCookieJar": true,
"enabledExplore": true,
"exploreUrl": "@js:\nvar result = [];\nvar push = function(title, url, size) {\n result.push({\n title: title,\n url: url,\n style: {\n layout_flexGrow: 1,\n layout_flexBasisPercent: size\n }\n });\n};\nvar regions = [\n {name: '全部', code: '26'},\n {name: '韩漫', code: 'Kc'},\n {name: '日漫', code: 'Jc'},\n {name: '中漫', code: 'Cc'},\n {name: '欧美漫', code: 'Ec'},\n {name: '其他', code: 'Oc'}\n];\nvar types = [\n 'All', '恋爱', '冒险', '生活', '校园', '热血', '魔法', '悬疑', '科幻',\n '运动', '都市', '耽美', '搞笑', '单女主', '纯爱', '总裁', '奇幻', '恐怖',\n '灵异', '异能', '穿越', '剧情', '古风', '言情', '玄幻', '复仇', '多女主',\n '霸总', '虐恋', '青春', '真人', '重生', '甜宠', '游戏竞技', '家庭', 'BL',\n '民国', '同人', '系统', '爱情', '美人', '喜剧', '纯真', '腹黑', '财阀',\n '后宫', '战争', '修真', '其他'\n];\nfor (var r = 0; r < regions.length; r++) {\n var region = regions[r];\n for (var t = 0; t < types.length; t++) {\n var type = types[t];\n var isAll = (t === 0);\n var base;\n if (isAll) {\n base = '\/type\/' + region.code;\n } else {\n var encodedType = (type === 'All' || type === 'BL') ? type : encodeURIComponent(type);\n base = '\/type\/' + region.code + '--' + encodedType;\n }\n var url;\n if (isAll) {\n url = '@js:var base=\"' + base + '\";if(page==1){base+\"-----.html\";}else{base+\"---\"+page+\"--.html\";}';\n } else {\n url = '@js:var base=\"' + base + '\";if(page==1){base+\"---.html\";}else{base+\"-\"+page+\"--.html\";}';\n }\n var title;\n if (isAll) {\n title = '📌 ' + region.name + '·全部';\n } else {\n title = region.name + '·' + type;\n }\n var size = isAll ? 1 : 0.35;\n push(title, url, size);\n }\n}\nJSON.stringify(result);",
"header": "{\n \"User-Agent\": \"Mozilla\/5.0 (Linux; Android 10; K) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/120.0.0.0 Mobile Safari\/537.36\",\n \"Referer\": \"https:\/\/www.kalamanhua.com\",\n \"Cookie\": \"cf_human_passed=true\"\n}",
"lastUpdateTime": "1787135922026",
"loginCheckJs": "",
"loginUrl": "https:\/\/www.kalamanhua.com",
"respondTime": 2152,
"ruleBookInfo": {
"author": "##作者:([^<]+)<##$1###",
"coverUrl": ".stui-content__thumb img@data-original@js:result + ',{\"headers\":{\"Referer\":\"https:\/\/www.kalamanhua.com\"}}'",
"intro": "@js:\nvar names = [];\nvar tm = result.match(\/data-toggle=\"tab\"[^>]*>([^<]+)<\/g);\nif (tm) {\n for (var i = 0; i < tm.length; i++) {\n var mm = tm[i].match(\/>([^<]+)<\/);\n if (mm) names.push(mm[1]);\n }\n}\nvar n = names.length;\nif (n === 0) {\n n = (result.match(\/<ul class=\"stui-content__playlist\/g) || []).length;\n for (var z = 0; z < n; z++) {\n names.push('线路' + (z + 1));\n }\n}\nvar xu = '0';\ntry {\n var cv = book.getVariable('custom');\n if (cv != null && cv != '') {\n xu = String(cv);\n }\n} catch(e) {}\nif (xu == '0' || xu == '') {\n var ov = String(book.variable || '');\n if (ov != '') {\n xu = ov;\n }\n}\nvar list = '';\nfor (var i2 = 0; i2 < names.length; i2++) {\n list += '◖' + i2 + '◗' + names[i2] + ' ';\n}\nvar lineInfo = '【线路列表】' + list.trim() + '\\n当前来源◖' + xu + '◗\\n(右上角书籍变量填 0-' + (n - 1) + ' 刷新切换线路)';\nvar desc = '';\nvar dcMatch = result.match(\/<span class=\"detail-content\" style=\"display: none;\">([\\s\\S]*?)<\\\/span>\/);\nif (dcMatch) {\n desc = dcMatch[1].trim();\n}\nif (!desc) {\n var dsMatch = result.match(\/<span class=\"detail-sketch\">([\\s\\S]*?)<\\\/span>\/);\n if (dsMatch) {\n desc = dsMatch[1].trim();\n }\n}\nif (!desc) {\n desc = java.getString('meta[name=\"description\"]@content') || '';\n}\nlineInfo + '\\n\\n📖 简介:' + desc;",
"kind": ".stui-content__detail@text##类型:(.+?)地区:##$1##",
"lastChapter": ".data span@text",
"name": "h1.title@text"
},
"ruleContent": {
"content": "@js:\nvar um = result.match(\/\"url\":\"([0-9a-f]+)\"\/);\nvar enc = um ? um[1] : '';\nvar out = '';\nif (enc) {\n try {\n var resp = java.get('https:\/\/image.kalaimg.top\/play\/min\/' + enc, {Referer: 'https:\/\/www.kalamanhua.com\/'});\n var minHtml = String(resp.body());\n var d1 = minHtml.indexOf('var d=\"');\n var b64 = '';\n if (d1 >= 0) { var d2 = minHtml.indexOf('\"', d1 + 7); if (d2 > d1) { b64 = minHtml.substring(d1 + 7, d2); } }\n var k1 = minHtml.indexOf('k=[');\n var k = [];\n if (k1 >= 0) { var k2 = minHtml.indexOf(']', k1 + 3); if (k2 > k1) { var kp = minHtml.substring(k1 + 3, k2).split(','); for (var t = 0; t < kp.length; t++) { k.push(parseInt(kp[t])); } } }\n if (b64 && k.length > 0) {\n var bytes = java.base64DecodeToByteArray(b64);\n var dec = '';\n for (var i = 0; i < bytes.length; i++) {\n dec += String.fromCharCode((bytes[i] & 0xff) ^ k[i % k.length]);\n }\n var imgs = dec.match(\/data-src=\"\\\/image\\\/index\\\/[^\"]+\"\/g);\n if (imgs) {\n for (var j = 0; j < imgs.length; j++) {\n var src = imgs[j].replace(\/data-src=\"\/, '').replace(\/\"$\/, '');\n out += '<img src=\"https:\/\/image.kalaimg.top' + src + ',{\"headers\":{\"Referer\":\"https:\/\/www.kalamanhua.com\/\"}}\">';\n }\n }\n }\n } catch(e) {}\n}\nout;",
"imageStyle": "FULL"
},
"ruleExplore": {
"author": ".stui-vodlist__detail p@text",
"bookList": "\/\/ul[contains(@class,'vodlist')]\/li",
"bookUrl": "a@href",
"coverUrl": "a@data-original",
"intro": "@js:\nvar a = java.getString('.stui-vodlist__detail p@text');\nvar l = java.getString('.pic-text b@text');\nvar result = '作者:' + (a || '') + '\\n更新:' + (l || '');\nresult;",
"kind": ".pic-text1 b@text",
"lastChapter": ".pic-text b@text",
"name": "a@title"
},
"ruleSearch": {
"author": ".stui-vodlist__detail p@text",
"bookList": "ul.stui-vodlist > li",
"bookUrl": "a@href",
"checkKeyWord": "",
"coverUrl": "a@data-original@js:result + ',{\"headers\":{\"Referer\":\"https:\/\/www.kalamanhua.com\"}}'",
"kind": ".pic-text1 b@text",
"lastChapter": ".pic-text b@text",
"name": "a@title"
},
"ruleToc": {
"chapterList": "@js:\nvar xu = '0';\nvar mi = String(book.intro || '').match(\/来源◖(\\d+)◗\/);\nif (mi) { xu = mi[1]; }\ntry { var cv = book.getVariable('custom'); if (cv != null && cv != '') { xu = String(cv); } } catch(e) {}\nvar idx = parseInt(xu);\nif (!(idx >= 0)) { idx = 0; }\nvar doc = org.jsoup.Jsoup.parse(result);\nvar uls = doc.select('ul.stui-content__playlist');\nvar ul = uls.size() > 0 ? uls.get(Math.min(idx, uls.size() - 1)) : null;\nvar arr = [];\nif (ul) {\n var as = ul.select('li a');\n for (var i = 0; i < as.size(); i++) {\n arr.push(JSON.stringify({name: as.get(i).text(), url: 'https:\/\/www.kalamanhua.com' + as.get(i).attr('href')}));\n }\n}\narr;",
"chapterName": "$.name",
"chapterUrl": "$.url"
},
"searchUrl": "\/search\/page\/{{page}}\/wd\/{{key}}.html",
"weight": 0
}