diff --git a/.github/workflows/checkScriptStatus.yml b/.github/workflows/checkScriptStatus.yml index 04531bd..db670cd 100644 --- a/.github/workflows/checkScriptStatus.yml +++ b/.github/workflows/checkScriptStatus.yml @@ -36,45 +36,43 @@ jobs: import datetime import subprocess - # 1. 获取更改的文件列表 + # 1. 获取本次 Push 更改的文件列表 try: diff_cmd = ['git', 'diff', '--name-only', 'HEAD~1', 'HEAD'] result = subprocess.run(diff_cmd, capture_output=True, text=True, check=True) changed_files = result.stdout.splitlines() - except subprocess.CalledProcessError: - diff_cmd = ['git', 'diff', '--name-only', '--cached'] - result = subprocess.run(diff_cmd, capture_output=True, text=True, check=True) - changed_files = result.stdout.splitlines() except Exception: - changed_files = [] + try: + diff_cmd = ['git', 'diff', '--name-only', '--cached'] + result = subprocess.run(diff_cmd, capture_output=True, text=True, check=True) + changed_files = result.stdout.splitlines() + except Exception: + changed_files = [] - # 2. 筛选逻辑:必须在 daily 目录下,且不是 notify.py 和 .md 文件 - target_files = [] + now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') + + # 2. 提取变更文件中的 Env 名称及更新时间 + updates = {} for f in changed_files: - # 检查文件是否在 daily 目录下且文件存在 if f.startswith('daily/') and os.path.exists(f): filename = os.path.basename(f) - # 排除 notify.py 和所有 .md 后缀文件 if filename != 'notify.py' and not f.endswith('.md'): - target_files.append(f) + with open(f, 'r', encoding='utf-8') as file: + match = re.search(r'Env\s*\(\s*["\']([^"\']+)["\']\s*\)', file.read()) + if match: + updates[match.group(1)] = now - if not target_files: - print("没有检测到符合条件的脚本文件变更(排除 notify.py 和 md),退出。") - exit(0) - - # 3. 提取 Env 名称 - now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') - updates = {} - for f in target_files: - with open(f, 'r', encoding='utf-8') as file: - content = file.read() - match = re.search(r'Env\s*\(\s*["\']([^"\']+)["\']\s*\)', content) - if match: - updates[match.group(1)] = now - - if not updates: - print("变更的脚本中未找到 Env 标签,退出。") - exit(0) + # 3. 遍历 daily 目录获取所有的 Env(用于找出表格中缺失的) + all_envs = set() + if os.path.exists('daily'): + for root, _, files in os.walk('daily'): + for file in files: + if file != 'notify.py' and not file.endswith('.md'): + fpath = os.path.join(root, file).replace('\\', '/') + with open(fpath, 'r', encoding='utf-8') as f: + match = re.search(r'Env\s*\(\s*["\']([^"\']+)["\']\s*\)', f.read()) + if match: + all_envs.add(match.group(1)) # 4. 修改 README.md readme_path = 'README.md' @@ -85,8 +83,8 @@ jobs: with open(readme_path, 'r', encoding='utf-8') as f: full_text = f.read() - start_tag = "" - end_tag = "" + start_tag = "" + end_tag = "" if start_tag not in full_text or end_tag not in full_text: print("错误:未找到锚点标记!") @@ -113,25 +111,36 @@ jobs: existing_names = set() new_body_lines = [] + + # A. 处理表格中已存在的脚本 for line in body_lines: parts = [p.strip() for p in line.split('|')] if len(parts) >= 4: name = parts[1] existing_names.add(name) + # 如果该脚本在本次 push 中被修改,更新时间 if name in updates: line = f"| {name} | {updates[name]} | ✅ |" new_body_lines.append(line) + # B. 添加本次修改引发的新增脚本 for name, tm in updates.items(): if name not in existing_names: new_body_lines.append(f"| {name} | {tm} | ✅ |") + existing_names.add(name) + + # C. 添加存在于 daily 目录但 README 表格中缺失的脚本 + for name in all_envs: + if name not in existing_names: + new_body_lines.append(f"| {name} | {now} | ✅ |") + existing_names.add(name) final_table = "\n".join(header + separator + new_body_lines) final_content = f"{pre_part}{start_tag}\n{final_table}\n{end_tag}{post_part}" with open(readme_path, 'w', encoding='utf-8') as f: f.write(final_content) - print("README.md 更新成功。") + print("README.md 处理完成。") EOF python update_readme.py diff --git a/daily/babycare.js b/daily/babycare.js index dbc0c37..935be13 100644 --- a/daily/babycare.js +++ b/daily/babycare.js @@ -106,13 +106,19 @@ class Task { .finally(() => $.done()); async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await axios.request(options); - $.log(res) - return res + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + } \ No newline at end of file diff --git a/daily/chery.js b/daily/chery.js index afd96b6..ca1416d 100644 --- a/daily/chery.js +++ b/daily/chery.js @@ -215,13 +215,19 @@ class Task { .finally(() => $.done()); async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await axios.request(options); - $.log(res) - return res + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + } \ No newline at end of file diff --git a/daily/chinaMobile.js b/daily/chinaMobile.js index 36e3611..297f079 100644 --- a/daily/chinaMobile.js +++ b/daily/chinaMobile.js @@ -96,13 +96,19 @@ class Task { .finally(() => $.done()); async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await axios.request(options); - $.log(res) - return res + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + } diff --git a/daily/coke.js b/daily/coke.js new file mode 100644 index 0000000..d4a7291 --- /dev/null +++ b/daily/coke.js @@ -0,0 +1,152 @@ +/* +------------------------------------------ +@Author: sm +@Date: 2024.06.07 19:15 +@Description: 测试 +cron 8 10 * * * +------------------------------------------ +#Notice: + 变量名kekoukeleba 抓小程序可口可乐吧 member-api.icoke.cn/api Headers中 authorization 去掉Bearer 多账号&连接 +⚠️【免责声明】 +------------------------------------------ +1、此脚本仅用于学习研究,不保证其合法性、准确性、有效性,请根据情况自行判断,本人对此不承担任何保证责任。 +2、由于此脚本仅用于学习研究,您必须在下载后 24 小时内将所有内容从您的计算机或手机或任何存储设备中完全删除,若违反规定引起任何事件本人对此均不负责。 +3、请勿将此脚本用于任何商业或非法目的,若违反规定请自行对此负责。 +4、此脚本涉及应用与本人无关,本人对因此引起的任何隐私泄漏或其他后果不承担任何责任。 +5、本人对任何脚本引发的问题概不负责,包括但不限于由脚本错误引起的任何损失和损害。 +6、如果任何单位或个人认为此脚本可能涉嫌侵犯其权利,应及时通知并提供身份证明,所有权证明,我们将在收到认证文件确认后删除此脚本。 +7、所有直接或间接使用、查看此脚本的人均应该仔细阅读此声明。本人保留随时更改或补充此声明的权利。一旦您使用或复制了此脚本,即视为您已接受此免责声明。 +*/ +const { Env } = require('../tools/env'); +const $ = new Env("可口可乐吧"); +let ckName = `kekoukeleba`; +const strSplitor = "#"; +const axios = require("axios"); +const defaultUserAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 16_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.31(0x18001e31) NetType/WIFI Language/zh_CN miniProgram" + +class Public { + request(options) { + return axios.request(options); + } +} +class Task extends Public { + constructor(env) { + + super(); + this.index = $.userIdx++ + let user = env.split(strSplitor); + this.token = user[0]; + this.isSign = false; + } + async addSign() { + let options = { + method: "GET", + url: "https://member-api.icoke.cn/api/icoke-sign/icoke/mini/sign/main/sign", + headers: { + "accept": "application/json, text/plain, */*", + "accept-language": "zh-CN,zh;q=0.9", + "authorization": "" + this.token, + "content-type": "application/json", + "sec-fetch-dest": "empty", + "sec-fetch-mode": "cors", + "sec-fetch-site": "cross-site", + "xweb_xhr": "1", + "Referer": "https://servicewechat.com/wxa5811e0426a94686/421/page-frame.html", + "Referrer-Policy": "unsafe-url" + }, + + } + try { + let { data: res } = await this.request(options); + if (res.success == true) { + $.log(`签到成功 获得【${res.point}】快乐瓶`) + } else { + $.log(`签到失败`) + console.log(res); + } + } catch (e) { + console.log(e); + + } + } + async userInfo() { + let options = { + method: "GET", + url: "https://member-api.icoke.cn/api/icoke-customer/icoke/mini/customer/main/points", + headers: { + "accept": "application/json, text/plain, */*", + "accept-language": "zh-CN,zh;q=0.9", + "authorization": "" + this.token, + "content-type": "application/json", + "sec-fetch-dest": "empty", + "sec-fetch-mode": "cors", + "sec-fetch-site": "cross-site", + "xweb_xhr": "1", + "Referer": "https://servicewechat.com/wxa5811e0426a94686/421/page-frame.html", + "Referrer-Policy": "unsafe-url" + }, + + } + try { + let { data: res } = await this.request(options); + $.log(`目前还剩【${res.point}】瓶 `) + + } catch (e) { + console.log(e); + + } + } + async run() { + + await this.userInfo(); + + await this.addSign(); + + + + } + + +} + + + + + + + +!(async () => { + await getNotice() + $.checkEnv(ckName); + + for (let user of $.userList) { + // + + await new Task(user).run(); + + } + + +})() + .catch((e) => console.log(e)) + .finally(() => $.done()); + +async function getNotice() { + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + +} + + diff --git a/daily/colorful.js b/daily/colorful.js index b9ba1ef..dcebde7 100644 --- a/daily/colorful.js +++ b/daily/colorful.js @@ -228,13 +228,19 @@ class Task { .finally(() => $.done()); async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 } - } - let { data: res } = await axios.request(options); - $.log(res) - return res + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + } diff --git a/daily/ddsy.js b/daily/ddsy.js index 1fa0b17..45510e4 100644 --- a/daily/ddsy.js +++ b/daily/ddsy.js @@ -140,13 +140,19 @@ class Task { .finally(() => $.done()); async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await axios.request(options); - $.log(res) - return res + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + } \ No newline at end of file diff --git a/daily/dfyc.js b/daily/dfyc.js index ea3d6aa..5b5bda8 100644 --- a/daily/dfyc.js +++ b/daily/dfyc.js @@ -212,13 +212,19 @@ class Task { .finally(() => $.done()); async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await axios.request(options); - $.log(res) - return res + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + } diff --git a/daily/dw.js b/daily/dw.js index 96d756a..b5aee21 100644 --- a/daily/dw.js +++ b/daily/dw.js @@ -302,13 +302,19 @@ class Task { .finally(() => $.done()); async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await axios.request(options); - $.log(res) - return res + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + } diff --git a/daily/fsdlb.js b/daily/fsdlb.js index 445720b..3d507dd 100644 --- a/daily/fsdlb.js +++ b/daily/fsdlb.js @@ -116,13 +116,19 @@ class Task { .finally(() => $.done()); async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await axios.request(options); - $.log(res) - return res + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + } \ No newline at end of file diff --git a/daily/gyjj.js b/daily/gyjj.js index 346ad87..3eeaa66 100644 --- a/daily/gyjj.js +++ b/daily/gyjj.js @@ -119,13 +119,19 @@ class Task { .finally(() => $.done()); async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await axios.request(options); - $.log(res) - return res + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + } \ No newline at end of file diff --git a/daily/haitian.js b/daily/haitian.js index be832cc..329ecf4 100644 --- a/daily/haitian.js +++ b/daily/haitian.js @@ -253,13 +253,19 @@ class Task { .finally(() => $.done()); async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await axios.request(options); - $.log(res) - return res + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + } \ No newline at end of file diff --git a/daily/hdl.js b/daily/hdl.js index c243270..427bf34 100644 --- a/daily/hdl.js +++ b/daily/hdl.js @@ -170,13 +170,19 @@ class Task { .finally(() => $.done()); async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await axios.request(options); - $.log(res) - return res + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + } \ No newline at end of file diff --git a/daily/hezj.js b/daily/hezj.js index 1d9a34f..48d782d 100644 --- a/daily/hezj.js +++ b/daily/hezj.js @@ -124,13 +124,19 @@ class Task { .finally(() => $.done()); async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await axios.request(options); - $.log(res) - return res + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + } diff --git a/daily/hlyl.js b/daily/hlyl.js new file mode 100644 index 0000000..0682de0 --- /dev/null +++ b/daily/hlyl.js @@ -0,0 +1,121 @@ +/* +------------------------------------------ +@Author: sm +@Date: 2024.06.07 19:15 +@Description: 活力伊利小程序签到 +cron: 30 8 * * * +------------------------------------------ +#Notice: +变量名 hlyl +抓取 https://msmarket.msx.digitalyili.com/请求头access-token 多账户&或换行 + +⚠️【免责声明】 +------------------------------------------ +1、此脚本仅用于学习研究,不保证其合法性、准确性、有效性,请根据情况自行判断,本人对此不承担任何保证责任。 +2、由于此脚本仅用于学习研究,您必须在下载后 24 小时内将所有内容从您的计算机或手机或任何存储设备中完全删除,若违反规定引起任何事件本人对此均不负责。 +3、请勿将此脚本用于任何商业或非法目的,若违反规定请自行对此负责。 +4、此脚本涉及应用与本人无关,本人对因此引起的任何隐私泄漏或其他后果不承担任何责任。 +5、本人对任何脚本引发的问题概不负责,包括但不限于由脚本错误引起的任何损失和损害。 +6、如果任何单位或个人认为此脚本可能涉嫌侵犯其权利,应及时通知并提供身份证明,所有权证明,我们将在收到认证文件确认后删除此脚本。 +7、所有直接或间接使用、查看此脚本的人均应该仔细阅读此声明。本人保留随时更改或补充此声明的权利。一旦您使用或复制了此脚本,即视为您已接受此免责声明。 +*/ + +const { Env } = require("../tools/env") +const $ = new Env("活力伊利小程序"); +let ckName = `hlyl`; +const strSplitor = "#"; +const axios = require("axios"); +const defaultUserAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 16_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.31(0x18001e31) NetType/WIFI Language/zh_CN miniProgram" + + +class Task { + constructor(env) { + this.index = $.userIdx++ + this.user = env.split(strSplitor); + this.token = this.user[0]; + + } + + async run() { + + await this.signIn() + } + + async signIn() { + let options = { + method: 'POST', + url: `https://msmarket.msx.digitalyili.com/gateway/api/member/sign/config`, + headers: { + + "accept": "*/*", + "accept-language": "zh-CN,zh;q=0.9", + "access-token": "" + this.token, + "atv-page": "", + "content-type": "application/json", + "forward-appid": "", + "priority": "u=1, i", + "register-source": "", + "scene": "1145", + "sec-fetch-dest": "empty", + "sec-fetch-mode": "cors", + "sec-fetch-site": "cross-site", + "source-type": "", + "tenant-id": "", + "xweb_xhr": "1" + + + , data: { + + } + } + } + let { data: result } = await axios.request(options); + if (result?.status == true) { + //打印签到结果 + $.log(`🌸账号[${this.index}]` + `🕊签到获得${result.data.dailySignConfig.bonusPoint}分🎉`); + } else { + $.log(`🌸账号[${this.index}] 签到-失败:${result.error}❌`) + } + + + + + } + + + + + + + + +} + +!(async () => { + await getNotice() + $.checkEnv(ckName); + + for (let user of $.userList) { + await new Task(user).run(); + } +})() + .catch((e) => console.log(e)) + .finally(() => $.done()); + +async function getNotice() { + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + +} diff --git a/daily/hyjk.js b/daily/hyjk.js index dacda84..47e7719 100644 --- a/daily/hyjk.js +++ b/daily/hyjk.js @@ -639,15 +639,21 @@ class Task { }); async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await axios.request(options); - $.log(res) - return res + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + } diff --git a/daily/iqoo.js b/daily/iqoo.js index acabc4c..afaf182 100644 --- a/daily/iqoo.js +++ b/daily/iqoo.js @@ -297,14 +297,20 @@ class Task { .finally(() => $.done()); async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await axios.request(options); - $.log(res) - return res + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + } diff --git a/daily/kangshifu.js b/daily/kangshifu.js new file mode 100644 index 0000000..e05f0bd --- /dev/null +++ b/daily/kangshifu.js @@ -0,0 +1,106 @@ +/* +------------------------------------------ +@Author: sm +@Date: 2024.06.07 19:15 +@Description: 康师傅畅饮社 +cron: 30 10 * * * +------------------------------------------ +#Notice: +康师傅畅饮社小程序 +变量名 ksfcys +账号格式:抓https://club.biqr.cn/api/请求头token 多账户&或换行 +⚠️【免责声明】 +------------------------------------------ +1、此脚本仅用于学习研究,不保证其合法性、准确性、有效性,请根据情况自行判断,本人对此不承担任何保证责任。 +2、由于此脚本仅用于学习研究,您必须在下载后 24 小时内将所有内容从您的计算机或手机或任何存储设备中完全删除,若违反规定引起任何事件本人对此均不负责。 +3、请勿将此脚本用于任何商业或非法目的,若违反规定请自行对此负责。 +4、此脚本涉及应用与本人无关,本人对因此引起的任何隐私泄漏或其他后果不承担任何责任。 +5、本人对任何脚本引发的问题概不负责,包括但不限于由脚本错误引起的任何损失和损害。 +6、如果任何单位或个人认为此脚本可能涉嫌侵犯其权利,应及时通知并提供身份证明,所有权证明,我们将在收到认证文件确认后删除此脚本。 +7、所有直接或间接使用、查看此脚本的人均应该仔细阅读此声明。本人保留随时更改或补充此声明的权利。一旦您使用或复制了此脚本,即视为您已接受此免责声明。 +*/ + +const { Env } = require("../tools/env") +const $ = new Env("康师傅畅饮社"); +let ckName = `ksfcys`; +const strSplitor = "#"; +const axios = require("axios"); +const defaultUserAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 16_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.31(0x18001e31) NetType/WIFI Language/zh_CN miniProgram" + + +class Task { + constructor(env) { + this.index = $.userIdx++ + this.user = env.split(strSplitor); + this.token = this.user[0]; + + } + + async run() { + + await this.signIn() + } + + async signIn() { + let options = { + url: `https://club.biqr.cn/api/signIn/integralSignIn`, + headers: { + "accept": "application/json, text/plain, */*", + "accept-language": "zh-CN,zh;q=0.9", + "content-type": "application/x-www-form-urlencoded;", + "sec-fetch-dest": "empty", + "sec-fetch-mode": "cors", + "sec-fetch-site": "cross-site", + "token": this.token, + "xweb_xhr": "1" + }, + method: 'POST', + data: {} + } + let { data: result } = await axios.request(options); + if (result.code == 0) { + $.log(`账号[${this.index}]【${this.name}】 签到成功`); + } else { + $.log(result); + + } + } + + + + + + + + + +} + +!(async () => { + await getNotice() + $.checkEnv(ckName); + + for (let user of $.userList) { + await new Task(user).run(); + } +})() + .catch((e) => console.log(e)) + .finally(() => $.done()); + +async function getNotice() { + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + +} diff --git a/daily/lenovo.js b/daily/lenovo.js index 68ec733..91b844b 100644 --- a/daily/lenovo.js +++ b/daily/lenovo.js @@ -231,14 +231,20 @@ class Task { .finally(() => $.done()); async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await axios.request(options); - $.log(res) - return res + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + } diff --git a/daily/maisiweier.js b/daily/maisiweier.js index 73da0ba..f331f58 100644 --- a/daily/maisiweier.js +++ b/daily/maisiweier.js @@ -369,13 +369,19 @@ class Task { .finally(() => $.done()); async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await axios.request(options); - $.log(res) - return res + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + } diff --git a/daily/mtf.js b/daily/mtf.js index e023227..f7c9478 100644 --- a/daily/mtf.js +++ b/daily/mtf.js @@ -126,13 +126,19 @@ class Task { .finally(() => $.done()); async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await axios.request(options); - $.log(res) - return res + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + } \ No newline at end of file diff --git a/daily/musi.js b/daily/musi.js index df6c74c..51af8c5 100644 --- a/daily/musi.js +++ b/daily/musi.js @@ -170,13 +170,19 @@ class Task { .finally(() => $.done()); async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await axios.request(options); - $.log(res) - return res + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + } diff --git a/daily/mxbc.js b/daily/mxbc.js index 434446d..85bc48b 100644 --- a/daily/mxbc.js +++ b/daily/mxbc.js @@ -286,13 +286,19 @@ dOGyw/X4SFyodv8AEloqd81yGg== .finally(() => $.done()); async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await axios.request(options); - $.log(res) - return res + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + } \ No newline at end of file diff --git a/daily/tasiting.js b/daily/tasiting.js index d6b44aa..80be776 100644 --- a/daily/tasiting.js +++ b/daily/tasiting.js @@ -148,13 +148,19 @@ class Task { .finally(() => $.done()); async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await axios.request(options); - $.log(res) - return res + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + } \ No newline at end of file diff --git a/daily/weilai.js b/daily/weilai.js index 68891bf..0863de1 100644 --- a/daily/weilai.js +++ b/daily/weilai.js @@ -94,13 +94,19 @@ class Task { .finally(() => $.done()); async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await axios.request(options); - $.log(res) - return res + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + } diff --git a/daily/xinxi.js b/daily/xinxi.js index 85c81b9..b6816b9 100644 --- a/daily/xinxi.js +++ b/daily/xinxi.js @@ -266,13 +266,19 @@ class Task { .finally(() => $.done()); async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await axios.request(options); - $.log(res) - return res + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + } diff --git a/daily/yingsheng.js b/daily/yingsheng.js index 704cc33..4146a8c 100644 --- a/daily/yingsheng.js +++ b/daily/yingsheng.js @@ -497,13 +497,19 @@ class Task { .finally(() => $.done()); async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await axios.request(options); - $.log(res) - return res + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + } \ No newline at end of file diff --git a/daily/zbs.js b/daily/zbs.js new file mode 100644 index 0000000..1221965 --- /dev/null +++ b/daily/zbs.js @@ -0,0 +1,130 @@ +/* +------------------------------------------ +@Author: sm +@Date: 2024.06.07 19:15 +@Description: 植白说小程序 +cron: 30 8 * * * +------------------------------------------ +#Notice: + +⚠️【免责声明】 +------------------------------------------ +1、此脚本仅用于学习研究,不保证其合法性、准确性、有效性,请根据情况自行判断,本人对此不承担任何保证责任。 +2、由于此脚本仅用于学习研究,您必须在下载后 24 小时内将所有内容从您的计算机或手机或任何存储设备中完全删除,若违反规定引起任何事件本人对此均不负责。 +3、请勿将此脚本用于任何商业或非法目的,若违反规定请自行对此负责。 +4、此脚本涉及应用与本人无关,本人对因此引起的任何隐私泄漏或其他后果不承担任何责任。 +5、本人对任何脚本引发的问题概不负责,包括但不限于由脚本错误引起的任何损失和损害。 +6、如果任何单位或个人认为此脚本可能涉嫌侵犯其权利,应及时通知并提供身份证明,所有权证明,我们将在收到认证文件确认后删除此脚本。 +7、所有直接或间接使用、查看此脚本的人均应该仔细阅读此声明。本人保留随时更改或补充此声明的权利。一旦您使用或复制了此脚本,即视为您已接受此免责声明。 +*/ + +const { Env } = require("../tools/env") +const $ = new Env("植白说小程序"); +let ckName = `zbs`; +const strSplitor = "#"; +const axios = require("axios"); +const defaultUserAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 16_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.31(0x18001e31) NetType/WIFI Language/zh_CN miniProgram" + + +class Task { + constructor(env) { + this.index = $.userIdx++ + this.user = env.split(strSplitor); + this.token = this.user[0]; + + } + request(options) { + let baseHeraders = { + + "accept": "*/*", + "accept-language": "zh-CN,zh;q=0.9", + "content-type": "application/json", + "priority": "u=1, i", + "sec-fetch-dest": "empty", + "sec-fetch-mode": "cors", + "sec-fetch-site": "cross-site", + "x-dts-token": "" + this.token, + "xweb_xhr": "1", + + "User-Agent": defaultUserAgent, + } + options.headers = Object.assign(baseHeraders, options.headers) + return axios.request(options) + } + async run() { + + await this.signIn() + } + + async signIn() { + let options = { + method: 'GET', + url: "https://www.kozbs.com/demo/wx/home/sign?userId=", + headers: {}, + + }; + let { data: result } = await this.request(options); + if (result?.errno == '0') { + //打印签到结果 + $.log(`🌸账号[${this.index}]` + `签到成功🎉`); + } else { + $.log(`🌸账号[${this.index}] 签到-失败:${result.errmsg}❌`) + } + + + + + } + async getPoints() { + let options = { + method: 'GET', + url: "https://www.kozbs.com/demo/wx/user/getUserIntegral?userId=", + headers: {}, + + }; + let { data: result } = await this.request(options); + if (result?.errno == '0') { + //打印签到结果 + $.log(`🌸账号[${this.index}]` + `当前积分` + `${result.data.integer}🎉`); + } else { + $.log(`🌸账号[${this.index}] 获取积分-失败:${result.errmsg}❌`) + } + } + + + + + + + + +} + +!(async () => { + await getNotice() + $.checkEnv(ckName); + + for (let user of $.userList) { + await new Task(user).run(); + } +})() + .catch((e) => console.log(e)) + .finally(() => $.done()); + +async function getNotice() { + try { + let options = { + url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, + headers: { + "User-Agent": defaultUserAgent, + }, + timeout:3000 + } + let { + data: res + } = await axios.request(options); + $.log(res) + return res + } catch (e) {} + +} diff --git a/wxapp/kangshifu.js b/wxapp/kangshifu.js deleted file mode 100644 index 6c7f612..0000000 --- a/wxapp/kangshifu.js +++ /dev/null @@ -1,291 +0,0 @@ -/* ------------------------------------------- -@Author: sm -@Date: 2024.06.07 19:15 -@Description: 康师傅 -cron: 12 12 * * * ------------------------------------------- -#Notice: 只适用于购买了luflytoken的 购买联系QQ860562056 -变量wxcenter 填写自己部署的wxxcenter的域名, -变量wxid_ksf 在程序内登录的wxid 多账号&分割或者换行 - -⚠️【免责声明】 ------------------------------------------- -1、此脚本仅用于学习研究,不保证其合法性、准确性、有效性,请根据情况自行判断,本人对此不承担任何保证责任。 -2、由于此脚本仅用于学习研究,您必须在下载后 24 小时内将所有内容从您的计算机或手机或任何存储设备中完全删除,若违反规定引起任何事件本人对此均不负责。 -3、请勿将此脚本用于任何商业或非法目的,若违反规定请自行对此负责。 -4、此脚本涉及应用与本人无关,本人对因此引起的任何隐私泄漏或其他后果不承担任何责任。 -5、本人对任何脚本引发的问题概不负责,包括但不限于由脚本错误引起的任何损失和损害。 -6、如果任何单位或个人认为此脚本可能涉嫌侵犯其权利,应及时通知并提供身份证明,所有权证明,我们将在收到认证文件确认后删除此脚本。 -7、所有直接或间接使用、查看此脚本的人均应该仔细阅读此声明。本人保留随时更改或补充此声明的权利。一旦您使用或复制了此脚本,即视为您已接受此免责声明。 -*/ - -const $ = new Env("康师傅"); -let ckName = `wxid_ksf`; -const strSplitor = "#"; -const envSplitor = ["&", "\n"]; -const notify = $.isNode() ? require("../sendNotify") : ""; -const axios = require("axios"); -const defaultUserAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 16_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.31(0x18001e31) NetType/WIFI Language/zh_CN miniProgram" -let wxcenter = process.env.wxcenter || "" -let appid = 'wx54f3e6a00f7973a7' -class Public { - request(options) { - return axios.request(options); - } -} -class Task extends Public { - constructor(env) { - - super(); - this.index = $.userIdx++ - let user = env.split(strSplitor); - this.wxid = user[0]; - this.passwd = user[1]; - } - - async getcode() { - let options = { - url: `${wxcenter}/api/Wxapp/JSLogin`, - headers: { - 'Content-Type': 'application/json' - }, - method: 'POST', - data: { "Wxid": "" + this.wxid, "Appid": "" + appid } - } - let { data: result } = await this.request(options); - if (result.Success) { - let code = result.Data.code - $.log(`账号[${this.index}]【${this.name}】 获取code成功[${code}]`); - await this.login(code) - } else { - console.log(result); - } - - - } - async login(code) { - let options = { - url: `https://nclub.gdshcm.com/pro/whale-member/api/login/login`, - headers: { - 'Content-Type': 'application/json' - }, - method: 'POST', - data: { "code": "" + code, "inviterId": "", "inviterType": 1, "inviterMatchUserId": "", "spUrl": null } - } - let { data: result } = await this.request(options); - if (result.code == 0) { - let token = result.data.token - $.log(`账号[${this.index}]【${this.name}】 登录成功`); - await this.signIn(token) - } else { - console.log(result); - - } - - } - async signIn(token) { - let options = { - url: ` https://club.biqr.cn/api/signIn/integralSignIn`, - headers: { - 'Content-Type': 'application/json', - 'token': "" + token - }, - method: 'POST', - data: {} - } - let { data: result } = await this.request(options); - if (result.code == 0) { - $.log(`账号[${this.index}]【${this.name}】 签到成功`); - } else { - console.log(result); - - } - - - - - } - async run() { - if (!wxcenter) $.log(`请填写wxcenter`) - await this.getcode() - } -} - - -!(async () => { - await getNotice() - $.checkEnv(ckName); - - for (let user of $.userList) { - // - - await new Task(user).run(); - - } - - -})() - .catch((e) => console.log(e)) - .finally(() => $.done()); - -async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await new Public().request(options); - $.log(res) - return res -} - - -// prettier-ignore -function Env(t, s) { - return new (class { - constructor(t, s) { - this.userIdx = 1; - this.userList = []; - this.userCount = 0; - this.name = t; - this.notifyStr = []; - this.logSeparator = "\n"; - this.startTime = new Date().getTime(); - Object.assign(this, s); - this.log(`\ud83d\udd14${this.name},\u5f00\u59cb!`); - } - checkEnv(ckName) { - let userCookie = (this.isNode() ? process.env[ckName] : "") || ""; - this.userList = userCookie.split(envSplitor.find((o) => userCookie.includes(o)) || "&").filter((n) => n); - this.userCount = this.userList.length; - this.log(`共找到${this.userCount}个账号`); - } - async sendMsg() { - this.log("==============📣Center 通知📣==============") - for (let i = 0; i < this.notifyStr.length; i++) { - if (Object.prototype.toString.call(this.notifyStr[i]) === '[object Object]' || - Object.prototype.toString.call(this.notifyStr[i]) === '[object Array]') { - this.notifyStr[i] = JSON.stringify(this.notifyStr[i]); - } - } - - let message = this.notifyStr.join(this.logSeparator); - if (this.isNode()) { - await notify.sendNotify(this.name, message); - } else { - } - } - isNode() { - return "undefined" != typeof module && !!module.exports; - } - - queryStr(options) { - return Object.entries(options) - .map( - ([key, value]) => - `${key}=${typeof value === "object" ? JSON.stringify(value) : value - }` - ) - .join("&"); - } - getURLParams(url) { - const params = {}; - const queryString = url.split("?")[1]; - if (queryString) { - const paramPairs = queryString.split("&"); - paramPairs.forEach((pair) => { - const [key, value] = pair.split("="); - params[key] = value; - }); - } - return params; - } - isJSONString(str) { - try { - return JSON.parse(str) && typeof JSON.parse(str) === "object"; - } catch (e) { - return false; - } - } - isJson(obj) { - var isjson = - typeof obj == "object" && - Object.prototype.toString.call(obj).toLowerCase() == - "[object object]" && - !obj.length; - return isjson; - } - - randomNumber(length) { - const characters = "0123456789"; - return Array.from( - { length }, - () => characters[Math.floor(Math.random() * characters.length)] - ).join(""); - } - randomString(length) { - const characters = "abcdefghijklmnopqrstuvwxyz0123456789"; - return Array.from( - { length }, - () => characters[Math.floor(Math.random() * characters.length)] - ).join(""); - } - uuid() { - return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace( - /[xy]/g, - function (c) { - var r = (Math.random() * 16) | 0, - v = c == "x" ? r : (r & 0x3) | 0x8; - return v.toString(16); - } - ); - } - 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; - } - - log(content) { - this.notifyStr.push(content) - console.log(content) - } - wait(t) { - return new Promise((s) => setTimeout(s, t)); - } - async done(t = {}) { - await this.sendMsg(); - const s = new Date().getTime(), - e = (s - this.startTime) / 1e3; - this.log( - `\ud83d\udd14${this.name},\u7ed3\u675f!\ud83d\udd5b ${e}\u79d2` - ); - if (this.isNode()) { - process.exit(1); - } - } - })(t, s); -} \ No newline at end of file diff --git a/wxapp/suboer.js b/wxapp/suboer.js deleted file mode 100644 index 6bbf78d..0000000 --- a/wxapp/suboer.js +++ /dev/null @@ -1,542 +0,0 @@ -/** - * 苏泊尔会员中心 (微信小程序) - * Show: 吃大米 - * 变量名:suboer_wx - * 变量值:token&PHPSESSID@token1&PHPSESSID1 - * 抓域名https://growrice.supor.com/rice/backend/public/index.php/api/login/auto-login?token= 后面的值 - * 抓域名https://growrice.supor.com中请求体header中cookie中PHPSESSID 的值 - * 多账号使用 @ 分割 拼接字符串为& - * cron 5 15 * * * - * const $ = new Env("苏泊尔-微信小程序"); - * scriptVersionNow = "0.0.3"; - */ - -const ckName = "suboer_wx"; -const Notify = 1; //0为关闭通知,1为打开通知,默认为1 -let envSplitor = ["@", "\n"]; //多账号分隔符 -let strSplitor = '&'; //多变量分隔符 - -const $ = new Env("苏泊尔"); -let scriptVersionNow = "0.0.3"; -let msg = ""; - - -async function start() { - //await getVersion("smallfawn/QLScriptPublic/main/suboer.js"); - //await getNotice(); - - let taskall = []; - for (let user of $.userList) { - if (user.ckStatus) { - taskall.push(await user.task()); - await $.wait(1000); - } - } - await Promise.all(taskall); -} - -class UserInfo { - constructor(str) { - this.index = ++$.userIdx; - this.ckStatus = true; - this.token = str.split(strSplitor)[0]; - this.PHPSESSID = str.split(strSplitor)[1]; //单账号多变量分隔符 - this.headers = { - "Host": "growrice.supor.com", - "user-agent": "Mozilla/5.0 (Linux; Android 10; MI 8 Lite Build/QKQ1.190910.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/107.0.5304.141 Mobile Safari/537.36 XWEB/5127 MMWEBSDK/20230405 MMWEBID/2585 MicroMessenger/8.0.35.2360(0x2800235D) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64 miniProgram/wx29135df42114f4ef", - "content-type": "application/x-www-form-urlencoded", - "accept": "*/*", - "x-requested-with": "com.tencent.mm", - "sec-fetch-site": "same-origin", - "sec-fetch-mode": "cors", - "sec-fetch-dest": "empty", - "referer": "https://growrice.supor.com/rice/fort/main.html", - "accept-encoding": "gzip, deflate", - "accept-language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7", - "cookie": `PHPSESSID=${this.PHPSESSID}`, - } - } - async task() { - //登录 - $.DoubleLog(`-------- 开始 【第${this.index}个账号】--------`) - await this.login() - //用户信息 - await this.user_info() - - if (this.ckStatus) { - - //根据签到信息签到 - await this.sign_info() - //任务列表 - await this.task_list() - //获取可收取大米信息 - await this.get_index_info() - //大米余额 - await this.rice_num() - - } else { - $.DoubleLog(`账号${this.index} 失效了好像`) - } - } - // 登录 post - async login() { - let options = { - method: "get", - url: `https://growrice.supor.com/rice/backend/public/index.php/api/login/auto-login?token=${this.token}`, - headers: this.headers, - }; - let result = await httpRequest(options); - } - - // 用户信息 - GET - https://growrice.supor.com/users/get-user-info - async user_info() { - let options = { - method: "get", - url: `https://growrice.supor.com/rice/backend/public/index.php/api/users/get-user-info`, - headers: this.headers, - }; - let result = await httpRequest(options); - if (result["code"] == 1) { - $.DoubleLog(`账号${this.index} ${result["msg"]} 欢迎 ${result["data"]["nickname"]}`); - } else if (result["code"] == 0) { - $.DoubleLog(`账号${this.index} ${result.msg}`); - this.ckStatus = false - } else { - $.DoubleLog(`账号${this.index} 失败 ❌ 了呢,原因未知!`); - console.log(result); - this.ckStatus = false - } - } - // 签到信息 get - async sign_info() { - let options = { - method: "get", - url: `https://growrice.supor.com/rice/backend/public/index.php/api/signIn/sign-list`, - headers: this.headers, - }; - let result = await httpRequest(options); - - if (result["data"]["is_sign"] == false) { - $.DoubleLog(`账号${this.index} 未签到 去签到喽!`); - await this.do_sign() - } else if (result["data"]["is_sign"] == true) { - $.DoubleLog(`账号${this.index} 已签到 明天再来吧!`); - } else { - $.DoubleLog(`账号${this.index} 失败 ❌ 了呢`); - console.log(result); - } - } - //签到 - POST - https://growrice.supor.com/signIn/sign - async do_sign() { - let options = { - method: "post", - url: `https://growrice.supor.com/rice/backend/public/index.php/api/signIn/sign`, - headers: this.headers, - body: `https://growrice.supor.com/rice/backend/public/index.php/api/signIn/sign`, - }; - let result = await httpRequest(options); - - if (result["code"] == 1) { - $.DoubleLog(`账号${this.index} ${result["msg"]} ,获得 ${result["data"]["get_rice_num"]} 大米`); - } else if (result["code"] == 0) { - $.DoubleLog(`账号${this.index} ${result["msg"]}`); - } else { - $.DoubleLog(`账号${this.index} 失败❌了呢`); - console.log(result); - } - } - - - // 任务列表 get - async task_list() { - let options = { - method: "get", - url: `https://growrice.supor.com/rice/backend/public/index.php/api/task/index`, - headers: this.headers, - }; - let result = await httpRequest(options); - // console.log(result); - if (result["code"] == 1) { - $.DoubleLog(`账号${this.index} ${result["msg"]}`); - let tasks = result.data//[] - for (let i of tasks) { - if ((i["id"] == 1 || i["name"].indexOf("浏览") !== -1) && i["is_finish"] == false) { - await this.link_task("&id=1") - } else if ((i["id"] == 1 || i["name"].indexOf("浏览") !== -1) && i["is_finish"] == true) { - $.DoubleLog(`今天完成浏览好物任务了,明天再来吧!`) - } - - if ((i["id"] == 6 || i["name"].indexOf("收") !== -1) && i["is_finish"] == false) { - //收大米 - for (let j = 0; j < 3; j++) { - await this.get_rice() - } - } else if ((i["id"] == 6 || i["name"].indexOf("收") !== -1) && i["is_finish"] == true) { - $.DoubleLog(`今天无法偷大米了,明天再来吧!`) - } - - if ((i["id"] == 8 || i["name"].indexOf("其他") !== -1) && i["list"][0]["is_finish"] == false) { - //浏览菜谱 - await this.link_task("&id=8&other_id=3") - } else if ((i["id"] == 8 || i["name"].indexOf("其他") !== -1) && i["list"][0]["is_finish"] == true) { - $.DoubleLog(`今天完成浏览菜谱了,明天再来吧!`) - } - } - } else if (result["code"] == 0) { - $.DoubleLog(`账号${this.index} ${result["msg"]}`); - } else { - $.DoubleLog(`账号${this.index} 失败❌了呢`); - console.log(result); - } - } - - - // 执行各种任务 https://growrice.supor.com/rice/backend/public/index.php/api/task/link-task - async link_task(bodyString) { - /* - 浏览 菜谱 `&id=8&other_id=3` - 浏览 好物 `&id=1` - - */ - let options = { - method: "post", - url: `https://growrice.supor.com/rice/backend/public/index.php/api/task/link-task`, - headers: this.headers, - body: bodyString, - }; - let result = await httpRequest(options); - - // console.log(result); - if (result["code"] == 1) { - $.DoubleLog(`账号${this.index} ${result["msg"]}`); - } else { - $.DoubleLog(`账号${this.index} 失败❌了呢`); - console.log(result); - } - } - - - //获取题目 - POST - https://growrice.supor.com/rice/backend/public/index.php/api/question/getQuestion - async get_question() { - let options = { - method: "post", - url: `https://growrice.supor.com/rice/backend/public/index.php/api/question/getQuestion`, - headers: this.headers, - body: "" - }; - let result = await httpRequest(options); - // console.log(result); - if (result["code"] == 1) { - $.DoubleLog(`账号${this.index} 题目:${result["data"]["id"]}${result["data"]["title"]}`) - $.DoubleLog(`选项 A${result["data"]["answer_a"]}`) - $.DoubleLog(`选项 B${result["data"]["answer_b"]}`) - $.DoubleLog(`选项 C${result["data"]["answer_c"]}`) - if ("answer_d" in result["data"]) { - (`选项 D${result["data"]["answer_d"]}`) - } - await this.answer(`&question_id=16&answer=D`) - } else { - $.DoubleLog(`账号${this.index} 失败❌了呢`); - console.log(result); - } - } - - //回答题目 - POST - https://growrice.supor.com/rice/backend/public/index.php/api/question/answer - async answer(bodyString) { - let options = { - method: "post", - url: `https://growrice.supor.com/rice/backend/public/index.php/api/question/answer`, - headers: this.headers, - body: bodyString - }; - let result = await httpRequest(options); - // console.log(result); - if (result["code"] == 1) { - $.DoubleLog(`账号${this.index} 题目:${result["msg"]["id"]}`) - if (result["data"]["status"] == 0) { - this.answer_status = false //还需要在答题 - } else { - this.answer_status = true //答题任务完成 - - } - } else { - $.DoubleLog(`账号${this.index} 失败❌了呢`); - console.log(result); - } - } - - - // 获取可收取大米信息 get - async get_index_info() { - let options = { - method: "get", - url: `https://growrice.supor.com/rice/backend/public/index.php/api/index/index`, - headers: this.headers, - }; - let result = await httpRequest(options); - // console.log(result); - if (result["code"] == 1) { - if (result["data"]["rice_list"].length == 0) { - $.DoubleLog(`账号${this.index} 没有可以收获的大米`) - } else if (result["data"]["rice_list"].length > 0) { - $.DoubleLog(`账号${this.index} 收获大米`) - for (let i of result["data"]["rice_list"]) { - await this.collect_rice(i["id"]) - $.DoubleLog(`${i["name"]}收取完成`) - } - } - } else if (result["code"] == 2) { - $.DoubleLog(`账号${this.index} ${result['msg']} 请自己先打开一次小程序,种大米后在执行脚本!`) - } else { - $.DoubleLog(`账号${this.index} 失败❌了呢`); - console.log(result); - } - } - - - // 收大米 - async collect_rice(id) { - let options = { - method: "post", - url: `https://growrice.supor.com/rice/backend/public/index.php/api/index/collect-rice`, - headers: this.headers, - body: `&id=${id}`, - }; - let result = await httpRequest(options); - - // console.log(result); - if (result["code"] == 1) { - $.DoubleLog(`账号${this.index} 收取大米 成功啦 ! 当前累计${result["data"]["sign_rice_num"]}大米`); - } else if (result["code"] == 0) { - $.DoubleLog(`账号${this.index} ${result["msg"]}`); - } else { - $.DoubleLog(`账号${this.index} 失败❌了呢`); - console.log(result); - } - } - - - - - - // 查询大米数量 - GET - https://growrice.supor.com/rice/backend/public/index.php/api/exchange/index?&page=1&pagesize=10 - async rice_num() { - let options = { - method: "get", - url: `https://growrice.supor.com/rice/backend/public/index.php/api/exchange/index?&page=1&pagesize=10`, - headers: this.headers, - }; - let result = await httpRequest(options); - - // console.log(result); - if (result["code"] == 1) { - $.DoubleLog(`账号${this.index} 现在有${result["data"]["rice_num"]} 大米`) - } else { - $.DoubleLog(`账号${this.index} 失败❌了呢`); - console.log(result); - } - } - - // 获取同城大米id - async get_sameCity_id() { - let options = { - method: "get", - url: `https://growrice.supor.com/rice/backend/public/index.php/api/users/same-city-list`, - headers: this.headers, - }; - let result = await httpRequest(options); - // console.log(result); - if (result["code"] == 1) { - let arr = [] - for (let i of result["data"]) { - arr.push(i["id"]) - } - return arr; - } else { - $.DoubleLog(`账号${this.index} 失败❌了呢`); - console.log(result); - } - } - - - // 偷好友大米 - async get_rice() { - let SameCityIdList = await this.get_sameCity_id()//"获取好友大米id" - for (let i of SameCityIdList) { - let id = i - let options = { - method: "post", - url: `https://growrice.supor.com/rice/backend/public/index.php/api/users/get-rice`, - headers: this.headers, - body: `&friend_id=${id}`, - }; - let result = await httpRequest(options); - - if (result["code"] == 1) { - $.DoubleLog(`账号${this.index} ${result["msg"]} , 当前已有 ${result["data"]["sign_rice_num"]} 大米`); - } else if (result["code"] == 0) { - $.DoubleLog(`账号${this.index} ${result["msg"]}`); - } else { - $.DoubleLog(`账号${this.index} 失败❌了呢`); - console.log(result); - } - - } - - } - - // 抽奖信息 get - /* async prize_Info() { - let options = { - method: "get", - url: `https://growrice.supor.com/prize/index`, - headers: this.headers, - }; - let result = await httpRequest(options); - - // console.log(result); - if (result.code == 1) { - $.DoubleLog(`账号${this.index} , 抽奖券${result.data.draw_num_1}张, 高级抽奖券${result.data.draw_num_2}张`) - if (result.data.draw_num_1 > 0) { - await this.prize('普通抽奖', '1') - } - if (result.data.draw_num_2 > 0) { - await this.prize('高级抽奖', '2') - } - if (result.data.draw_num_1 == 0 && result.data.draw_num_2 == 0) { - $.DoubleLog(`账号${this.index} 暂时无抽奖次数!`) - } - - } else { - $.DoubleLog(`账号${this.index} 失败❌了呢`); - console.log(result); - } - }*/ - - // 抽奖 https://growrice.supor.com/rice/backend/public/index.php/api/prize/draw - /*async prize(type) { - let options = { - method: "post", - url: `https://growrice.supor.com/prize/draw`, - headers: this.headers, - body: `cate=${type}`, - }; - let result = await httpRequest(options); - - // console.log(result); - if (result.code == 1) { - let prize_info = result.data.prize_info - $.DoubleLog(`账号${this.index} 获得 ${prize_info.prize_name} , 奖品id: ${prize_info.prize_id}, 奖品类型: ${prize_info.prize_type}, 奖品数量: ${prize_info.prize_value}`); - await this.prize_Info('抽奖信息') - } else if (result.code == 0) { - $.DoubleLog(`账号${this.index} ${result.msg}`); - await this.prize_Info('抽奖信息') - } else { - $.DoubleLog(`账号${this.index} 失败❌了呢`); - console.log(result); - } - }*/ - - -} - - -!(async () => { - if (!(await checkEnv())) return; - if ($.userList.length > 0) { - await start(); - } await $.SendMsg(msg); -})().catch((e) => console.log(e)).finally(() => $.done()); - -//******************************************************** -/** - * 变量检查与处理 - * @returns - */ -async function checkEnv() { - let userCookie = ($.isNode() ? process.env[ckName] : $.getdata(ckName)) || ""; - //let userCount = 0; - if (userCookie) { - // console.log(userCookie); - let e = envSplitor[0]; - for (let o of envSplitor) - if (userCookie.indexOf(o) > -1) { - e = o; - break; - } - for (let n of userCookie.split(e)) n && $.userList.push(new UserInfo(n)); - //userCount = $.userList.length; - } else { - console.log("未找到CK"); - return; - } - return console.log(`共找到${$.userList.length}个账号`), true; //true == !0 -} - -///////////////////////////////////////////////////////////////////////////////////// -function httpRequest(options, method = null) { - method = options.method ? options.method.toLowerCase() : options.body ? "post" : "get"; - return new Promise((resolve) => { - $[method](options, (err, resp, data) => { - if (err) { - console.log(`${method}请求失败`); - $.logErr(err); - } else { - if (data) { - try { data = JSON.parse(data); } catch (error) { } - resolve(data); - } else { - console.log(`请求api返回数据为空,请检查自身原因`); - } - } - resolve(); - }); - }); -} -/** - * 获取远程版本 - */ -function getVersion(scriptUrl, timeout = 3 * 1000) { - return new Promise((resolve) => { - const options = { url: `https://ghproxy.com/https://raw.githubusercontent.com/${scriptUrl}` }; - $.get(options, (err, resp, data) => { - try { - const regex = /scriptVersionNow\s*=\s*(["'`])([\d.]+)\1/; - const match = data.match(regex); - const scriptVersionLatest = match ? match[2] : ""; - console.log(`\n============ 当前版本:${scriptVersionNow} 📌 最新版本:${scriptVersionLatest} ============`); - } catch (e) { - $.logErr(e, resp); - } - resolve(); - }, timeout); - }); -} -/** - * 获取远程通知 - */ -async function getNotice() { - try { - const urls = [ - "https://cdn.jsdelivr.net/gh/smallfawn/Note@main/Notice.json", - "https://ghproxy.com/https://raw.githubusercontent.com/smallfawn/Note/main/Notice.json", - "https://fastly.jsdelivr.net/gh/smallfawn/Note@main/Notice.json", - "https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json", - ]; - let notice = null; - for (const url of urls) { - const options = { url, headers: { "User-Agent": "" }, }; - const result = await httpRequest(options); - if (result && "notice" in result) { - notice = result.notice.replace(/\\n/g, "\n"); - break; - } - } - if (notice) { $.DoubleLog(notice); } - } catch (e) { - console.log(e); - } -} -// ==================== API ==================== // -function Env(t, e) { 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, a) => { s.call(this, t, (t, s, r) => { t ? a(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.userList = []; this.userIdx = 0; (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.encoding = "utf-8"), (this.startTime = new Date().getTime()), Object.assign(this, e), this.log("", `🔔${this.name},开始!`) } getEnv() { return "undefined" != typeof $environment && $environment["surge-version"] ? "Surge" : "undefined" != typeof $environment && $environment["stash-version"] ? "Stash" : "undefined" != typeof module && module.exports ? "Node.js" : "undefined" != typeof $task ? "Quantumult X" : "undefined" != typeof $loon ? "Loon" : "undefined" != typeof $rocket ? "Shadowrocket" : void 0 } isNode() { return "Node.js" === this.getEnv() } isQuanX() { return "Quantumult X" === this.getEnv() } isSurge() { return "Surge" === this.getEnv() } isLoon() { return "Loon" === this.getEnv() } isShadowrocket() { return "Shadowrocket" === this.getEnv() } isStash() { return "Stash" === this.getEnv() } 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 a = this.getdata(t); if (a) 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, a) => e(a)) }) } runScript(t, e) { return new Promise((s) => { let a = this.getdata("@chavy_boxjs_userCfgs.httpapi"); a = a ? a.replace(/\n/g, "").trim() : a; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); (r = r ? 1 * r : 20), (r = e && e.timeout ? e.timeout : r); const [i, o] = a.split("@"), n = { url: `http://${o}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": i, Accept: "*/*" }, timeout: r, }; this.post(n, (t, e, a) => s(a)) }).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), a = !s && this.fs.existsSync(e); if (!s && !a) return {}; { const a = s ? t : e; try { return JSON.parse(this.fs.readFileSync(a)) } 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), a = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : a ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const a = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of a) 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, a) => Object(t[s]) === t[s] ? t[s] : (t[s] = Math.abs(e[a + 1]) >> 0 == +e[a + 1] ? [] : {}), t)[e[e.length - 1]] = s), t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, a] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, a, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, a, r] = /^@(.*?)\.(.*?)$/.exec(e), i = this.getval(a), o = a ? ("null" === i ? null : i || "{}") : "{}"; try { const e = JSON.parse(o); this.lodash_set(e, r, t), (s = this.setval(JSON.stringify(e), a)) } catch (e) { const i = {}; this.lodash_set(i, r, t), (s = this.setval(JSON.stringify(i), a)) } } else s = this.setval(t, e); return s } getval(t) { switch (this.getEnv()) { case "Surge": case "Loon": case "Stash": case "Shadowrocket": return $persistentStore.read(t); case "Quantumult X": return $prefs.valueForKey(t); case "Node.js": return (this.data = this.loaddata()), this.data[t]; default: return (this.data && this.data[t]) || null } } setval(t, e) { switch (this.getEnv()) { case "Surge": case "Loon": case "Stash": case "Shadowrocket": return $persistentStore.write(t, e); case "Quantumult X": return $prefs.setValueForKey(t, e); case "Node.js": return ((this.data = this.loaddata()), (this.data[e] = t), this.writedata(), !0); default: return (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 = () => { }) { switch ((t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"], delete t.headers["content-type"], delete t.headers["content-length"]), this.getEnv())) { case "Surge": case "Loon": case "Stash": case "Shadowrocket": default: this.isSurge() && this.isNeedRewrite && ((t.headers = t.headers || {}), Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, a) => { !t && s && ((s.body = a), (s.statusCode = s.status ? s.status : s.statusCode), (s.status = s.statusCode)), e(t, s, a) }); break; case "Quantumult X": this.isNeedRewrite && ((t.opts = t.opts || {}), Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then((t) => { const { statusCode: s, statusCode: a, headers: r, body: i, bodyBytes: o, } = t; e(null, { status: s, statusCode: a, headers: r, body: i, bodyBytes: o, }, i, o) }, (t) => e((t && t.error) || "UndefinedError")); break; case "Node.js": let s = require("iconv-lite"); 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: a, statusCode: r, headers: i, rawBody: o, } = t, n = s.decode(o, this.encoding); e(null, { status: a, statusCode: r, headers: i, rawBody: o, body: n, }, n) }, (t) => { const { message: a, response: r } = t; e(a, r, r && s.decode(r.rawBody, this.encoding)) }) } } post(t, e = () => { }) { const s = t.method ? t.method.toLocaleLowerCase() : "post"; switch ((t.body && t.headers && !t.headers["Content-Type"] && !t.headers["content-type"] && (t.headers["content-type"] = "application/x-www-form-urlencoded"), t.headers && (delete t.headers["Content-Length"], delete t.headers["content-length"]), this.getEnv())) { case "Surge": case "Loon": case "Stash": case "Shadowrocket": default: this.isSurge() && this.isNeedRewrite && ((t.headers = t.headers || {}), Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient[s](t, (t, s, a) => { !t && s && ((s.body = a), (s.statusCode = s.status ? s.status : s.statusCode), (s.status = s.statusCode)), e(t, s, a) }); break; case "Quantumult X": (t.method = s), this.isNeedRewrite && ((t.opts = t.opts || {}), Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then((t) => { const { statusCode: s, statusCode: a, headers: r, body: i, bodyBytes: o, } = t; e(null, { status: s, statusCode: a, headers: r, body: i, bodyBytes: o, }, i, o) }, (t) => e((t && t.error) || "UndefinedError")); break; case "Node.js": let a = require("iconv-lite"); this.initGotEnv(t); const { url: r, ...i } = t; this.got[s](r, i).then((t) => { const { statusCode: s, statusCode: r, headers: i, rawBody: o, } = t, n = a.decode(o, this.encoding); e(null, { status: s, statusCode: r, headers: i, rawBody: o, body: n }, n) }, (t) => { const { message: s, response: r } = t; e(s, r, r && a.decode(r.rawBody, this.encoding)) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date(); let a = { "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 a) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? a[e] : ("00" + a[e]).substr(("" + a[e]).length))); return t } queryStr(t) { let e = ""; for (const s in t) { let a = t[s]; null != a && "" !== a && ("object" == typeof a && (a = JSON.stringify(a)), (e += `${s}=${a}&`)) } return (e = e.substring(0, e.length - 1)), e } msg(e = t, s = "", a = "", r) { const i = (t) => { switch (typeof t) { case void 0: return t; case "string": switch (this.getEnv()) { case "Surge": case "Stash": default: return { url: t }; case "Loon": case "Shadowrocket": return t; case "Quantumult X": return { "open-url": t }; case "Node.js": return }case "object": switch (this.getEnv()) { case "Surge": case "Stash": case "Shadowrocket": default: { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } case "Loon": { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } case "Quantumult X": { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl, a = t["update-pasteboard"] || t.updatePasteboard; return { "open-url": e, "media-url": s, "update-pasteboard": a, } } case "Node.js": return }default: return } }; if (!this.isMute) switch (this.getEnv()) { case "Surge": case "Loon": case "Stash": case "Shadowrocket": default: $notification.post(e, s, a, i(r)); break; case "Quantumult X": $notify(e, s, a, i(r)); break; case "Node.js": }if (!this.isMuteLog) { let t = ["", "==============📣系统通知📣==============",]; t.push(e), s && t.push(s), a && t.push(a), 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) { switch (this.getEnv()) { case "Surge": case "Loon": case "Stash": case "Shadowrocket": case "Quantumult X": default: this.log("", `❗️${this.name},错误!`, t); break; case "Node.js": this.log("", `❗️${this.name},错误!`, t.stack) } } wait(t) { return new Promise((e) => setTimeout(e, t)) } DoubleLog(d) { if (this.isNode()) { if (d) { console.log(`${d}`); msg += `\n ${d}` } } else { console.log(`${d}`); msg += `\n ${d}` } } async SendMsg(m) { if (!m) return; if (Notify > 0) { if (this.isNode()) { var notify = require("../sendNotify"); await notify.sendNotify(this.name, m) } else { this.msg(this.name, "", m) } } else { console.log(m) } } done(t = {}) { const e = new Date().getTime(), s = (e - this.startTime) / 1e3; switch ((this.log("", `🔔${this.name},结束!🕛${s}秒`), this.log(), this.getEnv())) { case "Surge": case "Loon": case "Stash": case "Shadowrocket": case "Quantumult X": default: $done(t); break; case "Node.js": process.exit(1) } } })(t, e) } -//Env rewrite:smallfawn Update-time:23-6-30 newAdd:DoubleLog & SendMsg diff --git a/wxapp/xbox.js b/wxapp/xbox.js deleted file mode 100644 index 596a2e5..0000000 --- a/wxapp/xbox.js +++ /dev/null @@ -1,397 +0,0 @@ -/** - * - * Xbox俱乐部 微信小程序 - * - * cron 0 0,7 * * * xbox_v2.js - * 多账号并行执行任务模板V2 - * 捉域名https://h5.youzan.com/wscuser/域名下的extra-data中的sid - */ -//=====================================================// -const $ = new Env("xbox俱乐部V2"); -const notify = $.isNode() ? require("../sendNotify") : ""; -const Notify = 1 -const debug = 0 -let ckStr = ($.isNode() ? process.env.xbox_data : $.getdata('xbox_data')) || ''; //检测CK 外部 -let msg = '', ck; -let host = 'h5.youzan.com'; -let hostname = 'https://' + host; -//---------------------------------------------------// -async function tips(ckArr) { - DoubleLog(`\n每日执行签到,积分兑换实物`); - //DoubleLog(`当前脚本版本 0.0.2\n📌,如果脚本版本不一致请及时更新`); - DoubleLog(`\n========== 共找到 ${ckArr.length} 个账号 ==========`); - debugLog(`【debug】 这是你的账号数组:\n ${ckArr}`); -} -!(async () => { - let ckArr = await checkEnv(ckStr, "xbox_data"); //检查CK - await tips(ckArr); //脚本提示 - await start(); //开始任务 - await SendMsg(msg); //发送通知 - -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()); - - -//---------------------------------------------------------------------------------封装循环测试 -async function newstart(name, taskname, time) { //任务名 函数名 等待时间 - let ckArr = await checkEnv(ckStr, "xbox_data"); //检查CK - DoubleLog("\n📌📌📌📌📌📌📌📌" + name + "📌📌📌📌📌📌📌📌"); - for (i = 0; i < ckArr.length; i++) { - ck = ckArr[i].split("&"); //单账号多变量分割符,如果一个账号需要user和token两个变量,那么则输入user1&token1@user2&token2... - //let CK = ckArr[i] - await taskname(); - await $.wait(time * 1000); - } -} -//-------------------------------------------------------------------------------封装循环测试 - -async function start() { - //console.log("\n📌📌📌📌📌📌📌📌执行任务1📌📌📌📌📌📌📌📌"); - //for (i = 0; i < ckArr.length; i++) { - // ck = ckArr[i].split("&"); //单账号多变量分割符,如果一个账号需要user和token两个变量,那么则输入user1&token1@user2&token2... - // let CK = ckArr[i] - // await userinfo(); - // await $.wait(2 * 1000); - //} - await newstart("查询", userinfo, 2) - await newstart("签到", checkin, 2) - -} -//---------用户信息 -async function userinfo() { - try { - let url = { - url: `${hostname}/wscuser/membercenter/global.json?app_id=wx7f4f694622875202&kdt_id=100464643`, - headers: { - "Host": host, - "user-agent": "Mozilla/5.0 (Linux; Android 10; ELS-AN00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.92 Mobile Safari/537.36", - "extra-data": "{\"is_weapp\":1,\"sid\":\"" + ck[0] + "\"}" - }, - - }; - let result = await httpGet(url, `用户信息查询`); - - //console.log(result); - if (result?.code == 0) { - let nickName = result.data.user.nickName - await getpoints(nickName); - //console.log(`账号[` + Number(i + 1) + `]` + `用户[` + result.data.user.nickName + `]积分:` + points +`🎉`); - } else { - DoubleLog(`账号[` + Number(i + 1) + `]查询失败!`); - //console.log(result); - } - } catch (error) { - console.log(error); - } - -} - - - -//------------------------------------------------------------------------------------------ -//用户积分查询 -async function getpoints(nickName) { - try { - let url = { - url: `${hostname}/wscuser/membercenter/stats.json?app_id=wx7f4f694622875202&kdt_id=100464643`, - headers: { - "Host": host, - "user-agent": "Mozilla/5.0 (Linux; Android 10; ELS-AN00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.92 Mobile Safari/537.36", - "extra-data": "{\"is_weapp\":1,\"sid\":\"" + ck[0] + "\"}" - }, - - }; - let result = await httpGet(url, `用户积分查询`); - - //console.log(result); - if (result?.code == 0) { - DoubleLog(`账号[` + Number(i + 1) + `]` + `用户[` + nickName + `]积分:${result.data.stats.points} 🎉`); - } else { - DoubleLog(`账号[` + Number(i + 1) + `]查询失败!`); - //console.log(result); - } - } catch (error) { - DoubleLog(error); - } - -} - - -//用户签到 -async function checkin() { - try { - let url = { - url: `${hostname}/wscump/checkin/checkinV2.json?checkinId=1597464&app_id=wx7f4f694622875202&kdt_id=100464643`, - headers: { - "Host": host, - "user-agent": "Mozilla/5.0 (Linux; Android 10; ELS-AN00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.92 Mobile Safari/537.36", - "extra-data": "{\"is_weapp\":1,\"sid\":\"" + ck[0] + "\"}" - }, - - }; - let result = await httpGet(url, `签到`); - - //console.log(result); - if (result?.code == 0) { - DoubleLog(`账号[` + Number(i + 1) + `]` + `签到:${result.msg} 获得:${result.data.list[0].infos.title}🎉`); - await wait(2); - } else if (result?.code == 1000030071) { - DoubleLog(`账号[` + Number(i + 1) + `]` + `签到失败!原因${result.msg}`); - //console.log(result); - } else { - DoubleLog(`账号[` + Number(i + 1) + `]` + `签到失败!原因${result.msg}`) - } - } catch (error) { - DoubleLog(error); - } - -} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -// #region ******************************************************** 固定代码 ******************************************************** -/** - * 变量检查 - */ -async function checkEnv(ck, Variables) { - return new Promise((resolve) => { - let ckArr = [] - if (ck) { - if (ck.indexOf("@") !== -1) { - - ck.split("@").forEach((item) => { - ckArr.push(item); - }); - } else if (ck.indexOf("\n") !== -1) { - - ck.split("\n").forEach((item) => { - ckArr.push(item); - }); - } else { - ckArr.push(ck); - } - resolve(ckArr) - } else { - console.log(` ${$.neme}:未填写变量 ${Variables} ,请仔细阅读脚本说明!`) - } - } - ) -} -/** - * 发送消息 - */ -async function SendMsg(message) { - if (!message) return; - if (Notify > 0) { - if ($.isNode()) { - var notify = require("../sendNotify"); - await notify.sendNotify($.name, message); - } else { - // $.msg(message); - $.msg($.name, '', message) - } - } else { - console.log(message); - } -} - -/** - * 双平台log输出 - */ -function DoubleLog(data) { - if ($.isNode()) { - if (data) { - console.log(`${data}`); - msg += `\n${data}`; - } - } else { - console.log(`${data}`); - msg += `\n${data}`; - } - -} -/** -* 等待 X 秒 -*/ -function wait(n) { - return new Promise(function (resolve) { - setTimeout(resolve, n * 1000); - }); -} - -/** - * get请求 - */ -async function httpGet(getUrlObject, tip, timeout = 3) { - return new Promise((resolve) => { - let url = getUrlObject; - if (!tip) { - let tmp = arguments.callee.toString(); - let re = /function\s*(\w*)/i; - let matches = re.exec(tmp); - tip = matches[1]; - } - if (debug) { - console.log(`\n 【debug】=============== 这是 ${tip} 请求 url ===============`); - console.log(url); - } - - $.get( - url, - async (err, resp, data) => { - try { - if (debug) { - console.log(`\n\n 【debug】===============这是 ${tip} 返回data==============`); - console.log(data); - console.log(`\n 【debug】=============这是 ${tip} json解析后数据============`); - console.log(JSON.parse(data)); - } - let result = JSON.parse(data); - if (result == undefined) { - return; - } else { - resolve(result); - } - - } catch (e) { - console.log(err, resp); - console.log(`\n ${tip} 失败了!请稍后尝试!!`); - msg = `\n ${tip} 失败了!请稍后尝试!!` - } finally { - resolve(); - } - }, - timeout - ); - }); -} - -/** - * post请求 - */ -async function httpPost(postUrlObject, tip, timeout = 3) { - return new Promise((resolve) => { - let url = postUrlObject; - if (!tip) { - let tmp = arguments.callee.toString(); - let re = /function\s*(\w*)/i; - let matches = re.exec(tmp); - tip = matches[1]; - } - if (debug) { - console.log(`\n 【debug】=============== 这是 ${tip} 请求 url ===============`); - console.log(url); - } - - $.post( - url, - async (err, resp, data) => { - try { - if (debug) { - console.log(`\n\n 【debug】===============这是 ${tip} 返回data==============`); - console.log(data); - console.log(`\n 【debug】=============这是 ${tip} json解析后数据============`); - console.log(JSON.parse(data)); - } - let result = JSON.parse(data); - if (result == undefined) { - return; - } else { - resolve(result); - } - - } catch (e) { - console.log(err, resp); - console.log(`\n ${tip} 失败了!请稍后尝试!!`); - msg = `\n ${tip} 失败了!请稍后尝试!!` - } finally { - resolve(); - } - }, - timeout - ); - }); -} - -/** - * 网络请求 (get, post等) - */ -async function httpRequest(postOptionsObject, tip, timeout = 3) { - return new Promise((resolve) => { - - let Options = postOptionsObject; - let request = require('request'); - if (!tip) { - let tmp = arguments.callee.toString(); - let re = /function\s*(\w*)/i; - let matches = re.exec(tmp); - tip = matches[1]; - } - if (debug) { - console.log(`\n 【debug】=============== 这是 ${tip} 请求 信息 ===============`); - console.log(Options); - } - - request(Options, async (err, resp, data) => { - try { - if (debug) { - console.log(`\n\n 【debug】===============这是 ${tip} 返回数据==============`); - console.log(data); - console.log(`\n 【debug】=============这是 ${tip} json解析后数据============`); - console.log(JSON.parse(data)); - } - let result = JSON.parse(data); - if (!result) return; - resolve(result); - } catch (e) { - console.log(err, resp); - console.log(`\n ${tip} 失败了!请稍后尝试!!`); - msg = `\n ${tip} 失败了!请稍后尝试!!` - } finally { - resolve(); - } - }), timeout - - }); -} - - -/** - * debug调试 - */ -function debugLog(...args) { - if (debug) { - console.log(...args); - } -} - -// 完整 Env -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) } diff --git a/wxapp/ylnn.js b/wxapp/ylnn.js deleted file mode 100644 index 36fe63e..0000000 --- a/wxapp/ylnn.js +++ /dev/null @@ -1,519 +0,0 @@ -/* -@随缘撸豆 - 伊利牛奶小程序 cron 45 12 * * * https://raw.githubusercontent.com/liuqi6968/-/main/ylnn.js - - 地址: #小程序://伊利/1jrunQEW7zfybgI - -5.27 完成签到 - ------------------------- 青龙--配置文件-贴心复制区域 ---------------------- -# 伊利牛奶 小程序 -#小程序://伊利/1jrunQEW7zfybgI -抓取 https://msmarket.msx.digitalyili.com 中的access-token -export ylnn=" access-token " -多账号用 换行 或 @ 分割 -注意脚本运行以后 在登录小程序ck会失效 - - -这个就是以前畅意100 以前玩过的可以找客服把积分移过到这个小程序里面 -*/ - -const $ = new Env("伊利牛奶") -const CK_NAME = "ylnn" -const Notify = 1 // 通知控制 -const tgLogFlag = 1 // 是否tg发送通知, 偷撸车使用, 默认0--不发送 -let msg = '' -//=========================================================================== - -//=========================================================================== -// -async function main(userInfo) { - - await userInfo.sign() - await userInfo.point() - - - -} - - -class UserInfo { - constructor(index, str) { - this.user_log = `${$.name}\n` - this.index = index + 1 - - if (tgLogFlag) { - try { - this.ck = str - } catch (error) { - console.log(error) - } - } - - - } - - - - async sign() { - let name = "签到"; - let options = { - method: "post", - url: `https://msmarket.msx.digitalyili.com/gateway/api/member/daily/sign`, - headers: { - "Host": "msmarket.msx.digitalyili.com", - "charset": "utf-8", - "content-type": "application/json", - "access-token": `${this.ck}` - }, - body: `{}` - }; - // console.log(options); - - let res = await httpRequest(options); - // console.log(res); - if (res.status == true) { - this.cusLog(`账号 ${this.index} : 签到成功`) - } else if (res.status == false) { - this.cusLog(`账号 ${this.index} : ck过期 请重新抓取 access-token`) - } else this.cusLog(`账号[${this.index}] ${name} 失败 ❌ 了呢`), console.log(res); - } - async point() { - let name = "个人信息"; - let options = { - method: "get", - url: `https://msmarket.msx.digitalyili.com/gateway/api/member/point`, - headers: { - "Host": "msmarket.msx.digitalyili.com", - "charset": "utf-8", - "content-type": "application/json", - "access-token": `${this.ck}` - } - - }; - // console.log(options); - - let res = await httpRequest(options); - // console.log(res); - if (res.status == true) { - this.cusLog(`账号 ${this.index} 总积分 : ${res.data} `) - } else if (res.status == false) { - this.cusLog(`账号 ${this.index} : ck过期 请重新抓取 access-token`) - } else this.cusLog(`账号[${this.index}] ${name} 失败 ❌ 了呢`), console.log(res); - } - - - - - - - - - - - - async Sendtg_bot() { - const TelegramBot = require('node-telegram-bot-api'); - const tg_token = process.env.tg_token; - // console.log(tg_token); - let bot = new TelegramBot(tg_token); - let msg = this.user_log; - // console.log(`=================`); - // console.log(this.chatId, msg); - await bot.sendMessage(this.chatId, msg); - } - - - cusLog(a) { - if (tgLogFlag) { - console.log(` ${a}`); - msg += `\n ${a}`; - this.user_log += `\n ${a}`; - } else { - console.log(` ${a}`); - msg += `\n ${a}`; - } - } - - -} - - - - - -/////////////////////////////////////////////////////////////////// - -// 入口 -!(async () => { - const notify = require("../sendNotify"); - $.doubleLog(await $.yiyan()); - let users = await getUsers(CK_NAME, async (index, element) => { - let userInfo = new UserInfo(index, element); - return userInfo; - }); - - list = []; - users.forEach(async element => { - list.push(main(element)); - }); - - await Promise.all(list); - -})() - .catch((e) => console.log(e)) - .finally(() => $.done()); - - -// ============================================================================== -async function getUsers(ckName, fnUserInfo) { - let userList = []; - let userCookie = process.env[ckName]; - let envSplicer = ["@", "\n", "&"]; - let userCount = 0; - if (userCookie) { - let e = envSplicer[0]; - for (let o of envSplicer) - if (userCookie.indexOf(o) > -1) { - e = o; - break; - } - let arr = userCookie.split(e); - for (let index = 0; index < arr.length; index++) { - const element = arr[index]; - element && userList.push(await fnUserInfo(index, element)); - } - userCount = userList.length; - } else { - console.log("抓取https://msmarket.msx.digitalyili.com 中的access-token"); - } - console.log(`共找到${userCount}个账号`), !0; - return userList; -} - -async function httpRequest(options, type = false) { - return new Promise((resolve) => { - try { - $.send(options, async (err, res_body, res_format, res) => { - if (err) { - console.log(`错误, 检查点--2`); return; - } - if (!type) { - resolve(res_body); - } resolve(res_format); - }); - } catch (error) { - console.log(error); - } - - }); -} - - - - - - - -// ============================================================================================================================ - -// 新的 env 函数, 增加自定义功能 yml-11.12改 合并 -function Env(name, env) { - "undefined" != typeof process && - JSON.stringify(process.env).indexOf("GITHUB") > -1 && - process.exit(0); - return new (class { - constructor(name, env) { - this.name = name; - this.notifyStr = ""; - this.notifyFlag = false; - this.startTime = new Date().getTime(); - Object.assign(this, env); - console.log(`${this.name} 开始运行: \n`); - } - isNode() { - return "undefined" != typeof module && !!module.exports; - } - send(options, e = () => { }) { - let m = options.method.toLowerCase(); - let t = options; - if (m != "get" && m != "post" && m != "put" && m != "delete") { - console.log(`无效的http方法: ${m}`); - return; - } - if (m == "get" && t.headers) { - // delete t.headers["Content-Type"]; - delete t.headers["Content-Length"]; - } else if (t.body && t.headers) { - if (t.headers["content-type"]) { - let tem = t.headers["content-type"]; - delete t.headers["content-type"]; - t.headers["Content-Type"] = tem; - } else if (t.body && t.headers) { - if (!t.headers["Content-Type"]) - t.headers["Content-Type"] = "application/x-www-form-urlencoded"; - } - } - if (this.isNode()) { - this.request = this.request ? this.request : require("request"); - this.request(options, function (error, response) { - if (error) throw new Error(error); - let res_body = response.body; - let res = response; - try { - if (typeof res_body == "string") { - if ($.isJsonStr(res_body)) { - res_body = JSON.parse(res_body); - let res_format = $.formatJson(response.body); - e(null, res_body, res_format, res); - } else e(null, res_body, res_format, res); - } else e(null, res_body, res_format, res); - } catch (error) { - console.log(error); - let a = `ENV -- request 请求错误, 检查点1\n${error}`; - e(a, null, null, null); - } - }); - } - } - isJsonStr(str) { - if (typeof str == "string") { - try { - if (typeof JSON.parse(str) == "object") { - return true; - } - } catch (e) { - return false; - } - } - return false; - } - formatJson(value) { - var json = value; - var i = 0, - len = 0, - tab = " ", - targetJson = "", - indentLevel = 0, - inString = false, - currentChar = null; - for (i = 0, len = json.length; i < len; i += 1) { - currentChar = json.charAt(i); - switch (currentChar) { - case "{": - case "[": - if (!inString) { - targetJson += currentChar + "\n" + repeat(tab, indentLevel + 1); - indentLevel += 1; - } else { - targetJson += currentChar; - } - break; - case "}": - case "]": - if (!inString) { - indentLevel -= 1; - targetJson += "\n" + repeat(tab, indentLevel) + currentChar; - } else { - targetJson += currentChar; - } - break; - case ",": - if (!inString) { - targetJson += ",\n" + repeat(tab, indentLevel); - } else { - targetJson += currentChar; - } - break; - case ":": - if (!inString) { - targetJson += ": "; - } else { - targetJson += currentChar; - } - break; - case " ": - case "\n": - case "\t": - if (inString) { - targetJson += currentChar; - } - break; - case '"': - if (i > 0 && json.charAt(i - 1) !== "\\") { - inString = !inString; - } - targetJson += currentChar; - break; - default: - targetJson += currentChar; - break; - } - } - function repeat(s, count) { - return new Array(count + 1).join(s); - } - function repeat(s, count) { - return new Array(count + 1).join(s); - } - return targetJson; - } - type(str) { - if (this.strCode(str) > 20) { - return console.log(`数据类型是: ${typeof str}`); - } - return console.log(`${str}数据类型是: ${typeof str}`); - } - strCode(str) { - var count = 0; - if (str) { - let len = str.length; - for (var i = 0; i < len; i++) { - if (str.charCodeAt(i) > 255) { - count += 2; - } else { - count++; - } - } - return count; - } else return 0; - } - async SendMsg(message) { - if (!message) return; - if (Notify > 0) { - if ($.isNode()) { - var notify = require("../sendNotify"); - await notify.sendNotify($.name, message); - } else { - console.log($.name, "", message); - } - } else { - console.log(message); - } - } - getMin(a, b) { - return a < b ? a : b; - } - getMax(a, b) { - return a < b ? b : a; - } - json2str(obj, c, encodeUrl = false) { - let ret = []; - for (let keys of Object.keys(obj).sort()) { - let v = obj[keys]; - if (v && encodeUrl) v = encodeURIComponent(v); - ret.push(keys + "=" + v); - } - return ret.join(c); - } - str2json(str, decodeUrl = false) { - let ret = {}; - for (let item of str.split("&")) { - if (!item) continue; - let idx = item.indexOf("="); - if (idx == -1) continue; - let k = item.substr(0, idx); - let v = item.substr(idx + 1); - if (decodeUrl) v = decodeURIComponent(v); - ret[k] = v; - } - return ret; - } - randomStr(len, up = false, charset = "abcdef0123456789") { - let str = ""; - for (let i = 0; i < len; i++) { - str += charset.charAt(Math.floor(Math.random() * charset.length)); - } - if (!up) { - return str; - } - return str.toUpperCase(); - } - phoneNum(phone_num) { - if (phone_num.length == 11) { - let data = phone_num.replace(/(\d{3})\d{4}(\d{4})/, "$1****$2"); - return data; - } else { - return phone_num; - } - } - randomInt(min, max) { - return Math.round(Math.random() * (max - min) + min); - } - async yiyan() { - this.request = this.request ? this.request : require("request"); - return new Promise((resolve) => { - var options = { - method: "GET", - url: "https://v1.hitokoto.cn/", - headers: {}, - }; - this.request(options, function (error, response) { - let data = JSON.parse(response.body); - let data_ = `[一言]: ${data.hitokoto} by--${data.from}`; - resolve(data_); - }); - }); - } - wait(t) { - return new Promise((e) => setTimeout(e, t * 1000)); - } - ts(type = false, _data = "") { - let myDate = new Date(); - let a = ""; - switch (type) { - case 10: - a = Math.round(new Date().getTime() / 1000).toString(); - break; - case 13: - a = Math.round(new Date().getTime()).toString(); - break; - case "h": - a = myDate.getHours(); - break; - case "m": - a = myDate.getMinutes(); - break; - case "y": - a = myDate.getFullYear(); - break; - case "h": - a = myDate.getHours(); - break; - case "mo": - a = myDate.getMonth(); - break; - case "d": - a = myDate.getDate(); - break; - case "ts2Data": - if (_data != "") { - time = _data; - if (time.toString().length == 13) { - let date = new Date(time + 8 * 3600 * 1000); - a = date.toJSON().substr(0, 19).replace("T", " "); - } else if (time.toString().length == 10) { - time = time * 1000; - let date = new Date(time + 8 * 3600 * 1000); - a = date.toJSON().substr(0, 19).replace("T", " "); - } - } - break; - default: - a = "未知错误,请检查"; - break; - } - return a; - } - doubleLog(a) { - console.log(` ${a}`); - msg += `\n ${a}`; - } - async done(t = {}) { - await $.SendMsg(msg); - const e = new Date().getTime(), - s = (e - this.startTime) / 1e3; - console.log(`\n${this.name} 运行结束,共运行了 ${s} 秒!`); - } - })(name, env); -} \ No newline at end of file diff --git a/wxapp/可口可乐吧.js b/wxapp/可口可乐吧.js deleted file mode 100644 index c2a641b..0000000 --- a/wxapp/可口可乐吧.js +++ /dev/null @@ -1,294 +0,0 @@ -/* ------------------------------------------- -@Author: sm -@Date: 2024.06.07 19:15 -@Description: 测试 ------------------------------------------- -#Notice: - 变量名kekoukeleba 抓小程序可口可乐吧 member-api.icoke.cn/api Headers中 authorization 去掉Bearer 多账号&连接 -⚠️【免责声明】 ------------------------------------------- -1、此脚本仅用于学习研究,不保证其合法性、准确性、有效性,请根据情况自行判断,本人对此不承担任何保证责任。 -2、由于此脚本仅用于学习研究,您必须在下载后 24 小时内将所有内容从您的计算机或手机或任何存储设备中完全删除,若违反规定引起任何事件本人对此均不负责。 -3、请勿将此脚本用于任何商业或非法目的,若违反规定请自行对此负责。 -4、此脚本涉及应用与本人无关,本人对因此引起的任何隐私泄漏或其他后果不承担任何责任。 -5、本人对任何脚本引发的问题概不负责,包括但不限于由脚本错误引起的任何损失和损害。 -6、如果任何单位或个人认为此脚本可能涉嫌侵犯其权利,应及时通知并提供身份证明,所有权证明,我们将在收到认证文件确认后删除此脚本。 -7、所有直接或间接使用、查看此脚本的人均应该仔细阅读此声明。本人保留随时更改或补充此声明的权利。一旦您使用或复制了此脚本,即视为您已接受此免责声明。 -*/ - -const $ = new Env("可口可乐吧"); -let ckName = `kekoukeleba`; -const strSplitor = "#"; -const envSplitor = ["&", "\n"]; -const notify = $.isNode() ? require("../sendNotify") : ""; -const axios = require("axios"); -const defaultUserAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 16_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.31(0x18001e31) NetType/WIFI Language/zh_CN miniProgram" - -class Public { - request(options) { - return axios.request(options); - } -} -class Task extends Public { - constructor(env) { - - super(); - this.index = $.userIdx++ - let user = env.split("#"); - this.token = user[0]; - this.isSign = false; - } - async addSign() { - let options = { - method: "GET", - url: "https://member-api.icoke.cn/api/icoke-sign/icoke/mini/sign/main/sign", - headers: { - "accept": "application/json, text/plain, */*", - "accept-language": "zh-CN,zh;q=0.9", - "authorization": "Bearer " + this.token, - "content-type": "application/json", - "sec-fetch-dest": "empty", - "sec-fetch-mode": "cors", - "sec-fetch-site": "cross-site", - "xweb_xhr": "1", - "Referer": "https://servicewechat.com/wxa5811e0426a94686/421/page-frame.html", - "Referrer-Policy": "unsafe-url" - }, - - } - try { - let { data: res } = await this.request(options); - if (res.success == true) { - $.log(`签到成功 获得【${res.point}】快乐瓶`) - } else { - $.log(`签到失败`) - console.log(res); - } - } catch (e) { - console.log(e); - - } - } - async userInfo() { - let options = { - method: "GET", - url: "https://member-api.icoke.cn/api/icoke-customer/icoke/mini/customer/main/points", - headers: { - "accept": "application/json, text/plain, */*", - "accept-language": "zh-CN,zh;q=0.9", - "authorization": "Bearer " + this.token, - "content-type": "application/json", - "sec-fetch-dest": "empty", - "sec-fetch-mode": "cors", - "sec-fetch-site": "cross-site", - "xweb_xhr": "1", - "Referer": "https://servicewechat.com/wxa5811e0426a94686/421/page-frame.html", - "Referrer-Policy": "unsafe-url" - }, - - } - try { - let { data: res } = await this.request(options); - $.log(`目前还剩【${res.point}】瓶 `) - - } catch (e) { - console.log(e); - - } - } - async run() { - - await this.userInfo(); - - await this.addSign(); - - - - } - - -} - - - - - - - -!(async () => { - await getNotice() - $.checkEnv(ckName); - - for (let user of $.userList) { - // - - await new Task(user).run(); - - } - - -})() - .catch((e) => console.log(e)) - .finally( () => $.done()); - -async function getNotice() { - let options = { - url: `https://ghproxy.net/https://raw.githubusercontent.com/smallfawn/Note/refs/heads/main/Notice.json`, - headers: { - "User-Agent": defaultUserAgent, - } - } - let { data: res } = await new Public().request(options); - $.log(res) - return res -} - - -// prettier-ignore -function Env(t, s) { - return new (class { - constructor(t, s) { - this.userIdx = 1; - this.userList = []; - this.userCount = 0; - this.name = t; - this.notifyStr = []; - this.logSeparator = "\n"; - this.startTime = new Date().getTime(); - Object.assign(this, s); - this.log(`\ud83d\udd14${this.name},\u5f00\u59cb!`); - } - checkEnv(ckName) { - let userCookie = (this.isNode() ? process.env[ckName] : "") || ""; - this.userList = userCookie.split(envSplitor.find((o) => userCookie.includes(o)) || "&").filter((n) => n); - this.userCount = this.userList.length; - this.log(`共找到${this.userCount}个账号`); - } - async sendMsg() { - this.log("==============📣Center 通知📣==============") - for (let i = 0; i < this.notifyStr.length; i++) { - if (Object.prototype.toString.call(this.notifyStr[i]) === '[object Object]' || - Object.prototype.toString.call(this.notifyStr[i]) === '[object Array]') { - this.notifyStr[i] = JSON.stringify(this.notifyStr[i]); - } - } - - let message = this.notifyStr.join(this.logSeparator); - if (this.isNode()) { - await notify.sendNotify(this.name, message); - } else { - } - } - isNode() { - return "undefined" != typeof module && !!module.exports; - } - - queryStr(options) { - return Object.entries(options) - .map( - ([key, value]) => - `${key}=${typeof value === "object" ? JSON.stringify(value) : value - }` - ) - .join("&"); - } - getURLParams(url) { - const params = {}; - const queryString = url.split("?")[1]; - if (queryString) { - const paramPairs = queryString.split("&"); - paramPairs.forEach((pair) => { - const [key, value] = pair.split("="); - params[key] = value; - }); - } - return params; - } - isJSONString(str) { - try { - return JSON.parse(str) && typeof JSON.parse(str) === "object"; - } catch (e) { - return false; - } - } - isJson(obj) { - var isjson = - typeof obj == "object" && - Object.prototype.toString.call(obj).toLowerCase() == - "[object object]" && - !obj.length; - return isjson; - } - - randomNumber(length) { - const characters = "0123456789"; - return Array.from( - { length }, - () => characters[Math.floor(Math.random() * characters.length)] - ).join(""); - } - randomString(length) { - const characters = "abcdefghijklmnopqrstuvwxyz0123456789"; - return Array.from( - { length }, - () => characters[Math.floor(Math.random() * characters.length)] - ).join(""); - } - uuid() { - return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace( - /[xy]/g, - function (c) { - var r = (Math.random() * 16) | 0, - v = c == "x" ? r : (r & 0x3) | 0x8; - return v.toString(16); - } - ); - } - 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; - } - - log(content) { - this.notifyStr.push(content) - console.log(content) - } - wait(t) { - return new Promise((s) => setTimeout(s, t)); - } - async done(t = {}) { - await this.sendMsg(); - const s = new Date().getTime(), - e = (s - this.startTime) / 1e3; - this.log( - `\ud83d\udd14${this.name},\u7ed3\u675f!\ud83d\udd5b ${e}\u79d2` - ); - if (this.isNode()) { - process.exit(1); - } - } - })(t, s); -} \ No newline at end of file diff --git a/wxapp/托迈酷客.js b/wxapp/托迈酷客.js deleted file mode 100644 index 1f8a810..0000000 --- a/wxapp/托迈酷客.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * 微信小程序 - * 托迈酷客 - * 完成签到,浏览 - * 变量名:tmkk - * 变量值:Authorization - * cron 10 8 * * * - */ -var version_='jsjiami.com.v7';const _0x1f1e99=_0x1971;(function(_0x49c20a,_0x5df291,_0x183514,_0x31a156,_0x49af2a,_0x494dd7,_0x2ebaab){return _0x49c20a=_0x49c20a>>0x7,_0x494dd7='hs',_0x2ebaab='hs',function(_0x307aef,_0x1da77,_0x307cc3,_0x8e6397,_0xe8169b){const _0x2cc2e7=_0x1971;_0x8e6397='tfi',_0x494dd7=_0x8e6397+_0x494dd7,_0xe8169b='up',_0x2ebaab+=_0xe8169b,_0x494dd7=_0x307cc3(_0x494dd7),_0x2ebaab=_0x307cc3(_0x2ebaab),_0x307cc3=0x0;const _0x4a3d5a=_0x307aef();while(!![]&&--_0x31a156+_0x1da77){try{_0x8e6397=parseInt(_0x2cc2e7(0x257,'XdGc'))/0x1+parseInt(_0x2cc2e7(0x292,'mA6L'))/0x2+-parseInt(_0x2cc2e7(0x2b5,'o9q3'))/0x3*(-parseInt(_0x2cc2e7(0x320,'cKwh'))/0x4)+parseInt(_0x2cc2e7(0x258,'j5d%'))/0x5+parseInt(_0x2cc2e7(0x1a4,'o&U)'))/0x6+parseInt(_0x2cc2e7(0x3dd,'ypmY'))/0x7+-parseInt(_0x2cc2e7(0x288,'cKwh'))/0x8;}catch(_0x2e0dbb){_0x8e6397=_0x307cc3;}finally{_0xe8169b=_0x4a3d5a[_0x494dd7]();if(_0x49c20a<=_0x31a156)_0x307cc3?_0x49af2a?_0x8e6397=_0xe8169b:_0x49af2a=_0xe8169b:_0x307cc3=_0xe8169b;else{if(_0x307cc3==_0x49af2a['replace'](/[WElLywRqfHrTCSNdYgDxG=]/g,'')){if(_0x8e6397===_0x1da77){_0x4a3d5a['un'+_0x494dd7](_0xe8169b);break;}_0x4a3d5a[_0x2ebaab](_0xe8169b);}}}}}(_0x183514,_0x5df291,function(_0x28745f,_0x59f64f,_0x35de71,_0xc0ad6b,_0x5cf67a,_0x2e84bc,_0x4d4f75){return _0x59f64f='\x73\x70\x6c\x69\x74',_0x28745f=arguments[0x0],_0x28745f=_0x28745f[_0x59f64f](''),_0x35de71=`\x72\x65\x76\x65\x72\x73\x65`,_0x28745f=_0x28745f[_0x35de71]('\x76'),_0xc0ad6b=`\x6a\x6f\x69\x6e`,(0x146823,_0x28745f[_0xc0ad6b](''));});}(0x6080,0x86c0f,_0x579a,0xc3),_0x579a)&&(version_=_0x1f1e99(0x3c9,'fPA*'));(function(){const _0x58f992=_0x1f1e99,_0x4339e1={'Dcxkk':function(_0x269b1d,_0x4e92e1){return _0x269b1d(_0x4e92e1);},'DEEWJ':function(_0x207de1,_0x1f0ffc){return _0x207de1+_0x1f0ffc;},'VDYzH':_0x58f992(0x3c0,'z8x8'),'TdLIy':function(_0x2f1923){return _0x2f1923();}};let _0x3d0b58;try{const _0x1f78ef=_0x4339e1[_0x58f992(0x259,'bjoy')](Function,_0x4339e1[_0x58f992(0x3c1,'AoS@')](_0x4339e1[_0x58f992(0x205,'Tqev')](_0x4339e1[_0x58f992(0x291,'GIP6')],_0x58f992(0x2f8,'a!Dd')),');'));_0x3d0b58=_0x4339e1[_0x58f992(0x281,'uGe#')](_0x1f78ef);}catch(_0x3de6ac){_0x3d0b58=window;}_0x3d0b58[_0x58f992(0x394,'kHRT')](_0x159fb6,0x7d0);}());const _0xe0900f=(function(){let _0x577f12=!![];return function(_0x162ac7,_0x58d00b){const _0x355448=_0x577f12?function(){const _0x3ded16=_0x1971;if(_0x58d00b){const _0x54cda8=_0x58d00b[_0x3ded16(0x17a,'O#74')](_0x162ac7,arguments);return _0x58d00b=null,_0x54cda8;}}:function(){};return _0x577f12=![],_0x355448;};}());(function(){const _0x2007f4=_0x1f1e99,_0x22715e={'bxjqA':_0x2007f4(0x37f,'aY2#'),'rKBeZ':function(_0x156afa,_0x4440ad){return _0x156afa(_0x4440ad);},'riGcH':_0x2007f4(0x311,'MVUS'),'WHfbe':function(_0x4e562c,_0x55be65){return _0x4e562c+_0x55be65;},'yVKlX':_0x2007f4(0x3d5,'qbU['),'DRnpT':_0x2007f4(0x3c7,'aY2#'),'VrypC':function(_0x5364d2,_0x355b00){return _0x5364d2(_0x355b00);},'MEGgT':function(_0x31c906){return _0x31c906();},'CRHul':function(_0x200f3e,_0x573aff,_0x5f2219){return _0x200f3e(_0x573aff,_0x5f2219);}};_0x22715e['CRHul'](_0xe0900f,this,function(){const _0xdd67bf=_0x2007f4,_0x34b8d5=new RegExp(_0x22715e[_0xdd67bf(0x207,'uT(k')]),_0x5bc916=new RegExp('\x5c+\x5c+\x20*(?:[a-zA-Z_$][0-9a-zA-Z_$]*)','i'),_0x3e6853=_0x22715e[_0xdd67bf(0x2d8,'O#74')](_0x159fb6,_0x22715e[_0xdd67bf(0x38e,'gULG')]);!_0x34b8d5[_0xdd67bf(0x218,'rC!2')](_0x22715e[_0xdd67bf(0x1c8,'])l0')](_0x3e6853,_0x22715e[_0xdd67bf(0x184,'W*xB')]))||!_0x5bc916[_0xdd67bf(0x267,'yoJp')](_0x22715e[_0xdd67bf(0x32c,'j5d%')](_0x3e6853,_0x22715e['DRnpT']))?_0x22715e[_0xdd67bf(0x1db,'a!Dd')](_0x3e6853,'0'):_0x22715e['MEGgT'](_0x159fb6);})();}());const _0x552de8=new _0x1861f0(_0x1f1e99(0x3ab,'kHRT')),_0x8cb15b=_0x1f1e99(0x220,'])l0'),_0x357c28=0x1;let _0x5047b1=['@','\x0a'],_0x325aa8='',_0x438c8b=[],_0x5ef186=0x0;async function _0x950ef(){const _0x310627=_0x1f1e99;let _0x505464=[];for(let _0x223b7c of _0x438c8b){_0x223b7c[_0x310627(0x1f2,'P^ND')]&&(_0x505464['push'](await _0x223b7c['main']()),await _0x552de8[_0x310627(0x24a,'j5d%')](0x3e8));}await Promise[_0x310627(0x1ad,'z8x8')](_0x505464);}class _0x3bdaf7{constructor(_0x33f327){const _0xf44503=_0x1f1e99,_0x59852e='10|2|8|4|9|5|6|3|7|0|1'[_0xf44503(0x2ae,'$tBf')]('|');let _0x412c29=0x0;while(!![]){switch(_0x59852e[_0x412c29++]){case'0':this[_0xf44503(0x2d2,'mA6L')]=null;continue;case'1':this[_0xf44503(0x31f,'bjoy')]=null;continue;case'2':this['ck']=_0x33f327['split']('&')[0x0];continue;case'3':this['firstTaskProcessStatus']=null;continue;case'4':this[_0xf44503(0x2b6,'TGTV')]=null;continue;case'5':this[_0xf44503(0x1f4,'z8x8')]=null;continue;case'6':this[_0xf44503(0x305,'cKwh')]=null;continue;case'7':this['activityTaskId']=null;continue;case'8':this['ckStatus']=!![];continue;case'9':this[_0xf44503(0x391,'j5d%')]=null;continue;case'10':this[_0xf44503(0x35b,'@xNW')]=++_0x5ef186;continue;}break;}}async[_0x1f1e99(0x3b4,'rC!2')](){const _0x3e5e76=_0x1f1e99,_0x12d45c={'xCHCT':_0x3e5e76(0x33e,'yoJp'),'mbtER':function(_0x231755,_0x55eac0){return _0x231755==_0x55eac0;},'xrywt':function(_0x465af1,_0xc0f2bc){return _0x465af1==_0xc0f2bc;},'JWUMP':function(_0x566f69,_0x387e93){return _0x566f69==_0x387e93;}};await this[_0x3e5e76(0x178,'iYLS')](),await _0x552de8[_0x3e5e76(0x3a0,'a!Dd')](0xbb8),await this['task_parameter']();let _0x363e95=this[_0x3e5e76(0x1ab,'iYLS')]['replace'](/^(\d{3})\d{4}(\d{4})$/,_0x12d45c[_0x3e5e76(0x261,'AoS@')]);if(this['activityTaskId']==_0x3e5e76(0x3d8,'W*xB')){if(this['activityTaskRelationId']!=null){if(_0x12d45c['mbtER'](this[_0x3e5e76(0x1fa,'jl07')],'COMPLETED'))_0x552de8[_0x3e5e76(0x33f,'bjoy')]('😊\x20账号['+_0x363e95+_0x3e5e76(0x21d,'o&6X')),this[_0x3e5e76(0x333,'MVUS')]=!![];else{if(_0x12d45c['xrywt'](this[_0x3e5e76(0x32a,'uT(k')],_0x3e5e76(0x21f,'XdGc')))_0x552de8[_0x3e5e76(0x278,'o&U)')](_0x3e5e76(0x3eb,'ypmY')+_0x363e95+_0x3e5e76(0x1c1,'KPQ1')),await this[_0x3e5e76(0x2f7,'UGUA')]();else _0x12d45c['JWUMP'](this[_0x3e5e76(0x2a9,'P^ND')],'WAIT_RECEIVED')?(_0x552de8[_0x3e5e76(0x3bb,'wxuS')](_0x3e5e76(0x1c7,'cKwh')+_0x363e95+']\x20浏览任务已完成,去领取奖励!'),await this[_0x3e5e76(0x294,'TGTV')]()):_0x552de8[_0x3e5e76(0x244,'[YtD')](_0x3e5e76(0x250,'XdGc')+_0x363e95+_0x3e5e76(0x323,'AoS@'));}}else _0x552de8['DoubleLog'](_0x3e5e76(0x3bd,'GIP6')+_0x363e95+']\x20浏览任务未完成,去接取任务!'),await this['task_receiveActivityTask']();}else _0x552de8[_0x3e5e76(0x260,'TGTV')](_0x3e5e76(0x30f,'KPQ1')+_0x363e95+_0x3e5e76(0x1d9,'KPQ1'));}async['task_sign'](){const _0x299be2=_0x1f1e99,_0x874389={'pRpKq':_0x299be2(0x26f,'j5d%'),'fulGk':function(_0x2d7be9){return _0x2d7be9();},'kYnzz':function(_0x437aa8,_0x5c7765){return _0x437aa8(_0x5c7765);},'XWOZW':function(_0x3bc70b,_0x440e66){return _0x3bc70b==_0x440e66;},'cRsFK':_0x299be2(0x1f0,'qGJf'),'NTSwL':_0x299be2(0x326,'o&U)'),'VzUhY':function(_0x455fa1,_0x261ddb){return _0x455fa1+_0x261ddb;}};try{let _0x25df7e={'url':'https://apis.folidaymall.com/online/cms-api/sign/userSign','method':_0x874389[_0x299be2(0x3e8,'o&6X')],'headers':{'Accept-Encoding':_0x299be2(0x39b,'o&U)'),'Origin':'https://hotels.folidaymall.com','Connection':_0x299be2(0x1dd,'z8x8'),'Accept':_0x299be2(0x1e8,'cKwh'),'Referer':_0x299be2(0x276,'GIP6'),'Host':'apis.folidaymall.com','User-Agent':_0x874389['fulGk'](_0x2c2565),'Authorization':this['ck'],'Accept-Language':'zh-CN,zh-Hans;q=0.9'}},_0x50fcf3=await _0x874389[_0x299be2(0x21e,'zl![')](_0x4d99c6,_0x25df7e);if(_0x874389['XWOZW'](_0x50fcf3[_0x299be2(0x302,'8*kB')],0x0)){this['mobile']=_0x50fcf3['data'][_0x299be2(0x26c,'iYLS')][_0x299be2(0x192,'qbU[')];let _0x20084a=this[_0x299be2(0x299,'fPA*')][_0x299be2(0x1a0,'@xNW')](/^(\d{3})\d{4}(\d{4})$/,_0x874389[_0x299be2(0x324,'mA6L')]);_0x874389['XWOZW'](_0x50fcf3[_0x299be2(0x202,'bjoy')]['signInfo'][_0x299be2(0x3a4,'Tqev')],0x1)?this[_0x299be2(0x1c9,'uT(k')]=_0x299be2(0x3e1,'yoJp'):this['signStatus']=_0x874389['NTSwL'],this[_0x299be2(0x1cb,'l%X^')]=_0x50fcf3[_0x299be2(0x34f,'eqN3')]['signInfo'][_0x299be2(0x39e,'P^ND')],this[_0x299be2(0x39f,'b7gV')]=_0x874389[_0x299be2(0x32e,'o&6X')](_0x50fcf3[_0x299be2(0x2ab,'fPA*')]['signInfo'][_0x299be2(0x393,'a!Dd')],_0x50fcf3[_0x299be2(0x2a1,'mA6L')]['signInfo'][_0x299be2(0x3dc,'XdGc')]),_0x552de8[_0x299be2(0x26e,'@xNW')](_0x299be2(0x35d,'[YtD')+_0x20084a+']\x20'+this[_0x299be2(0x230,'XdGc')]+_0x299be2(0x2e8,'@xNW')+this['continousSignDays']+_0x299be2(0x345,'XdGc')+this[_0x299be2(0x1fc,'uGe#')]),this['ckStatus']=!![];}else _0x552de8['DoubleLog']('😅\x20账号['+this['index']+_0x299be2(0x373,'cKwh')),this[_0x299be2(0x3b7,'j5d%')]=![];}catch(_0x349a83){console[_0x299be2(0x39a,'j5d%')](_0x349a83);}}async[_0x1f1e99(0x343,'KPQ1')](){const _0x2a74bd=_0x1f1e99,_0x512072={'JyPdO':_0x2a74bd(0x239,'VA9G'),'WbXfx':function(_0x4c5d01){return _0x4c5d01();},'WUogn':function(_0x507677,_0x398dd0){return _0x507677==_0x398dd0;},'Ixags':function(_0x1f5b83,_0x1a16e3){return _0x1f5b83<_0x1a16e3;}};try{let _0x5d1ec6={'url':_0x2a74bd(0x2d7,'eqN3'),'method':_0x512072[_0x2a74bd(0x3cd,'UGUA')],'headers':{'Accept-Encoding':_0x2a74bd(0x365,'qbU['),'Origin':'https://hotels.folidaymall.com','Connection':_0x2a74bd(0x1af,'l%X^'),'Accept':_0x2a74bd(0x21b,'kHRT'),'Referer':_0x2a74bd(0x2e5,'P^ND'),'Host':'apis.folidaymall.com','User-Agent':_0x512072[_0x2a74bd(0x3f9,'W*xB')](_0x2c2565),'Authorization':this['ck'],'Accept-Language':'zh-CN,zh-Hans;q=0.9'}},_0x2aaad8=await _0x4d99c6(_0x5d1ec6);if(_0x512072[_0x2a74bd(0x3d0,'W*xB')](_0x2aaad8[_0x2a74bd(0x3fe,'gULG')],0x0))for(let _0x10a4b4=0x0;_0x512072['Ixags'](_0x10a4b4,_0x2aaad8[_0x2a74bd(0x22c,'O#74')]['activityTaskRelations'][_0x2a74bd(0x27f,'P^ND')]);_0x10a4b4++){const _0x4ca8b5=_0x2aaad8[_0x2a74bd(0x22c,'O#74')][_0x2a74bd(0x306,'l%X^')][_0x10a4b4][_0x2a74bd(0x338,'W*xB')],_0x2d36a2=_0x2aaad8[_0x2a74bd(0x297,'$tBf')][_0x2a74bd(0x2ec,'a!Dd')][_0x10a4b4][_0x2a74bd(0x3da,'O#74')],_0x3e7c9d=_0x2aaad8[_0x2a74bd(0x2ab,'fPA*')][_0x2a74bd(0x2d5,'])l0')][_0x10a4b4][_0x2a74bd(0x2ad,'W*xB')],_0x3f67aa=_0x2aaad8['data'][_0x2a74bd(0x2c9,'@xNW')][_0x10a4b4]['activityTaskRelationId'];if(_0x4ca8b5){this[_0x2a74bd(0x3b6,'zjt@')]=_0x4ca8b5,this['activityTaskId']=_0x2d36a2,this['successRewardDesc']=_0x3e7c9d,this['activityTaskRelationId']=_0x3f67aa;break;}}else this[_0x2a74bd(0x312,'fPA*')]=![];}catch(_0x5bff55){console['log'](_0x5bff55);}}async['task_receiveActivityTask'](){const _0x14b9e3=_0x1f1e99,_0x34f17e={'NPUSU':_0x14b9e3(0x347,'zl!['),'qXciX':function(_0x56e331){return _0x56e331();},'NpTMQ':_0x14b9e3(0x3e7,'AoS@'),'Rcrtx':function(_0x2c2c8b,_0x3cc13b){return _0x2c2c8b(_0x3cc13b);},'ViShO':_0x14b9e3(0x266,'rC!2'),'FSDWH':_0x14b9e3(0x3f8,'qGJf')};try{let _0x1d1550={'url':'https://apis.folidaymall.com/online/cms-api/activity/receiveActivityTask','method':_0x14b9e3(0x225,'MVUS'),'headers':{'sec-ch-ua':_0x34f17e[_0x14b9e3(0x30a,'$tBf')],'Content-Type':_0x14b9e3(0x2bc,'$tBf'),'sec-ch-ua-mobile':'?0','Origin':_0x14b9e3(0x29c,'zl!['),'Connection':_0x14b9e3(0x31e,'cKwh'),'Accept':_0x14b9e3(0x351,'uT(k'),'Referer':_0x14b9e3(0x319,'o&6X'),'Host':_0x14b9e3(0x273,'KPQ1'),'User-Agent':_0x34f17e[_0x14b9e3(0x3a7,'qGJf')](_0x2c2565),'Authorization':this['ck'],'Accept-Language':'zh-CN,zh-Hans;q=0.9'},'body':JSON[_0x14b9e3(0x396,'uGe#')]({'activityTaskId':_0x34f17e['NpTMQ']})},_0x5bd295=await _0x34f17e[_0x14b9e3(0x3b8,'Tqev')](_0x4d99c6,_0x1d1550),_0x388379=this[_0x14b9e3(0x25b,'a!Dd')]['replace'](/^(\d{3})\d{4}(\d{4})$/,_0x34f17e['ViShO']);if(_0x5bd295[_0x14b9e3(0x1ae,'W*xB')]==0x0){const _0x1daaf7=_0x34f17e[_0x14b9e3(0x23f,'o&6X')][_0x14b9e3(0x3c3,'b7gV')]('|');let _0x26a7e9=0x0;while(!![]){switch(_0x1daaf7[_0x26a7e9++]){case'0':_0x552de8['DoubleLog'](_0x14b9e3(0x310,'qbU[')+_0x388379+']\x20任务接取成功!');continue;case'1':await this[_0x14b9e3(0x26a,'jVVH')]();continue;case'2':this[_0x14b9e3(0x318,'Tqev')]=!![];continue;case'3':await _0x552de8[_0x14b9e3(0x24d,'W*xB')](0x3e80);continue;case'4':_0x552de8[_0x14b9e3(0x1c3,'BdDc')](_0x14b9e3(0x235,'@xNW')+_0x388379+_0x14b9e3(0x226,'j5d%'));continue;}break;}}else _0x552de8['DoubleLog'](_0x14b9e3(0x263,'MVUS')+_0x388379+']\x20任务接取失败:\x20'+_0x5bd295[_0x14b9e3(0x395,'gULG')]+'!'),this[_0x14b9e3(0x3b1,'$tBf')]=![];}catch(_0x1962c6){console[_0x14b9e3(0x2a7,'])l0')](_0x1962c6);}}async[_0x1f1e99(0x1de,'eqN3')](){const _0x5a6c5a=_0x1f1e99,_0xe47b6a={'slCkR':_0x5a6c5a(0x3c5,'O#74'),'Kwpcj':_0x5a6c5a(0x2ed,'cKwh'),'hYruV':'application/json;charset=UTF-8','IgmXM':function(_0x420d55){return _0x420d55();},'uZzSg':_0x5a6c5a(0x1fd,'qGJf'),'hrGJm':function(_0x4899ac,_0x3983dd){return _0x4899ac(_0x3983dd);},'wtQMl':'$1****$2','bVVuS':function(_0x599b4b,_0xe6fd2d){return _0x599b4b==_0xe6fd2d;},'JbZqF':_0x5a6c5a(0x37c,'zjt@')};try{let _0x570407={'url':_0xe47b6a[_0x5a6c5a(0x236,'@xNW')],'method':_0xe47b6a[_0x5a6c5a(0x231,'wxuS')],'headers':{'sec-ch-ua':_0x5a6c5a(0x34d,'z8x8'),'Content-Type':_0xe47b6a['hYruV'],'sec-ch-ua-mobile':'?0','Origin':'https://hotels.folidaymall.com','Connection':'keep-alive','Accept':'*/*','Referer':_0x5a6c5a(0x214,'wxuS'),'Host':'apis.folidaymall.com','User-Agent':_0xe47b6a['IgmXM'](_0x2c2565),'Authorization':this['ck'],'Accept-Language':_0x5a6c5a(0x2fd,'XdGc')},'body':JSON[_0x5a6c5a(0x399,'a!Dd')]({'activityTaskId':_0xe47b6a[_0x5a6c5a(0x189,'mA6L')]})},_0x49d4af=await _0xe47b6a[_0x5a6c5a(0x203,'GIP6')](_0x4d99c6,_0x570407),_0x463221=this[_0x5a6c5a(0x38d,'GIP6')][_0x5a6c5a(0x27d,'eqN3')](/^(\d{3})\d{4}(\d{4})$/,_0xe47b6a[_0x5a6c5a(0x1ce,'UGUA')]);if(_0xe47b6a[_0x5a6c5a(0x1cc,'rC!2')](_0x49d4af[_0x5a6c5a(0x362,'J$Q%')],0x0)){const _0x177839=_0xe47b6a[_0x5a6c5a(0x1da,'o9q3')][_0x5a6c5a(0x349,'D%yI')]('|');let _0x44563f=0x0;while(!![]){switch(_0x177839[_0x44563f++]){case'0':_0x552de8[_0x5a6c5a(0x1c3,'BdDc')](_0x5a6c5a(0x1d2,'bjoy')+_0x463221+']\x20去领取奖励!');continue;case'1':_0x552de8[_0x5a6c5a(0x337,'mA6L')](_0x5a6c5a(0x177,'TGTV')+_0x463221+']\x20任务提交成功!');continue;case'2':await _0x552de8[_0x5a6c5a(0x3a0,'a!Dd')](0x3e80);continue;case'3':this['ckStatus']=!![];continue;case'4':await this[_0x5a6c5a(0x1b9,'j5d%')]();continue;}break;}}else _0x552de8[_0x5a6c5a(0x1eb,'$tBf')](_0x5a6c5a(0x29a,'o&6X')+_0x463221+_0x5a6c5a(0x247,'cKwh')+_0x49d4af[_0x5a6c5a(0x1d5,'[YtD')]+'!'),this['ckStatus']=![];}catch(_0x2af41c){console['log'](_0x2af41c);}}async[_0x1f1e99(0x3b3,'P^ND')](){const _0x53b1c=_0x1f1e99,_0x1e78c4={'uwABf':_0x53b1c(0x3aa,'])l0'),'NZUld':_0x53b1c(0x3af,'@xNW'),'SopYe':'$1****$2','rqsye':function(_0x3928ce,_0x5e5086){return _0x3928ce==_0x5e5086;}};try{let _0x2a6d04={'url':_0x1e78c4['uwABf'],'method':'post','headers':{'sec-ch-ua':_0x53b1c(0x2c5,'wxuS'),'Content-Type':_0x1e78c4['NZUld'],'sec-ch-ua-mobile':'?0','Origin':_0x53b1c(0x2ee,'jl07'),'Connection':_0x53b1c(0x3e3,'TGTV'),'Accept':_0x53b1c(0x3bc,'rC!2'),'Referer':_0x53b1c(0x20b,'J$Q%'),'Host':_0x53b1c(0x2eb,'])l0'),'User-Agent':_0x2c2565(),'Authorization':this['ck'],'Accept-Language':_0x53b1c(0x2fd,'XdGc')},'body':JSON[_0x53b1c(0x282,'j5d%')]({'activityTaskId':_0x53b1c(0x190,'MVUS'),'activityTaskRelationId':this[_0x53b1c(0x275,'iYLS')]})},_0x5a8cd2=await _0x4d99c6(_0x2a6d04),_0x3b171e=this[_0x53b1c(0x299,'fPA*')][_0x53b1c(0x191,'MMXp')](/^(\d{3})\d{4}(\d{4})$/,_0x1e78c4[_0x53b1c(0x268,'KPQ1')]);_0x1e78c4[_0x53b1c(0x1b8,'[YtD')](_0x5a8cd2[_0x53b1c(0x2c1,'uGe#')],0x0)?(_0x552de8[_0x53b1c(0x17e,'cKwh')](_0x53b1c(0x3bd,'GIP6')+_0x3b171e+_0x53b1c(0x3de,'aY2#')+this[_0x53b1c(0x20f,'VA9G')]),_0x552de8['DoubleLog'](_0x53b1c(0x1c7,'cKwh')+_0x3b171e+_0x53b1c(0x19e,'aY2#')),await this[_0x53b1c(0x23c,'[YtD')](),this[_0x53b1c(0x238,'J$Q%')]=!![]):(_0x552de8[_0x53b1c(0x31a,'O#74')]('😅\x20账号['+_0x3b171e+_0x53b1c(0x2b2,'W*xB')+_0x5a8cd2[_0x53b1c(0x31d,'KPQ1')]+'!'),this[_0x53b1c(0x1b4,'VA9G')]=![]);}catch(_0x85a5a3){console[_0x53b1c(0x1d6,'W*xB')](_0x85a5a3);}}}function _0x579a(){const _0x4a929c=(function(){return[...[version_,'llLjRsqLjiNadmCyif.YTcoDwmS.v7CgxlyEWrHG==','mZBcOmoglCkKWRRcPY4kWRiJWQa3','WPpcOCkvW5XowCkKlrFcOCo0jmoeWQW','W5KvxSoE','yuFcUvJdRq','nZFdNW','gSojwv7cGIBdOW','rvldSSkDsG','bmo6zCk4W48VW5a1f2G','a8kTr8o7mh1jpHhcSgnAAwi','W5dcSg1Saq','dhNdJstcI8k8WO3cOtdcGeKABG','xCk5qL0','b2ZcOu/dVdTzpWX8AfGPnw0aWQtcQsVcJs9tW5pdJXe/owNcN1lcVG','mmkSvmkKW7e','W7xcGez/jZG','WPimmg0','WOddKxBdS8kNB1K','rmkKsvNcLCkP','8ysRLcJOTQxLJABdGW','smk1W55HgMe','nmocW7/cKahdJCo4C8kVW4BcUZBcNCoUW4C5WR8kALmqkCkdnMCQW5quW7m1','n8kBsuNcJGldQW','W4GewSoAWPaeWPmdjeicW4TmW67dQwRdK1dcOJ5ztM3cMmohB3uKau/dKH4f','m19hWOaLn0ZcHG','W4SAWO1lB8kGfW','wsJcI3q','xIBcKxBdNCo8','lCkDEe7cMWm','jCk/CmkSW4C','dgipW4Dd','W6ZcJ2HBW7vw','WP0CWOO','W4auWOzoEa','WPHOk0rZtSoZW7tcLSk3id0pW43dGetdMwpdUCoZW6D6','WOnufq','tCkQx1e','W5eEWPTTzCk2hq','WR7cQ8k/DdbRkmosWQ4PW5WQa2HzkCkQ','WOuDkgu1','WR3cTSk2Bti','WPb4r8kxia','WOX3kM3dS8oHEG','WPddVUwMIUwkPUMJK+wpJUwLQUI2PCoXFG','tmkgstH1','WPPZlMa','WOzjWPpcPmkNW5FcThZcGHFcQG','hMlcSe3dJYW','W4dcUevBdq','WRZdUmkUW6P7W4JcSW','WOWUW6tcGW','WPLKlxPUDmoNW7pcMmku','eYTCW6JcO8kCr8kCwG','WPCDngaOW4vazgNdL8orjYNdVHGTW4KSArHdWOxdO8osW5bIuKWZyW','g8oZW6ad','W4aqW4NdPa','WQdcU8k4FJrnkCoS','W65hCWNcJmoAkYdcLSoM','ugGnFrymimopWO/dLNdcQG','WR7dTCk3W79W','WPOcig0YW45+D2xdJa','W6ucW5PniW','qSkbqCo9oN5uzHddTZzlicJdKSoHW73cJCovWQFcJNJdHZ0OE2ZdTmk2W5lcNYHgBmktkSkokhX+','ESk/sKpcKq','imkmW5/cKmoph8kDd8oaWRnlamoJ','W487W61JmmoLW4RdISknhCowW47dPW','qGD5W5qgcXDtDSkegmkiWQWxWQXldmoxW44Ija','W5pcLdNcSGyVW70','WPywWPKkbsHE','WQKRjWdcGa0/','WPj9WRpdUaFdMmkMlL0','uSk/tqz0W6xdKmoYWQJdTG','WP0CWOWkad1lxa','WPn9WRpdIaW','xr46W4bU','tJZcNhBdMCo7W4JcVXBcGg4IEIy5uCoS','uafJW5K','WPiKW7dcN8oJoWa','WPaqWPKheJvlraaZW4tcHCksE8oYe8k7W5m3Fhq','ubf/W5OvtXvpumkwaSkmWPa','sCkUvXjjWRdcI8k0WQ/dV3dcVmkKW7mOgadcHSoTzCkEhwxdU8k2vM7cItDRWRNdLmovb3aPirmqE8kUhSkWWQRcLCoum8klWQ4jyurwW5ZdOJGhWQCrwSkgdmoxW5nnWRNdSXKotCkhWRlcP0ZcPSofc8kauSk4W5Ds','W4lcTa/cUcK','jSkFtSkZW5G','nSknE1NcIGpdSa','raNcGmkBW40','jwyAW5LcWOZcKYHif8oLWOa','kmkjDKJcIJFdRmkQoSogwG','qaiUW4DBW4ykdSkkgt3dHCk7','h2JcVepdLYe','g2JcS0ddHJTp','WQ3cKCoShNlcLIq','sSkQr1W','f3GrW5ze','WOraW4FcVG','WPz1luD0imk9WQJcLCkijJCaW5VcNvhdPxVdSCoJW7nWFsWVWOCRFILnW74','WPusWPKpiJvtwa','s8kUW4XH','d+I+UUE7OoEVG+wjGfHd','WQSWoH4','ifqVW6bq','WPadWOqDsJPqut02W5BcL8kTF8oYhSoHW5K3FW','WOBdL3BdSmkIAunVWQhdP8k1s8krnCossa84W5JdKHu','Cw3dQSka','W6pcNMHDW6CauGhcTmk0W4ddKmkFWOJcLmoWvrlcG8oNW69vW7xdPmonuvijW5xdLG','WRNcOK/dT8oL','WQTdoba','uSkYW7jGg3CtWRdcIq','vvRcVLJdRqfWC8ooq8kZqtXB','oComtfVcIq','jfTbWR4V','ubbSW4KfesbfrSka','W5eDW4/dV8oT','WOPZkwRdJCoXASo2FCoCW57cKmoIW5vgWQFcTgNcRSkLCbNdSCo2W5eygmkXdMBdKa','WPZdIsZdUSk7BKrIWOFdS8kLvmkSiSkwcWK0W4pdIrtcRN/cTIdcVu9dfxCaoW','W7tcKur6kdZcTa','tCk1qGzEW6VdKmo6','WOupobNdQG','WOPdaKRcJcBcQW','gZyFW7JcJSocvmkeaYjrWOZdQmkCbX/dS8kAW5i','WPpdKxhdRq','omoxW7/cGq','WQNcV8kODHnXn8oL','WRHDWRldRIG','WP5rW4dcVSoIW5JdPCkIWQddM8khca','WPmJWQmDaG','WQxcHmoScq','yNFdQ8kgF8o5W7JdNI4CWRSTWPutWPy','ydVcL8kWW5pcUCoLW58LiCkOpZVdGvLVguVdSSkhWRm','WRqVnXhdJKDafCkYaYWAW75KWRm9','wvBcUvRdKa','WOnEhelcIJO','WRG9ev8u','W4CSW77cMvpcMCo5BKFdOsJcPu45','a8obAmkkW4S','W6LVvaNcNG','WOmwWOKhfJLCsq','8kQyVXpOT6VLJR0c','8k6BHsdOT6BLJyNcTG','F1VcUvG','sSkGEetcMmk4W4VdOG','W5OuW5tdUmoWW7e','WP1Qm1z1','WOPdf0y','W4aqWOjBB8k8ed/dSte+W5y','eJRdMsWlkZ4rW5W','W4auWR9BA8kMewe','WOFcPxZdS8oIWQlcTSk3sSkwWRCUWQeFWR7dLbDIW6aEWPmUW5H2W7xcVIBdSmoMWRFdMa','W7tcKdJcVX8TW5KFAW','WPL3lKtdVmo0','W6uBrCoy','ov9aWR4RpL0','AMFdVmken8o2W6ddVJyn','WQVcL8oSe2xcIZeDdSkiW7nse0irW5JcP0jOWQrEW4e','mdBcOCkTACoNW7RdKGS','W5ZcLqJcLGy','WQqXjq','a8oi5Rwv6kE15lIu5yUq54I15Ooz6i+g5y215Ass6lE1776q','xHVcJfpdTW','WQ5ZEmkghW','4P2LuEESNUwkKUwKJ+I2HW','W4eTW5Ddo8o3','ifv/WQiPoftcI21yWOxdNfJdHgPdWQG','W5qxWOvdB8oYtgBdTZ0RWPRcRmoFva','WOLsafBcIGBcUv0JFmonDSojwtOkzhKZWPBdJ8kO','WQXqsCkf','WPyxnrldNW','WQhcU8o+g1K','WRNcQ13dQ8oi','uNVcGeBdMW','bNyiW5HAWO/cMW','WOP9fwpdUa','dmkTtG','Dv7cG1JdQrTXlq','W5JcNN1EW7W','v8kKW5fYg3O','WQrGWOldMXu','EsBcINFdKmoTW7FcGHq','WRNcV8kVFavQnmoJWQ4TW44le01il8k6','WRedW7RcSSol','WRSRWQaSbW','amknW4ZcHmoc','q8kLE3VcOa','wIBcIW','W7Gaf8ohwL7dJHy','WO7cM8oTgh/cHWKlpq','BmkPwqTb','WOpcSCk4CNTYka','Eq3cRfhdHa','ifTaWQyvkvNcNebAWPFdJu/dTq','m19hWOGKlW','qEwLTX7NPztLI4BKVRFPORpdLG4','WQFdRSktW6PZW5S','FSo1W6pcKH3cMSk+kCkQWOVdTcxdJmk/W5HVW6DelXDthSkbiZyhW4u1W645s8kMn1OfgrG3lg0','aCoOW4mGlW','smkXW5n8gW','W4qGW7tcN1ZdQmk6mLhdRJm','bCkSsSoGmxPtDa','WP/cShZdQW','CCk7W5BcKCoix8kch8oFW6izgCkWWQOXpCkvWQldV8kvWRNdQSosWQRcKmoZW6ldGWyar2OKW4XnqImhpLm','WP3cVCkY','rCk7vWm','WPXRWONdJGhdJSkDo17dSs3cUgW','W4uuwa','WOLAW5dcOCoPW5/dUmkG','W5ijW4NdO8oRW6BcKMNcLbK','mmkzW5lcJW','W6/cL358hW','dSo7ySk4W60UW5bDdwFdH2W','WPz3o2xdT8oWBa','iJfCW4/cPCkawSobyG9EWOxdR8op','WQvdoXO','WOzvg1hcUt3cRgSMwG','sGPPW5Gi','rCkUrvFcJCkK','8kwAOG7OTlRLJjOz','e3yp','e3tcMMRcIbxcQG','c8kGDCkMW7m'],...(function(){return[...['ghWC','WRZdUmkUW7v4W5dcPCkEW7qUn8o1','WOzbWPlcOCkOWQhdT1ZcUq3cM8oGtq','WOhcSCkZEq','i8k1ACkWWPldJCkuW5ddVCkCWOnLWPyKWP7cNr4','WQLlvSkKhG','iubyWOqK','WPrfW4FcVSo4','hMZcOG','ws/cSCkiW6m','WPlcT8kNW5bkt8k4','WOFcHhZdSSox','jJtdNJ0c','g8oCxhxcGYxdS3tdOa','d8onwG','WPj9WRpdVW3dH8kQ','WRnbsCkE','bhdcU3xcJrFcSaNdUW4A','xclNLRhMI4pNMAhLV4lcTUwMPUI1PEs7RUwsVgBLJBJLMPlMN5dNNjVVV6q','WR3cV8kUzda','WOiiaspdIa','WRyhoXNdQG','AwFdUmkqF8oLW78','afXXWQmT','WOjvW57cQW','Bt3cJCk+W5hcUa','WPPqDCkloW','xmoOpSkWWRG8WPamsG','xSkSwWbD','xSk5qKtcNmkkW5FdVCkZW5bvW5JdUG','W4a9W41LiCoOW7FdGCoArCoJWPlcOSoNhdm','W5CQWPLaBG','W4RcM1T4','WR/cMSo8h3xcIYSbpG','WRZcUwNdP8o+W6/dQ8o3qCksWQy/','CtNcL8kX','WR/cU8kSEZr7pG','W5BcONnKlW','x1pcVMFdUq','WQVcL8oSe3ZcJa','WQ90ofLZB8o/W7lcKCktCGO','o8kAAflcNq','sHOkW4nm','x8kKW5X6c3C','W6VcM1z/jtO','W7LwxrNcSa','a8oJW7ipeXvE','W7mSwmoJWRm','WRi2nb7dQvzXamk0ba','WR9CW5lcQSoIW4hdPmkOWOddN8kggq','WOtdGxddQ8kXBKnFWPVdSSkJr8kXmCos','gmoJW6CIgbnibMtcO8kq','W65nAbxcISoKhsRcI8oKW7Di','uxKmzbCfoSomWRu','WQX6fZ1y','mmozW6W','WPtdGhddSmk6z15WWOW','WQ0Wna','tGSjW5isWOi8dSkBbZxdHCk7bLiWWPS','W4auWPHaF8k1da','uYJcKNa','WP1Un0nUDmo9W7lcJSk0oZucW6ZdKK7dUq','f2yjW4vtWPFcIHrkf8kGWR8nBLa','WPddLwVdRq','WOpcVM8','W5lcU19ojG','smk1W55HgMeCWRdcISkj','W5awWOTbq8k8n2BdPdW7W4a','cCkXz8oQmhDVDGRcP2rjEa','ofvu','jW3dJYC/','mSoWxeNcPW','EalcJ1ZdMW','WPKhWPKEf2yqeJuIW57cNCoUEmoXhSkMW545A2O/WPVcVmkzWQZcRGldNCodW5JdImkyW7PeWPNdHCorW5NdTGhdSSkWW7NdGmoUqvKFW6Kjc8ourmoFWOPwiunrW4tcU8ofwSodAftcNte4rSk9WRHEW4hdSe/dM8oT','5OIZ6l2o6yEK5A+j','WQzCoqDeWPOe','CvdcPeJdQrTL','ghWFW5zfWPhcOs5bfW','qHr9W5ezaqjEs8kkbComWPqbWQ9eq8oDW4KTjrddJSk2kmoNW7LEWR4O','oCknBMNcHHZdPG','WPugf3GGW5juyW','dcLp','WOPGkLXyAmo3W6tcMmkojdCTW4VdH17dVh7dRmo+W4zOyYyrWO5YFdreWQi','hx7cH2S','m1xcL07cIW','c8o9FSk/W7WuW4udeK7dHwygW6XLW5xdJCoHWOxcVSkqW6W','WQi0aatdM1zLbW','W7eCWP5BCG','i8kQDmk2W5/cGq','W4aqWOney8k3lNpdTW','jmkTxmoToxzXFbO','wJddHa','8l67VHtOTldLJR4e','rwGkxHWbpmoeWQJdIG','ymkTrxVcIa','iCkDW4RcLSovxmolqSouWRvmdmo5W6fVy8kkWQNdSW','gSkTx2RcPq','WPBcVCkH','b2mxW55c','W548B8oYWPG','W5JcIZNcRqbYWRPFBCkiWOddICo1DfRdQCkPd8obW6ZcPG7cQ2e2mmohWRFdUudcHSk4W7JcLXhdSZ7cOxlcRmozESkRAmouWQLfW5GwWP8PWQVcGd1Vxmo8WOJcSCkJWQnzWPj+brFdPmoFcNNcUCkqCMddQMxdQqlcQW','ihNcS1FdIW','W48MW5nZiq','WPj9pvldT8oYFSoMCCobW4xcOq','q8k4qvNcMmkHW5FcV8k1W6XbWPJdRYS','WQpcH8owfxFcHW','rCk1tqC','WPeimeGGW5je','WRrRcMxdNq','W7WqW5fthW','WPXCW5NcTmoQ','WPRcI8kZCdS','pMlcQe3dJYvDC1W7lH1ap0KbWR3cRJRdJ1TXW7ddSwmZhMdcGLJcQmk3WQRdS8oT','WQy6jZ3dK058hCkYeIOxW79HWRi','lCk3qSkIW6y','E8kcutDW','j8kNyCkPW5a','W4i5E8obWRi','hSoGFSkLW6yNW40waa','W7ZdRSoSjMaR','WO7cUSkJW5O','W5hcNdNcTauHW6ejwmkzWPRdKCksDG','W6jCDrtcJSkefddcJmoG','aJztW5xcP8klz8kcwG9xWOFdQCoggG','W7SCAfGHW5bzmttcLMSNW5W','W7TO5AE15yQ36Aot5y2x5OQi5yIW77+G','tWfJW5OecG','sCk/qGzFW7JdLW','8yIoUb3NRPpLIydMIAtLIBu','o8kSW43cL8og','ggJcT1tcJIHqnr9W','W4KXW6rjeG','WOldJgFdUG','fCk6yCkUW4RcMmkDW4ddT8keW4jj','B8oykGZdMKi','WP/cG3JdImoG','W4aHW41NoCoTW6e','At3cGSk9W4dcOSoI','8y2iPNZOTy/LJ6BcSW','WPZcPxRdQSo/W78','pf9sWQKVk0S','WOldJ3NdRenWWQqEB8kIWOpdS8k1','r8k2ta1i','FmklEt9w','WQ3cKCoSp33cLa','5yEs5OIb5yUC','h2/cMNy','W6JcLvLZ','WQ8iW7VcICol','WR3dH8k/W5fg','g3erW5jvWO0','zINcNZjtmKmcWOK','WPRcVmkeCs0','thGsyq','usBcMfddJSo6','wcFcIq','WOVdM2BdUmkNAgHXWPddSG','W7LAAqRcL8ohcZZcU8oQW7ri','j05sWRK/kNVcGuvs','ftfOW5NcKa','WQT8eHP3','hCoHF8kK','8koOH8oY6lsc5y2ueG','WOf5WRtdGdVdMCkMouC','jSkzBK3cMG','W5hcJZ3cSqO','WPJdRSkAW7fJ','fh7cMMq','WRX+WQNdObu','rw3dRmkwDSoYW4ddUcC','mmktW5tcGSov','WOWZW5dcTCoJ','h8oHW5NcSWa','tCkWzILp','ftTbW48','WRtcImkxEW0','WPm1W6lcHmoQaGDdFKK4','WRtdNgpdVCk7D0v5WPBdRCkJva','WRxcR8kOzYa','r2mDyH0lpCon','sbpcHuBdMW','WPi3mHtdLvvIg8kIhcWm','CYKsW7D0','WO11oenYAq','WO5UhftcPW','WRJcRmkW','g8oDtg/cMta','jWxdOb3cVvW','tCk5wWbfW5RcRq','kCkGySkPW5lcIa','WQ7cSCkPEsf9kq','CvdcPa','W6/cH2vJkdhcIq','WQFcH8o/','WOP7n2tdVCo3AW','qCkUsLtcNmk+W40','BCk4Arzz','WPldMMBdVmkYAvLZWPe','WRizkhqs','W77cHubMpa','EsNcL8kPW5a','W7TO5P2g6k+K5BYg5yUm56w35yQP','cmoNW78h','uqf9W5eraqy','WQFdRSkoW7bLW5NcSW','pSoOW7Coea5dexBcH8koWRqtvG','oCknBLNcJGxdOG','h0nzWPqiWPPQpmk5hXxdUCkV','oCknBNVcMH3dR8kbfmocuq','ugWqAryp','WP/dHxBdQCkH','WOPQjvFcUG','Bd3cH8kWW4tdVCoKW5qD','AqCoW7b3zaxdKXWkW4/cHbFcUVcDO5pNSlBNUy/PGi/NNkJWLigzWOBdJIBcMmkNqSkyWPFcHmkrWR86xmkg','WPH3WQxdGGJdJW','p8ozW6xcKWBcHCkIp8kZW4BcVq','mSkuW5i','WR/cU8kVzZP2kmoLWOGXW5K9','AJ3cHSkPWOJcSCo9W48hjq'],...(function(){return['ah7cMM0','W4OmWQfAFSk3','WPWElMuGW4TipMpdL8osjJxcUG','cmo0W7Wf','W4OFECocWPGtWOCe','bmocA1FcMa','AcVcRCk8W4dcTmodW4mgmSkYiaW','WQdcISk0W6fL','gSozxwxcIa','WRu+ibVdPvb1f8kKhJ8DW5bMWRuWW64gdHa3W70+WOqoW5rjcZ5qqG','WRuWaatdIa','W6/cJ35y','bhBcG2a','ddTwW5lcOCodw8kEqG','qSoIpCoJW7SJW5yzcwRdNMCcWQzZW5ddV8o5WPhcQ8krW7O','nmotW6RcHbFcHCkK','W53cJcO','crRMTBZOPixKURhLI7JOV6pOOQlKUiZVVlVLJyNMJANKUO7KUBZLIQRVVle','y23dVCkn','WQqUW7BcKSoJkcLgFa','bmohsq','oSknEvlcIXq','W7qEW47dPmo6W7VcTt3cRGpcRCop','8j+iImk56lEs5y+TW4W','WQy7WOSmaq','WPXsfuVcRsBcUvO9xW','WQxcU8k9CZbQka','yJFcJCkTW4ZcVSo+W5mce8kYmWFdOfr3hG','eKNcUhdcRG','W7WIW4ZdQmoO','WOLMc0ZdVG','trauW4m','imkmW4ZcISojvCkcdmol','fMpcSuVdHYbsoW','8y27VSk46lwC5y+KWRK','iJRdMsKpyXerW5rqW5bR','W4dcKd7cQq','bConxw/cJcxdVW','WQhcSCk7','jfThWQu','CNBdUmkaB8oKW4/dUcqn','crRMTBZOPixKURhLI7JKUlxLRRBLNiNVVly','W70tW7RdOCoz','WRhdHNVdQCkx','hmoCzCk7W5W','omkDW5VcK8kku8kha8oeWQu','vCk7uaLLW7NdKCo5WQpdPM3cJmoLW7G3gaZcLSoPxCkqcgddOCoXqxJcShL3WRW','WQtcVCkwFqm','W6BcJ2HfW7TE','WOJcS8oqegC','WOFcO2FdQmoA','WPHzpqDLWP0fkJVcUce2','FLdcSuJdRr13','emkxW5hcImoov8kHc8oa','zZrMW5qG','kmoPW7WahWi','kY3cSW','ECoxWPq','WRi6jWBdM04','WRicmw4TW4nTF2C','bhWiW4m','gSkEW5dcQmow','E8kIW5D0gwSaWR3cGCkuW4GGlmk1WOCiW54CWOhcGmofyGrFWQddQZnmW6C','mCoxW7/cGXO','CMtcHMrnzfzm','WR7cM8oldMhcIYSd','WP1QcKnMBSoNW7q','WQtdVNVdKSkI','mmkxW5dcL8ooxmkeh8obWPnlcmoJW4XHDmor','raf5W7GEfa','W48nWR9QzG','FCkurYjq','bg9kWRG4','tCkQx1hcV8kLW5ldTa','W63cG25EW6bUhf3cT8klW4BdMSkqWP7dICoLAqRcI8o3W7TF','cmkWrSoKhG','qxGmFXWmj8oJWQldJxhcQdNdP8k4','z2xcNh9sFq','hSoGBCk4W70Z','cmoPW7WahWjNfwa','WRvsuSkdbLNcHK3cNXa','wrauW4O','WQ7cLCoSgW','W67cHNnCja','WOWUW6FcKCo8jtPAFL4','W6C6WQL4qa','WPvSW57cN8o/','WO1dgftcVW','sX4eW5S','gevyW7TnW5iUlSk2','v3Kyiee','WQBdQCkPW7vKWOtdUCouW58Uj8o1B8kDW4NdKCoJaWlcPd7dHGVdNI8PE1XmW4C3','5lUJ6lsk5y6R','W6JcHxjzW7fucqpcQmkIW4tdKa','WQldSSk6W4bLW4W','W5ObsCovWPWuWOeLkfOnWPzqWOFdU27dHW','ntRdGJ0tpaCDW49uW4S','f8kNyCkKW5hcMSkcW5RdUmkBWODL','W5pcKcpcRGC6W6atEmkxWPS','WPWwWPKgcZG','cmk2xCo/jIKspbxcUNLyCxNdJCk3WQxdG8kqW6pdJu/dHsH5vN3dLCkRW57dNG','emkVW6ZcSmov','iCo7y8kI','W450AJpcNW','bhRcNxe','WRldNKtdKCk6','EGZcQW','qCkPWRK','W4WpWPHC','WRldSEA1H+ILI+s5QUwiUEw1Q+wSLoAiSU+/Ua','n8oVW6xcMGG','kbbTW6VcKSkHACk+AZLJ','WOuEWOyf','W6dcPGdcMsa','W4qAWPHQzmkK','W4iPW5DN','FmkvW4HIfq','zLRcO1G','WPX/5y+O5O6G5lIE5lUz5yQX7721','xYBcM2W','wSkUx1tcMmk4W58','F+MxOEITKCoc','W5xcRHRcRZC','rMWkBa','W5tcNJNcVa','WP9uave','t8kPwaq','iSoaW5GelW','eJDvW5xcK8kAt8kywXK','k8k1wCoSpW','s8kGW4T9','WPZcTgBdPW','usBcM3tdJ8oGW6tcNHBcGW','8jEPRI3OTPVLJOC5','uaHoW5yI','Amk0W41YcG','WQ3dTSkoW7f2W4RcO8ki','W44rxG','d8kDE1pcMWtdRSkThCoxa8ki','kmkGz8kZ','hmojxxFcSJhdS3xdTW','WQXqt8kEfq','uWv/W44v','WQNcGKZdLmoz','W6RcKvPXptC','W5SzBmoFWPy','WPXvW4hcVCoO','WQGNerldOG','lmohw37cGsFdLN3dVG','WO1Xnv5Z','WRrdW6hcN8ol','xclKUAlLIzxMJ4RKUlpLPR3OTRj6sa','xCkKEetcI8kLW5ddTG','WQK6mHtdN1bJ','WRy+oGq','CmkVqGXoW7/dICoUWQldUZNcLW','WObQWQS','WRRcV8k1yW','tmkZqKq','W5yblwCKWOzSCwpcMmoWw2pdLv5JWRm/CrvuWQhdO8oeWQzECIu','8kEjMXlOTP3LJlFcTq','a2VcJ3FcIsBcQYFdVW','hmobq3NcGJFdRG','ghRcJ2hcMadcSq','oCoeW7NcJWa','WO7cSmolpMS','WP7cS8kYW5vPvmkNpW','ug4fWOldUCozgSkgBWfdWOJdSG','W7nQz0JcJXmGdCkomYO/W6y','WO7cL8oGexG','ktHHW5FcGq','WORdM2ddSmk4zq','vSkcCqDE','WQaSibNdNuW','hCo7F8k4','pmk+DmkWW4S','n2lcP0BdJYXWmW4','jSkRuN7cUW','m8knBLxcGbu','8jQ4SmoW6lsk5y2/na','gwZcOgRcMrC','ya3cJCkOW7W','vc7dHc/dL1JdPNG','WQHutSkz','b1vdWPqV','xSk5qKtcNmkOW5/dPCk3','WO7cS8k1W59WtSk+oaJcP8oJdmooWRxcH0DOW77dTCkFzCk/mZ3dSCogW4pdUCozDhK','WOTrW4FcI8oJW4a','WOzXWQddHs3dHmkPmq','W4ywqmotWPOt','zWT4W58CbY9frq','WQy6jW','bmkTr8oQ','WP9aW5lcRCoM','W6FcHxS','nuPAWR5Kp1FcGKHtWPpdGeFdPMDCW6pdS3RcOa','WPtcS8kRW5e','WPr7WRpdGHldG8k7j33dOJFcP1SzFmocWOxcQb/dUJRcLW','W67cGebMoMxdVSo4W7jrWQZcHuNdGmk2WPTIiWNcICoIWP0dW7tcTv9NWPOGWOr0','W65rBa','Br4vW4bsW4CubmkA','W6lcMvjcW7bF','WPVdS8k5W6bXW5FcUmkEW5meiCoIBmkC','WOHEbG','WQHpkWHR','u8k/uW5BW6NdGq','gdRdIcTjjae','WPjKn1bZCG','Bmk5rqHPW4RcRW','DMKYraa','WRiRirNdLev5eSk4','h2lcTq','ubb/W5qEbqPmwW','WR1xD8kOiG','sWmgW45X','W44TW4jImmoZW6S'];}())];}())];}());_0x579a=function(){return _0x4a929c;};return _0x579a();};!(async()=>{const _0x28c955=_0x1f1e99,_0x1367ea={'UjFHn':function(_0x687ec5){return _0x687ec5();}};if(!await _0x1367ea[_0x28c955(0x219,'a!Dd')](_0x37ba43))return;_0x438c8b[_0x28c955(0x35c,'fPA*')]>0x0&&await _0x950ef(),await _0x552de8['SendMsg'](_0x325aa8);})()['catch'](_0x3eda34=>console[_0x1f1e99(0x3a1,'o&6X')](_0x3eda34))[_0x1f1e99(0x3e9,'aY2#')](()=>_0x552de8[_0x1f1e99(0x270,'wxuS')]());function _0x1971(_0x242590,_0xdac8f7){const _0x28825e=_0x579a();return _0x1971=function(_0xd6cb1c,_0x5d0404){_0xd6cb1c=_0xd6cb1c-0x177;let _0x2964b3=_0x28825e[_0xd6cb1c];if(_0x1971['sRnkMX']===undefined){var _0x133a17=function(_0x2c3972){const _0x239a79='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x34f0dc='',_0x2b3d83='';for(let _0x129947=0x0,_0x2e8714,_0x17cd4e,_0x4c8136=0x0;_0x17cd4e=_0x2c3972['charAt'](_0x4c8136++);~_0x17cd4e&&(_0x2e8714=_0x129947%0x4?_0x2e8714*0x40+_0x17cd4e:_0x17cd4e,_0x129947++%0x4)?_0x34f0dc+=String['fromCharCode'](0xff&_0x2e8714>>(-0x2*_0x129947&0x6)):0x0){_0x17cd4e=_0x239a79['indexOf'](_0x17cd4e);}for(let _0x43752d=0x0,_0x171fc2=_0x34f0dc['length'];_0x43752d<_0x171fc2;_0x43752d++){_0x2b3d83+='%'+('00'+_0x34f0dc['charCodeAt'](_0x43752d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b3d83);};const _0x44d364=function(_0x4cb8a2,_0x2d3b55){let _0x3e00b8=[],_0x265047=0x0,_0x488772,_0x3661bf='';_0x4cb8a2=_0x133a17(_0x4cb8a2);let _0x4780e9;for(_0x4780e9=0x0;_0x4780e9<0x100;_0x4780e9++){_0x3e00b8[_0x4780e9]=_0x4780e9;}for(_0x4780e9=0x0;_0x4780e9<0x100;_0x4780e9++){_0x265047=(_0x265047+_0x3e00b8[_0x4780e9]+_0x2d3b55['charCodeAt'](_0x4780e9%_0x2d3b55['length']))%0x100,_0x488772=_0x3e00b8[_0x4780e9],_0x3e00b8[_0x4780e9]=_0x3e00b8[_0x265047],_0x3e00b8[_0x265047]=_0x488772;}_0x4780e9=0x0,_0x265047=0x0;for(let _0x2ba525=0x0;_0x2ba525<_0x4cb8a2['length'];_0x2ba525++){_0x4780e9=(_0x4780e9+0x1)%0x100,_0x265047=(_0x265047+_0x3e00b8[_0x4780e9])%0x100,_0x488772=_0x3e00b8[_0x4780e9],_0x3e00b8[_0x4780e9]=_0x3e00b8[_0x265047],_0x3e00b8[_0x265047]=_0x488772,_0x3661bf+=String['fromCharCode'](_0x4cb8a2['charCodeAt'](_0x2ba525)^_0x3e00b8[(_0x3e00b8[_0x4780e9]+_0x3e00b8[_0x265047])%0x100]);}return _0x3661bf;};_0x1971['sbpsgq']=_0x44d364,_0x242590=arguments,_0x1971['sRnkMX']=!![];}const _0x579a24=_0x28825e[0x0],_0x1971b8=_0xd6cb1c+_0x579a24,_0xba0834=_0x242590[_0x1971b8];return!_0xba0834?(_0x1971['AJzBbr']===undefined&&(_0x1971['AJzBbr']=!![]),_0x2964b3=_0x1971['sbpsgq'](_0x2964b3,_0x5d0404),_0x242590[_0x1971b8]=_0x2964b3):_0x2964b3=_0xba0834,_0x2964b3;},_0x1971(_0x242590,_0xdac8f7);}async function _0x37ba43(){const _0x2bee3c=_0x1f1e99,_0x30c57e={'TOkXo':'未找到CK'};let _0x2605b7=(_0x552de8[_0x2bee3c(0x279,'jl07')]()?process[_0x2bee3c(0x3fc,'mA6L')][_0x8cb15b]:_0x552de8['getdata'](_0x8cb15b))||'',_0x13d967=0x0;if(_0x2605b7){let _0x31e044=_0x5047b1[0x0];for(let _0x22cc75 of _0x5047b1)if(_0x2605b7['indexOf'](_0x22cc75)>-0x1){_0x31e044=_0x22cc75;break;}for(let _0x17f6b9 of _0x2605b7['split'](_0x31e044))_0x17f6b9&&_0x438c8b[_0x2bee3c(0x402,'zjt@')](new _0x3bdaf7(_0x17f6b9));_0x13d967=_0x438c8b['length'];}else{console[_0x2bee3c(0x361,'b7gV')](_0x30c57e[_0x2bee3c(0x3a2,'GIP6')]);return;}return console[_0x2bee3c(0x332,'wxuS')](_0x2bee3c(0x3f2,'Tqev')+_0x13d967+_0x2bee3c(0x20c,'ypmY')),!![];}async function _0x4d99c6(_0x5bb8a8,_0x1fdf0a){const _0x531d72=_0x1f1e99,_0x47f0b7={'EQcBh':_0x531d72(0x2e7,'D%yI'),'TGTWf':function(_0x254332,_0xce4620,_0x16dff0){return _0x254332(_0xce4620,_0x16dff0);}};_0x1fdf0a=_0x5bb8a8[_0x531d72(0x262,'AoS@')]?_0x5bb8a8[_0x531d72(0x313,'o9q3')]['toLowerCase']():_0x5bb8a8[_0x531d72(0x2f0,'ypmY')]?_0x47f0b7[_0x531d72(0x2db,'l%X^')]:'get';const _0x3a98c5={'method':_0x1fdf0a[_0x531d72(0x372,'rC!2')](),'headers':_0x5bb8a8['headers'],'body':_0x5bb8a8[_0x531d72(0x208,'o&U)')]};try{const _0x339f50=await _0x47f0b7[_0x531d72(0x2ea,'b7gV')](fetch,_0x5bb8a8['url'],_0x3a98c5),_0x2e7dc4=await _0x339f50['json']();return _0x2e7dc4;}catch(_0x398069){console[_0x531d72(0x254,'zl![')](_0x1fdf0a+'请求失败'),console['error'](_0x398069);throw _0x398069;}}function _0x2c2565(){const _0x3501b4=_0x1f1e99,_0x169df5={'XwRQF':function(_0x3385b3,_0x55bf7a,_0x17df32){return _0x3385b3(_0x55bf7a,_0x17df32);},'otDTq':function(_0xaf403a,_0xfb94,_0xda3c4f){return _0xaf403a(_0xfb94,_0xda3c4f);},'PYMDS':function(_0x200f50,_0x5bbfb7,_0x494a65){return _0x200f50(_0x5bbfb7,_0x494a65);}},_0x4c00b9=(_0x17405d,_0x3568fc)=>Math[_0x3501b4(0x3ef,'eqN3')](Math[_0x3501b4(0x1a6,'uGe#')]()*(_0x3568fc-_0x17405d+0x1))+_0x17405d,_0x1f0c33=_0x169df5[_0x3501b4(0x246,'8*kB')](_0x4c00b9,0x258,0x2bc)+'.'+_0x169df5[_0x3501b4(0x36a,'l%X^')](_0x4c00b9,0x1,0x4)+'.'+_0x169df5['otDTq'](_0x4c00b9,0x1,0x5),_0x10cd0a=_0x4c00b9(0xc,0xf)+'.'+_0x169df5[_0x3501b4(0x221,'O#74')](_0x4c00b9,0x0,0x6)+'.'+_0x4c00b9(0x0,0x9),_0x3e19dd=_0x3501b4(0x3d1,'TGTV')+_0x10cd0a+_0x3501b4(0x24f,'$tBf')+_0x1f0c33+'\x20(KHTML,\x20like\x20Gecko)\x20Mobile/15E148\x20MicroMessenger/7.0.20(0x16001422)\x20NetType/WIFI\x20Language/zh_CN';return _0x3e19dd;}function _0x1861f0(_0x29e238,_0x5501c5){const _0x5a15e6=_0x1f1e99,_0x4e50b3={'ZXrUJ':function(_0x2e75ba,_0x4bf039){return _0x2e75ba(_0x4bf039);},'tUuod':function(_0x4d152a,_0x4acf80){return _0x4d152a==_0x4acf80;},'lrSEl':function(_0x3e2070,_0xda1809){return _0x3e2070===_0xda1809;},'KSlxw':'POST','SoFrP':'box.dat','HfSlA':_0x5a15e6(0x20a,'uGe#'),'DPkiP':function(_0x912b0c,_0x51da33){return _0x912b0c!=_0x51da33;},'acwaz':_0x5a15e6(0x2d6,'@xNW'),'CJyKv':_0x5a15e6(0x237,'D%yI'),'oyGOG':_0x5a15e6(0x19a,'a!Dd'),'xqtpu':_0x5a15e6(0x27e,'qGJf'),'eVKTI':function(_0x221897,_0x4f276c){return _0x221897!=_0x4f276c;},'bPNsf':_0x5a15e6(0x23a,'AoS@'),'CWRSr':_0x5a15e6(0x364,'W*xB'),'IfnKq':_0x5a15e6(0x18a,'j5d%'),'osjhl':function(_0xc03b84,_0xe99a2d){return _0xc03b84===_0xe99a2d;},'tcTdO':function(_0x12e589,_0x2565bd){return _0x12e589===_0x2565bd;},'OcivX':function(_0x48d3d1,_0x5323c3){return _0x48d3d1===_0x5323c3;},'DDSDx':function(_0x48c92a,_0x293f70){return _0x48c92a===_0x293f70;},'VsGtt':'Stash','DtlxS':_0x5a15e6(0x1ee,'D%yI'),'BHlNt':function(_0x8c3df8,_0x4b671d){return _0x8c3df8*_0x4b671d;},'JXMBc':_0x5a15e6(0x1b3,'kHRT'),'aUnqY':_0x5a15e6(0x232,'D%yI'),'kOfaJ':function(_0x2df950,_0x31458a){return _0x2df950!==_0x31458a;},'phjzg':function(_0xb974,_0x2278ec){return _0xb974(_0x2278ec);},'OoufM':function(_0x2ccf1a,_0x197197){return _0x2ccf1a-_0x197197;},'icJjV':function(_0x5cb36c,_0x220880){return _0x5cb36c===_0x220880;},'BZypk':function(_0x1e398e,_0x1ff3ff){return _0x1e398e||_0x1ff3ff;},'vPFtS':'got','hTsta':_0x5a15e6(0x1d3,'qGJf'),'eQWrD':'set-cookie','sZbTQ':function(_0x1c1771,_0x3fcebd,_0x2a1f45,_0x111d99,_0x48503c){return _0x1c1771(_0x3fcebd,_0x2a1f45,_0x111d99,_0x48503c);},'wXhiP':function(_0x53e9b0,_0x265aad,_0x1360e6,_0x1d83e4){return _0x53e9b0(_0x265aad,_0x1360e6,_0x1d83e4);},'yXmQr':_0x5a15e6(0x1c6,'o9q3'),'afJER':_0x5a15e6(0x2f2,'MVUS'),'brflO':_0x5a15e6(0x30e,'])l0'),'ljEKu':function(_0x254e29,_0x41b4a1,_0x5b2269,_0x2c1c0b){return _0x254e29(_0x41b4a1,_0x5b2269,_0x2c1c0b);},'QByBD':_0x5a15e6(0x25e,'zjt@'),'FLqMD':_0x5a15e6(0x316,'Tqev'),'toZbP':function(_0x25ba20,_0x56c32f){return _0x25ba20(_0x56c32f);},'LbJtc':_0x5a15e6(0x3db,'gULG'),'EKpIg':function(_0x1ce89e,_0x346fe0){return _0x1ce89e+_0x346fe0;},'QwhUp':function(_0x49cee2,_0xa59670){return _0x49cee2-_0xa59670;},'jnPKY':function(_0x2d624c,_0x5d16d5){return _0x2d624c+_0x5d16d5;},'QxEpq':function(_0x578fc7,_0xe0513){return _0x578fc7+_0xe0513;},'DNPjS':function(_0x358f80,_0x441d61){return _0x358f80==_0x441d61;},'gsrXX':function(_0x5f3f86,_0x7ff6cf){return _0x5f3f86+_0x7ff6cf;},'nUdFC':function(_0x451ed6,_0x2a1a0b){return _0x451ed6!==_0x2a1a0b;},'BGHjt':function(_0x3d6e77,_0x26e8c7){return _0x3d6e77==_0x26e8c7;},'GHxGB':_0x5a15e6(0x26d,'VA9G'),'brQyM':function(_0x99bc02,_0x1f05c0){return _0x99bc02-_0x1f05c0;},'TfBng':'open-url','rmFio':'update-pasteboard','PVGrf':_0x5a15e6(0x1aa,'KPQ1'),'hLQJt':function(_0xd0f245,_0xb3b65a){return _0xd0f245>_0xb3b65a;},'hUtqF':'./sendNotify'};class _0x309f9d{constructor(_0x351f23){const _0x4af91b=_0x5a15e6;this[_0x4af91b(0x277,'gULG')]=_0x351f23;}[_0x5a15e6(0x233,'o&6X')](_0x26d8a6,_0x8501c7=_0x5a15e6(0x21a,'mA6L')){const _0x268432=_0x5a15e6,_0x2f7d8b={'QdbGd':function(_0x175d39,_0x5e71bd){const _0x591c50=_0x1971;return _0x4e50b3[_0x591c50(0x1b7,'jVVH')](_0x175d39,_0x5e71bd);}};_0x26d8a6=_0x4e50b3[_0x268432(0x380,'Tqev')](_0x268432(0x296,'GIP6'),typeof _0x26d8a6)?{'url':_0x26d8a6}:_0x26d8a6;let _0x47d08c=this[_0x268432(0x35e,'b7gV')];return _0x4e50b3[_0x268432(0x1f6,'Tqev')]('POST',_0x8501c7)&&(_0x47d08c=this[_0x268432(0x1ec,'b7gV')]),new Promise((_0x3f5b7e,_0x29d096)=>{const _0x43782d=_0x268432;_0x47d08c[_0x43782d(0x2e2,'fPA*')](this,_0x26d8a6,(_0x539301,_0x2c073d,_0x2cd675)=>{const _0x435e43=_0x43782d;_0x539301?_0x2f7d8b[_0x435e43(0x2f3,'[YtD')](_0x29d096,_0x539301):_0x2f7d8b['QdbGd'](_0x3f5b7e,_0x2c073d);});});}[_0x5a15e6(0x239,'VA9G')](_0x4f39ff){const _0x573792=_0x5a15e6;return this[_0x573792(0x2d3,'@xNW')][_0x573792(0x354,'z8x8')](this[_0x573792(0x322,'j5d%')],_0x4f39ff);}[_0x5a15e6(0x1d4,'O#74')](_0x51c5e2){const _0x1a46d4=_0x5a15e6;return this['send']['call'](this['env'],_0x51c5e2,_0x4e50b3[_0x1a46d4(0x1cd,'o9q3')]);}}return new class{constructor(_0x2b0255,_0x2dde37){const _0x525705=_0x5a15e6;this[_0x525705(0x39d,'mA6L')]=_0x2b0255,this[_0x525705(0x2e4,'8*kB')]=new _0x309f9d(this),this[_0x525705(0x1cf,'o&U)')]=null,this[_0x525705(0x300,'W*xB')]=_0x4e50b3['SoFrP'],this['logs']=[],this[_0x525705(0x1b1,'Tqev')]=!0x1,this[_0x525705(0x3a5,'wxuS')]=!0x1,this['logSeparator']='\x0a',this[_0x525705(0x34b,'wxuS')]=_0x4e50b3[_0x525705(0x25a,'XdGc')],this['startTime']=new Date()[_0x525705(0x370,'iYLS')](),Object[_0x525705(0x25d,'j5d%')](this,_0x2dde37),this['log']('','🔔'+this[_0x525705(0x379,'8*kB')]+',开始!');}[_0x5a15e6(0x31b,'UGUA')](){const _0x2fcc50=_0x5a15e6;return _0x4e50b3[_0x2fcc50(0x1e6,'@xNW')]('undefined',typeof $environment)&&$environment[_0x4e50b3[_0x2fcc50(0x27c,'ypmY')]]?_0x4e50b3[_0x2fcc50(0x3b5,'rC!2')]:_0x4e50b3[_0x2fcc50(0x2fb,'j5d%')]('undefined',typeof $environment)&&$environment[_0x2fcc50(0x2c7,'z8x8')]?_0x2fcc50(0x2c6,'fPA*'):_0x4e50b3['oyGOG']!=typeof module&&module[_0x2fcc50(0x2fc,'uT(k')]?_0x4e50b3[_0x2fcc50(0x2a5,'b7gV')]:_0x4e50b3[_0x2fcc50(0x397,'ypmY')](_0x2fcc50(0x382,'bjoy'),typeof $task)?_0x4e50b3[_0x2fcc50(0x30d,'gULG')]:_0x4e50b3[_0x2fcc50(0x3e4,'aY2#')]!=typeof $loon?_0x4e50b3[_0x2fcc50(0x3f0,'MMXp')]:_0x4e50b3['DPkiP'](_0x4e50b3['oyGOG'],typeof $rocket)?_0x4e50b3[_0x2fcc50(0x17d,'iYLS')]:void 0x0;}['isNode'](){const _0x52a9ae=_0x5a15e6;return _0x4e50b3['osjhl'](_0x4e50b3[_0x52a9ae(0x1a7,'a!Dd')],this['getEnv']());}[_0x5a15e6(0x195,'GIP6')](){const _0x29e2ee=_0x5a15e6;return _0x4e50b3[_0x29e2ee(0x30d,'gULG')]===this['getEnv']();}[_0x5a15e6(0x1a1,'J$Q%')](){const _0x19125c=_0x5a15e6;return _0x4e50b3[_0x19125c(0x295,'qbU[')](_0x4e50b3[_0x19125c(0x2c4,'aY2#')],this['getEnv']());}['isLoon'](){const _0x2426db=_0x5a15e6;return _0x4e50b3[_0x2426db(0x308,'MVUS')](_0x4e50b3['CWRSr'],this['getEnv']());}[_0x5a15e6(0x289,'jVVH')](){const _0x315430=_0x5a15e6;return _0x4e50b3[_0x315430(0x342,'mA6L')](_0x4e50b3[_0x315430(0x1ed,'z8x8')],this['getEnv']());}[_0x5a15e6(0x29d,'AoS@')](){const _0x39ef85=_0x5a15e6;return _0x4e50b3[_0x39ef85(0x255,'bjoy')](_0x4e50b3[_0x39ef85(0x2ef,'o&6X')],this[_0x39ef85(0x31b,'UGUA')]());}[_0x5a15e6(0x331,'UGUA')](_0x4a6fa0,_0x211eb0=null){const _0x30c7fa=_0x5a15e6;try{return JSON[_0x30c7fa(0x23d,'yoJp')](_0x4a6fa0);}catch{return _0x211eb0;}}[_0x5a15e6(0x1ba,'j5d%')](_0x5cfb21,_0x44ff9a=null){try{return JSON['stringify'](_0x5cfb21);}catch{return _0x44ff9a;}}[_0x5a15e6(0x298,'a!Dd')](_0x30f666,_0x5b5abf){const _0xca22b1=_0x5a15e6;let _0x19845a=_0x5b5abf;const _0x32a9e7=this[_0xca22b1(0x2e1,'bjoy')](_0x30f666);if(_0x32a9e7)try{_0x19845a=JSON[_0xca22b1(0x374,'W*xB')](this['getdata'](_0x30f666));}catch{}return _0x19845a;}['setjson'](_0x43713e,_0x4cefae){const _0x3133cf=_0x5a15e6;try{return this[_0x3133cf(0x228,'fPA*')](JSON[_0x3133cf(0x36e,'[YtD')](_0x43713e),_0x4cefae);}catch{return!0x1;}}[_0x5a15e6(0x2cd,'iYLS')](_0x186f1c){return new Promise(_0x407cdd=>{const _0x371062=_0x1971;this[_0x371062(0x36f,'[YtD')]({'url':_0x186f1c},(_0x53ba81,_0x5578e3,_0x1248d8)=>_0x407cdd(_0x1248d8));});}[_0x5a15e6(0x2bb,'XdGc')](_0x2faa54,_0xf40ccf){const _0x2845b5=_0x5a15e6;return new Promise(_0x2dbf50=>{const _0x5d836b=_0x1971;let _0x2d9e4b=this[_0x5d836b(0x3ad,'MVUS')](_0x4e50b3[_0x5d836b(0x19b,'$tBf')]);_0x2d9e4b=_0x2d9e4b?_0x2d9e4b[_0x5d836b(0x385,'W*xB')](/\n/g,'')[_0x5d836b(0x293,'fPA*')]():_0x2d9e4b;let _0xd41ff7=this[_0x5d836b(0x1a3,'AoS@')]('@chavy_boxjs_userCfgs.httpapi_timeout');_0xd41ff7=_0xd41ff7?_0x4e50b3[_0x5d836b(0x1f7,'MMXp')](0x1,_0xd41ff7):0x14,_0xd41ff7=_0xf40ccf&&_0xf40ccf[_0x5d836b(0x252,'[YtD')]?_0xf40ccf[_0x5d836b(0x197,'UGUA')]:_0xd41ff7;const [_0x9d8a13,_0x45baef]=_0x2d9e4b[_0x5d836b(0x245,'P^ND')]('@'),_0x2c9464={'url':_0x5d836b(0x2cc,'j5d%')+_0x45baef+_0x5d836b(0x1be,'zjt@'),'body':{'script_text':_0x2faa54,'mock_type':_0x4e50b3[_0x5d836b(0x33a,'])l0')],'timeout':_0xd41ff7},'headers':{'X-Key':_0x9d8a13,'Accept':_0x5d836b(0x1e9,'z8x8')},'timeout':_0xd41ff7};this[_0x5d836b(0x22d,'uT(k')](_0x2c9464,(_0x50a89c,_0x4bfd2b,_0x37e21b)=>_0x2dbf50(_0x37e21b));})['catch'](_0x476ac9=>this[_0x2845b5(0x20e,'J$Q%')](_0x476ac9));}['loaddata'](){const _0x92c0b6=_0x5a15e6;if(!this['isNode']())return{};{this['fs']=this['fs']?this['fs']:require('fs'),this[_0x92c0b6(0x201,'o&U)')]=this[_0x92c0b6(0x1d7,'KPQ1')]?this['path']:_0x4e50b3['ZXrUJ'](require,_0x4e50b3[_0x92c0b6(0x265,'l%X^')]);const _0x3e9453=this[_0x92c0b6(0x32b,'yoJp')]['resolve'](this[_0x92c0b6(0x256,'jVVH')]),_0x2c1d14=this[_0x92c0b6(0x1b0,'rC!2')][_0x92c0b6(0x2b8,'J$Q%')](process['cwd'](),this['dataFile']),_0xdc672f=this['fs']['existsSync'](_0x3e9453),_0x4a8262=!_0xdc672f&&this['fs'][_0x92c0b6(0x2c0,'gULG')](_0x2c1d14);if(!_0xdc672f&&!_0x4a8262)return{};{const _0x19b2a7=_0xdc672f?_0x3e9453:_0x2c1d14;try{return JSON[_0x92c0b6(0x36d,'qGJf')](this['fs']['readFileSync'](_0x19b2a7));}catch(_0x14493c){return{};}}}}['writedata'](){const _0x25d596=_0x5a15e6;if(this[_0x25d596(0x3ca,'bjoy')]()){this['fs']=this['fs']?this['fs']:_0x4e50b3[_0x25d596(0x3ce,'aY2#')](require,'fs'),this['path']=this[_0x25d596(0x384,'l%X^')]?this[_0x25d596(0x28a,'VA9G')]:_0x4e50b3[_0x25d596(0x3a8,'[YtD')](require,_0x4e50b3[_0x25d596(0x18d,'uT(k')]);const _0x39a746=this['path'][_0x25d596(0x2d4,'BdDc')](this[_0x25d596(0x1f9,'fPA*')]),_0x4cace7=this[_0x25d596(0x34c,'o&6X')][_0x25d596(0x330,'b7gV')](process['cwd'](),this[_0x25d596(0x2e6,'])l0')]),_0x585dfb=this['fs']['existsSync'](_0x39a746),_0x4e9e7b=!_0x585dfb&&this['fs'][_0x25d596(0x353,'o9q3')](_0x4cace7),_0x37ecf2=JSON['stringify'](this[_0x25d596(0x2b4,'UGUA')]);_0x585dfb?this['fs']['writeFileSync'](_0x39a746,_0x37ecf2):_0x4e9e7b?this['fs'][_0x25d596(0x37e,'fPA*')](_0x4cace7,_0x37ecf2):this['fs']['writeFileSync'](_0x39a746,_0x37ecf2);}}[_0x5a15e6(0x2c3,'$tBf')](_0xb8a14d,_0x31f30f,_0x3c1521){const _0xef5947=_0x5a15e6,_0xfa709d=_0x31f30f[_0xef5947(0x2f9,'GIP6')](/\[(\d+)\]/g,_0xef5947(0x3b2,'uGe#'))['split']('.');let _0x28ccbb=_0xb8a14d;for(const _0x1bde25 of _0xfa709d)if(_0x28ccbb=_0x4e50b3[_0xef5947(0x18b,'o&U)')](Object,_0x28ccbb)[_0x1bde25],_0x4e50b3[_0xef5947(0x180,'BdDc')](void 0x0,_0x28ccbb))return _0x3c1521;return _0x28ccbb;}[_0x5a15e6(0x204,'BdDc')](_0x2f62d3,_0x5f1f0f,_0x4a3163){const _0x51101e=_0x5a15e6;return _0x4e50b3[_0x51101e(0x32d,'bjoy')](_0x4e50b3[_0x51101e(0x3cf,'8*kB')](Object,_0x2f62d3),_0x2f62d3)?_0x2f62d3:(Array['isArray'](_0x5f1f0f)||(_0x5f1f0f=_0x5f1f0f[_0x51101e(0x1f1,'bjoy')]()[_0x51101e(0x1ef,'zl![')](/[^.[\]]+/g)||[]),_0x5f1f0f['slice'](0x0,-0x1)['reduce']((_0x19fca2,_0x4688cf,_0xc1e7f)=>Object(_0x19fca2[_0x4688cf])===_0x19fca2[_0x4688cf]?_0x19fca2[_0x4688cf]:_0x19fca2[_0x4688cf]=Math[_0x51101e(0x28c,'qGJf')](_0x5f1f0f[_0xc1e7f+0x1])>>0x0==+_0x5f1f0f[_0xc1e7f+0x1]?[]:{},_0x2f62d3)[_0x5f1f0f[_0x4e50b3[_0x51101e(0x360,'qbU[')](_0x5f1f0f[_0x51101e(0x240,'GIP6')],0x1)]]=_0x4a3163,_0x2f62d3);}[_0x5a15e6(0x2cb,'])l0')](_0xaf7d6a){const _0x40fb84=_0x5a15e6;let _0xbef94c=this[_0x40fb84(0x3b9,'qbU[')](_0xaf7d6a);if(/^@/[_0x40fb84(0x267,'yoJp')](_0xaf7d6a)){const [,_0x5720a1,_0x4e2e40]=/^@(.*?)\.(.*?)$/[_0x40fb84(0x315,'uT(k')](_0xaf7d6a),_0x5b8e4e=_0x5720a1?this[_0x40fb84(0x2a6,'jl07')](_0x5720a1):'';if(_0x5b8e4e)try{const _0x406e45=JSON[_0x40fb84(0x23e,'@xNW')](_0x5b8e4e);_0xbef94c=_0x406e45?this[_0x40fb84(0x3fd,'a!Dd')](_0x406e45,_0x4e2e40,''):_0xbef94c;}catch(_0x1b1ede){_0xbef94c='';}}return _0xbef94c;}['setdata'](_0x38dab2,_0x49e0c8){const _0x2be7d7=_0x5a15e6;let _0x39a03d=!0x1;if(/^@/['test'](_0x49e0c8)){const [,_0x6e8db3,_0x3201fe]=/^@(.*?)\.(.*?)$/[_0x2be7d7(0x3e5,'a!Dd')](_0x49e0c8),_0x561288=this['getval'](_0x6e8db3),_0x393a61=_0x6e8db3?_0x4e50b3[_0x2be7d7(0x355,'GIP6')](_0x2be7d7(0x3fa,'uGe#'),_0x561288)?null:_0x4e50b3['BZypk'](_0x561288,'{}'):'{}';try{const _0x235f36=JSON[_0x2be7d7(0x242,'8*kB')](_0x393a61);this[_0x2be7d7(0x3ae,'b7gV')](_0x235f36,_0x3201fe,_0x38dab2),_0x39a03d=this['setval'](JSON[_0x2be7d7(0x284,'@xNW')](_0x235f36),_0x6e8db3);}catch(_0x42cbb8){const _0x40703e={};this[_0x2be7d7(0x234,'mA6L')](_0x40703e,_0x3201fe,_0x38dab2),_0x39a03d=this['setval'](JSON[_0x2be7d7(0x1d0,'z8x8')](_0x40703e),_0x6e8db3);}}else _0x39a03d=this['setval'](_0x38dab2,_0x49e0c8);return _0x39a03d;}['getval'](_0x395200){const _0x40f5de=_0x5a15e6;switch(this[_0x40f5de(0x222,'Tqev')]()){case _0x4e50b3['CJyKv']:case _0x4e50b3[_0x40f5de(0x181,'zl![')]:case _0x40f5de(0x334,'jl07'):case _0x40f5de(0x211,'qbU['):return $persistentStore['read'](_0x395200);case _0x40f5de(0x2dc,'b7gV'):return $prefs[_0x40f5de(0x2dd,'AoS@')](_0x395200);case _0x4e50b3[_0x40f5de(0x368,'8*kB')]:return this[_0x40f5de(0x2ff,'zl![')]=this[_0x40f5de(0x2fa,'eqN3')](),this[_0x40f5de(0x223,'aY2#')][_0x395200];default:return this['data']&&this['data'][_0x395200]||null;}}[_0x5a15e6(0x1ea,'j5d%')](_0x3db810,_0x216dc8){const _0x2873a7=_0x5a15e6;switch(this[_0x2873a7(0x327,'aY2#')]()){case _0x4e50b3['CJyKv']:case _0x2873a7(0x381,'GIP6'):case _0x4e50b3['VsGtt']:case _0x4e50b3[_0x2873a7(0x3bf,'fPA*')]:return $persistentStore[_0x2873a7(0x28b,'MVUS')](_0x3db810,_0x216dc8);case _0x2873a7(0x24b,'eqN3'):return $prefs['setValueForKey'](_0x3db810,_0x216dc8);case _0x4e50b3[_0x2873a7(0x19c,'GIP6')]:return this['data']=this[_0x2873a7(0x2cf,'])l0')](),this[_0x2873a7(0x22b,'uGe#')][_0x216dc8]=_0x3db810,this[_0x2873a7(0x269,'fPA*')](),!0x0;default:return this[_0x2873a7(0x17c,'rC!2')]&&this[_0x2873a7(0x22c,'O#74')][_0x216dc8]||null;}}[_0x5a15e6(0x35a,'uT(k')](_0x4efd5d){const _0x329c2c=_0x5a15e6;this['got']=this['got']?this['got']:_0x4e50b3[_0x329c2c(0x390,'VA9G')](require,_0x4e50b3['vPFtS']),this[_0x329c2c(0x39c,'Tqev')]=this['cktough']?this[_0x329c2c(0x39c,'Tqev')]:require(_0x4e50b3[_0x329c2c(0x3e2,'z8x8')]),this[_0x329c2c(0x2e3,'b7gV')]=this[_0x329c2c(0x17f,'z8x8')]?this[_0x329c2c(0x2e3,'b7gV')]:new this[(_0x329c2c(0x2ca,'O#74'))][(_0x329c2c(0x1e5,'z8x8'))](),_0x4efd5d&&(_0x4efd5d[_0x329c2c(0x287,'aY2#')]=_0x4efd5d[_0x329c2c(0x2e0,'TGTV')]?_0x4efd5d['headers']:{},_0x4e50b3[_0x329c2c(0x1df,'W*xB')](void 0x0,_0x4efd5d[_0x329c2c(0x3ed,'KPQ1')]['Cookie'])&&void 0x0===_0x4efd5d[_0x329c2c(0x3ba,'Tqev')]&&(_0x4efd5d[_0x329c2c(0x1ff,'kHRT')]=this[_0x329c2c(0x2a8,'Tqev')]));}[_0x5a15e6(0x27b,'uT(k')](_0x5108c7,_0x4e5834=()=>{}){const _0x20d43c=_0x5a15e6,_0x17f2bb={'qHiwT':function(_0x44951c,_0x1a4f74,_0x52e251,_0x814a1b){return _0x44951c(_0x1a4f74,_0x52e251,_0x814a1b);},'cUrwg':function(_0x508c0e,_0xbc8e65,_0x4e2bfe,_0x2aee72,_0x5705f6){const _0x5a6135=_0x1971;return _0x4e50b3[_0x5a6135(0x3f6,'J$Q%')](_0x508c0e,_0xbc8e65,_0x4e2bfe,_0x2aee72,_0x5705f6);},'hrokK':function(_0x49322f,_0x77ef6,_0x364017,_0x2971c9){const _0x741095=_0x1971;return _0x4e50b3[_0x741095(0x376,'j5d%')](_0x49322f,_0x77ef6,_0x364017,_0x2971c9);}};switch(_0x5108c7[_0x20d43c(0x2a0,'Tqev')]&&(delete _0x5108c7[_0x20d43c(0x38f,'kHRT')][_0x4e50b3[_0x20d43c(0x206,'8*kB')]],delete _0x5108c7[_0x20d43c(0x1bf,'zl![')][_0x4e50b3[_0x20d43c(0x285,'yoJp')]],delete _0x5108c7[_0x20d43c(0x3e0,'eqN3')][_0x20d43c(0x356,'zjt@')],delete _0x5108c7[_0x20d43c(0x357,'UGUA')][_0x20d43c(0x290,'wxuS')]),this['getEnv']()){case'Surge':case _0x4e50b3['CWRSr']:case'Stash':case _0x4e50b3['IfnKq']:default:this['isSurge']()&&this[_0x20d43c(0x2de,'o&U)')]&&(_0x5108c7['headers']=_0x5108c7[_0x20d43c(0x3ea,'l%X^')]||{},Object['assign'](_0x5108c7[_0x20d43c(0x2da,'AoS@')],{'X-Surge-Skip-Scripting':!0x1})),$httpClient[_0x20d43c(0x194,'MVUS')](_0x5108c7,(_0xfd9320,_0x591271,_0x390615)=>{const _0x3bec74=_0x20d43c;!_0xfd9320&&_0x591271&&(_0x591271['body']=_0x390615,_0x591271[_0x3bec74(0x3ff,'KPQ1')]=_0x591271['status']?_0x591271[_0x3bec74(0x29b,'D%yI')]:_0x591271['statusCode'],_0x591271[_0x3bec74(0x1fe,'zjt@')]=_0x591271[_0x3bec74(0x3a3,'D%yI')]),_0x17f2bb[_0x3bec74(0x1dc,'zjt@')](_0x4e5834,_0xfd9320,_0x591271,_0x390615);});break;case _0x20d43c(0x389,'P^ND'):this[_0x20d43c(0x350,'iYLS')]&&(_0x5108c7['opts']=_0x5108c7[_0x20d43c(0x304,'bjoy')]||{},Object['assign'](_0x5108c7['opts'],{'hints':!0x1})),$task[_0x20d43c(0x2d0,'iYLS')](_0x5108c7)[_0x20d43c(0x3d9,'jVVH')](_0x101331=>{const {statusCode:_0x1e5d37,statusCode:_0x18b576,headers:_0x4eff9b,body:_0x5e11a9,bodyBytes:_0x124b6b}=_0x101331;_0x17f2bb['cUrwg'](_0x4e5834,null,{'status':_0x1e5d37,'statusCode':_0x18b576,'headers':_0x4eff9b,'body':_0x5e11a9,'bodyBytes':_0x124b6b},_0x5e11a9,_0x124b6b);},_0x492146=>_0x4e5834(_0x492146&&_0x492146['error']||_0x20d43c(0x27a,'J$Q%')));break;case _0x4e50b3[_0x20d43c(0x25f,'qbU[')]:let _0x4dafcf=require(_0x20d43c(0x200,'yoJp'));this[_0x20d43c(0x28f,'zjt@')](_0x5108c7),this[_0x20d43c(0x33d,'mA6L')](_0x5108c7)['on'](_0x4e50b3[_0x20d43c(0x286,'o&U)')],(_0x175f70,_0x304b7b)=>{const _0x36be1c=_0x20d43c;try{if(_0x175f70['headers'][_0x4e50b3[_0x36be1c(0x22a,'O#74')]]){const _0x1ad987=_0x175f70[_0x36be1c(0x198,'fPA*')][_0x4e50b3[_0x36be1c(0x1a8,'uT(k')]][_0x36be1c(0x369,'TGTV')](this[_0x36be1c(0x35f,'rC!2')][_0x36be1c(0x1e7,'kHRT')][_0x36be1c(0x2f4,'KPQ1')])[_0x36be1c(0x248,'fPA*')]();_0x1ad987&&this[_0x36be1c(0x38b,'o&U)')]['setCookieSync'](_0x1ad987,null),_0x304b7b['cookieJar']=this[_0x36be1c(0x314,'P^ND')];}}catch(_0x379c65){this['logErr'](_0x379c65);}})['then'](_0x27c7da=>{const _0x1abd71=_0x20d43c,{statusCode:_0x514b89,statusCode:_0x3841d3,headers:_0x303c02,rawBody:_0x14eaff}=_0x27c7da,_0x446903=_0x4dafcf[_0x1abd71(0x38c,'D%yI')](_0x14eaff,this[_0x1abd71(0x188,'uGe#')]);_0x17f2bb[_0x1abd71(0x1fb,'wxuS')](_0x4e5834,null,{'status':_0x514b89,'statusCode':_0x3841d3,'headers':_0x303c02,'rawBody':_0x14eaff,'body':_0x446903},_0x446903);},_0x1c21a9=>{const _0x14c865=_0x20d43c,{message:_0x8a7ca3,response:_0x214b34}=_0x1c21a9;_0x17f2bb[_0x14c865(0x1e2,'o&6X')](_0x4e5834,_0x8a7ca3,_0x214b34,_0x214b34&&_0x4dafcf['decode'](_0x214b34[_0x14c865(0x28d,'[YtD')],this[_0x14c865(0x1d1,'TGTV')]));});}}['post'](_0x2b78fd,_0x2c772e=()=>{}){const _0x49e63f=_0x5a15e6,_0x19bfe3={'uKlRr':function(_0x31a8c5,_0x5e0fea,_0x30dad5,_0x277b03,_0x2aff8d){const _0x4763d1=_0x1971;return _0x4e50b3[_0x4763d1(0x2b3,'MMXp')](_0x31a8c5,_0x5e0fea,_0x30dad5,_0x277b03,_0x2aff8d);},'PUyur':function(_0x59f3f3,_0x4cbe28,_0x5c9b04,_0x13738a){const _0x25bafe=_0x1971;return _0x4e50b3[_0x25bafe(0x182,'eqN3')](_0x59f3f3,_0x4cbe28,_0x5c9b04,_0x13738a);}},_0x341612=_0x2b78fd[_0x49e63f(0x1e0,'jl07')]?_0x2b78fd[_0x49e63f(0x213,'])l0')][_0x49e63f(0x328,'KPQ1')]():_0x4e50b3[_0x49e63f(0x339,'BdDc')];switch(_0x2b78fd[_0x49e63f(0x1c2,'cKwh')]&&_0x2b78fd['headers']&&!_0x2b78fd[_0x49e63f(0x1e4,'MVUS')]['Content-Type']&&!_0x2b78fd[_0x49e63f(0x253,'rC!2')][_0x49e63f(0x20d,'jl07')]&&(_0x2b78fd[_0x49e63f(0x1ca,'W*xB')][_0x4e50b3[_0x49e63f(0x2b7,'GIP6')]]=_0x49e63f(0x29e,'VA9G')),_0x2b78fd['headers']&&(delete _0x2b78fd[_0x49e63f(0x249,'j5d%')][_0x49e63f(0x358,'XdGc')],delete _0x2b78fd['headers']['content-length']),this[_0x49e63f(0x3f1,'bjoy')]()){case _0x4e50b3['CJyKv']:case _0x4e50b3[_0x49e63f(0x215,'z8x8')]:case'Stash':case _0x49e63f(0x186,'a!Dd'):default:this['isSurge']()&&this[_0x49e63f(0x2c8,'aY2#')]&&(_0x2b78fd[_0x49e63f(0x3ed,'KPQ1')]=_0x2b78fd[_0x49e63f(0x377,'cKwh')]||{},Object['assign'](_0x2b78fd[_0x49e63f(0x36b,'jVVH')],{'X-Surge-Skip-Scripting':!0x1})),$httpClient[_0x341612](_0x2b78fd,(_0xfd7075,_0x31d575,_0x2d288c)=>{const _0x14d994=_0x49e63f;!_0xfd7075&&_0x31d575&&(_0x31d575[_0x14d994(0x227,'mA6L')]=_0x2d288c,_0x31d575['statusCode']=_0x31d575['status']?_0x31d575[_0x14d994(0x18c,'P^ND')]:_0x31d575[_0x14d994(0x1d8,'cKwh')],_0x31d575[_0x14d994(0x18c,'P^ND')]=_0x31d575[_0x14d994(0x2f5,'@xNW')]),_0x4e50b3[_0x14d994(0x321,'O#74')](_0x2c772e,_0xfd7075,_0x31d575,_0x2d288c);});break;case _0x4e50b3[_0x49e63f(0x401,'ypmY')]:_0x2b78fd['method']=_0x341612,this[_0x49e63f(0x1b6,'l%X^')]&&(_0x2b78fd[_0x49e63f(0x3f3,'rC!2')]=_0x2b78fd[_0x49e63f(0x21c,'Tqev')]||{},Object['assign'](_0x2b78fd[_0x49e63f(0x371,'yoJp')],{'hints':!0x1})),$task['fetch'](_0x2b78fd)['then'](_0x4cbbb2=>{const {statusCode:_0x346f5d,statusCode:_0x551126,headers:_0x57985c,body:_0x37fa2c,bodyBytes:_0xf62e39}=_0x4cbbb2;_0x19bfe3['uKlRr'](_0x2c772e,null,{'status':_0x346f5d,'statusCode':_0x551126,'headers':_0x57985c,'body':_0x37fa2c,'bodyBytes':_0xf62e39},_0x37fa2c,_0xf62e39);},_0x5763d1=>_0x2c772e(_0x5763d1&&_0x5763d1[_0x49e63f(0x38a,'AoS@')]||_0x49e63f(0x1a2,'kHRT')));break;case _0x49e63f(0x341,'W*xB'):let _0x11b6c0=_0x4e50b3[_0x49e63f(0x400,'XdGc')](require,_0x4e50b3[_0x49e63f(0x199,'eqN3')]);this['initGotEnv'](_0x2b78fd);const {url:_0x1eafe3,..._0x32a168}=_0x2b78fd;this[_0x49e63f(0x34e,'jVVH')][_0x341612](_0x1eafe3,_0x32a168)['then'](_0x3a0ba8=>{const _0x7dc9bc=_0x49e63f,{statusCode:_0x26e409,statusCode:_0x92a873,headers:_0x32ec8f,rawBody:_0x59270a}=_0x3a0ba8,_0x424995=_0x11b6c0[_0x7dc9bc(0x1c5,'AoS@')](_0x59270a,this['encoding']);_0x4e50b3[_0x7dc9bc(0x1b5,'[YtD')](_0x2c772e,null,{'status':_0x26e409,'statusCode':_0x92a873,'headers':_0x32ec8f,'rawBody':_0x59270a,'body':_0x424995},_0x424995);},_0x3ba213=>{const _0x197a1d=_0x49e63f,{message:_0x192558,response:_0x32dc03}=_0x3ba213;_0x19bfe3[_0x197a1d(0x1f8,'KPQ1')](_0x2c772e,_0x192558,_0x32dc03,_0x32dc03&&_0x11b6c0['decode'](_0x32dc03[_0x197a1d(0x2ac,'Tqev')],this[_0x197a1d(0x352,'8*kB')]));});}}[_0x5a15e6(0x1bc,'rC!2')](_0x2148dd,_0x4517b9=null){const _0x2ced98=_0x5a15e6,_0x3858c0=_0x4517b9?new Date(_0x4517b9):new Date();let _0x465d0a={'M+':_0x4e50b3[_0x2ced98(0x3a9,'mA6L')](_0x3858c0['getMonth'](),0x1),'d+':_0x3858c0[_0x2ced98(0x3cc,'$tBf')](),'H+':_0x3858c0['getHours'](),'m+':_0x3858c0[_0x2ced98(0x2ba,'P^ND')](),'s+':_0x3858c0[_0x2ced98(0x3be,'uGe#')](),'q+':Math[_0x2ced98(0x2f6,'o9q3')]((_0x3858c0[_0x2ced98(0x29f,'KPQ1')]()+0x3)/0x3),'S':_0x3858c0[_0x2ced98(0x3d2,'j5d%')]()};/(y+)/[_0x2ced98(0x183,'XdGc')](_0x2148dd)&&(_0x2148dd=_0x2148dd['replace'](RegExp['$1'],_0x4e50b3[_0x2ced98(0x217,'gULG')](_0x3858c0[_0x2ced98(0x1a5,'AoS@')](),'')[_0x2ced98(0x18f,'[YtD')](_0x4e50b3['QwhUp'](0x4,RegExp['$1'][_0x2ced98(0x3df,'@xNW')]))));for(let _0x1d43d8 in _0x465d0a)new RegExp(_0x4e50b3[_0x2ced98(0x348,'kHRT')](_0x4e50b3[_0x2ced98(0x336,'iYLS')]('(',_0x1d43d8),')'))[_0x2ced98(0x2fe,'a!Dd')](_0x2148dd)&&(_0x2148dd=_0x2148dd[_0x2ced98(0x2b1,'UGUA')](RegExp['$1'],_0x4e50b3[_0x2ced98(0x32f,'MVUS')](0x1,RegExp['$1'][_0x2ced98(0x309,'uT(k')])?_0x465d0a[_0x1d43d8]:_0x4e50b3[_0x2ced98(0x33c,'fPA*')]('00',_0x465d0a[_0x1d43d8])[_0x2ced98(0x2a3,'AoS@')](_0x4e50b3['gsrXX']('',_0x465d0a[_0x1d43d8])[_0x2ced98(0x2df,'TGTV')])));return _0x2148dd;}['queryStr'](_0x1fcfb7){const _0x5345ff=_0x5a15e6;let _0xb515c='';for(const _0x258227 in _0x1fcfb7){let _0x3a0510=_0x1fcfb7[_0x258227];_0x4e50b3[_0x5345ff(0x28e,'cKwh')](null,_0x3a0510)&&_0x4e50b3[_0x5345ff(0x30c,'zjt@')]('',_0x3a0510)&&(_0x4e50b3[_0x5345ff(0x1e1,'bjoy')](_0x4e50b3['GHxGB'],typeof _0x3a0510)&&(_0x3a0510=JSON[_0x5345ff(0x3d7,'zjt@')](_0x3a0510)),_0xb515c+=_0x258227+'='+_0x3a0510+'&');}return _0xb515c=_0xb515c['substring'](0x0,_0x4e50b3['brQyM'](_0xb515c['length'],0x1)),_0xb515c;}[_0x5a15e6(0x196,'bjoy')](_0x504883=_0x29e238,_0x5a68da='',_0x465428='',_0x10dae2){const _0x367ab8=_0x5a15e6,_0x40ab3c={'mhbLr':_0x367ab8(0x3ec,'o&6X'),'MTJXu':_0x4e50b3['CJyKv'],'FaHfK':_0x4e50b3['VsGtt'],'tBCRZ':_0x4e50b3['CWRSr'],'oyTpE':_0x4e50b3[_0x367ab8(0x2d9,'qbU[')],'wHEDa':_0x4e50b3[_0x367ab8(0x179,'AoS@')],'GTwwz':_0x4e50b3['IfnKq'],'ixBbX':_0x4e50b3[_0x367ab8(0x378,'KPQ1')],'kMQwK':_0x367ab8(0x1a9,'l%X^'),'rBEko':_0x4e50b3[_0x367ab8(0x241,'VA9G')]},_0x391b3a=_0x551980=>{const _0x561721=_0x367ab8;switch(typeof _0x551980){case void 0x0:return _0x551980;case _0x40ab3c['mhbLr']:switch(this['getEnv']()){case _0x40ab3c['MTJXu']:case _0x40ab3c[_0x561721(0x37b,'yoJp')]:default:return{'url':_0x551980};case _0x40ab3c['tBCRZ']:case _0x561721(0x383,'o&6X'):return _0x551980;case _0x40ab3c['oyTpE']:return{'open-url':_0x551980};case _0x40ab3c[_0x561721(0x3c4,'VA9G')]:return;}case _0x561721(0x3f7,'b7gV'):switch(this['getEnv']()){case _0x561721(0x340,'MMXp'):case _0x40ab3c['FaHfK']:case _0x40ab3c[_0x561721(0x224,'D%yI')]:default:{let _0x1b1d61=_0x551980[_0x561721(0x18e,'W*xB')]||_0x551980[_0x561721(0x3ac,'ypmY')]||_0x551980[_0x40ab3c['ixBbX']];return{'url':_0x1b1d61};}case _0x561721(0x31c,'VA9G'):{let _0x3eb433=_0x551980['openUrl']||_0x551980['url']||_0x551980[_0x40ab3c[_0x561721(0x3d3,'qbU[')]],_0x34281c=_0x551980['mediaUrl']||_0x551980[_0x40ab3c[_0x561721(0x3d6,'VA9G')]];return{'openUrl':_0x3eb433,'mediaUrl':_0x34281c};}case _0x561721(0x3e6,'qbU['):{let _0x502142=_0x551980[_0x40ab3c[_0x561721(0x243,'j5d%')]]||_0x551980[_0x561721(0x24c,'iYLS')]||_0x551980['openUrl'],_0x42f451=_0x551980[_0x561721(0x1bd,'XdGc')]||_0x551980[_0x561721(0x2bf,'W*xB')],_0x10a575=_0x551980[_0x40ab3c[_0x561721(0x325,'yoJp')]]||_0x551980[_0x561721(0x307,'j5d%')];return{'open-url':_0x502142,'media-url':_0x42f451,'update-pasteboard':_0x10a575};}case _0x40ab3c['wHEDa']:return;}default:return;}};if(!this['isMute'])switch(this[_0x367ab8(0x1f5,'@xNW')]()){case _0x367ab8(0x33b,'z8x8'):case _0x4e50b3[_0x367ab8(0x375,'j5d%')]:case _0x4e50b3[_0x367ab8(0x17b,'J$Q%')]:case'Shadowrocket':default:$notification['post'](_0x504883,_0x5a68da,_0x465428,_0x4e50b3[_0x367ab8(0x2d1,'o&U)')](_0x391b3a,_0x10dae2));break;case _0x4e50b3[_0x367ab8(0x303,'])l0')]:$notify(_0x504883,_0x5a68da,_0x465428,_0x4e50b3[_0x367ab8(0x2c2,'J$Q%')](_0x391b3a,_0x10dae2));break;case _0x4e50b3[_0x367ab8(0x187,'W*xB')]:}if(!this[_0x367ab8(0x2f1,'D%yI')]){let _0x259ab4=['',_0x4e50b3[_0x367ab8(0x386,'GIP6')]];_0x259ab4[_0x367ab8(0x2bd,'kHRT')](_0x504883),_0x5a68da&&_0x259ab4['push'](_0x5a68da),_0x465428&&_0x259ab4[_0x367ab8(0x22e,'MMXp')](_0x465428),console['log'](_0x259ab4['join']('\x0a')),this['logs']=this[_0x367ab8(0x2b9,'BdDc')][_0x367ab8(0x2a2,'mA6L')](_0x259ab4);}}[_0x5a15e6(0x3a6,'KPQ1')](..._0x1e1207){const _0x1f2b81=_0x5a15e6;_0x1e1207[_0x1f2b81(0x37a,'l%X^')]>0x0&&(this[_0x1f2b81(0x359,'ypmY')]=[...this[_0x1f2b81(0x23b,'qbU[')],..._0x1e1207]),console[_0x1f2b81(0x1c4,'[YtD')](_0x1e1207[_0x1f2b81(0x2e9,'j5d%')](this[_0x1f2b81(0x3c8,'UGUA')]));}[_0x5a15e6(0x3fb,'mA6L')](_0x2a4d91,_0x1cb401){const _0x4093ed=_0x5a15e6;switch(this[_0x4093ed(0x26b,'8*kB')]()){case _0x4e50b3['CJyKv']:case _0x4093ed(0x216,'zjt@'):case _0x4e50b3['VsGtt']:case _0x4e50b3[_0x4093ed(0x387,'MVUS')]:case _0x4093ed(0x1e3,'ypmY'):default:this[_0x4093ed(0x398,'zl![')]('','❗️'+this[_0x4093ed(0x3f4,'GIP6')]+_0x4093ed(0x229,'z8x8'),_0x2a4d91);break;case _0x4093ed(0x27e,'qGJf'):this[_0x4093ed(0x272,'jl07')]('','❗️'+this['name']+',错误!',_0x2a4d91[_0x4093ed(0x271,'8*kB')]);}}[_0x5a15e6(0x2be,'o9q3')](_0x4840ed){return new Promise(_0x106cd1=>setTimeout(_0x106cd1,_0x4840ed));}[_0x5a15e6(0x317,'qGJf')](_0x34020d){const _0x22ef33=_0x5a15e6;_0x552de8[_0x22ef33(0x264,'rC!2')]()?_0x34020d&&(console[_0x22ef33(0x3c2,'jVVH')](''+_0x34020d),_0x325aa8+='\x0a\x20'+_0x34020d):(console[_0x22ef33(0x2aa,'uT(k')](''+_0x34020d),_0x325aa8+='\x0a\x20'+_0x34020d);}async[_0x5a15e6(0x280,'MMXp')](_0x29bb1f){const _0x1949df=_0x5a15e6;if(!_0x29bb1f)return;if(_0x4e50b3['hLQJt'](_0x357c28,0x0)){if(_0x552de8[_0x1949df(0x346,'J$Q%')]()){var _0x284d33=_0x4e50b3[_0x1949df(0x3d4,'eqN3')](require,_0x4e50b3[_0x1949df(0x36c,'o&6X')]);await _0x284d33[_0x1949df(0x2ce,'eqN3')](_0x552de8['name'],_0x29bb1f);}else _0x552de8[_0x1949df(0x1c0,'O#74')](_0x552de8['name'],'',_0x29bb1f),console['log'](_0x552de8['name'],'',_0x29bb1f);}else console['log'](_0x29bb1f);}[_0x5a15e6(0x3cb,'eqN3')](_0x42f270={}){const _0x302290=_0x5a15e6,_0x14e9ed=new Date()[_0x302290(0x3b0,'AoS@')](),_0x41c874=_0x4e50b3['brQyM'](_0x14e9ed,this[_0x302290(0x251,'rC!2')])/0x3e8;switch(this[_0x302290(0x2aa,'uT(k')]('','🔔'+this[_0x302290(0x274,'jVVH')]+',结束!🕛\x20'+_0x41c874+'秒'),this[_0x302290(0x283,'TGTV')](),this[_0x302290(0x344,'KPQ1')]()){case _0x4e50b3[_0x302290(0x1f3,'a!Dd')]:case _0x4e50b3['CWRSr']:case _0x302290(0x3c6,'TGTV'):case _0x302290(0x392,'8*kB'):case _0x4e50b3['bPNsf']:default:_0x4e50b3[_0x302290(0x2af,'W*xB')]($done,_0x42f270);break;case _0x4e50b3[_0x302290(0x19d,'l%X^')]:process[_0x302290(0x24e,'fPA*')](0x1);}}}(_0x29e238,_0x5501c5);}function _0x159fb6(_0x16385d){const _0x5b197f=_0x1f1e99,_0xd12dc={'wXRed':function(_0x1df9c9,_0x393144){return _0x1df9c9===_0x393144;},'LIzzP':'string','gKnJq':_0x5b197f(0x193,'W*xB'),'OIxyD':function(_0x439f80,_0x2dd3d0){return _0x439f80+_0x2dd3d0;},'gmVfS':_0x5b197f(0x335,'D%yI'),'iqjAH':function(_0x220b47,_0x73249d){return _0x220b47%_0x73249d;},'MEuEL':_0x5b197f(0x1bb,'jl07'),'uzkIn':'gger','IuwqD':_0x5b197f(0x185,'BdDc'),'IFKoY':function(_0x3adc70,_0x15be25){return _0x3adc70(_0x15be25);},'VYxHz':function(_0x2ac193,_0x2403d2){return _0x2ac193(_0x2403d2);}};function _0x4c6749(_0x2b00ba){const _0x5eb845=_0x5b197f;if(_0xd12dc[_0x5eb845(0x25c,'eqN3')](typeof _0x2b00ba,_0xd12dc[_0x5eb845(0x2b0,'yoJp')]))return function(_0x1a530f){}[_0x5eb845(0x210,'qGJf')](_0x5eb845(0x329,'Tqev'))[_0x5eb845(0x37d,'MMXp')](_0xd12dc['gKnJq']);else _0xd12dc['OIxyD']('',_0x2b00ba/_0x2b00ba)[_0xd12dc['gmVfS']]!==0x1||_0xd12dc['iqjAH'](_0x2b00ba,0x14)===0x0?function(){return!![];}[_0x5eb845(0x212,'O#74')](_0xd12dc[_0x5eb845(0x3f5,'BdDc')](_0xd12dc[_0x5eb845(0x301,'iYLS')],_0xd12dc[_0x5eb845(0x367,'KPQ1')]))[_0x5eb845(0x19f,'kHRT')](_0x5eb845(0x388,'bjoy')):function(){return![];}[_0x5eb845(0x1ac,'zl![')](_0xd12dc['MEuEL']+_0xd12dc[_0x5eb845(0x366,'yoJp')])[_0x5eb845(0x2a4,'qbU[')](_0xd12dc['IuwqD']);_0xd12dc[_0x5eb845(0x22f,'kHRT')](_0x4c6749,++_0x2b00ba);}try{if(_0x16385d)return _0x4c6749;else _0xd12dc['VYxHz'](_0x4c6749,0x0);}catch(_0x57ec29){}}var version_ = 'jsjiami.com.v7'; \ No newline at end of file diff --git a/wxapp/植白说.js b/wxapp/植白说.js deleted file mode 100644 index 39383fd..0000000 --- a/wxapp/植白说.js +++ /dev/null @@ -1,481 +0,0 @@ -/** - * 植白说v1.0 - * const $ = new Env("植白说"); - * cron 10 6,15 * * * 植白说.js - * - * ========= 青龙--配置文件 =========== - * # 项目名称 - * export zbsxcx='X-Dts-Token' - - * 抓包请求 https://zbs.20171026.com/demo/取出X-Dts-Token - - * 多账号换行、@ 或 & 隔开 - * 说明:根据群友Maric提示恢复脚本,貌似是随着时间token有效期会越来越长 - * 奖励:签到/分享 牛奶活动 - * 注册入口:#小程序://植白说/cIiT4iMItmJ1EZi - * ==================================== - * - */ -//Sat Jan 25 2025 08:30:22 GMT+0000 (Coordinated Universal Time) -//Base:https://github.com/echo094/decode-js -//Modify:https://github.com/smallfawn/decode_action -const _0x3065e9 = new _0x14a79b("植白说"); -let _0x594a0a = "zbsxcx", - _0x1ad327 = ["\n", "&", "@"], - _0x5d9ea2 = (_0x3065e9.isNode() ? process.env[_0x594a0a] : _0x3065e9.getdata(_0x594a0a)) || "", - _0x23139a = [], - _0x5845aa = 0; -class _0x4f7def { - constructor(_0x44f7e1) { - this.index = ++_0x5845aa; - this.valid = false; - this.activedAuthToken = _0x44f7e1; - } - async ["taskApi"](_0x8df8fd, _0x52db04, _0x5ede90, _0x1961e6) { - let _0x11a1db = null; - try { - let _0x19ca83 = { - "url": _0x5ede90, - "headers": { - "X-DTS-Token": this.activedAuthToken, - "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 MicroMessenger/7.0.20.1781(0x6700143B) NetType/WIFI MiniProgramEnv/Windows WindowsWechat/WMPF XWEB/8237", - "xweb_xhr": "1" - }, - "timeout": 60000, - "rejectUnauthorized": false - }; - if (_0x1961e6) { - _0x19ca83.body = _0x1961e6; - _0x19ca83.headers["Content-Length"] = _0x1961e6?.["length"]; - } - await _0x2ef80e(_0x52db04, _0x19ca83).then(async _0xe0f650 => { - { - if (_0xe0f650.resp?.["statusCode"] == 200) { - if (_0xe0f650.resp?.["body"]) _0x11a1db = JSON.parse(_0xe0f650.resp.body);else {} - } else console.log("账号[" + this.index + "]调用" + _0x52db04 + "[" + _0x8df8fd + "]出错,返回状态码[" + (_0xe0f650.resp?.["statusCode"] || "") + "]", "返回结果:", _0xe0f650.resp?.["body"]); - } - }); - } catch (_0x4fad44) { - console.log(_0x4fad44); - } finally { - return Promise.resolve(_0x11a1db); - } - } - async ["Sign"]() { - try { - { - let _0x4a533a = "Sign", - _0x420ae1 = "get", - _0x1fbcef = "https://zbs.20171026.com/demo/wx/home/signDay", - _0x1c108f = ""; - return await this.taskApi(_0x4a533a, _0x420ae1, _0x1fbcef, _0x1c108f).then(async _0x136d6b => { - { - if (_0x136d6b?.["errno"] === 0) return console.log("账号[" + this.index + "] 签到成功,签到次数:" + _0x136d6b?.["data"]?.["signCount"] + ",积分余额: " + _0x136d6b?.["data"]?.["integral"]), this.valid = true, true;else _0x3065e9.logAndNotify("账号[" + this.index + "] - 积分签到失败:" + (_0x136d6b?.["errmsg"] || JSON.stringify(_0x136d6b))), this.valid = false; - } - }); - } - } catch (_0x396548) { - console.log(_0x396548); - } - } - async ["Share"]() { - try { - let _0x33e5b6 = "Share", - _0x2bff16 = "get", - _0x3f4521 = "https://zbs.20171026.com/demo/wx/user/addIntegralByShare", - _0x4d3189 = ""; - return await this.taskApi(_0x33e5b6, _0x2bff16, _0x3f4521, _0x4d3189).then(async _0x5d0bf3 => { - { - if (_0x5d0bf3?.["errno"] === 0) { - console.log("账号[" + this.index + "] 分享成功,增加 1 积分"); - return true; - } else { - _0x3065e9.logAndNotify("账号[" + this.index + "] - 分享失败:" + (_0x5d0bf3?.["errmsg"] || JSON.stringify(_0x5d0bf3))); - } - } - }); - } catch (_0x1f98fa) { - console.log(_0x1f98fa); - } - } - async ["doTask"]() { - try { - console.log("\n============= 账号[" + this.index + "] 开始执行 分享任务============="); - await _0x3065e9.wait(Math.random() * 200); - for (let _0x50253a = 0; _0x50253a < 3; _0x50253a++) { - await this.Share(); - await _0x3065e9.wait(Math.random() * 1000); - } - } catch (_0x2b25f0) { - console.log(_0x2b25f0); - } - } -} -!(async () => { - if (typeof $request !== "undefined") await _0x1b91d9();else { - if (!(await _0x2f2542())) return; - console.log("\n================ 开始执行 ================"); - for (let _0x19ed95 of _0x23139a) { - console.log("----------- 执行 第 [" + _0x19ed95.index + "] 个账号 -----------"); - await _0x19ed95.Sign(); - await _0x3065e9.wait(Math.random() * 200); - } - let _0x7fb3c1 = _0x23139a.filter(_0x2bd556 => _0x2bd556.valid); - if (_0x7fb3c1.length > 0) { - console.log("\n================ 任务队列构建完毕 ================"); - for (let _0x249a61 of _0x7fb3c1) { - console.log("----------- 账号[" + _0x249a61.index + "] -----------"); - await _0x249a61.doTask(); - } - } else { - console.log("\n====幻生提示:无可用账号,请检查配置============ 任务结束 ================"); - } - await _0x3065e9.showmsg(); - } -})().catch(_0x3de5ae => console.log(_0x3de5ae)).finally(() => _0x3065e9.done()); -async function _0x1b91d9() {} -async function _0x2f2542() { - if (_0x5d9ea2) { - { - let _0x506c52 = _0x1ad327[0]; - for (let _0x16a0d0 of _0x1ad327) { - if (_0x5d9ea2.indexOf(_0x16a0d0) > -1) { - { - _0x506c52 = _0x16a0d0; - break; - } - } - } - for (let _0x2460f4 of _0x5d9ea2.split(_0x506c52)) { - { - if (_0x2460f4) _0x23139a.push(new _0x4f7def(_0x2460f4)); - } - } - userCount = _0x23139a.length; - } - } else { - console.log("未找到 配置信息,请检查是否配置 变量:", _0x594a0a); - return; - } - console.log("共找到" + userCount + "个账号"); - return true; -} -async function _0x2ef80e(_0x22e525, _0xf7da77) { - httpErr = null; - httpReq = null; - httpResp = null; - return new Promise(_0x1e7c15 => { - _0x3065e9.send(_0x22e525, _0xf7da77, async (_0x1a63ab, _0x304b42, _0x47c7a2) => { - httpErr = _0x1a63ab; - httpReq = _0x304b42; - httpResp = _0x47c7a2; - _0x1e7c15({ - "err": _0x1a63ab, - "req": _0x304b42, - "resp": _0x47c7a2 - }); - }); - }); -} -function _0x14a79b(_0x4038d3, _0x4c648e) { - "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); - return new class { - constructor(_0xc41156, _0x297ded) { - this.name = _0xc41156; - this.notifyStr = ""; - this.startTime = new Date().getTime(); - Object.assign(this, _0x297ded); - console.log(this.name + " 开始运行:\n"); - } - ["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; - } - ["getdata"](_0x1c89dc) { - let _0x5f3c83 = this.getval(_0x1c89dc); - if (/^@/.test(_0x1c89dc)) { - const [, _0x4b7142, _0x5ba969] = /^@(.*?)\.(.*?)$/.exec(_0x1c89dc), - _0x45f3e6 = _0x4b7142 ? this.getval(_0x4b7142) : ""; - if (_0x45f3e6) try { - const _0x1de99b = JSON.parse(_0x45f3e6); - _0x5f3c83 = _0x1de99b ? this.lodash_get(_0x1de99b, _0x5ba969, "") : _0x5f3c83; - } catch (_0xb8b62e) { - _0x5f3c83 = ""; - } - } - return _0x5f3c83; - } - ["setdata"](_0x90cff, _0x59643e) { - { - let _0x28ca60 = false; - if (/^@/.test(_0x59643e)) { - const [, _0x38c422, _0x26c375] = /^@(.*?)\.(.*?)$/.exec(_0x59643e), - _0x14a0cc = this.getval(_0x38c422), - _0x10f203 = _0x38c422 ? "null" === _0x14a0cc ? null : _0x14a0cc || "{}" : "{}"; - try { - const _0x1b9f14 = JSON.parse(_0x10f203); - this.lodash_set(_0x1b9f14, _0x26c375, _0x90cff); - _0x28ca60 = this.setval(JSON.stringify(_0x1b9f14), _0x38c422); - } catch (_0x4ce4bd) { - const _0x4defda = {}; - this.lodash_set(_0x4defda, _0x26c375, _0x90cff); - _0x28ca60 = this.setval(JSON.stringify(_0x4defda), _0x38c422); - } - } else { - _0x28ca60 = this.setval(_0x90cff, _0x59643e); - } - return _0x28ca60; - } - } - ["getval"](_0x4e2aac) { - return this.isSurge() || this.isLoon() ? $persistentStore.read(_0x4e2aac) : this.isQuanX() ? $prefs.valueForKey(_0x4e2aac) : this.isNode() ? (this.data = this.loaddata(), this.data[_0x4e2aac]) : this.data && this.data[_0x4e2aac] || null; - } - ["setval"](_0x4901e5, _0xdb3502) { - return this.isSurge() || this.isLoon() ? $persistentStore.write(_0x4901e5, _0xdb3502) : this.isQuanX() ? $prefs.setValueForKey(_0x4901e5, _0xdb3502) : this.isNode() ? (this.data = this.loaddata(), this.data[_0xdb3502] = _0x4901e5, this.writedata(), true) : this.data && this.data[_0xdb3502] || null; - } - ["send"](_0x528a53, _0x1062b7, _0x3a681d = () => {}) { - { - if (_0x528a53 != "get" && _0x528a53 != "post" && _0x528a53 != "put" && _0x528a53 != "delete") { - console.log("无效的http方法:" + _0x528a53); - return; - } - if (_0x528a53 == "get" && _0x1062b7.headers) delete _0x1062b7.headers["Content-Type"], delete _0x1062b7.headers["Content-Length"];else { - if (_0x1062b7.body && _0x1062b7.headers) { - { - if (!_0x1062b7.headers["Content-Type"]) _0x1062b7.headers["Content-Type"] = "application/x-www-form-urlencoded"; - } - } - } - if (this.isSurge() || this.isLoon()) { - this.isSurge() && this.isNeedRewrite && (_0x1062b7.headers = _0x1062b7.headers || {}, Object.assign(_0x1062b7.headers, { - "X-Surge-Skip-Scripting": false - })); - let _0x55f76d = { - "method": _0x528a53, - "url": _0x1062b7.url, - "headers": _0x1062b7.headers, - "timeout": _0x1062b7.timeout, - "data": _0x1062b7.body - }; - if (_0x528a53 == "get") delete _0x55f76d.data; - $axios(_0x55f76d).then(_0x3f3966 => { - const { - status: _0x29a846, - request: _0x2ad2aa, - headers: _0x5cc4bd, - data: _0x161f35 - } = _0x3f3966; - _0x3a681d(null, _0x2ad2aa, { - "statusCode": _0x29a846, - "headers": _0x5cc4bd, - "body": _0x161f35 - }); - }).catch(_0x238377 => console.log(_0x238377)); - } else { - if (this.isQuanX()) _0x1062b7.method = _0x528a53.toUpperCase(), this.isNeedRewrite && (_0x1062b7.opts = _0x1062b7.opts || {}, Object.assign(_0x1062b7.opts, { - "hints": false - })), $task.fetch(_0x1062b7).then(_0x3b8bbe => { - const { - statusCode: _0x2fc1ac, - request: _0x5f6740, - headers: _0x34d4ad, - body: _0x37fbc7 - } = _0x3b8bbe; - _0x3a681d(null, _0x5f6740, { - "statusCode": _0x2fc1ac, - "headers": _0x34d4ad, - "body": _0x37fbc7 - }); - }, _0x361920 => _0x3a681d(_0x361920));else { - if (this.isNode()) { - this.got = this.got ? this.got : require("got"); - const { - url: _0x325d9c, - ..._0xf7af76 - } = _0x1062b7; - this.instance = this.got.extend({ - "followRedirect": false - }); - this.instance[_0x528a53](_0x325d9c, _0xf7af76).then(_0x18383d => { - const { - statusCode: _0xf07db0, - request: _0x532d1a, - headers: _0x1dc0d4, - body: _0x4984e8 - } = _0x18383d; - _0x3a681d(null, _0x532d1a, { - "statusCode": _0xf07db0, - "headers": _0x1dc0d4, - "body": _0x4984e8 - }); - }, _0x2e49ed => { - const { - message: _0x2df36f, - request: _0x5340cf, - response: _0xdeebdf - } = _0x2e49ed; - _0x3a681d(_0x2df36f, _0x5340cf, _0xdeebdf); - }); - } - } - } - } - } - ["time"](_0x4ddd19, _0x3d004a = null) { - { - let _0x3d0303 = _0x3d004a ? new Date(_0x3d004a) : new Date(), - _0x1c5845 = { - "M+": _0x3d0303.getMonth() + 1, - "d+": _0x3d0303.getDate(), - "h+": _0x3d0303.getHours(), - "m+": _0x3d0303.getMinutes(), - "s+": _0x3d0303.getSeconds(), - "q+": Math.floor((_0x3d0303.getMonth() + 3) / 3), - "S": _0x3d0303.getMilliseconds() - }; - /(y+)/.test(_0x4ddd19) && (_0x4ddd19 = _0x4ddd19.replace(RegExp.$1, (_0x3d0303.getFullYear() + "").substr(4 - RegExp.$1.length))); - for (let _0x4df8e7 in _0x1c5845) new RegExp("(" + _0x4df8e7 + ")").test(_0x4ddd19) && (_0x4ddd19 = _0x4ddd19.replace(RegExp.$1, 1 == RegExp.$1.length ? _0x1c5845[_0x4df8e7] : ("00" + _0x1c5845[_0x4df8e7]).substr(("" + _0x1c5845[_0x4df8e7]).length))); - return _0x4ddd19; - } - } - async ["showmsg"]() { - { - if (!this.notifyStr) return; - let _0x3d3a83 = this.name + " 运行通知\n\n" + this.notifyStr; - if (_0x3065e9.isNode()) { - { - var _0x3a245e = require("../sendNotify"); - console.log("\n============== 推送 =============="); - await _0x3a245e.sendNotify(this.name, _0x3d3a83); - } - } else this.msg(_0x3d3a83); - } - } - ["logAndNotify"](_0x58012f) { - console.log(_0x58012f); - this.notifyStr += _0x58012f; - this.notifyStr += "\n"; - } - ["logAndNotifyWithTime"](_0xeaf4b1) { - let _0x414567 = "[" + this.time("hh:mm:ss.S") + "]" + _0xeaf4b1; - console.log(_0x414567); - this.notifyStr += _0x414567; - this.notifyStr += "\n"; - } - ["logWithTime"](_0x5291da) { - console.log("[" + this.time("hh:mm:ss.S") + "]" + _0x5291da); - } - ["msg"](_0x51fea4 = t, _0x215cb5 = "", _0x474402 = "", _0x42a5dd) { - const _0x3d6f7a = _0x163e67 => { - { - if (!_0x163e67) return _0x163e67; - if ("string" == typeof _0x163e67) return this.isLoon() ? _0x163e67 : this.isQuanX() ? { - "open-url": _0x163e67 - } : this.isSurge() ? { - "url": _0x163e67 - } : undefined; - if ("object" == typeof _0x163e67) { - if (this.isLoon()) { - let _0x2d5c4a = _0x163e67.openUrl || _0x163e67.url || _0x163e67["open-url"], - _0x12a18e = _0x163e67.mediaUrl || _0x163e67["media-url"]; - return { - "openUrl": _0x2d5c4a, - "mediaUrl": _0x12a18e - }; - } - if (this.isQuanX()) { - let _0x1e62a6 = _0x163e67["open-url"] || _0x163e67.url || _0x163e67.openUrl, - _0x5c34e8 = _0x163e67["media-url"] || _0x163e67.mediaUrl; - return { - "open-url": _0x1e62a6, - "media-url": _0x5c34e8 - }; - } - if (this.isSurge()) { - let _0x178770 = _0x163e67.url || _0x163e67.openUrl || _0x163e67["open-url"]; - return { - "url": _0x178770 - }; - } - } - } - }; - this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(_0x51fea4, _0x215cb5, _0x474402, _0x3d6f7a(_0x42a5dd)) : this.isQuanX() && $notify(_0x51fea4, _0x215cb5, _0x474402, _0x3d6f7a(_0x42a5dd))); - let _0x15ca2e = ["", "============== 系统通知 =============="]; - _0x15ca2e.push(_0x51fea4); - _0x215cb5 && _0x15ca2e.push(_0x215cb5); - _0x474402 && _0x15ca2e.push(_0x474402); - console.log(_0x15ca2e.join("\n")); - } - ["getMin"](_0x434bc7, _0x32c083) { - return _0x434bc7 < _0x32c083 ? _0x434bc7 : _0x32c083; - } - ["getMax"](_0x4d3798, _0x166dff) { - return _0x4d3798 < _0x166dff ? _0x166dff : _0x4d3798; - } - ["padStr"](_0x163393, _0x4fb87b, _0x56aecc = "0") { - { - let _0x5cdeb2 = String(_0x163393), - _0xd26033 = _0x4fb87b > _0x5cdeb2.length ? _0x4fb87b - _0x5cdeb2.length : 0, - _0x111cf7 = ""; - for (let _0x5ebe0b = 0; _0x5ebe0b < _0xd26033; _0x5ebe0b++) { - _0x111cf7 += _0x56aecc; - } - _0x111cf7 += _0x5cdeb2; - return _0x111cf7; - } - } - ["json2str"](_0x5eff15, _0x47bb6a, _0x2a6962 = false) { - let _0x59e08a = []; - for (let _0x4817da of Object.keys(_0x5eff15).sort()) { - { - let _0xf5e3d8 = _0x5eff15[_0x4817da]; - if (_0xf5e3d8 && _0x2a6962) _0xf5e3d8 = encodeURIComponent(_0xf5e3d8); - _0x59e08a.push(_0x4817da + "=" + _0xf5e3d8); - } - } - return _0x59e08a.join(_0x47bb6a); - } - ["str2json"](_0x31a48d, _0x36c2e8 = false) { - let _0x2cde0e = {}; - for (let _0x5b6e8d of _0x31a48d.split("&")) { - if (!_0x5b6e8d) continue; - let _0x5742d9 = _0x5b6e8d.indexOf("="); - if (_0x5742d9 == -1) continue; - let _0x2f6ff9 = _0x5b6e8d.substr(0, _0x5742d9), - _0x2f8540 = _0x5b6e8d.substr(_0x5742d9 + 1); - if (_0x36c2e8) _0x2f8540 = decodeURIComponent(_0x2f8540); - _0x2cde0e[_0x2f6ff9] = _0x2f8540; - } - return _0x2cde0e; - } - ["randomString"](_0x1826b2, _0x2926dc = "abcdef0123456789") { - let _0x11a90c = ""; - for (let _0x1ed771 = 0; _0x1ed771 < _0x1826b2; _0x1ed771++) { - _0x11a90c += _0x2926dc.charAt(Math.floor(Math.random() * _0x2926dc.length)); - } - return _0x11a90c; - } - ["randomList"](_0x3808ec) { - let _0x129ec9 = Math.floor(Math.random() * _0x3808ec.length); - return _0x3808ec[_0x129ec9]; - } - ["wait"](_0x41414e) { - return new Promise(_0x310013 => setTimeout(_0x310013, _0x41414e)); - } - ["done"](_0x5aad77 = {}) { - const _0x2634cb = new Date().getTime(), - _0x53d433 = (_0x2634cb - this.startTime) / 1000; - console.log("\n" + this.name + " 运行结束,共运行了 " + _0x53d433 + " 秒!"); - if (this.isSurge() || this.isQuanX() || this.isLoon()) $done(_0x5aad77); - } - }(_0x4038d3, _0x4c648e); -} \ No newline at end of file diff --git a/wxapp/海尔-卡萨帝.js b/wxapp/海尔-卡萨帝.js deleted file mode 100644 index 0a27c20..0000000 --- a/wxapp/海尔-卡萨帝.js +++ /dev/null @@ -1,570 +0,0 @@ -/** - * 海尔 - 卡萨帝小程序 签到、抽奖 - * cron 10 8 * * * 海尔-卡萨帝.js - * - * ========= 青龙--配置文件 =========== - * # 项目名称 - * export ksd='你抓包的UserToken#请求Body里的openId' - - * 自己抓包 /user/userCenter/saveUserSource请求协议头上的MK-U-User-Token - * 请求数据里的 openId - * 用 # 连接 - - * 多账号换行或&隔开 - - * 奖励:现金红包 - * - * ==================================== - * - */ -//Sat Jan 25 2025 08:32:06 GMT+0000 (Coordinated Universal Time) -//Base:https://github.com/echo094/decode-js -//Modify:https://github.com/smallfawn/decode_action -const $ = new Env("卡萨帝小程序"); -let envParams = "ksd", - envSplitor = ["\n", "&"], - authorizationToken = ($.isNode() ? process.env[envParams] : $.getdata(envParams)) || "", - initedJobForTokens = [], - currentUserIndex = 0, - contentType = "application/json;charset=UTF-8", - defaultUA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 MicroMessenger/7.0.20.1781(0x6700143B) NetType/WIFI MiniProgramEnv/Windows WindowsWechat/WMPF XWEB/6945", - Referer = "https://yx.jsh.com/game/signInIndex?employeeId=&playId=20"; -const https = require("https"); -class JobTask { - constructor(_0x55d5be) { - this.index = ++currentUserIndex; - this.points = 0; - this.valid = false; - try { - [this.activedAuthToken, this.openId] = _0x55d5be?.["split"]("#"); - } catch (_0x5cde09) { - this.activedAuthToken = _0x55d5be; - } - } - async ["taskApi"](_0x53ede5, _0x2127bc, _0x2c79b5, _0x31d84a, _0x232dd9 = {}) { - let _0x41e367 = null; - try { - let _0x235e01 = _0x2c79b5.replace("//", "/").split("/")[1], - _0x49cb17 = { - "url": _0x2c79b5, - "headers": { - "Accept": "application/json, text/plain, */*", - "Authorization": this.activedAuthToken, - "Host": _0x235e01, - "Connection": "keep-alive", - "Content-Type": contentType, - "User-Agent": defaultUA, - "Referer": Referer, - "MK-Source-Code": "casarte", - "MK-U-App-Code": "gUsb9sx0eXEdMuc", - "MK-U-User-Token": this.activedAuthToken, - ..._0x232dd9 - }, - "timeout": 60000 - }; - if (_0x31d84a) { - _0x49cb17.body = _0x31d84a; - } - await httpRequest(_0x2127bc, _0x49cb17).then(async _0x591ac9 => { - if (_0x591ac9.resp?.["statusCode"] == 200) { - _0x591ac9.resp?.["body"] ? _0x41e367 = JSON.parse(_0x591ac9.resp.body) : console.log("账号[" + this.index + "]调用" + _0x2127bc + "[" + _0x53ede5 + "]出错,返回为空"); - } else console.log("账号[" + this.index + "]调用" + _0x2127bc + "[" + _0x53ede5 + "]出错,返回状态码[" + (_0x591ac9.resp?.["statusCode"] || "") + "]"); - }); - } catch (_0x38b370) { - console.log(_0x38b370); - } finally { - return Promise.resolve(_0x41e367); - } - } - async ["GetUserInfo"]() { - try { - { - let _0x1ed441 = "GetUserInfo", - _0x201f80 = "post", - _0x5e3710 = "https://mk-gift.haier.net/qy/customer/api/redEnvelope/queryRedEnvelopeWallet", - _0x5ade36 = "{\"redSource\":\"\"}"; - await this.taskApi(_0x1ed441, _0x201f80, _0x5e3710, _0x5ade36, { - "Content-Type": "application/json" - }).then(async _0x29ca70 => { - console.log("result:", _0x29ca70); - _0x29ca70.code === 200 ? (this.valid = true, this.points = Number(_0x29ca70.data.cash_available), console.log("账号[" + this.index + "] 登录成功"), console.log("账号[" + this.index + "] 当前余额: " + this.points)) : $.logAndNotify("账号[" + this.index + "]查询余额失败,可能帐号无效"); - }); - } - } catch (_0x670981) { - console.log(_0x670981); - } finally { - return Promise.resolve(1); - } - } - async ["SignInDaily"]() { - try { - { - let _0x226da3 = "SignInDaily", - _0x79792e = "post", - _0xb36903 = "https://yx.jsh.com/customer/api/user/playingMethod/game/saveClockInInfoByUserId", - _0x541af5 = "{\"playId\":\"20\",\"employeeId\":\"\",\"mobile\":\"\",\"openId\":\"" + this.openId + "\",\"parentUserId\":\"\",\"userId\":\"\"}"; - await this.taskApi(_0x226da3, _0x79792e, _0xb36903, _0x541af5).then(async _0x25b135 => { - console.log("result:", _0x25b135); - _0x25b135.code === 200 ? (console.log("账号[" + this.index + "] 签到成功,获得" + _0x25b135.data / 100 + "元"), _0x25b135.data && (this.points += _0x25b135.data / 100)) : console.log("账号[" + this.index + "] 签到失败:" + _0x25b135?.["message"]); - }); - } - } catch (_0x1aa259) { - console.log(_0x1aa259); - } finally { - return Promise.resolve(1); - } - } - async ["LuckDraw"]() { - try { - let _0x1bb47d = "LuckDraw", - _0x343437 = "post", - _0x46ba8d = "https://yx.jsh.com/customer/api/user/client/luckDraw", - _0x13a4ce = "{\"gameId\":\"174464962928279552\"}"; - await this.taskApi(_0x1bb47d, _0x343437, _0x46ba8d, _0x13a4ce).then(async _0x108d75 => { - { - console.log("result:", _0x108d75); - if (_0x108d75.code === 200) console.log("账号[" + this.index + "] 抽奖成功,获得" + _0x108d75.data?.["prizeName"] + "积分");else { - console.log("账号[" + this.index + "] 抽奖失败:" + _0x108d75?.["message"]); - } - } - }); - } catch (_0x5f4c99) { - console.log(_0x5f4c99); - } finally { - return Promise.resolve(1); - } - } - async ["TiXian"]() { - try { - { - let _0x5a32ee = "TiXian", - _0x46df13 = "post", - _0x4bbbc6 = "https://marketing-api.haier.net/api/marketing-assemble/api/cashcenter/user/wallet/withdrawalCash", - _0x3e492d = encodeURIComponent("data={\"type\":\"1\",\"withdrawFee\":\"" + this.points + "\"}&signData={\"key\":\"userRed100000003\",\"secret\":\"88800de360b7308cdba924b865507a92\"}"); - await this.taskApi(_0x5a32ee, _0x46df13, _0x4bbbc6, _0x3e492d, { - "Authorization": "Bearer " + this.activedAuthToken, - "Accept-Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7", - "Content-Type": "application/x-www-form-urlencoded", - "X-Requested-With": "com.tencent.mm", - "plantform-channel": "PLAT_FORM_WECHAT" - }).then(async _0x48a4c5 => { - _0x48a4c5.code === 200 ? console.log("账号[" + this.index + "] 提现成功,获得" + _0x48a4c5.data?.["prizeName"] + "现金") : console.log("账号[" + this.index + "] 提现失败:" + JSON.parse(_0x48a4c5)); - }); - } - } catch (_0x5dcea4) { - console.log(_0x5dcea4); - } finally { - return Promise.resolve(1); - } - } - async ["doTask"]() { - try { - console.log("\n============= 账号[" + this.index + "] 开始签到============="); - await this.SignInDaily(); - await waitSomeTime(); - await this.LuckDraw(); - console.log("\n----待提现的金额:", this.points); - this.points && !Number.isNaN(this.points) && this.points >= 1 && (await waitSomeTime(), await this.TiXian()); - } catch (_0x3b27c2) { - console.log(_0x3b27c2); - } - } -} -!(async () => { - if (typeof $request !== "undefined") { - await GetRewrite(); - } else { - { - if (!(await checkEnv())) return; - console.log("\n================ 开始执行 ================"); - for (let _0x37bc9f of initedJobForTokens) { - console.log("----------- 执行 第 [" + _0x37bc9f.index + "] 个账号 -----------"); - await _0x37bc9f.GetUserInfo(); - } - let _0x56f6f9 = initedJobForTokens.filter(_0x308e9f => _0x308e9f.valid); - if (initedJobForTokens.length > 0) { - console.log("\n================ 任务队列构建完毕 ================"); - for (let _0x22bb86 of _0x56f6f9) { - console.log("----------- 账号[" + _0x22bb86.index + "] -----------"); - await _0x22bb86.doTask(); - } - } - await $.showmsg(); - } - } -})().catch(_0x570c59 => console.log(_0x570c59)).finally(() => $.done()); -async function waitSomeTime(_0x395b52 = 3000) { - console.log("----------- 延迟 " + _0x395b52 / 1000 + " s,请稍等 -----------"); - return await new Promise(_0x203071 => setTimeout(_0x203071, _0x395b52)); -} -async function GetRewrite() {} -async function checkEnv() { - if (authorizationToken) { - { - let _0x15962f = envSplitor[0]; - for (let _0x3a119f of envSplitor) { - { - if (authorizationToken.indexOf(_0x3a119f) > -1) { - _0x15962f = _0x3a119f; - break; - } - } - } - for (let _0x167f1c of authorizationToken.split(_0x15962f)) { - { - if (_0x167f1c) initedJobForTokens.push(new JobTask(_0x167f1c)); - } - } - userCount = initedJobForTokens.length; - } - } else { - console.log("未找到 配置信息,请检查是否配置 变量:", envParams); - return; - } - console.log("共找到" + userCount + "个账号"); - return true; -} -async function httpRequest(_0x315fde, _0x43498a) { - httpErr = null; - httpReq = null; - httpResp = null; - return new Promise(_0x15e577 => { - $.send(_0x315fde, _0x43498a, async (_0x46ab79, _0x54af7f, _0x326c5c) => { - httpErr = _0x46ab79; - httpReq = _0x54af7f; - httpResp = _0x326c5c; - _0x15e577({ - "err": _0x46ab79, - "req": _0x54af7f, - "resp": _0x326c5c - }); - }); - }); -} -function Env(_0x145f6d, _0x2ad434) { - "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); - return new class { - constructor(_0x2c6ae3, _0x15c3de) { - { - this.name = _0x2c6ae3; - this.notifyStr = ""; - this.startTime = new Date().getTime(); - Object.assign(this, _0x15c3de); - console.log(this.name + " 开始运行:\n"); - } - } - ["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; - } - ["getdata"](_0x4fac12) { - let _0x34b166 = this.getval(_0x4fac12); - if (/^@/.test(_0x4fac12)) { - { - const [, _0x4a384a, _0x163012] = /^@(.*?)\.(.*?)$/.exec(_0x4fac12), - _0x4d5996 = _0x4a384a ? this.getval(_0x4a384a) : ""; - if (_0x4d5996) try { - const _0xea2094 = JSON.parse(_0x4d5996); - _0x34b166 = _0xea2094 ? this.lodash_get(_0xea2094, _0x163012, "") : _0x34b166; - } catch (_0x178f4b) { - _0x34b166 = ""; - } - } - } - return _0x34b166; - } - ["setdata"](_0x2f9735, _0x5a4907) { - { - let _0x1da6cb = false; - if (/^@/.test(_0x5a4907)) { - const [, _0x8150c9, _0x441dcb] = /^@(.*?)\.(.*?)$/.exec(_0x5a4907), - _0x31d092 = this.getval(_0x8150c9), - _0x2dc4c1 = _0x8150c9 ? "null" === _0x31d092 ? null : _0x31d092 || "{}" : "{}"; - try { - const _0x4cde78 = JSON.parse(_0x2dc4c1); - this.lodash_set(_0x4cde78, _0x441dcb, _0x2f9735); - _0x1da6cb = this.setval(JSON.stringify(_0x4cde78), _0x8150c9); - } catch (_0x39e26e) { - { - const _0x302ef5 = {}; - this.lodash_set(_0x302ef5, _0x441dcb, _0x2f9735); - _0x1da6cb = this.setval(JSON.stringify(_0x302ef5), _0x8150c9); - } - } - } else _0x1da6cb = this.setval(_0x2f9735, _0x5a4907); - return _0x1da6cb; - } - } - ["getval"](_0x17b0b5) { - return this.isSurge() || this.isLoon() ? $persistentStore.read(_0x17b0b5) : this.isQuanX() ? $prefs.valueForKey(_0x17b0b5) : this.isNode() ? (this.data = this.loaddata(), this.data[_0x17b0b5]) : this.data && this.data[_0x17b0b5] || null; - } - ["setval"](_0x1a4b9a, _0x5989f1) { - return this.isSurge() || this.isLoon() ? $persistentStore.write(_0x1a4b9a, _0x5989f1) : this.isQuanX() ? $prefs.setValueForKey(_0x1a4b9a, _0x5989f1) : this.isNode() ? (this.data = this.loaddata(), this.data[_0x5989f1] = _0x1a4b9a, this.writedata(), true) : this.data && this.data[_0x5989f1] || null; - } - ["send"](_0x390a5f, _0x55dfcf, _0x53ea18 = () => {}) { - { - if (_0x390a5f != "get" && _0x390a5f != "post" && _0x390a5f != "put" && _0x390a5f != "delete") { - { - console.log("无效的http方法:" + _0x390a5f); - return; - } - } - if (_0x390a5f == "get" && _0x55dfcf.headers) delete _0x55dfcf.headers["Content-Type"], delete _0x55dfcf.headers["Content-Length"];else { - if (_0x55dfcf.body && _0x55dfcf.headers) { - { - if (!_0x55dfcf.headers["Content-Type"]) _0x55dfcf.headers["Content-Type"] = "application/x-www-form-urlencoded"; - } - } - } - if (this.isSurge() || this.isLoon()) { - { - if (this.isSurge() && this.isNeedRewrite) { - _0x55dfcf.headers = _0x55dfcf.headers || {}; - Object.assign(_0x55dfcf.headers, { - "X-Surge-Skip-Scripting": false - }); - } - let _0x41a6ce = { - "method": _0x390a5f, - "url": _0x55dfcf.url, - "headers": _0x55dfcf.headers, - "timeout": _0x55dfcf.timeout, - "data": _0x55dfcf.body - }; - if (_0x390a5f == "get") delete _0x41a6ce.data; - $axios(_0x41a6ce).then(_0x33377e => { - { - const { - status: _0x2065f2, - request: _0x23f3a5, - headers: _0x4e5d89, - data: _0xd40200 - } = _0x33377e; - _0x53ea18(null, _0x23f3a5, { - "statusCode": _0x2065f2, - "headers": _0x4e5d89, - "body": _0xd40200 - }); - } - }).catch(_0x30a337 => console.log(_0x30a337)); - } - } else { - if (this.isQuanX()) { - _0x55dfcf.method = _0x390a5f.toUpperCase(); - this.isNeedRewrite && (_0x55dfcf.opts = _0x55dfcf.opts || {}, Object.assign(_0x55dfcf.opts, { - "hints": false - })); - $task.fetch(_0x55dfcf).then(_0x4fc46b => { - { - const { - statusCode: _0x3adacc, - request: _0x4c9fac, - headers: _0x465d4c, - body: _0x1c0160 - } = _0x4fc46b; - _0x53ea18(null, _0x4c9fac, { - "statusCode": _0x3adacc, - "headers": _0x465d4c, - "body": _0x1c0160 - }); - } - }, _0x39ac1f => _0x53ea18(_0x39ac1f)); - } else { - if (this.isNode()) { - this.got = this.got ? this.got : require("got"); - const { - url: _0x17922a, - ..._0x2092f9 - } = _0x55dfcf; - this.instance = this.got.extend({ - "followRedirect": false - }); - this.instance[_0x390a5f](_0x17922a, _0x2092f9).then(_0x36703e => { - const { - statusCode: _0x23a6f5, - request: _0xc061b3, - headers: _0x1e25f8, - body: _0x15c804 - } = _0x36703e; - _0x53ea18(null, _0xc061b3, { - "statusCode": _0x23a6f5, - "headers": _0x1e25f8, - "body": _0x15c804 - }); - }, _0x2b4fca => { - { - const { - message: _0x5baa3b, - request: _0x1400de, - response: _0x20be40 - } = _0x2b4fca; - _0x53ea18(_0x5baa3b, _0x1400de, _0x20be40); - } - }); - } - } - } - } - } - ["time"](_0x518b14, _0x4cec02 = null) { - let _0x91d015 = _0x4cec02 ? new Date(_0x4cec02) : new Date(), - _0xc32e0 = { - "M+": _0x91d015.getMonth() + 1, - "d+": _0x91d015.getDate(), - "h+": _0x91d015.getHours(), - "m+": _0x91d015.getMinutes(), - "s+": _0x91d015.getSeconds(), - "q+": Math.floor((_0x91d015.getMonth() + 3) / 3), - "S": _0x91d015.getMilliseconds() - }; - /(y+)/.test(_0x518b14) && (_0x518b14 = _0x518b14.replace(RegExp.$1, (_0x91d015.getFullYear() + "").substr(4 - RegExp.$1.length))); - for (let _0x74d676 in _0xc32e0) new RegExp("(" + _0x74d676 + ")").test(_0x518b14) && (_0x518b14 = _0x518b14.replace(RegExp.$1, 1 == RegExp.$1.length ? _0xc32e0[_0x74d676] : ("00" + _0xc32e0[_0x74d676]).substr(("" + _0xc32e0[_0x74d676]).length))); - return _0x518b14; - } - async ["showmsg"]() { - if (!this.notifyStr) return; - let _0x49b71e = this.name + " 运行通知\n\n" + this.notifyStr; - if ($.isNode()) { - var _0x15c32f = require("../sendNotify"); - console.log("\n============== 推送 =============="); - await _0x15c32f.sendNotify(this.name, _0x49b71e); - } else this.msg(_0x49b71e); - } - ["logAndNotify"](_0x411ee5) { - console.log(_0x411ee5); - this.notifyStr += _0x411ee5; - this.notifyStr += "\n"; - } - ["logAndNotifyWithTime"](_0x265752) { - { - let _0x29cff9 = "[" + this.time("hh:mm:ss.S") + "]" + _0x265752; - console.log(_0x29cff9); - this.notifyStr += _0x29cff9; - this.notifyStr += "\n"; - } - } - ["logWithTime"](_0x35d90e) { - console.log("[" + this.time("hh:mm:ss.S") + "]" + _0x35d90e); - } - ["msg"](_0x36b3bc = t, _0x277707 = "", _0x416e8b = "", _0x487038) { - const _0x1a3fa6 = _0x4e2159 => { - { - if (!_0x4e2159) return _0x4e2159; - if ("string" == typeof _0x4e2159) return this.isLoon() ? _0x4e2159 : this.isQuanX() ? { - "open-url": _0x4e2159 - } : this.isSurge() ? { - "url": _0x4e2159 - } : undefined; - if ("object" == typeof _0x4e2159) { - { - if (this.isLoon()) { - { - let _0x1d32d6 = _0x4e2159.openUrl || _0x4e2159.url || _0x4e2159["open-url"], - _0x1c6203 = _0x4e2159.mediaUrl || _0x4e2159["media-url"]; - return { - "openUrl": _0x1d32d6, - "mediaUrl": _0x1c6203 - }; - } - } - if (this.isQuanX()) { - let _0x5a7300 = _0x4e2159["open-url"] || _0x4e2159.url || _0x4e2159.openUrl, - _0x425900 = _0x4e2159["media-url"] || _0x4e2159.mediaUrl; - return { - "open-url": _0x5a7300, - "media-url": _0x425900 - }; - } - if (this.isSurge()) { - let _0x40d0df = _0x4e2159.url || _0x4e2159.openUrl || _0x4e2159["open-url"]; - return { - "url": _0x40d0df - }; - } - } - } - } - }; - this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(_0x36b3bc, _0x277707, _0x416e8b, _0x1a3fa6(_0x487038)) : this.isQuanX() && $notify(_0x36b3bc, _0x277707, _0x416e8b, _0x1a3fa6(_0x487038))); - let _0x32161e = ["", "============== 系统通知 =============="]; - _0x32161e.push(_0x36b3bc); - _0x277707 && _0x32161e.push(_0x277707); - _0x416e8b && _0x32161e.push(_0x416e8b); - console.log(_0x32161e.join("\n")); - } - ["getMin"](_0x3e6cad, _0x1ce183) { - return _0x3e6cad < _0x1ce183 ? _0x3e6cad : _0x1ce183; - } - ["getMax"](_0x939b39, _0xc0287e) { - return _0x939b39 < _0xc0287e ? _0xc0287e : _0x939b39; - } - ["padStr"](_0x371ca0, _0x558a10, _0x50b7d9 = "0") { - let _0x23ddbe = String(_0x371ca0), - _0x5c77da = _0x558a10 > _0x23ddbe.length ? _0x558a10 - _0x23ddbe.length : 0, - _0x41ed35 = ""; - for (let _0x232913 = 0; _0x232913 < _0x5c77da; _0x232913++) { - _0x41ed35 += _0x50b7d9; - } - _0x41ed35 += _0x23ddbe; - return _0x41ed35; - } - ["json2str"](_0x3344e, _0x14c262, _0x39f0d1 = false) { - let _0x41049d = []; - for (let _0x59f8b1 of Object.keys(_0x3344e).sort()) { - let _0x492abf = _0x3344e[_0x59f8b1]; - if (_0x492abf && _0x39f0d1) _0x492abf = encodeURIComponent(_0x492abf); - _0x41049d.push(_0x59f8b1 + "=" + _0x492abf); - } - return _0x41049d.join(_0x14c262); - } - ["str2json"](_0x27a7e5, _0x562ec0 = false) { - { - let _0x21bc24 = {}; - for (let _0x5a43be of _0x27a7e5.split("&")) { - if (!_0x5a43be) continue; - let _0x16b706 = _0x5a43be.indexOf("="); - if (_0x16b706 == -1) continue; - let _0x5c1005 = _0x5a43be.substr(0, _0x16b706), - _0x5bd991 = _0x5a43be.substr(_0x16b706 + 1); - if (_0x562ec0) _0x5bd991 = decodeURIComponent(_0x5bd991); - _0x21bc24[_0x5c1005] = _0x5bd991; - } - return _0x21bc24; - } - } - ["randomString"](_0x3fd6b4, _0x227d42 = "abcdef0123456789") { - { - let _0x4a0db9 = ""; - for (let _0x11b627 = 0; _0x11b627 < _0x3fd6b4; _0x11b627++) { - _0x4a0db9 += _0x227d42.charAt(Math.floor(Math.random() * _0x227d42.length)); - } - return _0x4a0db9; - } - } - ["randomList"](_0x3ac336) { - { - let _0x5b9b88 = Math.floor(Math.random() * _0x3ac336.length); - return _0x3ac336[_0x5b9b88]; - } - } - ["wait"](_0x3e1e6c) { - return new Promise(_0x342340 => setTimeout(_0x342340, _0x3e1e6c)); - } - ["done"](_0x39fc39 = {}) { - { - const _0x43cece = new Date().getTime(), - _0x11ce01 = (_0x43cece - this.startTime) / 1000; - console.log("\n" + this.name + " 运行结束,共运行了 " + _0x11ce01 + " 秒!"); - if (this.isSurge() || this.isQuanX() || this.isLoon()) $done(_0x39fc39); - } - } - }(_0x145f6d, _0x2ad434); -} \ No newline at end of file