📖💵书耽🆔🅰

https://app.shubl.com

采集机器人 (2)2023/04/06

该用户很懒,什么介绍也没有写!
二维码导入
{
    "bookSourceComment": "login_name:账号\npasswd:密码\nlogin_token:填写账号密码调试后获取\naccount:填写账号密码调试后获取\n请填写账号密码,调试后复制 login_token 和 account,粘贴到搜索里。如需发现,粘贴到发现列表相关位置。",
    "bookSourceGroup": "📖 正版,🌟 ΑΡΙ",
    "bookSourceName": "📖💵书耽🆔🅰",
    "bookSourceType": 0,
    "bookSourceUrl": "https:\/\/app.shubl.com",
    "bookUrlPattern": "",
    "customOrder": 280,
    "enabled": true,
    "enabledCookieJar": false,
    "enabledExplore": true,
    "enabledReview": false,
    "exploreUrl": "全部纯爱::https:\/\/www.baidu.com\/category_type=1&order=week_click&page={{page}}\n现纯::https:\/\/www.baidu.com\/category_type=4&order=week_click&page={{page}}\n幻纯::https:\/\/www.baidu.com\/category_type=5&order=week_click&page={{page}}\n古纯::https:\/\/www.baidu.com\/category_type=6&order=week_click&page={{page}}\n百合::https:\/\/www.baidu.com\/category_type=3&order=week_click&page={{page}}\n全部言情::https:\/\/www.baidu.com\/category_type=20&order=week_click&page={{page}}\n现言::https:\/\/www.baidu.com\/category_type=8&order=week_click&page={{page}}\n幻言::https:\/\/www.baidu.com\/category_type=9&order=week_click&page={{page}}\n古言::https:\/\/www.baidu.com\/category_type=10&order=week_click&page={{page}}\n无CP::https:\/\/www.baidu.com\/category_type=21&order=week_click&page={{page}}\n付费&连载&更新时间::https:\/\/www.baidu.com\/category_type=1&order=uptime&up_status=0&is_paid=1&page={{page}}\n付费&完本&更新时间::https:\/\/www.baidu.com\/category_type=1&order=uptime&up_status=1&is_paid=1&page={{page}}\n每日签到::https:\/\/www.baidu.com\/get_daily_task_bonus",
    "header": "",
    "lastUpdateTime": 1672719374812,
    "loginUrl": "",
    "respondTime": 6228,
    "ruleBookInfo": {
        "author": "$.author_name",
        "coverUrl": "$.cover",
        "init": "<js>\nvar javaImport = new JavaImporter();\njavaImport.importPackage(\n    Packages.java.lang,\n    Packages.javax.crypto.spec,\n    Packages.javax.crypto,\n    Packages.android.util\n);\n\nwith(javaImport){\n  function decode(word){\n      let key=SecretKeySpec(java.base64DecodeToByteArray(\"nvlrM3RT6n0iYj4I\/zbGqisUGGMpy3UT84cNphYONC8=\"),\"AES\");\n      let iv=IvParameterSpec(java.base64DecodeToByteArray(\"AAAAAAAAAAAAAAAAAAAAAA==\"));\n      let chipher=Cipher.getInstance(\"AES\/CBC\/PKCS5Padding\");\n      let bytes=Base64.decode(String(word).getBytes(),2);\n      chipher.init(2,key,iv);\n      return String(chipher.doFinal(bytes));\n    }\n}\ndecode(result)\n<\/js>\n$.data.book_info",
        "intro": "$.description",
        "kind": "$.tag",
        "lastChapter": "{{$.last_chapter_info.chapter_title}} \/ {{$.last_chapter_info.uptime}}",
        "name": "$.book_name",
        "tocUrl": "@js:\nvar javaImport = new JavaImporter();\njavaImport.importPackage(\n    Packages.java.lang,\n    Packages.javax.crypto.spec,\n    Packages.javax.crypto,\n    Packages.android.util\n);\n\nwith(javaImport){\n  function encode(word){\n      let key=SecretKeySpec(java.base64DecodeToByteArray(\"nvlrM3RT6n0iYj4I\/zbGqisUGGMpy3UT84cNphYONC8=\"),\"AES\");\n      let iv=IvParameterSpec(java.base64DecodeToByteArray(\"AAAAAAAAAAAAAAAAAAAAAA==\"));\n      let chipher=Cipher.getInstance(\"AES\/CBC\/PKCS5Padding\");\n      chipher.init(1,key,iv);\n      return java.encodeURI(Base64.encodeToString(chipher.doFinal(String(word).getBytes()),Base64.NO_WRAP));\n    }\n}\n\nlet jsonObj={\"app_signature_md5\":\"f73576612783f8ed8b68cdf73a56be94\",\"app_version\":\"2.1.6\",\"channel\":\"default\",\"last_update_time\":\"0\",\"book_id\":{{$.book_id}},\"login_token\":String(java.get('login_token')),\"account\":String(java.get('account'))}\nlet body = \"secret_content=\"+encode(JSON.stringify(jsonObj));\nlet option = {\"method\": \"POST\",\"body\": String(body)};\n\"https:\/\/app.shubl.com\/chapter\/get_chapter_list_group_by_division,\" + JSON.stringify(option)",
        "wordCount": "$.total_word_count"
    },
    "ruleContent": {
        "content": "<js>\nvar javaImport = new JavaImporter();\njavaImport.importPackage(\n    Packages.java.lang,\n    Packages.javax.crypto.spec,\n    Packages.javax.crypto,\n    Packages.android.util\n);\n\nwith(javaImport){\n  function decode(word){\n      let key=SecretKeySpec(java.base64DecodeToByteArray(\"nvlrM3RT6n0iYj4I\/zbGqisUGGMpy3UT84cNphYONC8=\"),\"AES\");\n      let iv=IvParameterSpec(java.base64DecodeToByteArray(\"AAAAAAAAAAAAAAAAAAAAAA==\"));\n      let chipher=Cipher.getInstance(\"AES\/CBC\/PKCS5Padding\");\n      let bytes=Base64.decode(String(word).getBytes(),2);\n      chipher.init(2,key,iv);\n      return String(chipher.doFinal(bytes));\n    }\n}\ndecode(result)\n<\/js>\n$.data.chapter_info.txt_content"
    },
    "ruleExplore": {
        "author": "$.author_name",
        "bookList": "<js>\njava.put('login_token','32940914bd5e10756142366b6b9c7cd6')\njava.put('account','萌友28482221176')\n<\/js>\n<js>\nvar javaImport = new JavaImporter();\njavaImport.importPackage(\n    Packages.java.lang,\n    Packages.javax.crypto.spec,\n    Packages.javax.crypto,\n    Packages.android.util\n);\n\nwith(javaImport){\n  function encode(word){\n      let key=SecretKeySpec(java.base64DecodeToByteArray(\"nvlrM3RT6n0iYj4I\/zbGqisUGGMpy3UT84cNphYONC8=\"),\"AES\");\n      let iv=IvParameterSpec(java.base64DecodeToByteArray(\"AAAAAAAAAAAAAAAAAAAAAA==\"));\n      let chipher=Cipher.getInstance(\"AES\/CBC\/PKCS5Padding\");\n      chipher.init(1,key,iv);\n      return java.encodeURI(Base64.encodeToString(chipher.doFinal(String(word).getBytes()),Base64.NO_WRAP));\n    }\n  function decode(word){\n      let key=SecretKeySpec(java.base64DecodeToByteArray(\"nvlrM3RT6n0iYj4I\/zbGqisUGGMpy3UT84cNphYONC8=\"),\"AES\");\n      let iv=IvParameterSpec(java.base64DecodeToByteArray(\"AAAAAAAAAAAAAAAAAAAAAA==\"));\n      let chipher=Cipher.getInstance(\"AES\/CBC\/PKCS5Padding\");\n      let bytes=Base64.decode(String(word).getBytes(),2);\n      chipher.init(2,key,iv);\n      return String(chipher.doFinal(bytes));\n    }\n}\nresponse=null\nif(!baseUrl.match(\/get_daily_task_bonus\/)){\ncategory_type=baseUrl.match(\/category_type=(\\d+)\/)?baseUrl.match(\/category_type=(\\d+)\/)[1]:\"\"\norder=baseUrl.match(\/order=(.+?)&\/)?baseUrl.match(\/order=(.+?)&\/)[1]:\"\"\nis_paid=baseUrl.match(\/is_paid=(\\d)&\/)?baseUrl.match(\/is_paid=(\\d)&\/)[1]:\"\"\nup_status=baseUrl.match(\/up_status=(\\d)&\/)?baseUrl.match(\/up_status=(\\d)&\/)[1]:\"\"\njsonObj={\"category_type\":category_type,\"app_signature_md5\":\"f73576612783f8ed8b68cdf73a56be94\",\"app_version\":\"2.1.6\",\"channel\":\"default\",\"order\":order,\"count\":\"15\",\"is_paid\":is_paid,\"page\":String(baseUrl.match(\/page=(\\d+)\/)[1]-1),\"up_status\":up_status,\"login_token\":String(java.get('login_token')),\"account\":String(java.get('account'))}\njava.log(JSON.stringify(jsonObj))\noption={\"method\":\"POST\",\"body\":\"secret_content=\"+encodeURIComponent(encode(JSON.stringify(jsonObj)))}\nurl=\"https:\/\/app.shubl.com\/bookcity\/get_filter_search_book_list,\"+JSON.stringify(option)\nresponse=decode(java.ajax(url))\n}else{\njsonObj={\"app_signature_md5\":\"f73576612783f8ed8b68cdf73a56be94\",\"app_version\":\"2.1.6\",\"channel\":\"default\",\"task_type\":\"1\",\"login_token\":String(java.get('login_token')),\"account\":String(java.get('account'))}\noption={\"method\":\"POST\",\"body\":\"secret_content=\"+encodeURIComponent(encode(JSON.stringify(jsonObj)))}\nurl=\"https:\/\/app.shubl.com\/reader\/get_daily_task_bonus,\"+JSON.stringify(option)\nresponse=decode(java.ajax(url))\n}\n\n\/\/ 打印解密结果\n\/\/java.log(JSON.stringify(JSON.parse(response)))\nresponse\n<\/js>\n$.data.book_list||$.[*]",
        "bookUrl": "@js:\nvar javaImport = new JavaImporter();\njavaImport.importPackage(\n    Packages.java.lang,\n    Packages.javax.crypto.spec,\n    Packages.javax.crypto,\n    Packages.android.util\n);\n\nwith(javaImport){\n  function encode(word){\n      let key=SecretKeySpec(java.base64DecodeToByteArray(\"nvlrM3RT6n0iYj4I\/zbGqisUGGMpy3UT84cNphYONC8=\"),\"AES\");\n      let iv=IvParameterSpec(java.base64DecodeToByteArray(\"AAAAAAAAAAAAAAAAAAAAAA==\"));\n      let chipher=Cipher.getInstance(\"AES\/CBC\/PKCS5Padding\");\n      chipher.init(1,key,iv);\n      return java.encodeURI(Base64.encodeToString(chipher.doFinal(String(word).getBytes()),Base64.NO_WRAP));\n    }\n}\nif(!baseUrl.match(\/get_daily_task_bonus\/)){\nlet jsonObj={\"app_signature_md5\":\"f73576612783f8ed8b68cdf73a56be94\",\"app_version\":\"2.1.6\",\"channel\":\"default\",\"book_id\":String(java.getString('$.book_id')),\"login_token\":String(java.get('login_token')),\"account\":String(java.get('account'))}\nlet body = \"secret_content=\"+encode(JSON.stringify(jsonObj));\nlet option = {\"method\": \"POST\",\"body\": String(body)};\n\"https:\/\/app.shubl.com\/book\/get_info_by_id,\" + JSON.stringify(option)\n}else{\nbaseUrl\n}",
        "coverUrl": "$.cover",
        "intro": "$.description",
        "kind": "$.tag",
        "lastChapter": "{{$.last_chapter_info.chapter_title}} \/ {{$.last_chapter_info.uptime}}",
        "name": "$.book_name@put:{bid:book_id}||$",
        "wordCount": "$.total_word_count"
    },
    "ruleReview": {},
    "ruleSearch": {
        "author": "$.author_name",
        "bookList": "<js>\nvar javaImport = new JavaImporter();\njavaImport.importPackage(\n    Packages.java.lang,\n    Packages.javax.crypto.spec,\n    Packages.javax.crypto,\n    Packages.android.util\n);\n\nwith(javaImport){\n  function decode(word){\n      let key=SecretKeySpec(java.base64DecodeToByteArray(\"nvlrM3RT6n0iYj4I\/zbGqisUGGMpy3UT84cNphYONC8=\"),\"AES\");\n      let iv=IvParameterSpec(java.base64DecodeToByteArray(\"AAAAAAAAAAAAAAAAAAAAAA==\"));\n      let chipher=Cipher.getInstance(\"AES\/CBC\/PKCS5Padding\");\n      let bytes=Base64.decode(String(word).getBytes(),2);\n      chipher.init(2,key,iv);\n      return String(chipher.doFinal(bytes));\n    }\n}\n\nresponse=decode(result)\n\/\/ 打印解密结果\njava.log(JSON.stringify(JSON.parse(response)))\nresponse\n<\/js>\n$.data.book_list",
        "bookUrl": "@js:\nvar javaImport = new JavaImporter();\njavaImport.importPackage(\n    Packages.java.lang,\n    Packages.javax.crypto.spec,\n    Packages.javax.crypto,\n    Packages.android.util\n);\n\nwith(javaImport){\n  function encode(word){\n      let key=SecretKeySpec(java.base64DecodeToByteArray(\"nvlrM3RT6n0iYj4I\/zbGqisUGGMpy3UT84cNphYONC8=\"),\"AES\");\n      let iv=IvParameterSpec(java.base64DecodeToByteArray(\"AAAAAAAAAAAAAAAAAAAAAA==\"));\n      let chipher=Cipher.getInstance(\"AES\/CBC\/PKCS5Padding\");\n      chipher.init(1,key,iv);\n      return java.encodeURI(Base64.encodeToString(chipher.doFinal(String(word).getBytes()),Base64.NO_WRAP));\n    }\n}\n\nlet jsonObj={\"app_signature_md5\":\"f73576612783f8ed8b68cdf73a56be94\",\"app_version\":\"2.1.6\",\"channel\":\"default\",\"book_id\":{{$.book_id}},\"login_token\":String(java.get('login_token')),\"account\":String(java.get('account'))}\nlet body = \"secret_content=\"+encode(JSON.stringify(jsonObj));\nlet option = {\"method\": \"POST\",\"body\": String(body)};\n\"https:\/\/app.shubl.com\/book\/get_info_by_id,\" + JSON.stringify(option)",
        "coverUrl": "$.cover",
        "intro": "$.description",
        "kind": "$.tag",
        "lastChapter": "{{$.last_chapter_info.chapter_title}} \/ {{$.last_chapter_info.uptime}}",
        "name": "$.book_name@put:{bid:book_id}",
        "wordCount": "$.total_word_count"
    },
    "ruleToc": {
        "chapterList": "<js>\nvar javaImport = new JavaImporter();\njavaImport.importPackage(\n    Packages.java.lang,\n    Packages.javax.crypto.spec,\n    Packages.javax.crypto,\n    Packages.android.util\n);\n\nwith(javaImport){\n  function decode(word){\n      let key=SecretKeySpec(java.base64DecodeToByteArray(\"nvlrM3RT6n0iYj4I\/zbGqisUGGMpy3UT84cNphYONC8=\"),\"AES\");\n      let iv=IvParameterSpec(java.base64DecodeToByteArray(\"AAAAAAAAAAAAAAAAAAAAAA==\"));\n      let chipher=Cipher.getInstance(\"AES\/CBC\/PKCS5Padding\");\n      let bytes=Base64.decode(String(word).getBytes(),2);\n      chipher.init(2,key,iv);\n      return String(chipher.doFinal(bytes));\n    }\n}\ndecode(result)\n<\/js>\n$.data.chapter_list_group[*].chapter_list[*]",
        "chapterName": "$.chapter_title",
        "chapterUrl": "@js:\nvar javaImport = new JavaImporter();\njavaImport.importPackage(\n    Packages.java.lang,\n    Packages.javax.crypto.spec,\n    Packages.javax.crypto,\n    Packages.android.util\n);\n\nwith(javaImport){\n  function encode(word){\n      let key=SecretKeySpec(java.base64DecodeToByteArray(\"nvlrM3RT6n0iYj4I\/zbGqisUGGMpy3UT84cNphYONC8=\"),\"AES\");\n      let iv=IvParameterSpec(java.base64DecodeToByteArray(\"AAAAAAAAAAAAAAAAAAAAAA==\"));\n      let chipher=Cipher.getInstance(\"AES\/CBC\/PKCS5Padding\");\n      chipher.init(1,key,iv);\n      return java.encodeURI(Base64.encodeToString(chipher.doFinal(String(word).getBytes()),Base64.NO_WRAP));\n    }\n}\n\nlet jsonObj={\"app_signature_md5\":\"f73576612783f8ed8b68cdf73a56be94\",\"app_version\":\"2.1.6\",\"channel\":\"default\",\"chapter_id\":{{$.chapter_id}},\"login_token\":String(java.get('login_token')),\"account\":String(java.get('account'))}\n\nlet body = \"secret_content=\"+encode(JSON.stringify(jsonObj));\nlet option = {\"method\": \"POST\",\"body\": String(body)};\n\"https:\/\/app.shubl.com\/chapter\/get_chapter_info,\" + JSON.stringify(option)\n\n\n",
        "isVip": "@js:!{{$.auth_access}}",
        "updateTime": "{{$.word_count}} 字 发布于 {{$.uptime}}"
    },
    "searchUrl": "@js:\n\/**\n填写账号密码调试后获取 login_token 和 account,分别填入。\n**\/\n\nlogin_name=\"\"\npasswd=\"\"\nlogin_token=\"\"\naccount=\"\"\n\nvar javaImport = new JavaImporter();\njavaImport.importPackage(\n    Packages.java.lang,\n    Packages.javax.crypto.spec,\n    Packages.javax.crypto,\n    Packages.android.util\n);\n\nwith(javaImport){\n  function encode(word){\n      let key=SecretKeySpec(java.base64DecodeToByteArray(\"nvlrM3RT6n0iYj4I\/zbGqisUGGMpy3UT84cNphYONC8=\"),\"AES\");\n      let iv=IvParameterSpec(java.base64DecodeToByteArray(\"AAAAAAAAAAAAAAAAAAAAAA==\"));\n      let chipher=Cipher.getInstance(\"AES\/CBC\/PKCS5Padding\");\n      chipher.init(1,key,iv);\n      return java.encodeURI(Base64.encodeToString(chipher.doFinal(String(word).getBytes()),Base64.NO_WRAP));\n    }\n  function decode(word){\n      let key=SecretKeySpec(java.base64DecodeToByteArray(\"nvlrM3RT6n0iYj4I\/zbGqisUGGMpy3UT84cNphYONC8=\"),\"AES\");\n      let iv=IvParameterSpec(java.base64DecodeToByteArray(\"AAAAAAAAAAAAAAAAAAAAAA==\"));\n      let chipher=Cipher.getInstance(\"AES\/CBC\/PKCS5Padding\");\n      let bytes=Base64.decode(String(word).getBytes(),2);\n      chipher.init(2,key,iv);\n      return String(chipher.doFinal(bytes));\n    }\n}\n\nif (login_name && passwd && !login_token && !account) {\n    let jsonStr = {\n        \"login_name\": login_name,\n        \"passwd\": passwd,\n        \"app_signature_md5\": \"f73576612783f8ed8b68cdf73a56be94\",\n        \"app_version\": \"2.1.6\",\n        \"channel\": \"default\"\n    }\n    let body = \"secret_content=\" + encode(JSON.stringify(jsonStr));\n    let option = {\n        \"method\": \"POST\",\n        \"body\": String(body)\n    };\n    url = \"https:\/\/app.shubl.com\/signup\/login,\" + JSON.stringify(option)\n    resp = JSON.parse(decode(java.ajax(url)))\n    if (resp.code == \"100000\") {\n        java.log('❗️ 这是你的 login_token,请复制 ❗️:' + resp.data.login_token + '\\n' + '❗️ 这是你的 account,请复制 ❗️:' + resp.data.reader_info.account)\n    } else {\n        java.log('❗️ ' + resp.tip + ' ❗️')\n    }\n} else {\n    java.log('❗️ 如需看付费章节,请登录! ❗️')\n}\n\njava.put('login_token',login_token!=\"\"?login_token:\"0f6bd1d063f202f71c3b84678027ce81\")\njava.put('account',account!=\"\"?account:\"萌友521068519938\")\nlet jsonObj={\"app_signature_md5\":\"f73576612783f8ed8b68cdf73a56be94\",\"app_version\":\"2.1.6\",\"channel\":\"default\",\"order\":\"week_click\",\"count\":\"15\",\"category_type\":\"1\",\"page\":page-1,\"key\":key,\"login_token\":String(java.get('login_token')),\"account\":String(java.get('account'))}\nlet body = \"secret_content=\"+encode(JSON.stringify(jsonObj));\nlet option = {\"method\": \"POST\",\"body\": String(body)};\n\"https:\/\/app.shubl.com\/bookcity\/get_filter_search_book_list,\" + JSON.stringify(option)",
    "weight": 0
}
广告