🎨禁漫天堂[国内]

https://jmcomicgo.me

jiajunjin (10775)4天前

① 复制了xiaohan231大佬的图片解密,支持了部分未加密图片的观看

② 优化了登录函数

二维码导入
{
    "bookSourceComment": "① 发布页:https:\/\/jmcomicgo.me\n  \n②❗❗❗需要在登录页面获取网址❗❗❗\n\n③ 部分内容需要登录才会显示\n  \n④ 目录>章节URL规则,最后的数字可用1、2、3、4,代表站内分流线路\n\n⑤ 更改发现排列在登录切换\n\n⑥ 复制xiaohan231大佬图片解密,支持了对未加密图片观看",
    "bookSourceGroup": "寿横大佬最新力作",
    "bookSourceName": "🎨禁漫天堂[国内]",
    "bookSourceType": 2,
    "bookSourceUrl": "https:\/\/jmcomicgo.me",
    "customOrder": 0,
    "enabled": true,
    "enabledCookieJar": true,
    "enabledExplore": true,
    "exploreUrl": "@js:\neval(String(source.loginUrl));\nlet URL =  $$$.url\n    let list = [],\n    push = (title, url, size) => list.push({\n        \"title\": title,\n        \"url\": url,\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": size\n        }\n    });\n    push('[▶ '+$$$.name+' ◀]', '', 1);\n    let _list = [[\"最新\", \"albums?o=mr&page=\"], [\"COS\", \"albums\/another\/sub\/cosplay?page=\"], [\"3D\", \"search\/photos?search_query=3D&page=\"]];\n    _list.map(([t, u]) => {\n    \t    push(t, `${URL}\/${u}` + '{{page}}', 0.25);\n    \t});\n    push('👁‍🗨阅读排行榜👁‍🗨', '', 1);\n    let typeList = [[\"日榜\", \"&t=t\"], [\"周榜\", \"&t=w\"], [\"月榜\", \"&t=m\"],[\"总榜\", \"\"]];\n    typeList.map(([t, type]) => {\n    \t    push(t, `${URL}\/albums?o=mv${type}&page=` + '{{page}}' , 0.2);\n    \t});\n    \tpush('♥️收藏排行榜♥️', '', 1);\n    \ttypeList.map(([t, type]) => {\n    \t    push(t, `${URL}\/albums?o=mo${type}&page=` + '{{page}}', 0.2);\n    \t});\n    let sorts1 = [\"無修正\",\"劇情向\",\"青年漫\",\"校服\",\"純愛\",\"人妻\",\"教師\",\"百合\",\"Yaoi\",\"性轉\",\"NTR\",\"女裝\",\"癡女\",\"全彩\",\"女性向\",\"完結\",\"純愛\",\"禁漫漢化組\"];\n    let sorts2 = [\"御姐\",\"熟女\",\"未成年\",\"巨乳\",\"貧乳\",\"女性支配\",\"教師\",\"女僕\",\"護士\",\"泳裝\",\"眼鏡\",\"連褲襪\",\"其他制服\",\"兔女郎\"];\n    let sorts3 = [\"群交\",\"足交\",\"束縛\",\"肛交\",\"阿黑顏\",\"藥物\",\"扶他\",\"調教\",\"野外露出\",\"催眠\",\"自慰\",\"觸手\",\"獸交\",\"亞人\",\"怪物女孩\",\"皮物\",\"附身\",\"ryona\",\"騎大車\"];\n    let sorts4 = [\"CG\",\"重口\",\"獵奇\",\"非H\",\"血腥暴力\",\"站長推薦\"];\n    const sortCriteria = [\n  { label: '🏷️标签---按时间🏷️', sort: 'mr' },\n  { label: '🏷️标签---按阅读🏷️', sort: 'mv' },\n  { label: '🏷️标签---按收藏🏷️', sort: 'mo' }\n];\nvar sort =  sortCriteria[$$$.tag].sort;\nvar label = sortCriteria[$$$.tag].label;\n  push(label, '', 1);\n  push('▶主题A漫◀','', 1)\n  sorts1.forEach(s => {\n    push(s, `${URL}\/search\/photos?search_query=${s}&o=${sort}&page=` + '{{page}}', 0.25\n    );\n  });\n  push('▶角色\/扮演◀','', 1)\n  sorts2.forEach(s => {\n    push(s, `${URL}\/search\/photos?search_query=${s}&o=${sort}&page=` + '{{page}}', 0.25\n    );\n  });\n  push('▶特殊PLAY◀','', 1)\n  sorts3.forEach(s => {\n    push(s, `${URL}\/search\/photos?search_query=${s}&o=${sort}&page=` + '{{page}}', 0.25\n    );\n  });\n  push('▶其他◀','', 1)\n  sorts4.forEach(s => {\n    push(s, `${URL}\/search\/photos?search_query=${s}&o=${sort}&page=` + '{{page}}', 0.25\n    );\n  });\nJSON.stringify(list);",
    "header": "{\n\t\"User-Agent\":\"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/138.0.0.0 Safari\/537.36 Edg\/138.0.0.0\",\n\t\"Referer\":\"https:\/\/18comic.vip\/\"\n}",
    "jsLib": "function Get(e) {\n    const { java, source, cookie } = this;\n    var get = JSON.parse(source.getVariable());\n    return get[e];\n}",
    "lastUpdateTime": "1757801354363",
    "loginCheckJs": " var resultUrl = result.url();\n var resultCode = result.code();\n var resultBoDy = result.body();\n if (\/_cf_|ge_ua|verify.php\/ig.test(resultBoDy) ) {\n     if (key) {\n         url = baseUrl + java.ruleUrl;\n     }\n     cookie.removeCookie(baseUrl)\n     result = java.startBrowserAwait(resultUrl, \n     \t\"验证\", false);\n     \/\/java.log(result.body())\n     \/\/result = java.connect(resultUrl)\n }\nresult;",
    "loginUi": "[ \n {\n        \"name\": \"账号\",\n        \"type\": \"text\"\n    },\n    {\n        \"name\": \"密码\",\n        \"type\": \"password\"\n    },\n  { name: \"༺ˇ»`ʚ  点击切换排序  ɞ´«ˇ༻\", type: \"button\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 1} },\n  { name: \"时间\", type: \"button\", action: \"tag(0)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"阅读\", type: \"button\", action: \"tag(1)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n  { name: \"收藏\", type: \"button\", action: \"tag(2)\", style: {layout_flexGrow: 1, layout_flexBasisPercent: 0.25} },\n    {\n    \t   \"name\": \"获取链接\",\n    \t   \"type\": \"button\",\n        \"action\": \"url()\",\n        \"style\": {\n            \"layout_flexGrow\": 1,\n            \"layout_flexBasisPercent\": 0.2\n        }\n    \t}\n]",
    "loginUrl": "original = {\n'url' : 'https:\/\/jmcomicgo.me',\n'name' : '寿横',\n'tag' : 0\n};\ntry {\n    $$$ = JSON.parse(source.getVariable());\n    if ($$$ == null) {\n        error;\n    } else {\n        '';\n    };\n} catch (e) {\n    $$$ = original;\n    put($$$);\n}\nfunction put(data) {\n    return source.setVariable(JSON.stringify(data, null, '\\t'));\n}\nfunction n(e) {\n    n = '\\n';\n    for (m = 1; m < e; m++) {\n        n = n + '\\n';\n    }\n    return n;\n}\nfunction log(e) {\n    if (e == undefined) {\n        return;\n    }\n    java.longToast(e);\n}\nfunction login() {\n    result = JSON.parse(source.getLoginInfo());\n    var username = result['账号'];\n    $$$.name = username;\n    var password = result['密码'];\n    var options = {\n\t   body: `username=${username}&password=${password}&submit_login=1`,\n\t   method: 'POST'\n\t}\n        var urls = java.ajax(`https:\/\/jmcomicgo.me`)\n\tvar url = urls.match(\/china\"><span>(.*?)<\\\/span>\/)[1];\n        $$$.url = url;\n\tjava.ajax(`${url}\/login,${JSON.stringify(options)}`)\n\treturn put($$$);\n\t}\n\nP = ['时间','阅读','收藏'];\nfunction typeP(e) {\n    if (e == undefined) {\n        e = 0;\n    }\n    return P[e];\n}\nfunction tag(e) {\n    if (tag == undefined) {\n        tag = result.tag;\n    }\n    if (e == $$$.tag) {\n        return log('【标签切换提示】' + n(2) + '已经选择此标签,无需更换');\n    }\n    log('【标签切换提示】' + n(2) + '已经切换到[' + typeP(e) + ']');\n    $$$.tag = e;\n    return put($$$);\n}\n\nfunction url() {\n    var urls = java.ajax(`https:\/\/jmcomicgo.me`)\n    var url = urls.match(\/china\"><span>(.*?)<\\\/span>\/)[1];\n    if (url == $$$.url) {\n         return log('【站点提示】' + n(2) + '站点无需更换');\n    }\n    log('站点变更:' + url)\n    $$$.url = url;\n    return put($$$);\n\t}\n",
    "respondTime": 180000,
    "ruleBookInfo": {
        "author": ".tag-block.42@text",
        "coverUrl": ".thumb-overlay.2@img@src",
        "intro": "&nbsp;\n{{@@class.p-t-5 float-left@text##日期}}    {{@@class.p-t-5 float-right@text##日期}}\n{{@@class.col-xs-12 col-lg-7 [email protected] p-b-5@text##叙述:|敘述:}}",
        "kind": "sapn.tags a@text",
        "name": "id.book-name@text",
        "tocUrl": "baseUrl"
    },
    "ruleContent": {
        "content": "{{@class.row [email protected]@data-original}}\n@js:result.split(\"\\n\").map(x=>'<img src=\"'+x+'\">').join(\"\\n\")",
        "imageDecode": "if (src.search(\"qyyuapi.com\") != -1) {\n    result;\n} else {\n    var Magua = new JavaImporter();\n    Magua.importPackage(Packages.java.io, Packages.android.graphics);\n    with(Magua) {\n        let mac = src.match(\/photos\\\/(\\d+)?\\\/(\\d+)?\/);\n        let bookId = mac[1];\n        let imgId = mac[2];\n        if (src.search(\"gif\") != -1 || Number(bookId) < 220980) {\n            result;\n        } else {\n            if (Number(bookId) > 421925) {\n                let md5 = java.md5Encode((bookId + imgId));\n                let ascii = md5.substr( - 1).charCodeAt(0);\n                var num = (ascii % 8 + 1) * 2;\n            } else if (Number(bookId) >= 268850) {\n                let md5 = java.md5Encode((bookId + imgId));\n                let ascii = md5.substr( - 1).charCodeAt(0);\n                var num = (ascii % 10 + 1) * 2;\n            } else {\n                var num = 10;\n            }\n            var img = BitmapFactory.decodeByteArray(result, 0, result.length);\n            var height = img.getHeight();\n            var width = img.getWidth();\n            var y = Math.floor(height \/ num);\n            var remainder = height % num;\n            var newImg = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);\n            let canvas = new Canvas(newImg);\n            for (let i = 1; i <= num; i++) {\n                let h = i === num ? remainder: 0;\n                canvas.drawBitmap(Bitmap.createBitmap(img, 0, y * (i - 1), width, y + h), 0, height - y * i - h, null);\n            }\n            var newbit = new ByteArrayOutputStream();\n            newImg.compress(Bitmap.CompressFormat.PNG, 100, newbit);\n            newbit.toByteArray();\n        }\n    }\n}",
        "imageStyle": "FULL"
    },
    "ruleExplore": {},
    "ruleSearch": {
        "author": ".title-truncate.1@text",
        "bookList": ".p-b-15",
        "bookUrl": "tag.a.0@href",
        "coverUrl": "img@data-original||img@src",
        "intro": ".video-title@text",
        "kind": ".tag@text",
        "name": ".video-title@text",
        "wordCount": "span.0@text##^##👍🏻"
    },
    "ruleToc": {
        "chapterList": "[email protected]||.reading",
        "chapterName": "text",
        "chapterUrl": "href##(.*)##$1\/?shunt=1",
        "updateTime": "span@text"
    },
    "searchUrl": "{{Get('url')}}\/search\/photos?search_query={{key}}&search-type=photos&main_tag=0&page={{page}}",
    "weight": 0
}
广告