├── README.md ├── ql.js ├── ele_ttcj.js ├── notify.py ├── ele_tjcs.js ├── ele_femf.js ├── sendNotify.js ├── chd.js └── ele_check_coupon.js /README.md: -------------------------------------------------------------------------------- 1 | # Salted-fish-elm1200 2 | 来自于咸鱼饿了么1200全套 3 | -------------------------------------------------------------------------------- /ql.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const got = require('got'); 4 | require('dotenv').config(); 5 | const { readFile } = require('fs/promises'); 6 | const path = require('path'); 7 | 8 | const qlDir = '/ql'; 9 | const fs = require('fs'); 10 | let Fileexists = fs.existsSync('/ql/data/config/auth.json'); 11 | let authFile=""; 12 | if (Fileexists) 13 | authFile="/ql/data/config/auth.json" 14 | else 15 | authFile="/ql/config/auth.json" 16 | //const authFile = path.join(qlDir, 'config/auth.json'); 17 | 18 | const api = got.extend({ 19 | prefixUrl: 'http://127.0.0.1:5600', 20 | retry: { limit: 0 }, 21 | }); 22 | 23 | async function getToken() { 24 | const authConfig = JSON.parse(await readFile(authFile)); 25 | return authConfig.token; 26 | } 27 | 28 | module.exports.getEnvs = async (envName='elmck') => { 29 | const token = await getToken(); 30 | const body = await api({ 31 | url: 'api/envs', 32 | searchParams: { 33 | searchValue: envName, 34 | t: Date.now(), 35 | }, 36 | headers: { 37 | Accept: 'application/json', 38 | authorization: `Bearer ${token}`, 39 | }, 40 | }).json(); 41 | return body.data; 42 | }; 43 | 44 | async function getEnvsByName(name){ 45 | const token = await getToken(); 46 | const body = await api({ 47 | url: 'api/envs', 48 | searchParams: { 49 | searchValue: name, 50 | t: Date.now(), 51 | }, 52 | headers: { 53 | Accept: 'application/json', 54 | authorization: `Bearer ${token}`, 55 | }, 56 | }).json(); 57 | return body.data; 58 | } 59 | 60 | module.exports.getEnvsByName = getEnvsByName 61 | 62 | module.exports.getEnvsCount = async () => { 63 | const data = await this.getEnvs(); 64 | return data.length; 65 | }; 66 | 67 | module.exports.addEnv = async (cookie, remarks) => { 68 | const token = await getToken(); 69 | const body = await api({ 70 | method: 'post', 71 | url: 'api/envs', 72 | params: { t: Date.now() }, 73 | json: [{ 74 | name: 'elmck', 75 | value: cookie, 76 | remarks, 77 | }], 78 | headers: { 79 | Accept: 'application/json', 80 | authorization: `Bearer ${token}`, 81 | 'Content-Type': 'application/json;charset=UTF-8', 82 | }, 83 | }).json(); 84 | return body; 85 | }; 86 | 87 | module.exports.updateEnv = async (cookie, eid, remarks,envName='elmck') => { 88 | const token = await getToken(); 89 | const body = await api({ 90 | method: 'put', 91 | url: 'api/envs', 92 | params: { t: Date.now() }, 93 | json: { 94 | name: envName, 95 | value: cookie, 96 | _id: eid, 97 | remarks, 98 | }, 99 | headers: { 100 | Accept: 'application/json', 101 | authorization: `Bearer ${token}`, 102 | 'Content-Type': 'application/json;charset=UTF-8', 103 | }, 104 | }).json(); 105 | return body; 106 | }; 107 | 108 | module.exports.updateEnv11 = async (cookie, eid, remarks,envName='elmck') => { 109 | const token = await getToken(); 110 | const body = await api({ 111 | method: 'put', 112 | url: 'api/envs', 113 | params: { t: Date.now() }, 114 | json: { 115 | name: envName, 116 | value: cookie, 117 | id: eid, 118 | remarks, 119 | }, 120 | headers: { 121 | Accept: 'application/json', 122 | authorization: `Bearer ${token}`, 123 | 'Content-Type': 'application/json;charset=UTF-8', 124 | }, 125 | }).json(); 126 | return body; 127 | }; 128 | 129 | module.exports.DisableCk = async (eid) => { 130 | const token = await getToken(); 131 | const body = await api({ 132 | method: 'put', 133 | url: 'api/envs/disable', 134 | params: { t: Date.now() }, 135 | body: JSON.stringify([eid]), 136 | headers: { 137 | Accept: 'application/json', 138 | authorization: `Bearer ${token}`, 139 | 'Content-Type': 'application/json;charset=UTF-8', 140 | }, 141 | }).json(); 142 | return body; 143 | }; 144 | 145 | module.exports.EnableCk = async (eid) => { 146 | const token = await getToken(); 147 | const body = await api({ 148 | method: 'put', 149 | url: 'api/envs/enable', 150 | params: { t: Date.now() }, 151 | body: JSON.stringify([eid]), 152 | headers: { 153 | Accept: 'application/json', 154 | authorization: `Bearer ${token}`, 155 | 'Content-Type': 'application/json;charset=UTF-8', 156 | }, 157 | }).json(); 158 | return body; 159 | }; 160 | 161 | module.exports.getstatus = async(eid) => { 162 | var envs = await getEnvsByName('elmck'); 163 | var tempid = 0; 164 | for (let i = 0; i < envs.length; i++) { 165 | tempid = 0; 166 | if (envs[i]._id) { 167 | tempid = envs[i]._id; 168 | } 169 | if (envs[i].id) { 170 | tempid = envs[i].id; 171 | } 172 | if (tempid == eid) { 173 | return envs[i].status; 174 | } 175 | } 176 | return 99; 177 | }; 178 | 179 | module.exports.getEnvById = async(eid) => { 180 | const envs = await this.getEnvs(); 181 | var tempid = 0; 182 | for (let i = 0; i < envs.length; i++) { 183 | tempid = 0; 184 | if (envs[i]._id) { 185 | tempid = envs[i]._id; 186 | } 187 | if (envs[i].id) { 188 | tempid = envs[i].id; 189 | } 190 | if (tempid == eid) { 191 | return envs[i].value; 192 | } 193 | } 194 | return ""; 195 | }; 196 | 197 | module.exports.getEnvByUserId = async (userId) => { 198 | const envs = await this.getEnvs('elmqqck'); 199 | 200 | for (let i = 0; i < envs.length; i++) { 201 | let ck = envs[i].value 202 | const user_id = ck.match(/USERID=([^; ]+)(?=;?)/) ? ck.match(/USERID=([^; ]+)(?=;?)/)[0] : '123'; 203 | 204 | if (user_id.indexOf(userId)!==-1) { 205 | return envs[i] 206 | } 207 | } 208 | return ""; 209 | }; 210 | 211 | module.exports.delEnv = async (eid) => { 212 | const token = await getToken(); 213 | const body = await api({ 214 | method: 'delete', 215 | url: 'api/envs', 216 | params: { t: Date.now() }, 217 | body: JSON.stringify([eid]), 218 | headers: { 219 | Accept: 'application/json', 220 | authorization: `Bearer ${token}`, 221 | 'Content-Type':'application/json;charset=UTF-8', 222 | }, 223 | }).json(); 224 | return body; 225 | }; 226 | -------------------------------------------------------------------------------- /ele_ttcj.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 测试-增加进度显示 3 | * 卡密变量:ELE_TTCJ_CARME 填自己购买的卡密。 4 | * 需要设置环境变量 ownCookie 这个是需要助力账号的 cookie。 5 | */ 6 | const { 7 | 'sign': sign, 8 | 'getToken': getToken, 9 | 'wait': wait, 10 | 'checkCk': checkCk, 11 | 'getCookies': getCookies, 12 | 'getUserInfo': getUserInfo, 13 | 'tryCatchPromise': tryCatchPromise, 14 | 'checkMasterCk': checkMasterCk 15 | } = require("./common.js"); 16 | 17 | const request = require("request"), 18 | https = require("https"), 19 | cheerio = require('cheerio'); 20 | 21 | let CookieEles = []; 22 | const kami = process["env"]["ELE_TTCJ_CARME"], 23 | carmiType = 4; 24 | let count_num=0 25 | 26 | async function getCoordinates() { 27 | return new Promise((_0x813bfd, _0x2ac624) => { 28 | https["get"]("https://zh-hans.ipshu.com/my_info", _0x4d31ba => { 29 | let _0x33a9bb = ''; 30 | 31 | _0x4d31ba['on']("data", _0x2406e4 => { 32 | _0x33a9bb += _0x2406e4; 33 | }); 34 | 35 | _0x4d31ba['on']("end", () => { 36 | const _0x149ccd = cheerio['load'](_0x33a9bb), 37 | _0x212588 = _0x149ccd(".widget_box.p-xs.small"), 38 | _0x4dd909 = _0x212588["find"]('li')['eq'](4)["text"]()["trim"]()['split'](':')[1], 39 | _0x47ab2d = _0x212588["find"]('li')['eq'](5)["text"]()["trim"]()["split"](':')[1], 40 | _0x1fb96c = { 41 | "latitude": _0x4dd909, 42 | 'longitude': _0x47ab2d 43 | }; 44 | 45 | _0x813bfd(_0x1fb96c); 46 | }); 47 | }); 48 | }); 49 | } 50 | 51 | async function commonRequest(_0x58da2c, _0x339772, _0x583ff1) { 52 | const _0x1fb7c8 = { 53 | "authority": "shopping.ele.me", 54 | 'accept': "application/json", 55 | "cache-control": "no-cache", 56 | "content-type": "application/x-www-form-urlencoded", 57 | 'cookie': _0x58da2c, 58 | "x-miniapp-id-taobao": "2021002148648263", 59 | "x-miniapp-version": "3.20230627.141210", 60 | 'appid': "2021002148648263" 61 | }; 62 | 63 | const _0x46776b = new Date()["getTime"](), 64 | _0x520319 = 12574478; 65 | 66 | var _0x5db75e = "data=" + encodeURIComponent(JSON["stringify"](_0x583ff1)); 67 | 68 | const _0x3f666e = getToken(_0x58da2c), 69 | _0x20490f = _0x3f666e["split"]('_')[0], 70 | _0x165d57 = await sign(_0x20490f + '&' + _0x46776b + '&' + _0x520319 + '&' + JSON["stringify"](_0x583ff1), kami, carmiType), 71 | _0xaa0b27 = { 72 | 'url': "https://shopping.ele.me/h5/mtop.alsc.growth.tangram.gateway/1.0/?jsv=2.6.1&appKey=12574478&asac=" + _0x339772 + "&ttid=1601274958480%40eleme_android_10.14.3&t=" + _0x46776b + "&sign=" + _0x165d57 + "&api=mtop.alsc.growth.tangram.gateway", 73 | 'method': "POST", 74 | 'headers': _0x1fb7c8, 75 | 'body': _0x5db75e 76 | }; 77 | 78 | return tryCatchPromise(_0x3df110 => { 79 | request(_0xaa0b27, async (_0x13f362, _0x41bfd9, _0x550cbe) => { 80 | if (!_0x13f362 && _0x41bfd9["statusCode"] == 200) { 81 | try { 82 | const _0x429e6a = JSON["parse"](_0x550cbe); 83 | 84 | _0x3df110(_0x429e6a); 85 | } catch (_0x36fe09) { 86 | console["log"](_0x36fe09); 87 | 88 | _0x3df110(null); 89 | } 90 | } else { 91 | _0x3df110(null); 92 | } 93 | }); 94 | }); 95 | } 96 | 97 | function processUrl(_0xedab75) { 98 | const _0x470318 = new Map(); 99 | 100 | const _0x524766 = _0xedab75["split"]('?')[1]["split"]('&'); 101 | 102 | for (let _0x476483 = 0; _0x476483 < _0x524766["length"]; _0x476483++) { 103 | const [_0x946150, _0x207453] = _0x524766[_0x476483]["split"]('='); 104 | 105 | _0x470318["set"](_0x946150, _0x207453); 106 | } 107 | 108 | return _0x470318; 109 | } 110 | 111 | async function getShareId(_0x2572fb, _0x2e1e63, _0xd46322) { 112 | _0x2572fb = await checkMasterCk(_0x2572fb, kami, carmiType); 113 | !_0x2572fb && (console["log"]("需要助力的账号失效!请重新登录!!!"), process["exit"](0)); 114 | 115 | var _0x39b939; 116 | 117 | const _0x13f964 = { 118 | 'api': "fissionDrawShare", 119 | 'asac': "2A22C21KPW8PSOH8QMD4LM", 120 | 'bizScene': "growth_fission_coupon", 121 | 'instance': "INNER", 122 | 'params': "{\"latitude\":\"" + _0xd46322 + "\",\"longitude\":\"" + _0x2e1e63 + "\",\"cityId\":\"\"}", 123 | 'scene': "fissionDraw001" 124 | }, 125 | _0x5f2c64 = await commonRequest(_0x2572fb, "2A22C21KPW8PSOH8QMD4LM", _0x13f964); 126 | 127 | if (_0x5f2c64["data"] && _0x5f2c64["data"]["result"]) { 128 | const _0x578798 = _0x5f2c64["data"]["result"]; 129 | _0x39b939 = processUrl(_0x578798["url"])["get"]('shareId'); 130 | console['log']("获取到的助力 id 为", _0x39b939); 131 | return _0x39b939; 132 | } else { 133 | console["log"]("获取到助力 id 失败,程序退出"); 134 | process["exit"](0); 135 | } 136 | } 137 | 138 | async function jindu(_0x4b1643, _0x5bad07, _0x236d3a, _0x3f1a5a) { 139 | _0x4b1643 = await checkMasterCk(_0x4b1643, kami, carmiType); 140 | !_0x4b1643 && (console["log"]("需要助力的账号失效!请重新登录!!!"), process["exit"](0)); 141 | 142 | const _0x5e5682 = { 143 | 'api': "fissionDrawHomePage", 144 | 'asac': "2A22C216PW8PSO7H6J9G63", 145 | 'bizScene': "growth_fission_coupon", 146 | 'instance': "INNER", 147 | 'params': "{\"latitude\":\"" + _0x236d3a + "\",\"longitude\":\"" + _0x5bad07 + "\",\"cityId\":\"\",\"shareId\":\"" + _0x3f1a5a + "\"}", 148 | 'scene': "fissionDraw001" 149 | }, 150 | _0x17b2e0 = await commonRequest(_0x4b1643, "2A22C216PW8PSO7H6J9G63", _0x5e5682); 151 | 152 | if (_0x17b2e0["data"] && _0x17b2e0["data"]["result"]) { 153 | let _0x2674d9 = _0x17b2e0["data"]["result"]["fixedPrize"]; 154 | console["log"](_0x2674d9["title"], _0x2674d9["reduction"], _0x2674d9["threshold"], "当前进度:【" + _0x2674d9["amount"]+"】"); 155 | Number(_0x2674d9['amount']) >= Number(_0x2674d9["maxAmount"]) && (console["log"]("🎉🎉 任务完成,已获得", _0x2674d9["reduction"], _0x2674d9["threshold"]), process["exit"](0)); 156 | } 157 | } 158 | 159 | async function fridensHelper(index,_0x100366, _0x33fd64, _0x5bef69, _0x28211e, _0xe77133) { 160 | try { 161 | _0x33fd64 = await checkMasterCk(_0x33fd64, kami, carmiType); 162 | 163 | const _0x52038f = { 164 | 'api': "support", 165 | 'bizScene': "growth_fission_coupon", 166 | 'instance': "INNER", 167 | 'params': "{\"latitude\":\"" + _0xe77133 + "\",\"longitude\":\"" + _0x28211e + "\",\"cityId\":\"\",\"shareId\":\"" + _0x5bef69 + "\"}", 168 | 'scene': "fissionDraw001" 169 | }, 170 | _0x2060c8 = await commonRequest(_0x100366, "2A22C21RPW8PSOJ9OFOQGY", _0x52038f); 171 | 172 | if (_0x2060c8['data'] && _0x2060c8["data"]["result"]) { 173 | const _0x9fffaf = _0x2060c8["data"]["result"]; 174 | console["log"]("第【"+index+"】个号"+_0x9fffaf["title"] + ':' + _0x9fffaf["subTitle"]); 175 | 176 | if (_0x9fffaf["title"]["indexOf"]("无法助力") !== -1) { 177 | console["log"]("防止黑号延时1-3秒"); 178 | await wait(getRandom(1, 3)); 179 | } else { 180 | if (_0x9fffaf["title"]["indexOf"]("谢谢你为我助力") !== -1) { 181 | const _0x47a9b4 = { 182 | 'api': "drawAction", 183 | 'asac': "2A22C21FPW8PSO7U202V54", 184 | 'bizScene': "growth_fission_coupon", 185 | 'instance': "INNER", 186 | 'params': "{\"latitude\":\"" + _0xe77133 + "\",\"longitude\":\"" + _0x28211e + "\",\"cityId\":\"\"}", 187 | 'scene': "fissionDraw001" 188 | }, 189 | _0x3eaef6 = await commonRequest(_0x33fd64, "2A22C21FPW8PSO7U202V54", _0x47a9b4); 190 | 191 | if (_0x3eaef6["data"] && _0x3eaef6["data"]["result"]) { 192 | const _0x3970f8 = _0x3eaef6["data"]["result"], 193 | _0x1ad23f = _0x3970f8["popWindow"]["content"][0]["amount"]; 194 | console["log"](_0x3970f8["popWindow"]["title"] + ':' + _0x1ad23f); 195 | 196 | if (_0x3eaef6["data"]["success"]) { 197 | const _0x24e52b = { 198 | 'api': "withdrawAction", 199 | 'bizScene': "growth_fission_coupon", 200 | 'instance': "INNER", 201 | 'params': "{\"latitude\":\"" + _0xe77133 + "\",\"longitude\":\"" + _0x28211e + "\",\"cityId\":\"\",\"amount\":\"" + _0x1ad23f + "\"}", 202 | 'scene': "fissionDraw001" 203 | }, 204 | _0x275336 = await commonRequest(_0x33fd64, '', _0x24e52b); 205 | 206 | if (_0x275336["data"] && _0x275336["data"]['result']) { 207 | const _0x2214c6 = _0x275336["data"]["result"]; 208 | console["log"](_0x2214c6["popWindow"]["title"] + ':金额', _0x2214c6["popWindow"]["content"][0]["amount"]); 209 | 210 | let amount = parseFloat(_0x2214c6["popWindow"]["content"][0]["amount"]); // 转换为浮点数 211 | count_num += amount; // 累加到总额 212 | console.log("本次运行总现金:【" + count_num.toFixed(2)+"】"); // 输出保留两位小数的总额 213 | 214 | 215 | console["log"](_0x2214c6["popWindow"]['content'][0]["step2"]); 216 | await jindu(_0x33fd64, _0x28211e, _0xe77133, _0x5bef69); 217 | } else { 218 | console["log"]("提现:" + _0x3eaef6["ret"][0]); 219 | } 220 | } else { 221 | console["log"]("抽奖:" + _0x3eaef6["ret"][0]); 222 | } 223 | } else { 224 | console["log"]("抽奖:" + _0x3eaef6["ret"][0]); 225 | } 226 | 227 | console["log"]("防止黑号延时5-10秒"); 228 | await wait(getRandom(5, 10)); 229 | } 230 | } 231 | } else { 232 | console['log']("助力:" + drawRes["ret"][0]); 233 | } 234 | } catch (_0xd3d10c) {} 235 | } 236 | 237 | (async function () { 238 | const _0x319386 = process["env"]["ownCookie"]; 239 | !_0x319386 && (console["log"]("未设置需助力的 ck,程序结束!"), process["exit"](0)); 240 | CookieEles = getCookies(); 241 | 242 | const _0x560964 = await getCoordinates(), 243 | _0x5d3e42 = await getShareId(_0x319386, _0x560964["longitude"], _0x560964["latitude"]); 244 | 245 | for (let _0x3afecd = 0; _0x3afecd < CookieEles["length"]; _0x3afecd++) { 246 | let _0x3ba257 = CookieEles[_0x3afecd]; 247 | _0x3ba257 = await checkCk(_0x3ba257, _0x3afecd, kami, carmiType); 248 | 249 | if (!_0x3ba257) { 250 | continue; 251 | } 252 | 253 | let _0x31e014 = await getUserInfo(_0x3ba257); 254 | 255 | if (!_0x31e014["username"]) { 256 | console["log"]('第【', _0x3afecd + 1, "】账号失效!请重新登录!!!😭"); 257 | continue; 258 | } 259 | 260 | await fridensHelper(_0x3afecd+1,_0x3ba257, _0x319386, _0x5d3e42, _0x560964["longitude"], _0x560964["latitude"]); 261 | } 262 | 263 | process["exit"](0); 264 | })(); 265 | 266 | function getRandom(_0x483f0c, _0x4c71e1) { 267 | return Math["floor"](Math["random"]() * (_0x4c71e1 - _0x483f0c + 1) + _0x483f0c); 268 | } -------------------------------------------------------------------------------- /notify.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # _*_ coding:utf-8 _*_ 3 | import base64 4 | import hashlib 5 | import hmac 6 | import json 7 | import os 8 | import re 9 | import threading 10 | import time 11 | import urllib.parse 12 | 13 | import requests 14 | 15 | # 原先的 print 函数和主线程的锁 16 | _print = print 17 | mutex = threading.Lock() 18 | 19 | 20 | # 定义新的 print 函数 21 | def print(text, *args, **kw): 22 | """ 23 | 使输出有序进行,不出现多线程同一时间输出导致错乱的问题。 24 | """ 25 | with mutex: 26 | _print(text, *args, **kw) 27 | 28 | 29 | # 通知服务 30 | # fmt: off 31 | push_config = { 32 | 'HITOKOTO': False, # 启用一言(随机句子) 33 | 34 | 'BARK_PUSH': '', # bark IP 或设备码,例:https://api.day.app/DxHcxxxxxRxxxxxxcm/ 35 | 'BARK_ARCHIVE': '', # bark 推送是否存档 36 | 'BARK_GROUP': '', # bark 推送分组 37 | 'BARK_SOUND': '', # bark 推送声音 38 | 39 | 'CONSOLE': True, # 控制台输出 40 | 41 | 'DD_BOT_SECRET': '', # 钉钉机器人的 DD_BOT_SECRET 42 | 'DD_BOT_TOKEN': '', # 钉钉机器人的 DD_BOT_TOKEN 43 | 44 | 'FSKEY': '', # 飞书机器人的 FSKEY 45 | 46 | 'GOBOT_URL': '', # go-cqhttp 47 | # 推送到个人QQ:http://127.0.0.1/send_private_msg 48 | # 群:http://127.0.0.1/send_group_msg 49 | 'GOBOT_QQ': '', # go-cqhttp 的推送群或用户 50 | # GOBOT_URL 设置 /send_private_msg 时填入 user_id=个人QQ 51 | # /send_group_msg 时填入 group_id=QQ群 52 | 'GOBOT_TOKEN': '', # go-cqhttp 的 access_token 53 | 54 | 'GOTIFY_URL': '', # gotify地址,如https://push.example.de:8080 55 | 'GOTIFY_TOKEN': '', # gotify的消息应用token 56 | 'GOTIFY_PRIORITY': 0, # 推送消息优先级,默认为0 57 | 58 | 'IGOT_PUSH_KEY': '', # iGot 聚合推送的 IGOT_PUSH_KEY 59 | 60 | 'PUSH_KEY': '', # server 酱的 PUSH_KEY,兼容旧版与 Turbo 版 61 | 62 | 'PUSH_PLUS_TOKEN': '', # push+ 微信推送的用户令牌 63 | 'PUSH_PLUS_USER': '', # push+ 微信推送的群组编码 64 | 65 | 'QMSG_KEY': '', # qmsg 酱的 QMSG_KEY 66 | 'QMSG_TYPE': '', # qmsg 酱的 QMSG_TYPE 67 | 68 | 'QYWX_AM': '', # 企业微信应用 69 | 70 | 'QYWX_KEY': '', # 企业微信机器人 71 | 72 | 'TG_BOT_TOKEN': '', # tg 机器人的 TG_BOT_TOKEN,例:1407203283:AAG9rt-6RDaaX0HBLZQq0laNOh898iFYaRQ 73 | 'TG_USER_ID': '', # tg 机器人的 TG_USER_ID,例:1434078534 74 | 'TG_API_HOST': '', # tg 代理 api 75 | 'TG_PROXY_AUTH': '', # tg 代理认证参数 76 | 'TG_PROXY_HOST': '', # tg 机器人的 TG_PROXY_HOST 77 | 'TG_PROXY_PORT': '', # tg 机器人的 TG_PROXY_PORT 78 | } 79 | notify_function = [] 80 | # fmt: on 81 | 82 | # 首先读取 面板变量 或者 github action 运行变量 83 | for k in push_config: 84 | if os.getenv(k): 85 | v = os.getenv(k) 86 | push_config[k] = v 87 | 88 | 89 | def bark(title: str, content: str) -> None: 90 | """ 91 | 使用 bark 推送消息。 92 | """ 93 | if not push_config.get("BARK_PUSH"): 94 | print("bark 服务的 BARK_PUSH 未设置!!\n取消推送") 95 | return 96 | print("bark 服务启动") 97 | 98 | if push_config.get("BARK_PUSH").startswith("http"): 99 | url = f'{push_config.get("BARK_PUSH")}/{urllib.parse.quote_plus(title)}/{urllib.parse.quote_plus(content)}' 100 | else: 101 | url = f'https://api.day.app/{push_config.get("BARK_PUSH")}/{urllib.parse.quote_plus(title)}/{urllib.parse.quote_plus(content)}' 102 | 103 | bark_params = { 104 | "BARK_ARCHIVE": "isArchive", 105 | "BARK_GROUP": "group", 106 | "BARK_SOUND": "sound", 107 | } 108 | params = "" 109 | for pair in filter( 110 | lambda pairs: pairs[0].startswith("BARK_") 111 | and pairs[0] != "BARK_PUSH" 112 | and pairs[1] 113 | and bark_params.get(pairs[0]), 114 | push_config.items(), 115 | ): 116 | params += f"{bark_params.get(pair[0])}={pair[1]}&" 117 | if params: 118 | url = url + "?" + params.rstrip("&") 119 | response = requests.get(url).json() 120 | 121 | if response["code"] == 200: 122 | print("bark 推送成功!") 123 | else: 124 | print("bark 推送失败!") 125 | 126 | 127 | def console(title: str, content: str) -> None: 128 | """ 129 | 使用 控制台 推送消息。 130 | """ 131 | print(f"{title}\n\n{content}") 132 | 133 | 134 | def dingding_bot(title: str, content: str) -> None: 135 | """ 136 | 使用 钉钉机器人 推送消息。 137 | """ 138 | if not push_config.get("DD_BOT_SECRET") or not push_config.get("DD_BOT_TOKEN"): 139 | print("钉钉机器人 服务的 DD_BOT_SECRET 或者 DD_BOT_TOKEN 未设置!!\n取消推送") 140 | return 141 | print("钉钉机器人 服务启动") 142 | 143 | timestamp = str(round(time.time() * 1000)) 144 | secret_enc = push_config.get("DD_BOT_SECRET").encode("utf-8") 145 | string_to_sign = "{}\n{}".format(timestamp, push_config.get("DD_BOT_SECRET")) 146 | string_to_sign_enc = string_to_sign.encode("utf-8") 147 | hmac_code = hmac.new( 148 | secret_enc, string_to_sign_enc, digestmod=hashlib.sha256 149 | ).digest() 150 | sign = urllib.parse.quote_plus(base64.b64encode(hmac_code)) 151 | url = f'https://oapi.dingtalk.com/robot/send?access_token={push_config.get("DD_BOT_TOKEN")}×tamp={timestamp}&sign={sign}' 152 | headers = {"Content-Type": "application/json;charset=utf-8"} 153 | data = {"msgtype": "text", "text": {"content": f"{title}\n\n{content}"}} 154 | response = requests.post( 155 | url=url, data=json.dumps(data), headers=headers, timeout=15 156 | ).json() 157 | 158 | if not response["errcode"]: 159 | print("钉钉机器人 推送成功!") 160 | else: 161 | print("钉钉机器人 推送失败!") 162 | 163 | 164 | def feishu_bot(title: str, content: str) -> None: 165 | """ 166 | 使用 飞书机器人 推送消息。 167 | """ 168 | if not push_config.get("FSKEY"): 169 | print("飞书 服务的 FSKEY 未设置!!\n取消推送") 170 | return 171 | print("飞书 服务启动") 172 | 173 | url = f'https://open.feishu.cn/open-apis/bot/v2/hook/{push_config.get("FSKEY")}' 174 | data = {"msg_type": "text", "content": {"text": f"{title}\n\n{content}"}} 175 | response = requests.post(url, data=json.dumps(data)).json() 176 | 177 | if response.get("StatusCode") == 0: 178 | print("飞书 推送成功!") 179 | else: 180 | print("飞书 推送失败!错误信息如下:\n", response) 181 | 182 | 183 | def go_cqhttp(title: str, content: str) -> None: 184 | """ 185 | 使用 go_cqhttp 推送消息。 186 | """ 187 | if not push_config.get("GOBOT_URL") or not push_config.get("GOBOT_QQ"): 188 | print("go-cqhttp 服务的 GOBOT_URL 或 GOBOT_QQ 未设置!!\n取消推送") 189 | return 190 | print("go-cqhttp 服务启动") 191 | 192 | url = f'{push_config.get("GOBOT_URL")}?access_token={push_config.get("GOBOT_TOKEN")}&{push_config.get("GOBOT_QQ")}&message=标题:{title}\n内容:{content}' 193 | response = requests.get(url).json() 194 | 195 | if response["status"] == "ok": 196 | print("go-cqhttp 推送成功!") 197 | else: 198 | print("go-cqhttp 推送失败!") 199 | 200 | 201 | def gotify(title:str,content:str) -> None: 202 | """ 203 | 使用 gotify 推送消息。 204 | """ 205 | if not push_config.get("GOTIFY_URL") or not push_config.get("GOTIFY_TOKEN"): 206 | print("gotify 服务的 GOTIFY_URL 或 GOTIFY_TOKEN 未设置!!\n取消推送") 207 | return 208 | print("gotify 服务启动") 209 | 210 | url = f'{push_config.get("GOTIFY_URL")}/message?token={push_config.get("GOTIFY_TOKEN")}' 211 | data = {"title": title,"message": content,"priority": push_config.get("GOTIFY_PRIORITY")} 212 | response = requests.post(url,data=data).json() 213 | 214 | if response.get("id"): 215 | print("gotify 推送成功!") 216 | else: 217 | print("gotify 推送失败!") 218 | 219 | 220 | def iGot(title: str, content: str) -> None: 221 | """ 222 | 使用 iGot 推送消息。 223 | """ 224 | if not push_config.get("IGOT_PUSH_KEY"): 225 | print("iGot 服务的 IGOT_PUSH_KEY 未设置!!\n取消推送") 226 | return 227 | print("iGot 服务启动") 228 | 229 | url = f'https://push.hellyw.com/{push_config.get("IGOT_PUSH_KEY")}' 230 | data = {"title": title, "content": content} 231 | headers = {"Content-Type": "application/x-www-form-urlencoded"} 232 | response = requests.post(url, data=data, headers=headers).json() 233 | 234 | if response["ret"] == 0: 235 | print("iGot 推送成功!") 236 | else: 237 | print(f'iGot 推送失败!{response["errMsg"]}') 238 | 239 | 240 | def serverJ(title: str, content: str) -> None: 241 | """ 242 | 通过 serverJ 推送消息。 243 | """ 244 | if not push_config.get("PUSH_KEY"): 245 | print("serverJ 服务的 PUSH_KEY 未设置!!\n取消推送") 246 | return 247 | print("serverJ 服务启动") 248 | 249 | data = {"text": title, "desp": content.replace("\n", "\n\n")} 250 | if push_config.get("PUSH_KEY").index("SCT") != -1: 251 | url = f'https://sctapi.ftqq.com/{push_config.get("PUSH_KEY")}.send' 252 | else: 253 | url = f'https://sc.ftqq.com/${push_config.get("PUSH_KEY")}.send' 254 | response = requests.post(url, data=data).json() 255 | 256 | if response.get("errno") == 0 or response.get("code") == 0: 257 | print("serverJ 推送成功!") 258 | else: 259 | print(f'serverJ 推送失败!错误码:{response["message"]}') 260 | 261 | 262 | def pushplus_bot(title: str, content: str) -> None: 263 | """ 264 | 通过 push+ 推送消息。 265 | """ 266 | if not push_config.get("PUSH_PLUS_TOKEN"): 267 | print("PUSHPLUS 服务的 PUSH_PLUS_TOKEN 未设置!!\n取消推送") 268 | return 269 | print("PUSHPLUS 服务启动") 270 | 271 | url = "http://www.pushplus.plus/send" 272 | data = { 273 | "token": push_config.get("PUSH_PLUS_TOKEN"), 274 | "title": title, 275 | "content": content, 276 | "topic": push_config.get("PUSH_PLUS_USER"), 277 | } 278 | body = json.dumps(data).encode(encoding="utf-8") 279 | headers = {"Content-Type": "application/json"} 280 | response = requests.post(url=url, data=body, headers=headers).json() 281 | 282 | if response["code"] == 200: 283 | print("PUSHPLUS 推送成功!") 284 | 285 | else: 286 | 287 | url_old = "http://pushplus.hxtrip.com/send" 288 | headers["Accept"] = "application/json" 289 | response = requests.post(url=url_old, data=body, headers=headers).json() 290 | 291 | if response["code"] == 200: 292 | print("PUSHPLUS(hxtrip) 推送成功!") 293 | 294 | else: 295 | print("PUSHPLUS 推送失败!") 296 | 297 | 298 | def qmsg_bot(title: str, content: str) -> None: 299 | """ 300 | 使用 qmsg 推送消息。 301 | """ 302 | if not push_config.get("QMSG_KEY") or not push_config.get("QMSG_TYPE"): 303 | print("qmsg 的 QMSG_KEY 或者 QMSG_TYPE 未设置!!\n取消推送") 304 | return 305 | print("qmsg 服务启动") 306 | 307 | url = f'https://qmsg.zendee.cn/{push_config.get("QMSG_TYPE")}/{push_config.get("QMSG_KEY")}' 308 | payload = {"msg": f'{title}\n\n{content.replace("----", "-")}'.encode("utf-8")} 309 | response = requests.post(url=url, params=payload).json() 310 | 311 | if response["code"] == 0: 312 | print("qmsg 推送成功!") 313 | else: 314 | print(f'qmsg 推送失败!{response["reason"]}') 315 | 316 | 317 | def wecom_app(title: str, content: str) -> None: 318 | """ 319 | 通过 企业微信 APP 推送消息。 320 | """ 321 | if not push_config.get("QYWX_AM"): 322 | print("QYWX_AM 未设置!!\n取消推送") 323 | return 324 | QYWX_AM_AY = re.split(",", push_config.get("QYWX_AM")) 325 | if 4 < len(QYWX_AM_AY) > 5: 326 | print("QYWX_AM 设置错误!!\n取消推送") 327 | return 328 | print("企业微信 APP 服务启动") 329 | 330 | corpid = QYWX_AM_AY[0] 331 | corpsecret = QYWX_AM_AY[1] 332 | touser = QYWX_AM_AY[2] 333 | agentid = QYWX_AM_AY[3] 334 | try: 335 | media_id = QYWX_AM_AY[4] 336 | except IndexError: 337 | media_id = "" 338 | wx = WeCom(corpid, corpsecret, agentid) 339 | # 如果没有配置 media_id 默认就以 text 方式发送 340 | if not media_id: 341 | message = title + "\n\n" + content 342 | response = wx.send_text(message, touser) 343 | else: 344 | response = wx.send_mpnews(title, content, media_id, touser) 345 | 346 | if response == "ok": 347 | print("企业微信推送成功!") 348 | else: 349 | print("企业微信推送失败!错误信息如下:\n", response) 350 | 351 | 352 | class WeCom: 353 | def __init__(self, corpid, corpsecret, agentid): 354 | self.CORPID = corpid 355 | self.CORPSECRET = corpsecret 356 | self.AGENTID = agentid 357 | 358 | def get_access_token(self): 359 | url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken" 360 | values = { 361 | "corpid": self.CORPID, 362 | "corpsecret": self.CORPSECRET, 363 | } 364 | req = requests.post(url, params=values) 365 | data = json.loads(req.text) 366 | return data["access_token"] 367 | 368 | def send_text(self, message, touser="@all"): 369 | send_url = ( 370 | "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" 371 | + self.get_access_token() 372 | ) 373 | send_values = { 374 | "touser": touser, 375 | "msgtype": "text", 376 | "agentid": self.AGENTID, 377 | "text": {"content": message}, 378 | "safe": "0", 379 | } 380 | send_msges = bytes(json.dumps(send_values), "utf-8") 381 | respone = requests.post(send_url, send_msges) 382 | respone = respone.json() 383 | return respone["errmsg"] 384 | 385 | def send_mpnews(self, title, message, media_id, touser="@all"): 386 | send_url = ( 387 | "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" 388 | + self.get_access_token() 389 | ) 390 | send_values = { 391 | "touser": touser, 392 | "msgtype": "mpnews", 393 | "agentid": self.AGENTID, 394 | "mpnews": { 395 | "articles": [ 396 | { 397 | "title": title, 398 | "thumb_media_id": media_id, 399 | "author": "Author", 400 | "content_source_url": "", 401 | "content": message.replace("\n", "
"), 402 | "digest": message, 403 | } 404 | ] 405 | }, 406 | } 407 | send_msges = bytes(json.dumps(send_values), "utf-8") 408 | respone = requests.post(send_url, send_msges) 409 | respone = respone.json() 410 | return respone["errmsg"] 411 | 412 | 413 | def wecom_bot(title: str, content: str) -> None: 414 | """ 415 | 通过 企业微信机器人 推送消息。 416 | """ 417 | if not push_config.get("QYWX_KEY"): 418 | print("企业微信机器人 服务的 QYWX_KEY 未设置!!\n取消推送") 419 | return 420 | print("企业微信机器人服务启动") 421 | 422 | url = f"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key={push_config.get('QYWX_KEY')}" 423 | headers = {"Content-Type": "application/json;charset=utf-8"} 424 | data = {"msgtype": "text", "text": {"content": f"{title}\n\n{content}"}} 425 | response = requests.post( 426 | url=url, data=json.dumps(data), headers=headers, timeout=15 427 | ).json() 428 | 429 | if response["errcode"] == 0: 430 | print("企业微信机器人推送成功!") 431 | else: 432 | print("企业微信机器人推送失败!") 433 | 434 | 435 | def telegram_bot(title: str, content: str) -> None: 436 | """ 437 | 使用 telegram 机器人 推送消息。 438 | """ 439 | if not push_config.get("TG_BOT_TOKEN") or not push_config.get("TG_USER_ID"): 440 | print("tg 服务的 bot_token 或者 user_id 未设置!!\n取消推送") 441 | return 442 | print("tg 服务启动") 443 | 444 | if push_config.get("TG_API_HOST"): 445 | url = f"https://{push_config.get('TG_API_HOST')}/bot{push_config.get('TG_BOT_TOKEN')}/sendMessage" 446 | else: 447 | url = ( 448 | f"https://api.telegram.org/bot{push_config.get('TG_BOT_TOKEN')}/sendMessage" 449 | ) 450 | headers = {"Content-Type": "application/x-www-form-urlencoded"} 451 | payload = { 452 | "chat_id": str(push_config.get("TG_USER_ID")), 453 | "text": f"{title}\n\n{content}", 454 | "disable_web_page_preview": "true", 455 | } 456 | proxies = None 457 | if push_config.get("TG_PROXY_HOST") and push_config.get("TG_PROXY_PORT"): 458 | if push_config.get("TG_PROXY_AUTH") is not None and "@" not in push_config.get( 459 | "TG_PROXY_HOST" 460 | ): 461 | push_config["TG_PROXY_HOST"] = ( 462 | push_config.get("TG_PROXY_AUTH") 463 | + "@" 464 | + push_config.get("TG_PROXY_HOST") 465 | ) 466 | proxyStr = "http://{}:{}".format( 467 | push_config.get("TG_PROXY_HOST"), push_config.get("TG_PROXY_PORT") 468 | ) 469 | proxies = {"http": proxyStr, "https": proxyStr} 470 | response = requests.post( 471 | url=url, headers=headers, params=payload, proxies=proxies 472 | ).json() 473 | 474 | if response["ok"]: 475 | print("tg 推送成功!") 476 | else: 477 | print("tg 推送失败!") 478 | 479 | 480 | def one() -> str: 481 | """ 482 | 获取一条一言。 483 | :return: 484 | """ 485 | url = "https://v1.hitokoto.cn/" 486 | res = requests.get(url).json() 487 | return res["hitokoto"] + " ----" + res["from"] 488 | 489 | 490 | if push_config.get("BARK_PUSH"): 491 | notify_function.append(bark) 492 | if push_config.get("CONSOLE"): 493 | notify_function.append(console) 494 | if push_config.get("DD_BOT_TOKEN") and push_config.get("DD_BOT_SECRET"): 495 | notify_function.append(dingding_bot) 496 | if push_config.get("FSKEY"): 497 | notify_function.append(feishu_bot) 498 | if push_config.get("GOBOT_URL") and push_config.get("GOBOT_QQ"): 499 | notify_function.append(go_cqhttp) 500 | if push_config.get("GOTIFY_URL") and push_config.get("GOTIFY_TOKEN"): 501 | notify_function.append(gotify) 502 | if push_config.get("IGOT_PUSH_KEY"): 503 | notify_function.append(iGot) 504 | if push_config.get("PUSH_KEY"): 505 | notify_function.append(serverJ) 506 | if push_config.get("PUSH_PLUS_TOKEN"): 507 | notify_function.append(pushplus_bot) 508 | if push_config.get("QMSG_KEY") and push_config.get("QMSG_TYPE"): 509 | notify_function.append(qmsg_bot) 510 | if push_config.get("QYWX_AM"): 511 | notify_function.append(wecom_app) 512 | if push_config.get("QYWX_KEY"): 513 | notify_function.append(wecom_bot) 514 | if push_config.get("TG_BOT_TOKEN") and push_config.get("TG_USER_ID"): 515 | notify_function.append(telegram_bot) 516 | 517 | 518 | def send(title: str, content: str) -> None: 519 | if not content: 520 | print(f"{title} 推送内容为空!") 521 | return 522 | 523 | hitokoto = push_config.get("HITOKOTO") 524 | 525 | text = one() if hitokoto else "" 526 | content += "\n\n" + text 527 | 528 | ts = [ 529 | threading.Thread(target=mode, args=(title, content), name=mode.__name__) 530 | for mode in notify_function 531 | ] 532 | [t.start() for t in ts] 533 | [t.join() for t in ts] 534 | 535 | 536 | def main(): 537 | send("title", "content") 538 | 539 | 540 | if __name__ == "__main__": 541 | main() 542 | -------------------------------------------------------------------------------- /ele_tjcs.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @平行绳 飞机频道:https://t.me/tigerorrose 3 | * 变量:elmck: 必填,账号cookie,短信登录面板项目地址:https://github.com/funaihui/eleWeb 4 | * cron 0 0 11 * * * 5 | * 2023.6.26 更新:首次发布; 6 | * 2023.7.7 更新:添加延时,增加 cookie 失效验证 7 | */ 8 | 9 | const $ = new Env('枫叶_饿了么特级厨师'); 10 | 11 | function _0x3433(){const _0x5ea3f6=['NdLtZ','bIEds','srnYy','mYssF','\x0a******\x20#','aiGJA','{\x5c\x22actId\x5c\x22:\x5c\x2220230117134129770153614517\x5c\x22,\x5c\x22bizScene\x5c\x22:\x5c\x22XIAODANGJIA\x5c\x22,\x5c\x22desc\x5c\x22:\x5c\x22玩特级厨师挑战赛\x5c\x22}','KIUBz','hgsOc','KSvAZ','USmVR','账号的\x20id\x20为','localId','*********','账号失效!请重新登录!!!😭','call','dzCUE','ret','eHcGn','140jlAcFu','fACDI','WwbAs','aQnDB','length','3113lMuiHP','1798458tlTftM','Uvwto','wSnEr','2A22C0239QW1FOL3UUQY7U','AAVLL','while\x20(true)\x20{}','input','ziBnK','pcvTR','GiCzo','rQuUV','183800RYGGfC','WnxJZ','test','userName','eynQS','./common.js','AqvCn','hxsym','discountInfo','防止挤爆了,延时\x201\x20秒','uJExt','89873AxlbYv','3524535QypRqO','gger','string','254MZxDEx','kvKuW','ELE_CARME','exit','action','amount','env','amiTZ','LScIG','180dHtZkh','dXvcs','ecABv','1630KUxwNX','chain','wnuJB','mtop.koubei.interactioncenter.platform.right.lottery','FsspV','1220752vyHYck','JlTVG','KNbVl','20230505143809276394718532','stateObject','ZqrhP','gghqW','特级厨师闯关成功。获得:','SPzTb','sQKDY','cBWZz','vmHqP','IWoeT','LYoii','log','xXBmw','mtop.ele.me','vXaTC','8rPynML','elmck','NhNZp','vntaP','AejRf','RLvTK','apply','sACij','CEsSL','ELIwQ','zLFDR','khMWK','QcTKn','init','aSAgY','lcYqe','CQAbF','data','FgJog','aZeWp','YgPlT','20230421102945045949799658','debu','values','JpiVD','kMCOE','yyLRL','PLyCL','wtrMl','DhXyR','sNccI','iSbET','NYKvg','YSlXV','ylppU','constructor','encryptMobile','lIJnd','WEEzB','xVOkh','Rysiv','qmlJn','meWLz','nrvyO','hkgib','FFCez','apniu','TZTwS','xXPEU','zGLVR','vOUjX','function\x20*\x5c(\x20*\x5c)','78lyPYgp','cBCNQ','48310dcVDgp','sendRightList','乐园币'];_0x3433=function(){return _0x5ea3f6;};return _0x3433();}const _0x17b572=_0x2aa0;(function(_0x580df0,_0x3eb94f){const _0x1b5f0d=_0x2aa0,_0x2feba7=_0x580df0();while(!![]){try{const _0x4a1c71=parseInt(_0x1b5f0d(0x1a1))/(0x2257+-0x53+-0x2203)*(parseInt(_0x1b5f0d(0x195))/(0x644+-0x1*0x2135+0x1af3))+-parseInt(_0x1b5f0d(0x17b))/(-0xf16+-0x181b+0x304*0xd)+parseInt(_0x1b5f0d(0x175))/(0x593*-0x7+0x1814+-0xef5*-0x1)*(parseInt(_0x1b5f0d(0x186))/(-0x7a6+-0x5*-0x58b+-0x1*0x140c))+-parseInt(_0x1b5f0d(0x15d))/(0x5*-0x512+0x1c3b+-0x2db)*(-parseInt(_0x1b5f0d(0x191))/(-0x187b+0x773*-0x2+-0x8*-0x4ed))+parseInt(_0x1b5f0d(0x1b8))/(-0xbd*0xd+0x16ec+-0xd4b)*(-parseInt(_0x1b5f0d(0x192))/(0x1b38+0xd13*-0x1+-0xe1c))+-parseInt(_0x1b5f0d(0x15f))/(0x1b23*-0x1+-0x1c25+0x3752)*(parseInt(_0x1b5f0d(0x17a))/(0x16*0x1ba+-0x112d+0x1*-0x14c4))+-parseInt(_0x1b5f0d(0x19e))/(0x245+-0x1*-0x695+-0x2*0x467)*(-parseInt(_0x1b5f0d(0x1a6))/(0x27*0xc2+-0x1f07*0x1+0x186));if(_0x4a1c71===_0x3eb94f)break;else _0x2feba7['push'](_0x2feba7['shift']());}catch(_0xfeeaef){_0x2feba7['push'](_0x2feba7['shift']());}}}(_0x3433,-0x11eda5+-0x1*-0xe5807+0x1*0xe6e31));function _0x2aa0(_0x5cc8a6,_0x2cd6a2){const _0x39f706=_0x3433();return _0x2aa0=function(_0x5f07bf,_0x56f864){_0x5f07bf=_0x5f07bf-(0xcb5*0x1+0x1*-0xa73+-0xfa);let _0x2ecbc5=_0x39f706[_0x5f07bf];return _0x2ecbc5;},_0x2aa0(_0x5cc8a6,_0x2cd6a2);}const {validateCarmeWithType:_0x30a8a3,commonRequest:_0x46161b,getCookies:_0x210594,getUserInfoWithX:_0x152c2f,wait:_0x1a2f0c,getCoordinates}=require(_0x17b572(0x18b)),_0x20a517=process[_0x17b572(0x19b)][_0x17b572(0x197)],_0x2bec0b=0x124f+0x3b*-0x89+0xd47;function _0x40ab69(_0x403f82){const _0x1ddfcb=_0x17b572,_0x220564={'haSOw':function(_0x51598d,_0x3806aa){return _0x51598d===_0x3806aa;}};return _0x220564['haSOw'](Object[_0x1ddfcb(0x1cf)](_0x403f82)[_0x1ddfcb(0x179)],0x1d01+-0x1*0x2545+0x844);}async function _0x154fb2(_0x4e0ae7,_0x1a1aac,_0x1037cb,_0xfadcbd){const _0x1f3076=_0x17b572,_0x1f0608={'amiTZ':function(_0x5011be,_0x44bc00){return _0x5011be(_0x44bc00);},'YSlXV':'XIAODANGJIA','KIUBz':_0x1f3076(0x1cd),'IYZBg':_0x1f3076(0x168),'ziBnK':_0x1f3076(0x17e),'MrGMm':_0x1f3076(0x1a4),'pEEHf':_0x1f3076(0x1b6),'hxsym':function(_0x3b009f,_0x4fab6c){return _0x3b009f+_0x4fab6c;},'JkIUr':_0x1f3076(0x1ad),'RHQCl':function(_0x2d86d4,_0xf58bda){return _0x2d86d4!==_0xf58bda;},'fACDI':function(_0xe6859c,_0xc99f74,_0x14ab5e,_0x2ea14c,_0x4f74d5){return _0xe6859c(_0xc99f74,_0x14ab5e,_0x2ea14c,_0x4f74d5);},'sacdn':function(_0x52bb20,_0x21bc62){return _0x52bb20!==_0x21bc62;},'vXaTC':function(_0x21512d,_0x22a89d){return _0x21512d===_0x22a89d;},'bIEds':_0x1f3076(0x177),'aRSnA':_0x1f3076(0x14f)},_0x5a2323={'bizScene':_0x1f0608[_0x1f3076(0x14a)],'actId':'20230117134129770153614517','uniqueId':'','latitude':_0x1037cb,'longitude':_0xfadcbd,'cityId':'2','bizCode':_0x1f0608['YSlXV'],'collectionId':_0x1f0608[_0x1f3076(0x169)],'componentId':_0x1f3076(0x1a9),'extParams':_0x1f0608['IYZBg'],'asac':_0x1f0608[_0x1f3076(0x182)]};let _0x3b644c=_0x1f0608['MrGMm'];try{const _0x4ec97d=await _0x46161b(_0x4e0ae7,JSON['stringify'](_0x5a2323),_0x3b644c,_0x2bec0b,_0x1f0608['pEEHf'],process[_0x1f3076(0x19b)]['x5sec']);if(_0x40ab69(_0x4ec97d[_0x1f3076(0x1c9)][_0x1f3076(0x1c9)]))return console['log'](_0x4ec97d[_0x1f3076(0x173)][-0x9db+-0x2614+-0x6d9*-0x7]),![];else{const _0x4b8af4=_0x4ec97d[_0x1f3076(0x1c9)][_0x1f3076(0x1c9)][_0x1f3076(0x160)][-0x1044+-0x21f3+0x3237][_0x1f3076(0x18e)][_0x1f3076(0x19a)];return console[_0x1f3076(0x1b4)](_0x1f0608[_0x1f3076(0x18d)](_0x1f0608['JkIUr'],_0x4b8af4),_0x1f3076(0x161)),_0x4b8af4&&_0x1f0608['RHQCl'](_0x4b8af4,-0xf5*0x3+-0x3*-0x572+-0xd76)&&await _0x1f0608[_0x1f3076(0x176)](_0x154fb2,_0x4e0ae7,_0x1a1aac,_0x1037cb,_0xfadcbd),await _0x1a2f0c(0x16de+-0x6fb*-0x4+0x1*-0x32c9),_0x1f0608['sacdn'](_0x4b8af4,0x21ba+0x1*-0x821+-0x54*0x4e);}}catch(_0x3efe31){if(_0x1f0608[_0x1f3076(0x1b7)](_0x1f0608[_0x1f3076(0x163)],_0x1f0608['aRSnA']))LIgLlk[_0x1f3076(0x19c)](_0x5af00a,-0x1aa*-0x9+-0x1*0xe5+0x203*-0x7);else return![];}}async function _0x3ca360(){const _0x10cdc4=_0x17b572,_0x2f5dba={'AqvCn':function(_0x5af7cd,_0x3ad740){return _0x5af7cd(_0x3ad740);},'LYoii':function(_0x3b50b4,_0x212657){return _0x3b50b4!==_0x212657;},'zLFDR':'function\x20*\x5c(\x20*\x5c)','aQnDB':'\x5c+\x5c+\x20*(?:[a-zA-Z_$][0-9a-zA-Z_$]*)','nrvyO':function(_0x5dc4f3,_0xd74b27){return _0x5dc4f3===_0xd74b27;},'dzCUE':_0x10cdc4(0x155),'VXwFW':function(_0x27eef5,_0x43c3d3){return _0x27eef5!==_0x43c3d3;},'PLyCL':_0x10cdc4(0x1c4),'aZeWp':_0x10cdc4(0x165),'RRRXn':'mloRt','cBWZz':'init','NhNZp':function(_0x14a451,_0x44d303){return _0x14a451+_0x44d303;},'EUoQy':_0x10cdc4(0x1a2),'iSbET':function(_0x46fdc9){return _0x46fdc9();},'aSAgY':function(_0x3344ef,_0x131f95,_0x56edb5){return _0x3344ef(_0x131f95,_0x56edb5);},'HXVxX':function(_0x5d4601,_0x3a514b){return _0x5d4601(_0x3a514b);},'NYKvg':_0x10cdc4(0x1b9),'dXvcs':function(_0x295c96,_0x30b4d3){return _0x295c96<_0x30b4d3;},'aiGJA':_0x10cdc4(0x170),'CEsSL':_0x10cdc4(0x166),'eynQS':function(_0x26ba42,_0x37a8b0){return _0x26ba42+_0x37a8b0;},'AejRf':_0x10cdc4(0x16d),'IWoeT':function(_0xc83cde,_0x3d0b98,_0x5b41e0,_0x82e28c,_0xe57944){return _0xc83cde(_0x3d0b98,_0x5b41e0,_0x82e28c,_0xe57944);},'sNccI':_0x10cdc4(0x18f)},_0x582cfd=(function(){const _0x59c481=_0x10cdc4,_0x1734f3={'rQuUV':function(_0x41f3de,_0x49f47a){const _0x34d27a=_0x2aa0;return _0x2f5dba[_0x34d27a(0x1b3)](_0x41f3de,_0x49f47a);},'Uvwto':_0x59c481(0x184),'sACij':_0x2f5dba[_0x59c481(0x1c2)],'IOOtm':_0x2f5dba[_0x59c481(0x178)],'izAmT':function(_0x1757ca,_0x59b6fa){const _0x3f3355=_0x59c481;return _0x2f5dba[_0x3f3355(0x154)](_0x1757ca,_0x59b6fa);},'cBCNQ':_0x2f5dba[_0x59c481(0x172)]};if(_0x2f5dba['VXwFW'](_0x2f5dba[_0x59c481(0x1d3)],_0x2f5dba['PLyCL'])){if(_0x502423)return _0x506421;else iXQsXk[_0x59c481(0x18c)](_0x33c3cc,0x603*-0x3+-0x2c*-0xc4+-0xfa7);}else{let _0x513e0f=!![];return function(_0x22fc64,_0x2678c7){const _0x58d2a4=_0x59c481,_0x567180={'SPzTb':function(_0x65c16,_0x31eb60){const _0x26f105=_0x2aa0;return _0x1734f3[_0x26f105(0x185)](_0x65c16,_0x31eb60);},'ELIwQ':_0x1734f3[_0x58d2a4(0x17c)],'yyLRL':_0x1734f3[_0x58d2a4(0x1bf)],'hgsOc':_0x1734f3['IOOtm'],'RJCqK':_0x58d2a4(0x1c5),'kvKuW':function(_0x49c1d4){return _0x49c1d4();}};if(_0x1734f3['izAmT'](_0x1734f3[_0x58d2a4(0x15e)],_0x1734f3['cBCNQ'])){const _0x44050f=_0x513e0f?function(){const _0x592e45=_0x58d2a4;if(_0x567180[_0x592e45(0x1ae)](_0x592e45(0x190),_0x567180[_0x592e45(0x1c1)])){if(_0x2678c7){const _0x5a82ee=_0x2678c7['apply'](_0x22fc64,arguments);return _0x2678c7=null,_0x5a82ee;}}else{const _0xa5ec2b=_0x9c0ca9?function(){const _0x359679=_0x592e45;if(_0x4bbebe){const _0x4a6b2b=_0x47ad82[_0x359679(0x1be)](_0x182648,arguments);return _0x5cc20e=null,_0x4a6b2b;}}:function(){};return _0xd167b8=![],_0xa5ec2b;}}:function(){};return _0x513e0f=![],_0x44050f;}else{const _0x1d9070={'YgPlT':keSqlO[_0x58d2a4(0x1d2)],'xXBmw':keSqlO[_0x58d2a4(0x16a)],'eBdkc':function(_0x5121e5,_0xf53bdc){return _0x5121e5(_0xf53bdc);},'JpiVD':keSqlO['RJCqK'],'zGLVR':function(_0x3b9e59,_0x1dffa1){return _0x3b9e59+_0x1dffa1;},'wtrMl':'chain','CQAbF':function(_0xa2c146,_0x206970){return _0xa2c146+_0x206970;},'xXPEU':_0x58d2a4(0x181),'Rysiv':function(_0x18ff16,_0xe3c35e){return _0x18ff16(_0xe3c35e);},'ehsYu':function(_0x573016){const _0x31ccaf=_0x58d2a4;return keSqlO[_0x31ccaf(0x196)](_0x573016);}};_0x59fe96(this,function(){const _0x5302a8=_0x58d2a4,_0x3b1205=new _0x36204c(_0x1d9070[_0x5302a8(0x1cc)]),_0xfa6faf=new _0x3a55d5(_0x1d9070[_0x5302a8(0x1b5)],'i'),_0x154292=_0x1d9070['eBdkc'](_0x154881,_0x1d9070[_0x5302a8(0x1d0)]);!_0x3b1205[_0x5302a8(0x188)](_0x1d9070[_0x5302a8(0x15a)](_0x154292,_0x1d9070[_0x5302a8(0x1d4)]))||!_0xfa6faf[_0x5302a8(0x188)](_0x1d9070[_0x5302a8(0x1c8)](_0x154292,_0x1d9070[_0x5302a8(0x159)]))?_0x1d9070[_0x5302a8(0x151)](_0x154292,'0'):_0x1d9070['ehsYu'](_0x44b581);})();}};}}());(function(){const _0x51be0f=_0x10cdc4,_0xd76d11={'LScIG':_0x2f5dba[_0x51be0f(0x1cb)],'FsspV':_0x2f5dba['RRRXn'],'moNaR':_0x2f5dba['aQnDB'],'KSvAZ':function(_0x3c2c7e,_0x2c9ee1){const _0x4580da=_0x51be0f;return _0x2f5dba[_0x4580da(0x18c)](_0x3c2c7e,_0x2c9ee1);},'DhXyR':_0x2f5dba[_0x51be0f(0x1b0)],'YPDDg':function(_0x278d92,_0x25d1cc){const _0x5b794e=_0x51be0f;return _0x2f5dba[_0x5b794e(0x1ba)](_0x278d92,_0x25d1cc);},'lcYqe':_0x2f5dba['EUoQy'],'wSnEr':_0x51be0f(0x181),'AAVLL':function(_0x38acaa){const _0x4b5bc3=_0x51be0f;return _0x2f5dba[_0x4b5bc3(0x148)](_0x38acaa);}};_0x582cfd(this,function(){const _0xc205de=_0x51be0f;if(_0xd76d11[_0xc205de(0x19d)]===_0xd76d11[_0xc205de(0x1a5)])return![];else{const _0xbb295d=new RegExp(_0xc205de(0x15c)),_0x5c16bc=new RegExp(_0xd76d11['moNaR'],'i'),_0x5bdd57=_0xd76d11[_0xc205de(0x16b)](_0x4ee99e,_0xd76d11[_0xc205de(0x1d5)]);!_0xbb295d[_0xc205de(0x188)](_0xd76d11['YPDDg'](_0x5bdd57,_0xd76d11[_0xc205de(0x1c7)]))||!_0x5c16bc[_0xc205de(0x188)](_0xd76d11['YPDDg'](_0x5bdd57,_0xd76d11[_0xc205de(0x17d)]))?_0xd76d11['KSvAZ'](_0x5bdd57,'0'):_0xd76d11[_0xc205de(0x17f)](_0x4ee99e);}})();}()),await _0x2f5dba[_0x10cdc4(0x1c6)](_0x30a8a3,_0x20a517,0x7ad+0x864*0x2+-0x1874);const _0x26db4f=_0x2f5dba['HXVxX'](_0x210594,_0x2f5dba[_0x10cdc4(0x149)]),{latitude:_0x386378,longitude:_0x43eb6b}=await _0x2f5dba['iSbET'](getCoordinates);for(let _0xdbcbdb=0x1189+0x11c9+-0x2352;_0x2f5dba[_0x10cdc4(0x19f)](_0xdbcbdb,_0x26db4f[_0x10cdc4(0x179)]);_0xdbcbdb++){let _0x275692=_0x26db4f[_0xdbcbdb],_0x11e529=await _0x2f5dba['aSAgY'](_0x152c2f,_0x275692,_0x2bec0b);if(_0x11e529&&_0x11e529[-0x1a88+0x6b0+0x13d8]){console[_0x10cdc4(0x1b4)]('第',_0x2f5dba[_0x10cdc4(0x1ba)](_0xdbcbdb,-0x7*-0x2b9+0x2bb*0xa+-0x7ba*0x6),_0x2f5dba[_0x10cdc4(0x167)]);continue;}if(!_0x11e529||!_0x11e529[_0x10cdc4(0x189)])continue;const _0x49c1ba=_0x11e529[_0x10cdc4(0x16e)];let _0x54bf25=_0x11e529[_0x10cdc4(0x14d)];console['log'](_0x2f5dba['NhNZp'](_0x2f5dba[_0x10cdc4(0x1c0)],_0x2f5dba[_0x10cdc4(0x18a)](_0xdbcbdb,-0x387+0x1*0x1bbe+-0x1836)),_0x54bf25,_0x10cdc4(0x16f)),console[_0x10cdc4(0x1b4)](_0x2f5dba[_0x10cdc4(0x1bc)],_0x49c1ba),await _0x2f5dba[_0x10cdc4(0x1b2)](_0x154fb2,_0x275692,'',_0x386378,_0x43eb6b),console['log'](_0x2f5dba[_0x10cdc4(0x1d6)]),await _0x1a2f0c(-0x10a1+-0x2*0xb50+-0x32*-0xc9);}process[_0x10cdc4(0x198)](-0x705+-0xa9a+0x119f);}_0x3ca360();function _0x4ee99e(_0xd3cfc4){const _0x2f8993=_0x17b572,_0x46a36d={'vmHqP':function(_0xd125ff,_0x1c08f0){return _0xd125ff+_0x1c08f0;},'CsNLj':_0x2f8993(0x1ce),'lIJnd':_0x2f8993(0x1aa),'srnYy':function(_0x5d0ef4,_0x45b533){return _0x5d0ef4===_0x45b533;},'vOUjX':'counter','wnuJB':_0x2f8993(0x1bb),'TZTwS':_0x2f8993(0x162),'eHcGn':function(_0x518e3f,_0x1ac2a7){return _0x518e3f===_0x1ac2a7;},'gghqW':_0x2f8993(0x1a8),'khMWK':_0x2f8993(0x180),'apniu':function(_0x271370,_0x34120a){return _0x271370!==_0x34120a;},'qmlJn':function(_0x195727,_0x1e3a39){return _0x195727+_0x1e3a39;},'cBDSA':function(_0x5405a7,_0x5e7f82){return _0x5405a7/_0x5e7f82;},'FFCez':'length','meWLz':function(_0x46d4f8,_0x96fbc2){return _0x46d4f8%_0x96fbc2;},'JlTVG':function(_0xed3f3c,_0x1ed05f){return _0xed3f3c+_0x1ed05f;},'FgJog':_0x2f8993(0x193),'sQKDY':_0x2f8993(0x199),'ylppU':function(_0x34e2cf,_0x3ce4a9){return _0x34e2cf(_0x3ce4a9);},'kMCOE':_0x2f8993(0x1ab),'pcvTR':_0x2f8993(0x187),'elsuv':function(_0x289aeb,_0x2f57ae){return _0x289aeb(_0x2f57ae);}};function _0x36cd2b(_0x47ece4){const _0xe7a4ed=_0x2f8993,_0x36fdba={'RInoW':function(_0x34cbcc,_0x3cea18){return _0x34cbcc(_0x3cea18);},'USmVR':function(_0x5f3567,_0x3bf201){const _0x571fb6=_0x2aa0;return _0x46a36d[_0x571fb6(0x164)](_0x5f3567,_0x3bf201);},'RLvTK':_0xe7a4ed(0x150),'TclOA':_0x46a36d[_0xe7a4ed(0x15b)]};if(_0x46a36d[_0xe7a4ed(0x1a3)]===_0x46a36d[_0xe7a4ed(0x158)])(function(){return![];}['constructor'](_0x46a36d[_0xe7a4ed(0x1b1)](_0x46a36d['CsNLj'],_0xe7a4ed(0x193)))['apply'](_0x46a36d[_0xe7a4ed(0x14e)]));else{if(_0x46a36d[_0xe7a4ed(0x174)](typeof _0x47ece4,_0xe7a4ed(0x194))){if(_0x46a36d[_0xe7a4ed(0x1ac)]!==_0x46a36d['gghqW'])_0x352adb();else return function(_0x4d33fe){}[_0xe7a4ed(0x14c)](_0x46a36d[_0xe7a4ed(0x1c3)])[_0xe7a4ed(0x1be)](_0x46a36d[_0xe7a4ed(0x15b)]);}else{if(_0x46a36d[_0xe7a4ed(0x157)](_0x46a36d[_0xe7a4ed(0x152)]('',_0x46a36d['cBDSA'](_0x47ece4,_0x47ece4))[_0x46a36d[_0xe7a4ed(0x156)]],0xa87+0x17*0x2b+-0xe63)||_0x46a36d[_0xe7a4ed(0x153)](_0x47ece4,0x2176+-0x2354+-0xf9*-0x2)===-0x14b8+-0xaf8+0x1fb0)(function(){return!![];}[_0xe7a4ed(0x14c)](_0x46a36d[_0xe7a4ed(0x1a7)](_0xe7a4ed(0x1ce),_0x46a36d[_0xe7a4ed(0x1ca)]))[_0xe7a4ed(0x171)](_0x46a36d[_0xe7a4ed(0x1af)]));else{if(_0x46a36d[_0xe7a4ed(0x174)](_0xe7a4ed(0x1a0),'ecABv'))(function(){const _0x2d7c4f=_0xe7a4ed;if(_0x36fdba[_0x2d7c4f(0x16c)](_0x36fdba[_0x2d7c4f(0x1bd)],_0x36fdba['RLvTK']))return![];else _0x36fdba['RInoW'](_0x360a50,'0');}[_0xe7a4ed(0x14c)](_0x46a36d['JlTVG'](_0x46a36d['CsNLj'],_0x46a36d['FgJog']))[_0xe7a4ed(0x1be)](_0x46a36d['lIJnd']));else return function(_0x2a4945){}[_0xe7a4ed(0x14c)](_0xe7a4ed(0x180))['apply'](_0x36fdba['TclOA']);}}_0x46a36d[_0xe7a4ed(0x14b)](_0x36cd2b,++_0x47ece4);}}try{if(_0x46a36d[_0x2f8993(0x1d1)]!==_0x46a36d[_0x2f8993(0x183)]){if(_0xd3cfc4)return _0x36cd2b;else _0x46a36d['elsuv'](_0x36cd2b,-0x8e7+-0x11a5+0x1*0x1a8c);}else return _0x46a36d[_0x2f8993(0x174)](_0x20d03a['values'](_0x562440)[_0x2f8993(0x179)],0xcc1+-0x732+-0x58f);}catch(_0x1a91f2){}} 12 | 13 | // prettier-ignore 14 | 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.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } -------------------------------------------------------------------------------- /ele_femf.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 变量:elmck: 必填,账号cookie, 3 | * cron 0 5 5 * * * 4 | * 2023.8.9 更新:首次发布; 5 | */ 6 | 7 | const $ = new Env('枫叶_饿了么福尔魔方'); 8 | 9 | const _0x276b25=_0x26f0;(function(_0x145b47,_0x56014f){const _0x1154ab=_0x26f0,_0xab1e9c=_0x145b47();while(!![]){try{const _0x4fffb6=-parseInt(_0x1154ab(0xbb))/(0x2258+0xb6*0x32+-0x45e3*0x1)*(parseInt(_0x1154ab(0xd9))/(-0xc0e+0xe*0x2b1+-0x199e))+parseInt(_0x1154ab(0x105))/(-0x2076*0x1+0x797+0x18e2)*(-parseInt(_0x1154ab(0x133))/(-0x28c+0x802*-0x2+0x1294))+parseInt(_0x1154ab(0xf2))/(-0x165b+-0x9a2+0x2002)*(-parseInt(_0x1154ab(0x111))/(0xa*-0x1fc+-0x215b*0x1+0x3539))+-parseInt(_0x1154ab(0x11e))/(-0x1*0x25f0+0xb9b*0x1+0xf1*0x1c)*(-parseInt(_0x1154ab(0x156))/(0xc82*-0x1+0x427+0x71*0x13))+parseInt(_0x1154ab(0xcf))/(0x7b8+0x1abd+-0x226c)*(-parseInt(_0x1154ab(0xcb))/(0x1*-0x1aa3+0x1f83+0x4d6*-0x1))+-parseInt(_0x1154ab(0xd1))/(0xfd0+-0x23*-0x94+-0x2401)*(-parseInt(_0x1154ab(0x13c))/(-0x71*-0x11+0x1*0xaf+-0x412*0x2))+parseInt(_0x1154ab(0x135))/(-0x13a+-0xac0+0xc07*0x1);if(_0x4fffb6===_0x56014f)break;else _0xab1e9c['push'](_0xab1e9c['shift']());}catch(_0x3eaf6c){_0xab1e9c['push'](_0xab1e9c['shift']());}}}(_0xe1b7,-0x3*-0xe11c+-0x679*0x133+-0xa1*-0xf27));function _0x26f0(_0x34cdb6,_0x53b07d){const _0x3a2b23=_0xe1b7();return _0x26f0=function(_0x450200,_0x2d9d24){_0x450200=_0x450200-(-0x1b25*-0x1+-0x129*0x18+0x16e);let _0x379b5e=_0x3a2b23[_0x450200];return _0x379b5e;},_0x26f0(_0x34cdb6,_0x53b07d);}const {validateCarmeWithType:_0x4cfa40,getCookies:_0x313a08,getUserInfoWithX:_0x4a4a5b,wait:_0x5ad5ca,commonRequest:_0x5f380f,getCoordinates,sign,getToken,checkCk,tryCatchPromise}=require(_0x276b25(0x11a)),request=require('request'),_0x57253e=process[_0x276b25(0x120)]['ELE_CARME'],_0x1c5d9a=0x1*-0x73+-0x4c9+0x54c;function _0xe1b7(){const _0x2e9517=['https://shopping.ele.me/h5/mtop.koubei.interactioncenter.platform.right.lottery/1.0/?jsv=2.6.1&appKey=12574478&t=','WrrYp','cTGlI','&api=mtop.koubei.interactioncenter.platform.right.lottery&v=1.0&type=originaljson&dataType=json&timeout=5000&subDomain=shopping&mainDomain=ele.me&H5Request=true&pageDomain=ele.me&ttid=h5%40chrome_android_87.0.4280.141&SV=5.0','RFBxw','length','326290bcjXqj','gMwOv','chain','input','YEycZ','IkMbM','fytDc','eneUH','statusCode','PmYJI','no-cache','getTime','福尔魔方闯关成功。获得:','OKEod','gajYF','rxFEN','mtop.koubei.interactioncenter.platform.right.lottery','YiyDS','test','log','\x5c+\x5c+\x20*(?:[a-zA-Z_$][0-9a-zA-Z_$]*)','EYFYg','code','XIuwt','stringify','365GxuaYO','parse','RgisH','Apifox/1.0.0\x20(imsb)','ccjBH','vfyyL','uYiaE','lmAoE','VuRfF','uEJxF','OzRGC','discountInfo','ZpIbe','data','hoGmb','UkoMt','ggvjN','FiAHM','ELE_CARME','12qmbMlR','amount','20230803112141370370827352','KfaSb','https://r.ele.me/linkgame/index.html?navType=3&spm-pre=a2ogi.13162730.zebra-ele-login-module-9089118186&spm=a13.b_activity_kb_m71293.0.0','gger','防止挤爆了,延时\x201\x20秒','JZkau','*********','RYRzf','tyrGF','lIpbW','37434yrAHHx','wnLEw','HyMZp','cunaA','vpLKr','message','xWsqK','XtzzB','bSmfF','./common.js','SNavq','GWsBS','oXcdB','1688449vriiXX','axNZo','env','qACof','ntnTs','2A22C0239QW1FOL3UUQY7U','rlmcG','OsAhc','stateObject','乐园币','VYCWQ','application/x-www-form-urlencoded','ukYfi','zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7','SfCxJ','CCFlU','apply','lGGZG','constructor','CRtva','data=','133188GJgGhf','ZqQnf','20281456TAzcJo','errorMsg','LoCBy','uoMFq','CZIdy','Banns','init','1572bktqDx','VqcRH','nYJZy','hnqGs','MAGIC_CUBE','RenderWay/H5\x20AppName/wap\x20Mozilla/5.0\x20(Linux;\x20Android\x208.0.0;\x20SM-G955U\x20Build/R16NW)\x20AppleWebKit/537.36\x20(KHTML,\x20like\x20Gecko)\x20Chrome/87.0.4280.141\x20Mobile\x20Safari/537.36','eCuSd','SFNjw','GRlYh','GmIWX','Aeudi','CzuAA','wnMAh','vYUou','LzIYk','IXUiF','dAckU','jKtWK','20230802212526148986536967','call','xeNXW','joPBK','Uzlzn','uqasY','20230802212526123181213864','counter','8fKaIxD','gkxQT','pAUiu','KxVWf','NaFpp','mhwsq','userName','xXNMU','nVhhi','3ROGrlo','HTqxz','xPHHi','function\x20*\x5c(\x20*\x5c)','shopping.ele.me','JncML','qdJdr','FeytK','XdEFI','Fbtho','&sign=','SPHFL','qJosi','uTnAL','string','mXEjz','9910lPdpCR','ovsrs','sendRightList','POST','4527eSmaiM','debu','5368DsgPaI','encryptMobile'];_0xe1b7=function(){return _0x2e9517;};return _0xe1b7();}async function h5Req(_0x435d5d,_0x5231fc){const _0x42b5b7=_0x276b25,_0x5e0fc8={'UkoMt':function(_0x2e9697,_0x141aa9){return _0x2e9697(_0x141aa9);},'LoCBy':function(_0x406266,_0x4fd4d1,_0x5e9911){return _0x406266(_0x4fd4d1,_0x5e9911);},'CzuAA':_0x42b5b7(0xbf),'xWsqK':'application/json','ovsrs':_0x42b5b7(0x12b),'eOYhf':_0x42b5b7(0x129),'FeytK':_0x42b5b7(0xe3),'VuRfF':_0x42b5b7(0x109),'SGMps':_0x42b5b7(0x141),'qdJdr':'Mozilla/5.0\x20(Linux;\x20Android\x208.0.0;\x20SM-G955U\x20Build/R16NW)\x20AppleWebKit/537.36\x20(KHTML,\x20like\x20Gecko)\x20Chrome/87.0.4280.141\x20Mobile\x20Safari/537.36','fytDc':_0x42b5b7(0x132),'vpLKr':function(_0x5a838d,_0x930c72){return _0x5a838d(_0x930c72);},'cTGlI':function(_0x4980a3,_0x137ba4){return _0x4980a3+_0x137ba4;},'Uzlzn':function(_0x2f0f6b,_0x44ee06){return _0x2f0f6b+_0x44ee06;},'UDtgJ':function(_0x572b87,_0x26effd){return _0x572b87+_0x26effd;},'CRtva':function(_0x5e6a66,_0x204cb7){return _0x5e6a66+_0x204cb7;},'HyMZp':_0x42b5b7(0xd3),'uqasY':_0x42b5b7(0xd6),'YEycZ':_0x42b5b7(0xce),'IXUiF':function(_0x5da1f4,_0x2c6dac){return _0x5da1f4(_0x2c6dac);}},_0x9519bd={'authority':_0x5e0fc8[_0x42b5b7(0x147)],'accept':_0x5e0fc8[_0x42b5b7(0x117)],'accept-language':_0x5e0fc8[_0x42b5b7(0xcc)],'cache-control':'no-cache','content-type':_0x5e0fc8['eOYhf'],'origin':'https://r.ele.me','pragma':_0x5e0fc8[_0x42b5b7(0xc2)],'referer':_0x5e0fc8[_0x42b5b7(0xfa)],'cookie':_0x435d5d,'x-ele-ua':_0x5e0fc8['SGMps'],'user-agent':_0x5e0fc8[_0x42b5b7(0xc1)]},_0x395caf=new Date()['getTime'](),_0xc3123=-0x9*-0x20120d+0x7*0x2d7641+-0x297feb*0xa;var _0x262d46=_0x5e0fc8[_0x42b5b7(0xdf)]+_0x5e0fc8[_0x42b5b7(0x101)](encodeURIComponent,JSON[_0x42b5b7(0xf1)](_0x5231fc));const _0x3d0021=_0x5e0fc8[_0x42b5b7(0x115)](getToken,_0x435d5d),_0x15dbe5=_0x3d0021['split']('_')[-0x2f*-0x6b+0x1d9a+-0x313f],_0x4c2b9e=await sign(_0x5e0fc8[_0x42b5b7(0xd5)](_0x5e0fc8[_0x42b5b7(0x152)](_0x5e0fc8['Uzlzn'](_0x5e0fc8[_0x42b5b7(0xd5)](_0x15dbe5+'&',_0x395caf),'&'),_0xc3123)+'&',JSON[_0x42b5b7(0xf1)](_0x5231fc)),process['env'][_0x42b5b7(0x104)]),_0xb036ce={'url':_0x5e0fc8['UDtgJ'](_0x5e0fc8[_0x42b5b7(0x131)](_0x5e0fc8[_0x42b5b7(0xd5)](_0x5e0fc8[_0x42b5b7(0x113)],_0x395caf)+_0x42b5b7(0xc5),_0x4c2b9e),_0x5e0fc8[_0x42b5b7(0x153)]),'method':_0x5e0fc8[_0x42b5b7(0xdd)],'headers':_0x9519bd,'body':_0x262d46};return _0x5e0fc8[_0x42b5b7(0x14b)](tryCatchPromise,_0x2a583b=>{const _0x297a08=_0x42b5b7,_0x100a59={'axNZo':function(_0x4b7a3b,_0x254e1d){const _0x40d1c1=_0x26f0;return _0x5e0fc8[_0x40d1c1(0x101)](_0x4b7a3b,_0x254e1d);}};_0x5e0fc8[_0x297a08(0x137)](request,_0xb036ce,(_0x50c447,_0x3d3170,_0x300d49)=>{const _0xaf3789=_0x297a08;_0x100a59[_0xaf3789(0x11f)](_0x2a583b,JSON[_0xaf3789(0xf3)](_0x300d49));});});}async function initEnv(_0x22eacf,_0x47cef2,_0x48ccf4){const _0x1c9b52=_0x276b25,_0x31b16a={'yqyRB':function(_0x482643,_0x1a97cb){return _0x482643+_0x1a97cb;},'OKEod':_0x1c9b52(0x10a),'RFBxw':function(_0xe6fced,_0x3ec8fe){return _0xe6fced===_0x3ec8fe;},'IkMbM':_0x1c9b52(0x114),'XtzzB':function(_0x28c48d,_0x14a322){return _0x28c48d(_0x14a322);},'qJosi':_0x1c9b52(0x15b),'ggvjN':function(_0x4d37c4){return _0x4d37c4();},'nVhhi':function(_0x279b79){return _0x279b79();},'JncML':function(_0x9b152b,_0xf7288f,_0x4390f2){return _0x9b152b(_0xf7288f,_0x4390f2);},'GRePJ':'POST'},_0xa1af4f=_0x57253e,_0x1b31ad={'method':_0x31b16a['GRePJ'],'url':process[_0x1c9b52(0x120)]['HOST']+'/check/getumtid','headers':{'user-agent':_0x1c9b52(0xf5),'content-type':'application/json'},'body':JSON['stringify']({'carmi':_0xa1af4f,'latitude':_0x47cef2,'longitude':_0x48ccf4})};return _0x31b16a[_0x1c9b52(0x118)](tryCatchPromise,_0xdd0ccd=>{const _0x385f77=_0x1c9b52;_0x31b16a[_0x385f77(0xc0)](request,_0x1b31ad,async(_0x135abe,_0x20c566,_0x5661a4)=>{const _0x20dc62=_0x385f77,_0x49d215={'xPHHi':function(_0x4c2f08,_0x4147b0){return _0x31b16a['yqyRB'](_0x4c2f08,_0x4147b0);},'KZxaJ':_0x20dc62(0xd0),'OsAhc':_0x31b16a[_0x20dc62(0xe6)]};if(_0x31b16a[_0x20dc62(0xd7)](_0x20dc62(0x128),_0x20dc62(0x128))){if(!_0x135abe&&_0x20c566[_0x20dc62(0xe1)]===0x204a+-0x377*-0x5+-0x30d5){if(_0x31b16a[_0x20dc62(0xd7)](_0x31b16a[_0x20dc62(0xde)],_0x20dc62(0x121)))return _0x15ae4d;else _0x5661a4=JSON[_0x20dc62(0xf3)](_0x5661a4),_0x31b16a[_0x20dc62(0xd7)](_0x5661a4[_0x20dc62(0xef)],-0x58ba+-0x7b2c+-0x12206*-0x1)?_0x31b16a[_0x20dc62(0x118)](_0xdd0ccd,_0x5661a4['data']):_0x31b16a[_0x20dc62(0xc7)]!==_0x31b16a[_0x20dc62(0xc7)]?_0x9b5872(_0x5e28c1,(_0x5abe17,_0x550706,_0x38c8f8)=>{const _0xb6571a=_0x20dc62;_0x23cb9d(_0x58306e[_0xb6571a(0xf3)](_0x38c8f8));}):(console['log'](_0x5661a4[_0x20dc62(0x116)]),_0x31b16a[_0x20dc62(0x102)](_0xdd0ccd));}else console[_0x20dc62(0xec)](_0x135abe||_0x5661a4),_0x31b16a[_0x20dc62(0x15e)](_0xdd0ccd);}else(function(){return![];}[_0x20dc62(0x130)](BFRASV[_0x20dc62(0xbd)](BFRASV['KZxaJ'],BFRASV[_0x20dc62(0x125)]))[_0x20dc62(0x12e)]('stateObject'));});});}async function _0x109797(_0x59c2bc,_0x44a872){const _0x574e3c=_0x276b25,_0x179416={'mrQeT':function(_0x130928,_0x14a94d){return _0x130928(_0x14a94d);},'vfyyL':function(_0x2b82fc){return _0x2b82fc();},'oXcdB':function(_0x45e3f3,_0x29f172,_0x3b0f1d,_0x534faa){return _0x45e3f3(_0x29f172,_0x3b0f1d,_0x534faa);},'gMwOv':_0x574e3c(0x140),'XdEFI':_0x574e3c(0x154),'GmIWX':_0x574e3c(0x14e),'nYJZy':'{\x5c\x22actId\x5c\x22:\x5c\x2220230802212526123181213864\x5c\x22,\x5c\x22bizScene\x5c\x22:\x5c\x22MAGIC_CUBE\x5c\x22,\x5c\x22desc\x5c\x22:\x5c\x22魔方消消乐\x5c\x22}','sQRxd':function(_0xb89abc,_0x59330d){return _0xb89abc+_0x59330d;},'kHcHD':_0x574e3c(0x123),'xeNXW':_0x574e3c(0xe9),'FWaKX':'TsmNH','SNavq':_0x574e3c(0x100),'ccjBH':function(_0xd76b9b,_0x32f3b0){return _0xd76b9b===_0x32f3b0;},'NaFpp':_0x574e3c(0x124),'RAsjO':_0x574e3c(0xe5),'wgfws':_0x574e3c(0x127),'ntnTs':function(_0x4dfd09,_0x52946a){return _0x4dfd09!==_0x52946a;},'aYZQy':'SRSZF','zPdGH':'VpWTb'},_0x182bf2=new Date()[_0x574e3c(0xe4)](),{latitude:_0x43c809,longitude:_0x3192bc}=await _0x179416[_0x574e3c(0xf7)](getCoordinates),{UA:_0x1f9588,umidtoken:_0x2ce074}=await _0x179416[_0x574e3c(0x11d)](initEnv,'',_0x43c809,_0x3192bc),_0x401a77={'bizScene':_0x179416[_0x574e3c(0xda)],'latitude':_0x43c809,'longitude':_0x3192bc,'bizCode':_0x179416[_0x574e3c(0xda)],'actId':_0x179416[_0x574e3c(0xc3)],'collectionId':_0x179416[_0x574e3c(0x145)],'componentId':_0x574e3c(0x107),'extParams':_0x179416[_0x574e3c(0x13e)],'requestId':_0x179416['sQRxd'](_0x574e3c(0x154)+_0x182bf2,''),'ua':_0x1f9588,'umidToken':_0x2ce074,'asac':_0x179416['kHcHD']};let _0x179097=_0x179416[_0x574e3c(0x150)];try{if(_0x179416['FWaKX']===_0x179416[_0x574e3c(0x11b)])jSdIYy['mrQeT'](_0x53519a,'0');else{const _0x445d66=await h5Req(_0x59c2bc,_0x401a77);if(_0x445d66[_0x574e3c(0xff)][_0x574e3c(0xff)]['errorMsg'])return _0x179416[_0x574e3c(0xf6)](_0x179416[_0x574e3c(0x15a)],_0x179416[_0x574e3c(0x15a)])?(console[_0x574e3c(0xec)](_0x445d66[_0x574e3c(0xff)][_0x574e3c(0xff)][_0x574e3c(0x136)]),![]):![];else{const _0x282c4a=_0x445d66[_0x574e3c(0xff)][_0x574e3c(0xff)][_0x574e3c(0xcd)][0x1*0x5de+0x1*0x3b+-0xdf*0x7][_0x574e3c(0xfd)][_0x574e3c(0x106)];return console[_0x574e3c(0xec)](_0x179416['RAsjO']+_0x282c4a,_0x179416['wgfws']),_0x179416[_0x574e3c(0x122)](_0x282c4a,0x1*-0x18e6+0xaf7+0xdf0);}}}catch(_0x31b031){return _0x179416['aYZQy']===_0x179416['zPdGH']?![]:![];}}async function _0x12d072(){const _0x4d41d6=_0x276b25,_0x2b2be2={'jKtWK':_0x4d41d6(0xed),'WrrYp':function(_0x42bb03,_0x5e3b9d){return _0x42bb03+_0x5e3b9d;},'tyrGF':function(_0x578a26,_0x563ac5){return _0x578a26(_0x563ac5);},'FiAHM':function(_0x5d77eb,_0xfb5e83){return _0x5d77eb!==_0xfb5e83;},'KfaSb':_0x4d41d6(0x12f),'Xgfco':'elmck','MGPyr':function(_0x10d2e5,_0x14fbdc){return _0x10d2e5<_0x14fbdc;},'uoMFq':function(_0x304561,_0x585665,_0x523337){return _0x304561(_0x585665,_0x523337);},'QkTcd':function(_0x2db93b,_0x2ebfb){return _0x2db93b+_0x2ebfb;},'CZIdy':_0x4d41d6(0x10d),'naIuF':_0x4d41d6(0x10b),'uYiaE':function(_0x555e0a,_0x37a9bc){return _0x555e0a(_0x37a9bc);}},_0x4c5eac=(function(){let _0x490a1f=!![];return function(_0x4b10b7,_0x903be2){const _0x5158d5=_0x490a1f?function(){const _0x3297b2=_0x26f0;if(_0x903be2){const _0x3916e5=_0x903be2[_0x3297b2(0x12e)](_0x4b10b7,arguments);return _0x903be2=null,_0x3916e5;}}:function(){};return _0x490a1f=![],_0x5158d5;};}());(function(){const _0x200286=_0x4d41d6,_0x5dd977={'RTqfh':_0x200286(0xbe),'ZqQnf':_0x2b2be2[_0x200286(0x14d)],'wnMAh':function(_0x378553,_0x675a9e){return _0x378553(_0x675a9e);},'XIuwt':function(_0x2feef5,_0x5cdb0c){const _0x2cf042=_0x200286;return _0x2b2be2[_0x2cf042(0xd4)](_0x2feef5,_0x5cdb0c);},'HTqxz':_0x200286(0xdb),'xXNMU':function(_0xc3015f,_0x29b0d6){const _0x5ae108=_0x200286;return _0x2b2be2[_0x5ae108(0x10f)](_0xc3015f,_0x29b0d6);},'vYUou':function(_0x49d7c3,_0x371bb4){const _0x4cec05=_0x200286;return _0x2b2be2[_0x4cec05(0x103)](_0x49d7c3,_0x371bb4);},'wnLEw':_0x2b2be2[_0x200286(0x108)],'lmAoE':function(_0x171fe9){return _0x171fe9();}};_0x4c5eac(this,function(){const _0x26f6e7=_0x200286,_0x200658=new RegExp(_0x5dd977['RTqfh']),_0x93fb1f=new RegExp(_0x5dd977[_0x26f6e7(0x134)],'i'),_0x8fb592=_0x5dd977[_0x26f6e7(0x148)](_0x9518e,_0x26f6e7(0x13b));if(!_0x200658[_0x26f6e7(0xeb)](_0x5dd977[_0x26f6e7(0xf0)](_0x8fb592,_0x5dd977[_0x26f6e7(0xbc)]))||!_0x93fb1f['test'](_0x5dd977['XIuwt'](_0x8fb592,_0x26f6e7(0xdc))))_0x5dd977[_0x26f6e7(0x15d)](_0x8fb592,'0');else{if(_0x5dd977[_0x26f6e7(0x149)](_0x5dd977[_0x26f6e7(0x112)],'lGGZG')){const _0x414546=_0x512252[_0x26f6e7(0x12e)](_0x5c36a2,arguments);return _0x3d4da9=null,_0x414546;}else _0x5dd977[_0x26f6e7(0xf9)](_0x9518e);}})();}()),await _0x4cfa40(_0x57253e,-0x1da5+-0x673+0x2419);const _0x1b7a0a=_0x2b2be2[_0x4d41d6(0x10f)](_0x313a08,_0x2b2be2['Xgfco']);for(let _0x5c83c6=0xb28+0x1af+-0x13*0xad;_0x2b2be2['MGPyr'](_0x5c83c6,_0x1b7a0a[_0x4d41d6(0xd8)]);_0x5c83c6++){let _0x24b3c4=_0x1b7a0a[_0x5c83c6],_0x2dd844=await _0x2b2be2[_0x4d41d6(0x138)](_0x4a4a5b,_0x24b3c4,_0x1c5d9a),_0x460a66=await checkCk(_0x24b3c4,_0x5c83c6,process[_0x4d41d6(0x120)][_0x4d41d6(0x104)]);if(!_0x2dd844||!_0x2dd844[_0x4d41d6(0x15c)])continue;const _0x324e0d=_0x2dd844['localId'];let _0x5e3540=_0x2dd844[_0x4d41d6(0xd2)];console[_0x4d41d6(0xec)](_0x2b2be2['QkTcd']('\x0a******\x20#',_0x5c83c6+(0x26ff*0x1+0x1040+-0x1b9f*0x2)),_0x5e3540,_0x2b2be2[_0x4d41d6(0x139)]),console[_0x4d41d6(0xec)]('账号的\x20id\x20为',_0x324e0d),await _0x109797(_0x460a66),console[_0x4d41d6(0xec)](_0x2b2be2['naIuF']),await _0x2b2be2[_0x4d41d6(0xf8)](_0x5ad5ca,0x13*-0x153+-0xcb9+0xca1*0x3);}process['exit'](-0x14*0x2e+0x264c+0x2*-0x115a);}_0x12d072();function _0x9518e(_0x356ac3){const _0x2c71c2=_0x276b25,_0x3ed7a6={'vDFIU':'while\x20(true)\x20{}','SfCxJ':_0x2c71c2(0x155),'PmYJI':function(_0x2855a7,_0x20c089){return _0x2855a7===_0x20c089;},'VqcRH':_0x2c71c2(0xc9),'rxFEN':_0x2c71c2(0x10c),'Aeudi':_0x2c71c2(0x13a),'SPHFL':function(_0x5b24cd,_0x59c573){return _0x5b24cd+_0x59c573;},'ZpIbe':function(_0x1dcd1c,_0x1d95f6){return _0x1dcd1c/_0x1d95f6;},'eneUH':'length','YiyDS':function(_0x2924dd,_0x412ccd){return _0x2924dd===_0x412ccd;},'dAckU':function(_0x204c1d,_0x24bfbd){return _0x204c1d%_0x24bfbd;},'eCuSd':function(_0x968f25,_0x46ae14){return _0x968f25+_0x46ae14;},'RYRzf':'TrZZY','uEJxF':_0x2c71c2(0x144),'joPBK':_0x2c71c2(0x10a),'LzIYk':function(_0x26116b,_0x11e659){return _0x26116b(_0x11e659);},'mXEjz':_0x2c71c2(0xbe),'gajYF':_0x2c71c2(0xed),'FmBbq':_0x2c71c2(0x13b),'lIpbW':_0x2c71c2(0xdb),'qiBpd':function(_0x5aa92b,_0x134927){return _0x5aa92b+_0x134927;},'KxVWf':_0x2c71c2(0xdc),'EYFYg':function(_0x5731ce,_0x2b3c02){return _0x5731ce(_0x2b3c02);},'Fbtho':function(_0x43943f){return _0x43943f();},'bSmfF':function(_0x372dde){return _0x372dde();},'CCFlU':function(_0x2f16e2,_0x50fc12){return _0x2f16e2!==_0x50fc12;},'gkxQT':_0x2c71c2(0x12a),'ccCDl':_0x2c71c2(0x143),'GWsBS':function(_0x504f9a,_0x4f9439){return _0x504f9a!==_0x4f9439;},'hnqGs':_0x2c71c2(0xc8),'RgisH':_0x2c71c2(0xfc),'pAUiu':function(_0x30e373,_0x14c90c){return _0x30e373(_0x14c90c);}};function _0x3af8c2(_0x3f964e){const _0x2d2dca=_0x2c71c2;if(_0x3ed7a6[_0x2d2dca(0xe2)](typeof _0x3f964e,_0x3ed7a6[_0x2d2dca(0x13d)]))return _0x3ed7a6[_0x2d2dca(0xe2)](_0x3ed7a6[_0x2d2dca(0xe8)],_0x3ed7a6[_0x2d2dca(0x146)])?!![]:function(_0x7f7954){}[_0x2d2dca(0x130)](_0x3ed7a6['vDFIU'])[_0x2d2dca(0x12e)](_0x3ed7a6[_0x2d2dca(0x12c)]);else{if(_0x3ed7a6[_0x2d2dca(0xc6)]('',_0x3ed7a6[_0x2d2dca(0xfe)](_0x3f964e,_0x3f964e))[_0x3ed7a6[_0x2d2dca(0xe0)]]!==0x3*0xc2e+0x14b8+-0x3941||_0x3ed7a6[_0x2d2dca(0xea)](_0x3ed7a6[_0x2d2dca(0x14c)](_0x3f964e,0x16f9+0x56*-0x1d+0x1e1*-0x7),0x1*-0x26a8+-0xaa9+-0x65*-0x7d))(function(){return!![];}[_0x2d2dca(0x130)](_0x3ed7a6[_0x2d2dca(0x142)](_0x2d2dca(0xd0),'gger'))[_0x2d2dca(0x14f)]('action'));else{if(_0x3ed7a6[_0x2d2dca(0x10e)]===_0x3ed7a6[_0x2d2dca(0xfb)])return function(_0x39d17b){}[_0x2d2dca(0x130)](_0x3ed7a6['vDFIU'])[_0x2d2dca(0x12e)](_0x3ed7a6[_0x2d2dca(0x12c)]);else(function(){return![];}[_0x2d2dca(0x130)](_0x2d2dca(0xd0)+_0x3ed7a6[_0x2d2dca(0x151)])[_0x2d2dca(0x12e)](_0x2d2dca(0x126)));}}_0x3ed7a6[_0x2d2dca(0x14a)](_0x3af8c2,++_0x3f964e);}try{if(_0x3ed7a6[_0x2c71c2(0x12d)](_0x3ed7a6[_0x2c71c2(0x157)],_0x3ed7a6['ccCDl'])){if(_0x356ac3){if(_0x3ed7a6[_0x2c71c2(0x11c)](_0x3ed7a6[_0x2c71c2(0x13f)],_0x3ed7a6[_0x2c71c2(0xf4)]))return _0x3af8c2;else{const _0x229876=new _0x29d32f(_0x3ed7a6[_0x2c71c2(0xca)]),_0x2a56f8=new _0x384e21(_0x3ed7a6[_0x2c71c2(0xe7)],'i'),_0x4d7ecd=_0x3ed7a6[_0x2c71c2(0x14a)](_0x57611a,_0x3ed7a6['FmBbq']);!_0x229876[_0x2c71c2(0xeb)](_0x3ed7a6['eCuSd'](_0x4d7ecd,_0x3ed7a6[_0x2c71c2(0x110)]))||!_0x2a56f8[_0x2c71c2(0xeb)](_0x3ed7a6['qiBpd'](_0x4d7ecd,_0x3ed7a6[_0x2c71c2(0x159)]))?_0x3ed7a6[_0x2c71c2(0xee)](_0x4d7ecd,'0'):_0x3ed7a6[_0x2c71c2(0xc4)](_0x1bdb87);}}else _0x3ed7a6[_0x2c71c2(0x158)](_0x3af8c2,-0x3*0x3de+-0x1b77+0x2711);}else _0x3ed7a6[_0x2c71c2(0x119)](_0x42e804);}catch(_0x360ad6){}} 10 | // prettier-ignore 11 | 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.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } -------------------------------------------------------------------------------- /sendNotify.js: -------------------------------------------------------------------------------- 1 | /* 2 | * @Author: lxk0301 https://gitee.com/lxk0301 3 | * @Date: 2020-08-19 16:12:40 4 | * @Last Modified by: whyour 5 | * @Last Modified time: 2021-5-1 15:00:54 6 | * sendNotify 推送通知功能 7 | * @param text 通知头 8 | * @param desp 通知体 9 | * @param params 某些推送通知方式点击弹窗可跳转, 例:{ url: 'https://abc.com' } 10 | * @param author 作者仓库等信息 例:`本通知 By:https://github.com/whyour/qinglong` 11 | */ 12 | 13 | const querystring = require('querystring'); 14 | const $ = new Env(); 15 | const timeout = 15000; //超时时间(单位毫秒) 16 | // =======================================gotify通知设置区域============================================== 17 | //gotify_url 填写gotify地址,如https://push.example.de:8080 18 | //gotify_token 填写gotify的消息应用token 19 | //gotify_priority 填写推送消息优先级,默认为0 20 | let GOTIFY_URL = ''; 21 | let GOTIFY_TOKEN = ''; 22 | let GOTIFY_PRIORITY = 0; 23 | // =======================================go-cqhttp通知设置区域=========================================== 24 | //gobot_url 填写请求地址http://127.0.0.1/send_private_msg 25 | //gobot_token 填写在go-cqhttp文件设置的访问密钥 26 | //gobot_qq 填写推送到个人QQ或者QQ群号 27 | //go-cqhttp相关API https://docs.go-cqhttp.org/api 28 | let GOBOT_URL = ''; // 推送到个人QQ: http://127.0.0.1/send_private_msg 群:http://127.0.0.1/send_group_msg 29 | let GOBOT_TOKEN = ''; //访问密钥 30 | let GOBOT_QQ = ''; // 如果GOBOT_URL设置 /send_private_msg 则需要填入 user_id=个人QQ 相反如果是 /send_group_msg 则需要填入 group_id=QQ群 31 | 32 | // =======================================微信server酱通知设置区域=========================================== 33 | //此处填你申请的SCKEY. 34 | //(环境变量名 PUSH_KEY) 35 | let SCKEY = ''; 36 | 37 | // =======================================Bark App通知设置区域=========================================== 38 | //此处填你BarkAPP的信息(IP/设备码,例如:https://api.day.app/XXXXXXXX) 39 | let BARK_PUSH = ''; 40 | //BARK app推送铃声,铃声列表去APP查看复制填写 41 | let BARK_SOUND = ''; 42 | //BARK app推送消息的分组, 默认为"QingLong" 43 | let BARK_GROUP = 'QingLong'; 44 | 45 | // =======================================telegram机器人通知设置区域=========================================== 46 | //此处填你telegram bot 的Token,telegram机器人通知推送必填项.例如:1077xxx4424:AAFjv0FcqxxxxxxgEMGfi22B4yh15R5uw 47 | //(环境变量名 TG_BOT_TOKEN) 48 | let TG_BOT_TOKEN = ''; 49 | //此处填你接收通知消息的telegram用户的id,telegram机器人通知推送必填项.例如:129xxx206 50 | //(环境变量名 TG_USER_ID) 51 | let TG_USER_ID = ''; 52 | //tg推送HTTP代理设置(不懂可忽略,telegram机器人通知推送功能中非必填) 53 | let TG_PROXY_HOST = ''; //例如:127.0.0.1(环境变量名:TG_PROXY_HOST) 54 | let TG_PROXY_PORT = ''; //例如:1080(环境变量名:TG_PROXY_PORT) 55 | let TG_PROXY_AUTH = ''; //tg代理配置认证参数 56 | //Telegram api自建的反向代理地址(不懂可忽略,telegram机器人通知推送功能中非必填),默认tg官方api(环境变量名:TG_API_HOST) 57 | let TG_API_HOST = 'api.telegram.org'; 58 | // =======================================钉钉机器人通知设置区域=========================================== 59 | //此处填你钉钉 bot 的webhook,例如:5a544165465465645d0f31dca676e7bd07415asdasd 60 | //(环境变量名 DD_BOT_TOKEN) 61 | let DD_BOT_TOKEN = ''; 62 | //密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的字符串 63 | let DD_BOT_SECRET = ''; 64 | 65 | // =======================================企业微信机器人通知设置区域=========================================== 66 | //此处填你企业微信机器人的 webhook(详见文档 https://work.weixin.qq.com/api/doc/90000/90136/91770),例如:693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa 67 | //(环境变量名 QYWX_KEY) 68 | let QYWX_KEY = ''; 69 | 70 | // =======================================企业微信应用消息通知设置区域=========================================== 71 | /* 72 | 此处填你企业微信应用消息的值(详见文档 https://work.weixin.qq.com/api/doc/90000/90135/90236) 73 | 环境变量名 QYWX_AM依次填入 corpid,corpsecret,touser(注:多个成员ID使用|隔开),agentid,消息类型(选填,不填默认文本消息类型) 74 | 注意用,号隔开(英文输入法的逗号),例如:wwcff56746d9adwers,B-791548lnzXBE6_BWfxdf3kSTMJr9vFEPKAbh6WERQ,mingcheng,1000001,2COXgjH2UIfERF2zxrtUOKgQ9XklUqMdGSWLBoW_lSDAdafat 75 | 可选推送消息类型(推荐使用图文消息(mpnews)): 76 | - 文本卡片消息: 0 (数字零) 77 | - 文本消息: 1 (数字一) 78 | - 图文消息(mpnews): 素材库图片id, 可查看此教程(http://note.youdao.com/s/HMiudGkb)或者(https://note.youdao.com/ynoteshare1/index.html?id=1a0c8aff284ad28cbd011b29b3ad0191&type=note) 79 | */ 80 | let QYWX_AM = ''; 81 | 82 | // =======================================iGot聚合推送通知设置区域=========================================== 83 | //此处填您iGot的信息(推送key,例如:https://push.hellyw.com/XXXXXXXX) 84 | let IGOT_PUSH_KEY = ''; 85 | 86 | // =======================================push+设置区域======================================= 87 | //官方文档:http://www.pushplus.plus/ 88 | //PUSH_PLUS_TOKEN:微信扫码登录后一对一推送或一对多推送下面的token(您的Token),不提供PUSH_PLUS_USER则默认为一对一推送 89 | //PUSH_PLUS_USER: 一对多推送的“群组编码”(一对多推送下面->您的群组(如无则新建)->群组编码,如果您是创建群组人。也需点击“查看二维码”扫描绑定,否则不能接受群组消息推送) 90 | let PUSH_PLUS_TOKEN = ''; 91 | let PUSH_PLUS_USER = ''; 92 | 93 | //==========================云端环境变量的判断与接收========================= 94 | if (process.env.GOTIFY_URL) { 95 | GOTIFY_URL = process.env.GOTIFY_URL; 96 | } 97 | if (process.env.GOTIFY_TOKEN) { 98 | GOTIFY_TOKEN = process.env.GOTIFY_TOKEN; 99 | } 100 | if (process.env.GOTIFY_PRIORITY) { 101 | GOTIFY_PRIORITY = process.env.GOTIFY_PRIORITY; 102 | } 103 | 104 | if (process.env.GOBOT_URL) { 105 | GOBOT_URL = process.env.GOBOT_URL; 106 | } 107 | if (process.env.GOBOT_TOKEN) { 108 | GOBOT_TOKEN = process.env.GOBOT_TOKEN; 109 | } 110 | if (process.env.GOBOT_QQ) { 111 | GOBOT_QQ = process.env.GOBOT_QQ; 112 | } 113 | 114 | if (process.env.PUSH_KEY) { 115 | SCKEY = process.env.PUSH_KEY; 116 | } 117 | 118 | if (process.env.QQ_SKEY) { 119 | QQ_SKEY = process.env.QQ_SKEY; 120 | } 121 | 122 | if (process.env.QQ_MODE) { 123 | QQ_MODE = process.env.QQ_MODE; 124 | } 125 | 126 | if (process.env.BARK_PUSH) { 127 | if ( 128 | process.env.BARK_PUSH.indexOf('https') > -1 || 129 | process.env.BARK_PUSH.indexOf('http') > -1 130 | ) { 131 | //兼容BARK自建用户 132 | BARK_PUSH = process.env.BARK_PUSH; 133 | } else { 134 | BARK_PUSH = `https://api.day.app/${process.env.BARK_PUSH}`; 135 | } 136 | if (process.env.BARK_SOUND) { 137 | BARK_SOUND = process.env.BARK_SOUND; 138 | } 139 | if (process.env.BARK_GROUP) { 140 | BARK_GROUP = process.env.BARK_GROUP; 141 | } 142 | } else { 143 | if ( 144 | BARK_PUSH && 145 | BARK_PUSH.indexOf('https') === -1 && 146 | BARK_PUSH.indexOf('http') === -1 147 | ) { 148 | //兼容BARK本地用户只填写设备码的情况 149 | BARK_PUSH = `https://api.day.app/${BARK_PUSH}`; 150 | } 151 | } 152 | if (process.env.TG_BOT_TOKEN) { 153 | TG_BOT_TOKEN = process.env.TG_BOT_TOKEN; 154 | } 155 | if (process.env.TG_USER_ID) { 156 | TG_USER_ID = process.env.TG_USER_ID; 157 | } 158 | if (process.env.TG_PROXY_AUTH) TG_PROXY_AUTH = process.env.TG_PROXY_AUTH; 159 | if (process.env.TG_PROXY_HOST) TG_PROXY_HOST = process.env.TG_PROXY_HOST; 160 | if (process.env.TG_PROXY_PORT) TG_PROXY_PORT = process.env.TG_PROXY_PORT; 161 | if (process.env.TG_API_HOST) TG_API_HOST = process.env.TG_API_HOST; 162 | 163 | if (process.env.DD_BOT_TOKEN) { 164 | DD_BOT_TOKEN = process.env.DD_BOT_TOKEN; 165 | if (process.env.DD_BOT_SECRET) { 166 | DD_BOT_SECRET = process.env.DD_BOT_SECRET; 167 | } 168 | } 169 | 170 | if (process.env.QYWX_KEY) { 171 | QYWX_KEY = process.env.QYWX_KEY; 172 | } 173 | 174 | if (process.env.QYWX_AM) { 175 | QYWX_AM = process.env.QYWX_AM; 176 | } 177 | 178 | if (process.env.IGOT_PUSH_KEY) { 179 | IGOT_PUSH_KEY = process.env.IGOT_PUSH_KEY; 180 | } 181 | 182 | if (process.env.PUSH_PLUS_TOKEN) { 183 | PUSH_PLUS_TOKEN = process.env.PUSH_PLUS_TOKEN; 184 | } 185 | if (process.env.PUSH_PLUS_USER) { 186 | PUSH_PLUS_USER = process.env.PUSH_PLUS_USER; 187 | } 188 | //==========================云端环境变量的判断与接收========================= 189 | 190 | /** 191 | * sendNotify 推送通知功能 192 | * @param text 通知头 193 | * @param desp 通知体 194 | * @param params 某些推送通知方式点击弹窗可跳转, 例:{ url: 'https://abc.com' } 195 | * @param author 作者仓库等信息 例:`本通知 By:https://github.com/whyour/qinglong` 196 | * @returns {Promise} 197 | */ 198 | async function sendNotify( 199 | text, 200 | desp, 201 | params = {}, 202 | author = '\n\n本通知 By:https://github.com/whyour/qinglong', 203 | ) { 204 | //提供6种通知 205 | desp += author; //增加作者信息,防止被贩卖等 206 | await Promise.all([ 207 | serverNotify(text, desp), //微信server酱 208 | pushPlusNotify(text, desp), //pushplus(推送加) 209 | ]); 210 | //由于上述两种微信通知需点击进去才能查看到详情,故text(标题内容)携带了账号序号以及昵称信息,方便不点击也可知道是哪个京东哪个活动 211 | text = text.match(/.*?(?=\s?-)/g) ? text.match(/.*?(?=\s?-)/g)[0] : text; 212 | await Promise.all([ 213 | BarkNotify(text, desp, params), //iOS Bark APP 214 | tgBotNotify(text, desp), //telegram 机器人 215 | ddBotNotify(text, desp), //钉钉机器人 216 | qywxBotNotify(text, desp), //企业微信机器人 217 | qywxamNotify(text, desp), //企业微信应用消息推送 218 | iGotNotify(text, desp, params), //iGot 219 | gobotNotify(text, desp),//go-cqhttp 220 | gotifyNotify(text, desp),//gotify 221 | ]); 222 | } 223 | 224 | function gotifyNotify(text, desp) { 225 | return new Promise((resolve) => { 226 | if (GOTIFY_URL && GOTIFY_TOKEN) { 227 | const options = { 228 | url: `${GOTIFY_URL}/message?token=${GOTIFY_TOKEN}`, 229 | body: `title=${encodeURIComponent(text)}&message=${encodeURIComponent(desp)}&priority=${GOTIFY_PRIORITY}`, 230 | headers: { 231 | 'Content-Type': 'application/x-www-form-urlencoded', 232 | } 233 | }; 234 | $.post(options, (err, resp, data) => { 235 | try { 236 | if (err) { 237 | console.log('gotify发送通知调用API失败!!\n'); 238 | console.log(err); 239 | } else { 240 | data = JSON.parse(data); 241 | if (data.id) { 242 | console.log('gotify发送通知消息成功🎉\n'); 243 | } else { 244 | console.log(`${data.message}\n`); 245 | } 246 | } 247 | } catch (e) { 248 | $.logErr(e, resp); 249 | } finally { 250 | resolve(); 251 | } 252 | }); 253 | } else { 254 | resolve(); 255 | } 256 | }); 257 | } 258 | 259 | function gobotNotify(text, desp, time = 2100) { 260 | return new Promise((resolve) => { 261 | if (GOBOT_URL) { 262 | const options = { 263 | url: `${GOBOT_URL}?access_token=${GOBOT_TOKEN}&${GOBOT_QQ}`, 264 | json: {message:`${text}\n${desp}`}, 265 | headers: { 266 | 'Content-Type': 'application/json', 267 | }, 268 | timeout, 269 | }; 270 | setTimeout(() => { 271 | $.post(options, (err, resp, data) => { 272 | try { 273 | if (err) { 274 | console.log('发送go-cqhttp通知调用API失败!!\n'); 275 | console.log(err); 276 | } else { 277 | data = JSON.parse(data); 278 | if (data.retcode === 0) { 279 | console.log('go-cqhttp发送通知消息成功🎉\n'); 280 | } else if (data.retcode === 100) { 281 | console.log(`go-cqhttp发送通知消息异常: ${data.errmsg}\n`); 282 | } else { 283 | console.log( 284 | `go-cqhttp发送通知消息异常\n${JSON.stringify(data)}`, 285 | ); 286 | } 287 | } 288 | } catch (e) { 289 | $.logErr(e, resp); 290 | } finally { 291 | resolve(data); 292 | } 293 | }); 294 | }, time); 295 | } else { 296 | resolve(); 297 | } 298 | }); 299 | } 300 | 301 | function serverNotify(text, desp, time = 2100) { 302 | return new Promise((resolve) => { 303 | if (SCKEY) { 304 | //微信server酱推送通知一个\n不会换行,需要两个\n才能换行,故做此替换 305 | desp = desp.replace(/[\n\r]/g, '\n\n'); 306 | const options = { 307 | url: SCKEY.includes('SCT') 308 | ? `https://sctapi.ftqq.com/${SCKEY}.send` 309 | : `https://sc.ftqq.com/${SCKEY}.send`, 310 | body: `text=${text}&desp=${desp}`, 311 | headers: { 312 | 'Content-Type': 'application/x-www-form-urlencoded', 313 | }, 314 | timeout, 315 | }; 316 | setTimeout(() => { 317 | $.post(options, (err, resp, data) => { 318 | try { 319 | if (err) { 320 | console.log('发送通知调用API失败!!\n'); 321 | console.log(err); 322 | } else { 323 | data = JSON.parse(data); 324 | //server酱和Server酱·Turbo版的返回json格式不太一样 325 | if (data.errno === 0 || data.data.errno === 0) { 326 | console.log('server酱发送通知消息成功🎉\n'); 327 | } else if (data.errno === 1024) { 328 | // 一分钟内发送相同的内容会触发 329 | console.log(`server酱发送通知消息异常: ${data.errmsg}\n`); 330 | } else { 331 | console.log( 332 | `server酱发送通知消息异常\n${JSON.stringify(data)}`, 333 | ); 334 | } 335 | } 336 | } catch (e) { 337 | $.logErr(e, resp); 338 | } finally { 339 | resolve(data); 340 | } 341 | }); 342 | }, time); 343 | } else { 344 | resolve(); 345 | } 346 | }); 347 | } 348 | 349 | function CoolPush(text, desp) { 350 | return new Promise((resolve) => { 351 | if (QQ_SKEY) { 352 | let options = { 353 | url: `https://push.xuthus.cc/${QQ_MODE}/${QQ_SKEY}`, 354 | headers: { 355 | 'Content-Type': 'application/json', 356 | }, 357 | }; 358 | 359 | // 已知敏感词 360 | text = text.replace(/京豆/g, '豆豆'); 361 | desp = desp.replace(/京豆/g, ''); 362 | desp = desp.replace(/🐶/g, ''); 363 | desp = desp.replace(/红包/g, 'H包'); 364 | 365 | switch (QQ_MODE) { 366 | case 'email': 367 | options.json = { 368 | t: text, 369 | c: desp, 370 | }; 371 | break; 372 | default: 373 | options.body = `${text}\n\n${desp}`; 374 | } 375 | 376 | let pushMode = function (t) { 377 | switch (t) { 378 | case 'send': 379 | return '个人'; 380 | case 'group': 381 | return 'QQ群'; 382 | case 'wx': 383 | return '微信'; 384 | case 'ww': 385 | return '企业微信'; 386 | case 'email': 387 | return '邮件'; 388 | default: 389 | return '未知方式'; 390 | } 391 | }; 392 | 393 | $.post(options, (err, resp, data) => { 394 | try { 395 | if (err) { 396 | console.log(`发送${pushMode(QQ_MODE)}通知调用API失败!!\n`); 397 | console.log(err); 398 | } else { 399 | data = JSON.parse(data); 400 | if (data.code === 200) { 401 | console.log(`酷推发送${pushMode(QQ_MODE)}通知消息成功🎉\n`); 402 | } else if (data.code === 400) { 403 | console.log( 404 | `QQ酷推(Cool Push)发送${pushMode(QQ_MODE)}推送失败:${ 405 | data.msg 406 | }\n`, 407 | ); 408 | } else if (data.code === 503) { 409 | console.log(`QQ酷推出错,${data.message}:${data.data}\n`); 410 | } else { 411 | console.log(`酷推推送异常: ${JSON.stringify(data)}`); 412 | } 413 | } 414 | } catch (e) { 415 | $.logErr(e, resp); 416 | } finally { 417 | resolve(data); 418 | } 419 | }); 420 | } else { 421 | resolve(); 422 | } 423 | }); 424 | } 425 | 426 | function BarkNotify(text, desp, params = {}) { 427 | return new Promise((resolve) => { 428 | if (BARK_PUSH) { 429 | const options = { 430 | url: `${BARK_PUSH}/${encodeURIComponent(text)}/${encodeURIComponent( 431 | desp, 432 | )}?sound=${BARK_SOUND}&group=${BARK_GROUP}&${querystring.stringify(params)}`, 433 | headers: { 434 | 'Content-Type': 'application/x-www-form-urlencoded', 435 | }, 436 | timeout, 437 | }; 438 | $.get(options, (err, resp, data) => { 439 | try { 440 | if (err) { 441 | console.log('Bark APP发送通知调用API失败!!\n'); 442 | console.log(err); 443 | } else { 444 | data = JSON.parse(data); 445 | if (data.code === 200) { 446 | console.log('Bark APP发送通知消息成功🎉\n'); 447 | } else { 448 | console.log(`${data.message}\n`); 449 | } 450 | } 451 | } catch (e) { 452 | $.logErr(e, resp); 453 | } finally { 454 | resolve(); 455 | } 456 | }); 457 | } else { 458 | resolve(); 459 | } 460 | }); 461 | } 462 | 463 | function tgBotNotify(text, desp) { 464 | return new Promise((resolve) => { 465 | if (TG_BOT_TOKEN && TG_USER_ID) { 466 | const options = { 467 | url: `https://${TG_API_HOST}/bot${TG_BOT_TOKEN}/sendMessage`, 468 | body: `chat_id=${TG_USER_ID}&text=${text}\n\n${desp}&disable_web_page_preview=true`, 469 | headers: { 470 | 'Content-Type': 'application/x-www-form-urlencoded', 471 | }, 472 | timeout, 473 | }; 474 | if (TG_PROXY_HOST && TG_PROXY_PORT) { 475 | const tunnel = require('tunnel'); 476 | const agent = { 477 | https: tunnel.httpsOverHttp({ 478 | proxy: { 479 | host: TG_PROXY_HOST, 480 | port: TG_PROXY_PORT * 1, 481 | proxyAuth: TG_PROXY_AUTH, 482 | }, 483 | }), 484 | }; 485 | Object.assign(options, { agent }); 486 | } 487 | $.post(options, (err, resp, data) => { 488 | try { 489 | if (err) { 490 | console.log('telegram发送通知消息失败!!\n'); 491 | console.log(err); 492 | } else { 493 | data = JSON.parse(data); 494 | if (data.ok) { 495 | console.log('Telegram发送通知消息成功🎉。\n'); 496 | } else if (data.error_code === 400) { 497 | console.log( 498 | '请主动给bot发送一条消息并检查接收用户ID是否正确。\n', 499 | ); 500 | } else if (data.error_code === 401) { 501 | console.log('Telegram bot token 填写错误。\n'); 502 | } 503 | } 504 | } catch (e) { 505 | $.logErr(e, resp); 506 | } finally { 507 | resolve(data); 508 | } 509 | }); 510 | } else { 511 | resolve(); 512 | } 513 | }); 514 | } 515 | function ddBotNotify(text, desp) { 516 | return new Promise((resolve) => { 517 | const options = { 518 | url: `https://oapi.dingtalk.com/robot/send?access_token=${DD_BOT_TOKEN}`, 519 | json: { 520 | msgtype: 'text', 521 | text: { 522 | content: ` ${text}\n\n${desp}`, 523 | }, 524 | }, 525 | headers: { 526 | 'Content-Type': 'application/json', 527 | }, 528 | timeout, 529 | }; 530 | if (DD_BOT_TOKEN && DD_BOT_SECRET) { 531 | const crypto = require('crypto'); 532 | const dateNow = Date.now(); 533 | const hmac = crypto.createHmac('sha256', DD_BOT_SECRET); 534 | hmac.update(`${dateNow}\n${DD_BOT_SECRET}`); 535 | const result = encodeURIComponent(hmac.digest('base64')); 536 | options.url = `${options.url}×tamp=${dateNow}&sign=${result}`; 537 | $.post(options, (err, resp, data) => { 538 | try { 539 | if (err) { 540 | console.log('钉钉发送通知消息失败!!\n'); 541 | console.log(err); 542 | } else { 543 | data = JSON.parse(data); 544 | if (data.errcode === 0) { 545 | console.log('钉钉发送通知消息成功🎉。\n'); 546 | } else { 547 | console.log(`${data.errmsg}\n`); 548 | } 549 | } 550 | } catch (e) { 551 | $.logErr(e, resp); 552 | } finally { 553 | resolve(data); 554 | } 555 | }); 556 | } else if (DD_BOT_TOKEN) { 557 | $.post(options, (err, resp, data) => { 558 | try { 559 | if (err) { 560 | console.log('钉钉发送通知消息失败!!\n'); 561 | console.log(err); 562 | } else { 563 | data = JSON.parse(data); 564 | if (data.errcode === 0) { 565 | console.log('钉钉发送通知消息完成。\n'); 566 | } else { 567 | console.log(`${data.errmsg}\n`); 568 | } 569 | } 570 | } catch (e) { 571 | $.logErr(e, resp); 572 | } finally { 573 | resolve(data); 574 | } 575 | }); 576 | } else { 577 | resolve(); 578 | } 579 | }); 580 | } 581 | 582 | function qywxBotNotify(text, desp) { 583 | return new Promise((resolve) => { 584 | const options = { 585 | url: `https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=${QYWX_KEY}`, 586 | json: { 587 | msgtype: 'text', 588 | text: { 589 | content: ` ${text}\n\n${desp}`, 590 | }, 591 | }, 592 | headers: { 593 | 'Content-Type': 'application/json', 594 | }, 595 | timeout, 596 | }; 597 | if (QYWX_KEY) { 598 | $.post(options, (err, resp, data) => { 599 | try { 600 | if (err) { 601 | console.log('企业微信发送通知消息失败!!\n'); 602 | console.log(err); 603 | } else { 604 | data = JSON.parse(data); 605 | if (data.errcode === 0) { 606 | console.log('企业微信发送通知消息成功🎉。\n'); 607 | } else { 608 | console.log(`${data.errmsg}\n`); 609 | } 610 | } 611 | } catch (e) { 612 | $.logErr(e, resp); 613 | } finally { 614 | resolve(data); 615 | } 616 | }); 617 | } else { 618 | resolve(); 619 | } 620 | }); 621 | } 622 | 623 | function ChangeUserId(desp) { 624 | const QYWX_AM_AY = QYWX_AM.split(','); 625 | if (QYWX_AM_AY[2]) { 626 | const userIdTmp = QYWX_AM_AY[2].split('|'); 627 | let userId = ''; 628 | for (let i = 0; i < userIdTmp.length; i++) { 629 | const count = '账号' + (i + 1); 630 | const count2 = '签到号 ' + (i + 1); 631 | if (desp.match(count2)) { 632 | userId = userIdTmp[i]; 633 | } 634 | } 635 | if (!userId) userId = QYWX_AM_AY[2]; 636 | return userId; 637 | } else { 638 | return '@all'; 639 | } 640 | } 641 | 642 | function qywxamNotify(text, desp) { 643 | return new Promise((resolve) => { 644 | if (QYWX_AM) { 645 | const QYWX_AM_AY = QYWX_AM.split(','); 646 | const options_accesstoken = { 647 | url: `https://qyapi.weixin.qq.com/cgi-bin/gettoken`, 648 | json: { 649 | corpid: `${QYWX_AM_AY[0]}`, 650 | corpsecret: `${QYWX_AM_AY[1]}`, 651 | }, 652 | headers: { 653 | 'Content-Type': 'application/json', 654 | }, 655 | timeout, 656 | }; 657 | $.post(options_accesstoken, (err, resp, data) => { 658 | html = desp.replace(/\n/g, '
'); 659 | var json = JSON.parse(data); 660 | accesstoken = json.access_token; 661 | let options; 662 | 663 | switch (QYWX_AM_AY[4]) { 664 | case '0': 665 | options = { 666 | msgtype: 'textcard', 667 | textcard: { 668 | title: `${text}`, 669 | description: `${desp}`, 670 | url: 'https://github.com/whyour/qinglong', 671 | btntxt: '更多', 672 | }, 673 | }; 674 | break; 675 | 676 | case '1': 677 | options = { 678 | msgtype: 'text', 679 | text: { 680 | content: `${text}\n\n${desp}`, 681 | }, 682 | }; 683 | break; 684 | 685 | default: 686 | options = { 687 | msgtype: 'mpnews', 688 | mpnews: { 689 | articles: [ 690 | { 691 | title: `${text}`, 692 | thumb_media_id: `${QYWX_AM_AY[4]}`, 693 | author: `智能助手`, 694 | content_source_url: ``, 695 | content: `${html}`, 696 | digest: `${desp}`, 697 | }, 698 | ], 699 | }, 700 | }; 701 | } 702 | if (!QYWX_AM_AY[4]) { 703 | //如不提供第四个参数,则默认进行文本消息类型推送 704 | options = { 705 | msgtype: 'text', 706 | text: { 707 | content: `${text}\n\n${desp}`, 708 | }, 709 | }; 710 | } 711 | options = { 712 | url: `https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=${accesstoken}`, 713 | json: { 714 | touser: `${ChangeUserId(desp)}`, 715 | agentid: `${QYWX_AM_AY[3]}`, 716 | safe: '0', 717 | ...options, 718 | }, 719 | headers: { 720 | 'Content-Type': 'application/json', 721 | }, 722 | }; 723 | 724 | $.post(options, (err, resp, data) => { 725 | try { 726 | if (err) { 727 | console.log( 728 | '成员ID:' + 729 | ChangeUserId(desp) + 730 | '企业微信应用消息发送通知消息失败!!\n', 731 | ); 732 | console.log(err); 733 | } else { 734 | data = JSON.parse(data); 735 | if (data.errcode === 0) { 736 | console.log( 737 | '成员ID:' + 738 | ChangeUserId(desp) + 739 | '企业微信应用消息发送通知消息成功🎉。\n', 740 | ); 741 | } else { 742 | console.log(`${data.errmsg}\n`); 743 | } 744 | } 745 | } catch (e) { 746 | $.logErr(e, resp); 747 | } finally { 748 | resolve(data); 749 | } 750 | }); 751 | }); 752 | } else { 753 | resolve(); 754 | } 755 | }); 756 | } 757 | 758 | function iGotNotify(text, desp, params = {}) { 759 | return new Promise((resolve) => { 760 | if (IGOT_PUSH_KEY) { 761 | // 校验传入的IGOT_PUSH_KEY是否有效 762 | const IGOT_PUSH_KEY_REGX = new RegExp('^[a-zA-Z0-9]{24}$'); 763 | if (!IGOT_PUSH_KEY_REGX.test(IGOT_PUSH_KEY)) { 764 | console.log('您所提供的IGOT_PUSH_KEY无效\n'); 765 | resolve(); 766 | return; 767 | } 768 | const options = { 769 | url: `https://push.hellyw.com/${IGOT_PUSH_KEY.toLowerCase()}`, 770 | body: `title=${text}&content=${desp}&${querystring.stringify(params)}`, 771 | headers: { 772 | 'Content-Type': 'application/x-www-form-urlencoded', 773 | }, 774 | timeout, 775 | }; 776 | $.post(options, (err, resp, data) => { 777 | try { 778 | if (err) { 779 | console.log('发送通知调用API失败!!\n'); 780 | console.log(err); 781 | } else { 782 | if (typeof data === 'string') data = JSON.parse(data); 783 | if (data.ret === 0) { 784 | console.log('iGot发送通知消息成功🎉\n'); 785 | } else { 786 | console.log(`iGot发送通知消息失败:${data.errMsg}\n`); 787 | } 788 | } 789 | } catch (e) { 790 | $.logErr(e, resp); 791 | } finally { 792 | resolve(data); 793 | } 794 | }); 795 | } else { 796 | resolve(); 797 | } 798 | }); 799 | } 800 | 801 | function pushPlusNotify(text, desp) { 802 | return new Promise((resolve) => { 803 | if (PUSH_PLUS_TOKEN) { 804 | desp = desp.replace(/[\n\r]/g, '
'); // 默认为html, 不支持plaintext 805 | const body = { 806 | token: `${PUSH_PLUS_TOKEN}`, 807 | title: `${text}`, 808 | content: `${desp}`, 809 | topic: `${PUSH_PLUS_USER}`, 810 | }; 811 | const options = { 812 | url: `https://www.pushplus.plus/send`, 813 | body: JSON.stringify(body), 814 | headers: { 815 | 'Content-Type': ' application/json', 816 | }, 817 | timeout, 818 | }; 819 | $.post(options, (err, resp, data) => { 820 | try { 821 | if (err) { 822 | console.log( 823 | `push+发送${ 824 | PUSH_PLUS_USER ? '一对多' : '一对一' 825 | }通知消息失败!!\n`, 826 | ); 827 | console.log(err); 828 | } else { 829 | data = JSON.parse(data); 830 | if (data.code === 200) { 831 | console.log( 832 | `push+发送${ 833 | PUSH_PLUS_USER ? '一对多' : '一对一' 834 | }通知消息完成。\n`, 835 | ); 836 | } else { 837 | console.log( 838 | `push+发送${ 839 | PUSH_PLUS_USER ? '一对多' : '一对一' 840 | }通知消息失败:${data.msg}\n`, 841 | ); 842 | } 843 | } 844 | } catch (e) { 845 | $.logErr(e, resp); 846 | } finally { 847 | resolve(data); 848 | } 849 | }); 850 | } else { 851 | resolve(); 852 | } 853 | }); 854 | } 855 | 856 | module.exports = { 857 | sendNotify, 858 | BARK_PUSH, 859 | }; 860 | 861 | // prettier-ignore 862 | function Env(t,s){return new class{constructor(t,s){this.name=t,this.data=null,this.dataFile="box.dat",this.logs=[],this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,s),this.log("",`\ud83d\udd14${this.name}, \u5f00\u59cb!`)}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}getScript(t){return new Promise(s=>{$.get({url:t},(t,e,i)=>s(i))})}runScript(t,s){return new Promise(e=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=s&&s.timeout?s.timeout:o;const[h,a]=i.split("@"),r={url:`http://${a}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":h,Accept:"*/*"}};$.post(r,(t,s,i)=>e(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),s=this.path.resolve(process.cwd(),this.dataFile),e=this.fs.existsSync(t),i=!e&&this.fs.existsSync(s);if(!e&&!i)return{};{const i=e?t:s;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),s=this.path.resolve(process.cwd(),this.dataFile),e=this.fs.existsSync(t),i=!e&&this.fs.existsSync(s),o=JSON.stringify(this.data);e?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(s,o):this.fs.writeFileSync(t,o)}}lodash_get(t,s,e){const i=s.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return e;return o}lodash_set(t,s,e){return Object(t)!==t?t:(Array.isArray(s)||(s=s.toString().match(/[^.[\]]+/g)||[]),s.slice(0,-1).reduce((t,e,i)=>Object(t[e])===t[e]?t[e]:t[e]=Math.abs(s[i+1])>>0==+s[i+1]?[]:{},t)[s[s.length-1]]=e,t)}getdata(t){let s=this.getval(t);if(/^@/.test(t)){const[,e,i]=/^@(.*?)\.(.*?)$/.exec(t),o=e?this.getval(e):"";if(o)try{const t=JSON.parse(o);s=t?this.lodash_get(t,i,""):s}catch(t){s=""}}return s}setdata(t,s){let e=!1;if(/^@/.test(s)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(s),h=this.getval(i),a=i?"null"===h?null:h||"{}":"{}";try{const s=JSON.parse(a);this.lodash_set(s,o,t),e=this.setval(JSON.stringify(s),i)}catch(s){const h={};this.lodash_set(h,o,t),e=this.setval(JSON.stringify(h),i)}}else e=$.setval(t,s);return e}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.data[t]||null}setval(t,s){return this.isSurge()||this.isLoon()?$persistentStore.write(t,s):this.isQuanX()?$prefs.setValueForKey(t,s):this.isNode()?(this.data=this.loaddata(),this.data[s]=t,this.writedata(),!0):this.data&&this.data[s]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,s=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?$httpClient.get(t,(t,e,i)=>{!t&&e&&(e.body=i,e.statusCode=e.status),s(t,e,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:e,statusCode:i,headers:o,body:h}=t;s(null,{status:e,statusCode:i,headers:o,body:h},h)},t=>s(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,s)=>{try{const e=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();this.ckjar.setCookieSync(e,null),s.cookieJar=this.ckjar}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:e,statusCode:i,headers:o,body:h}=t;s(null,{status:e,statusCode:i,headers:o,body:h},h)},t=>s(t)))}post(t,s=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),delete t.headers["Content-Length"],this.isSurge()||this.isLoon())$httpClient.post(t,(t,e,i)=>{!t&&e&&(e.body=i,e.statusCode=e.status),s(t,e,i)});else if(this.isQuanX())t.method="POST",$task.fetch(t).then(t=>{const{statusCode:e,statusCode:i,headers:o,body:h}=t;s(null,{status:e,statusCode:i,headers:o,body:h},h)},t=>s(t));else if(this.isNode()){this.initGotEnv(t);const{url:e,...i}=t;this.got.post(e,i).then(t=>{const{statusCode:e,statusCode:i,headers:o,body:h}=t;s(null,{status:e,statusCode:i,headers:o,body:h},h)},t=>s(t))}}time(t){let s={"M+":(new Date).getMonth()+1,"d+":(new Date).getDate(),"H+":(new Date).getHours(),"m+":(new Date).getMinutes(),"s+":(new Date).getSeconds(),"q+":Math.floor(((new Date).getMonth()+3)/3),S:(new Date).getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,((new Date).getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in s)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?s[e]:("00"+s[e]).substr((""+s[e]).length)));return t}msg(s=t,e="",i="",o){const h=t=>!t||!this.isLoon()&&this.isSurge()?t:"string"==typeof t?this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0:"object"==typeof t&&(t["open-url"]||t["media-url"])?this.isLoon()?t["open-url"]:this.isQuanX()?t:void 0:void 0;$.isMute||(this.isSurge()||this.isLoon()?$notification.post(s,e,i,h(o)):this.isQuanX()&&$notify(s,e,i,h(o))),this.logs.push("","==============\ud83d\udce3\u7cfb\u7edf\u901a\u77e5\ud83d\udce3=============="),this.logs.push(s),e&&this.logs.push(e),i&&this.logs.push(i)}log(...t){t.length>0?this.logs=[...this.logs,...t]:console.log(this.logs.join(this.logSeparator))}logErr(t,s){const e=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();e?$.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t.stack):$.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t)}wait(t){return new Promise(s=>setTimeout(s,t))}done(t={}){const s=(new Date).getTime(),e=(s-this.startTime)/1e3;this.log("",`\ud83d\udd14${this.name}, \u7ed3\u675f! \ud83d\udd5b ${e} \u79d2`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,s)} 863 | -------------------------------------------------------------------------------- /chd.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @枫叶 3 | * 变量:elmck: 必填,账号cookie 4 | * cron 1 1 11 * * * 5 | */ 6 | 7 | const $ = new Env('枫叶_吃货豆'); 8 | 9 | const _0x49d5f0=_0x1c0a;(function(_0x5731f2,_0x2b98d3){const _0x3c8780=_0x1c0a,_0x433e78=_0x5731f2();while(!![]){try{const _0x480bd5=parseInt(_0x3c8780(0x21c))/(-0x251f+-0xb9*-0x1d+0x102b)+parseInt(_0x3c8780(0x268))/(0x5*0x20c+-0xa02+-0x38)*(parseInt(_0x3c8780(0x278))/(0x11bd+-0x422+-0xd98))+-parseInt(_0x3c8780(0x23c))/(0x2547+0xfe8+-0x352b)+parseInt(_0x3c8780(0x20b))/(0x1774+0x2*0x601+-0x2371)+parseInt(_0x3c8780(0x24e))/(0xd05*0x3+0x23*-0xfa+-0x4db)*(-parseInt(_0x3c8780(0x1f5))/(0xbef*-0x1+0x11a+0xadc))+-parseInt(_0x3c8780(0x263))/(0x1*0x2217+-0x1*0x1385+-0xe8a)+parseInt(_0x3c8780(0x21a))/(-0x1115+-0x1ec5+-0x12b*-0x29)*(parseInt(_0x3c8780(0x22e))/(0x1d*-0x81+0x1274+0x7*-0x8b));if(_0x480bd5===_0x2b98d3)break;else _0x433e78['push'](_0x433e78['shift']());}catch(_0x21acde){_0x433e78['push'](_0x433e78['shift']());}}}(_0x16f6,-0x2a17*-0x11+0x2337b+-0x29536));const _0x18c943=(function(){const _0x16d3bd=_0x1c0a,_0x5a7f32={'cimVF':function(_0x3b0193,_0x793b50){return _0x3b0193===_0x793b50;},'aEcrq':_0x16d3bd(0x203),'ILylt':_0x16d3bd(0x23a)};let _0x577c7b=!![];return function(_0x412e85,_0x30565c){const _0x37ae43=_0x577c7b?function(){const _0x431c3e=_0x1c0a;if(_0x5a7f32[_0x431c3e(0x1b2)](_0x5a7f32[_0x431c3e(0x1e1)],_0x5a7f32[_0x431c3e(0x234)]))_0x83d7a[_0x431c3e(0x1a9)](_0x12ca2e[_0x431c3e(0x199)]+'完成');else{if(_0x30565c){const _0x44e560=_0x30565c['apply'](_0x412e85,arguments);return _0x30565c=null,_0x44e560;}}}:function(){};return _0x577c7b=![],_0x37ae43;};}());(function(){const _0xaad6af=_0x1c0a,_0x2137f5={'AOBXS':_0xaad6af(0x1f9),'bDSME':function(_0x1a959d,_0x312835){return _0x1a959d+_0x312835;},'DPkwK':_0xaad6af(0x1d8),'PhlDP':function(_0x28f20a,_0x186c2c){return _0x28f20a(_0x186c2c);},'nCwzV':_0xaad6af(0x215),'hlsoO':_0xaad6af(0x262),'ufAAT':'init','dbgNH':'input','mfzuQ':function(_0x4d69b1,_0x40ef83,_0x2c12dc){return _0x4d69b1(_0x40ef83,_0x2c12dc);}};_0x2137f5[_0xaad6af(0x196)](_0x18c943,this,function(){const _0x30e572=_0xaad6af,_0xf157c5={'BFFID':_0x2137f5[_0x30e572(0x1b9)],'EhRIt':function(_0x3bff1f,_0x41b9aa){return _0x2137f5['bDSME'](_0x3bff1f,_0x41b9aa);},'SbhJt':_0x2137f5['DPkwK'],'EwOzA':function(_0x1442d2,_0x6a6013){const _0x296b00=_0x30e572;return _0x2137f5[_0x296b00(0x1b8)](_0x1442d2,_0x6a6013);},'DDBMj':_0x30e572(0x25b),'DZUKi':function(_0x2314ea,_0x56c48f){return _0x2137f5['PhlDP'](_0x2314ea,_0x56c48f);},'CtfeN':function(_0x5ba924){return _0x5ba924();}};if(_0x2137f5[_0x30e572(0x21d)]===_0x2137f5[_0x30e572(0x21d)]){const _0xcfab79=new RegExp(_0x2137f5[_0x30e572(0x1b9)]),_0x17ffa8=new RegExp(_0x2137f5[_0x30e572(0x20c)],'i'),_0x48e0f7=_0x2137f5[_0x30e572(0x1a6)](_0x38f19a,_0x2137f5[_0x30e572(0x231)]);!_0xcfab79[_0x30e572(0x223)](_0x2137f5['bDSME'](_0x48e0f7,_0x2137f5[_0x30e572(0x1fa)]))||!_0x17ffa8[_0x30e572(0x223)](_0x48e0f7+_0x2137f5[_0x30e572(0x27b)])?_0x2137f5[_0x30e572(0x1a6)](_0x48e0f7,'0'):_0x38f19a();}else{const _0x20e072=new _0x3957d1(_0xf157c5[_0x30e572(0x1a3)]),_0x56dcf9=new _0x554718(_0x30e572(0x262),'i'),_0x3d9278=_0x3d1ed8(_0x30e572(0x239));!_0x20e072[_0x30e572(0x223)](_0xf157c5[_0x30e572(0x1f1)](_0x3d9278,_0xf157c5[_0x30e572(0x25f)]))||!_0x56dcf9['test'](_0xf157c5[_0x30e572(0x260)](_0x3d9278,_0xf157c5['DDBMj']))?_0xf157c5[_0x30e572(0x1db)](_0x3d9278,'0'):_0xf157c5[_0x30e572(0x24a)](_0x402308);}})();}());const {validateCarmeWithType,commonRequest,getCookies,getUserInfoWithX,wait,REQ,getCoordinates}=require('./common.js'),ELE_CARME=process[_0x49d5f0(0x246)]['ELE_CARME'];class USER extends REQ{constructor(_0x298734,_0x3ff457,_0x38d1e9){const _0x33de9b=_0x49d5f0;super(),this[_0x33de9b(0x1ac)]=_0x298734,this[_0x33de9b(0x274)]=_0x3ff457,this[_0x33de9b(0x214)]=_0x38d1e9;}async['userInfo'](){const _0x570bf0=_0x49d5f0,_0x2ca7a3={'akhhc':_0x570bf0(0x262),'bJMCV':function(_0x4d66be,_0x1863e1){return _0x4d66be(_0x1863e1);},'GCjCL':function(_0x34580a,_0x1858ab){return _0x34580a+_0x1858ab;},'kfWbz':function(_0x29162e){return _0x29162e();},'iisBA':function(_0x9e453d,_0x57493d,_0x36ba21){return _0x9e453d(_0x57493d,_0x36ba21);},'YuYWy':function(_0x427f0b,_0x5e12de,_0xa1bfe2){return _0x427f0b(_0x5e12de,_0xa1bfe2);},'bbLIw':_0x570bf0(0x204),'DQkYy':_0x570bf0(0x217),'gmRVP':function(_0x3ea936,_0x146978){return _0x3ea936!==_0x146978;},'pyYAQ':'xxhpF','xQtby':'waimai-guide.ele.me','lHxbp':_0x570bf0(0x1ba)},_0x405c01=await _0x2ca7a3[_0x570bf0(0x256)](getUserInfoWithX,this[_0x570bf0(0x1ac)],0x264d+0xa0b*0x1+-0x3055),_0x40fb63={'lgrsRequestItems':_0x2ca7a3['bbLIw'],'latitude':this[_0x570bf0(0x274)],'longitude':this[_0x570bf0(0x214)]},_0x12eef3=_0x2ca7a3[_0x570bf0(0x1c4)];let _0x4e3615={};try{if(_0x2ca7a3['gmRVP'](_0x2ca7a3[_0x570bf0(0x20e)],_0x570bf0(0x24f))){const _0x324176=await commonRequest(this['cookie'],JSON[_0x570bf0(0x1c8)](_0x40fb63),_0x12eef3,-0x1dd0*-0x1+-0xe*0x5a+-0x1*0x18e1,_0x2ca7a3[_0x570bf0(0x1bd)],process['env'][_0x570bf0(0x212)]);_0x324176[_0x570bf0(0x26b)]&&_0x324176[_0x570bf0(0x26b)][0x29*0xd1+0x12ed+0x1*-0x3466]&&_0x324176['ret'][0x234d+0x16ae*0x1+-0x39fb]['includes'](_0x2ca7a3[_0x570bf0(0x230)])&&(_0x4e3615=_0x324176,this[_0x570bf0(0x1f6)]={..._0x405c01,..._0x4e3615});}else xZkUnu[_0x570bf0(0x222)](_0x2288b9,this,function(){const _0x28be59=_0x570bf0,_0x75df28=new _0x4a1dd3(_0x28be59(0x1f9)),_0x55b780=new _0x1434ac(xZkUnu[_0x28be59(0x244)],'i'),_0x53ca9a=xZkUnu['bJMCV'](_0x23ab0a,'init');!_0x75df28[_0x28be59(0x223)](xZkUnu[_0x28be59(0x1af)](_0x53ca9a,_0x28be59(0x1d8)))||!_0x55b780[_0x28be59(0x223)](xZkUnu[_0x28be59(0x1af)](_0x53ca9a,_0x28be59(0x25b)))?_0x53ca9a('0'):xZkUnu[_0x28be59(0x261)](_0x30a817);})();}catch(_0x431c4e){console[_0x570bf0(0x1a9)](_0x431c4e);}return{..._0x405c01,..._0x4e3615};}async['dosign'](){const _0x52a7a4=_0x49d5f0,_0x9aa4cc={'riOLs':_0x52a7a4(0x19c),'FccJp':_0x52a7a4(0x24c),'fUPBT':_0x52a7a4(0x1c3),'MXPPV':function(_0x4db882,_0x29560d,_0x9b1046,_0x4ced80,_0x536068,_0x12a50c,_0x4eeaac){return _0x4db882(_0x29560d,_0x9b1046,_0x4ced80,_0x536068,_0x12a50c,_0x4eeaac);},'jaoLr':_0x52a7a4(0x266),'TaJlA':_0x52a7a4(0x1f4),'tSXQW':function(_0x34d30c,_0xb0b913){return _0x34d30c(_0xb0b913);},'zctZq':function(_0x76fb49,_0xddcda5){return _0x76fb49!==_0xddcda5;}},_0x55df9a={'bizScene':_0x9aa4cc['riOLs'],'asac':_0x52a7a4(0x1ff),'ua':_0x9aa4cc['FccJp'],'umidToken':_0x9aa4cc[_0x52a7a4(0x1a5)],'latitude':this['latitude'],'longitude':this[_0x52a7a4(0x214)]},_0x3d5800=_0x52a7a4(0x1d9);try{if(_0x52a7a4(0x1e8)!==_0x52a7a4(0x1e8))_0x2af7a1[_0x52a7a4(0x1a9)](_0x52a7a4(0x1e6));else{const _0x43f81e=await _0x9aa4cc[_0x52a7a4(0x1f2)](commonRequest,this[_0x52a7a4(0x1ac)],JSON['stringify'](_0x55df9a),_0x3d5800,0x1*0x1a68+0x1e73+0xd6*-0x44,_0x9aa4cc['jaoLr'],process['env'][_0x52a7a4(0x212)]);if(_0x43f81e[_0x52a7a4(0x1a8)]&&_0x43f81e[_0x52a7a4(0x1a8)][_0x52a7a4(0x195)]){if(_0x52a7a4(0x194)==='GuNeT')return console[_0x52a7a4(0x1a9)](_0x52a7a4(0x1cb)+_0x43f81e[_0x52a7a4(0x1a8)][_0x52a7a4(0x195)]),![];else _0x2315e6[_0x52a7a4(0x1a9)](_0x30f3f1);}else{if(_0x9aa4cc[_0x52a7a4(0x27d)]!==_0x9aa4cc[_0x52a7a4(0x27d)]){const _0x48825e=_0x55b627['apply'](_0x52aa56,arguments);return _0x1f9d00=null,_0x48825e;}else{const _0x152820=_0x43f81e[_0x52a7a4(0x1a8)]['data'][_0x52a7a4(0x26a)][_0x52a7a4(0x1f0)];return console[_0x52a7a4(0x1a9)](_0x52a7a4(0x1cb)+_0x152820),await _0x9aa4cc['tSXQW'](_0x1a2f0c,0x1552+0x13*0x137+-0x2c66),_0x9aa4cc['zctZq'](_0x480b1d,-0x43a+-0x1*-0xa93+-0xe8*0x7);}}}}catch(_0x5bccf8){return![];}}async['taskList'](){const _0x2f2f82=_0x49d5f0,_0x2882d8={'VOwZk':_0x2f2f82(0x1d1),'RmCBF':_0x2f2f82(0x1ba),'QnZSU':function(_0x276381,_0x101699){return _0x276381!==_0x101699;},'CTkZs':_0x2f2f82(0x23e),'ptkED':function(_0x3f0f4b,_0x2e0804){return _0x3f0f4b(_0x2e0804);},'VFyUt':function(_0x6441cd,_0x20bc2e){return _0x6441cd!==_0x20bc2e;},'xRSYX':_0x2f2f82(0x1e2),'EPrmg':_0x2f2f82(0x1a0),'qPwKr':function(_0x1785cb,_0xcc2937){return _0x1785cb===_0xcc2937;},'qGvUh':_0x2f2f82(0x1f3),'YKEXZ':_0x2f2f82(0x252),'TLOkk':_0x2f2f82(0x243),'FFlYw':_0x2f2f82(0x1cf),'eGJEv':function(_0x4761f6,_0x3cbfed,_0x4e30e3,_0x58281a,_0x1e0600,_0x2bfcfb,_0x5da18d){return _0x4761f6(_0x3cbfed,_0x4e30e3,_0x58281a,_0x1e0600,_0x2bfcfb,_0x5da18d);},'xzWBs':_0x2f2f82(0x258)},_0x44429f={'callSource':_0x2882d8['YKEXZ'],'lgrsRequestItems':_0x2882d8[_0x2f2f82(0x1d4)],'extra':_0x2882d8[_0x2f2f82(0x1d2)],'latitude':this['latitude'],'longitude':this['longitude']},_0x3e79a2=_0x2f2f82(0x217),_0x703d56=await _0x2882d8[_0x2f2f82(0x1e0)](commonRequest,this['cookie'],JSON['stringify'](_0x44429f),_0x3e79a2,-0x81*0x38+-0x1870+0x34ab,_0x2882d8[_0x2f2f82(0x227)],process[_0x2f2f82(0x246)][_0x2f2f82(0x212)]),_0x21274f=_0x703d56['data'][_0x2f2f82(0x1a8)][_0x2f2f82(0x1e3)][_0x2f2f82(0x1a8)],_0x1d98fd=_0x21274f[_0x2f2f82(0x254)](_0x45093c=>{const _0x54510c=_0x2f2f82;return _0x45093c[_0x54510c(0x22b)]===_0x2882d8[_0x54510c(0x253)];})['map'](_0x45e570=>{const _0x4427aa=_0x2f2f82,_0x3c31f7={'gLvgY':_0x2882d8[_0x4427aa(0x257)]};if(_0x2882d8[_0x4427aa(0x1be)]('oNmYn',_0x2882d8[_0x4427aa(0x273)])){if(_0x44a241['ret'][0x12d7+-0x1136+-0x1a1][_0x4427aa(0x19d)](_0x3c31f7[_0x4427aa(0x20d)]))_0x4d0f9a['log'](_0x5d2a7f[_0x4427aa(0x199)]+'完成');else _0x41acec[_0x4427aa(0x26b)][0x2f*0x9b+0xe9+-0x1d5e][_0x4427aa(0x19d)](_0x3c31f7[_0x4427aa(0x20d)])?_0x4da366[_0x4427aa(0x1a9)](_0x4d8a89['showTitle']+_0x4427aa(0x27f)+_0x2a1c4e['data'][_0x4427aa(0x1a4)]):_0x47ca4d['log'](_0x1da633[_0x4427aa(0x199)]+_0x4427aa(0x247));}else return{'showTitle':_0x45e570[_0x4427aa(0x199)],'missionCollectionId':_0x45e570['missionCollectionId'],'missionDefId':_0x45e570[_0x4427aa(0x264)],'missionXId':_0x45e570[_0x4427aa(0x197)],'type':_0x2882d8[_0x4427aa(0x253)]};}),_0x4753d7=_0x21274f[_0x2f2f82(0x254)](_0x2989b9=>{const _0x196e79=_0x2f2f82;if(_0x2882d8[_0x196e79(0x1ce)](_0x2882d8['xRSYX'],_0x2882d8[_0x196e79(0x236)]))return _0x2882d8[_0x196e79(0x1d6)](_0x2989b9[_0x196e79(0x22b)],_0x2882d8[_0x196e79(0x272)]);else DYnGfB['ptkED'](_0x12e476,'0');})['map'](_0x1afec5=>{const _0x2dedff=_0x2f2f82;return{'showTitle':_0x1afec5['showTitle'],'missionCollectionId':_0x1afec5[_0x2dedff(0x1fd)],'missionDefId':_0x1afec5[_0x2dedff(0x264)],'missionXId':_0x1afec5[_0x2dedff(0x197)],'pageSpm':_0x1afec5[_0x2dedff(0x20a)],'pageStageTime':_0x1afec5['pageStageTime'],'asac':_0x1afec5['asac'],'type':_0x2dedff(0x1f3)};});return{'SIMPLESIGNIN':_0x1d98fd,'PAGEVIEW':_0x4753d7};}async[_0x49d5f0(0x206)](_0x177e6e,_0x318bb6,_0x50586a,_0x1620df){const _0x447f6c=_0x49d5f0,_0x45b315={'kpeYv':_0x447f6c(0x1b4),'Ssgdo':_0x447f6c(0x1dd),'bhNkT':'mtop','myoua':function(_0xf5b61b,_0x4d42c9){return _0xf5b61b+_0x4d42c9;},'nONMU':function(_0x33016a,_0x34a816){return _0x33016a+_0x34a816;},'GksYo':function(_0x143fd3,_0x5a60c5){return _0x143fd3+_0x5a60c5;},'izlPX':function(_0x3a443b,_0x47d449){return _0x3a443b+_0x47d449;},'ySjLp':function(_0x31ace0,_0x58d3fa){return _0x31ace0+_0x58d3fa;},'CeBBE':_0x447f6c(0x1ec),'ZpeBf':',\x22missionType\x22:\x22','qRmLK':_0x447f6c(0x1a2),'yIgRv':_0x447f6c(0x1a7),'YeclC':function(_0x4d1b63,_0x2172b2,_0x317fdf,_0x515dc6,_0x199b19,_0x222633,_0x460935){return _0x4d1b63(_0x2172b2,_0x317fdf,_0x515dc6,_0x199b19,_0x222633,_0x460935);},'Iuakp':_0x447f6c(0x258)},_0xe57743=_0x45b315[_0x447f6c(0x1b3)],_0x2207e2={'resId':_0x45b315[_0x447f6c(0x1b0)],'source':_0x45b315[_0x447f6c(0x240)],'ua':_0x447f6c(0x201),'umidToken':_0x447f6c(0x1eb),'extra':_0x45b315[_0x447f6c(0x1e7)](_0x45b315[_0x447f6c(0x1e7)](_0x45b315[_0x447f6c(0x228)](_0x45b315[_0x447f6c(0x228)](_0x45b315[_0x447f6c(0x1e4)](_0x45b315[_0x447f6c(0x208)](_0x45b315[_0x447f6c(0x1d3)](_0x45b315[_0x447f6c(0x249)],_0x177e6e)+_0x447f6c(0x1b7),_0x318bb6),_0x45b315[_0x447f6c(0x224)]),_0x50586a),_0x45b315['qRmLK']),_0x1620df),'\x22}'),'callSource':_0x45b315[_0x447f6c(0x23b)],'latitude':this[_0x447f6c(0x274)],'longitude':this['longitude']};return await _0x45b315['YeclC'](commonRequest,this[_0x447f6c(0x1ac)],JSON[_0x447f6c(0x1c8)](_0x2207e2),_0xe57743,-0x1940+0x21b7+-0x874*0x1,_0x45b315[_0x447f6c(0x1aa)],process[_0x447f6c(0x246)][_0x447f6c(0x212)]);}async['pageViewTask'](_0x55f43d,_0x2b44b5,_0x4f6026,_0x1d810c,_0x1894f2){const _0x16275b=_0x49d5f0,_0x1cb723={'AEbtl':_0x16275b(0x1f3),'YnHQx':'svip','pSRDK':_0x16275b(0x19b),'EMyZa':_0x16275b(0x275),'azAWe':_0x16275b(0x21f),'QSzoA':function(_0xc2324c,_0x21a144,_0xc27179,_0x5e1e1c,_0x1e9d98,_0x1c435b,_0x3f9918){return _0xc2324c(_0x21a144,_0xc27179,_0x5e1e1c,_0x1e9d98,_0x1c435b,_0x3f9918);},'FUlkQ':'waimai-guide.ele.me'},_0x56f79d=_0x16275b(0x22c),_0xfe69a1={'collectionId':_0x2b44b5,'missionId':_0x55f43d,'actionCode':_0x1cb723[_0x16275b(0x202)],'pageFrom':_0x4f6026,'viewTime':_0x1894f2,'bizScene':_0x1cb723[_0x16275b(0x1bf)],'accountPlan':_0x1cb723['pSRDK'],'sync':_0x1cb723[_0x16275b(0x1c6)],'asac':_0x1d810c,'ua':_0x1cb723['azAWe'],'umidtoken':_0x16275b(0x25c)};return await _0x1cb723[_0x16275b(0x229)](commonRequest,this['cookie'],JSON['stringify'](_0xfe69a1),_0x56f79d,0x1*0x7ac+0x22c*0xa+-0x17*0x147,_0x1cb723['FUlkQ'],process['env']['x5sec']);}async[_0x49d5f0(0x250)](_0x4c15cd,_0x5d7389,_0x52011f,_0x2b0299,_0x38705b,_0x2103e1,_0x489e1c){const _0x2df8c6=_0x49d5f0,_0x2cb6ba={'AvrXn':_0x2df8c6(0x1ba),'OJyou':function(_0x528099,_0x555dea){return _0x528099===_0x555dea;},'EoGEV':_0x2df8c6(0x233),'HkdwP':function(_0x571fa5,_0x4bad22){return _0x571fa5(_0x4bad22);},'wkrQb':_0x2df8c6(0x1e6),'uLBMc':function(_0x374eee,_0x100a01){return _0x374eee===_0x100a01;},'SRcRg':_0x2df8c6(0x221)},_0x59ed95=await this[_0x2df8c6(0x206)](_0x4c15cd,_0x5d7389,_0x52011f,_0x2b0299);if(_0x59ed95[_0x2df8c6(0x26b)][0x1ef1+-0x1*-0x133+0x809*-0x4][_0x2df8c6(0x19d)](_0x2cb6ba['AvrXn'])){if(_0x2cb6ba[_0x2df8c6(0x251)](_0x2df8c6(0x1df),_0x2cb6ba['EoGEV']))_0x365f00[_0x2df8c6(0x1a9)](_0x472661);else{console[_0x2df8c6(0x1a9)](_0x2df8c6(0x1c2)),await _0x2cb6ba[_0x2df8c6(0x1ef)](wait,0x2327+-0x1*0x1e57+-0x4c1);const _0x532036=await this['pageViewTask'](_0x4c15cd,_0x5d7389,_0x38705b,_0x2103e1,_0x489e1c);return _0x532036;}}else{if(_0x59ed95[_0x2df8c6(0x26b)][-0xcd2+-0x2029*0x1+0x1*0x2cfb][_0x2df8c6(0x19d)](_0x2cb6ba[_0x2df8c6(0x1de)]))console['log'](_0x2cb6ba[_0x2df8c6(0x235)]);else{if(_0x2cb6ba[_0x2df8c6(0x1fb)](_0x2cb6ba[_0x2df8c6(0x211)],_0x2df8c6(0x25d)))_0x3ee36e[_0x2df8c6(0x1a9)](_0x9da4a6[_0x2df8c6(0x199)]+'完成');else return console[_0x2df8c6(0x1a9)](_0x59ed95),![];}}}};((async()=>{const _0xde9649=_0x49d5f0,_0x1b7bc6={'afUtU':function(_0x237997,_0x190505){return _0x237997+_0x190505;},'MIfbg':'debu','hFueL':_0xde9649(0x1d5),'OdTMC':_0xde9649(0x26e),'gqtfV':function(_0x15d51f,_0x2a7dfa){return _0x15d51f===_0x2a7dfa;},'gcgoU':function(_0x56448e,_0x79ffb2,_0x43add6){return _0x56448e(_0x79ffb2,_0x43add6);},'ltMcx':function(_0x13e387,_0x7fe596){return _0x13e387(_0x7fe596);},'kZzLP':function(_0x12e92a){return _0x12e92a();},'usyOG':_0xde9649(0x200),'qsexL':function(_0x4c2d3d,_0x508060){return _0x4c2d3d+_0x508060;},'jeSEr':'\x0a******\x20🍁','bvjXO':function(_0x3585d0,_0x4d5cf1){return _0x3585d0+_0x4d5cf1;},'REflw':_0xde9649(0x241),'NWJYV':_0xde9649(0x1c0),'igGXC':_0xde9649(0x1ad),'JMuEh':_0xde9649(0x26d),'mTGiS':_0xde9649(0x1c9),'HDbfc':'SUCCESS','xlUVf':function(_0x583a72,_0xc6b2ea){return _0x583a72===_0xc6b2ea;},'vRoUC':_0xde9649(0x232),'lERfm':_0xde9649(0x1cc),'Lfesa':'🍁🍁等待1秒🍁🍁','Ldbtw':function(_0x2b7e12,_0x2a7fe1){return _0x2b7e12(_0x2a7fe1);},'hUsgD':function(_0x52c008,_0x3423a1){return _0x52c008===_0x3423a1;},'OwECp':_0xde9649(0x1c7),'dPnHG':_0xde9649(0x1c5),'LPMZs':function(_0x23eb54,_0x2fdcd9){return _0x23eb54===_0x2fdcd9;},'GwEkU':_0xde9649(0x1ed),'efPMz':function(_0x5a23ec,_0x434d32){return _0x5a23ec!==_0x434d32;},'pLaDR':function(_0x36ec21,_0x271919){return _0x36ec21(_0x271919);},'cwFVD':_0xde9649(0x1fe),'igLby':function(_0x3be620,_0x25ab3a){return _0x3be620(_0x25ab3a);}};await _0x1b7bc6[_0xde9649(0x271)](validateCarmeWithType,ELE_CARME,-0x23dd+-0x1*-0x1f49+0x1*0x495);const _0x33573a=_0x1b7bc6[_0xde9649(0x242)](getCookies,_0xde9649(0x1f8)),{latitude:_0x1a8782,longitude:_0x29b842}=await _0x1b7bc6[_0xde9649(0x21e)](getCoordinates),_0x481606=[];for(const _0x168d64 of _0x33573a){_0x481606[_0xde9649(0x1c1)](new USER(_0x168d64,_0x1a8782,_0x29b842));}console['log'](_0x1b7bc6[_0xde9649(0x24d)]);for(let _0x183bee=-0x66d+0xf66+-0x8f9*0x1;_0x183bee<_0x481606[_0xde9649(0x218)];_0x183bee++){const _0x4250d2=_0x481606[_0x183bee];await _0x4250d2['userInfo']();if(_0x4250d2[_0xde9649(0x1f6)]&&_0x4250d2['userinfo'][-0xbf5*0x3+-0x670+0x2a4f*0x1]){console[_0xde9649(0x1a9)]('第',_0x183bee+(0x2*0x61+-0x1*-0xb66+-0xc27),_0xde9649(0x19f));continue;}if(!_0x4250d2[_0xde9649(0x1f6)]||!_0x4250d2[_0xde9649(0x1f6)]['userName'])continue;console['log'](_0x1b7bc6[_0xde9649(0x1b6)](_0x1b7bc6[_0xde9649(0x270)],_0x1b7bc6[_0xde9649(0x210)](_0x183bee,0x2028+0x80c+0x29*-0xfb)),_0x4250d2[_0xde9649(0x1f6)]['encryptMobile'],_0xde9649(0x24b)),console[_0xde9649(0x1a9)](_0x1b7bc6['REflw'],_0x4250d2['userinfo'][_0xde9649(0x27e)]),console['log'](_0x1b7bc6[_0xde9649(0x1d7)],_0x4250d2[_0xde9649(0x1f6)][_0xde9649(0x1a8)][_0xde9649(0x1a8)][_0x1b7bc6[_0xde9649(0x267)]][_0xde9649(0x1a8)][0x24b+-0x1362+-0x7*-0x271][_0x1b7bc6[_0xde9649(0x259)]]),await _0x4250d2['dosign']();const {SIMPLESIGNIN:_0x5588f7,PAGEVIEW:_0x49ee78}=await _0x4250d2[_0xde9649(0x245)]();for(const _0x38ef9a of _0x5588f7){console[_0xde9649(0x1a9)]('去完成任务=>'+_0x38ef9a[_0xde9649(0x199)]);try{if(_0x1b7bc6[_0xde9649(0x1ca)](_0x1b7bc6[_0xde9649(0x276)],_0xde9649(0x25a)))return _0x2a9a0a;else{const _0x272d27=await _0x4250d2[_0xde9649(0x206)](_0x38ef9a['missionDefId'],_0x38ef9a[_0xde9649(0x1fd)],_0x38ef9a['type'],_0x38ef9a[_0xde9649(0x197)]);if(_0x272d27[_0xde9649(0x26b)][0xe62+-0x6*-0x57a+-0x2f3e][_0xde9649(0x19d)](_0x1b7bc6[_0xde9649(0x238)])&&_0x272d27[_0xde9649(0x1a8)][_0xde9649(0x23f)])console['log'](_0x38ef9a[_0xde9649(0x199)]+'完成');else _0x272d27[_0xde9649(0x26b)][-0x16b0+-0x241a+0x3aca][_0xde9649(0x19d)](_0x1b7bc6['HDbfc'])?console[_0xde9649(0x1a9)](_0x38ef9a[_0xde9649(0x199)]+'出现问题'+_0x272d27[_0xde9649(0x1a8)][_0xde9649(0x1a4)]):console['log'](_0x38ef9a[_0xde9649(0x199)]+'可能出现问题');}}catch(_0x45c9b6){_0x1b7bc6['xlUVf'](_0x1b7bc6[_0xde9649(0x26c)],_0x1b7bc6[_0xde9649(0x1e9)])?_0x372518[_0xde9649(0x1a9)](_0x3c9a3f[_0xde9649(0x199)]+_0xde9649(0x247)):console[_0xde9649(0x1a9)](_0x45c9b6);}console[_0xde9649(0x1a9)](_0x1b7bc6[_0xde9649(0x1ab)]),await _0x1b7bc6[_0xde9649(0x27a)](wait,0x1c91+0x634+-0x1bd*0x14);}for(const _0x594468 of _0x49ee78){if(_0x1b7bc6[_0xde9649(0x219)](_0x1b7bc6[_0xde9649(0x23d)],_0xde9649(0x1cd)))return![];else{console['log'](_0xde9649(0x213)+_0x594468[_0xde9649(0x199)]);try{if(_0xde9649(0x1c5)===_0x1b7bc6['dPnHG']){const _0x4c49a0=await _0x4250d2[_0xde9649(0x250)](_0x594468[_0xde9649(0x264)],_0x594468['missionCollectionId'],_0x594468[_0xde9649(0x26f)],_0x594468[_0xde9649(0x197)],_0x594468['pageSpm'],_0x594468['asac'],_0x594468[_0xde9649(0x1a1)]);if(_0x4c49a0){if(_0x1b7bc6[_0xde9649(0x1ee)]('OaIym',_0x1b7bc6[_0xde9649(0x205)]))(function(){return!![];}[_0xde9649(0x22a)](mtozlA[_0xde9649(0x198)](mtozlA[_0xde9649(0x207)],mtozlA[_0xde9649(0x1e5)]))['call'](mtozlA[_0xde9649(0x1ae)]));else{if(_0x4c49a0['ret'][0x35c*0x4+-0x1*-0x20f3+-0x2e63][_0xde9649(0x19d)](_0x1b7bc6[_0xde9649(0x238)]))console[_0xde9649(0x1a9)](_0x594468['showTitle']+'完成');else{if(_0x4c49a0['ret'][-0x1819+0x1778+-0x7*-0x17]['includes'](_0x1b7bc6[_0xde9649(0x238)])){if(_0x1b7bc6[_0xde9649(0x22d)](_0xde9649(0x1dc),_0xde9649(0x277)))console[_0xde9649(0x1a9)](_0x594468[_0xde9649(0x199)]+_0xde9649(0x27f)+_0x4c49a0[_0xde9649(0x1a8)][_0xde9649(0x1a4)]);else return![];}else console[_0xde9649(0x1a9)](_0x594468['showTitle']+_0xde9649(0x247));}}}}else return _0x1b7bc6[_0xde9649(0x1ca)](_0x48366f[_0xde9649(0x22b)],_0xde9649(0x1d1));}catch(_0x594665){console[_0xde9649(0x1a9)](_0x594665);}console[_0xde9649(0x1a9)](_0x1b7bc6['Lfesa']),await _0x1b7bc6[_0xde9649(0x27c)](wait,0xec1*-0x2+0x130a+0xa79);}}await _0x4250d2[_0xde9649(0x19e)](),console[_0xde9649(0x1a9)](_0x1b7bc6[_0xde9649(0x1d7)],_0x4250d2[_0xde9649(0x1f6)][_0xde9649(0x1a8)][_0xde9649(0x1a8)][_0x1b7bc6[_0xde9649(0x267)]][_0xde9649(0x1a8)][0x2c7*0xe+-0x171b+0x241*-0x7][_0x1b7bc6[_0xde9649(0x259)]]),console[_0xde9649(0x1a9)](_0x1b7bc6['cwFVD']),await _0x1b7bc6[_0xde9649(0x237)](wait,0xe82+0x1a65+-0x28e6);}})());function _0x1c0a(_0x1c0a9c,_0x1a2732){const _0x21f285=_0x16f6();return _0x1c0a=function(_0x979fcc,_0x12a15a){_0x979fcc=_0x979fcc-(0x1*0x1409+-0x1071+-0x204);let _0x30c77d=_0x21f285[_0x979fcc];return _0x30c77d;},_0x1c0a(_0x1c0a9c,_0x1a2732);}function _0x16f6(){const _0x323c58=['223166','AvrXn','yWwaU','eGJEv','aEcrq','dQIac','224166','GksYo','hFueL','已完成该任务','myoua','eSQtl','lERfm','qovHN','T2gAGjr5Sfay_NOGxijdnPeCBHRLPf3q8F_TBKf1b4mBkg2anF5I3JahHbbhTeinxjw=','{\x22missionDefId\x22:','uvfwT','LPMZs','HkdwP','signSuccessText','EhRIt','MXPPV','PAGEVIEW','fDXeE','7SmXuCd','userinfo','KtPBo','elmck','function\x20*\x5c(\x20*\x5c)','DPkwK','uLBMc','call','missionCollectionId','🍁🍁防止挤爆了,等待1秒🍁🍁','2A227051WYEVFLNT5WTFAM','============开始任务============','140#Svs+qzE8zzWd9Qo2IQtl12Cuc73bSHo5O0qmrIDynAQ/3MZDczcESs2eZhfEvL4w4RE6lnenaTwq38Y5OLTUycgEWVohHxaxOeFYi0yEuVn5JjhcrtKUQN8GuLa6hk0t2wMVvVMyWv59XlBjpe8Tbn0V2vQWrdj0yvDVQ5MhZiz4SojLhDbO0w15AD3/srN0isgN9LMsan3C+eYio9zVe7DmZoDHBeduYlJfOLaHvNpzGCyawk6z/F0XOInO4WHfgZ1cODbH0nkLySDpNoJCloo+rizoGiwRrWuH3bOt6H8Dap/qdd9aesTfyFMsu5y3su+UBKV6GaJ2MfbIMaXQIRGimPg9K4/69hCEglXImVgpAcMFnGCTzuyS7XVIAkuUtPbTvV355p2l9n5nRndEfBTzSyJs6VE9PwolZH2HVLVGoexnIvyNLbT6K1eXSPs081W/CbGkY9paiidjTXQRoPCeE0/Ek2TZiCHgP0cc5lYVkFiVoKYWsh2mMBNl3LwLvC2kfbS9fMTLS3CHZ9v8VrZ3r9+tB3fFe+Xnr2tcHUKs4acHMUvxn73+BBI/xfBsbJU+EzanwoKcZgu/qTo4tT0etuc1EXeiQ1xVzXrrNBFzdEHI4kw1tKBJ6DLYK3T9EDc61tpDT/mPChf+ZTpTEFi4s0xf06pXVhNeGCaANwtLlL8wWzheV+pXTRuGB5g9/1TwenN1NkKNVlZU4Y12XqP31vwMCf0ffl5kCTuo0u6eDZ4Y2uZbcyTzn5Y6XoulrX/jM5qtW3ha/a/mhg6BIr9FMT0mASKX54HWqsA+8gScgQ5NXkt2qunJNCGRpZbfGkq3I4FFwJYEZaYmM80EjCx5wjhUYsLzsjtSkyMtHy++SB46gTb3Q11EXEZXtjLQx3UptmRPCyCNjPw983uXeO2fqADgD5plokRdD1AgA0MpCVF5ku6TYZWRUDv3RMGmvi7T1ht+GQH9AGIoME+r8QWAzmp87YTX1lWM8sptaXARF1CChrSv5aUs+/fpJTqK1pA6EXQIc94XiDAa1xxcdve3T6/kDmPayyQcbjY7mqgOL52hjhkH7N62wZmfL+7y9g1q3IlD2pOPiPdwJokBK8gX7VUgq0+VDzDoisKlyht7bkIyZDDMz5lL6LIuxRfflp1zzqi4EfXyLzzx7nHy9phqzFzb22U+ayXLseqEQlZDZs9+O8L/AxPro0uWXoM6Ji1xswDcEcoqhsZxNUn4w3T1FqAVXv3QRIweFpCB4nEJ+bdM2gs4oJCP/r2x2DuvuWdDmVzbm0YtdbDm2z4304LMzc5iDOU1i3H8zd8iEBVsYvtHZTW+7snwFyA3fTN6Eu+zP0Fp5GKr5V6fHDstCX3zzu5ihT8/cZiUy0xapkHphMXn2umZETwZFVLmBT0KMLswAs6I0TN3Ee6cmuowM3DPFFnd5Rqji+fRrsJDIu8xexu3BXw+0NqWZwi3fJaRvHiztP5qER7fEde3HrBuSL8ruFyLLug2QX3fZUSIl6/FyfcZXD2Dz7iEFfwr2u6xv7j8zuq9EvB/Rb3oncc9L3Y+ESrvbXE+sjEdzumpE3+mDrHCXHK3n6Yu0rx1D2EqwiOlkPnDndEvmFdD+wc5qpU4lfdEIOhmZbqwzHrVloDq9g2oR4IwKpkuuiaV240d1nszFTpLDQNXYxFUiDnREqUgPfnxe2U3NqQxDwllETcnQSMZmu7HQpKFZQiyeuIcUCbxWI3AQ1lZlSFx5wiLPL8RDUAymT5SlpLcwt+IEGPmIzLAeD7op5OBxriJXsvjeXbDPUj4V+VZel1oRcVgJ3BXGbriX1/2v9seqUGrNK8W0oPn2wPH9Ya7ztMMF282ltQzaIziSRrwd/1o2zUIO6hqzzxy2XMKvIF3zoMpV2UlqMrzpDc+V4utzQzgL18378xxzo1iV2EHeFDA9DH+VRQEzzDZ2X8+PfVGWDDPIXVqITTx2KIHI6TxFjAb2ctblp6VPIoOV1h/T+FD2zc4VpY0qzDeL28+MirxzKZmV2UhTboE28c3r36GzFDur1KDlad2zK+yV2Eb+Qrz0IK+VBs3Fzo82XUz+E2zsPMiVLJCegSr2PxrZlzEz29u2X8+l66RzPrb2QeFGHBP2IwNfm7c9/HdmEP3BCgkxcZcTUaFXSJshFI0fgfe4GibOW48gyXXwBxoCKLE8FWHU3SMFD9j0C6FAHhfsY52P4ICqlCU9bD/2949+OQXMTroQHGNRW7miTSiqeoESanV97mPzEetvd5mYMUWSLl8yBlBtAOzF3OXLAI3iTywWNZjthoztGC23Nj9RK96yahjhMGlv8P+CgiW1bSqcGdsEwU5iHIxH+RNI+w8pubYfVO1eo6GkuAGzlTyzzokpuc16LS0PQkEcJPe/IxKcafN1Io5yFlzCa10+dKI6Klndchr5XtX13OlYlRFVdv6gChOp4uPQvC6vY0X8ybPg+IZEmaOPvNGfv2ddLofRAH6SN3MjK0DhjP9AQDLh/geREHmZPHF/5/xg74BUdRM4ZitvmGZPb5N3Jf2G/nhY99rmbm3MocBjoxicmIoQCIyjQZQ7Q9jq6a2blmJ47WZcRAjLQEVPqgVJvXA4ypvX92atVeZ7fYPnYm/HxkZLfuN/vtymD4eJlr8839N+mJMu58ORUw38h2LNy88kBjfwiVi9I9Nd463JWgSyHTfb6A2SKJvhGgkWT8HDGFdeda96yOsC/lYx5wHwQvnSrsmBNTczxrk0TBwA5a+IhKFoZeF7+Jx5I4AjWXKwAJpjbVAX1SzXX4ZE1kMSj6ygIbxrLfq0ZdBjRLUCd/AQy3AMHCj5xHLsboPifP6mAGjrrLYTNgBIBEA8KqnAZWT/QpBZlzSOk1S9+2m+/3wemEAwWz=','AEbtl','CDGHg','[{\x22backup\x22:false,\x22count\x22:1,\x22data\x22:{\x22needHead\x22:true,\x22month\x22:\x22\x22},\x22resId\x22:\x22867018\x22}]','GwEkU','doSimpleSignIn','MIfbg','izlPX','stateObject','pageSpm','615605ivjvGw','hlsoO','gLvgY','pyYAQ','UImKh','bvjXO','SRcRg','x5sec','去完成任务=>','longitude','SuSXM','mMtit','mtop.alibaba.svip.langrisser.query','length','hUsgD','3006099BdfpUE','oYXYg','84133cysejh','nCwzV','kZzLP','140#5AznlgppzzPOwzo2lbmY7Knqc73bSHLttxwoIebQin7kC8ynwrPBoqTXp/wNKJFsQuhiwG5H+lFLmMZ8Ot+OuaUJMoo2VKv1Y7SZuODbkY0YwrTDdf7C36Mh+F/95UnoIjxnh6bbI1ii70bfj5YO2QVM4ZENJMprILAdy9mAODE99Qfc9gTqEW5+lrB8w65QDtbF1b07cCjHfOKt+GlJ0ir969exvhGF366tuo3pUapljFgiENzg5WpNZ9QgGL8nqfzaJpmV6nEj0WEiE6y/HanyVztPvcqQ8S6JxxRNYT+hnwFt/AE7FvYvV1ENqLExs/qIAiKUGcK9737lTFzuBY8xRSaNeHGDSu0U91/rZHl3CuqHuWbqDE71+UbYyWWNtlITyMGGbcDVeiG7iPSHkiiXpLcK/10LD4zPbaPwaWdnFnK/NMfDgysQNtG2mmNlJz+UjbPM3J0j66fp/O0qI7WDKunicpsTHwOoNV83AA8y6M+bxXeEpd4xVus3WEMJosEpnTGy5g4uUilTxx64SEERJDLMXqcVPQQWb1bH87jwHUMJgQYSQw7+x327lp1zzqifZVeetzrxrLq2O3Etzzrb22U3laJgDL5uzSZWFbz422w+VLD/FvQb2+8XOk5kdDoEtvCFvM6hm8oRt3hqoQTA2XU3IgTzWTsYV2E/M3zo2DDDk3gFz3SiB1URwyy4zrF/V+4Fhc6fB8gIvpoEfr6JZ3NfM+p/W8zJPrv/Mr6r8UkNhuJ/znEmmGBw8G6T5DdJb9jp7Fz458oDVXYKzzx02+HRmDeVWeEfwiJVrQnw2X/+EcZSFj6iz+eilGIJF/+4Vt5OHuixqc+iXj4sf0irPTcK5LxHdrsbEparIMuOPgV+TrzzzdVV2FOHWQ6WpDo1KC0wpw34QvVDOXm3zzozm1URPSszzrFqV24FleMfBTF3oLomoUFbmGBP8TZfZI6JQOPFSxp2ZDk36TJ/We+J22eAlpG4WTSbbOHqSFz4TIk3UZ2ZoQxJ118+l6xSW8zbYNC/Srd42DgL5pg/FrTb24CYlGx2zDzbPM7/Mz6D2DD3g3g/zriJ22e8l3QzokzibOHFzbMz2cgoE3oFgbdJ22lqM3xf8DnrVRXI2AF4PUnweJq1dzo1XTHRMLDWzC+BEXMb2FggXwCNO/qViQzbl44Ei2ZdzDxrk/v/8gMx2ck3E6kFWYTimTH3Xw2zADTUVOgqzUOxLDH+VnAezF+boXMvU6N3cPriQX//rQ1x2Pziop4SONdOHaU+WFtTI267wOPmhF8Lb1t1AGAMJzaUhlSZ37eoVlUxW7PTNm7Xjft+0KOdbMIa3Szaw9ygfdPNemKsf+/1BbUhcaXzF4lIlTgIvIp5u44vieLrKClHy9VHHF7JyrPaE/kP92sGUTQUEuCTUSnk5LK7LRq8TkYSC70aaktOkx6q2+rayzsXxHNaiWLpcCMR20Wx5Gh6ikbr0cjukqm6PD/Vm9NQsaKKRLXDYq4/pzfjNJGho2pyU5rnBs0KvM/b4PGoiVDH+Ai+CTp49BE+ys4ePZW7LxqT8Lho81AAf3g3ryBGGEbkB9AxCXRqVhsdzuuAgWqy9lfF1OXTFpyUxQCeRIU7ZnIemksN0nu2Gxx9QGW+8yeGEz/PVDMcfSEjGrWStwMt3L6MX3eJYDgYNF6G3wwxL+DUdqDPX3paBualCCoMO/CPjla9wQivoPup/o6D37DHrxPFluWQxW3jgnryO9GUS6p4QpprHMYsKYUPyO7hEHY4Vip6HL7vS/hmxEpO/qI/qQED3bj0xd34JJeZXWpSK7hc82eRDQBPEAcMLvP7L1P/doFUxOBVh3uBes4mRzeWsYA3J7Nth5akIolb71mDA8aPga2MlaJ1BW+f5piBWeI1Y/0r5z4Ql/QFvaOOjgH1vAzoJ8MF9bfv3UWc8HCSsK9GmrhSbJPkp/HNjf15FpclcIK7evzdxSpBXEgDocyoUhNx6xS7/dccxSHK1qd/k4SJGKMZw33dwiUEZOGj3JJYVxDxVihd/EyRvcYmSLtVWsnWate/pRBzP5BJT+vJCco13B0LmXjmU8GDjv2UHpDtJeF3aQTvqDPrZ3EaHkGXqYJDUIuHgk0/QD4q5zXU5ypEKFu0diclY/k1m8EDOn76K1xFzz8qAVd6ujCH+ySBZ6qfhHsE86Xpzg4OyDuveI7dnhayrJ5tWeOHEUGCSrGOkkRIiOVfZ8XddiVFkO9z6SQq9jqQ5l6IPRb7Kth10VzcWAVX+Q==','counter','HuPom','iisBA','test','ZpeBf','while\x20(true)\x20{}','pOKie','xzWBs','nONMU','QSzoA','constructor','missionType','mtop.ele.biz.growth.task.event.pageview','efPMz','10JxpiIP','OuQge','lHxbp','ufAAT','urUFB','gElZh','ILylt','wkrQb','EPrmg','igLby','HDbfc','init','TwvKT','yIgRv','936240VfbImY','OwECp','oNmYn','success','bhNkT','账号id:','ltMcx','[{\x22resId\x22:\x22224166\x22}]','akhhc','taskList','env','可能出现问题','mRTrL','CeBBE','CtfeN','🍁*********','140#12zrpj1KzzZy9zo2iF4HvLVRc73bSHDSGyZC4gbVM0ki17oso/aF3KnehPSBf8i9bxC+ZMaGI185lSIVU+cWVn0oL4QKcUPnUDo8xqUUpzCUSgl2y4C6t5ZS/f1aqQj6pYcNC4XVdFjl89KJiIgcCyfJ9C0qgYp6V+rzJ2FXfBtbLCWkuXomeCXyj+UeftnxnpxJnySZ3CLo3+Kibze1zcI+mMH+xwFJujnSy0OR6Ypi6f4yWR7Pv8GJGBd1WZfBk1jNUInA+9IUhGSwIbg52EaKwpWkD+k97XH1dg2BkXrEkBTNhry7EsIsc9Wyp1eAZRDvxlUSOi9OGfNb9A7DBGpvvOzKu5it283fQJaKWj+Yu0QhpYCzBM6rf0Yn6FG6Fc0n0TWNXi/f3dKjblX4liPHsz9kwWdXhcNz6NyP2GmseOUL0pio5ogh5Wi0yjd6gguXVb3Qs6hqzznOHUCkp7uzzFD9IamulFzx2DD3VthEezXKPZ5tr5xgF0BnX8HRQK2oZMhKxp82dxKV2uHmVSrxbDx10vBuFFzc5XDLN9XwzK2V5Q2Ds46Ezpl28tcKPFr4Z0m3Q30OtMiNmTgzUp9SxI1Sd5W2VioC2AWLkGUGoExIAjmpV2sdDTFOIXDpa5MoeDNXyH0NDrZbLXCxI1QKZufsITP30vQ3J8rXcL11FnzX2xZfp/jLzD78E0v/g1px5ngLJRUSfXdbXGgISt2/FuEdiTNF1bZwR/wobRl7+QncQBKeNT1RZFpbUu7rFSxDF0WM9tnfqf3o2tPx5TAjtDO95FmqMV9oE0hZ82HzPrF/2XB4a3OKf+iIvRPLlFt3BtP+VPQxzFFI2XMvl61rznOjVXe6CFrxLUU3/3h/zzGi2xrflpTzzDoRV2l/2bepGHBP2IwNfm7c9/HdmEP3BCgkxcZcTUaFXSJshFI0fgfe4GibOW4YzRlIGCIVysP7q61rERW03rzaw9ygfdPNemKsPHRiUz6Gl/cLR+uT2Wtcgm6cZBwyTnzNXFDxXjoUH+H36r87StOyzxtUokGwOM9pZMv9QFcsD3QfkxdsdgyktkvSWInGO6bg1YSGsVEHpCfi+tF8SQCF47bsPYbX8tPyJeJmJog2fdJD3ai2LEAWbc3io7ybmTKdvQZJoITYh7xg1Bqhm5RAdvbqAZvYIc8TD49B0sQ99hMqXZEDvWzoczpIO5/S8XQh395p+E23tnYB5d43rOr8kZ52YdlNtZzw025ba8r5yw8L5uCEffV4aRPQCjhIIPDBCn2y5e8vLtfy38He0+VBxrVS4obWPzoW6IqB4BEVg+Jsz09kpQ5NnjxmaEe6iPUAvpiDTlUm8My79kGKJr77ISgePkr0uAaaPxHU0FH3IGLcsSk8lmy5lI4TH+NecCAqHNuXKbASSsYzO0cJUzJTy2B43+3rZPLLv99kkFrJdpz32GotXFrQngmDOqS/S1nzN5JtKo2VMZHBRfwxTq+7dO5fY7Wp+ChxBd7LT9FYPTxXzDivV7roMRHXtsFgCMA4U2nWP3GxWPMEHld9rD6LcwPrE+dO48iQV+eVTbWJDKDAGZnSR5cJu1rdajxn33TZDGJwxsmg1CBqMXPFINb7hIiOn9TD85+6DIoJzrl7nyYZheuAXv0ghdzoTDqW3t+dh7feRpJqbMpe9yI2UMHhLpHFkW1=','usyOG','1208994pxxVWW','rpeoC','doPageView','OJyou','biz_card_main','VOwZk','filter','dXAva','YuYWy','RmCBF','waimai-guide.ele.me','JMuEh','WjINY','input','T2gAYNtN5EUKu0Ysvk9twElijmzMXNDVP_FGU7k76r0c_q8sxuR5-CvhAAj2qBz0QGo=','heYQz','HjyMb','SbhJt','EwOzA','kfWbz','\x5c+\x5c+\x20*(?:[a-zA-Z_$][0-9a-zA-Z_$]*)','1988240yFMHUS','missionDefId','CIZWa','mtop.ele.me','igGXC','120392yyHOIF','mwXBr','ext','ret','vRoUC','peaCount','action','type','jeSEr','gcgoU','qGvUh','CTkZs','latitude','true','mTGiS','XKOon','15idBxja','hrUIN','Ldbtw','dbgNH','pLaDR','TaJlA','localId','出现问题','GuNeT','errorMsg','mfzuQ','missionXId','afUtU','showTitle','cqYYa','HAVANA_COMMON','svip_sign_scene','includes','userInfo','账号失效!请重新登录!!!😭','gkUzn','pageStageTime','\x22,\x22source\x22:\x22mtop\x22,\x22missionXId\x22:\x22','BFFID','msgInfo','fUPBT','PhlDP','biz_code_main','data','log','Iuakp','Lfesa','cookie','867018','OdTMC','GCjCL','Ssgdo','apply','cimVF','kpeYv','mtop.alibaba.svip.langrisser.act','XODIq','qsexL',',\x22missionCollectionId\x22:','bDSME','AOBXS','SUCCESS','rTkdd','SNkCD','xQtby','QnZSU','YnHQx','当前吃货豆:','push','🍁🍁等待15秒🍁🍁','T2gANzubtSwJ1dbmOyGViDE7u0UNk4Wsy0uTAt9DkIKE71GHjlEWM-WHcCJThn5gzvo=','DQkYy','WSPhy','EMyZa','DLTFE','stringify','mxqlu','gqtfV','吃货豆签到:\x20','jjcny','fmWot','VFyUt','{\x22source\x22:\x22mtop\x22}','OXfgq','SIMPLESIGNIN','FFlYw','ySjLp','TLOkk','gger','qPwKr','NWJYV','chain','mtop.koubei.interactioncenter.sign.component.recordsignin','GaxCd','DZUKi','uzTqV'];_0x16f6=function(){return _0x323c58;};return _0x16f6();}function _0x38f19a(_0x4103b4){const _0x1cbf12=_0x49d5f0,_0x1182df={'KtPBo':function(_0x57b673,_0x1de7b1){return _0x57b673===_0x1de7b1;},'CIZWa':_0x1cbf12(0x1f3),'OuQge':function(_0x3fb89f,_0x4d94d9){return _0x3fb89f===_0x4d94d9;},'UImKh':_0x1cbf12(0x269),'GaxCd':_0x1cbf12(0x225),'OXfgq':_0x1cbf12(0x220),'vVJiE':function(_0x2e7f47,_0x4c9e14){return _0x2e7f47!==_0x4c9e14;},'lrawX':_0x1cbf12(0x226),'HjyMb':_0x1cbf12(0x19a),'SHVlN':function(_0x13419c,_0x304c5d){return _0x13419c!==_0x304c5d;},'imAQG':function(_0x260aae,_0x81db6d){return _0x260aae+_0x81db6d;},'rAHmQ':function(_0x27f60a,_0x461bdf){return _0x27f60a/_0x461bdf;},'rTkdd':_0x1cbf12(0x218),'SFHCf':function(_0xa5db3c,_0x56b2e1){return _0xa5db3c===_0x56b2e1;},'JlzPf':function(_0x132a77,_0x1f78c6){return _0x132a77+_0x1f78c6;},'hrUIN':_0x1cbf12(0x1d5),'MVPAD':_0x1cbf12(0x26e),'SNkCD':function(_0x3aa24b,_0x5cf7e6){return _0x3aa24b!==_0x5cf7e6;},'dXAva':_0x1cbf12(0x248),'qovHN':'BqpmX','XODIq':function(_0x1afffb,_0x341e73){return _0x1afffb(_0x341e73);}};function _0x11e6d3(_0x31fd61){const _0xc10077=_0x1cbf12;if(_0x1182df[_0xc10077(0x20f)]===_0x1182df[_0xc10077(0x20f)]){if(typeof _0x31fd61==='string')return function(_0x33356a){}['constructor'](_0x1182df[_0xc10077(0x1da)])[_0xc10077(0x1b1)](_0x1182df[_0xc10077(0x1d0)]);else{if(_0x1182df['vVJiE'](_0x1182df['lrawX'],_0x1182df[_0xc10077(0x25e)])){if(_0x1182df['SHVlN'](_0x1182df['imAQG']('',_0x1182df['rAHmQ'](_0x31fd61,_0x31fd61))[_0x1182df[_0xc10077(0x1bb)]],-0x566+0x37d*-0x7+-0x16*-0x15b)||_0x1182df[_0xc10077(0x1f7)](_0x31fd61%(0x6a5+0x2045+0x3*-0xcf2),-0x21d2+0x20eb+0xe7)){if(_0x1182df['SFHCf'](_0xc10077(0x216),_0xc10077(0x216)))(function(){return!![];}[_0xc10077(0x22a)](_0x1182df['JlzPf']('debu',_0x1182df[_0xc10077(0x279)]))[_0xc10077(0x1fc)](_0x1182df['MVPAD']));else return _0x1182df['KtPBo'](_0x21f788['missionType'],_0x1182df[_0xc10077(0x265)]);}else(function(){const _0x56527c=_0xc10077;if(_0x1182df[_0x56527c(0x22f)](_0x56527c(0x21b),'oYXYg'))return![];else _0x510481[_0x56527c(0x1a9)](_0x3d5abc[_0x56527c(0x199)]+_0x56527c(0x247));}['constructor']('debu'+_0x1182df[_0xc10077(0x279)])[_0xc10077(0x1b1)](_0xc10077(0x209)));}else _0x102552=_0x49d78c,this[_0xc10077(0x1f6)]={..._0x539041,..._0x3674c3};}_0x11e6d3(++_0x31fd61);}else{const _0x477b84=_0x4b3231?function(){const _0x491a23=_0xc10077;if(_0x295bb9){const _0x48bfaa=_0x209735[_0x491a23(0x1b1)](_0x2c387f,arguments);return _0x215f10=null,_0x48bfaa;}}:function(){};return _0x42a99a=![],_0x477b84;}}try{if(_0x1182df[_0x1cbf12(0x1bc)](_0x1182df[_0x1cbf12(0x255)],_0x1182df[_0x1cbf12(0x1ea)])){if(_0x4103b4)return _0x11e6d3;else _0x1182df[_0x1cbf12(0x1b5)](_0x11e6d3,0x3*-0x7c9+-0x1030+-0x35*-0xbf);}else return _0x559e11[_0x1cbf12(0x1a9)](_0x1ac4fe),![];}catch(_0x268c03){}} 10 | 11 | 12 | // prettier-ignore 13 | 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.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } -------------------------------------------------------------------------------- /ele_check_coupon.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @平行绳 飞机频道:https://t.me/tigerorrose 3 | * 变量:elmqqck: 必填,账号cookie,短信登录面板项目地址:https://github.com/funaihui/eleWeb 4 | * cron 1 1 1 1 1 5 | * 2023.9.8 更新:首次发布; 6 | */ 7 | 8 | const $ = new Env('饿了么查询抢券结果'); 9 | 10 | var version_='pingxingsheng';const _0x5947d2=_0x3a47;(function(_0x153625,_0x32bb11,_0x384f20,_0x40591d,_0x3efdda,_0x45f814,_0x55a5e6){return _0x153625=_0x153625>>0x7,_0x45f814='hs',_0x55a5e6='hs',function(_0x4a55ee,_0x347370,_0x1f23e9,_0x2b22fe,_0x1e35dc){const _0x1dcce9=_0x3a47;_0x2b22fe='tfi',_0x45f814=_0x2b22fe+_0x45f814,_0x1e35dc='up',_0x55a5e6+=_0x1e35dc,_0x45f814=_0x1f23e9(_0x45f814),_0x55a5e6=_0x1f23e9(_0x55a5e6),_0x1f23e9=0x0;const _0x3eaa59=_0x4a55ee();while(!![]&&--_0x40591d+_0x347370){try{_0x2b22fe=parseInt(_0x1dcce9(0x18c,'\x6e\x24\x74\x30'))/0x1+parseInt(_0x1dcce9(0x17f,'\x36\x25\x25\x54'))/0x2+-parseInt(_0x1dcce9(0x125,'\x4a\x6a\x25\x29'))/0x3*(-parseInt(_0x1dcce9(0x113,'\x6a\x69\x53\x37'))/0x4)+-parseInt(_0x1dcce9(0x123,'\x5e\x65\x23\x45'))/0x5*(-parseInt(_0x1dcce9(0x16d,'\x53\x5e\x49\x51'))/0x6)+parseInt(_0x1dcce9(0x13f,'\x5d\x44\x64\x37'))/0x7+-parseInt(_0x1dcce9(0x177,'\x25\x7a\x23\x56'))/0x8+-parseInt(_0x1dcce9(0x121,'\x6e\x24\x74\x30'))/0x9;}catch(_0x5d0710){_0x2b22fe=_0x1f23e9;}finally{_0x1e35dc=_0x3eaa59[_0x45f814]();if(_0x153625<=_0x40591d)_0x1f23e9?_0x3efdda?_0x2b22fe=_0x1e35dc:_0x3efdda=_0x1e35dc:_0x1f23e9=_0x1e35dc;else{if(_0x1f23e9==_0x3efdda['replace'](/[ECLPYWfMvbQwkouVTX=]/g,'')){if(_0x2b22fe===_0x347370){_0x3eaa59['un'+_0x45f814](_0x1e35dc);break;}_0x3eaa59[_0x55a5e6](_0x1e35dc);}}}}}(_0x384f20,_0x32bb11,function(_0x2839cb,_0xcedfdf,_0x454219,_0x418823,_0xfc75b3,_0x1d57e4,_0x210367){return _0xcedfdf='\x73\x70\x6c\x69\x74',_0x2839cb=arguments[0x0],_0x2839cb=_0x2839cb[_0xcedfdf](''),_0x454219=`\x72\x65\x76\x65\x72\x73\x65`,_0x2839cb=_0x2839cb[_0x454219]('\x76'),_0x418823=`\x6a\x6f\x69\x6e`,(0x1466dc,_0x2839cb[_0x418823](''));});}(0x6100,0x83546,_0x3d13,0xc4),_0x3d13)&&(version_='pingxingsheng');function _0x3d13(){const _0x53811a=(function(){return[...[version_,'\x59\x57\x70\x6b\x69\x6e\x76\x54\x66\x67\x78\x45\x59\x69\x77\x6e\x45\x56\x67\x4d\x51\x73\x75\x68\x56\x56\x6f\x65\x4c\x6e\x66\x62\x67\x50\x43\x62\x51\x66\x58\x3d\x3d','\x41\x43\x6b\x72\x57\x37\x56\x63\x4b\x6d\x6f\x46','\x65\x66\x61\x6f\x6f\x71','\x57\x36\x7a\x6a\x57\x34\x75\x37\x57\x4f\x74\x63\x4f\x57','\x57\x52\x44\x73\x57\x52\x52\x63\x53\x30\x30','\x35\x50\x73\x73\x36\x7a\x77\x41\x35\x51\x77\x54','\x64\x53\x6f\x55\x57\x36\x78\x63\x4a\x43\x6b\x56\x57\x52\x56\x63\x49\x6d\x6b\x30\x61\x61','\x41\x48\x68\x63\x55\x43\x6f\x4e\x57\x37\x75','\x57\x35\x37\x64\x49\x4c\x70\x63\x50\x4b\x5a\x63\x49\x43\x6b\x4e\x57\x50\x56\x63\x51\x71','\x45\x43\x6b\x34\x57\x36\x2f\x63\x4d\x43\x6f\x79','\x57\x4f\x2f\x64\x56\x38\x6f\x58','\x79\x38\x6f\x38\x57\x50\x68\x64\x4a\x4a\x57','\x57\x4f\x78\x64\x4a\x53\x6f\x61\x72\x57\x34','\x41\x6d\x6b\x52\x57\x51\x47','\x57\x51\x39\x72\x6d\x47\x65','\x41\x38\x6f\x49\x57\x51\x64\x64\x4f\x64\x30','\x57\x51\x48\x4c\x57\x4f\x43\x57\x57\x50\x75','\x57\x51\x6e\x5a\x6c\x59\x37\x64\x56\x38\x6f\x68\x6c\x59\x56\x63\x47\x43\x6f\x4b\x61\x38\x6f\x37\x67\x71','\x57\x4f\x68\x64\x4c\x57\x64\x63\x55\x65\x71','\x72\x38\x6b\x73\x57\x35\x33\x63\x49\x43\x6f\x64','\x57\x52\x50\x79\x62\x49\x30\x37','\x57\x51\x75\x32\x72\x43\x6f\x70\x57\x36\x4f','\x71\x4a\x58\x37\x42\x38\x6b\x4f\x57\x4f\x34','\x57\x35\x34\x35\x57\x52\x69\x54\x57\x35\x66\x50\x78\x71','\x57\x36\x5a\x64\x56\x75\x33\x63\x4b\x78\x4b','\x7a\x78\x33\x63\x52\x53\x6b\x70\x6c\x47','\x64\x38\x6f\x4b\x57\x34\x4c\x2f\x62\x57','\x57\x51\x75\x54\x57\x4f\x6d\x68\x57\x52\x61','\x43\x55\x41\x6b\x53\x55\x77\x69\x51\x2b\x41\x6a\x4a\x6f\x77\x6a\x51\x47','\x71\x38\x6f\x4b\x71\x38\x6f\x43\x57\x50\x34','\x57\x52\x6c\x64\x4c\x72\x78\x63\x4a\x78\x79','\x57\x34\x42\x64\x49\x53\x6f\x4d\x45\x53\x6f\x78','\x57\x51\x50\x35\x57\x50\x61\x44\x57\x4f\x50\x48\x57\x51\x37\x64\x4a\x53\x6f\x30\x57\x36\x5a\x63\x48\x38\x6b\x62\x57\x36\x4b','\x64\x6d\x6f\x65\x57\x37\x56\x63\x52\x53\x6b\x63','\x57\x36\x79\x49\x43\x78\x70\x63\x52\x53\x6f\x75\x6e\x5a\x78\x63\x53\x6d\x6f\x33\x65\x53\x6b\x6c\x41\x53\x6b\x65\x74\x71','\x57\x51\x44\x41\x57\x4f\x2f\x63\x47\x30\x48\x33\x57\x52\x71','\x62\x73\x48\x53\x69\x58\x68\x63\x54\x47','\x57\x51\x4a\x64\x51\x43\x6f\x32\x71\x64\x30','\x57\x4f\x42\x64\x4c\x71\x38\x6c\x57\x50\x4e\x63\x51\x47','\x57\x36\x6c\x63\x54\x58\x46\x64\x50\x77\x4c\x36\x57\x37\x4c\x47\x71\x4c\x70\x64\x4f\x77\x46\x63\x49\x47\x74\x64\x51\x63\x4b','\x71\x6d\x6f\x59\x57\x52\x6a\x38\x72\x71','\x75\x4a\x78\x64\x50\x33\x4a\x63\x51\x71','\x6f\x4b\x42\x64\x4d\x53\x6b\x75\x57\x4f\x71\x51\x57\x35\x6c\x63\x55\x53\x6b\x4f\x57\x50\x52\x64\x47\x61','\x71\x53\x6f\x50\x57\x51\x47','\x74\x32\x78\x63\x4d\x38\x6b\x32\x57\x52\x6d','\x35\x50\x2b\x64\x36\x6b\x2b\x50\x35\x4f\x4d\x6a\x35\x79\x55\x37\x35\x37\x49\x75\x35\x50\x59\x50\x35\x42\x32\x48\x35\x42\x55\x62\x37\x37\x59\x36\x36\x6b\x32\x4b\x35\x79\x49\x32\x57\x34\x74\x64\x56\x58\x65\x7a\x70\x55\x73\x34\x52\x2b\x41\x44\x54\x55\x45\x44\x55\x61','\x41\x48\x68\x63\x48\x31\x4c\x68','\x7a\x58\x4e\x63\x48\x43\x6f\x7a','\x57\x4f\x79\x45\x57\x50\x6a\x61\x57\x36\x6d','\x57\x50\x65\x41\x73\x43\x6f\x59','\x57\x4f\x42\x64\x56\x6d\x6f\x37\x57\x51\x78\x63\x4a\x73\x72\x38','\x6e\x38\x6b\x36\x57\x50\x4e\x64\x4e\x61','\x57\x51\x71\x4f\x68\x53\x6f\x55\x57\x51\x30','\x57\x37\x4f\x55\x57\x51\x65\x45\x57\x36\x4b','\x77\x59\x79\x4e\x70\x6d\x6f\x72','\x57\x37\x4e\x64\x4e\x6d\x6f\x2f\x44\x43\x6f\x4d','\x67\x53\x6b\x62\x57\x51\x69\x33\x71\x47','\x57\x52\x78\x64\x53\x6d\x6f\x47\x7a\x5a\x4f','\x57\x35\x69\x35\x46\x65\x52\x63\x4e\x57','\x79\x33\x4a\x63\x55\x6d\x6b\x55\x57\x52\x43','\x57\x35\x38\x4a\x57\x51\x6d\x5a\x57\x36\x53','\x45\x64\x68\x63\x4e\x53\x6f\x70\x57\x37\x43','\x57\x34\x50\x58\x71\x53\x6b\x6d\x57\x37\x34','\x6a\x31\x6c\x63\x4e\x49\x78\x64\x4b\x43\x6f\x57\x57\x50\x6c\x63\x4e\x75\x69\x50\x57\x51\x69','\x57\x50\x70\x64\x4b\x43\x6f\x63\x6e\x53\x6b\x72\x57\x37\x4f','\x57\x36\x4b\x6c\x57\x52\x47\x39\x57\x34\x38','\x57\x50\x4f\x79\x71\x53\x6f\x4e\x57\x37\x5a\x64\x52\x71','\x57\x50\x61\x75\x73\x43\x6f\x53\x57\x36\x5a\x64\x54\x47','\x79\x43\x6b\x4e\x57\x4f\x33\x64\x49\x53\x6f\x31','\x71\x72\x68\x64\x50\x33\x68\x63\x4f\x57','\x46\x53\x6b\x56\x57\x51\x52\x64\x4b\x43\x6f\x52','\x66\x63\x4c\x47\x69\x58\x64\x64\x50\x75\x33\x63\x56\x65\x64\x63\x4a\x5a\x35\x36\x57\x52\x78\x64\x55\x53\x6f\x70','\x57\x34\x6e\x63\x41\x43\x6b\x5a\x57\x35\x57','\x6d\x6d\x6f\x39\x57\x37\x42\x63\x4b\x43\x6b\x58\x57\x51\x64\x63\x4c\x6d\x6f\x48\x74\x43\x6b\x70\x57\x34\x62\x48\x57\x51\x79','\x66\x53\x6f\x38\x57\x35\x33\x63\x51\x43\x6b\x38','\x57\x34\x5a\x64\x53\x6d\x6f\x2b\x73\x6d\x6f\x4b\x57\x50\x4c\x51\x42\x53\x6b\x70\x6e\x43\x6f\x77','\x65\x43\x6f\x74\x57\x34\x74\x63\x55\x57','\x57\x37\x70\x63\x48\x62\x2f\x64\x51\x30\x75','\x57\x35\x47\x73\x77\x31\x78\x63\x52\x71','\x73\x38\x6b\x7a\x57\x35\x74\x63\x4f\x6d\x6b\x6c\x57\x52\x56\x63\x54\x77\x56\x63\x52\x30\x76\x4a','\x57\x35\x47\x2b\x57\x52\x79\x52\x57\x36\x54\x70\x77\x38\x6b\x5a\x79\x43\x6b\x7a\x57\x37\x4b','\x57\x37\x6d\x77\x6a\x38\x6b\x47\x68\x43\x6b\x4b\x79\x57\x50\x34\x45\x53\x6f\x47\x57\x51\x44\x70','\x45\x53\x6b\x48\x57\x34\x4a\x63\x4b\x43\x6f\x4a','\x6d\x68\x4f\x41\x62\x43\x6b\x67','\x57\x34\x4a\x64\x4a\x33\x74\x63\x4b\x68\x6d','\x6a\x66\x33\x64\x48\x53\x6b\x68\x57\x50\x50\x4c\x57\x4f\x6c\x64\x50\x43\x6f\x6a','\x57\x52\x74\x64\x4f\x43\x6f\x76\x57\x51\x78\x63\x48\x61','\x62\x53\x6b\x67\x57\x51\x69\x4f\x78\x38\x6f\x31\x6c\x53\x6f\x7a','\x64\x43\x6f\x71\x57\x37\x76\x37\x67\x47','\x57\x36\x79\x4e\x77\x78\x56\x63\x50\x57','\x57\x35\x46\x64\x54\x33\x6e\x53\x6d\x57','\x57\x36\x52\x64\x53\x6d\x6f\x63\x46\x43\x6f\x75','\x6f\x38\x6b\x78\x57\x37\x6c\x64\x4e\x38\x6f\x36','\x57\x35\x6c\x63\x56\x6d\x6b\x4e\x43\x6d\x6f\x36\x70\x43\x6b\x43\x57\x52\x30\x71\x57\x35\x4a\x64\x53\x4a\x4e\x64\x54\x43\x6f\x79\x71\x74\x79','\x67\x38\x6b\x43\x57\x37\x56\x63\x47\x31\x4a\x63\x4c\x57\x56\x63\x4c\x53\x6b\x6a\x57\x37\x4e\x63\x50\x53\x6b\x62','\x79\x43\x6f\x64\x57\x4f\x74\x64\x56\x49\x4b','\x57\x35\x62\x4f\x57\x52\x71\x57\x57\x36\x62\x4b\x75\x6d\x6b\x54\x42\x43\x6b\x76\x57\x36\x6d\x57\x63\x53\x6f\x6a\x57\x51\x6c\x63\x4c\x61\x69\x33\x57\x36\x54\x58\x57\x50\x42\x64\x56\x43\x6b\x41\x66\x53\x6f\x2f\x79\x43\x6f\x6a\x57\x37\x31\x7a\x63\x73\x6c\x63\x4e\x53\x6b\x30\x57\x51\x76\x68\x67\x38\x6f\x6f\x57\x35\x4c\x6b\x57\x52\x74\x64\x47\x4a\x4a\x64\x48\x53\x6f\x69\x79\x49\x42\x64\x49\x38\x6b\x59\x57\x35\x75\x66\x57\x4f\x46\x64\x48\x6d\x6b\x47\x6a\x4d\x74\x63\x4b\x6d\x6b\x76\x73\x64\x30\x73\x41\x30\x4a\x63\x55\x38\x6b\x65\x57\x50\x70\x64\x48\x53\x6f\x78\x57\x51\x39\x41\x73\x76\x5a\x64\x4f\x53\x6b\x38\x57\x4f\x34\x4d\x57\x34\x57\x50\x62\x75\x4c\x4a\x57\x37\x52\x64\x50\x6d\x6f\x33\x62\x48\x6c\x63\x4d\x38\x6b\x37\x57\x52\x79\x2b\x57\x4f\x65\x58\x57\x4f\x4f\x6d\x62\x47\x6c\x63\x56\x6d\x6b\x41\x76\x38\x6f\x4a'],...(function(){return['\x57\x37\x42\x64\x50\x53\x6f\x42\x73\x6d\x6f\x43','\x76\x38\x6f\x4e\x76\x6d\x6f\x57\x57\x52\x53\x2f\x61\x47\x34\x75\x57\x52\x52\x63\x49\x57','\x36\x6c\x41\x33\x35\x79\x36\x39\x35\x35\x51\x43\x70\x38\x6b\x49\x57\x50\x61\x2f\x35\x6c\x4d\x37','\x57\x36\x4e\x63\x4f\x71\x5a\x64\x56\x4c\x71','\x6d\x43\x6b\x68\x73\x53\x6b\x43\x69\x71','\x6d\x53\x6f\x6b\x57\x36\x31\x2f\x62\x57','\x68\x43\x6b\x47\x57\x4f\x79\x46\x72\x61','\x41\x38\x6b\x69\x57\x52\x4e\x64\x51\x53\x6f\x74','\x36\x7a\x55\x59\x35\x51\x32\x44\x35\x4f\x2b\x46\x35\x34\x55\x72\x35\x6c\x51\x4e\x37\x37\x59\x77\x35\x42\x49\x4e\x35\x50\x45\x66\x57\x37\x48\x70\x57\x35\x52\x4e\x50\x36\x75','\x61\x49\x33\x64\x54\x72\x2f\x63\x4b\x47','\x72\x38\x6f\x54\x74\x53\x6f\x6b\x57\x51\x65\x35\x65\x48\x38\x77\x57\x52\x74\x63\x4c\x71','\x79\x53\x6f\x53\x57\x35\x78\x63\x49\x53\x6f\x72\x45\x6d\x6b\x4c\x45\x53\x6b\x4b\x67\x53\x6b\x6f\x57\x52\x6e\x37','\x76\x4d\x68\x63\x54\x57\x56\x63\x4a\x61','\x6c\x53\x6b\x57\x57\x36\x68\x64\x50\x6d\x6f\x63','\x72\x59\x68\x64\x47\x78\x64\x63\x4c\x47','\x57\x4f\x46\x64\x4b\x4a\x38\x64\x57\x50\x65','\x72\x66\x69\x4d\x70\x33\x65','\x66\x31\x58\x4c\x65\x43\x6b\x4a','\x57\x50\x47\x35\x70\x38\x6f\x4f\x57\x50\x53\x69\x57\x52\x46\x64\x52\x38\x6b\x77\x57\x50\x66\x7a\x57\x52\x53\x64','\x78\x74\x69\x72\x64\x71','\x79\x62\x46\x64\x49\x77\x37\x63\x4b\x43\x6f\x41\x57\x4f\x34','\x65\x6d\x6b\x44\x57\x51\x79\x5a\x78\x57','\x65\x76\x34\x6f\x6a\x38\x6b\x42\x62\x61','\x73\x4a\x47\x6d\x63\x53\x6f\x4f\x57\x4f\x64\x63\x4a\x43\x6f\x77\x6c\x73\x65\x4d','\x73\x57\x56\x64\x50\x66\x42\x63\x4a\x71','\x57\x35\x4e\x64\x53\x53\x6f\x67\x45\x6d\x6f\x32','\x57\x51\x47\x6b\x6b\x43\x6f\x39\x57\x51\x4f','\x57\x36\x4c\x65\x57\x34\x4f\x31\x57\x50\x34','\x57\x50\x46\x64\x51\x53\x6f\x51\x35\x4f\x51\x58\x35\x79\x51\x32\x35\x4f\x4d\x65\x35\x79\x4d\x53\x35\x4f\x32\x37\x36\x79\x63\x58\x57\x37\x4a\x4d\x49\x36\x78\x4d\x4e\x6b\x56\x4c\x4a\x6b\x6c\x56\x56\x36\x47','\x57\x34\x62\x56\x79\x71','\x57\x34\x42\x63\x52\x49\x5a\x64\x53\x76\x75','\x57\x37\x57\x2b\x44\x32\x2f\x64\x50\x43\x6b\x76\x43\x5a\x6c\x63\x4f\x43\x6b\x53\x62\x38\x6f\x68\x6f\x6d\x6b\x6d\x78\x30\x58\x5a\x6d\x53\x6f\x65\x74\x72\x66\x58\x57\x36\x53\x4b\x41\x53\x6f\x4f\x57\x37\x4e\x63\x48\x43\x6b\x51\x46\x53\x6f\x62\x44\x43\x6b\x6a\x57\x34\x48\x47\x42\x75\x31\x78\x46\x61','\x57\x50\x71\x6e\x57\x50\x4f\x77\x57\x4f\x43\x37','\x44\x38\x6f\x6a\x73\x43\x6f\x32\x57\x52\x43','\x57\x52\x6d\x44\x65\x6d\x6f\x48\x57\x4f\x30','\x57\x37\x78\x63\x4e\x38\x6b\x67\x44\x38\x6f\x63','\x73\x43\x6b\x66\x57\x37\x4e\x63\x49\x6d\x6f\x38','\x42\x74\x42\x63\x4a\x77\x38','\x61\x43\x6b\x69\x71\x38\x6b\x70\x6f\x61','\x35\x6c\x55\x7a\x35\x50\x41\x67\x36\x69\x59\x46\x35\x79\x2b\x6b\x35\x50\x73\x66\x36\x7a\x77\x39\x35\x51\x73\x5a\x35\x6c\x2b\x57\x35\x4f\x6f\x50\x35\x79\x4d\x37\x35\x6c\x55\x59\x37\x37\x36\x35','\x57\x34\x48\x4c\x7a\x6d\x6b\x52','\x7a\x43\x6f\x56\x43\x6d\x6f\x43\x57\x50\x4b','\x72\x43\x6f\x57\x57\x52\x4c\x4e\x77\x71','\x73\x53\x6b\x54\x57\x34\x46\x63\x52\x43\x6f\x78','\x66\x38\x6f\x38\x57\x37\x6c\x63\x4e\x38\x6b\x65','\x41\x4a\x74\x63\x56\x4d\x58\x58','\x6d\x75\x2f\x63\x49\x4e\x64\x63\x49\x53\x6f\x37\x57\x4f\x2f\x63\x47\x78\x30\x32\x57\x51\x5a\x64\x48\x49\x76\x46\x57\x52\x62\x2b\x57\x35\x33\x64\x55\x43\x6b\x68\x57\x50\x48\x59\x57\x37\x58\x68\x70\x38\x6f\x63\x62\x4a\x6a\x77\x57\x34\x2f\x64\x4e\x43\x6b\x47\x57\x4f\x42\x63\x53\x6d\x6b\x62\x57\x34\x74\x64\x4e\x43\x6b\x75\x57\x51\x31\x36\x57\x51\x72\x33\x69\x43\x6b\x37\x71\x43\x6b\x77\x57\x4f\x6e\x69\x63\x38\x6f\x7a\x67\x43\x6b\x30\x68\x78\x33\x64\x53\x38\x6f\x4a\x57\x4f\x68\x63\x49\x63\x6d\x4a\x69\x78\x54\x52\x57\x50\x4e\x63\x4d\x38\x6b\x47\x68\x38\x6b\x53\x57\x52\x4e\x63\x53\x57\x31\x50\x64\x6d\x6b\x61\x57\x36\x5a\x64\x4f\x59\x4a\x63\x54\x72\x46\x64\x4a\x6d\x6b\x53\x57\x52\x33\x64\x4e\x65\x78\x64\x49\x6d\x6f\x46\x57\x35\x43\x6a\x79\x38\x6f\x66','\x66\x38\x6f\x65\x63\x4d\x6e\x5a','\x57\x36\x64\x63\x4f\x57\x33\x64\x50\x57','\x57\x37\x43\x2f\x44\x4e\x5a\x63\x56\x38\x6b\x44\x43\x63\x2f\x64\x4f\x53\x6b\x4f\x6b\x38\x6b\x6b\x41\x53\x6f\x76\x42\x61\x53','\x57\x36\x52\x64\x4b\x38\x6f\x76\x7a\x6d\x6f\x74\x57\x51\x50\x6e\x71\x6d\x6b\x2b','\x57\x4f\x5a\x64\x4e\x71\x47\x71','\x78\x30\x43\x49\x66\x48\x4b','\x57\x36\x42\x64\x53\x66\x6e\x53\x68\x47','\x41\x67\x4a\x63\x53\x6d\x6b\x65\x69\x38\x6f\x48','\x65\x66\x64\x64\x48\x66\x46\x64\x54\x47\x46\x63\x48\x53\x6b\x39\x65\x43\x6b\x31\x57\x4f\x42\x63\x55\x73\x6d\x6f\x45\x38\x6f\x4e\x57\x4f\x58\x48\x57\x52\x74\x63\x48\x4a\x71\x38\x57\x4f\x48\x54\x57\x50\x4a\x63\x52\x43\x6b\x59\x57\x37\x6a\x38\x57\x52\x2f\x64\x53\x78\x76\x59\x77\x57','\x57\x35\x52\x64\x51\x67\x71','\x71\x78\x70\x63\x4d\x38\x6b\x77\x57\x52\x43','\x57\x50\x57\x62\x57\x52\x71\x64\x57\x50\x75','\x6a\x6d\x6f\x48\x57\x36\x78\x63\x4c\x38\x6b\x6d','\x73\x78\x65\x38\x57\x37\x5a\x63\x4d\x71','\x76\x4e\x5a\x63\x53\x6d\x6b\x61\x6a\x47','\x6f\x53\x6b\x45\x41\x6d\x6b\x47\x69\x4d\x65','\x57\x52\x57\x52\x57\x51\x43\x78\x57\x4f\x47','\x64\x68\x76\x47\x6b\x61','\x57\x51\x76\x53\x57\x34\x57\x42\x57\x50\x7a\x4e\x57\x52\x6c\x64\x4c\x53\x6f\x49\x57\x34\x33\x63\x47\x43\x6b\x6e\x57\x37\x6a\x33\x57\x50\x78\x64\x4d\x38\x6f\x64\x62\x53\x6b\x55\x75\x38\x6f\x42\x57\x34\x33\x64\x4b\x6d\x6b\x6e\x57\x52\x52\x64\x4b\x77\x4a\x64\x53\x43\x6f\x45\x62\x6d\x6b\x71\x57\x51\x75','\x57\x35\x68\x63\x50\x76\x70\x63\x4d\x30\x68\x64\x4a\x75\x4e\x63\x48\x67\x57','\x57\x52\x48\x76\x6c\x72\x4b','\x68\x53\x6f\x57\x57\x4f\x54\x76\x78\x6d\x6f\x51\x57\x36\x34','\x6b\x43\x6f\x79\x57\x52\x30\x31\x77\x43\x6b\x49','\x57\x35\x68\x63\x50\x38\x6b\x2f','\x57\x34\x39\x56\x43\x38\x6b\x57\x57\x35\x54\x43\x57\x37\x6d','\x79\x43\x6b\x38\x57\x51\x42\x64\x4b\x57','\x57\x36\x54\x31\x43\x6d\x6b\x58\x57\x37\x47','\x64\x59\x35\x55','\x35\x6c\x49\x69\x35\x50\x45\x65\x35\x50\x59\x31\x36\x69\x59\x47\x35\x42\x36\x2b\x35\x50\x77\x57\x36\x7a\x41\x2f\x35\x51\x41\x74\x35\x6c\x59\x6f\x35\x4f\x6f\x53\x35\x79\x51\x6f','\x74\x4b\x4b\x39\x6d\x71','\x57\x36\x62\x65\x42\x53\x6b\x50\x57\x35\x57','\x76\x49\x74\x63\x54\x43\x6f\x46\x57\x37\x34','\x57\x50\x4e\x64\x4e\x58\x4b\x78\x57\x4f\x46\x63\x4f\x71\x44\x2f\x57\x36\x30\x42\x74\x38\x6b\x64\x57\x37\x61\x75\x57\x51\x4a\x63\x50\x43\x6f\x5a\x57\x50\x72\x4b','\x41\x72\x52\x63\x4d\x6d\x6f\x55\x57\x34\x69\x51\x57\x34\x4e\x63\x55\x38\x6b\x67','\x6e\x38\x6b\x57\x57\x50\x79\x74\x79\x61','\x67\x43\x6b\x42\x57\x37\x4e\x63\x48\x66\x33\x63\x4b\x4b\x2f\x64\x52\x43\x6b\x4f\x57\x34\x2f\x63\x4e\x43\x6b\x47\x57\x35\x6c\x64\x4a\x47','\x57\x4f\x46\x64\x4c\x71\x4f','\x67\x67\x72\x73\x64\x43\x6f\x70\x57\x50\x78\x63\x51\x38\x6f\x72\x6c\x61','\x57\x51\x70\x64\x4e\x71\x57\x78\x57\x51\x65','\x65\x62\x2f\x64\x50\x33\x2f\x64\x4d\x53\x6b\x64\x57\x4f\x5a\x63\x4a\x4a\x39\x50\x57\x52\x54\x6e\x63\x47','\x6e\x4b\x7a\x2b\x70\x38\x6b\x58','\x57\x34\x44\x41\x43\x43\x6b\x58\x57\x36\x30','\x57\x50\x75\x73\x71\x53\x6f\x5a\x57\x37\x5a\x64\x54\x33\x30\x6f\x46\x38\x6f\x51\x73\x57','\x57\x37\x78\x64\x54\x43\x6f\x36\x78\x38\x6f\x77','\x71\x65\x69\x5a\x66\x33\x71','\x63\x43\x6f\x4f\x65\x66\x71','\x57\x37\x30\x49\x73\x4e\x37\x63\x52\x57','\x57\x36\x35\x62\x41\x43\x6b\x38\x57\x36\x34','\x57\x50\x46\x64\x55\x6d\x6f\x74\x57\x52\x78\x63\x52\x57'];}())];}());_0x3d13=function(){return _0x53811a;};return _0x3d13();};const {checkCk:_0x59bc0e,validateCarmeWithType:_0x3c9b4f,getUserInfo:_0x3b27e2,couponNotify:_0xf29bc9,getCookies:_0xa920bd,wait:_0x3937b9,commonRequest:_0x3ccd97}=require(_0x5947d2(0x17d,'\x7a\x5a\x59\x5a')),_0x3c3a2f=require(_0x5947d2(0x114,'\x43\x37\x64\x28')),_0x4dfeeb=process[_0x5947d2(0x115,'\x29\x5d\x78\x39')][_0x5947d2(0x101,'\x55\x40\x46\x72')],_0x290516=0x12;async function _0x46c6e8(_0x51ab55,_0x1bcff6,_0x229545){const _0x2a6825=_0x5947d2,_0x19d59b={'\x58\x68\x4c\x4a\x68':function(_0x25eeae,_0x1a4845){return _0x25eeae===_0x1a4845;},'\x6a\x45\x56\x6b\x61':'\x45\x4c\x45\x5f\x43\x4f\x4d\x4d\x4f\x44\x49\x54\x59\x5f\x48\x42','\x69\x55\x76\x41\x47':_0x2a6825(0x133,'\x54\x5e\x63\x61'),'\x4e\x56\x4a\x77\x64':function(_0x33a9b8,_0x244d5f){return _0x33a9b8>=_0x244d5f;},'\x77\x53\x64\x55\x6f':function(_0x1b125d,_0x175236){return _0x1b125d+_0x175236;},'\x4b\x73\x6c\x68\x78':function(_0x5a07c0,_0x15dee6){return _0x5a07c0/_0x15dee6;},'\x74\x56\x55\x75\x42':function(_0x31dee8,_0x260884){return _0x31dee8(_0x260884);},'\x48\x62\x59\x46\x74':_0x2a6825(0xf7,'\x6f\x36\x51\x50'),'\x66\x71\x44\x52\x51':_0x2a6825(0x102,'\x4b\x6f\x26\x74'),'\x45\x6f\x52\x46\x44':'\x61\x63\x74\x69\x6f\x6e','\x6f\x4c\x76\x4d\x56':_0x2a6825(0x15b,'\x33\x58\x5d\x51'),'\x41\x56\x4f\x64\x4c':function(_0x1ffcd9,_0x4d5578){return _0x1ffcd9+_0x4d5578;},'\x77\x46\x66\x6d\x58':function(_0x200a56,_0x946f3a){return _0x200a56+_0x946f3a;},'\x6b\x72\x62\x4e\x57':_0x2a6825(0x18e,'\x29\x35\x39\x73'),'\x47\x75\x76\x6f\x57':function(_0x5b2f42,_0x4823ac,_0x14abf0,_0x344115,_0x5551a2){return _0x5b2f42(_0x4823ac,_0x14abf0,_0x344115,_0x5551a2);},'\x65\x55\x4e\x77\x69':_0x2a6825(0xee,'\x5d\x44\x64\x37'),'\x6d\x78\x4e\x63\x42':_0x2a6825(0x159,'\x6a\x69\x53\x37'),'\x79\x65\x50\x73\x69':function(_0x2e2745,_0x45a701){return _0x2e2745<_0x45a701;},'\x61\x41\x63\x57\x56':'\x62\x70\x72\x49\x59','\x49\x58\x46\x62\x4d':function(_0x570885,_0x368d1c){return _0x570885!==_0x368d1c;},'\x77\x4f\x68\x41\x64':_0x2a6825(0x169,'\x33\x58\x5d\x51'),'\x59\x6c\x47\x55\x61':_0x2a6825(0xf6,'\x53\x5e\x49\x51'),'\x49\x44\x68\x75\x77':function(_0x310347,_0x10b8f3,_0x4db01c){return _0x310347(_0x10b8f3,_0x4db01c);},'\x63\x42\x68\x43\x64':function(_0x4b3e89,_0x42c72d){return _0x4b3e89+_0x42c72d;},'\x66\x7a\x63\x73\x4d':_0x2a6825(0xeb,'\x29\x5d\x78\x39'),'\x6e\x6e\x4d\x4a\x52':_0x2a6825(0x14a,'\x58\x67\x49\x7a'),'\x6e\x65\x42\x61\x77':function(_0x11255d,_0x29beff){return _0x11255d!==_0x29beff;},'\x47\x4d\x71\x4e\x79':_0x2a6825(0x127,'\x6f\x36\x51\x50'),'\x76\x74\x65\x48\x6c':_0x2a6825(0x135,'\x69\x61\x72\x70'),'\x6a\x6b\x7a\x75\x61':_0x2a6825(0x10b,'\x58\x63\x62\x6e'),'\x41\x57\x52\x58\x6a':_0x2a6825(0xed,'\x5e\x64\x47\x6b')};let _0x3b9005=_0x19d59b[_0x2a6825(0xf2,'\x29\x5d\x78\x39')](_0x19d59b['\x77\x46\x66\x6d\x58'](_0x19d59b['\x6b\x72\x62\x4e\x57'],_0x229545),_0x2a6825(0xfd,'\x53\x5e\x49\x51'));try{const _0x2543c3=await _0x19d59b[_0x2a6825(0x118,'\x6f\x36\x51\x50')](_0x3ccd97,_0x51ab55,_0x3b9005,_0x19d59b['\x65\x55\x4e\x77\x69'],_0x290516);if(_0x2543c3['\x64\x61\x74\x61'][_0x2a6825(0x12b,'\x2a\x6f\x55\x57')]){let _0x252fc4=_0x2543c3[_0x2a6825(0xff,'\x5e\x64\x47\x6b')][_0x2a6825(0x161,'\x4c\x6f\x29\x41')]['\x76\x6f\x75\x63\x68\x65\x72\x73\x5f\x6c\x69\x73\x74\x5f\x63\x6f\x6d\x70\x6f\x6e\x65\x6e\x74'][_0x2a6825(0x144,'\x5a\x35\x51\x49')][_0x2a6825(0x166,'\x46\x21\x48\x23')];if(_0x252fc4){let _0x18b554=_0x3c3a2f(new Date()[_0x2a6825(0x151,'\x57\x6b\x43\x4c')]()),_0x1c0773=_0x18b554[_0x2a6825(0xe3,'\x53\x5e\x49\x51')](_0x19d59b['\x6d\x78\x4e\x63\x42'])['\x76\x61\x6c\x75\x65\x4f\x66'](),_0x4b04ea=_0x252fc4[_0x2a6825(0xef,'\x6d\x41\x63\x37')](_0x4f6733=>{const _0x55254d=_0x2a6825;return _0x19d59b[_0x55254d(0xe7,'\x53\x5e\x49\x51')](_0x4f6733['\x66\x69\x65\x6c\x64\x73']['\x62\x65\x6e\x65\x66\x69\x74\x54\x79\x70\x65'],_0x19d59b['\x6a\x45\x56\x6b\x61'])&&_0x4f6733['\x66\x69\x65\x6c\x64\x73'][_0x55254d(0x14e,'\x66\x4d\x74\x28')]===_0x19d59b[_0x55254d(0x14d,'\x55\x40\x46\x72')];}),_0x5bcca6=_0x4b04ea['\x66\x69\x6c\x74\x65\x72'](_0xa33893=>{const _0x3aea51=_0x2a6825;return _0x19d59b['\x4e\x56\x4a\x77\x64'](_0xa33893[_0x3aea51(0xe5,'\x23\x66\x25\x31')][_0x3aea51(0x11f,'\x69\x61\x72\x70')],_0x19d59b['\x77\x53\x64\x55\x6f'](_0x19d59b[_0x3aea51(0x186,'\x41\x78\x64\x33')](_0x1c0773,0x3e8),''));});if(_0x19d59b[_0x2a6825(0xf3,'\x7a\x57\x49\x62')](_0x5bcca6[_0x2a6825(0x131,'\x30\x62\x71\x40')],0x1))_0x2a6825(0x182,'\x61\x5b\x67\x4d')!==_0x19d59b[_0x2a6825(0x140,'\x56\x62\x37\x46')]?console[_0x2a6825(0x107,'\x29\x46\x4d\x36')](_0x2a6825(0x11a,'\x36\x25\x25\x54')):dJAiSq['\x74\x56\x55\x75\x42'](_0x4f37bb,'\x30');else{if(_0x19d59b[_0x2a6825(0x137,'\x7a\x57\x49\x62')](_0x19d59b[_0x2a6825(0xdb,'\x4a\x6a\x25\x29')],_0x19d59b['\x77\x4f\x68\x41\x64']))(function(){return!![];}[_0x2a6825(0x179,'\x55\x40\x46\x72')](dJAiSq[_0x2a6825(0xf5,'\x56\x57\x40\x67')]+dJAiSq[_0x2a6825(0x16c,'\x6f\x36\x51\x50')])[_0x2a6825(0x112,'\x78\x75\x48\x63')](dJAiSq[_0x2a6825(0x189,'\x55\x40\x46\x72')]));else for(let _0x3eca09=0x0;_0x3eca09<_0x5bcca6[_0x2a6825(0x170,'\x78\x7a\x7a\x31')];_0x3eca09++){let _0x5996e4=_0x5bcca6[_0x3eca09];console['\x6c\x6f\x67'](_0x19d59b['\x59\x6c\x47\x55\x61'],_0x5996e4[_0x2a6825(0x152,'\x4c\x31\x4c\x5e')][_0x2a6825(0x194,'\x41\x78\x64\x33')]),await _0x19d59b['\x49\x44\x68\x75\x77'](_0xf29bc9,_0x51ab55,_0x19d59b[_0x2a6825(0x15c,'\x72\x6c\x6d\x6b')](_0x19d59b[_0x2a6825(0x17b,'\x5e\x64\x47\x6b')](_0x19d59b[_0x2a6825(0x157,'\x53\x5e\x49\x51')](_0x19d59b[_0x2a6825(0x156,'\x6a\x69\x53\x37')],_0x1bcff6),_0x19d59b['\x6e\x6e\x4d\x4a\x52']),_0x5996e4['\x66\x69\x65\x6c\x64\x73'][_0x2a6825(0x16a,'\x29\x35\x39\x73')]));}}}else _0x19d59b[_0x2a6825(0x109,'\x6d\x41\x63\x37')](_0x19d59b[_0x2a6825(0x181,'\x23\x66\x25\x31')],_0x19d59b[_0x2a6825(0x13e,'\x66\x4d\x74\x28')])?console['\x6c\x6f\x67'](_0x19d59b['\x6f\x4c\x76\x4d\x56']):_0x338a8a['\x6c\x6f\x67'](_0x19d59b[_0x2a6825(0x196,'\x25\x7a\x23\x56')]);}else console['\x6c\x6f\x67'](_0x19d59b['\x6f\x4c\x76\x4d\x56']);}catch(_0x1fb48b){_0x19d59b['\x6e\x65\x42\x61\x77'](_0x19d59b['\x6a\x6b\x7a\x75\x61'],_0x19d59b[_0x2a6825(0x10a,'\x7a\x5a\x59\x5a')])?console['\x6c\x6f\x67'](_0x19d59b[_0x2a6825(0xdc,'\x54\x6e\x6a\x6c')]):_0x4d9b2c[_0x2a6825(0x122,'\x4b\x6f\x26\x74')](_0x19d59b[_0x2a6825(0xe0,'\x58\x67\x49\x7a')]);}}function _0x3a47(_0x44aa0b,_0x2955fe){const _0x3abe90=_0x3d13();return _0x3a47=function(_0x49fd31,_0x4fb1d4){_0x49fd31=_0x49fd31-0xd9;let _0x4bf898=_0x3abe90[_0x49fd31];if(_0x3a47['\x45\x59\x6d\x6b\x77\x41']===undefined){var _0x4201d8=function(_0x3c6279){const _0x1fbcf5='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';let _0x2d09a9='',_0x3caa2f='';for(let _0x302b14=0x0,_0x187f5e,_0x2f7264,_0x50085a=0x0;_0x2f7264=_0x3c6279['\x63\x68\x61\x72\x41\x74'](_0x50085a++);~_0x2f7264&&(_0x187f5e=_0x302b14%0x4?_0x187f5e*0x40+_0x2f7264:_0x2f7264,_0x302b14++%0x4)?_0x2d09a9+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0xff&_0x187f5e>>(-0x2*_0x302b14&0x6)):0x0){_0x2f7264=_0x1fbcf5['\x69\x6e\x64\x65\x78\x4f\x66'](_0x2f7264);}for(let _0x3929e7=0x0,_0x18cc1b=_0x2d09a9['\x6c\x65\x6e\x67\x74\x68'];_0x3929e7<_0x18cc1b;_0x3929e7++){_0x3caa2f+='\x25'+('\x30\x30'+_0x2d09a9['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x3929e7)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x10))['\x73\x6c\x69\x63\x65'](-0x2);}return decodeURIComponent(_0x3caa2f);};const _0x4ddda2=function(_0x179c89,_0x1900f2){let _0x1bc56a=[],_0x2c060b=0x0,_0x47773b,_0x23847d='';_0x179c89=_0x4201d8(_0x179c89);let _0x5bd69d;for(_0x5bd69d=0x0;_0x5bd69d<0x100;_0x5bd69d++){_0x1bc56a[_0x5bd69d]=_0x5bd69d;}for(_0x5bd69d=0x0;_0x5bd69d<0x100;_0x5bd69d++){_0x2c060b=(_0x2c060b+_0x1bc56a[_0x5bd69d]+_0x1900f2['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5bd69d%_0x1900f2['\x6c\x65\x6e\x67\x74\x68']))%0x100,_0x47773b=_0x1bc56a[_0x5bd69d],_0x1bc56a[_0x5bd69d]=_0x1bc56a[_0x2c060b],_0x1bc56a[_0x2c060b]=_0x47773b;}_0x5bd69d=0x0,_0x2c060b=0x0;for(let _0x4d9b2c=0x0;_0x4d9b2c<_0x179c89['\x6c\x65\x6e\x67\x74\x68'];_0x4d9b2c++){_0x5bd69d=(_0x5bd69d+0x1)%0x100,_0x2c060b=(_0x2c060b+_0x1bc56a[_0x5bd69d])%0x100,_0x47773b=_0x1bc56a[_0x5bd69d],_0x1bc56a[_0x5bd69d]=_0x1bc56a[_0x2c060b],_0x1bc56a[_0x2c060b]=_0x47773b,_0x23847d+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x179c89['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x4d9b2c)^_0x1bc56a[(_0x1bc56a[_0x5bd69d]+_0x1bc56a[_0x2c060b])%0x100]);}return _0x23847d;};_0x3a47['\x6f\x61\x6a\x52\x4d\x72']=_0x4ddda2,_0x44aa0b=arguments,_0x3a47['\x45\x59\x6d\x6b\x77\x41']=!![];}const _0x3d13c1=_0x3abe90[0x0],_0x3a4799=_0x49fd31+_0x3d13c1,_0x5573c7=_0x44aa0b[_0x3a4799];return!_0x5573c7?(_0x3a47['\x6e\x42\x75\x77\x4f\x62']===undefined&&(_0x3a47['\x6e\x42\x75\x77\x4f\x62']=!![]),_0x4bf898=_0x3a47['\x6f\x61\x6a\x52\x4d\x72'](_0x4bf898,_0x4fb1d4),_0x44aa0b[_0x3a4799]=_0x4bf898):_0x4bf898=_0x5573c7,_0x4bf898;},_0x3a47(_0x44aa0b,_0x2955fe);}async function _0x331bea(){const _0x1c247f=_0x5947d2,_0x4e9828={'\x6c\x68\x52\x61\x64':'\x5c\x2b\x5c\x2b\x20\x2a\x28\x3f\x3a\x5b\x61\x2d\x7a\x41\x2d\x5a\x5f\x24\x5d\x5b\x30\x2d\x39\x61\x2d\x7a\x41\x2d\x5a\x5f\x24\x5d\x2a\x29','\x48\x67\x61\x75\x54':function(_0x55c177,_0x5d94a3){return _0x55c177(_0x5d94a3);},'\x52\x72\x4f\x6d\x46':'\x74\x6a\x5a\x66\x71','\x6e\x55\x41\x45\x75':_0x1c247f(0x155,'\x5e\x64\x47\x6b'),'\x4e\x4f\x51\x75\x6a':function(_0x1e57f3,_0x482fb1){return _0x1e57f3(_0x482fb1);},'\x7a\x6b\x65\x76\x6e':function(_0x55369e,_0xf9fcf){return _0x55369e+_0xf9fcf;},'\x55\x5a\x6a\x74\x47':_0x1c247f(0x15e,'\x6a\x43\x40\x47'),'\x43\x73\x64\x55\x54':function(_0x959241,_0x542463){return _0x959241(_0x542463);},'\x58\x53\x59\x72\x4e':function(_0x4a4560){return _0x4a4560();},'\x57\x71\x43\x71\x78':function(_0x5e0215,_0x592726,_0x37569d){return _0x5e0215(_0x592726,_0x37569d);},'\x45\x76\x68\x48\x4b':function(_0x3cc765,_0x1f2017){return _0x3cc765(_0x1f2017);},'\x50\x77\x50\x6c\x54':_0x1c247f(0x160,'\x21\x38\x39\x23'),'\x61\x6c\x47\x58\x49':function(_0x15ffdc,_0x155d22,_0x29b294){return _0x15ffdc(_0x155d22,_0x29b294);},'\x55\x55\x4c\x73\x4d':function(_0x2873ae,_0x1cda32){return _0x2873ae===_0x1cda32;},'\x72\x71\x45\x45\x4d':'\x4b\x4e\x4d\x68\x59','\x49\x6b\x4f\x4a\x42':'\u8d26\u53f7\u5931\u6548\uff01\u8bf7\u91cd\u65b0\u767b\u5f55\uff01\uff01\uff01\ud83d\ude2d','\x4b\x54\x5a\x7a\x57':_0x1c247f(0x134,'\x25\x7a\x23\x56'),'\x43\x74\x63\x56\x61':_0x1c247f(0x183,'\x69\x61\x72\x70'),'\x77\x72\x74\x72\x56':_0x1c247f(0x191,'\x5d\x44\x64\x37'),'\x6c\x43\x68\x62\x63':function(_0x278fb2,_0x4a4856,_0x31f94b,_0x1cd027){return _0x278fb2(_0x4a4856,_0x31f94b,_0x1cd027);}},_0x3661f8=(function(){const _0x492571=_0x1c247f,_0x21d106={'\x77\x52\x58\x6c\x56':_0x492571(0x100,'\x5d\x44\x64\x37'),'\x51\x64\x76\x41\x67':_0x4e9828[_0x492571(0xde,'\x4b\x6f\x26\x74')],'\x4e\x56\x6d\x63\x44':function(_0x1a0d9c,_0x1556eb){return _0x1a0d9c+_0x1556eb;},'\x6f\x42\x6f\x6d\x73':function(_0x29e9b2,_0xae6509){const _0x1a1b9a=_0x492571;return _0x4e9828[_0x1a1b9a(0x124,'\x4b\x6f\x26\x74')](_0x29e9b2,_0xae6509);},'\x65\x63\x42\x6d\x70':function(_0xc74aa3,_0x574d02,_0x11d7a4){return _0xc74aa3(_0x574d02,_0x11d7a4);},'\x65\x6b\x6c\x53\x79':_0x4e9828[_0x492571(0x173,'\x53\x5e\x49\x51')]};let _0x1e468c=!![];return function(_0x15d66a,_0x228c1f){const _0x477499=_0x492571;if(_0x21d106[_0x477499(0x13a,'\x66\x6c\x30\x2a')]!==_0x21d106[_0x477499(0x103,'\x79\x24\x21\x45')]){const _0x202f4c={'\x63\x67\x51\x76\x52':UDJMIQ['\x77\x52\x58\x6c\x56'],'\x67\x66\x63\x65\x4b':UDJMIQ[_0x477499(0x163,'\x29\x35\x39\x73')],'\x5a\x58\x51\x69\x4d':function(_0x4b6f99,_0x485e1f){const _0x156ca1=_0x477499;return UDJMIQ[_0x156ca1(0x126,'\x58\x67\x49\x7a')](_0x4b6f99,_0x485e1f);},'\x53\x78\x6b\x51\x6d':_0x477499(0xea,'\x30\x62\x71\x40'),'\x41\x6d\x50\x65\x4c':function(_0x31a43f,_0x330600){const _0x114397=_0x477499;return UDJMIQ[_0x114397(0x198,'\x21\x35\x50\x5e')](_0x31a43f,_0x330600);},'\x67\x78\x70\x55\x70':_0x477499(0x15a,'\x33\x58\x5d\x51'),'\x4a\x41\x61\x6a\x76':function(_0xf7fbf4,_0x3a6fb7){const _0x335c2e=_0x477499;return UDJMIQ[_0x335c2e(0x176,'\x6f\x36\x51\x50')](_0xf7fbf4,_0x3a6fb7);},'\x4e\x77\x44\x69\x67':function(_0x9e9780){return _0x9e9780();}};UDJMIQ[_0x477499(0x172,'\x25\x7a\x23\x56')](_0x356389,this,function(){const _0x19d3e0=_0x477499,_0x377017=new _0x1bf569(_0x202f4c[_0x19d3e0(0xfc,'\x72\x6c\x6d\x6b')]),_0x342221=new _0x2bab84(_0x202f4c[_0x19d3e0(0x14b,'\x56\x33\x4d\x5d')],'\x69'),_0x425b5=_0x33e3a4(_0x19d3e0(0x15d,'\x69\x61\x72\x70'));!_0x377017[_0x19d3e0(0xe2,'\x5e\x65\x23\x45')](_0x202f4c['\x5a\x58\x51\x69\x4d'](_0x425b5,_0x202f4c['\x53\x78\x6b\x51\x6d']))||!_0x342221[_0x19d3e0(0x10f,'\x58\x67\x49\x7a')](_0x202f4c[_0x19d3e0(0xf8,'\x56\x33\x4d\x5d')](_0x425b5,_0x202f4c[_0x19d3e0(0x108,'\x33\x58\x5d\x51')]))?_0x202f4c[_0x19d3e0(0x180,'\x7a\x57\x49\x62')](_0x425b5,'\x30'):_0x202f4c[_0x19d3e0(0x12a,'\x6f\x25\x47\x69')](_0x42cff6);})();}else{const _0x2ca12c=_0x1e468c?function(){if(_0x228c1f){const _0x3ca5ed=_0x228c1f['\x61\x70\x70\x6c\x79'](_0x15d66a,arguments);return _0x228c1f=null,_0x3ca5ed;}}:function(){};return _0x1e468c=![],_0x2ca12c;}};}());(function(){const _0x14d068=_0x1c247f;_0x4e9828[_0x14d068(0x184,'\x21\x38\x39\x23')](_0x3661f8,this,function(){const _0x525b2e=_0x14d068,_0x2c5599=new RegExp(_0x4e9828[_0x525b2e(0x195,'\x46\x21\x48\x23')]),_0x33e8c0=new RegExp(_0x4e9828[_0x525b2e(0x12c,'\x5d\x44\x64\x37')],'\x69'),_0x28bdd9=_0x4e9828[_0x525b2e(0x10e,'\x6d\x41\x63\x37')](_0x277262,'\x69\x6e\x69\x74');!_0x2c5599[_0x525b2e(0x11b,'\x79\x24\x21\x45')](_0x4e9828[_0x525b2e(0x18a,'\x54\x6e\x6a\x6c')](_0x28bdd9,'\x63\x68\x61\x69\x6e'))||!_0x33e8c0['\x74\x65\x73\x74'](_0x28bdd9+_0x4e9828[_0x525b2e(0x146,'\x61\x5b\x67\x4d')])?_0x4e9828[_0x525b2e(0x168,'\x5d\x44\x64\x37')](_0x28bdd9,'\x30'):_0x4e9828[_0x525b2e(0x11d,'\x69\x61\x72\x70')](_0x277262);})();}()),await _0x3c9b4f(_0x4dfeeb,0x1);const _0x4d018f=_0x4e9828['\x45\x76\x68\x48\x4b'](_0xa920bd,_0x4e9828[_0x1c247f(0x104,'\x29\x46\x4d\x36')]);for(let _0x3f7600=0x0;_0x3f7600<_0x4d018f['\x6c\x65\x6e\x67\x74\x68'];_0x3f7600++){let _0x500b3a=_0x4d018f[_0x3f7600];_0x500b3a=await _0x4e9828[_0x1c247f(0x142,'\x78\x75\x48\x63')](_0x59bc0e,_0x500b3a,_0x3f7600);if(!_0x500b3a)continue;let _0x2c2fb5=await _0x3b27e2(_0x500b3a);if(!_0x2c2fb5[_0x1c247f(0x185,'\x46\x21\x48\x23')]){if(_0x4e9828[_0x1c247f(0x167,'\x66\x6c\x30\x2a')](_0x4e9828[_0x1c247f(0x164,'\x5e\x65\x23\x45')],_0x1c247f(0x165,'\x55\x40\x46\x72'))){const _0x28cf76=_0x136379?function(){const _0x3f5749=_0x1c247f;if(_0x666108){const _0x480f66=_0x19532d[_0x3f5749(0x147,'\x32\x25\x36\x76')](_0x5a5774,arguments);return _0xaad255=null,_0x480f66;}}:function(){};return _0x41764c=![],_0x28cf76;}else console[_0x1c247f(0xec,'\x6f\x36\x51\x50')]('\u7b2c',_0x4e9828[_0x1c247f(0x174,'\x25\x7a\x23\x56')](_0x3f7600,0x1),_0x4e9828[_0x1c247f(0x18d,'\x6e\x24\x74\x30')]);}const _0x4bb744=_0x2c2fb5[_0x1c247f(0x145,'\x29\x35\x39\x73')];let _0x44b984=_0x2c2fb5[_0x1c247f(0x154,'\x4b\x6f\x26\x74')];console[_0x1c247f(0x119,'\x4c\x31\x4c\x5e')](_0x4e9828[_0x1c247f(0x139,'\x6e\x24\x74\x30')]+(_0x3f7600+0x1),_0x44b984,_0x4e9828[_0x1c247f(0xe9,'\x78\x34\x35\x65')]),console[_0x1c247f(0x13b,'\x25\x7a\x23\x56')](_0x4e9828[_0x1c247f(0x141,'\x7a\x57\x49\x62')],_0x4bb744),await _0x4e9828['\x6c\x43\x68\x62\x63'](_0x46c6e8,_0x500b3a,_0x44b984,_0x4bb744),console[_0x1c247f(0x138,'\x21\x38\x39\x23')](_0x1c247f(0x197,'\x57\x6b\x43\x4c')),await _0x4e9828['\x48\x67\x61\x75\x54'](_0x3937b9,0x1);}process[_0x1c247f(0x117,'\x25\x7a\x23\x56')](0x0);}_0x331bea(),(function(){const _0x4ccffa=_0x5947d2,_0x33c5fc={'\x43\x4a\x6b\x54\x56':_0x4ccffa(0x150,'\x5d\x44\x64\x37'),'\x73\x4a\x6a\x66\x5a':'\x63\x6f\x75\x6e\x74\x65\x72','\x4a\x67\x51\x41\x62':function(_0x375638,_0x52d91d){return _0x375638===_0x52d91d;},'\x59\x79\x4b\x73\x4c':_0x4ccffa(0x11c,'\x6f\x36\x51\x50'),'\x4c\x4c\x7a\x53\x4c':function(_0x1a9016,_0x91c3e){return _0x1a9016(_0x91c3e);},'\x4e\x53\x55\x65\x75':function(_0xafc519,_0xbdda59){return _0xafc519+_0xbdda59;},'\x45\x52\x5a\x41\x75':_0x4ccffa(0x11e,'\x4b\x6f\x26\x74'),'\x76\x6d\x56\x43\x66':_0x4ccffa(0x110,'\x66\x4d\x74\x28')};let _0x3cf354;try{if(_0x33c5fc[_0x4ccffa(0xdf,'\x6f\x25\x47\x69')](_0x33c5fc[_0x4ccffa(0x18f,'\x55\x40\x46\x72')],'\x4c\x67\x51\x70\x6f'))return function(_0x1950c2){}['\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72'](_0x33c5fc[_0x4ccffa(0x13d,'\x6e\x24\x74\x30')])['\x61\x70\x70\x6c\x79'](_0x33c5fc[_0x4ccffa(0x178,'\x7a\x5a\x59\x5a')]);else{const _0x35a8ee=_0x33c5fc['\x4c\x4c\x7a\x53\x4c'](Function,_0x33c5fc['\x4e\x53\x55\x65\x75'](_0x33c5fc['\x45\x52\x5a\x41\x75'],_0x33c5fc[_0x4ccffa(0xe8,'\x55\x40\x46\x72')])+'\x29\x3b');_0x3cf354=_0x35a8ee();}}catch(_0x4f9895){_0x3cf354=window;}_0x3cf354[_0x4ccffa(0x190,'\x56\x33\x4d\x5d')](_0x277262,0x7d0);}());function _0x277262(_0xf8a4c6){const _0x170713=_0x5947d2,_0x18872b={'\x52\x43\x76\x62\x64':_0x170713(0x18b,'\x29\x5d\x78\x39'),'\x44\x45\x51\x49\x51':_0x170713(0x106,'\x21\x35\x50\x5e'),'\x77\x6d\x41\x64\x6c':function(_0x3ce49d,_0xe5198){return _0x3ce49d(_0xe5198);},'\x72\x4a\x45\x50\x62':'\x69\x6e\x69\x74','\x42\x41\x6f\x62\x41':function(_0x517225,_0x1fca51){return _0x517225+_0x1fca51;},'\x54\x42\x69\x6c\x73':function(_0x56ff53,_0x1d7957){return _0x56ff53+_0x1d7957;},'\x5a\x6a\x6a\x64\x46':_0x170713(0xf4,'\x72\x6c\x6d\x6b'),'\x65\x4c\x4b\x6b\x70':_0x170713(0x10d,'\x56\x57\x40\x67'),'\x58\x63\x5a\x4a\x46':function(_0x1537a2,_0x511dc0){return _0x1537a2===_0x511dc0;},'\x49\x58\x43\x4a\x66':'\x72\x74\x4d\x78\x75','\x59\x71\x52\x6b\x4a':_0x170713(0x116,'\x6f\x36\x51\x50'),'\x77\x45\x68\x5a\x6d':_0x170713(0xf0,'\x56\x33\x4d\x5d'),'\x7a\x4d\x6e\x56\x42':function(_0x334233,_0x165259){return _0x334233!==_0x165259;},'\x4f\x56\x54\x45\x66':function(_0x18001d,_0x285456){return _0x18001d+_0x285456;},'\x6d\x63\x75\x78\x49':function(_0x1a8e5c,_0x36b113){return _0x1a8e5c/_0x36b113;},'\x52\x71\x6e\x63\x71':function(_0x53c07d,_0x3a9514){return _0x53c07d===_0x3a9514;},'\x79\x4c\x45\x67\x68':function(_0x144018,_0x4bb82a){return _0x144018%_0x4bb82a;},'\x76\x46\x72\x62\x47':'\x67\x67\x65\x72','\x48\x4c\x5a\x54\x4a':function(_0x3b7942,_0x40014f){return _0x3b7942>=_0x40014f;},'\x49\x47\x50\x6c\x65':'\x69\x72\x4c\x61\x64','\x74\x68\x45\x61\x53':'\x4e\x46\x6f\x79\x77'};function _0x59e13f(_0x17670d){const _0x32f9a4=_0x170713,_0x3afe43={'\x63\x78\x68\x68\x51':function(_0x922b24,_0x49e827){const _0x43fab3=_0x3a47;return _0x18872b[_0x43fab3(0xdd,'\x53\x5e\x49\x51')](_0x922b24,_0x49e827);},'\x57\x49\x75\x65\x52':_0x18872b['\x5a\x6a\x6a\x64\x46']};if(typeof _0x17670d===_0x18872b['\x65\x4c\x4b\x6b\x70']){if(_0x18872b[_0x32f9a4(0xf1,'\x78\x34\x35\x65')](_0x18872b[_0x32f9a4(0x17c,'\x5d\x44\x64\x37')],_0x18872b['\x49\x58\x43\x4a\x66']))return function(_0x53170){}[_0x32f9a4(0xe6,'\x5e\x65\x23\x45')](_0x32f9a4(0x175,'\x4c\x31\x4c\x5e'))['\x61\x70\x70\x6c\x79'](_0x18872b[_0x32f9a4(0x12f,'\x7a\x57\x49\x62')]);else(function(){return![];}[_0x32f9a4(0xd9,'\x56\x33\x4d\x5d')](_0x3afe43[_0x32f9a4(0xf9,'\x6a\x69\x53\x37')](_0x3afe43[_0x32f9a4(0x149,'\x6d\x41\x63\x37')],_0x32f9a4(0x130,'\x23\x66\x25\x31')))['\x61\x70\x70\x6c\x79'](_0x32f9a4(0x17e,'\x29\x35\x39\x73')));}else{if(_0x32f9a4(0x143,'\x78\x7a\x7a\x31')!==_0x18872b['\x77\x45\x68\x5a\x6d']){const _0xf6414b=new _0x3e1d35(_0x18872b[_0x32f9a4(0x14c,'\x56\x62\x37\x46')]),_0x1aeb0d=new _0x1e5f48(_0x18872b[_0x32f9a4(0x120,'\x46\x21\x48\x23')],'\x69'),_0x242a80=_0x18872b['\x77\x6d\x41\x64\x6c'](_0x2177fa,_0x18872b[_0x32f9a4(0xfb,'\x7a\x5a\x59\x5a')]);!_0xf6414b[_0x32f9a4(0x13c,'\x78\x75\x48\x63')](_0x18872b[_0x32f9a4(0x16f,'\x29\x35\x39\x73')](_0x242a80,_0x32f9a4(0xe4,'\x46\x21\x48\x23')))||!_0x1aeb0d[_0x32f9a4(0x17a,'\x7a\x5a\x59\x5a')](_0x18872b['\x42\x41\x6f\x62\x41'](_0x242a80,'\x69\x6e\x70\x75\x74'))?_0x18872b[_0x32f9a4(0x132,'\x57\x6b\x43\x4c')](_0x242a80,'\x30'):_0x594cae();}else _0x18872b[_0x32f9a4(0xfa,'\x7a\x57\x49\x62')](_0x18872b[_0x32f9a4(0x162,'\x78\x34\x35\x65')]('',_0x18872b[_0x32f9a4(0x192,'\x5e\x64\x47\x6b')](_0x17670d,_0x17670d))[_0x32f9a4(0x105,'\x32\x25\x36\x76')],0x1)||_0x18872b[_0x32f9a4(0x10c,'\x32\x25\x36\x76')](_0x18872b['\x79\x4c\x45\x67\x68'](_0x17670d,0x14),0x0)?function(){return!![];}['\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72'](_0x18872b['\x5a\x6a\x6a\x64\x46']+_0x18872b[_0x32f9a4(0x16b,'\x69\x61\x72\x70')])['\x63\x61\x6c\x6c'](_0x32f9a4(0x16e,'\x54\x5e\x63\x61')):function(){return![];}[_0x32f9a4(0x128,'\x78\x7a\x7a\x31')](_0x18872b[_0x32f9a4(0x12d,'\x6f\x36\x51\x50')](_0x18872b[_0x32f9a4(0x129,'\x55\x40\x46\x72')],_0x32f9a4(0x15f,'\x78\x7a\x7a\x31')))[_0x32f9a4(0x188,'\x29\x46\x4d\x36')](_0x32f9a4(0x17e,'\x29\x35\x39\x73'));}_0x59e13f(++_0x17670d);}try{if(_0x170713(0x14f,'\x7a\x5a\x59\x5a')!==_0x18872b[_0x170713(0x148,'\x41\x78\x64\x33')])return!![];else{if(_0xf8a4c6)return _0x59e13f;else{if(_0x18872b[_0x170713(0xfe,'\x2a\x6f\x55\x57')](_0x170713(0x193,'\x56\x57\x40\x67'),_0x18872b[_0x170713(0x12e,'\x21\x38\x39\x23')]))_0x18872b[_0x170713(0x187,'\x5d\x44\x64\x37')](_0x59e13f,0x0);else return _0x18872b[_0x170713(0x153,'\x66\x6c\x30\x2a')](_0x179c89[_0x170713(0x171,'\x78\x7a\x7a\x31')][_0x170713(0x136,'\x61\x5b\x67\x4d')],_0x18872b['\x6d\x63\x75\x78\x49'](_0x1900f2,0x3e8)+'');}}}catch(_0xbf36b0){}} 11 | 12 | // prettier-ignore 13 | 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.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } --------------------------------------------------------------------------------