diff --git a/output.js b/output.js index 85fedcc..5d1661b 100644 --- a/output.js +++ b/output.js @@ -1,711 +1,463 @@ -//Sat Jan 25 2025 08:29:02 GMT+0000 (Coordinated Universal Time) +//Sat Jan 25 2025 08:30:22 GMT+0000 (Coordinated Universal Time) //Base:https://github.com/echo094/decode-js //Modify:https://github.com/smallfawn/decode_action -console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<="); -console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<="); -console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<="); -console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<="); -console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<="); -console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<="); -console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<="); -console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<="); -console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<="); -console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<="); -const _0x22822c = _0x2fbb6b("霸王茶姬"), - _0x30bd4a = require("got"), - _0x411cd3 = "bwcj", - _0x4e95c6 = /[\n\&\@]/, - _0x25b427 = [_0x411cd3 + "Cookie"], - _0x182083 = 20000, - _0xe9ef74 = 3, - _0x34947f = 1.02, - _0x5edf7d = "bwcj", - _0x3a487f = "https://leafxcy.coding.net/api/user/leafxcy/project/validcode/shared-depot/validCode/git/blob/master/code.json", - _0x51003c = "https://leafxcy.coding.net/api/user/leafxcy/project/validcode/shared-depot/validCode/git/blob/master/" + _0x5edf7d + ".json", - _0x36a3ce = "Mozilla/5.0 (iPhone; CPU iPhone OS 16_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.40(0x18002831) NetType/WIFI Language/zh_CN", - _0x1adc03 = "https://servicewechat.com/wxafec6f8422cb357b/87/page-frame.html", - _0x50be96 = "wxafec6f8422cb357b", - _0x1f020e = 5; -class _0x4c79d9 { - constructor() { - this.index = _0x22822c.userIdx++; - this.name = ""; +const _0x3065e9 = new _0x14a79b("植白说"); +let _0x594a0a = "zbsxcx", + _0x1ad327 = ["\n", "&", "@"], + _0x5d9ea2 = (_0x3065e9.isNode() ? process.env[_0x594a0a] : _0x3065e9.getdata(_0x594a0a)) || "", + _0x23139a = [], + _0x5845aa = 0; +class _0x4f7def { + constructor(_0x44f7e1) { + this.index = ++_0x5845aa; this.valid = false; - const _0x16f1db = { - "limit": 0 - }, - _0x41e123 = { - "Connection": "keep-alive" - }, - _0x24ef82 = { - "retry": _0x16f1db, - "timeout": _0x182083, - "followRedirect": false, - "headers": _0x41e123 - }; - this.got = _0x30bd4a.extend(_0x24ef82); + this.activedAuthToken = _0x44f7e1; } - ["log"](_0x131350, _0x4fad5a = {}) { - var _0x196077 = "", - _0x45fd52 = _0x22822c.userCount.toString().length; - this.index && (_0x196077 += "账号[" + _0x22822c.padStr(this.index, _0x45fd52) + "]"); - this.name && (_0x196077 += "[" + this.name + "]"); - _0x22822c.log(_0x196077 + _0x131350, _0x4fad5a); - } - async ["request"](_0x2c476b) { - const _0x15a3b6 = ["ECONNRESET", "EADDRINUSE", "ENOTFOUND", "EAI_AGAIN"], - _0x57c026 = ["TimeoutError"]; - var _0x2d2118 = null, - _0x43077e = 0, - _0x1692ef = _0x2c476b.fn || _0x2c476b.url; - _0x2c476b.method = _0x2c476b?.["method"]?.["toUpperCase"]() || "GET"; - let _0x15759f; - while (_0x43077e < _0xe9ef74) { - try { - _0x43077e++; - _0x15759f = null; - let _0x5a4ec4 = null, - _0x1952e1 = _0x2c476b?.["timeout"] || this.got?.["defaults"]?.["options"]?.["timeout"]?.["request"] || _0x182083, - _0x59ef9f = false; - await new Promise(async _0x421556 => { - setTimeout(() => { - _0x59ef9f = true; - _0x421556(); - }, _0x1952e1); - await this.got(_0x2c476b).then(_0x1d84cb => { - _0x2d2118 = _0x1d84cb; - }, _0x12ec6e => { - _0x5a4ec4 = _0x12ec6e; - _0x2d2118 = _0x12ec6e.response; - _0x15759f = _0x5a4ec4?.["code"]; - }); - _0x421556(); - }); - if (_0x59ef9f) { - this.log("[" + _0x1692ef + "]请求超时(" + _0x1952e1 / 1000 + "秒),重试第" + _0x43077e + "次"); - } else { - { - if (_0x57c026.includes(_0x5a4ec4?.["name"])) this.log("[" + _0x1692ef + "]请求超时(" + _0x5a4ec4.code + "),重试第" + _0x43077e + "次");else { - if (_0x15a3b6.includes(_0x5a4ec4?.["code"])) { - this.log("[" + _0x1692ef + "]请求错误(" + _0x5a4ec4.code + "),重试第" + _0x43077e + "次"); - } else { - let _0x499f44 = _0x2d2118?.["statusCode"] || 999, - _0x487bac = _0x499f44 / 100 | 0; - _0x487bac > 3 && this.log("请求[" + _0x1692ef + "]返回[" + _0x499f44 + "]"); - if (_0x487bac <= 4) { - break; - } - } - } - } - } - } catch (_0x553de8) { - _0x553de8.name == "TimeoutError" ? this.log("[" + _0x1692ef + "]请求超时,重试第" + _0x43077e + "次") : this.log("[" + _0x1692ef + "]请求错误(" + _0x553de8.message + "),重试第" + _0x43077e + "次"); - } - } - if (_0x2d2118 == null) return Promise.resolve({ - "statusCode": _0x15759f || -1, - "headers": null, - "result": null - }); - let { - statusCode: _0x15e772, - headers: _0x2501a2, - body: _0x204398 - } = _0x2d2118; - if (_0x204398) try { - _0x204398 = JSON.parse(_0x204398); - } catch {} - const _0x21a81f = { - "statusCode": _0x15e772, - "headers": _0x2501a2, - "result": _0x204398 - }; - return Promise.resolve(_0x21a81f); - } -} -let _0x133ad6 = new _0x4c79d9(); -class _0x5026b8 extends _0x4c79d9 { - constructor(_0x23d65b) { - super(); - this.token = _0x23d65b; - this.got = this.got.extend({ - "cookieJar": this.cookieJar, - "headers": { - "User-Agent": _0x36a3ce, - "work-wechat-userid": "", - "multi-store-id": "", - "gdt-vid": "", - "qz-gtd": "", - "scene": "1006", - "Qm-From": "wechat", - "store-id": 49006, - "Qm-User-Token": this.token, - "channelCode": "", - "Qm-From-Type": "catering", - "promotion-code": "", - "work-staff-name": "", - "work-staff-id": "", - "Accept": "v=1.0", - "Accept-Encoding": "gzip,compress,br,deflate", - "Referer": _0x1adc03 - } - }); - } - async ["personal_info"](_0x598608 = {}) { - let _0x24397b = false; + async ["taskApi"](_0x8df8fd, _0x52db04, _0x5ede90, _0x1961e6) { + let _0x11a1db = null; try { - const _0x496d1a = { - "appid": _0x50be96 + let _0x19ca83 = { + "url": _0x5ede90, + "headers": { + "X-DTS-Token": this.activedAuthToken, + "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 MicroMessenger/7.0.20.1781(0x6700143B) NetType/WIFI MiniProgramEnv/Windows WindowsWechat/WMPF XWEB/8237", + "xweb_xhr": "1" }, - _0x18d4d1 = { - "fn": "personal_info", - "method": "get", - "url": "https://webapi.qmai.cn/web/catering/crm/personal-info", - "searchParams": _0x496d1a - }; - let { - result: _0x19b336, - statusCode: _0xdca021 - } = await this.request(_0x18d4d1), - _0x1de7e8 = _0x22822c.get(_0x19b336, "code", _0xdca021); - if (_0x1de7e8 == 0) { - { - _0x24397b = this.valid = true; - let { - mobilePhone: _0x419254, - name: _0x5ab967 - } = _0x19b336?.["data"]; - this.name = _0x419254; - this.userName = _0x5ab967; - } - } else { - let _0x1a9fa8 = _0x22822c.get(_0x19b336, "message", ""); - this.log("登录失败: " + _0x1a9fa8); + "timeout": 60000, + "rejectUnauthorized": false + }; + if (_0x1961e6) { + _0x19ca83.body = _0x1961e6; + _0x19ca83.headers["Content-Length"] = _0x1961e6?.["length"]; } - } catch (_0x5cc7a1) { - console.log(_0x5cc7a1); + await _0x2ef80e(_0x52db04, _0x19ca83).then(async _0xe0f650 => { + { + if (_0xe0f650.resp?.["statusCode"] == 200) { + if (_0xe0f650.resp?.["body"]) _0x11a1db = JSON.parse(_0xe0f650.resp.body);else {} + } else console.log("账号[" + this.index + "]调用" + _0x52db04 + "[" + _0x8df8fd + "]出错,返回状态码[" + (_0xe0f650.resp?.["statusCode"] || "") + "]", "返回结果:", _0xe0f650.resp?.["body"]); + } + }); + } catch (_0x4fad44) { + console.log(_0x4fad44); } finally { - return _0x24397b; + return Promise.resolve(_0x11a1db); } } - async ["sign_detail"](_0x12d61d = {}) { + async ["Sign"]() { try { { - const _0x4f8226 = { - "appid": _0x50be96 - }, - _0x5bc0c4 = { - "fn": "sign_detail", - "method": "post", - "url": "https://webapi.qmai.cn/web/catering/integral/sign/detail", - "json": _0x4f8226 - }; - let { - result: _0xdbe43a, - statusCode: _0x8c7f96 - } = await this.request(_0x5bc0c4), - _0x57fa7a = _0x22822c.get(_0xdbe43a, "code", _0x8c7f96); - if (_0x57fa7a == 0) { + let _0x4a533a = "Sign", + _0x420ae1 = "get", + _0x1fbcef = "https://zbs.20171026.com/demo/wx/home/signDay", + _0x1c108f = ""; + return await this.taskApi(_0x4a533a, _0x420ae1, _0x1fbcef, _0x1c108f).then(async _0x136d6b => { { - let { - continuityTotal: _0x2f384b, - signInDateList: _0x5e7d20, - activityId: _0x403c0d - } = _0xdbe43a?.["data"], - _0x5928f0 = false, - _0x20dde1 = _0x22822c.time("yyyy-MM-dd"); - _0x5e7d20?.["includes"](_0x20dde1) && (_0x5928f0 = true); - this.log("旧版签到今天" + (_0x5928f0 ? "已" : "未") + "签到, 已连续签到" + _0x2f384b + "天"); - !_0x5928f0 && (await this.signIn(_0x403c0d)); + if (_0x136d6b?.["errno"] === 0) return console.log("账号[" + this.index + "] 签到成功,签到次数:" + _0x136d6b?.["data"]?.["signCount"] + ",积分余额: " + _0x136d6b?.["data"]?.["integral"]), this.valid = true, true;else _0x3065e9.logAndNotify("账号[" + this.index + "] - 积分签到失败:" + (_0x136d6b?.["errmsg"] || JSON.stringify(_0x136d6b))), this.valid = false; } - } else { - let _0x4f3aad = _0x22822c.get(_0xdbe43a, "message", ""); - this.log("查询旧版签到失败[" + _0x57fa7a + "]: " + _0x4f3aad); - } + }); } - } catch (_0xfd690) { - console.log(_0xfd690); + } catch (_0x396548) { + console.log(_0x396548); } } - async ["signIn"](_0xc779dc, _0x4c2bd6 = {}) { + async ["Share"]() { try { - const _0x36f663 = { - "activityId": _0xc779dc, - "mobilePhone": this.name, - "userName": this.userName, - "appid": _0x50be96 - }, - _0x4568f1 = { - "fn": "signIn", - "method": "post", - "url": "https://webapi.qmai.cn/web/catering/integral/sign/signIn", - "json": _0x36f663 - }; - let { - result: _0x3d114b, - statusCode: _0x48d383 - } = await this.request(_0x4568f1), - _0x568177 = _0x22822c.get(_0x3d114b, "code", _0x48d383); - if (_0x568177 == 0) { + let _0x33e5b6 = "Share", + _0x2bff16 = "get", + _0x3f4521 = "https://zbs.20171026.com/demo/wx/user/addIntegralByShare", + _0x4d3189 = ""; + return await this.taskApi(_0x33e5b6, _0x2bff16, _0x3f4521, _0x4d3189).then(async _0x5d0bf3 => { { - const _0x16c8af = { - "notify": true - }; - this.log("旧版签到成功", _0x16c8af); + if (_0x5d0bf3?.["errno"] === 0) { + console.log("账号[" + this.index + "] 分享成功,增加 1 积分"); + return true; + } else { + _0x3065e9.logAndNotify("账号[" + this.index + "] - 分享失败:" + (_0x5d0bf3?.["errmsg"] || JSON.stringify(_0x5d0bf3))); + } } - } else { - let _0x27ff9f = _0x22822c.get(_0x3d114b, "message", ""); - this.log("旧版签到失败[" + _0x568177 + "]: " + _0x27ff9f); - } - } catch (_0x2ac68e) { - console.log(_0x2ac68e); + }); + } catch (_0x1f98fa) { + console.log(_0x1f98fa); } } - async ["userSignStatistics"](_0x4bab26 = {}) { + async ["doTask"]() { try { - const _0x3e6e34 = { - "activityId": "947079313798000641", - "appid": _0x50be96 - }, - _0x13122a = { - "fn": "userSignStatistics", - "method": "post", - "url": "https://webapi.qmai.cn/web/cmk-center/sign/userSignStatistics", - "json": _0x3e6e34 - }; - let { - result: _0x594c54, - statusCode: _0x27479a - } = await this.request(_0x13122a), - _0x20ca00 = _0x22822c.get(_0x594c54, "code", _0x27479a); - if (_0x20ca00 == 0) { - { - let { - signDays: _0x585f14, - signStatus: _0x22aedb - } = _0x594c54?.["data"], - _0x4fd81b = _0x22aedb == 1; - this.log("新版签到今天" + (_0x4fd81b ? "已" : "未") + "签到, 已连续签到" + _0x585f14 + "天"); - !_0x4fd81b && (await this.takePartInSign()); - } - } else { - let _0x310cbd = _0x22822c.get(_0x594c54, "message", ""); - this.log("查询新版签到失败[" + _0x20ca00 + "]: " + _0x310cbd); + console.log("\n============= 账号[" + this.index + "] 开始执行 分享任务============="); + await _0x3065e9.wait(Math.random() * 200); + for (let _0x50253a = 0; _0x50253a < 3; _0x50253a++) { + await this.Share(); + await _0x3065e9.wait(Math.random() * 1000); } - } catch (_0x20b0e4) { - console.log(_0x20b0e4); + } catch (_0x2b25f0) { + console.log(_0x2b25f0); } } - async ["takePartInSign"](_0x48efd6 = {}) { - try { - const _0x44b325 = { - "activityId": "947079313798000641", - "appid": _0x50be96 - }, - _0x2733ab = { - "fn": "takePartInSign", - "method": "post", - "url": "https://webapi.qmai.cn/web/cmk-center/sign/takePartInSign", - "json": _0x44b325 - }; - let { - result: _0x285c82, - statusCode: _0x148e52 - } = await this.request(_0x2733ab), - _0x4f6bec = _0x22822c.get(_0x285c82, "code", _0x148e52); - if (_0x4f6bec == 0) { - { - const _0x3a28c6 = { - "notify": true - }; - this.log("新版签到成功", _0x3a28c6); - } - } else { - let _0x439e4a = _0x22822c.get(_0x285c82, "message", ""); - this.log("新版签到失败[" + _0x4f6bec + "]: " + _0x439e4a); - } - } catch (_0x57f683) { - console.log(_0x57f683); - } - } - async ["points_info"](_0x11c245 = {}) { - try { - const _0x4418a9 = { - "appid": _0x50be96 - }, - _0x4a3968 = { - "fn": "points_info", - "method": "post", - "url": "https://webapi.qmai.cn/web/catering/crm/points-info", - "json": _0x4418a9 - }; - let { - result: _0x333894, - statusCode: _0x41c61b - } = await this.request(_0x4a3968), - _0x4ac555 = _0x22822c.get(_0x333894, "code", _0x41c61b); - if (_0x4ac555 == 0) { - let { - soonExpiredPoints: _0x1ee018, - totalPoints: _0x5d3ffb, - expiredTime: _0x271e92 - } = _0x333894?.["data"]; - const _0x36151a = { - "notify": true - }; - this.log("积分: " + _0x5d3ffb, _0x36151a); - if (_0x1ee018) { - const _0x1b318e = { - "notify": true - }; - this.log("有" + _0x1ee018 + "积分将于[" + _0x271e92 + "]过期", _0x1b318e); - } - } else { - { - let _0x4f796a = _0x22822c.get(_0x333894, "message", ""); - this.log("查询积分失败[" + _0x4ac555 + "]: " + _0x4f796a); - } - } - } catch (_0x333089) { - console.log(_0x333089); - } - } - async ["userTask"](_0x585f25 = {}) { - if (!(await this.personal_info())) { - return; - } - await this.sign_detail(); - await this.userSignStatistics(); - await this.points_info(); - } } !(async () => { - _0x22822c.read_env(_0x5026b8); - for (let _0x481d4c of _0x22822c.userList) { - await _0x481d4c.userTask(); + if (typeof $request !== "undefined") await _0x1b91d9();else { + if (!(await _0x2f2542())) return; + console.log("\n================ 开始执行 ================"); + for (let _0x19ed95 of _0x23139a) { + console.log("----------- 执行 第 [" + _0x19ed95.index + "] 个账号 -----------"); + await _0x19ed95.Sign(); + await _0x3065e9.wait(Math.random() * 200); + } + let _0x7fb3c1 = _0x23139a.filter(_0x2bd556 => _0x2bd556.valid); + if (_0x7fb3c1.length > 0) { + console.log("\n================ 任务队列构建完毕 ================"); + for (let _0x249a61 of _0x7fb3c1) { + console.log("----------- 账号[" + _0x249a61.index + "] -----------"); + await _0x249a61.doTask(); + } + } else { + console.log("\n====幻生提示:无可用账号,请检查配置============ 任务结束 ================"); + } + await _0x3065e9.showmsg(); } -})().catch(_0x40193d => _0x22822c.log(_0x40193d)).finally(() => _0x22822c.exitNow()); -async function _0x1300b9(_0x13b3c8 = 0) { - let _0x24ed10 = false; - try { - const _0x5742b3 = { - "fn": "auth", - "method": "get", - "url": _0x3a487f, - "timeout": 20000 - }; - let { - statusCode: _0xca4918, - result: _0x23869e - } = await _0x133ad6.request(_0x5742b3); - if (_0xca4918 != 200) { - _0x13b3c8++ < _0x1f020e && (_0x24ed10 = await _0x1300b9(_0x13b3c8)); - return _0x24ed10; - } - if (_0x23869e?.["code"] == 0) { - _0x23869e = JSON.parse(_0x23869e.data.file.data); - if (_0x23869e?.["commonNotify"] && _0x23869e.commonNotify.length > 0) { - const _0x556cf9 = { - "notify": true - }; - _0x22822c.log(_0x23869e.commonNotify.join("\n") + "\n", _0x556cf9); - } - _0x23869e?.["commonMsg"] && _0x23869e.commonMsg.length > 0 && _0x22822c.log(_0x23869e.commonMsg.join("\n") + "\n"); - if (_0x23869e[_0x5edf7d]) { - { - let _0xf08380 = _0x23869e[_0x5edf7d]; - _0xf08380.status == 0 ? _0x34947f >= _0xf08380.version ? (_0x24ed10 = true, _0x22822c.log(_0xf08380.msg[_0xf08380.status]), _0x22822c.log(_0xf08380.updateMsg), _0x22822c.log("现在运行的脚本版本是:" + _0x34947f + ",最新脚本版本:" + _0xf08380.latestVersion)) : _0x22822c.log(_0xf08380.versionMsg) : _0x22822c.log(_0xf08380.msg[_0xf08380.status]); - } - } else { - _0x22822c.log(_0x23869e.errorMsg); - } - } else _0x13b3c8++ < _0x1f020e && (_0x24ed10 = await _0x1300b9(_0x13b3c8)); - } catch (_0xcd516c) { - _0x22822c.log(_0xcd516c); - } finally { - return _0x24ed10; - } -} -async function _0x449e65() { - let _0x2a3f7c = false; - try { - const _0x289fd7 = { - "fn": "auth", - "method": "get", - "url": _0x51003c - }; - let { - statusCode: _0x5b19e8, - result: _0x5420a0 - } = await _0x133ad6.request(_0x289fd7); - if (_0x5b19e8 != 200) { - return Promise.resolve(); - } - if (_0x5420a0?.["code"] == 0) { - _0x5420a0 = JSON.parse(_0x5420a0.data.file.data); - ownerId = _0x5420a0?.["ownerId"] || ownerId; - share_app = _0x5420a0?.["share_app"] || share_app; - for (let _0x2a6212 of _0x5420a0.chdTask.simple) { - !task_chd_simple_list.filter(_0x2d0f4f => _0x2d0f4f.missionDefId == _0x2a6212.missionDefId && _0x2d0f4f.missionCollectionId == _0x2a6212.missionCollectionId).length && task_chd_simple_list.push(_0x2a6212); - } - for (let _0x323d3b of _0x5420a0.chdTask.pageview) { - !task_chd_pageview_list.filter(_0x5f5151 => _0x5f5151.missionDefId == _0x323d3b.missionDefId && _0x5f5151.missionCollectionId == _0x323d3b.missionCollectionId).length && task_chd_pageview_list.push(_0x323d3b); - } - for (let _0x55488a of _0x5420a0.tkjTask.simple) { - !task_tkj_simple_list.filter(_0x5c1c82 => _0x5c1c82.missionDefId == _0x55488a.missionDefId && _0x5c1c82.missionCollectionId == _0x55488a.missionCollectionId).length && task_tkj_simple_list.push(_0x55488a); - } - for (let _0x3a0b02 of _0x5420a0.tkjTask.pageview) { - !task_tkj_pageview_list.filter(_0x676cd6 => _0x676cd6.missionDefId == _0x3a0b02.missionDefId && _0x676cd6.missionCollectionId == _0x3a0b02.missionCollectionId).length && task_tkj_pageview_list.push(_0x3a0b02); - } - } - } catch (_0x2f90c3) { - _0x22822c.log(_0x2f90c3); - } finally { - return Promise.resolve(_0x2a3f7c); - } -} -function _0x2fbb6b(_0x5a60f2) { - return new class { - constructor(_0x550e45) { - this.name = _0x550e45; - this.startTime = Date.now(); - const _0x5da069 = { - "time": true - }; - this.log("[" + this.name + "]开始运行\n", _0x5da069); - this.notifyStr = []; - this.notifyFlag = true; - this.userIdx = 0; - this.userList = []; - this.userCount = 0; - this.default_timestamp_len = 13; - this.default_wait_interval = 1000; - this.default_wait_limit = 3600000; - this.default_wait_ahead = 0; - } - ["log"](_0x5dd587, _0x28ad17 = {}) { - const _0xa88ce4 = { - "console": true - }; - Object.assign(_0xa88ce4, _0x28ad17); - if (_0xa88ce4.time) { - let _0x4b5660 = _0xa88ce4.fmt || "hh:mm:ss"; - _0x5dd587 = "[" + this.time(_0x4b5660) + "]" + _0x5dd587; - } - _0xa88ce4.notify && this.notifyStr.push(_0x5dd587); - _0xa88ce4.console && console.log(_0x5dd587); - } - ["get"](_0xde4086, _0x22838d, _0x2abb13 = "") { - { - let _0x40cf9a = _0x2abb13; - _0xde4086?.["hasOwnProperty"](_0x22838d) && (_0x40cf9a = _0xde4086[_0x22838d]); - return _0x40cf9a; - } - } - ["pop"](_0x4b85cf, _0x3962d5, _0x1069d0 = "") { - let _0x28a076 = _0x1069d0; - _0x4b85cf?.["hasOwnProperty"](_0x3962d5) && (_0x28a076 = _0x4b85cf[_0x3962d5], delete _0x4b85cf[_0x3962d5]); - return _0x28a076; - } - ["copy"](_0x396bf8) { - return Object.assign({}, _0x396bf8); - } - ["read_env"](_0x2e93f3) { - { - let _0x381a6b = _0x25b427.map(_0x47ab17 => process.env[_0x47ab17]); - for (let _0x43c049 of _0x381a6b.filter(_0x1285c3 => !!_0x1285c3)) { - for (let _0x46a19a of _0x43c049.split(_0x4e95c6).filter(_0x1a9a0b => !!_0x1a9a0b)) { - if (this.userList.includes(_0x46a19a)) continue; - this.userList.push(new _0x2e93f3(_0x46a19a)); +})().catch(_0x3de5ae => console.log(_0x3de5ae)).finally(() => _0x3065e9.done()); +async function _0x1b91d9() {} +async function _0x2f2542() { + if (_0x5d9ea2) { + { + let _0x506c52 = _0x1ad327[0]; + for (let _0x16a0d0 of _0x1ad327) { + if (_0x5d9ea2.indexOf(_0x16a0d0) > -1) { + { + _0x506c52 = _0x16a0d0; + break; } } - this.userCount = this.userList.length; - if (!this.userCount) { - const _0x3608c4 = { - "notify": true - }; - this.log("未找到变量,请检查变量" + _0x25b427.map(_0x357aa2 => "[" + _0x357aa2 + "]").join("或"), _0x3608c4); - return false; + } + for (let _0x2460f4 of _0x5d9ea2.split(_0x506c52)) { + { + if (_0x2460f4) _0x23139a.push(new _0x4f7def(_0x2460f4)); } - this.log("共找到" + this.userCount + "个账号"); - return true; + } + userCount = _0x23139a.length; + } + } else { + console.log("未找到 配置信息,请检查是否配置 变量:", _0x594a0a); + return; + } + console.log("共找到" + userCount + "个账号"); + return true; +} +async function _0x2ef80e(_0x22e525, _0xf7da77) { + httpErr = null; + httpReq = null; + httpResp = null; + return new Promise(_0x1e7c15 => { + _0x3065e9.send(_0x22e525, _0xf7da77, async (_0x1a63ab, _0x304b42, _0x47c7a2) => { + httpErr = _0x1a63ab; + httpReq = _0x304b42; + httpResp = _0x47c7a2; + _0x1e7c15({ + "err": _0x1a63ab, + "req": _0x304b42, + "resp": _0x47c7a2 + }); + }); + }); +} +function _0x14a79b(_0x4038d3, _0x4c648e) { + "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); + return new class { + constructor(_0xc41156, _0x297ded) { + this.name = _0xc41156; + this.notifyStr = ""; + this.startTime = new Date().getTime(); + Object.assign(this, _0x297ded); + console.log(this.name + " 开始运行:\n"); + } + ["isNode"]() { + return "undefined" != typeof module && !!module.exports; + } + ["isQuanX"]() { + return "undefined" != typeof $task; + } + ["isSurge"]() { + return "undefined" != typeof $httpClient && "undefined" == typeof $loon; + } + ["isLoon"]() { + return "undefined" != typeof $loon; + } + ["getdata"](_0x1c89dc) { + let _0x5f3c83 = this.getval(_0x1c89dc); + if (/^@/.test(_0x1c89dc)) { + const [, _0x4b7142, _0x5ba969] = /^@(.*?)\.(.*?)$/.exec(_0x1c89dc), + _0x45f3e6 = _0x4b7142 ? this.getval(_0x4b7142) : ""; + if (_0x45f3e6) try { + const _0x1de99b = JSON.parse(_0x45f3e6); + _0x5f3c83 = _0x1de99b ? this.lodash_get(_0x1de99b, _0x5ba969, "") : _0x5f3c83; + } catch (_0xb8b62e) { + _0x5f3c83 = ""; + } + } + return _0x5f3c83; + } + ["setdata"](_0x90cff, _0x59643e) { + { + let _0x28ca60 = false; + if (/^@/.test(_0x59643e)) { + const [, _0x38c422, _0x26c375] = /^@(.*?)\.(.*?)$/.exec(_0x59643e), + _0x14a0cc = this.getval(_0x38c422), + _0x10f203 = _0x38c422 ? "null" === _0x14a0cc ? null : _0x14a0cc || "{}" : "{}"; + try { + const _0x1b9f14 = JSON.parse(_0x10f203); + this.lodash_set(_0x1b9f14, _0x26c375, _0x90cff); + _0x28ca60 = this.setval(JSON.stringify(_0x1b9f14), _0x38c422); + } catch (_0x4ce4bd) { + const _0x4defda = {}; + this.lodash_set(_0x4defda, _0x26c375, _0x90cff); + _0x28ca60 = this.setval(JSON.stringify(_0x4defda), _0x38c422); + } + } else { + _0x28ca60 = this.setval(_0x90cff, _0x59643e); + } + return _0x28ca60; } } - ["time"](_0x3f533b, _0x4227ff = null) { + ["getval"](_0x4e2aac) { + return this.isSurge() || this.isLoon() ? $persistentStore.read(_0x4e2aac) : this.isQuanX() ? $prefs.valueForKey(_0x4e2aac) : this.isNode() ? (this.data = this.loaddata(), this.data[_0x4e2aac]) : this.data && this.data[_0x4e2aac] || null; + } + ["setval"](_0x4901e5, _0xdb3502) { + return this.isSurge() || this.isLoon() ? $persistentStore.write(_0x4901e5, _0xdb3502) : this.isQuanX() ? $prefs.setValueForKey(_0x4901e5, _0xdb3502) : this.isNode() ? (this.data = this.loaddata(), this.data[_0xdb3502] = _0x4901e5, this.writedata(), true) : this.data && this.data[_0xdb3502] || null; + } + ["send"](_0x528a53, _0x1062b7, _0x3a681d = () => {}) { { - let _0x2c9a96 = _0x4227ff ? new Date(_0x4227ff) : new Date(), - _0x2f82c8 = { - "M+": _0x2c9a96.getMonth() + 1, - "d+": _0x2c9a96.getDate(), - "h+": _0x2c9a96.getHours(), - "m+": _0x2c9a96.getMinutes(), - "s+": _0x2c9a96.getSeconds(), - "q+": Math.floor((_0x2c9a96.getMonth() + 3) / 3), - "S": this.padStr(_0x2c9a96.getMilliseconds(), 3) + if (_0x528a53 != "get" && _0x528a53 != "post" && _0x528a53 != "put" && _0x528a53 != "delete") { + console.log("无效的http方法:" + _0x528a53); + return; + } + if (_0x528a53 == "get" && _0x1062b7.headers) delete _0x1062b7.headers["Content-Type"], delete _0x1062b7.headers["Content-Length"];else { + if (_0x1062b7.body && _0x1062b7.headers) { + { + if (!_0x1062b7.headers["Content-Type"]) _0x1062b7.headers["Content-Type"] = "application/x-www-form-urlencoded"; + } + } + } + if (this.isSurge() || this.isLoon()) { + this.isSurge() && this.isNeedRewrite && (_0x1062b7.headers = _0x1062b7.headers || {}, Object.assign(_0x1062b7.headers, { + "X-Surge-Skip-Scripting": false + })); + let _0x55f76d = { + "method": _0x528a53, + "url": _0x1062b7.url, + "headers": _0x1062b7.headers, + "timeout": _0x1062b7.timeout, + "data": _0x1062b7.body }; - /(y+)/.test(_0x3f533b) && (_0x3f533b = _0x3f533b.replace(RegExp.$1, (_0x2c9a96.getFullYear() + "").substr(4 - RegExp.$1.length))); - for (let _0x58d9a1 in _0x2f82c8) new RegExp("(" + _0x58d9a1 + ")").test(_0x3f533b) && (_0x3f533b = _0x3f533b.replace(RegExp.$1, 1 == RegExp.$1.length ? _0x2f82c8[_0x58d9a1] : ("00" + _0x2f82c8[_0x58d9a1]).substr(("" + _0x2f82c8[_0x58d9a1]).length))); - return _0x3f533b; + if (_0x528a53 == "get") delete _0x55f76d.data; + $axios(_0x55f76d).then(_0x3f3966 => { + const { + status: _0x29a846, + request: _0x2ad2aa, + headers: _0x5cc4bd, + data: _0x161f35 + } = _0x3f3966; + _0x3a681d(null, _0x2ad2aa, { + "statusCode": _0x29a846, + "headers": _0x5cc4bd, + "body": _0x161f35 + }); + }).catch(_0x238377 => console.log(_0x238377)); + } else { + if (this.isQuanX()) _0x1062b7.method = _0x528a53.toUpperCase(), this.isNeedRewrite && (_0x1062b7.opts = _0x1062b7.opts || {}, Object.assign(_0x1062b7.opts, { + "hints": false + })), $task.fetch(_0x1062b7).then(_0x3b8bbe => { + const { + statusCode: _0x2fc1ac, + request: _0x5f6740, + headers: _0x34d4ad, + body: _0x37fbc7 + } = _0x3b8bbe; + _0x3a681d(null, _0x5f6740, { + "statusCode": _0x2fc1ac, + "headers": _0x34d4ad, + "body": _0x37fbc7 + }); + }, _0x361920 => _0x3a681d(_0x361920));else { + if (this.isNode()) { + this.got = this.got ? this.got : require("got"); + const { + url: _0x325d9c, + ..._0xf7af76 + } = _0x1062b7; + this.instance = this.got.extend({ + "followRedirect": false + }); + this.instance[_0x528a53](_0x325d9c, _0xf7af76).then(_0x18383d => { + const { + statusCode: _0xf07db0, + request: _0x532d1a, + headers: _0x1dc0d4, + body: _0x4984e8 + } = _0x18383d; + _0x3a681d(null, _0x532d1a, { + "statusCode": _0xf07db0, + "headers": _0x1dc0d4, + "body": _0x4984e8 + }); + }, _0x2e49ed => { + const { + message: _0x2df36f, + request: _0x5340cf, + response: _0xdeebdf + } = _0x2e49ed; + _0x3a681d(_0x2df36f, _0x5340cf, _0xdeebdf); + }); + } + } + } + } + } + ["time"](_0x4ddd19, _0x3d004a = null) { + { + let _0x3d0303 = _0x3d004a ? new Date(_0x3d004a) : new Date(), + _0x1c5845 = { + "M+": _0x3d0303.getMonth() + 1, + "d+": _0x3d0303.getDate(), + "h+": _0x3d0303.getHours(), + "m+": _0x3d0303.getMinutes(), + "s+": _0x3d0303.getSeconds(), + "q+": Math.floor((_0x3d0303.getMonth() + 3) / 3), + "S": _0x3d0303.getMilliseconds() + }; + /(y+)/.test(_0x4ddd19) && (_0x4ddd19 = _0x4ddd19.replace(RegExp.$1, (_0x3d0303.getFullYear() + "").substr(4 - RegExp.$1.length))); + for (let _0x4df8e7 in _0x1c5845) new RegExp("(" + _0x4df8e7 + ")").test(_0x4ddd19) && (_0x4ddd19 = _0x4ddd19.replace(RegExp.$1, 1 == RegExp.$1.length ? _0x1c5845[_0x4df8e7] : ("00" + _0x1c5845[_0x4df8e7]).substr(("" + _0x1c5845[_0x4df8e7]).length))); + return _0x4ddd19; } } async ["showmsg"]() { { - if (!this.notifyFlag) return; - if (!this.notifyStr.length) return; - var _0x29aa8f = require("./sendNotify"); - this.log("\n============== 推送 =============="); - await _0x29aa8f.sendNotify(this.name, this.notifyStr.join("\n")); - } - } - ["padStr"](_0x3e358a, _0x3981da, _0x180e22 = {}) { - let _0x498d14 = _0x180e22.padding || "0", - _0x5623a2 = _0x180e22.mode || "l", - _0x6ddb3f = String(_0x3e358a), - _0xc35a53 = _0x3981da > _0x6ddb3f.length ? _0x3981da - _0x6ddb3f.length : 0, - _0x240fce = ""; - for (let _0x4d8451 = 0; _0x4d8451 < _0xc35a53; _0x4d8451++) { - _0x240fce += _0x498d14; - } - _0x5623a2 == "r" ? _0x6ddb3f = _0x6ddb3f + _0x240fce : _0x6ddb3f = _0x240fce + _0x6ddb3f; - return _0x6ddb3f; - } - ["json2str"](_0x69c92d, _0x3f4b18, _0x5a0d0f = false) { - let _0x4db271 = []; - for (let _0x1dda5e of Object.keys(_0x69c92d).sort()) { - { - let _0x428726 = _0x69c92d[_0x1dda5e]; - _0x428726 && _0x5a0d0f && (_0x428726 = encodeURIComponent(_0x428726)); - _0x4db271.push(_0x1dda5e + "=" + _0x428726); - } - } - return _0x4db271.join(_0x3f4b18); - } - ["str2json"](_0x4ef120, _0x5116b7 = false) { - let _0x3ff4b1 = {}; - for (let _0x2c2c0d of _0x4ef120.split("&")) { - if (!_0x2c2c0d) continue; - let _0x3f58d7 = _0x2c2c0d.indexOf("="); - if (_0x3f58d7 == -1) { - continue; - } - let _0x5c0461 = _0x2c2c0d.substr(0, _0x3f58d7), - _0x324223 = _0x2c2c0d.substr(_0x3f58d7 + 1); - _0x5116b7 && (_0x324223 = decodeURIComponent(_0x324223)); - _0x3ff4b1[_0x5c0461] = _0x324223; - } - return _0x3ff4b1; - } - ["randomPattern"](_0x16140f, _0x213ac1 = "abcdef0123456789") { - let _0x16b674 = ""; - for (let _0xc4493c of _0x16140f) { - { - if (_0xc4493c == "x") _0x16b674 += _0x213ac1.charAt(Math.floor(Math.random() * _0x213ac1.length));else { - _0xc4493c == "X" ? _0x16b674 += _0x213ac1.charAt(Math.floor(Math.random() * _0x213ac1.length)).toUpperCase() : _0x16b674 += _0xc4493c; + if (!this.notifyStr) return; + let _0x3d3a83 = this.name + " 运行通知\n\n" + this.notifyStr; + if (_0x3065e9.isNode()) { + { + var _0x3a245e = require("./sendNotify"); + console.log("\n============== 推送 =============="); + await _0x3a245e.sendNotify(this.name, _0x3d3a83); } - } - } - return _0x16b674; - } - ["randomUuid"]() { - return this.randomPattern("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"); - } - ["randomString"](_0x3b342b, _0xb68c8b = "abcdef0123456789") { - let _0x5555ab = ""; - for (let _0xcaef55 = 0; _0xcaef55 < _0x3b342b; _0xcaef55++) { - _0x5555ab += _0xb68c8b.charAt(Math.floor(Math.random() * _0xb68c8b.length)); - } - return _0x5555ab; - } - ["randomList"](_0x470a5f) { - let _0x411d03 = Math.floor(Math.random() * _0x470a5f.length); - return _0x470a5f[_0x411d03]; - } - ["wait"](_0x5c7c0c) { - return new Promise(_0x3351a0 => setTimeout(_0x3351a0, _0x5c7c0c)); - } - async ["exitNow"]() { - await this.showmsg(); - let _0x18decd = Date.now(), - _0x430aef = (_0x18decd - this.startTime) / 1000; - this.log(""); - const _0xd410dc = { - "time": true - }; - this.log("[" + this.name + "]运行结束,共运行了" + _0x430aef + "秒", _0xd410dc); - console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<="); - console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<="); - console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<="); - console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<="); - console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<="); - console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<="); - console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<="); - console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<="); - console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<="); - console.log("=>=>=>=>____来自 By 幼稚园小妹妹 (顶级插件售后服务951584089)丨Autman订阅源:Lxg-021002丨期待为您服务<=<=<=<="); - process.exit(0); - } - ["normalize_time"](_0x22f45c, _0x55a4f8 = {}) { - { - let _0x264a22 = _0x55a4f8.len || this.default_timestamp_len; - _0x22f45c = _0x22f45c.toString(); - let _0x552842 = _0x22f45c.length; - while (_0x552842 < _0x264a22) { - _0x22f45c += "0"; - } - _0x552842 > _0x264a22 && (_0x22f45c = _0x22f45c.slice(0, 13)); - return parseInt(_0x22f45c); + } else this.msg(_0x3d3a83); } } - async ["wait_until"](_0xe30940, _0x5833a2 = {}) { - let _0x417d24 = _0x5833a2.logger || this, - _0x4d19f9 = _0x5833a2.interval || this.default_wait_interval, - _0x126ddf = _0x5833a2.limit || this.default_wait_limit, - _0x852c0e = _0x5833a2.ahead || this.default_wait_ahead; - if (typeof _0xe30940 == "string" && _0xe30940.includes(":")) { + ["logAndNotify"](_0x58012f) { + console.log(_0x58012f); + this.notifyStr += _0x58012f; + this.notifyStr += "\n"; + } + ["logAndNotifyWithTime"](_0xeaf4b1) { + let _0x414567 = "[" + this.time("hh:mm:ss.S") + "]" + _0xeaf4b1; + console.log(_0x414567); + this.notifyStr += _0x414567; + this.notifyStr += "\n"; + } + ["logWithTime"](_0x5291da) { + console.log("[" + this.time("hh:mm:ss.S") + "]" + _0x5291da); + } + ["msg"](_0x51fea4 = t, _0x215cb5 = "", _0x474402 = "", _0x42a5dd) { + const _0x3d6f7a = _0x163e67 => { { - if (_0xe30940.includes("-")) _0xe30940 = new Date(_0xe30940).getTime();else { - let _0x4bd7fc = this.time("yyyy-MM-dd "); - _0xe30940 = new Date(_0x4bd7fc + _0xe30940).getTime(); - } - } - } - let _0x5de99b = this.normalize_time(_0xe30940) - _0x852c0e, - _0x2a58dd = this.time("hh:mm:ss.S", _0x5de99b), - _0x3d2ee4 = Date.now(); - _0x3d2ee4 > _0x5de99b && (_0x5de99b += 86400000); - let _0x5f0c85 = _0x5de99b - _0x3d2ee4; - if (_0x5f0c85 > _0x126ddf) { - const _0x48e0d9 = { - "time": true - }; - _0x417d24.log("离目标时间[" + _0x2a58dd + "]大于" + _0x126ddf / 1000 + "秒,不等待", _0x48e0d9); - } else { - { - const _0x2536f0 = { - "time": true - }; - _0x417d24.log("离目标时间[" + _0x2a58dd + "]还有" + _0x5f0c85 / 1000 + "秒,开始等待", _0x2536f0); - while (_0x5f0c85 > 0) { - { - let _0x138b1c = Math.min(_0x5f0c85, _0x4d19f9); - await this.wait(_0x138b1c); - _0x3d2ee4 = Date.now(); - _0x5f0c85 = _0x5de99b - _0x3d2ee4; + if (!_0x163e67) return _0x163e67; + if ("string" == typeof _0x163e67) return this.isLoon() ? _0x163e67 : this.isQuanX() ? { + "open-url": _0x163e67 + } : this.isSurge() ? { + "url": _0x163e67 + } : undefined; + if ("object" == typeof _0x163e67) { + if (this.isLoon()) { + let _0x2d5c4a = _0x163e67.openUrl || _0x163e67.url || _0x163e67["open-url"], + _0x12a18e = _0x163e67.mediaUrl || _0x163e67["media-url"]; + return { + "openUrl": _0x2d5c4a, + "mediaUrl": _0x12a18e + }; + } + if (this.isQuanX()) { + let _0x1e62a6 = _0x163e67["open-url"] || _0x163e67.url || _0x163e67.openUrl, + _0x5c34e8 = _0x163e67["media-url"] || _0x163e67.mediaUrl; + return { + "open-url": _0x1e62a6, + "media-url": _0x5c34e8 + }; + } + if (this.isSurge()) { + let _0x178770 = _0x163e67.url || _0x163e67.openUrl || _0x163e67["open-url"]; + return { + "url": _0x178770 + }; } } - const _0x6e1051 = { - "time": true - }; - _0x417d24.log("已完成等待", _0x6e1051); + } + }; + this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(_0x51fea4, _0x215cb5, _0x474402, _0x3d6f7a(_0x42a5dd)) : this.isQuanX() && $notify(_0x51fea4, _0x215cb5, _0x474402, _0x3d6f7a(_0x42a5dd))); + let _0x15ca2e = ["", "============== 系统通知 =============="]; + _0x15ca2e.push(_0x51fea4); + _0x215cb5 && _0x15ca2e.push(_0x215cb5); + _0x474402 && _0x15ca2e.push(_0x474402); + console.log(_0x15ca2e.join("\n")); + } + ["getMin"](_0x434bc7, _0x32c083) { + return _0x434bc7 < _0x32c083 ? _0x434bc7 : _0x32c083; + } + ["getMax"](_0x4d3798, _0x166dff) { + return _0x4d3798 < _0x166dff ? _0x166dff : _0x4d3798; + } + ["padStr"](_0x163393, _0x4fb87b, _0x56aecc = "0") { + { + let _0x5cdeb2 = String(_0x163393), + _0xd26033 = _0x4fb87b > _0x5cdeb2.length ? _0x4fb87b - _0x5cdeb2.length : 0, + _0x111cf7 = ""; + for (let _0x5ebe0b = 0; _0x5ebe0b < _0xd26033; _0x5ebe0b++) { + _0x111cf7 += _0x56aecc; + } + _0x111cf7 += _0x5cdeb2; + return _0x111cf7; + } + } + ["json2str"](_0x5eff15, _0x47bb6a, _0x2a6962 = false) { + let _0x59e08a = []; + for (let _0x4817da of Object.keys(_0x5eff15).sort()) { + { + let _0xf5e3d8 = _0x5eff15[_0x4817da]; + if (_0xf5e3d8 && _0x2a6962) _0xf5e3d8 = encodeURIComponent(_0xf5e3d8); + _0x59e08a.push(_0x4817da + "=" + _0xf5e3d8); } } + return _0x59e08a.join(_0x47bb6a); } - async ["wait_gap_interval"](_0x5f35a4, _0x3c7f4a) { - { - let _0x52cef1 = Date.now() - _0x5f35a4; - _0x52cef1 < _0x3c7f4a && (await this.wait(_0x3c7f4a - _0x52cef1)); + ["str2json"](_0x31a48d, _0x36c2e8 = false) { + let _0x2cde0e = {}; + for (let _0x5b6e8d of _0x31a48d.split("&")) { + if (!_0x5b6e8d) continue; + let _0x5742d9 = _0x5b6e8d.indexOf("="); + if (_0x5742d9 == -1) continue; + let _0x2f6ff9 = _0x5b6e8d.substr(0, _0x5742d9), + _0x2f8540 = _0x5b6e8d.substr(_0x5742d9 + 1); + if (_0x36c2e8) _0x2f8540 = decodeURIComponent(_0x2f8540); + _0x2cde0e[_0x2f6ff9] = _0x2f8540; } + return _0x2cde0e; } - }(_0x5a60f2); + ["randomString"](_0x1826b2, _0x2926dc = "abcdef0123456789") { + let _0x11a90c = ""; + for (let _0x1ed771 = 0; _0x1ed771 < _0x1826b2; _0x1ed771++) { + _0x11a90c += _0x2926dc.charAt(Math.floor(Math.random() * _0x2926dc.length)); + } + return _0x11a90c; + } + ["randomList"](_0x3808ec) { + let _0x129ec9 = Math.floor(Math.random() * _0x3808ec.length); + return _0x3808ec[_0x129ec9]; + } + ["wait"](_0x41414e) { + return new Promise(_0x310013 => setTimeout(_0x310013, _0x41414e)); + } + ["done"](_0x5aad77 = {}) { + const _0x2634cb = new Date().getTime(), + _0x53d433 = (_0x2634cb - this.startTime) / 1000; + console.log("\n" + this.name + " 运行结束,共运行了 " + _0x53d433 + " 秒!"); + if (this.isSurge() || this.isQuanX() || this.isLoon()) $done(_0x5aad77); + } + }(_0x4038d3, _0x4c648e); } \ No newline at end of file diff --git a/output.py b/output.py index ae22ea9..007a23d 100644 Binary files a/output.py and b/output.py differ