CheckinScripts/qhhz.js

32 lines
153 KiB
JavaScript
Raw Permalink Normal View History

2022-06-23 11:04:52 +08:00
/**
作者临渊
日期6-12
小程序统一快乐星球
入口活动->种番茄
2022-11-02 23:18:30 +08:00
功能互助
2022-11-02 23:14:43 +08:00
抓包apig.xiaoyisz.com/qiehuang/ga/public/api/login 这个登录包里 body 部分的 全部
2022-11-02 23:18:30 +08:00
变量tyhz='body@xxxx ' 多个账号用 @ 或者 换行 分割
定时两个小时一次
cron: 5 0/2 * * *
2022-06-23 11:04:52 +08:00
6-14 更新了AU获取方式理论上不会过期了
6-18 更新了收取植物种新的植物和推送加上昵称方便辨认可能
6-22 修复了上报挑战失败洒阳光失败更新了种植进度免得老有人说脚本坏了
2022-11-02 23:18:30 +08:00
6-23 更新了助力助力洒阳光
6-25 更新了冒险助力
6-26 修复了冒险助力的小bug建议更改定时两个小时一次
2022-11-02 23:14:43 +08:00
8-11 更新了sign
10-26 更新了api
2022-06-23 11:04:52 +08:00
*/
2022-11-02 23:18:30 +08:00
const $ = new Env('统一茄皇互助');
const notify = $.isNode() ? require('./sendNotify') : '';
const {log} = console;
2022-11-02 23:14:43 +08:00
const Notify = 1; //0为关闭通知1为打开通知,默认为1
const debug = 0; //0为关闭调试1为打开调试,默认为0
2022-11-02 23:18:30 +08:00
const help = 1; //0为关闭互助1为打开互助,默认为0
2022-11-02 23:14:43 +08:00
//////////////////////
2022-11-02 23:18:30 +08:00
const _0x278e=['clNHekQ=','am9HR3g=','VE1Pa0M=','RUJrTkQ=','bXRvT0k=','aHR0cHM6Ly9hcGlnLnhpYW95aXN6LmNvbS9xaWVodWFuZy9nYS91c2VyL2dpZnQvY2VudGVyL2V4Y2hhbmdlP3RpbWVzdGFtcD0=','YURiSkE=','dG9TdHJpbmc=','Ym9keQ==','ZmlDVE8=','WFlvWkU=','TUd5UmU=','TWxyaFk=','ZUx5SHc=','eExzeEE=','TkdRcWo=','Tmttd0o=','ZUNNS2o=','UUlCV2U=','c2F1R1A=','ZHJnaGQ=','77yM6L+b5bqm77ya','eEVXd1Q=','T3dOVmM=','d1RBWmE=','clF6dmk=','6LSm5Y+3Ww==','d3JpdGVGaWxl','VmxlRmY=','Y3Nyd08=','ZG9uZQ==','Z2V0VGltZXpvbmVPZmZzZXQ=','TVRLTWw=','QWxSUHg=','c094QUc=','S2tLc28=','bll5WEs=','Y291cG9uVm8=','dWVWQVc=','dGFza0lk','ZnJKdEc=','VHpaTHM=','ZmluYWxseQ==','b21zSk8=','bElpV04=','RkJ6dHg=','SndldXg=','eXRBcFA=','RW93Qm8=','dHNZbUk=','U0hiYWc=','WXBudFM=','UVFVYXg=','5Liq6LSm5Y+35Y675Yqp5Yqb57uT5p6c44CR','dXhWbEY=','UlB6QnQ=','bW9yQmI=','Um93WUs=','TUlxZ28=','bnhkd2Q=','CuOAkGRlYnVn44CRPT09PT09PT09PT09PT09IOi/meaYryDkupLliqnlhpLpmakg6K+35rGCIHVybCA9PT09PT09PT09PT09PT0=','6I635Y+W5qSN54mp6K+m5oOF5aSx6LSl','SUVDSnU=','Ymp6d2Y=','bllqZEs=','dFJLSGE=','ZUVkS3E=','eENmSVU=','TVVmaks=','S3JWdkU=','eUxEV3E=','c2VuZE5vdGlmeQ==','enVhUlQ=','dXJs','bnNqc1k=','SldRcU8=','dllSUUk=','U3hWdXU=','Ym9IZmg=','dU9LR1A=','WWxseXM=','T0dKeU8=','bHRXRUM=','aW5mbw==','CuOAkGRlYnVn44CRPT09PT09PT09PT09PT09IOi/meaYryDojrflj5bmpI3nianor6bmg4Ug6K+35rGCIHVybCA9PT09PT09PT09PT09PT0=','U0tGekM=','d1pnbGY=','a0hLQmc=','SGZhaG4=','IAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K','77yM5qSN54mp54q25oCB5Li677ya','TXhoRGc=','QW5aV2Q=','b0J1aHM=','WWdObFY=','S29WZE8=','bXFQUG8=','R3pZZFA=','U2VZTUc=','JnRpbWVzdGFtcD0=','ZFluRHE=','dGpDSnc=','eWZ0WkI=','ZW5kVGltZQ==','CgrjgJBkZWJ1Z+OAkT09PT09PT09PT09PT09Pei/meaYryDmn6Xor6LlhpLpmakg6L+U5ZueZGF0YT09PT09PT09PT09PT09','XeaIkOWKnw==','MXwwfDN8Mnw0','cHVzaA==','d2F1YmM=','aXRjQms=','bUVrdko=','W+WKqeWKm+esrA==','RXB5bUY=','dWZKbUI=','cG1va0M=','T3dxRkQ=','ZENwS2k=','WkpqWkc=','eVp4d2Y=','b3hZeUI=','bE50U08=','aHR0cHM6Ly9hcGlnLnhpYW95aXN6LmNvbS9xaWVodWFuZy9nYS91c2VyL2FkdmVudHVyZS9kcmF3UHJpemU/YWR2ZW50dXJlSWQ9','eVFFT2U=','b2ZGU0M=','UnlEZ2k=','44CR77ya5pyq5aGr5YaZ5Y+Y6YePIHR5aHo=','YXhIeko=','WElyb3c=','6I635Y+WQVXmiJDlip8=','TUFXWUY=','V1lTQlA=','bU1oZG8=','dHVvT2M=','WmtDd3E=','QklGc3g=','alloWFg=','Y1FneFo=','Y0tHU3I=','QWxxbGY=','R01KbFc=','V0VqenU=','V0hrRHE=','R21VVkI=','Jm5vbmNlPQ==','Q3lYbmw=','UGpPWWg=','CuOAkGRlYnVn44CRPT09PT09PT09PT09PT09IOi/meaYryDojrflj5bku7vliqEg6K+35rGCIHVybCA9PT09PT09PT09PT09PT0=','QXRrRkM=','eHBTVlk=','cW92eHg=','d0lRQko=','bkFHeEI=','TVZEQmc=','SFF5Qkg=','SWljVE8=','ZWJ3WUk=','aVVqU28=','44CQ5byA5aeL5LqS5Yqp44CR','WUJITUs=','cm91bmQ=','dnlVeEE=','ZFpRcnI=','U2xiZkE=','cmV0dXJuIC8iICsgdGhpcyArICIv','6I635Y+WQVXlpLHotKXvvIzljp/lm6DmmK/vvJo=','aW5mb3M=','cU5HVVE=','QVNlS2M=','UHRiS3M=','cFh4WFI=','TFZIYXk=','bXNn','a1BBVHY=','aVlabUI=','YXBpZy54aWFveWlzei5jb20=','enhRa1o=','aVRkWW0=','S3ZBSGE=','Z3ZPRWg=','T3lXZ0Y=','bmt3RUY=','eGNEUlA=','aFh5SEI=','TmNKTGU=','bmxGeGY=','U2tVQWY=','aFZaSU4=','ZE5wT0w=','bmVlZFN1bnNoaW5lTnVt','CgrjgJBkZWJ1Z+OAkT09PT09PT09PT09PT09Pei/meaYryDkupLliqkg6L+U5ZueZGF0YT09PT09PT09PT09PT09','UnBrVFk=','SGJVUUU=','T2d3dE4=','eGtBQko=','YmVydnQ=','blRaT24=','SEFVcnc=','WENRdEs=','CiDjgJA=','RHREYXc=','MHw0fDN8Mnwx','dG5QeFc=','a3RIVlQ=','Y3dsY0c=','VEVlc0w=','Y2hhckNvZGVBdA==','WXNNQ1Q=','RVpaSGs=','ckhCZkY=','V29remE=','Vk1Od2I=','bGpjbnE=','dUpMQlk=','UHdFWVU=','RHBES1c=','Rklqd1E=','V0t1SnQ=','dG9tYXRvTnVt','UXl0eU0=','RlNaWHk=','JmdpZnRJZD0=','Z1ZidFk=','eElWV3g=','SHpxTUU=','cG1wa3M=','cGRuVFQ=','dFpxV3o=','bmFtZEc=','eG1TRXI=','RnBZZ0s=','Um54THY=','WGhXWE8=','Z1FncXQ=','UkFiZ3U=','aUVia0s=','Sm10aFI=','WlFmYmo=','WXdmV0c=','cVlOWXo=','anFBd2M=','RHh6U1k=','TWNPWkE=','R1FBbGo=','TVlqSXg=','5Yqp5Yqb5aSx6LSl77yM5Y6f5Zug5piv77ya','cmVhZEZpbGU=','V0FDWGE=','bnd2TUE=','Vm9TS1M=','eVVBWmw=','bmxWYVA=','UmVnWmY=','c2xtRmI=','SGNTRFc=','cmVwbGFjZQ==','T3pOS2s=','SHVwd0o=','Z2FRcHA=','aHR0cHM6Ly9hcGlnLnhpYW95aXN6LmNvbS9xaWVodWFuZy9nYS91c2VyL2FkdmVudHVyZS9pbmZvP3VzZXJJZD0tMSZ0eXBlPTImdGltZXN0YW1wPQ==','eFZRc0w=','UGxvZHA=','dkFaVnE=','dWpOY3A=','U1RpbUY=','QklaU3Q=','WEhVR1M=','dUFORmY=','a
2022-11-02 23:14:43 +08:00
2022-11-02 23:18:30 +08:00
function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } 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 } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `https://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this