G社漫画/包子漫画
https://manhuafree.com
天天的鸟蛋 (2333)04/20 08:06
by天天的鸟蛋蛋 2025/04/20 使用明月大佬的多线路选择器 新包子漫画
{ "bookSourceComment": "by天天的鸟蛋蛋 2025\/04\/20\n使用明月大佬的多线路选择器\n新包子漫画\n", "bookSourceGroup": "包子漫画,漫画", "bookSourceName": "G社漫画\/包子漫画", "bookSourceType": 2, "bookSourceUrl": "https:\/\/manhuafree.com", "customOrder": 0, "enabled": true, "enabledCookieJar": true, "enabledExplore": true, "exploreUrl": "[{\"title\":\"---------✨分类------------\",\"url\":\"\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":1}},{\"title\":\"全部\",\"url\":\"{{bhost()}}\/manga\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"韩漫\",\"url\":\"{{bhost()}}\/manga-genre\/kr\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"热门\",\"url\":\"{{bhost()}}\/manga-genre\/hots\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"国漫\",\"url\":\"{{bhost()}}\/manga-genre\/cn\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"其他\",\"url\":\"{{bhost()}}\/manga-genre\/qita\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"日漫\",\"url\":\"{{bhost()}}\/manga-genre\/jp\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"欧美\",\"url\":\"{{bhost()}}\/manga-genre\/ou-mei\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"---------🔥热门标签------------\",\"url\":\"\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":1}},{\"title\":\"#复仇\",\"url\":\"{{bhost()}}\/manga-tag\/fuchou\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#古风\",\"url\":\"{{bhost()}}\/manga-tag\/gufeng\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#奇幻\",\"url\":\"{{bhost()}}\/manga-tag\/qihuan\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#逆袭\",\"url\":\"{{bhost()}}\/manga-tag\/nixi\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#异能\",\"url\":\"{{bhost()}}\/manga-tag\/yineng\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#宅向\",\"url\":\"{{bhost()}}\/manga-tag\/zhaixiang\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#穿越\",\"url\":\"{{bhost()}}\/manga-tag\/chuanyue\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#热血\",\"url\":\"{{bhost()}}\/manga-tag\/rexue\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#纯爱\",\"url\":\"{{bhost()}}\/manga-tag\/chunai\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#系统\",\"url\":\"{{bhost()}}\/manga-tag\/xitong\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#重生\",\"url\":\"{{bhost()}}\/manga-tag\/zhongsheng\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#冒险\",\"url\":\"{{bhost()}}\/manga-tag\/maoxian\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#灵异\",\"url\":\"{{bhost()}}\/manga-tag\/lingyi\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#大女主\",\"url\":\"{{bhost()}}\/manga-tag\/danvzhu\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#剧情\",\"url\":\"{{bhost()}}\/manga-tag\/juqing\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#恋爱\",\"url\":\"{{bhost()}}\/manga-tag\/lianai\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#玄幻\",\"url\":\"{{bhost()}}\/manga-tag\/xuanhuan\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#女神\",\"url\":\"{{bhost()}}\/manga-tag\/nvshen\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#科幻\",\"url\":\"{{bhost()}}\/manga-tag\/kehuan\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#魔幻\",\"url\":\"{{bhost()}}\/manga-tag\/mohuan\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#推理\",\"url\":\"{{bhost()}}\/manga-tag\/tuili\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#猎奇\",\"url\":\"{{bhost()}}\/manga-tag\/lieqi\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#治愈\",\"url\":\"{{bhost()}}\/manga-tag\/zhiyu\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#都市\",\"url\":\"{{bhost()}}\/manga-tag\/doushi\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#异形\",\"url\":\"{{bhost()}}\/manga-tag\/yixing\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#青春\",\"url\":\"{{bhost()}}\/manga-tag\/qingchun\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#末日\",\"url\":\"{{bhost()}}\/manga-tag\/mori\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#悬疑\",\"url\":\"{{bhost()}}\/manga-tag\/xuanyi\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#修仙\",\"url\":\"{{bhost()}}\/manga-tag\/xiuxian\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}},{\"title\":\"#战斗\",\"url\":\"{{bhost()}}\/manga-tag\/zhandou\/page\/{{page}}\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.25}}]", "header": "<js>\nheaders={\"Referer\":baseUrl};\nJSON.stringify(headers)\n<\/js>", "jsLib": "function bhost(){var d=\"manhuafree.com\",s=this.source;try{var u=(p=>p?Object.values(p[0])[0]:d)(s.getVariable()&&JSON.parse(s.getVariable()))||d;return(\/^https?:\/.test(u)?u:\"https:\/\/\"+u).replace(\/\\\/$\/,\"\")}catch(e){return(\/^https?:\/.test(d)?d:\"https:\/\/\"+d).replace(\/\\\/$\/,\"\")}}", "lastUpdateTime": "1745107613965", "loginUi": "[\n{\"name\":\"多线路优选\",\"type\":\"button\",\n\"action\":\"checkHostsLatency(hosts)\"}\n]", "loginUrl": "var Importer = new JavaImporter(\n Packages.java.net,\n Packages.java.io,\n Packages.java.util,\n Packages.java.lang,\n Packages.java.util.concurrent\n);\n\nvar hosts = [\n \"manhuafree.com\",\n \"m.g-mh.org\",\n \"baozimh.org\",\n \"bzmh.org\"\n \n];\n\nfunction getTimestamp() {\n return Packages.java.lang.System.currentTimeMillis();\n}\n\nfunction checkLatency(urlString) {\n var connection = null;\n try {\n if (!urlString.startsWith(\"http:\/\/\") && !urlString.startsWith(\"https:\/\/\")) {\n urlString = \"https:\/\/\" + urlString;\n }\n var startTime = getTimestamp();\n var url = new Packages.java.net.URL(urlString);\n connection = url.openConnection();\n connection.setRequestMethod(\"GET\");\n connection.setConnectTimeout(3000);\n connection.setReadTimeout(3000);\n \n var inputStream = connection.getInputStream();\n inputStream.close();\n \n var latency = getTimestamp() - startTime;\n java.log(\"[SUCCESS] \" + urlString + \" | \" + latency + \"ms\");\n return latency;\n } catch (e) {\n java.log(\"[FAILED] \" + urlString + \" | \" + e);\n return null;\n } finally {\n try {\n if (connection) connection.disconnect();\n } catch (e) {}\n }\n}\n\nfunction checkHostsLatency(hosts) {\n with (Importer) {\n try {\n var totalStart = getTimestamp();\n java.longToast(\"🚀 启动检测\");\n \n var results = [];\n var total = hosts.length;\n \n for (var i = 0; i < hosts.length; i++) {\n var host = hosts[i];\n \/\/ 更新进度提示\n java.longToast(\"🔍 检测中 (\" + (i+1) + \"\/\" + total + \")\");\n \n var latency = checkLatency(host);\n if (latency !== null) {\n results.push({\n host: host,\n latency: latency\n });\n }\n }\n\n var totalTime = getTimestamp() - totalStart;\n java.log(\"总耗时: \" + totalTime + \"ms\");\n \n if (results.length === 0) {\n java.toast(\"❌ 无可用主机\");\n } else {\n results.sort(function(a, b) {\n return a.latency - b.latency;\n });\n \n var best = results[0];\n var summary = \"✅ 完成检测\\n最佳: \" + best.host + \"\\n⏱️ \" + best.latency + \"ms\";\n java.longToast(summary);\n let ms = \"共找到 \" + results.length + \"\/\" + total + \" 可用节点\"\n java.longToast(ms);\n java.log(ms);\n source.setVariable(JSON.stringify(results, null, 2));\n }\n } catch (e) {\n java.log(\"[FATAL] \" + e);\n }\n }\n}", "respondTime": 180000, "ruleBookInfo": { "author": ".text-small@a@span@text##\\s", "coverUrl": "", "init": "", "intro": "<js>\nvar novelIntro=({title,author,genre,score,desc})=>['','✧*̥₊˚‧☆・゚'.repeat(3),`📖书名:《${title}》`,`👤作者:${author}`,`🏷️类型:${genre}`,`✨最新章节:${latestChapterTitle}`,'✦ ─────────────── ✦',`${desc}`,'❈'.padEnd(20,'~*')].join('\\n').replace(\/^\/gm,' ');\nvar latestChapterTitle=`{{@@.my-unit-md@span@text}}`\nvar intro=`{{@@.text-medium@text##最近章節}}`\nnovelIntro({\n \"title\": book.name,\n \"author\": book.author,\n \"genre\": book.kind,\n \"latestChapterTitle\":latestChapterTitle,\n \"desc\": intro\n})\n<\/js>##(^|[。!?]+[”」)】]?)##$1<br>", "kind": ".text-sm:nth-child(3)>a@text&&.text-xl@span@text&&.py-1:nth-child(4) > a:nth-child(n+1)@text<js>java.t2s(result);<\/js>##\\[|\\]", "lastChapter": ".my-unit-md@span@text", "name": ".text-xl@textNodes", "tocUrl": "<js>\n\nvar mid=src.match(\/data\\-mid\\=\"(\\d+)\"\/)[1];\njava.put(\"mid\",mid)\nvar r=`https:\/\/api-get-v2.mgsearcher.com\/api\/manga\/get?mid=${mid}&mode=all`\nr;\n\n<\/js>" }, "ruleContent": { "content": "<js>\nvar data=JSON.parse(result)\nvar imageList=data.data.info.images.images\nvar imgTags = imageList.map(item => `<img src=\"https:\/\/f40-1-4.g-mh.online${item.url}\">`).join('\\n');\nimgTags;\n<\/js>" }, "ruleExplore": { "bookList": "" }, "ruleSearch": { "bookList": "[email protected]", "bookUrl": "a@href", "checkKeyWord": "", "coverUrl": "img@src", "name": "h3@text" }, "ruleToc": { "chapterList": ".chapters[*]", "chapterName": ".title", "chapterUrl": "<js>\nvar mid=java.get(\"mid\")\nvar id=`{{$..id}}`\nvar r=`https:\/\/api-get-v2.mgsearcher.com\/api\/chapter\/getinfo?m=${mid}&c=${id}`\nr;\n<\/js>", "updateTime": ".updatedAt" }, "searchUrl": "{{bhost()}}\/s\/{{key}}?page={{page}}", "weight": 0 }