mirror of
https://github.com/shufflewzc/faker2.git
synced 2025-04-23 02:48:44 +08:00
update
This commit is contained in:
parent
b88fd522e4
commit
2acf16aff7
321
function/TS_USER_AGENTS.ts
Normal file
321
function/TS_USER_AGENTS.ts
Normal file
@ -0,0 +1,321 @@
|
|||||||
|
import axios from "axios"
|
||||||
|
import {Md5} from "ts-md5"
|
||||||
|
import * as dotenv from "dotenv"
|
||||||
|
import {existsSync, readFileSync} from "fs"
|
||||||
|
import {sendNotify} from './sendNotify'
|
||||||
|
|
||||||
|
dotenv.config()
|
||||||
|
|
||||||
|
let fingerprint: string | number, token: string = '', enCryptMethodJD: any
|
||||||
|
|
||||||
|
const USER_AGENTS: Array<string> = [
|
||||||
|
"jdapp;android;10.0.2;10;network/wifi;Mozilla/5.0 (Linux; Android 10; ONEPLUS A5010 Build/QKQ1.191014.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36",
|
||||||
|
"jdapp;iPhone;10.0.2;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1",
|
||||||
|
"jdapp;android;10.0.2;9;network/4g;Mozilla/5.0 (Linux; Android 9; Mi Note 3 Build/PKQ1.181007.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045131 Mobile Safari/537.36",
|
||||||
|
"jdapp;android;10.0.2;10;network/wifi;Mozilla/5.0 (Linux; Android 10; GM1910 Build/QKQ1.190716.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36",
|
||||||
|
"jdapp;android;10.0.2;9;network/wifi;Mozilla/5.0 (Linux; Android 9; 16T Build/PKQ1.190616.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36",
|
||||||
|
"jdapp;iPhone;10.0.2;13.6;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1",
|
||||||
|
"jdapp;iPhone;10.0.2;13.6;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1",
|
||||||
|
"jdapp;iPhone;10.0.2;13.5;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1",
|
||||||
|
"jdapp;iPhone;10.0.2;14.1;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1",
|
||||||
|
"jdapp;iPhone;10.0.2;13.3;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 13_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1",
|
||||||
|
"jdapp;iPhone;10.0.2;13.7;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1",
|
||||||
|
"jdapp;iPhone;10.0.2;14.1;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1",
|
||||||
|
"jdapp;iPhone;10.0.2;13.3;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 13_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1",
|
||||||
|
"jdapp;iPhone;10.0.2;13.4;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 13_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1",
|
||||||
|
"jdapp;iPhone;10.0.2;14.3;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1",
|
||||||
|
"jdapp;android;10.0.2;9;network/wifi;Mozilla/5.0 (Linux; Android 9; MI 6 Build/PKQ1.190118.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36",
|
||||||
|
"jdapp;android;10.0.2;11;network/wifi;Mozilla/5.0 (Linux; Android 11; Redmi K30 5G Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045511 Mobile Safari/537.36",
|
||||||
|
"jdapp;iPhone;10.0.2;11.4;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 11_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15F79",
|
||||||
|
"jdapp;android;10.0.2;10;;network/wifi;Mozilla/5.0 (Linux; Android 10; M2006J10C Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36",
|
||||||
|
"jdapp;android;10.0.2;10;network/wifi;Mozilla/5.0 (Linux; Android 10; M2006J10C Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36",
|
||||||
|
"jdapp;android;10.0.2;10;network/wifi;Mozilla/5.0 (Linux; Android 10; ONEPLUS A6000 Build/QKQ1.190716.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045224 Mobile Safari/537.36",
|
||||||
|
"jdapp;android;10.0.2;9;network/wifi;Mozilla/5.0 (Linux; Android 9; MHA-AL00 Build/HUAWEIMHA-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36",
|
||||||
|
"jdapp;android;10.0.2;8.1.0;network/wifi;Mozilla/5.0 (Linux; Android 8.1.0; 16 X Build/OPM1.171019.026; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36",
|
||||||
|
"jdapp;android;10.0.2;8.0.0;network/wifi;Mozilla/5.0 (Linux; Android 8.0.0; HTC U-3w Build/OPR6.170623.013; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044942 Mobile Safari/537.36",
|
||||||
|
"jdapp;iPhone;10.0.2;14.0.1;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1",
|
||||||
|
"jdapp;android;10.0.2;10;network/wifi;Mozilla/5.0 (Linux; Android 10; LYA-AL00 Build/HUAWEILYA-AL00L; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36",
|
||||||
|
"jdapp;iPhone;10.0.2;14.2;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1",
|
||||||
|
"jdapp;iPhone;10.0.2;14.3;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1",
|
||||||
|
"jdapp;iPhone;10.0.2;14.2;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1",
|
||||||
|
"jdapp;android;10.0.2;8.1.0;network/wifi;Mozilla/5.0 (Linux; Android 8.1.0; MI 8 Build/OPM1.171019.026; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045131 Mobile Safari/537.36",
|
||||||
|
"jdapp;android;10.0.2;10;network/wifi;Mozilla/5.0 (Linux; Android 10; Redmi K20 Pro Premium Edition Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045227 Mobile Safari/537.36",
|
||||||
|
"jdapp;iPhone;10.0.2;14.3;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1",
|
||||||
|
"jdapp;iPhone;10.0.2;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1",
|
||||||
|
"jdapp;android;10.0.2;11;network/wifi;Mozilla/5.0 (Linux; Android 11; Redmi K20 Pro Premium Edition Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045513 Mobile Safari/537.36",
|
||||||
|
"jdapp;android;10.0.2;10;network/wifi;Mozilla/5.0 (Linux; Android 10; MI 8 Build/QKQ1.190828.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045227 Mobile Safari/537.36",
|
||||||
|
"jdapp;iPhone;10.0.2;14.1;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1",
|
||||||
|
]
|
||||||
|
|
||||||
|
function TotalBean(cookie: string) {
|
||||||
|
return {
|
||||||
|
cookie: cookie,
|
||||||
|
isLogin: true,
|
||||||
|
nickName: ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function getRandomNumberByRange(start: number, end: number) {
|
||||||
|
return Math.floor(Math.random() * (end - start) + start)
|
||||||
|
}
|
||||||
|
|
||||||
|
let USER_AGENT = USER_AGENTS[getRandomNumberByRange(0, USER_AGENTS.length)]
|
||||||
|
|
||||||
|
async function getBeanShareCode(cookie: string) {
|
||||||
|
let {data}: any = await axios.post('https://api.m.jd.com/client.action',
|
||||||
|
`functionId=plantBeanIndex&body=${encodeURIComponent(
|
||||||
|
JSON.stringify({version: "9.0.0.1", "monitor_source": "plant_app_plant_index", "monitor_refer": ""})
|
||||||
|
)}&appid=ld&client=apple&area=5_274_49707_49973&build=167283&clientVersion=9.1.0`, {
|
||||||
|
headers: {
|
||||||
|
Cookie: cookie,
|
||||||
|
Host: "api.m.jd.com",
|
||||||
|
Accept: "*/*",
|
||||||
|
Connection: "keep-alive",
|
||||||
|
"User-Agent": USER_AGENT
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (data.data?.jwordShareInfo?.shareUrl)
|
||||||
|
return data.data.jwordShareInfo.shareUrl.split('Uuid=')![1]
|
||||||
|
else
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getFarmShareCode(cookie: string) {
|
||||||
|
let {data}: any = await axios.post('https://api.m.jd.com/client.action?functionId=initForFarm', `body=${encodeURIComponent(JSON.stringify({"version": 4}))}&appid=wh5&clientVersion=9.1.0`, {
|
||||||
|
headers: {
|
||||||
|
"cookie": cookie,
|
||||||
|
"origin": "https://home.m.jd.com",
|
||||||
|
"referer": "https://home.m.jd.com/myJd/newhome.action",
|
||||||
|
"User-Agent": USER_AGENT,
|
||||||
|
"Content-Type": "application/x-www-form-urlencoded"
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
if (data.farmUserPro)
|
||||||
|
return data.farmUserPro.shareCode
|
||||||
|
else
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
|
||||||
|
async function requireConfig(check: boolean = false): Promise<string[]> {
|
||||||
|
let cookiesArr: string[] = []
|
||||||
|
const jdCookieNode = require('../jdCookie.js')
|
||||||
|
let keys: string[] = Object.keys(jdCookieNode)
|
||||||
|
for (let i = 0; i < keys.length; i++) {
|
||||||
|
let cookie = jdCookieNode[keys[i]]
|
||||||
|
if (!check) {
|
||||||
|
cookiesArr.push(cookie)
|
||||||
|
} else {
|
||||||
|
if (await checkCookie(cookie)) {
|
||||||
|
cookiesArr.push(cookie)
|
||||||
|
} else {
|
||||||
|
let username = decodeURIComponent(jdCookieNode[keys[i]].match(/pt_pin=([^;]*)/)![1])
|
||||||
|
console.log('Cookie失效', username)
|
||||||
|
await sendNotify('Cookie失效', '【京东账号】' + username)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log(`共${cookiesArr.length}个京东账号\n`)
|
||||||
|
return cookiesArr
|
||||||
|
}
|
||||||
|
|
||||||
|
async function checkCookie(cookie) {
|
||||||
|
await wait(1000)
|
||||||
|
try {
|
||||||
|
let {data}: any = await axios.get(`https://api.m.jd.com/client.action?functionId=GetJDUserInfoUnion&appid=jd-cphdeveloper-m&body=${encodeURIComponent(JSON.stringify({"orgFlag": "JD_PinGou_New", "callSource": "mainorder", "channel": 4, "isHomewhite": 0, "sceneval": 2}))}&loginType=2&_=${Date.now()}&sceneval=2&g_login_type=1&callback=GetJDUserInfoUnion&g_ty=ls`, {
|
||||||
|
headers: {
|
||||||
|
'authority': 'api.m.jd.com',
|
||||||
|
'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1',
|
||||||
|
'referer': 'https://home.m.jd.com/',
|
||||||
|
'cookie': cookie
|
||||||
|
}
|
||||||
|
})
|
||||||
|
data = JSON.parse(data.match(/GetJDUserInfoUnion\((.*)\)/)[1])
|
||||||
|
return data.retcode === '0';
|
||||||
|
} catch (e) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function wait(timeout: number) {
|
||||||
|
return new Promise(resolve => {
|
||||||
|
setTimeout(resolve, timeout)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
async function requestAlgo(appId: number = 10032) {
|
||||||
|
fingerprint = generateFp()
|
||||||
|
return new Promise<void>(async resolve => {
|
||||||
|
let {data}: any = await axios.post('https://cactus.jd.com/request_algo?g_ty=ajax', {
|
||||||
|
"version": "1.0",
|
||||||
|
"fp": fingerprint,
|
||||||
|
"appId": appId,
|
||||||
|
"timestamp": Date.now(),
|
||||||
|
"platform": "web",
|
||||||
|
"expandParams": ""
|
||||||
|
}, {
|
||||||
|
"headers": {
|
||||||
|
'Authority': 'cactus.jd.com',
|
||||||
|
'Pragma': 'no-cache',
|
||||||
|
'Cache-Control': 'no-cache',
|
||||||
|
'Accept': 'application/json',
|
||||||
|
'User-Agent': USER_AGENT,
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
'Origin': 'https://st.jingxi.com',
|
||||||
|
'Sec-Fetch-Site': 'cross-site',
|
||||||
|
'Sec-Fetch-Mode': 'cors',
|
||||||
|
'Sec-Fetch-Dest': 'empty',
|
||||||
|
'Referer': 'https://st.jingxi.com/',
|
||||||
|
'Accept-Language': 'zh-CN,zh;q=0.9,zh-TW;q=0.8,en;q=0.7'
|
||||||
|
},
|
||||||
|
})
|
||||||
|
if (data['status'] === 200) {
|
||||||
|
token = data.data.result.tk
|
||||||
|
let enCryptMethodJDString = data.data.result.algo
|
||||||
|
if (enCryptMethodJDString) enCryptMethodJD = new Function(`return ${enCryptMethodJDString}`)()
|
||||||
|
} else {
|
||||||
|
console.log(`fp: ${fingerprint}`)
|
||||||
|
console.log('request_algo 签名参数API请求失败:')
|
||||||
|
}
|
||||||
|
resolve()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function generateFp() {
|
||||||
|
let e = "0123456789"
|
||||||
|
let a = 13
|
||||||
|
let i = ''
|
||||||
|
for (; a--;)
|
||||||
|
i += e[Math.random() * e.length | 0]
|
||||||
|
return (i + Date.now()).slice(0, 16)
|
||||||
|
}
|
||||||
|
|
||||||
|
function getJxToken(cookie: string, phoneId: string = '') {
|
||||||
|
function generateStr(input: number) {
|
||||||
|
let src = 'abcdefghijklmnopqrstuvwxyz1234567890'
|
||||||
|
let res = ''
|
||||||
|
for (let i = 0; i < input; i++) {
|
||||||
|
res += src[Math.floor(src.length * Math.random())]
|
||||||
|
}
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!phoneId)
|
||||||
|
phoneId = generateStr(40)
|
||||||
|
let timestamp = Date.now().toString()
|
||||||
|
let nickname = cookie.match(/pt_pin=([^;]*)/)![1]
|
||||||
|
let jstoken = Md5.hashStr('' + decodeURIComponent(nickname) + timestamp + phoneId + 'tPOamqCuk9NLgVPAljUyIHcPRmKlVxDy')
|
||||||
|
return {
|
||||||
|
'strPgtimestamp': timestamp,
|
||||||
|
'strPhoneID': phoneId,
|
||||||
|
'strPgUUNum': jstoken
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function randomString(e: number, word?: number) {
|
||||||
|
e = e || 32
|
||||||
|
let t = word === 26 ? "012345678abcdefghijklmnopqrstuvwxyz" : "0123456789abcdef", a = t.length, n = ""
|
||||||
|
for (let i = 0; i < e; i++)
|
||||||
|
n += t.charAt(Math.floor(Math.random() * a))
|
||||||
|
return n
|
||||||
|
}
|
||||||
|
|
||||||
|
function o2s(arr: object, title: string = '') {
|
||||||
|
title ? console.log(title, JSON.stringify(arr)) : console.log(JSON.stringify(arr))
|
||||||
|
}
|
||||||
|
|
||||||
|
function randomNumString(e: number) {
|
||||||
|
e = e || 32
|
||||||
|
let t = '0123456789', a = t.length, n = ""
|
||||||
|
for (let i = 0; i < e; i++)
|
||||||
|
n += t.charAt(Math.floor(Math.random() * a))
|
||||||
|
return n
|
||||||
|
}
|
||||||
|
|
||||||
|
function randomWord(n: number = 1) {
|
||||||
|
let t = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', a = t.length
|
||||||
|
let rnd: string = ''
|
||||||
|
for (let i = 0; i < n; i++) {
|
||||||
|
rnd += t.charAt(Math.floor(Math.random() * a))
|
||||||
|
}
|
||||||
|
return rnd
|
||||||
|
}
|
||||||
|
|
||||||
|
function obj2str(obj: object) {
|
||||||
|
return JSON.stringify(obj)
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getDevice() {
|
||||||
|
let {data} = await axios.get('https://betahub.cn/api/apple/devices/iPhone', {
|
||||||
|
headers: {
|
||||||
|
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
data = data[getRandomNumberByRange(0, 16)]
|
||||||
|
return data.identifier
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getVersion(device: string) {
|
||||||
|
let {data} = await axios.get(`https://betahub.cn/api/apple/firmwares/${device}`, {
|
||||||
|
headers: {
|
||||||
|
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
data = data[getRandomNumberByRange(0, data.length)]
|
||||||
|
return data.firmware_info.version
|
||||||
|
}
|
||||||
|
|
||||||
|
async function jdpingou() {
|
||||||
|
let device: string, version: string;
|
||||||
|
device = await getDevice();
|
||||||
|
version = await getVersion(device);
|
||||||
|
return `jdpingou;iPhone;5.19.0;${version};${randomString(40)};network/wifi;model/${device};appBuild/100833;ADID/;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/0;hasOCPay/0;supportBestPay/0;session/${getRandomNumberByRange(10, 90)};pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148`
|
||||||
|
}
|
||||||
|
|
||||||
|
function get(url: string, prarms?: string, headers?: any) {
|
||||||
|
return axios.get(url, {
|
||||||
|
params: prarms,
|
||||||
|
headers: headers
|
||||||
|
})
|
||||||
|
.then(res => {
|
||||||
|
if (typeof res.data === 'string' && res.data.match(/^jsonpCBK/)) {
|
||||||
|
return JSON.parse(res.data.match(/jsonpCBK.?\(([\w\W]*)\);/)[1])
|
||||||
|
} else {
|
||||||
|
return res.data
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch(err => {
|
||||||
|
console.log(err?.response?.status, err?.response?.statusText)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function post(url: string, prarms?: string | object, headers?: any): Promise<any> {
|
||||||
|
return axios.post(url, prarms, {
|
||||||
|
headers: headers
|
||||||
|
})
|
||||||
|
.then(res => res.data)
|
||||||
|
.catch(err => {
|
||||||
|
console.log(err?.response?.status, err?.response?.statusText)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export default USER_AGENT
|
||||||
|
export {
|
||||||
|
TotalBean,
|
||||||
|
getBeanShareCode,
|
||||||
|
getFarmShareCode,
|
||||||
|
requireConfig,
|
||||||
|
wait,
|
||||||
|
getRandomNumberByRange,
|
||||||
|
requestAlgo,
|
||||||
|
getJxToken,
|
||||||
|
randomString,
|
||||||
|
o2s,
|
||||||
|
randomNumString,
|
||||||
|
getShareCodePool,
|
||||||
|
randomWord,
|
||||||
|
obj2str,
|
||||||
|
jdpingou,
|
||||||
|
get,
|
||||||
|
post
|
||||||
|
}
|
7681
function/jinli_log.ts
Normal file
7681
function/jinli_log.ts
Normal file
File diff suppressed because it is too large
Load Diff
@ -6,10 +6,17 @@ const { readFile } = require('fs/promises');
|
|||||||
const path = require('path');
|
const path = require('path');
|
||||||
|
|
||||||
const qlDir = '/ql';
|
const qlDir = '/ql';
|
||||||
const authFile = path.join(qlDir, 'config/auth.json');
|
const fs = require('fs');
|
||||||
|
let Fileexists = fs.existsSync('/ql/data/config/auth.json');
|
||||||
|
let authFile="";
|
||||||
|
if (Fileexists)
|
||||||
|
authFile="/ql/data/config/auth.json"
|
||||||
|
else
|
||||||
|
authFile="/ql/config/auth.json"
|
||||||
|
//const authFile = path.join(qlDir, 'config/auth.json');
|
||||||
|
|
||||||
const api = got.extend({
|
const api = got.extend({
|
||||||
prefixUrl: 'http://localhost:5600',
|
prefixUrl: 'http://127.0.0.1:5600',
|
||||||
retry: { limit: 0 },
|
retry: { limit: 0 },
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -80,6 +87,27 @@ module.exports.updateEnv = async (cookie, eid, remarks) => {
|
|||||||
return body;
|
return body;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
module.exports.updateEnv11 = async (cookie, eid, remarks) => {
|
||||||
|
const token = await getToken();
|
||||||
|
const body = await api({
|
||||||
|
method: 'put',
|
||||||
|
url: 'api/envs',
|
||||||
|
params: { t: Date.now() },
|
||||||
|
json: {
|
||||||
|
name: 'JD_COOKIE',
|
||||||
|
value: cookie,
|
||||||
|
id: eid,
|
||||||
|
remarks,
|
||||||
|
},
|
||||||
|
headers: {
|
||||||
|
Accept: 'application/json',
|
||||||
|
authorization: `Bearer ${token}`,
|
||||||
|
'Content-Type': 'application/json;charset=UTF-8',
|
||||||
|
},
|
||||||
|
}).json();
|
||||||
|
return body;
|
||||||
|
};
|
||||||
|
|
||||||
module.exports.DisableCk = async (eid) => {
|
module.exports.DisableCk = async (eid) => {
|
||||||
const token = await getToken();
|
const token = await getToken();
|
||||||
const body = await api({
|
const body = await api({
|
||||||
@ -114,8 +142,16 @@ module.exports.EnableCk = async (eid) => {
|
|||||||
|
|
||||||
module.exports.getstatus = async(eid) => {
|
module.exports.getstatus = async(eid) => {
|
||||||
const envs = await this.getEnvs();
|
const envs = await this.getEnvs();
|
||||||
|
var tempid = 0;
|
||||||
for (let i = 0; i < envs.length; i++) {
|
for (let i = 0; i < envs.length; i++) {
|
||||||
if(envs[i]._id==eid){
|
tempid = 0;
|
||||||
|
if (envs[i]._id) {
|
||||||
|
tempid = envs[i]._id;
|
||||||
|
}
|
||||||
|
if (envs[i].id) {
|
||||||
|
tempid = envs[i].id;
|
||||||
|
}
|
||||||
|
if (tempid == eid) {
|
||||||
return envs[i].status;
|
return envs[i].status;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -124,14 +160,33 @@ module.exports.getstatus = async (eid) => {
|
|||||||
|
|
||||||
module.exports.getEnvById = async(eid) => {
|
module.exports.getEnvById = async(eid) => {
|
||||||
const envs = await this.getEnvs();
|
const envs = await this.getEnvs();
|
||||||
|
var tempid = 0;
|
||||||
for (let i = 0; i < envs.length; i++) {
|
for (let i = 0; i < envs.length; i++) {
|
||||||
if(envs[i]._id==eid){
|
tempid = 0;
|
||||||
|
if (envs[i]._id) {
|
||||||
|
tempid = envs[i]._id;
|
||||||
|
}
|
||||||
|
if (envs[i].id) {
|
||||||
|
tempid = envs[i].id;
|
||||||
|
}
|
||||||
|
if (tempid == eid) {
|
||||||
return envs[i].value;
|
return envs[i].value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return "";
|
return "";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
module.exports.getEnvByPtPin = async (Ptpin) => {
|
||||||
|
const envs = await this.getEnvs();
|
||||||
|
for (let i = 0; i < envs.length; i++) {
|
||||||
|
var tempptpin = decodeURIComponent(envs[i].value.match(/pt_pin=([^; ]+)(?=;?)/) && envs[i].value.match(/pt_pin=([^; ]+)(?=;?)/)[1]);
|
||||||
|
if(tempptpin==Ptpin){
|
||||||
|
return envs[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
};
|
||||||
|
|
||||||
module.exports.delEnv = async (eid) => {
|
module.exports.delEnv = async (eid) => {
|
||||||
const token = await getToken();
|
const token = await getToken();
|
||||||
const body = await api({
|
const body = await api({
|
||||||
|
File diff suppressed because it is too large
Load Diff
828
jd_carnivalcity.js
Normal file
828
jd_carnivalcity.js
Normal file
File diff suppressed because one or more lines are too long
373
jd_carnivalcity_help.js
Normal file
373
jd_carnivalcity_help.js
Normal file
File diff suppressed because one or more lines are too long
262
jd_cash_wx.js
Normal file
262
jd_cash_wx.js
Normal file
File diff suppressed because one or more lines are too long
@ -1,38 +1,33 @@
|
|||||||
/**
|
/**
|
||||||
* 京东-锦鲤红包
|
* const $ = new Env('京东-锦鲤红包');
|
||||||
* 做任务、助力、开红包
|
* 做任务、助力、开红包
|
||||||
* cron: 1 0,6,18 * * *
|
* cron: 1 0,18 * * *
|
||||||
* CK1 HW.ts -> 内部
|
* 修改自HW大佬,自用,仅助力前7账号,纯内部互助
|
||||||
* CK2~n 内部 -> HW.ts
|
|
||||||
*
|
|
||||||
* https://github.com/JDHelloWorld/jd_scripts
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import {logs} from './utils/jinli_log';
|
import {logs} from './function/jinli_log';
|
||||||
import {sendNotify} from './sendNotify';
|
import {getRandomNumberByRange, getshareCodeHW, o2s, randomString, requireConfig, wait} from "./function/TS_USER_AGENTS";
|
||||||
import {getRandomNumberByRange, getshareCodeHW, o2s, randomString, requireConfig, wait} from "./TS_USER_AGENTS";
|
|
||||||
|
|
||||||
let cookie: string = '', cookiesArr: string[] = [], res: any = '', UserName: string, UA: string = ''
|
let cookie: string = '', res: any = '', UserName: string, UA: string = ''
|
||||||
let shareCodesSelf: string[] = [], shareCodes: string[] = [], shareCodesHW: string[] = [], fullCode: string[] = []
|
let shareCodesSelf: string[] = [], shareCodes: string[] = [], fullCode: string[] = []
|
||||||
let min: number[] = [0.02, 0.12, 0.3, 0.6, 0.7, 0.8, 1, 2], log: string = ''
|
let min: number[] = [0.02, 0.12, 0.3, 0.6, 0.7, 0.8, 1, 2], log: string = '', logIndex: number = 10
|
||||||
|
|
||||||
!(async () => {
|
!(async () => {
|
||||||
cookiesArr = await requireConfig(false);
|
let cookiesArr: string[] = await requireConfig(false);
|
||||||
await join()
|
|
||||||
await getShareCodeSelf()
|
|
||||||
await help()
|
|
||||||
await open()
|
|
||||||
})()
|
|
||||||
|
|
||||||
async function getShareCodeSelf() {
|
|
||||||
for (let [index, value] of cookiesArr.entries()) {
|
for (let [index, value] of cookiesArr.entries()) {
|
||||||
|
if(index < 7){
|
||||||
try {
|
try {
|
||||||
cookie = value;
|
cookie = value;
|
||||||
UserName = decodeURIComponent(cookie.match(/pt_pin=([^;]*)/)![1])
|
UserName = decodeURIComponent(cookie.match(/pt_pin=([^;]*)/)![1])
|
||||||
console.log(`\n开始【京东账号${index + 1}】${UserName}\n`);
|
console.log(`\n开始【京东账号${index + 1}】${UserName}\n`);
|
||||||
UA = `jdltapp;iPhone;3.1.0;${Math.ceil(Math.random() * 4 + 10)}.${Math.ceil(Math.random() * 4)};${randomString(40)}`
|
UA = `jdltapp;iPhone;3.1.0;${Math.ceil(Math.random() * 4 + 10)}.${Math.ceil(Math.random() * 4)};${randomString(40)}`
|
||||||
|
log = logs[getRandomNumberByRange(0, logs.length - 1)]
|
||||||
|
let random = log.match(/"random":"(\d+)"/)[1], log1 = log.match(/"log":"(.*)"/)[1]
|
||||||
|
res = await api('h5launch', {"followShop": 0, "random": random, "log": log1, "sceneid": "JLHBhPageh5"})
|
||||||
|
console.log('活动初始化:', res.data.result.statusDesc)
|
||||||
|
await wait(1000)
|
||||||
|
|
||||||
res = await api('h5activityIndex', {"isjdapp": 1})
|
res = await api('h5activityIndex', {"isjdapp": 1})
|
||||||
console.log('红包ID:', res.data.result.redpacketInfo.id)
|
console.log('红包ID:', res.data.result.redpacketInfo.id)
|
||||||
shareCodesSelf.push(res.data.result.redpacketInfo.id)
|
shareCodesSelf.push(res.data.result.redpacketInfo.id)
|
||||||
@ -41,30 +36,51 @@ async function getShareCodeSelf() {
|
|||||||
console.log(e)
|
console.log(e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log('内部助力:', shareCodesSelf)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function join() {
|
await wait(2000)
|
||||||
|
|
||||||
|
console.log('内部助力:', shareCodesSelf)
|
||||||
for (let [index, value] of cookiesArr.entries()) {
|
for (let [index, value] of cookiesArr.entries()) {
|
||||||
try {
|
try {
|
||||||
cookie = value;
|
cookie = value;
|
||||||
UserName = decodeURIComponent(cookie.match(/pt_pin=([^;]*)/)![1])
|
UserName = decodeURIComponent(cookie.match(/pt_pin=([^;]*)/)![1])
|
||||||
console.log(`\n开始【京东账号${index + 1}】${UserName}\n`);
|
shareCodes = Array.from(new Set([...shareCodesSelf]))
|
||||||
|
for (let code of shareCodes) {
|
||||||
|
if (!fullCode.includes(code)) {
|
||||||
UA = `jdltapp;iPhone;3.1.0;${Math.ceil(Math.random() * 4 + 10)}.${Math.ceil(Math.random() * 4)};${randomString(40)}`
|
UA = `jdltapp;iPhone;3.1.0;${Math.ceil(Math.random() * 4 + 10)}.${Math.ceil(Math.random() * 4)};${randomString(40)}`
|
||||||
log = logs[getRandomNumberByRange(0, logs.length - 1)]
|
log = logs[getRandomNumberByRange(0, logs.length - 1)]
|
||||||
|
|
||||||
let random = log.match(/"random":"(\d+)"/)[1], log1 = log.match(/"log":"(.*)"/)[1]
|
let random = log.match(/"random":"(\d+)"/)[1], log1 = log.match(/"log":"(.*)"/)[1]
|
||||||
res = await api('h5launch', {"followShop": 0, "random": random, "log": log1, "sceneid": "JLHBhPageh5"})
|
console.log(`账号${index + 1} ${UserName} 去助力 ${code} ${shareCodesSelf.includes(code) ? '*内部*' : ''}`)
|
||||||
console.log('活动初始化:', res.data.result.statusDesc)
|
|
||||||
|
res = await api('jinli_h5assist', {"redPacketId": code, "followShop": 0, "random": random, "log": log1, "sceneid": "JLHBhPageh5"})
|
||||||
|
o2s(res, 'jinli_h5assist')
|
||||||
|
|
||||||
|
if (res.data.result.status === 0) {
|
||||||
|
console.log('助力成功:', parseFloat(res.data.result.assistReward.discount))
|
||||||
await wait(1000)
|
await wait(1000)
|
||||||
|
break
|
||||||
|
} else if (res.data.result.status === 3) {
|
||||||
|
console.log('今日助力次数已满')
|
||||||
|
break
|
||||||
|
} else {
|
||||||
|
console.log('助力结果:', res.data.result.statusDesc)
|
||||||
|
if (res.data.result.statusDesc === '啊偶,TA的助力已满,开启自己的红包活动吧~') {
|
||||||
|
fullCode.push(code)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
await wait(1000)
|
||||||
|
} else {
|
||||||
|
console.log(`Code ${code} 已被助满`)
|
||||||
|
}
|
||||||
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
async function open() {
|
|
||||||
for (let [index, value] of cookiesArr.entries()) {
|
for (let [index, value] of cookiesArr.entries()) {
|
||||||
|
if(index < 7){
|
||||||
try {
|
try {
|
||||||
cookie = value
|
cookie = value
|
||||||
UserName = decodeURIComponent(cookie.match(/pt_pin=([^;]*)/)![1])
|
UserName = decodeURIComponent(cookie.match(/pt_pin=([^;]*)/)![1])
|
||||||
@ -125,9 +141,6 @@ async function open() {
|
|||||||
for (let t of res.data.result.redpacketConfigFillRewardInfo) {
|
for (let t of res.data.result.redpacketConfigFillRewardInfo) {
|
||||||
if (t.packetStatus === 2) {
|
if (t.packetStatus === 2) {
|
||||||
console.log(`红包${j}已拆过,获得`, t.packetAmount)
|
console.log(`红包${j}已拆过,获得`, t.packetAmount)
|
||||||
if (!min.includes(t.packetAmount)) {
|
|
||||||
await sendNotify('锦鲤红包', `账号${index + 1} ${UserName}\n${t.packetAmount}`)
|
|
||||||
}
|
|
||||||
} else if (t.packetStatus === 1) {
|
} else if (t.packetStatus === 1) {
|
||||||
console.log(`红包${j}可拆`)
|
console.log(`红包${j}可拆`)
|
||||||
res = await api('h5receiveRedpacketAll', {"random": random, "log": log1, "sceneid": "JLHBhPageh5"})
|
res = await api('h5receiveRedpacketAll', {"random": random, "log": log1, "sceneid": "JLHBhPageh5"})
|
||||||
@ -138,61 +151,15 @@ async function open() {
|
|||||||
}
|
}
|
||||||
j++
|
j++
|
||||||
}
|
}
|
||||||
} catch (e) {
|
}
|
||||||
|
|
||||||
|
catch (e) {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
}
|
}
|
||||||
await wait(1000)
|
await wait(1000)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
})()
|
||||||
async function help() {
|
|
||||||
for (let [index, value] of cookiesArr.entries()) {
|
|
||||||
try {
|
|
||||||
cookie = value;
|
|
||||||
UserName = decodeURIComponent(cookie.match(/pt_pin=([^;]*)/)![1])
|
|
||||||
if (shareCodesHW.length === 0) {
|
|
||||||
shareCodesHW = await getshareCodeHW('jlhb')
|
|
||||||
}
|
|
||||||
// 2 4 9 12
|
|
||||||
if (index === 0 || cookiesArr.length === 2) { // 红包1需2个助力
|
|
||||||
shareCodes = Array.from(new Set([...shareCodesHW, ...shareCodesSelf]))
|
|
||||||
} else {
|
|
||||||
shareCodes = Array.from(new Set([...shareCodesSelf, ...shareCodesHW]))
|
|
||||||
}
|
|
||||||
if (cookiesArr.length > 5 && cookiesArr.length < 8 && index > 4) { // 红包3需要7个助力
|
|
||||||
shareCodes = Array.from(new Set([...shareCodesHW, ...shareCodesSelf]))
|
|
||||||
}
|
|
||||||
for (let code of shareCodes) {
|
|
||||||
if (!fullCode.includes(code)) {
|
|
||||||
UA = `jdltapp;iPhone;3.1.0;${Math.ceil(Math.random() * 4 + 10)}.${Math.ceil(Math.random() * 4)};${randomString(40)}`
|
|
||||||
log = logs[getRandomNumberByRange(0, logs.length - 1)]
|
|
||||||
let random = log.match(/"random":"(\d+)"/)[1], log1 = log.match(/"log":"(.*)"/)[1]
|
|
||||||
console.log(`账号${index + 1} ${UserName} 去助力 ${code} ${shareCodesSelf.includes(code) ? '*内部*' : ''}`)
|
|
||||||
|
|
||||||
res = await api('jinli_h5assist', {"redPacketId": code, "followShop": 0, "random": random, "log": log1, "sceneid": "JLHBhPageh5"})
|
|
||||||
o2s(res, 'jinli_h5assist')
|
|
||||||
|
|
||||||
if (res.data.result.status === 0) {
|
|
||||||
console.log('助力成功:', parseFloat(res.data.result.assistReward.discount))
|
|
||||||
await wait(1000)
|
|
||||||
break
|
|
||||||
} else if (res.data.result.status === 3) {
|
|
||||||
console.log('今日助力次数已满')
|
|
||||||
break
|
|
||||||
} else {
|
|
||||||
console.log('助力结果:', res.data.result.statusDesc)
|
|
||||||
if (res.data.result.statusDesc === '啊偶,TA的助力已满,开启自己的红包活动吧~') {
|
|
||||||
fullCode.push(code)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
await wait(1000)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
console.log(e)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
async function api(fn: string, body: object, retry: number = 0) {
|
async function api(fn: string, body: object, retry: number = 0) {
|
||||||
let {data} = await axios.post(`https://api.m.jd.com/api?appid=jinlihongbao&functionId=${fn}&loginType=2&client=jinlihongbao&clientVersion=10.2.4&osVersion=AndroidOS&d_brand=Xiaomi&d_model=Xiaomi`, `body=${encodeURIComponent(JSON.stringify(body))}`, {
|
let {data} = await axios.post(`https://api.m.jd.com/api?appid=jinlihongbao&functionId=${fn}&loginType=2&client=jinlihongbao&clientVersion=10.2.4&osVersion=AndroidOS&d_brand=Xiaomi&d_model=Xiaomi`, `body=${encodeURIComponent(JSON.stringify(body))}`, {
|
||||||
@ -205,14 +172,14 @@ async function api(fn: string, body: object, retry: number = 0) {
|
|||||||
"User-Agent": UA,
|
"User-Agent": UA,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
await wait(2000)
|
await wait(5000)
|
||||||
if (data.rtn_code === 403 && retry < 3) {
|
if (data.rtn_code === 403 && retry < 3) {
|
||||||
console.log('retry...')
|
console.log('retry...')
|
||||||
await wait(1000)
|
await wait(1000)
|
||||||
log = logs[getRandomNumberByRange(0, logs.length - 1)]
|
log = logs[getRandomNumberByRange(0, logs.length - 1)]
|
||||||
body['random'] = log.match(/"random":"(\d+)"/)[1]
|
body['random'] = log.match(/"random":"(\d+)"/)[1]
|
||||||
body['log'] = log.match(/"log":"(.*)"/)[1]
|
body['log'] = log.match(/"log":"(.*)"/)[1]
|
||||||
await wait(3000)
|
await wait(5000)
|
||||||
await api(fn, body, ++retry)
|
await api(fn, body, ++retry)
|
||||||
}
|
}
|
||||||
return data
|
return data
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
种豆得豆 脚本更新地址:https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_plantBean.js
|
种豆得豆 脚本更新地址:jd_plantBean.js
|
||||||
更新时间:2022-03-19
|
更新时间:2021-08-20
|
||||||
活动入口:京东APP我的-更多工具-种豆得豆
|
活动入口:京东APP我的-更多工具-种豆得豆
|
||||||
已支持IOS京东多账号,云端多京东账号
|
已支持IOS京东多账号,云端多京东账号
|
||||||
脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js
|
脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js
|
||||||
@ -10,20 +10,20 @@
|
|||||||
|
|
||||||
=====================================Quantumult X=================================
|
=====================================Quantumult X=================================
|
||||||
[task_local]
|
[task_local]
|
||||||
1 7-21/2 * * * https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true
|
1 7-21/2 * * * https://raw.githubusercontent.com/KingRan/JDJB/main/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true
|
||||||
|
|
||||||
=====================================Loon================================
|
=====================================Loon================================
|
||||||
[Script]
|
[Script]
|
||||||
cron "1 7-21/2 * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_plantBean.js,tag=京东种豆得豆
|
cron "1 7-21/2 * * *" script-path=https://raw.githubusercontent.com/KingRan/JDJB/main/jd_plantBean.js,tag=京东种豆得豆
|
||||||
|
|
||||||
======================================Surge==========================
|
======================================Surge==========================
|
||||||
京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_plantBean.js
|
京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/KingRan/JDJB/main/jd_plantBean.js
|
||||||
|
|
||||||
====================================小火箭=============================
|
====================================小火箭=============================
|
||||||
京东种豆得豆 = type=cron,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_plantBean.js, cronexpr="1 7-21/2 * * *", timeout=3600, enable=true
|
京东种豆得豆 = type=cron,script-path=https://raw.githubusercontent.com/KingRan/JDJB/main/jd_plantBean.js, cronexpr="1 7-21/2 * * *", timeout=3600, enable=true
|
||||||
|
|
||||||
*/
|
*/
|
||||||
const $ = new Env('种豆得豆互助版');
|
const $ = new Env('种豆得豆');
|
||||||
//Node.js用户请在jdCookie.js处填写京东ck;
|
//Node.js用户请在jdCookie.js处填写京东ck;
|
||||||
//ios等软件用户直接用NobyDa的jd cookie
|
//ios等软件用户直接用NobyDa的jd cookie
|
||||||
let jdNotify = true;//是否开启静默运行。默认true开启
|
let jdNotify = true;//是否开启静默运行。默认true开启
|
||||||
@ -43,20 +43,8 @@ let randomCount = $.isNode() ? 20 : 5;
|
|||||||
let num;
|
let num;
|
||||||
let llerror=false;
|
let llerror=false;
|
||||||
$.newShareCode = [];
|
$.newShareCode = [];
|
||||||
|
|
||||||
let NowHour = new Date().getHours();
|
let NowHour = new Date().getHours();
|
||||||
let llhelp=true;
|
let lnrun = 0;
|
||||||
if ($.isNode() && process.env.CC_NOHELPAFTER8) {
|
|
||||||
console.log(NowHour);
|
|
||||||
if (process.env.CC_NOHELPAFTER8=="true"){
|
|
||||||
if (NowHour>8){
|
|
||||||
llhelp=false;
|
|
||||||
console.log(`现在是9点后时段,不启用互助....`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
!(async () => {
|
!(async () => {
|
||||||
await requireConfig();
|
await requireConfig();
|
||||||
if (!cookiesArr[0]) {
|
if (!cookiesArr[0]) {
|
||||||
@ -83,19 +71,14 @@ if ($.isNode() && process.env.CC_NOHELPAFTER8) {
|
|||||||
message = '';
|
message = '';
|
||||||
subTitle = '';
|
subTitle = '';
|
||||||
option = {};
|
option = {};
|
||||||
|
lnrun++;
|
||||||
await jdPlantBean();
|
await jdPlantBean();
|
||||||
await showMsg();
|
if(lnrun == 3){
|
||||||
}
|
console.log(`\n【访问接口次数达到3次,休息一分钟.....】\n`);
|
||||||
}
|
await $.wait(60*1000);
|
||||||
if(llhelp){
|
lnrun = 0;
|
||||||
for (let j = 0; j < cookiesArr.length; j++) {
|
|
||||||
if (cookiesArr[j]) {
|
|
||||||
cookie = cookiesArr[j];
|
|
||||||
$.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1])
|
|
||||||
$.index = j + 1;
|
|
||||||
//await shareCodesFormat();
|
|
||||||
await doHelp()
|
|
||||||
}
|
}
|
||||||
|
//await showMsg();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($.isNode() && allMessage) {
|
if ($.isNode() && allMessage) {
|
||||||
@ -111,33 +94,8 @@ async function jdPlantBean() {
|
|||||||
try {
|
try {
|
||||||
console.log(`获取任务及基本信息`)
|
console.log(`获取任务及基本信息`)
|
||||||
await plantBeanIndex();
|
await plantBeanIndex();
|
||||||
if ($.plantBeanIndexResult.errorCode === 'PB101') {
|
if(llerror)
|
||||||
console.log(`\n活动太火爆了,还是去买买买吧!\n`)
|
return;
|
||||||
return
|
|
||||||
}
|
|
||||||
if ($.plantBeanIndexResult.errorCode) {
|
|
||||||
console.log(`获取任务及基本信息出错,10秒后重试\n`)
|
|
||||||
await $.wait(10000);
|
|
||||||
await plantBeanIndex();
|
|
||||||
if ($.plantBeanIndexResult.errorCode === 'PB101') {
|
|
||||||
console.log(`\n活动太火爆了,还是去买买买吧!\n`)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($.plantBeanIndexResult.errorCode) {
|
|
||||||
console.log(`获取任务及基本信息出错,30秒后重试\n`)
|
|
||||||
await $.wait(30000);
|
|
||||||
await plantBeanIndex();
|
|
||||||
if ($.plantBeanIndexResult.errorCode === 'PB101') {
|
|
||||||
console.log(`\n活动太火爆了,还是去买买买吧!\n`)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($.plantBeanIndexResult.errorCode) {
|
|
||||||
console.log(`获取任务及基本信息失败,活动异常,换个时间再试试吧....`)
|
|
||||||
console.log("错误代码;"+$.plantBeanIndexResult.errorCode)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
for (let i = 0; i < $.plantBeanIndexResult.data.roundList.length; i++) {
|
for (let i = 0; i < $.plantBeanIndexResult.data.roundList.length; i++) {
|
||||||
if ($.plantBeanIndexResult.data.roundList[i].roundState === "2") {
|
if ($.plantBeanIndexResult.data.roundList[i].roundState === "2") {
|
||||||
num = i
|
num = i
|
||||||
@ -159,21 +117,29 @@ async function jdPlantBean() {
|
|||||||
subTitle = `【京东昵称】${$.plantBeanIndexResult.data.plantUserInfo.plantNickName}`;
|
subTitle = `【京东昵称】${$.plantBeanIndexResult.data.plantUserInfo.plantNickName}`;
|
||||||
message += `【上期时间】${roundList[num - 1].dateDesc.replace('上期 ', '')}\n`;
|
message += `【上期时间】${roundList[num - 1].dateDesc.replace('上期 ', '')}\n`;
|
||||||
message += `【上期成长值】${roundList[num - 1].growth}\n`;
|
message += `【上期成长值】${roundList[num - 1].growth}\n`;
|
||||||
|
await $.wait(1000);
|
||||||
await receiveNutrients();//定时领取营养液
|
await receiveNutrients();//定时领取营养液
|
||||||
|
await $.wait(2000);
|
||||||
await doTask();//做日常任务
|
await doTask();//做日常任务
|
||||||
|
await $.wait(5000);
|
||||||
// await doEgg();
|
// await doEgg();
|
||||||
await stealFriendWater();
|
await stealFriendWater();
|
||||||
|
await $.wait(2000);
|
||||||
await doCultureBean();
|
await doCultureBean();
|
||||||
|
await $.wait(1000);
|
||||||
await doGetReward();
|
await doGetReward();
|
||||||
|
await $.wait(1000);
|
||||||
await showTaskProcess();
|
await showTaskProcess();
|
||||||
|
await $.wait(1000);
|
||||||
await plantShareSupportList();
|
await plantShareSupportList();
|
||||||
|
await $.wait(1000);
|
||||||
} else {
|
} else {
|
||||||
console.log(`种豆得豆-初始失败: ${JSON.stringify($.plantBeanIndexResult)}`);
|
console.log(`种豆得豆-初始失败: ${JSON.stringify($.plantBeanIndexResult)}`);
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
$.logErr(e);
|
$.logErr(e);
|
||||||
const errMsg = `京东账号${$.index} ${$.nickName || $.UserName}\n任务执行异常,请检查执行日志 ‼️‼️`;
|
const errMsg = `京东账号${$.index} ${$.nickName || $.UserName}\n任务执行异常,请检查执行日志 ‼️‼️`;
|
||||||
if ($.isNode()) await notify.sendNotify(`${$.name}`, errMsg);
|
// if ($.isNode()) await notify.sendNotify(`${$.name}`, errMsg);
|
||||||
$.msg($.name, '', `${errMsg}`)
|
$.msg($.name, '', `${errMsg}`)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -209,6 +175,8 @@ async function doGetReward() {
|
|||||||
}
|
}
|
||||||
async function doCultureBean() {
|
async function doCultureBean() {
|
||||||
await plantBeanIndex();
|
await plantBeanIndex();
|
||||||
|
if(llerror)
|
||||||
|
return;
|
||||||
if ($.plantBeanIndexResult && $.plantBeanIndexResult.code === '0') {
|
if ($.plantBeanIndexResult && $.plantBeanIndexResult.code === '0') {
|
||||||
const plantBeanRound = $.plantBeanIndexResult.data.roundList[num]
|
const plantBeanRound = $.plantBeanIndexResult.data.roundList[num]
|
||||||
if (plantBeanRound.roundState === '2') {
|
if (plantBeanRound.roundState === '2') {
|
||||||
@ -296,6 +264,7 @@ async function doTask() {
|
|||||||
console.log(`\n开始做 ${item.taskName}任务`);
|
console.log(`\n开始做 ${item.taskName}任务`);
|
||||||
// $.receiveNutrientsTaskRes = await receiveNutrientsTask(item.taskType);
|
// $.receiveNutrientsTaskRes = await receiveNutrientsTask(item.taskType);
|
||||||
await receiveNutrientsTask(item.taskType);
|
await receiveNutrientsTask(item.taskType);
|
||||||
|
await $.wait(3000);
|
||||||
console.log(`做 ${item.taskName}任务结果:${JSON.stringify($.receiveNutrientsTaskRes)}\n`);
|
console.log(`做 ${item.taskName}任务结果:${JSON.stringify($.receiveNutrientsTaskRes)}\n`);
|
||||||
}
|
}
|
||||||
if (item.taskType === 3) {
|
if (item.taskType === 3) {
|
||||||
@ -308,22 +277,23 @@ async function doTask() {
|
|||||||
await shopTaskList();
|
await shopTaskList();
|
||||||
const { data } = $.shopTaskListRes;
|
const { data } = $.shopTaskListRes;
|
||||||
let goodShopListARR = [], moreShopListARR = [], shopList = [];
|
let goodShopListARR = [], moreShopListARR = [], shopList = [];
|
||||||
|
if (!data.goodShopList) {
|
||||||
|
data.goodShopList = [];
|
||||||
|
}
|
||||||
|
if (!data.moreShopList) {
|
||||||
|
data.moreShopList = [];
|
||||||
|
}
|
||||||
const { goodShopList, moreShopList } = data;
|
const { goodShopList, moreShopList } = data;
|
||||||
if (goodShopList) {
|
|
||||||
for (let i of goodShopList) {
|
for (let i of goodShopList) {
|
||||||
if (i.taskState === '2') {
|
if (i.taskState === '2') {
|
||||||
goodShopListARR.push(i);
|
goodShopListARR.push(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (moreShopList) {
|
|
||||||
for (let j of moreShopList) {
|
for (let j of moreShopList) {
|
||||||
if (j.taskState === '2') {
|
if (j.taskState === '2') {
|
||||||
moreShopListARR.push(j);
|
moreShopListARR.push(j);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
shopList = goodShopListARR.concat(moreShopListARR);
|
shopList = goodShopListARR.concat(moreShopListARR);
|
||||||
for (let shop of shopList) {
|
for (let shop of shopList) {
|
||||||
const { shopId, shopTaskId } = shop;
|
const { shopId, shopTaskId } = shop;
|
||||||
@ -437,6 +407,8 @@ async function doTask() {
|
|||||||
function showTaskProcess() {
|
function showTaskProcess() {
|
||||||
return new Promise(async resolve => {
|
return new Promise(async resolve => {
|
||||||
await plantBeanIndex();
|
await plantBeanIndex();
|
||||||
|
if(llerror)
|
||||||
|
return;
|
||||||
$.taskList = $.plantBeanIndexResult.data.taskList;
|
$.taskList = $.plantBeanIndexResult.data.taskList;
|
||||||
if ($.taskList && $.taskList.length > 0) {
|
if ($.taskList && $.taskList.length > 0) {
|
||||||
console.log(" 任务 进度");
|
console.log(" 任务 进度");
|
||||||
@ -447,42 +419,6 @@ function showTaskProcess() {
|
|||||||
resolve()
|
resolve()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
//助力好友
|
|
||||||
async function doHelp() {
|
|
||||||
|
|
||||||
console.log(`开始账号内互助`);
|
|
||||||
$.newShareCode = [...(jdPlantBeanShareArr || [])]
|
|
||||||
|
|
||||||
for (let plantUuid of $.newShareCode) {
|
|
||||||
console.log(`${$.UserName}开始助力: ${plantUuid}`);
|
|
||||||
if (!plantUuid) continue;
|
|
||||||
if (plantUuid === $.myPlantUuid) {
|
|
||||||
console.log(`\n跳过自己的plantUuid\n`)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
await helpShare(plantUuid);
|
|
||||||
if ($.helpResult && $.helpResult.code === '0') {
|
|
||||||
// console.log(`助力好友结果: ${JSON.stringify($.helpResult.data.helpShareRes)}`);
|
|
||||||
if ($.helpResult.data.helpShareRes) {
|
|
||||||
if ($.helpResult.data.helpShareRes.state === '1') {
|
|
||||||
console.log(`助力好友${plantUuid}成功`)
|
|
||||||
console.log(`${$.helpResult.data.helpShareRes.promptText}\n`);
|
|
||||||
} else if ($.helpResult.data.helpShareRes.state === '2') {
|
|
||||||
console.log('您今日助力的机会已耗尽,已不能再帮助好友助力了\n');
|
|
||||||
break;
|
|
||||||
} else if ($.helpResult.data.helpShareRes.state === '3') {
|
|
||||||
console.log('该好友今日已满9人助力/20瓶营养液,明天再来为Ta助力吧\n')
|
|
||||||
} else if ($.helpResult.data.helpShareRes.state === '4') {
|
|
||||||
console.log(`${$.helpResult.data.helpShareRes.promptText}\n`)
|
|
||||||
} else {
|
|
||||||
console.log(`助力其他情况:${JSON.stringify($.helpResult.data.helpShareRes)}`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
console.log(`助力好友失败: ${JSON.stringify($.helpResult)}`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
function showMsg() {
|
function showMsg() {
|
||||||
$.log(`\n${message}\n`);
|
$.log(`\n${message}\n`);
|
||||||
jdNotify = $.getdata('jdPlantBeanNotify') ? $.getdata('jdPlantBeanNotify') : jdNotify;
|
jdNotify = $.getdata('jdPlantBeanNotify') ? $.getdata('jdPlantBeanNotify') : jdNotify;
|
||||||
@ -592,24 +528,39 @@ async function helpShare(plantUuid) {
|
|||||||
console.log(`助力结果的code:${$.helpResult && $.helpResult.code}`);
|
console.log(`助力结果的code:${$.helpResult && $.helpResult.code}`);
|
||||||
}
|
}
|
||||||
async function plantBeanIndex() {
|
async function plantBeanIndex() {
|
||||||
|
llerror=false;
|
||||||
$.plantBeanIndexResult = await request('plantBeanIndex'); //plantBeanIndexBody
|
$.plantBeanIndexResult = await request('plantBeanIndex'); //plantBeanIndexBody
|
||||||
|
if ($.plantBeanIndexResult.errorCode === 'PB101') {
|
||||||
|
console.log(`\n活动太火爆了,还是去买买买吧!\n`)
|
||||||
|
llerror=true;
|
||||||
|
return
|
||||||
}
|
}
|
||||||
//格式化助力码
|
if ($.plantBeanIndexResult.errorCode) {
|
||||||
function shareCodesFormat() {
|
console.log(`获取任务及基本信息出错,10秒后重试\n`)
|
||||||
return new Promise(async resolve => {
|
await $.wait(10000);
|
||||||
console.log(`第${$.index}个京东账号的助力码:${$.shareCodesArr[$.index - 1]}`)
|
$.plantBeanIndexResult = await request('plantBeanIndex');
|
||||||
newShareCodes = [];
|
if ($.plantBeanIndexResult.errorCode === 'PB101') {
|
||||||
if ($.shareCodesArr[$.index - 1]) {
|
console.log(`\n活动太火爆了,还是去买买买吧!\n`)
|
||||||
newShareCodes = $.shareCodesArr[$.index - 1].split('@');
|
llerror=true;
|
||||||
} else {
|
return
|
||||||
// console.log(`由于您第${$.index}个京东账号未提供shareCode,将采纳本脚本自带的助力码\n`)
|
}
|
||||||
const tempIndex = $.index > shareCodes.length ? (shareCodes.length - 1) : ($.index - 1);
|
}
|
||||||
newShareCodes = shareCodes[tempIndex].split('@');
|
if ($.plantBeanIndexResult.errorCode) {
|
||||||
|
console.log(`获取任务及基本信息出错,30秒后重试\n`)
|
||||||
|
await $.wait(30000);
|
||||||
|
$.plantBeanIndexResult = await request('plantBeanIndex');
|
||||||
|
if ($.plantBeanIndexResult.errorCode === 'PB101') {
|
||||||
|
console.log(`\n活动太火爆了,还是去买买买吧!\n`)
|
||||||
|
llerror=true;
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($.plantBeanIndexResult.errorCode) {
|
||||||
|
console.log(`获取任务及基本信息失败,活动异常,换个时间再试试吧....`)
|
||||||
|
console.log("错误代码;" + $.plantBeanIndexResult.errorCode)
|
||||||
|
llerror=true;
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(`第${$.index}个京东账号将要助力的好友${JSON.stringify(newShareCodes)}`)
|
|
||||||
resolve();
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
function requireConfig() {
|
function requireConfig() {
|
||||||
return new Promise(resolve => {
|
return new Promise(resolve => {
|
||||||
@ -639,7 +590,7 @@ function requireConfig() {
|
|||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
if ($.getdata('jd_plantbean_inviter')) $.shareCodesArr = $.getdata('jd_plantbean_inviter').split('\n').filter(item => !!item);
|
if ($.getdata('jd_plantbean_inviter')) $.shareCodesArr = $.getdata('jd_plantbean_inviter').split('\n').filter(item => !!item);
|
||||||
console.log(`\nBoxJs设置的${$.name}好友邀请码:${$.getdata('jd_plantbean_inviter') ? $.getdata('jd_plantbean_inviter') : '暂无'}\n`);
|
//console.log(`\nBoxJs设置的${$.name}好友邀请码:${$.getdata('jd_plantbean_inviter') ? $.getdata('jd_plantbean_inviter') : '暂无'}\n`);
|
||||||
}
|
}
|
||||||
// console.log(`\n种豆得豆助力码::${JSON.stringify($.shareCodesArr)}`);
|
// console.log(`\n种豆得豆助力码::${JSON.stringify($.shareCodesArr)}`);
|
||||||
//console.log(`您提供了${$.shareCodesArr.length}个账号的种豆得豆助力码\n`);
|
//console.log(`您提供了${$.shareCodesArr.length}个账号的种豆得豆助力码\n`);
|
||||||
@ -653,7 +604,7 @@ function requestGet(function_id, body = {}) {
|
|||||||
body["monitor_source"] = "plant_app_plant_index";
|
body["monitor_source"] = "plant_app_plant_index";
|
||||||
body["monitor_refer"] = "";
|
body["monitor_refer"] = "";
|
||||||
return new Promise(async resolve => {
|
return new Promise(async resolve => {
|
||||||
await $.wait(2000);
|
await $.wait(5000);
|
||||||
const option = {
|
const option = {
|
||||||
url: `${JD_API_HOST}?functionId=${function_id}&body=${escape(JSON.stringify(body))}&appid=ld`,
|
url: `${JD_API_HOST}?functionId=${function_id}&body=${escape(JSON.stringify(body))}&appid=ld`,
|
||||||
headers: {
|
headers: {
|
||||||
@ -731,7 +682,7 @@ function TotalBean() {
|
|||||||
}
|
}
|
||||||
function request(function_id, body = {}) {
|
function request(function_id, body = {}) {
|
||||||
return new Promise(async resolve => {
|
return new Promise(async resolve => {
|
||||||
await $.wait(2000);
|
await $.wait(5000);
|
||||||
$.post(taskUrl(function_id, body), (err, resp, data) => {
|
$.post(taskUrl(function_id, body), (err, resp, data) => {
|
||||||
try {
|
try {
|
||||||
if (err) {
|
if (err) {
|
493
jd_plantBean_help.js
Normal file
493
jd_plantBean_help.js
Normal file
File diff suppressed because one or more lines are too long
211
jd_xs_zzl.js
Normal file
211
jd_xs_zzl.js
Normal file
File diff suppressed because one or more lines are too long
@ -1,13 +1,30 @@
|
|||||||
/*
|
/*
|
||||||
* @Author: lxk0301 https://gitee.com/lxk0301
|
|
||||||
* @Date: 2020-08-19 16:12:40
|
|
||||||
* @Last Modified by: whyour
|
|
||||||
* @Last Modified time: 2021-5-1 15:00:54
|
|
||||||
* sendNotify 推送通知功能
|
* sendNotify 推送通知功能
|
||||||
* @param text 通知头
|
* @param text 通知头
|
||||||
* @param desp 通知体
|
* @param desp 通知体
|
||||||
* @param params 某些推送通知方式点击弹窗可跳转, 例:{ url: 'https://abc.com' }
|
* @param params 某些推送通知方式点击弹窗可跳转, 例:{ url: 'https://abc.com' }
|
||||||
* @param author 作者仓库等信息 例:`本通知 By:https://github.com/whyour/qinglong`
|
* @param author 作者仓库等信息 例:`本通知 By:https://github.com/whyour/qinglong`
|
||||||
|
部分变量设置
|
||||||
|
## 拆分通知
|
||||||
|
export BEANCHANGE_PERSENT="10"
|
||||||
|
## 如果通知标题在此变量里面存在(&隔开),则用屏蔽不发送通知
|
||||||
|
export NOTIFY_SKIP_LIST="京东CK检测&京东资产变动"
|
||||||
|
## 当接收到发送CK失效通知和Ninja 运行通知时候执行子线程任务
|
||||||
|
export NOTIFY_CKTASK="jd_CheckCK.js"
|
||||||
|
## 如果此变量(&隔开)的关键字在通知内容里面存在,则屏蔽不发送通知.
|
||||||
|
export NOTIFY_SKIP_TEXT="忘了种植&异常"
|
||||||
|
## 屏蔽任务脚本的ck失效通知
|
||||||
|
export NOTIFY_NOCKFALSE="true"
|
||||||
|
## 服务器空数据等错误不触发通知
|
||||||
|
export CKNOWARNERROR="true"
|
||||||
|
## 屏蔽青龙登陆成功通知,登陆失败不屏蔽
|
||||||
|
export NOTIFY_NOLOGINSUCCESS="true"
|
||||||
|
## 通知底部显示
|
||||||
|
export NOTIFY_AUTHOR="来源于:https://github.com/KingRan/KR"
|
||||||
|
## 增加NOTIFY_AUTHOR_BLANK 环境变量,控制不显示底部信息
|
||||||
|
export NOTIFY_AUTHOR_BLANK="true"
|
||||||
|
## 增加NOTIFY_AUTOCHECKCK为true才开启通知脚本内置的自动禁用过期ck
|
||||||
|
export NOTIFY_AUTOCHECKCK=“true”
|
||||||
*/
|
*/
|
||||||
//详细说明参考 https://github.com/ccwav/QLScript2.
|
//详细说明参考 https://github.com/ccwav/QLScript2.
|
||||||
const querystring = require('querystring');
|
const querystring = require('querystring');
|
||||||
@ -183,10 +200,9 @@ if (process.env.NOTIFY_SHOWNAMETYPE) {
|
|||||||
if (ShowRemarkType == "4")
|
if (ShowRemarkType == "4")
|
||||||
console.log("检测到显示备注名称,格式为: 备注");
|
console.log("检测到显示备注名称,格式为: 备注");
|
||||||
}
|
}
|
||||||
async function sendNotify(text, desp, params = {}, author = '\n\n本通知 By ccwav Mod', strsummary = "") {
|
async function sendNotify(text, desp, params = {}, author = '\n\n本通知 By https://github.com/KingRan/KR',strsummary="") {
|
||||||
console.log(`开始发送通知...`);
|
console.log(`开始发送通知...`);
|
||||||
|
|
||||||
//NOTIFY_FILTERBYFILE代码来自Ca11back.
|
|
||||||
if (process.env.NOTIFY_FILTERBYFILE) {
|
if (process.env.NOTIFY_FILTERBYFILE) {
|
||||||
var no_notify = process.env.NOTIFY_FILTERBYFILE.split('&');
|
var no_notify = process.env.NOTIFY_FILTERBYFILE.split('&');
|
||||||
if (module.parent.filename) {
|
if (module.parent.filename) {
|
||||||
@ -202,7 +218,6 @@ async function sendNotify(text, desp, params = {}, author = '\n\n本通知 By cc
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
//Reset 变量
|
//Reset 变量
|
||||||
UseGroupNotify = 1;
|
UseGroupNotify = 1;
|
||||||
@ -1375,7 +1390,7 @@ async function sendNotify(text, desp, params = {}, author = '\n\n本通知 By cc
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (allCode) {
|
if (allCode) {
|
||||||
desp += '\n' + '\n' + "ccwav格式化后的互助码:" + '\n' + allCode;
|
desp += '\n' + '\n' + "格式化后的互助码:" + '\n' + allCode;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1462,7 +1477,6 @@ async function sendNotify(text, desp, params = {}, author = '\n\n本通知 By cc
|
|||||||
$.Remark += Tempinfo;
|
$.Remark += Tempinfo;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
desp = desp.replace(new RegExp(`${$.UserName}|${$.nickName}`, 'gm'), $.Remark);
|
desp = desp.replace(new RegExp(`${$.UserName}|${$.nickName}`, 'gm'), $.Remark);
|
||||||
strsummary = strsummary.replace(new RegExp(`${$.UserName}|${$.nickName}`, 'gm'), $.Remark);
|
strsummary = strsummary.replace(new RegExp(`${$.UserName}|${$.nickName}`, 'gm'), $.Remark);
|
||||||
//额外处理2,nickName不包含星号,但是确实是手机号
|
//额外处理2,nickName不包含星号,但是确实是手机号
|
||||||
@ -1633,6 +1647,7 @@ function getQLinfo(strCK, intcreated, strTimestamp, strRemark) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return strReturn
|
return strReturn
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user