Continue seeded Qinglong script collection
This commit is contained in:
464
脚本库/微信小程序/抓包版/多合一账号失效检测/2025-04-28_sudojia_authCheck_8a73edf8.js
Normal file
464
脚本库/微信小程序/抓包版/多合一账号失效检测/2025-04-28_sudojia_authCheck_8a73edf8.js
Normal file
@@ -0,0 +1,464 @@
|
||||
// # Source: https://github.com/sudojia/AutoTaskScript/blob/script/src/other/sudojia_authCheck.js
|
||||
// # Raw: https://raw.githubusercontent.com/sudojia/AutoTaskScript/script/src/other/sudojia_authCheck.js
|
||||
// # Repo: sudojia/AutoTaskScript
|
||||
// # Path: src/other/sudojia_authCheck.js
|
||||
// # UploadedAt: 2025-04-28T19:26:13+08:00
|
||||
// # SHA256: 8a73edf83b124c7f50ae534f4d472a9694a2899547eff0f426935ecfc498077c
|
||||
// # Category: 微信小程序/抓包版
|
||||
// # Evidence: appid/openid/session_key/encryptedData等小程序字段
|
||||
//
|
||||
|
||||
/**
|
||||
* 检测现有脚本仓库(https://github.com/sudojia/AutoTaskScript)凭证(Token、Cookie)等是否失效
|
||||
* 目前只推送失效的账号,每天跑两次即可,没有推送消息就说明没有账号失效
|
||||
* 默认关闭,如需启用设置变量为 true
|
||||
* export ENABLE_CHECK_TOKEN = 'true'
|
||||
*
|
||||
* @author Telegram@sudojia
|
||||
* @site https://blog.imzjw.cn
|
||||
* @date 2024/09/24
|
||||
*
|
||||
* const $ = new Env('多合一账号失效检测')
|
||||
* cron: 10 12,21 * * *
|
||||
*/
|
||||
const initScript = require('../utils/initScript')
|
||||
const {$, notify, sudojia} = initScript('多合一账号失效检测');
|
||||
const cheerio = require("cheerio");
|
||||
const crypto = require("crypto");
|
||||
// 消息推送
|
||||
let message = '';
|
||||
// 环境变量
|
||||
const enableCheckToken = process.env.ENABLE_CHECK_TOKEN || false;
|
||||
// 账号列表
|
||||
const accounts = [
|
||||
{
|
||||
name: '所有女生',
|
||||
list: process.env.ALL_GIRLS_TOKEN ? process.env.ALL_GIRLS_TOKEN.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const data = await sudojia.sendRequest(`https://7.wawo.cc/api/account/wx/member/base`, 'get', createHeaders('wx_mini', `authorization@bearer ${token}`, 'Content-Type@application/json', 'referer@https://servicewechat.com/wx7d1403fe84339669/1076/page-frame.html'));
|
||||
return '000' !== data.code || !data.data;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '安慕希',
|
||||
list: process.env.AMX_TOKEN ? process.env.AMX_TOKEN.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const data = await sudojia.sendRequest(`https://amxshop.yili.com/api/user/getUser`, 'get', createHeaders('wx_mini', `accesstoken@${token}`, 'Content-Type@application/x-www-form-urlencoded', 'referer@https://servicewechat.com/wxf2a6206f7e2fd712/666/page-frame.html'));
|
||||
return '未登陆或登陆超时' === data.msg || !data.data;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '霸王茶姬',
|
||||
list: process.env.BW_TEA_TOKEN ? process.env.BW_TEA_TOKEN.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
token = token.split('#')[0];
|
||||
const data = await sudojia.sendRequest(`https://webapi2.qmai.cn/web/catering2-apiserver/crm/customer-center?appid=wxafec6f8422cb357b`, 'get', createHeaders('wx_mini', `qm-user-token@${token}`, 'Content-Type@application/json', 'qm-from@wechat'));
|
||||
return !data.status;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '飞牛私有云',
|
||||
list: process.env.FN_NAS_COOKIE ? process.env.FN_NAS_COOKIE.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const data = await sudojia.sendRequest(`https://club.fnnas.com`, 'get', createHeaders('PC', `Cookie@${token}`, 'Accept-Encoding@gzip, deflate, br, zstd'));
|
||||
const $ = cheerio.load(data);
|
||||
const uid = $('a', '.icon_msg').attr('href').match(/uid=(\d+)/)[1];
|
||||
return 0 > uid;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '国乐酱酒',
|
||||
list: process.env.GYJ_TOKEN ? process.env.GYJ_TOKEN.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const data = await sudojia.sendRequest(`https://member.guoyuejiu.com/api/user/info`, 'get', createHeaders('wx_mini', `Authorization@${token}`, 'Content-Type@application/json', 'Host@member.guoyuejiu.com', 'referer@https://servicewechat.com/wxeff120e4d11594c0/72/page-frame.html'));
|
||||
return 1011 === data.code;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '厚工坊',
|
||||
list: process.env.HGF_COOKIE ? process.env.HGF_COOKIE.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const data = await sudojia.sendRequest(`https://api.hgf1862.com/YUN//Game/2021/QianDao/QianDaoAjax_By28.aspx?op=now&vers=`, 'post', createHeaders('wx_mini', `Cookie@user=SessionID=${token}`, 'Accept@application/json, text/javascript, */*; q=0.01'));
|
||||
return -10000 === data.status;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '海澜之家-游戏',
|
||||
list: process.env.HLZJ_UNID ? process.env.HLZJ_UNID.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const data = await sudojia.sendRequest(`https://gmdevpro.hlzjppgl.cn/server/api/authorized-login`, 'post', createHeaders('wx_mini', `Cookie@user=SessionID=${token}`, 'Content-Type@application/json', 'Host@gmdevpro.hlzjppgl.cn'), {
|
||||
"union_id": token,
|
||||
"invite_user_id": "78630"
|
||||
});
|
||||
return 200 !== data.code || !data.data.token;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '媓钻护肤品',
|
||||
list: process.env.HZHFP_TOKEN ? process.env.HZHFP_TOKEN.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const headers = createHeaders(
|
||||
'wx_mini',
|
||||
`Authorization@Bearer ${token}`,
|
||||
'Content-Type@application/json;charset=UTF-8',
|
||||
'Host@api.hzyxhfp.com',
|
||||
'referer@https://servicewechat.com/wx3df7476c42cace5d/377/page-frame.html',
|
||||
'app@wx3df7476c42cace5d',
|
||||
);
|
||||
const data = await sudojia.sendRequest(`https://api.hzyxhfp.com/api/users/getUserDetailInfo`, 'post', headers);
|
||||
return 0 !== data.code || !data.data;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '玩拍由我俱乐部',
|
||||
list: process.env.INSTAX_TOKEN ? process.env.INSTAX_TOKEN.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
token = token.split('#')[0];
|
||||
const data = await sudojia.sendRequest(`https://instax.app.xcxd.net.cn/api/me`, 'get', createHeaders('wx_mini', `Authorization@Bearer ${token}`, 'Content-Type@application/json', 'Host@instax.app.xcxd.net.cn', 'referer@https://servicewechat.com/wx3cb572fbf3aa30c8/136/page-frame.html'));
|
||||
return data.error || !data.data;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '金典有机生活+',
|
||||
list: process.env.JINDIAN_TOKEN ? process.env.JINDIAN_TOKEN.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const data = await sudojia.sendRequest(`https://msmarket.msx.digitalyili.com/gateway/api/auth/account/user/info`, 'get', createHeaders('wx_mini', `access-token@${token}`, 'Content-Type@application/json', 'referer@https://servicewechat.com/wxf32616183fb4511e/616/page-frame.html'));
|
||||
return !data.status || !data.data.userId;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '嘉立创',
|
||||
list: process.env.JLC_TOKEN ? process.env.JLC_TOKEN.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const data = await sudojia.sendRequest(`https://m.jlc.com/api/appPlatform/center/setting/selectPersonalInfo`, 'get', createHeaders('PC', `x-jlc-accesstoken@${token}`, 'x-jlc-clienttype@WEB', 'accept@application/json, text/plain, */*', 'referer@https://m.jlc.com/mapp/pages/my/index'), '');
|
||||
return 200 !== data.code || !data.data.customerLinkPhone
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '植白说官方商城',
|
||||
list: process.env.KOZBS_TOKEN ? process.env.KOZBS_TOKEN.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const data = await sudojia.sendRequest(`https://www.kozbs.com/demo/wx/user/getUserIntegral`, 'get', createHeaders('wx_mini', `x-dts-token@${token}`, 'Content-Type@application/json', 'referer@https://servicewechat.com/wx6b6c5243359fe265/153/page-frame.html'));
|
||||
return '无效用户' === data.errmsg || 0 !== data.errno;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '开天工作室',
|
||||
list: process.env.KTGZS_TOKEN ? process.env.KTGZS_TOKEN.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const data = await sudojia.sendRequest(`https://api.box.vipinfinity.com/user`, 'get', createHeaders('wx_mini', `Authorization@${token}`, 'Client-Name@default', 'Content-Type@application/json', 'Client-Type@wechat--miniapp-windows', 'Host@api.box.vipinfinity.com', 'referer@https://servicewechat.com/wxa1ff7cf5ddff1da2/9/page-frame.html'));
|
||||
return 0 !== data.code || !data.data.user;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '库街区',
|
||||
list: process.env.KURO_TOKEN ? process.env.KURO_TOKEN.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
$.source = 'h5';
|
||||
let data = await sudojia.sendRequest(`https://api.kurobbs.com/gamer/widget/game3/refresh`, 'post', {
|
||||
"source": $.source,
|
||||
'token': token,
|
||||
}, `type=2&sizeType=1`);
|
||||
if (220 === data.code) {
|
||||
$.source = 'android';
|
||||
await $.wait(sudojia.getRandomWait(1000, 1500));
|
||||
data = await sudojia.sendRequest(`https://api.kurobbs.com/gamer/widget/game3/refresh`, 'post', {
|
||||
"source": $.source,
|
||||
'token': token,
|
||||
}, `type=2&sizeType=1`);
|
||||
return 220 === data.code || !data.data;
|
||||
}
|
||||
return 220 === data.code || !data.data;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '老板电器服务微商城',
|
||||
list: process.env.LAOBAN_OPENID ? process.env.LAOBAN_OPENID.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const data = await sudojia.sendRequest(`https://vip.foxech.com/index.php/api/member/get_member_info`, 'post', createHeaders('wx_mini', 'Content-Type@application/json', 'referer@https://servicewechat.com/wxc8c90950cf4546f6/157/page-frame.html'), getLaoBanToken(token));
|
||||
return '200' !== data.code || !data.data;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '龙湖天街',
|
||||
list: process.env.LONG_FOR_TOKEN ? process.env.LONG_FOR_TOKEN.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const data = await sudojia.sendRequest(`https://gw2c-hw-open.longfor.com/riyuehu-miniapp-prod/service/ryh/user/info`, 'post', createHeaders('wx_mini', 'X-Gaia-Api-Key@646fce29-3a77-462a-aabe-0fe77bc3023f', `token@${token}`, 'Content-Type@application/json'), {
|
||||
"data": {
|
||||
"projectId": "B379F9F1-C176-4925-B6F6-92555AC62E61"
|
||||
}
|
||||
});
|
||||
return 10000 !== data.code || !data.data;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '欣都龙城',
|
||||
list: process.env.MALLCOO_TOKEN ? process.env.MALLCOO_TOKEN.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const data = await sudojia.sendRequest(`https://m.mallcoo.cn/api/user/user/GetUserAndMallCard`, 'post', createHeaders('wx_mini', 'Content-Type@application/json', 'referer@https://servicewechat.com/wx7ef63cf605a639fb/18/page-frame.html'), {
|
||||
"MallId": 10144,
|
||||
"Header": {
|
||||
"Token": token,
|
||||
"systemInfo": {
|
||||
"model": "microsoft",
|
||||
"SDKVersion": "3.5.0",
|
||||
"system": "Windows 11 x64",
|
||||
"version": "3.9.10",
|
||||
"miniVersion": "2.67.7"
|
||||
}
|
||||
}
|
||||
});
|
||||
return 1 !== data.m || 320 === data.m;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '馬伍旺饮料厂',
|
||||
list: process.env.MAWUW_TOKEN ? process.env.MAWUW_TOKEN.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
token = token.split('#')[0];
|
||||
const data = await sudojia.sendRequest(`https://webapi.qmai.cn/web/catering/crm/customer-center?appid=wxc1381dc6f2213b72`, 'get', createHeaders('wx_mini', `qm-user-token@${token}`, 'Content-Type@application/json', 'qm-from@wechat'));
|
||||
return !data.status || !data.data;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '美的会员',
|
||||
list: process.env.MIDEA_COOKIE ? process.env.MIDEA_COOKIE.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const data = await sudojia.sendRequest(`https://mvip.midea.cn/next/mucuserinfo/getmucuserinfo`, 'get', createHeaders('wx_mini', `Cookie@${token}`, 'Content-Type@application/json', 'referer@https://servicewechat.com/wx03925a39ca94b161/437/page-frame.html'));
|
||||
return 0 !== data.errcode || !data.data.userinfo;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '摩托范',
|
||||
list: process.env.MOTO_TOKEN ? process.env.MOTO_TOKEN.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const [ck, uid] = token.split('#')
|
||||
const headers = createHeaders(
|
||||
'H5',
|
||||
`token@${ck}`,
|
||||
'Content-Type@application/x-www-form-urlencoded',
|
||||
'referer@api.58moto.com',
|
||||
`timestamp@${Date.now()}`,
|
||||
'version@3.57.63'
|
||||
);
|
||||
const data = await sudojia.sendRequest(`https://api.58moto.com/user/center/info/v2/principal`, 'post', headers, `uid=${uid}`);
|
||||
return 0 !== data.code || !data.data.mobile
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '南方航空',
|
||||
list: process.env.NFHK_COOKIE ? process.env.NFHK_COOKIE.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const data = await sudojia.sendRequest(`https://wxapi.csair.com/marketing-tools/activity/join?type=APPTYPE&chanel=ss&lang=zh`, 'post', createHeaders('wx_mini', `Cookie@${[`sign_user_token=${token}`, `TOKEN=${token}`, `cs1246643sso=${token}`,].join('; ')}`, 'User-Agent@okhttp/3.12.1;jdmall;android;version/10.3.4;build/92451;', 'Content-Type@application/json'), {
|
||||
"activityType": "sign",
|
||||
"channel": "app",
|
||||
"entrance": 1,
|
||||
});
|
||||
return 'S00011' === data.respCode || !data.data;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '胖哥俩肉蟹煲',
|
||||
list: process.env.PANG_GE_TOKEN ? process.env.PANG_GE_TOKEN.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const headers = createHeaders(
|
||||
'wx_mini',
|
||||
'deviceWidth@400',
|
||||
'Host@saash5.namek.com.cn',
|
||||
'tenantId@24',
|
||||
'Accept@*/*',
|
||||
'Content-Type@application/json;charset=UTF-8',
|
||||
'Accept-Encoding@gzip, deflate, br',
|
||||
'referer@https://servicewechat.com/wxe61905cae01a6c7d/67/page-frame.html',
|
||||
'clientVersion@3.2.0',
|
||||
`timestamp@${Date.now()}`,
|
||||
`token@${token}`
|
||||
)
|
||||
const data = await sudojia.sendRequest(`https://saash5.namek.com.cn//api/v1/member/personal?shopId=24`, 'get', headers);
|
||||
return !data.body.member;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '皮皮世界',
|
||||
list: process.env.PPX_COOKIE ? process.env.PPX_COOKIE.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const data = await sudojia.sendRequest(`https://api.pipix.com/bds/user/user_profile/`, 'get', createHeaders('H5', 'Accept-Encoding@gzip', 'host@api.pipix.com', `Cookie@sessionid=${token}`), {});
|
||||
return 11002 === data.status_code || 'no_login' === data.message;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '水费易签到',
|
||||
list: process.env.SHUI_FEI_COOKIE ? process.env.SHUI_FEI_COOKIE.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const [cookie, mId] = token.split('#');
|
||||
const data = await sudojia.sendRequest(`https://m.ipaiyun.cn/PersonalCenter/PersonalCenter/GetShopMemberDetail`, 'post', createHeaders('PC', `Cookie@${cookie}`, 'Accept@*/*', 'referer@https://m.ipaiyun.cn/Ipai/Home/Index?code=031sLtFa11eBTH0d0uFa1NqtY53sLtFQ&state=wxbe5b7a2bc0467240', 'Content-Type@application/x-www-form-urlencoded; charset=UTF-8'), `memberId=${mId}`);
|
||||
return 0 !== data.code || !data.resultJson.meberinfo;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '特步会员中心',
|
||||
list: process.env.TEBU_JSON ? process.env.TEBU_JSON.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const headers = createHeaders('wx_mini', 'ezr-source@weapp', 'content-type@application/json', 'referer@https://servicewechat.com/wx12e1cb3b09a0e6f0/121/page-frame.html')
|
||||
for (const [key, value] of Object.entries(JSON.parse(token))) {
|
||||
headers[key] = value;
|
||||
}
|
||||
const data = await sudojia.sendRequest(`https://wxa-tp.ezrpro.com/myvip/FamilyCard/GetVipCardInfoByVipId`, 'get', headers);
|
||||
return 200 !== data.Status || !data.Result.VipInfo;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '贴吧签到',
|
||||
list: process.env.TIE_BA_COOKIE ? process.env.TIE_BA_COOKIE.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const headers = createHeaders('H5', 'Content-Type@application/x-www-form-urlencoded');
|
||||
const matchList = token.match(/BDUSS=([^;]+);?/);
|
||||
if (matchList) {
|
||||
headers.Cookie = `BDUSS=${matchList[1]}`;
|
||||
} else {
|
||||
headers.Cookie = `BDUSS=${token}`;
|
||||
}
|
||||
const data = await sudojia.sendRequest(`http://tieba.baidu.com/dc/common/tbs`, 'get', headers);
|
||||
return !data.tbs || 1 !== data.is_login;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '贴吧任务签到',
|
||||
list: process.env.TIE_BA_COOKIE ? process.env.TIE_BA_COOKIE.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const data = await sudojia.sendRequest(`https://tieba.baidu.com/mo/q/usergrowth/showUserGrowth?client_type=2&client_version=12.60.1.2`, 'get', createHeaders('H5', `Cookie@${token}`));
|
||||
return !data.data.tbs || !data.data.user;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'V2EX每日签到',
|
||||
list: process.env.V2EX_COOKIE ? process.env.V2EX_COOKIE.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const data = await sudojia.sendRequest('https://www.v2ex.com', 'get', createHeaders('PC', `Cookie@${token}`, 'Accept-Encoding@gzip, deflate, br', 'Accept@text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'));
|
||||
return !(data.indexOf('登出') > -1);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '心喜',
|
||||
list: process.env.XINXI_TOKEN ? process.env.XINXI_TOKEN.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const data = await sudojia.sendRequest('https://api.xinc818.com/mini/user', 'get', createHeaders('wx_mini', `sso@${token}`, 'Accept-Encoding@gzip, deflate, br', 'Content-Type@application/json', 'referer@https://servicewechat.com/wx673f827a4c2c94fa/276/page-frame.html'));
|
||||
return 40001 === data.code || !data.data.nickname;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '兴攀农场',
|
||||
list: process.env.XPFARM_TOKEN ? process.env.XPFARM_TOKEN.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const data = await sudojia.sendRequest('https://p.xpfarm.cn/treemp/user.PersonalCenter/getInfo', 'post', createHeaders('wx_mini', `authorization@${token}`, 'Accept-Encoding@gzip, deflate, br', 'Content-Type@application/json', 'referer@https://servicewechat.com/wx27e219ff3142b7c8/63/page-frame.html'));
|
||||
return 1000 !== data.code || !data.data.id;
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '智能电视',
|
||||
list: process.env.ZNDS_COOKIE ? process.env.ZNDS_COOKIE.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const data = await sudojia.sendRequest('https://www.znds.com/', 'post', createHeaders('PC', `Cookie@${token}`, 'Accept-Encoding@gzip, deflate, br', 'Content-Type@text/html; charset=utf-8', 'Accept@text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7'));
|
||||
return !(data.indexOf('退出') > -1);
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '甄稀冰淇淋',
|
||||
list: process.env.ZX_ICE_TOKEN ? process.env.ZX_ICE_TOKEN.split(/[\n&]/) : [],
|
||||
checkFn: async (token) => {
|
||||
const data = await sudojia.sendRequest('https://msmarket.msx.digitalyili.com/gateway/api/auth/account/user/info', 'get', createHeaders('wx_mini', `access-token@${token}`, 'Content-Type@application/json', 'referer@https://servicewechat.com/wx21fd8b5d6d4cf1ca/195/page-frame.html'));
|
||||
return !data.status || !data.data.userId;
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
!(async () => {
|
||||
if (!enableCheckToken) {
|
||||
console.log('\n如需执行,请先配置环境变量【ENABLE_CHECK_TOKEN】为 true');
|
||||
return;
|
||||
}
|
||||
for (const account of accounts) {
|
||||
if (!account.list.length) {
|
||||
console.log(`\n未配置${account.name}环境变量,跳过...`);
|
||||
await $.wait(sudojia.getRandomWait(500, 1000));
|
||||
continue;
|
||||
}
|
||||
let totalAccounts = account.list.length;
|
||||
let failedAccounts = 0;
|
||||
let failedIndices = [];
|
||||
for (let i = 0; i < totalAccounts; i++) {
|
||||
if (account.name === '贴吧任务签到') {
|
||||
if (!account.list[i].includes('CUID=')) {
|
||||
console.log('\n检测到贴吧任务签到变量缺少 CUID,将跳过...');
|
||||
continue;
|
||||
}
|
||||
}
|
||||
const index = i + 1;
|
||||
console.log(`\n${account.name}账号[${index}]`);
|
||||
const isLoginFailed = await checkAccount(account, account.list[i]);
|
||||
await $.wait(sudojia.getRandomWait(800, 1100));
|
||||
if (isLoginFailed) {
|
||||
console.error(`失效!❌`);
|
||||
failedAccounts++;
|
||||
failedIndices.push(index);
|
||||
} else {
|
||||
console.log(`有效!✅`);
|
||||
}
|
||||
}
|
||||
if (failedAccounts > 0) {
|
||||
message += `${account.name}\n`;
|
||||
message += `共计[${totalAccounts}]个账号\n`;
|
||||
message += `第[${failedIndices.join(', ')}]个账号失效\n\n`;
|
||||
message += `------------\n\n`;
|
||||
}
|
||||
}
|
||||
if (message) {
|
||||
await notify.sendNotify(`「${$.name}」`, `${message}`);
|
||||
} else {
|
||||
console.log('\n检测完毕,暂无失效账号!✅');
|
||||
}
|
||||
})().catch((e) => $.logErr(e)).finally(() => $.done());
|
||||
|
||||
async function checkAccount(account, token) {
|
||||
try {
|
||||
return await account.checkFn(token);
|
||||
} catch (e) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建请求头
|
||||
*
|
||||
* @param type
|
||||
* @param customHeaders
|
||||
*/
|
||||
function createHeaders(type, ...customHeaders) {
|
||||
const headers = {
|
||||
'User-Agent': sudojia.getRandomUserAgent(type),
|
||||
};
|
||||
customHeaders.forEach(customHeader => {
|
||||
const [key, value] = customHeader.split('@');
|
||||
if (key && value) {
|
||||
headers[key] = value;
|
||||
}
|
||||
});
|
||||
return headers;
|
||||
}
|
||||
|
||||
/**
|
||||
* 老板电器 token 获取
|
||||
*
|
||||
* @param openId
|
||||
* @returns {{openid, is_need_sync: number, timestamp: number, token: string}}
|
||||
*/
|
||||
function getLaoBanToken(openId) {
|
||||
const currentTimestampMs = Date.now();
|
||||
const rawString = `${currentTimestampMs}wqewq${openId}`;
|
||||
return {
|
||||
is_need_sync: 1,
|
||||
timestamp: currentTimestampMs,
|
||||
token: sudojia.md5(rawString),
|
||||
openid: openId
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user