[{"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":".grid-cols-3@.pb-2","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}]