耽免时光|小说@tlyanyu

https://bltime.cc/pages/novel/novel

liang-qian-889 (1067)1天前

YX源仓库:http://yx.ccute.xyz/
无需登录,可看最新章节@tlyanyu
二维码导入
{
    "bookSourceComment": "YX源仓库:http:\/\/yx.ccute.xyz\/\n无需登录,可看最新章节@tlyanyu",
    "bookSourceGroup": "女频,BL",
    "bookSourceName": "耽免时光|小说@tlyanyu",
    "bookSourceType": 0,
    "bookSourceUrl": "https:\/\/bltime.cc\/pages\/novel\/novel",
    "customOrder": 1,
    "enabled": true,
    "enabledCookieJar": false,
    "enabledExplore": true,
    "exploreUrl": "[\n{\"title\":\"人气排行\",\"url\":\"view_count\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.4}},\n{\"title\":\"最近更新\",\"url\":\"publish_date\",\"style\":{\"layout_flexGrow\":1,\"layout_flexBasisPercent\":0.4}}\n]",
    "header": "{\n\"User-Agent\":\n\"Mozilla\/5.0 (Linux; Android 6.0; Nexus 5 Build\/MRA58N) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/129.0.0.0 Mobile Safari\/537.36\"\n}",
    "jsLib": "{\"crypto\": \"https:\/\/cdn.bootcss.com\/crypto-js\/3.1.9-1\/crypto-js.min.js\"}",
    "lastUpdateTime": "1760770852279",
    "loginUrl": "https:\/\/bltime.cc",
    "respondTime": 180000,
    "ruleBookInfo": {
        "author": "creator_name",
        "coverUrl": "cover_url",
        "init": "<js>\nfunction createSign(params) {\n\tvar str = '';\n\tObject.keys(params).sort().forEach((key) => {\n\t\tif (params[key]) {\n\t\t\tstr += `&${key}=${params[key]}`;\n\t\t}\n\t});\n\treturn CryptoJS.HmacMD5(str.slice(1), 'c17DTXDNhSc0ea9AQMdUUQ==').toString();\n}\n\nconst timestamp = Date.now();\nlet url = \"https:\/\/api.next.bspapp.com\/client\";\nlet body = {\n\t\"method\": \"serverless.auth.user.anonymousAuthorize\",\n\t\"params\": \"{}\",\n\t\"spaceId\": \"mp-a23ce835-47fc-4856-9c1a-5648136d3829\",\n\t\"timestamp\": timestamp\n};\n\nlet sign = createSign(body);\n\nlet headers = {\n\t\"Content-Type\": \"application\/json\",\n\t\"User-Agent\": \"Mozilla\/5.0 (Linux; Android 6.0; Nexus 5 Build\/MRA58N) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/129.0.0.0 Mobile Safari\/537.36\",\n\t\"x-serverless-sign\": sign\n};\n\nlet response = JSON.parse(java.post(\"https:\/\/api.next.bspapp.com\/client\",JSON.stringify(body),headers).body());\n\nif(response.success){\n\tconst accessToken = response.data.accessToken;\n\tconst idValue = baseUrl.match(\/id=([^&]+)\/)[1];\n\n\tconst timestamp1 = Date.now();\n\tconst params = JSON.stringify({\n\t\t\"functionTarget\": \"DCloud-clientDB\",\n\t\t\"functionArgs\": {\n\t\t\t\"command\": {\n\t\t\t\t\"$db\": [\n\t\t\t\t\t{ \"$method\": \"collection\", \"$param\": [\"bl-time-novel\"] },\n\t\t\t\t\t{ \"$method\": \"where\", \"$param\": [`_id=='${idValue}'`] },\n\t\t\t\t\t{ \"$method\": \"field\", \"$param\": [\"_id,cover_url,title,tags,word_number,view_count,excerpt,introduction,creator_id,creator_name,creator_avatar,is_completed,novel_status,contributor\"] },\n\t\t\t\t\t{ \"$method\": \"skip\", \"$param\": [0] },\n\t\t\t\t\t{ \"$method\": \"limit\", \"$param\": [20] },\n\t\t\t\t\t{ \"$method\": \"get\", \"$param\": [{}] }\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t});\n\tlet body1 = {\n\t\t\"method\": \"serverless.function.runtime.invoke\",\n\t\t\"params\": params,\n\t\t\"spaceId\": \"mp-a23ce835-47fc-4856-9c1a-5648136d3829\",\n\t\t\"timestamp\": timestamp1,\n\t\t\"token\": accessToken\n\t};\n\tlet sign1 = createSign(body1);\n\tlet headers1 = {\n\t\t\"Content-Type\": \"application\/json\",\n\t\t\"User-Agent\": \"Mozilla\/5.0 (Linux; Android 6.0; Nexus 5 Build\/MRA58N) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/129.0.0.0 Mobile Safari\/537.36\",\n\t\t\"x-basement-token\": accessToken,\n\t\t\"x-serverless-sign\": sign1\n\t};\n\tlet response1 = JSON.parse(java.post(\"https:\/\/api.next.bspapp.com\/client\",JSON.stringify(body1),headers1).body());\n\t\n\tconst timestamp2 = Date.now();\n\tconst params2 = JSON.stringify({\n\t  \"functionTarget\": \"DCloud-clientDB\",\n\t  \"functionArgs\": {\n\t\t\"command\": {\n\t\t  \"$db\": [\n\t\t\t{ \"$method\": \"collection\", \"$param\": [\"bl-time-chapter\"] },\n\t\t\t{ \"$method\": \"where\", \"$param\": [\"novel_id=='\" + idValue + \"'&&chapter_status==1\"] },\n\t\t\t{ \"$method\": \"field\", \"$param\": [\"_id,chapter_title,last_modify_date\"] },\n\t\t\t{ \"$method\": \"orderBy\", \"$param\": [\"chapter_index asc\"] },\n\t\t\t{ \"$method\": \"skip\", \"$param\": [0] },\n\t\t\t{ \"$method\": \"limit\", \"$param\": [500] },\n\t\t\t{ \"$method\": \"get\", \"$param\": [{}] }\n\t\t  ]\n\t\t}\n\t  }\n\t});\n\tlet body2 = {\n\t\t\"method\": \"serverless.function.runtime.invoke\",\n\t\t\"params\": params2,\n\t\t\"spaceId\": \"mp-a23ce835-47fc-4856-9c1a-5648136d3829\",\n\t\t\"timestamp\": timestamp2,\n\t\t\"token\": accessToken\n\t};\n\tlet sign2 = createSign(body2);\n\tlet headers2 = {\n\t\t\"Content-Type\": \"application\/json\",\n\t\t\"User-Agent\": \"Mozilla\/5.0 (Linux; Android 6.0; Nexus 5 Build\/MRA58N) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/129.0.0.0 Mobile Safari\/537.36\",\n\t\t\"x-basement-token\": accessToken,\n\t\t\"x-serverless-sign\": sign2\n\t};\n\tlet response2 = JSON.parse(java.post(\"https:\/\/api.next.bspapp.com\/client\",JSON.stringify(body2),headers2).body());\n\n        response1.data.data[0].latestChapter = response2.data.data[response2.data.data.length - 1].chapter_title;\n\tresult = response1;\n}result;\n<\/js>\n$.data.data[0]",
        "intro": "introduction",
        "kind": "tags",
        "lastChapter": "latestChapter",
        "name": "title",
        "wordCount": "word_number"
    },
    "ruleContent": {
        "content": "<js>\nfunction createSign(params) {\n\tvar str = '';\n\tObject.keys(params).sort().forEach((key) => {\n\t\tif (params[key]) {\n\t\t\tstr += `&${key}=${params[key]}`;\n\t\t}\n\t});\n\treturn CryptoJS.HmacMD5(str.slice(1), 'c17DTXDNhSc0ea9AQMdUUQ==').toString();\n}\nconst timestamp = Date.now();\nlet body = {\n\t\"method\": \"serverless.auth.user.anonymousAuthorize\",\n\t\"params\": \"{}\",\n\t\"spaceId\": \"mp-a23ce835-47fc-4856-9c1a-5648136d3829\",\n\t\"timestamp\": timestamp\n};\n\nlet sign = createSign(body);\n\nlet headers = {\n\t\"Content-Type\": \"application\/json\",\n\t\"User-Agent\": \"Mozilla\/5.0 (Linux; Android 6.0; Nexus 5 Build\/MRA58N) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/129.0.0.0 Mobile Safari\/537.36\",\n\t\"x-serverless-sign\": sign\n};\n\nlet response = JSON.parse(java.post(\"https:\/\/api.next.bspapp.com\/client\",JSON.stringify(body),headers).body());\n\nif(response.success){\n\tconst accessToken = response.data.accessToken;\n\tconst idValue = baseUrl.match(\/id=([^&]+)\/)[1];\n\n\tconst timestamp2 = Date.now();\n\tconst params2 = JSON.stringify({\n\t  \"functionTarget\": \"DCloud-clientDB\",\n\t  \"functionArgs\": {\n\t\t\"command\": {\n\t\t  \"$db\": [\n\t\t\t{\"$method\": \"collection\", \"$param\": [\"bl-time-chapter\"]},\n\t\t\t{\"$method\": \"where\", \"$param\": [{\"_id\": idValue}]},\n\t\t\t{\"$method\": \"get\", \"$param\": []}\n\t\t  ]\n\t\t}\n\t  }\n\t});\n\tlet body2 = {\n\t\t\"method\": \"serverless.function.runtime.invoke\",\n\t\t\"params\": params2,\n\t\t\"spaceId\": \"mp-a23ce835-47fc-4856-9c1a-5648136d3829\",\n\t\t\"timestamp\": timestamp2,\n\t\t\"token\": accessToken\n\t};\n\tlet sign2 = createSign(body2);\n\tlet headers2 = {\n\t\t\"Content-Type\": \"application\/json\",\n\t\t\"User-Agent\": \"Mozilla\/5.0 (Linux; Android 6.0; Nexus 5 Build\/MRA58N) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/129.0.0.0 Mobile Safari\/537.36\",\n\t\t\"x-basement-token\": accessToken,\n\t\t\"x-serverless-sign\": sign2\n\t};\n\tlet response2 = JSON.parse(java.post(\"https:\/\/api.next.bspapp.com\/client\",JSON.stringify(body2),headers2).body());\n\tresult = response2.data.data[0].chapter_content;\n}result;\n<\/js>\n@html"
    },
    "ruleExplore": {
        "author": "$.creator_name",
        "bookList": "<js>\nfunction createSign(params) {\n\tvar str = '';\n\tObject.keys(params).sort().forEach((key) => {\n\t\tif (params[key]) {\n\t\t\tstr += `&${key}=${params[key]}`;\n\t\t}\n\t});\n\treturn CryptoJS.HmacMD5(str.slice(1), 'c17DTXDNhSc0ea9AQMdUUQ==').toString();\n}\nconst timestamp = Date.now();\nlet body = {\n\t\"method\": \"serverless.auth.user.anonymousAuthorize\",\n\t\"params\": \"{}\",\n\t\"spaceId\": \"mp-a23ce835-47fc-4856-9c1a-5648136d3829\",\n\t\"timestamp\": timestamp\n};\n\nlet sign = createSign(body);\n\nlet headers = {\n\t\"Content-Type\": \"application\/json\",\n\t\"User-Agent\": \"Mozilla\/5.0 (Linux; Android 6.0; Nexus 5 Build\/MRA58N) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/129.0.0.0 Mobile Safari\/537.36\",\n\t\"x-serverless-sign\": sign\n};\n\nlet response = JSON.parse(java.post(\"https:\/\/api.next.bspapp.com\/client\",JSON.stringify(body),headers).body());\n\nif(response.success){\n\tconst accessToken = response.data.accessToken;\n\tconst timestamp2 = Date.now();\n        let orderBy = \"\";\n        if( baseUrl.match(\/view_count\/) ) orderBy = \"view_count\";\n        else orderBy = \"publish_date\";\n\tconst params2 = JSON.stringify({\n    \"functionTarget\": \"DCloud-clientDB\",\n    \"functionArgs\": {\n        \"command\": {\n            \"$db\": [\n                {\"$method\": \"collection\", \"$param\": [\"bl-time-novel\"]},\n                {\"$method\": \"where\", \"$param\": [{\"novel_status\": 1, \"publish_date\": {\"$db\": [{\"$method\": \"command\"}, {\"$method\": \"gte\", \"$param\": [1672502400000]}]}}]},\n                {\"$method\": \"field\", \"$param\": [\"_id,title,excerpt,creator_id,creator_name,creator_avatar,is_completed,cover_url,tags,word_number,view_count,novel_status\"]},\n                {\"$method\": \"orderBy\", \"$param\": [orderBy+\" desc\"]},\n                {\"$method\": \"skip\", \"$param\": [0]},\n                {\"$method\": \"limit\", \"$param\": [500]},\n                {\"$method\": \"get\", \"$param\": [{}]}\n            ]\n        }\n    }\n});\n\tlet body2 = {\n\t\t\"method\": \"serverless.function.runtime.invoke\",\n\t\t\"params\": params2,\n\t\t\"spaceId\": \"mp-a23ce835-47fc-4856-9c1a-5648136d3829\",\n\t\t\"timestamp\": timestamp2,\n\t\t\"token\": accessToken\n\t};\n\tlet sign2 = createSign(body2);\n\tlet headers2 = {\n\t\t\"Content-Type\": \"application\/json\",\n\t\t\"User-Agent\": \"Mozilla\/5.0 (Linux; Android 6.0; Nexus 5 Build\/MRA58N) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/129.0.0.0 Mobile Safari\/537.36\",\n\t\t\"x-basement-token\": accessToken,\n\t\t\"x-serverless-sign\": sign2\n\t};\n\tlet response2 = JSON.parse(java.post(\"https:\/\/api.next.bspapp.com\/client\",JSON.stringify(body2),headers2).body());\n\tresult = JSON.stringify(response2);\n}result;\n<\/js>\n$.data.data",
        "bookUrl": "https:\/\/bltime.cc\/pages\/novel\/detail?id={{$._id}}&creator_id={{$.creator_id}}",
        "coverUrl": "$.cover_url",
        "intro": "$.excerpt",
        "kind": "$.tags",
        "name": "$.title",
        "wordCount": "$.word_number"
    },
    "ruleSearch": {
        "author": "$.creator_name",
        "bookList": "<js>\nfunction createSign(params) {\n\tvar str = '';\n\tObject.keys(params).sort().forEach((key) => {\n\t\tif (params[key]) {\n\t\t\tstr += `&${key}=${params[key]}`;\n\t\t}\n\t});\n\treturn CryptoJS.HmacMD5(str.slice(1), 'c17DTXDNhSc0ea9AQMdUUQ==').toString();\n}\nconst timestamp = Date.now();\nlet body = {\n\t\"method\": \"serverless.auth.user.anonymousAuthorize\",\n\t\"params\": \"{}\",\n\t\"spaceId\": \"mp-a23ce835-47fc-4856-9c1a-5648136d3829\",\n\t\"timestamp\": timestamp\n};\n\nlet sign = createSign(body);\n\nlet headers = {\n\t\"Content-Type\": \"application\/json\",\n\t\"User-Agent\": \"Mozilla\/5.0 (Linux; Android 6.0; Nexus 5 Build\/MRA58N) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/129.0.0.0 Mobile Safari\/537.36\",\n\t\"x-serverless-sign\": sign\n};\n\nlet response = JSON.parse(java.post(\"https:\/\/api.next.bspapp.com\/client\",JSON.stringify(body),headers).body());\n\nif(response.success){\n\tconst accessToken = response.data.accessToken;\n        const keyword = decodeURIComponent(baseUrl).match(\/\"([^\"]+)\"\/)[1];\n\tconst timestamp2 = Date.now();\n\tconst params2 = JSON.stringify({\n    \"functionTarget\": \"DCloud-clientDB\",\n    \"functionArgs\": {\n        \"command\": {\n            \"$db\": [\n                { \"$method\": \"collection\", \"$param\": [\"bl-time-novel\"] },\n                 { \"$method\": \"where\", \"$param\": [\"\\\"novel_status\\\" != 0 && (\/\" + keyword + \"\/i.test(title) || \/\" + keyword + \"\/i.test(creator_name))\"] },\n                { \"$method\": \"field\", \"$param\": [\"_id,title,excerpt,creator_id,creator_name,is_completed,cover_url,tags,view_count,word_number,novel_status,publish_date\"] },\n                { \"$method\": \"orderBy\", \"$param\": [\"publish_date desc\"] },\n                { \"$method\": \"limit\", \"$param\": [200] },\n                { \"$method\": \"get\", \"$param\": [] }\n            ]\n        }\n    }\n});\n\tlet body2 = {\n\t\t\"method\": \"serverless.function.runtime.invoke\",\n\t\t\"params\": params2,\n\t\t\"spaceId\": \"mp-a23ce835-47fc-4856-9c1a-5648136d3829\",\n\t\t\"timestamp\": timestamp2,\n\t\t\"token\": accessToken\n\t};\n\tlet sign2 = createSign(body2);\n\tlet headers2 = {\n\t\t\"Content-Type\": \"application\/json\",\n\t\t\"User-Agent\": \"Mozilla\/5.0 (Linux; Android 6.0; Nexus 5 Build\/MRA58N) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/129.0.0.0 Mobile Safari\/537.36\",\n\t\t\"x-basement-token\": accessToken,\n\t\t\"x-serverless-sign\": sign2\n\t};\n\tlet response2 = JSON.parse(java.post(\"https:\/\/api.next.bspapp.com\/client\",JSON.stringify(body2),headers2).body());\n\tresult = JSON.stringify(response2);\n}result;\n<\/js>\n$.data.data",
        "bookUrl": "https:\/\/bltime.cc\/pages\/novel\/detail?id={{$._id}}&creator_id={{$.creator_id}},{\"webView\":true}",
        "checkKeyWord": "重生",
        "coverUrl": "$.cover_url",
        "intro": "$.excerpt",
        "kind": "$.tags",
        "name": "$.title",
        "wordCount": "$.word_number"
    },
    "ruleToc": {
        "chapterList": "<js>\nfunction createSign(params) {\n\tvar str = '';\n\tObject.keys(params).sort().forEach((key) => {\n\t\tif (params[key]) {\n\t\t\tstr += `&${key}=${params[key]}`;\n\t\t}\n\t});\n\treturn CryptoJS.HmacMD5(str.slice(1), 'c17DTXDNhSc0ea9AQMdUUQ==').toString();\n}\nconst timestamp = Date.now();\nlet body = {\n\t\"method\": \"serverless.auth.user.anonymousAuthorize\",\n\t\"params\": \"{}\",\n\t\"spaceId\": \"mp-a23ce835-47fc-4856-9c1a-5648136d3829\",\n\t\"timestamp\": timestamp\n};\n\nlet sign = createSign(body);\n\nlet headers = {\n\t\"Content-Type\": \"application\/json\",\n\t\"User-Agent\": \"Mozilla\/5.0 (Linux; Android 6.0; Nexus 5 Build\/MRA58N) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/129.0.0.0 Mobile Safari\/537.36\",\n\t\"x-serverless-sign\": sign\n};\n\nlet response = JSON.parse(java.post(\"https:\/\/api.next.bspapp.com\/client\",JSON.stringify(body),headers).body());\n\nif(response.success){\n\tconst accessToken = response.data.accessToken;\n\tconst idValue = baseUrl.match(\/id=([^&]+)\/)[1];\n\n\tconst timestamp2 = Date.now();\n\tconst params2 = JSON.stringify({\n\t  \"functionTarget\": \"DCloud-clientDB\",\n\t  \"functionArgs\": {\n\t\t\"command\": {\n\t\t  \"$db\": [\n\t\t\t{ \"$method\": \"collection\", \"$param\": [\"bl-time-chapter\"] },\n\t\t\t{ \"$method\": \"where\", \"$param\": [\"novel_id=='\" + idValue + \"'&&chapter_status==1\"] },\n\t\t\t{ \"$method\": \"field\", \"$param\": [\"_id,chapter_title,last_modify_date\"] },\n\t\t\t{ \"$method\": \"orderBy\", \"$param\": [\"chapter_index asc\"] },\n\t\t\t{ \"$method\": \"skip\", \"$param\": [0] },\n\t\t\t{ \"$method\": \"limit\", \"$param\": [500] },\n\t\t\t{ \"$method\": \"get\", \"$param\": [{}] }\n\t\t  ]\n\t\t}\n\t  }\n\t});\n\tlet body2 = {\n\t\t\"method\": \"serverless.function.runtime.invoke\",\n\t\t\"params\": params2,\n\t\t\"spaceId\": \"mp-a23ce835-47fc-4856-9c1a-5648136d3829\",\n\t\t\"timestamp\": timestamp2,\n\t\t\"token\": accessToken\n\t};\n\tlet sign2 = createSign(body2);\n\tlet headers2 = {\n\t\t\"Content-Type\": \"application\/json\",\n\t\t\"User-Agent\": \"Mozilla\/5.0 (Linux; Android 6.0; Nexus 5 Build\/MRA58N) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/129.0.0.0 Mobile Safari\/537.36\",\n\t\t\"x-basement-token\": accessToken,\n\t\t\"x-serverless-sign\": sign2\n\t};\n\tlet response2 = JSON.parse(java.post(\"https:\/\/api.next.bspapp.com\/client\",JSON.stringify(body2),headers2).body());\n\tresult = JSON.stringify(response2);\n}result;\n<\/js>\n$.data.data",
        "chapterName": "$.chapter_title",
        "chapterUrl": "https:\/\/bltime.cc\/pages\/novel\/read?id={{$._id}}",
        "updateTime": "<js>\njava.timeFormat(result.last_modify_date)\n<\/js>"
    },
    "searchUrl": "https:\/\/bltime.cc\/pages\/search\/search?keyword=%22{{key}}%22,{\"webView\":true}",
    "weight": 0
}
广告