elm/ele_helper.js

19 lines
66 KiB
JavaScript
Raw Normal View History

2024-03-23 11:52:53 +08:00
/**
* @平行绳 飞机频道https://t.me/tigerorrose
* 变量ownerId: 自己二维码里面的 inviterId 字段
* 变量ELE_FANLI_TIME配置 邀请好友的间隔时间格式 1-10随机延时1到 10
* 变量ELE_UA饿了么域名请求头里面的 user-agent
* 定时随意每天跑一遍就可以
* cron: 7 6 * * *
* 2023.6.26 更新修复User-Agent 错误需要自己设置环境变量ELE_UA
* 2023.6.30 更新修复User-Agent 错误删除环境变量ELE_UA
* 2023.7.7 更新增加检测账号的有效性解决 Header cookie 报错
* 2023.7.9 更新修复Error: getaddrinfo EAI_ AGAIN
*/
const $ = new Env('饿了么天天赚现金');
const _0x5e71=['wovDnVvDo2s=','6KCS6YCI6K6r5LmG6aOf5Y+p55mW57uq5YyS5Lqow6rmupI=','wqZgYg==','wpY1QURn','OcOWw7DCoMKXw7wuQ8ODw4bCm8OIwqc5wrHDqsKvTcKHXVbCr8KtwpQ=','w40pw7nDhcKi','w6rCmMO7AcK+','wp4wEQAT','wqjCtUcQ','wo8EeW5S','Ix8fTsKN','QCgFEhs=','NsOHw4TCm8Kq','wrZPNTjCpg==','BMKRw4bCjsOew41g','wr09wpdtIQ==','cMKTwrPDiw==','wr1dJcOMwoU=','w6jDkC3CmzA=','w4gIw43DtMKX','wpMNPSQM','wo8Kc2lB','wqrDhGU=','NMKLw6LCm8OA','6LaM5Y655aaq5peU77+w6K+76YSe5paP55uM5b69776C772x77yG8L6psQ==','IsKOVsOew6zCiGE=','w7TCumNJIA==','w5zDlD0MUA==','cMKEw75fw6I=','wpYHUcKTw77Djhpjw4djwpEuwrR5WsKIwqzDvE1qZw==','JsOuWsKbNA==','wpleKhlC','wrhYVTMR','ZX1qwpDCvg==','GcOPUcKcMA==','w6EZw5/DtsKg','wpDDh8Osd8OS','wrkKwrB4','OATDr8KCw70=','wrrDnsObbcOI','NsK0w54pw6Y=','Tm1MwpbClg==','H8OUAsKSw54=','w4/CjMOEAMKt','OMKxX8Odw6I=','wpkiwqpkBQ==','QSUFMSA=','wqLDixLDolE=','wp3DpzHCrjU=','IzE7asK3','w5oyw4TCtVc=','wobDrjnDpWM=','w57Co1RTOg==','VMKnw4fDjGw=','DQDDlMKUw7Q=','VMKkwrfDqlo=','wq1McAwA','wrodLMOUwo8=','ccKewrTDg30=','w7vDuS/Cvyw=','woLDhmrDp0k=','wpDDrS3ChC4=','wrxGB8O0woU=','w5XCqQfDisKp','w5rCkgfDhcKa','wqE7w7bDtD8=','dcK1w4Z8w4k=','LcKVw6dtMQ==','KsKxw6tQGw==','UcKww69Dw5M=','w4/CqSDDrMK0','w5XDrgbCtzg=','cMK3wqPDlGA=','dWkTw6zCjA==','QsKnw5tZw5E=','Z8KLw7zDhHw=','w4HCgTfDvsKG','w4TDusOcfhI=','w43CjsKBwoB2','wrjCmcKFw5p2','w73CnMKUwqdc','w55NwofDtcKc','w6LCqsO4B8Kl','wqnChHkTwok=','w7/DqsOEUjk=','wrJ6BThP','w48sw5rDssKC','CsKaUS0S','w53DjcOFdzs=','ZFFzwrLCmQ==','w6jDpDISWA==','S0siw7jCqw==','F8Kfw5nCjcOS','esKMwoTDtFY=','wpYjw7rDqCI=','X8OoRcKhEw==','wrtmC8OTwo0=','wrjCpcKDaxg=','wqE7R8KOw6Y=','worDiMO8WcO/','wqXCkcKKw7Ri','w64qw73DksKD','wpo1OMOmwqI=','wrtebSc+','wo7DpQPCux8=','w68sw4jDvcKr','w5/DsB05eQ==','wowSaVNu','w45ID8OMwqbCiuW8uuWmh+ODtemkvOS4vOS5hui3puWPpg==','wqtVGw9u','AcKGw4TCh8Oe','w5PCrFVWDg==','MsO8w7jCiMKJ','woh7Ez7Cuw==','w7obw4HDl8Kk','CsOCw5JASg==','w5bCpjDDqw==','FA05esKwA8OzCQ==','w5k+w7fDtcKF','PyPDtsKA','w6cZw63Cvl0=','w4jDkDXCvSs=','w6rCusKowpVY','NDrDoMKzw5s=','X8KHw4LDils=','woQMZcOBwpw=','wpjDsUc6Jg==','w4HCrC3DrMK3O8K9wrsTwoPDgA==','wq5BCMOWwrw=','wrPDtTHCiyw=','wqvDshDDsHTDqA/DjUHDlMO8woDDksKBbcKU','wpZhHQdp','NioEQ8KP','wrw+w6LDtgw=','w6bCrivDmcKL','wrPCmcKVw55i','w4/CpjDDrMKiLsKt','w5jCiSjDisK6','w7orw5XCgXY=','ZcKSw6DDqXE=','F8Obw4ZNaw==','wqAIZnBq','w6DCogDDmcKQ','Y8O+bcKbAA==','wqAbw4rDiwY=','F8K/w68pw7k=','w5HDqxkLXg==','w5tgwrrDtsKW','DcKMUh7Cig==','T8KTwpnDv1c=','w7kaw5DDk8K6','w6vCj8OKL8KT','bsK9w55mw4k=','w5PCp3hrAQ==','FMKtUsO/w7w=','w59lwonDncK9B8Ocw5XDlm7DjlnDv8Oy','woZZSQoE','VU1bwq/CiA==','w7nDtQEcRw==','wqDDh23DjnM=','IMKBw4pd','wonDhDPDvVk=','w4g4w4PCq1U=','wpQlw4XDjDM=','T8OQecKDNQ==','w51MwrXDj8KT','w64Ew7HDqMKr','wr1CDCZ9','wrMYNhoL','w43DrMODXS4=','LcKQw5jCmsOC','w6HCv0BMHw==','wrpZQSYE','worDomHDkG0=','wrnCmEQowrc=','w6PDl8O3','w5/Ds8OdZRg=','wpM8w7rDohA=','wo0JS8O2wp8=','asKuw6HDt0w=','w6oCw4TCpmA=','w4pNRsKJw6HDjVUiw4spw4k=','wosIa2lNwrAMJ8KfQHI=','AsOjw6TCpMKW','ZCAIICFi','TGB5wpzClw==','wq7DtjDDtkg=','wqTChMKpw7F0','TsKSwrfDr3I=','IcKYw5dI','wqTDiz7Cigg=','dcKbwrLDgA==','wqrDoBzDilM=','wrohw6l5KA==','woorbsK/w4M=','w5F+wpbDpMKS','wqlcFA==','EsKKfDbCkg==','woDDigvCojE=','wqc1KsOBwp0=','wpUzWMOrwp0=','UCUjHiI=','wokoYcOcwqU=','MzA2XMKN','wpwgWcOpwoA=','P8K8w6UIw6k=','wr5mICtx','6KyP5YS06YWH572z546H5aG85Y626YaCwpVUaMOrWcKWw7Lvv53vv70=','w73DoMOqfgE=','woETw4NrB8KBFg==','w73CglpfLA==','Ay7Dh8KQw6s=','AjoVRsKw','w7Mow7rDisKW','w77Cm3FEEw==','wqhTFsOm','LcKJw44qw6A=','bsK9w4pqw60=','NMKzZh3CpA==','w5bDpz7CpRs=','dU4ew5XChA==','GAwuccKy','w7nDqgQATw==','fsKaw6Bpw7g=','wrjDgcOeccOeKkUtPsK3w5zDk8KlaMOc','MMKTaRon','DsOew6xiSQ==','C8K5RB/ChA==','Z8KVwqTDinA=','O8OKZMKpPA==','w7nCrEluOA==','O8K5YgXCkw==','LQ/DtMKTw7E=','w7ZGwqs=','cgYhDjo=','wq7DhwXCjC0=','M8OUVsKzIg==','wpDDucOxZ8OY','wpXDqWfDi1k=','FcKLUSXCtg==','PsOdFMKww4Q=','w7HCq2dE','F8Kfw5nCn8Oaw5I=','wo/DiFHDsmA=','TMOrZMKXDQ==','w6fDlzErbg==','w4rDpicQWQ==','W8KQw4Vhw7I=','wr4HJsOBwrk=','w7bDoyTChT8=','wr5rTTI0','wq5ucQA=','w4HCsg3DusKL','w4TDi8OGRh8=','wp/CpEIawr4=','w57DrcOAZxs=','wqTDgU/DgEA=','wqIFw6jDgTg=','N8Kow6Ecw4M=','w7HCsFBLIw==',
// prettier-ignore
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: `http://${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.d