mirror of
https://github.com/shufflewzc/faker2.git
synced 2025-04-23 02:48:44 +08:00
update
This commit is contained in:
parent
8efb2dc5df
commit
dd48ac0529
@ -3,6 +3,7 @@ import {Md5} from "ts-md5"
|
|||||||
import * as dotenv from "dotenv"
|
import * as dotenv from "dotenv"
|
||||||
import {existsSync, readFileSync} from "fs"
|
import {existsSync, readFileSync} from "fs"
|
||||||
import {sendNotify} from './sendNotify'
|
import {sendNotify} from './sendNotify'
|
||||||
|
import {rejects} from "assert";
|
||||||
|
|
||||||
dotenv.config()
|
dotenv.config()
|
||||||
|
|
||||||
@ -56,6 +57,7 @@ function TotalBean(cookie: string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getRandomNumberByRange(start: number, end: number) {
|
function getRandomNumberByRange(start: number, end: number) {
|
||||||
|
end <= start && (end = start + 100)
|
||||||
return Math.floor(Math.random() * (end - start) + start)
|
return Math.floor(Math.random() * (end - start) + start)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -340,31 +342,39 @@ async function jdpingou() {
|
|||||||
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`
|
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) {
|
function get(url: string, prarms?: string, headers?: any): Promise<any> {
|
||||||
return axios.get(url, {
|
return new Promise((resolve, reject) => {
|
||||||
|
axios.get(url, {
|
||||||
params: prarms,
|
params: prarms,
|
||||||
headers: headers
|
headers: headers
|
||||||
})
|
}).then(res => {
|
||||||
.then(res => {
|
if (typeof res.data === 'string' && res.data.includes('jsonpCBK')) {
|
||||||
if (typeof res.data === 'string' && res.data.match(/^jsonpCBK/)) {
|
resolve(JSON.parse(res.data.match(/jsonpCBK.?\(([\w\W]*)\);?/)[1]))
|
||||||
return JSON.parse(res.data.match(/jsonpCBK.?\(([\w\W]*)\);/)[1])
|
|
||||||
} else {
|
} else {
|
||||||
return res.data
|
resolve(res.data)
|
||||||
}
|
}
|
||||||
|
}).catch(err => {
|
||||||
|
reject({
|
||||||
|
code: err?.response?.status || -1,
|
||||||
|
msg: err?.response?.statusText || err.message || 'error'
|
||||||
|
})
|
||||||
|
})
|
||||||
})
|
})
|
||||||
.catch(err => {
|
|
||||||
console.log(err?.response?.status, err?.response?.statusText)
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function post(url: string, prarms?: string | object, headers?: any): Promise<any> {
|
function post(url: string, prarms?: string | object, headers?: any): Promise<any> {
|
||||||
return axios.post(url, prarms, {
|
return new Promise((resolve, reject) => {
|
||||||
|
axios.post(url, prarms, {
|
||||||
headers: headers
|
headers: headers
|
||||||
|
}).then(res => {
|
||||||
|
resolve(res.data)
|
||||||
|
}).catch(err => {
|
||||||
|
reject({
|
||||||
|
code: err?.response?.status || -1,
|
||||||
|
msg: err?.response?.statusText || err.message || 'error'
|
||||||
|
})
|
||||||
|
})
|
||||||
})
|
})
|
||||||
.then(res => res.data)
|
|
||||||
.catch(err => {
|
|
||||||
console.log(err?.response?.status, err?.response?.statusText)
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default USER_AGENT
|
export default USER_AGENT
|
||||||
|
4019
jdMsLogs.js
Normal file
4019
jdMsLogs.js
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
62
jd_cash.ts
Normal file
62
jd_cash.ts
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
import USER_AGENT, {post, requireConfig, wait} from './TS_USER_AGENTS'
|
||||||
|
import {getSign} from "./test/sign";
|
||||||
|
|
||||||
|
let cookie: string = '', res: any = '', data: any, UserName: string
|
||||||
|
|
||||||
|
!(async () => {
|
||||||
|
let cookiesArr: string[] = await requireConfig()
|
||||||
|
for (let [index, value] of Object.entries(cookiesArr)) {
|
||||||
|
cookie = value
|
||||||
|
UserName = decodeURIComponent(cookie.match(/pt_pin=([^;]*)/)![1])
|
||||||
|
console.log(`\n开始【京东账号${index + 1}】${UserName}\n`)
|
||||||
|
|
||||||
|
res = await api('cash_homePage', {})
|
||||||
|
if (res.data.result.signedStatus !== 1) {
|
||||||
|
console.log('今日未签到')
|
||||||
|
data = await api('cash_sign', {"remind": 0, "inviteCode": "", "type": 0, "breakReward": 0})
|
||||||
|
await wait(1000)
|
||||||
|
console.log('签到成功')
|
||||||
|
}
|
||||||
|
res = await api('cash_homePage', {})
|
||||||
|
|
||||||
|
await wait(1000)
|
||||||
|
let type: number[] = [2, 4, 31, 16, 3, 5, 17, 21]
|
||||||
|
let otherTaskNum = res.data.result.taskInfos.filter(item => !type.includes(item.type)).length
|
||||||
|
let taskNum = res.data.result.taskInfos.filter(item => type.includes(item.type)).length
|
||||||
|
console.log(taskNum, otherTaskNum)
|
||||||
|
|
||||||
|
for (let i = 0; i < 10; i++) {
|
||||||
|
res = await api('cash_homePage', {})
|
||||||
|
if (res.data.result.taskInfos.filter(item => type.includes(item.type) && item.doTimes === item.times).length === taskNum) {
|
||||||
|
console.log('任务全部完成')
|
||||||
|
break
|
||||||
|
}
|
||||||
|
for (let t of res?.data?.result?.taskInfos || []) {
|
||||||
|
if (t.doTimes < t.times && t.type !== 7) {
|
||||||
|
console.log(t.name)
|
||||||
|
data = await api('cash_doTask', {"type": t.type, "taskInfo": t.desc})
|
||||||
|
await wait(t.duration * 1000 || 1000)
|
||||||
|
if (data.data.bizCode === 0) {
|
||||||
|
console.log('任务完成', data.data.result.totalMoney ?? '')
|
||||||
|
break
|
||||||
|
} else {
|
||||||
|
console.log('任务失败', JSON.stringify(data))
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
await wait(2000)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})()
|
||||||
|
|
||||||
|
async function api(fn: string, body: object) {
|
||||||
|
let sign = getSign(fn, body)
|
||||||
|
return await post(`https://api.m.jd.com/client.action?functionId=${fn}`, sign, {
|
||||||
|
'Host': 'api.m.jd.com',
|
||||||
|
'Cookie': cookie,
|
||||||
|
'content-type': 'application/x-www-form-urlencoded',
|
||||||
|
'user-agent': USER_AGENT,
|
||||||
|
'referer': ''
|
||||||
|
})
|
||||||
|
}
|
@ -39,7 +39,6 @@ const token = [
|
|||||||
"31D76EB23737B3BF03EBDCC06EA2B9EC",
|
"31D76EB23737B3BF03EBDCC06EA2B9EC",
|
||||||
"3705013F73CEEA8CB2311DB6607046FE",
|
"3705013F73CEEA8CB2311DB6607046FE",
|
||||||
"FD78AA7B8266ACD77D2D998CDEA11D5C",
|
"FD78AA7B8266ACD77D2D998CDEA11D5C",
|
||||||
"903DFFB65088484F7743B5F437BB1649",
|
|
||||||
"8A23628E464CDA812A74D67C17EC601C",
|
"8A23628E464CDA812A74D67C17EC601C",
|
||||||
"41AFADC9C4AF8807DEC071FE688596FB",
|
"41AFADC9C4AF8807DEC071FE688596FB",
|
||||||
"5756464E7C6CF04B89E34C3CCA85CA7F",
|
"5756464E7C6CF04B89E34C3CCA85CA7F",
|
||||||
@ -48,7 +47,9 @@ const token = [
|
|||||||
"FE30AB00038CFFEF00DA9E9B8E932721",
|
"FE30AB00038CFFEF00DA9E9B8E932721",
|
||||||
"F0C24D7588D90922393B423C6623F31A",
|
"F0C24D7588D90922393B423C6623F31A",
|
||||||
"DFD953F3D54DAE2721568457FE12068C",
|
"DFD953F3D54DAE2721568457FE12068C",
|
||||||
"3DEACB6A49D5954B134A6C4DE73FEF42"
|
"F77DBB9FAAB5821D748B7A70D6582289",
|
||||||
|
"6A7CD06046134C5EEDEBCB11EE4DA525",
|
||||||
|
"6DAD8A8B77EC507D6513DE633CCB6406"
|
||||||
]
|
]
|
||||||
|
|
||||||
if ($.isNode()) {
|
if ($.isNode()) {
|
||||||
|
@ -15,18 +15,18 @@ let shareCodesSelf: string[] = [], shareCodes: string[] = [], shareCodesHW: stri
|
|||||||
let min: number[] = [0.02, 0.12, 0.3, 0.4, 0.6, 0.7, 0.8, 1, 1.2, 2, 3.6], log: string
|
let min: number[] = [0.02, 0.12, 0.3, 0.4, 0.6, 0.7, 0.8, 1, 1.2, 2, 3.6], log: string
|
||||||
|
|
||||||
!(async () => {
|
!(async () => {
|
||||||
cookiesArr = await requireConfig()
|
cookiesArr = await requireConfig(false)
|
||||||
cookiesArr = cookiesArr.slice(0, 1)
|
cookiesArr = cookiesArr.slice(0, 1)
|
||||||
await join()
|
await join()
|
||||||
await help()
|
await help()
|
||||||
|
|
||||||
cookiesArr = await requireConfig()
|
cookiesArr = await requireConfig(false)
|
||||||
cookiesArr = cookiesArr.slice(0, 9)
|
cookiesArr = cookiesArr.slice(0, 9)
|
||||||
if (new Date().getHours() === 0)
|
if (new Date().getHours() !== 6)
|
||||||
await join()
|
await join()
|
||||||
await getShareCodeSelf()
|
await getShareCodeSelf()
|
||||||
await help()
|
await help()
|
||||||
await open(0)
|
await open(1)
|
||||||
})()
|
})()
|
||||||
|
|
||||||
async function join() {
|
async function join() {
|
||||||
@ -35,7 +35,7 @@ async function join() {
|
|||||||
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`)
|
||||||
for (let i = 0; i < 5; i++) {
|
for (let i = 0; i < 3; i++) {
|
||||||
try {
|
try {
|
||||||
log = await getLog()
|
log = await getLog()
|
||||||
res = await api('h5launch', {followShop: 0, random: log.match(/"random":"(\d+)"/)[1], log: log.match(/"log":"(.*)"/)[1], sceneid: 'JLHBhPageh5'})
|
res = await api('h5launch', {followShop: 0, random: log.match(/"random":"(\d+)"/)[1], log: log.match(/"log":"(.*)"/)[1], sceneid: 'JLHBhPageh5'})
|
||||||
@ -133,27 +133,29 @@ async function help() {
|
|||||||
shareCodes = Array.from(new Set([...shareCodesSelf, ...shareCodesHW]))
|
shareCodes = Array.from(new Set([...shareCodesSelf, ...shareCodesHW]))
|
||||||
}
|
}
|
||||||
|
|
||||||
let me: string = await getShareCodeSelf(true)
|
let me: string = await getShareCodeSelf(true), remain: boolean = true
|
||||||
let success: boolean = false
|
|
||||||
for (let code of shareCodes) {
|
for (let code of shareCodes) {
|
||||||
if (success) break
|
if (!remain) break
|
||||||
|
let success: boolean = false
|
||||||
if (!fullCode.includes(code) && code !== me) {
|
if (!fullCode.includes(code) && code !== me) {
|
||||||
console.log(`账号${index + 1} ${UserName} 去助力 ${code} ${shareCodesSelf.includes(code) ? '*内部*' : ''}`)
|
console.log(`账号${index + 1} ${UserName} 去助力 ${code} ${shareCodesSelf.includes(code) ? '*内部*' : ''}`)
|
||||||
for (let i = 0; i < 5; i++) {
|
for (let i = 0; i < 5; i++) {
|
||||||
|
if (success) break
|
||||||
log = await getLog()
|
log = await getLog()
|
||||||
res = await api('jinli_h5assist', {"redPacketId": code, "followShop": 0, random: log.match(/"random":"(\d+)"/)[1], log: log.match(/"log":"(.*)"/)[1], sceneid: 'JLHBhPageh5'})
|
res = await api('jinli_h5assist', {"redPacketId": code, "followShop": 0, random: log.match(/"random":"(\d+)"/)[1], log: log.match(/"log":"(.*)"/)[1], sceneid: 'JLHBhPageh5'})
|
||||||
if (res.rtn_code === 403) {
|
if (res.rtn_code === 403) {
|
||||||
console.log('log error')
|
console.log('log error')
|
||||||
await wait(5000)
|
await wait(5000)
|
||||||
} else {
|
} else {
|
||||||
|
success = true
|
||||||
if (res.data.result.status === 0) {
|
if (res.data.result.status === 0) {
|
||||||
console.log('助力成功:', parseFloat(res.data.result.assistReward.discount))
|
console.log('助力成功:', parseFloat(res.data.result.assistReward.discount))
|
||||||
success = true
|
|
||||||
await wait(45000)
|
await wait(45000)
|
||||||
|
remain = false
|
||||||
break
|
break
|
||||||
} else if (res.data.result.status === 3) {
|
} else if (res.data.result.status === 3) {
|
||||||
console.log('今日助力次数已满')
|
console.log('今日助力次数已满')
|
||||||
success = true
|
remain = false
|
||||||
await wait(45000)
|
await wait(45000)
|
||||||
break
|
break
|
||||||
} else {
|
} else {
|
||||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user