This commit is contained in:
Faker 2023-05-04 02:40:54 +08:00
parent 0cbc7267c9
commit d2fbf154fc
13 changed files with 1382 additions and 1604 deletions

1
function/dylank.js Normal file

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

10
jd_gwfd.js Normal file

File diff suppressed because one or more lines are too long

16
jd_pp.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

12
jd_sghelp.js Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,15 +1,13 @@
/*
京东极速版签到+赚现金任务
每日9毛左右满31050可兑换无门槛红包
一个号需要运行20多分钟左右
赚金币任务
活动时间长期
活动入口东极速版app-现金签到
活动入口京喜特价app-百元生活费-赚金币
已支持IOS双京东账号,Node.js支持N个京东账号
脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js
============Quantumultx===============
[task_local]
#京东极速版
5 0,8 * * * jd_speed_sign.js,
15 2,14 * * * jd_speed_sign.js,
================Loon==============
[Script]
cron "15 2,14 * * *" script-path=jd_speed_sign.js,tag=京东极速版
@ -18,7 +16,7 @@ cron "15 2,14 * * *" script-path=jd_speed_sign.js,tag=京东极速版
============小火箭=========
京东极速版 = type=cron,script-path=jd_speed_sign.js, cronexpr="15 2,14 * * *", timeout=33600, enable=true
*/
const $ = new Env('京东极速版');
const $ = new Env('京喜特价赚金币');
const notify = $.isNode() ? require('./sendNotify') : '';
//Node.js用户请在jdCookie.js处填写京东ck;
const jdCookieNode = $.isNode() ? require('./jdCookie.js') : '';
@ -36,11 +34,11 @@ if ($.isNode()) {
const JD_API_HOST = 'https://api.m.jd.com/', actCode = 'visa-card-001';
!(async () => {
if (!cookiesArr[0]) {
$.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"});
$.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', { "open-url": "https://bean.m.jd.com/bean/signIndex.action" });
return;
}
const date = new Date()
$.last_day = new Date(date.getFullYear(), date.getMonth()+1, 0).getDate() == date.getDate()
$.last_day = new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate() == date.getDate()
for (let i = 0; i < cookiesArr.length; i++) {
if (cookiesArr[i]) {
cookie = cookiesArr[i];
@ -60,8 +58,8 @@ const JD_API_HOST = 'https://api.m.jd.com/', actCode = 'visa-card-001';
continue
}
await jdGlobal()
await $.wait(2*1000)
if (IPError){
await $.wait(2 * 1000)
if (IPError) {
console.log(`403 黑IP了换IP或等一段时间`);
break;
}
@ -77,16 +75,16 @@ const JD_API_HOST = 'https://api.m.jd.com/', actCode = 'visa-card-001';
async function jdGlobal() {
try {
await richManIndex()
//await richManIndex()
await wheelsHome()
await apTaskList()
await wheelsHome()
//await wheelsHome()
//await apTaskList()
//await wheelsHome()
// await signInit()
// await sign()
await invite()
await invite2()
//await invite()
//await invite2()
$.score = 0
$.total = 0
await taskList()
@ -106,75 +104,75 @@ async function jdGlobal() {
function showMsg() {
return new Promise(resolve => {
message += `本次运行获得${$.score}金币,共计${$.total}金币\n可兑换 ${($.total/10000).toFixed(2)} 元京东红包\n兑换入口:京东极速版->我的->金币`
message += `本次运行获得${$.score}金币,共计${$.total}金币\n可兑换 ${($.total / 10000).toFixed(2)} 元京东红包\n兑换入口:京东极速版->我的->金币`
$.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}`);
resolve()
})
}
async function signInit() {
return new Promise(resolve => {
$.get(taskUrl('speedSignInit', {
"activityId": "8a8fabf3cccb417f8e691b6774938bc2",
"kernelPlatform": "RN",
"inviterId":"wXX9SjXOdYMWe5Ru/1+x9A=="
}), async (err, resp, data) => {
try {
if (err) {
console.log(`${JSON.stringify(err)}`)
console.log(`${$.name} API请求失败请检查网路重试`)
} else {
if (safeGet(data)) {
data = JSON.parse(data);
//console.log(data)
}
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve(data);
}
})
})
}
// async function signInit() {
// return new Promise(resolve => {
// $.get(taskUrl('speedSignInit', {
// "activityId": "8a8fabf3cccb417f8e691b6774938bc2",
// "kernelPlatform": "RN",
// "inviterId": "wXX9SjXOdYMWe5Ru/1+x9A=="
// }), async (err, resp, data) => {
// try {
// if (err) {
// console.log(`${JSON.stringify(err)}`)
// console.log(`${$.name} API请求失败请检查网路重试`)
// } else {
// if (safeGet(data)) {
// data = JSON.parse(data);
// //console.log(data)
// }
// }
// } catch (e) {
// $.logErr(e, resp)
// } finally {
// resolve(data);
// }
// })
// })
// }
async function sign() {
return new Promise(resolve => {
$.get(taskUrl('speedSign', {
"kernelPlatform": "RN",
"activityId": "8a8fabf3cccb417f8e691b6774938bc2",
"noWaitPrize": "false"
}),
async (err, resp, data) => {
try {
if (err) {
console.log(`${JSON.stringify(err)}`)
console.log(`${$.name} API请求失败请检查网路重试`)
} else {
if (safeGet(data)) {
data = JSON.parse(data);
if (data.subCode === 0) {
console.log(`签到获得${data.data.signAmount}现金,共计获得${data.data.cashDrawAmount}`)
} else {
console.log(`签到失败,${data.msg}`)
}
}
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve(data);
}
})
})
}
// async function sign() {
// return new Promise(resolve => {
// $.get(taskUrl('speedSign', {
// "kernelPlatform": "RN",
// "activityId": "8a8fabf3cccb417f8e691b6774938bc2",
// "noWaitPrize": "false"
// }),
// async (err, resp, data) => {
// try {
// if (err) {
// console.log(`${JSON.stringify(err)}`)
// console.log(`${$.name} API请求失败请检查网路重试`)
// } else {
// if (safeGet(data)) {
// data = JSON.parse(data);
// if (data.subCode === 0) {
// console.log(`签到获得${data.data.signAmount}现金,共计获得${data.data.cashDrawAmount}`)
// } else {
// console.log(`签到失败,${data.msg}`)
// }
// }
// }
// } catch (e) {
// $.logErr(e, resp)
// } finally {
// resolve(data);
// }
// })
// })
// }
async function taskList() {
return new Promise(resolve => {
$.get(taskUrl('ClientHandleService.execute', {
"version": "3.1.0",
//"version": "3.1.0",
"method": "newTaskCenterPage",
"data": {"channel": 1}
"data": { "channel": 1 }
}),
async (err, resp, data) => {
try {
@ -188,22 +186,27 @@ async function taskList() {
$.taskName = task.taskInfo.mainTitle
if (task.taskInfo.status === 0) {
if (task.taskType >= 1000) {
await $.wait(800);
await doTask(task.taskType)
await $.wait(1000)
await $.wait(500);
} else {
$.canStartNewItem = true
while ($.canStartNewItem) {
if (task.taskType !== 3) {
await queryItem(task.taskType)
await $.wait(500);
await queryItem(task.taskType);
await $.wait(500);
} else {
await startItem("", task.taskType)
await $.wait(500);
await startItem("", task.taskType);
await $.wait(500);
}
}
}
} else {
console.log(`${task.taskInfo.mainTitle}已完成`)
}
if (IPError){
if (IPError) {
console.error('API请求失败停止执行')
break
}
@ -223,7 +226,7 @@ async function doTask(taskId) {
return new Promise(resolve => {
$.get(taskUrl('ClientHandleService.execute', {
"method": "marketTaskRewardPayment",
"data": {"channel": 1, "clientTime": +new Date() + 0.588, "activeType": taskId}
"data": { "channel": 1, "clientTime": +new Date() + 0.588, "activeType": taskId }
}), async (err, resp, data) => {
try {
if (err) {
@ -234,7 +237,7 @@ async function doTask(taskId) {
if (safeGet(data)) {
data = JSON.parse(data);
if (data.code === 0) {
console.log(`${data.data.taskInfo.mainTitle}任务完成成功,预计获得${data.data.reward}金币`)
console.log(`${data.data.taskInfo.mainTitle}任务完成成功,获得${data.data.reward}金币`)
} else {
console.log(`任务完成失败,${data.message}`)
}
@ -251,7 +254,7 @@ async function doTask(taskId) {
async function queryJoy() {
return new Promise(resolve => {
$.get(taskUrl('ClientHandleService.execute', {"method": "queryJoyPage", "data": {"channel": 1}}),
$.get(taskUrl('ClientHandleService.execute', { "method": "queryJoyPage", "data": { "channel": 1 } }),
async (err, resp, data) => {
try {
if (err) {
@ -262,8 +265,9 @@ async function queryJoy() {
data = JSON.parse(data);
if (data.data.taskBubbles)
for (let task of data.data.taskBubbles) {
await rewardTask(task.id, task.activeType)
await $.wait(500)
await $.wait(500);
await rewardTask(task.id, task.activeType);
await $.wait(500);
}
}
}
@ -280,7 +284,7 @@ async function rewardTask(id, taskId) {
return new Promise(resolve => {
$.get(taskUrl('ClientHandleService.execute', {
"method": "joyTaskReward",
"data": {"id": id, "channel": 1, "clientTime": +new Date() + 0.588, "activeType": taskId}
"data": { "id": id, "channel": 1, "clientTime": +new Date() + 0.588, "activeType": taskId }
}), async (err, resp, data) => {
try {
if (err) {
@ -311,17 +315,20 @@ async function queryItem(activeType = 1) {
return new Promise(resolve => {
$.get(taskUrl('ClientHandleService.execute', {
"method": "queryNextTask",
"data": {"channel": 1, "activeType": activeType}
"data": { "channel": 1, "activeType": activeType }
}), async (err, resp, data) => {
try {
if (err) {
console.log(`${JSON.stringify(err)}`)
console.log(`${$.name} API请求失败请检查网路重试`)
console.log(`${JSON.stringify(err)}`);
console.log(`${$.name} API请求失败请检查网路重试`);
await $.wait(1000);
} else {
if (safeGet(data)) {
data = JSON.parse(data);
if (data.code === 0 && data.data) {
await startItem(data.data.nextResource, activeType)
await $.wait(800);
await startItem(data.data.nextResource, activeType);
await $.wait(500);
} else {
console.log(`商品任务开启失败,${data.message}`)
$.canStartNewItem = false
@ -360,12 +367,13 @@ async function startItem(activeId, activeType) {
data = JSON.parse(data);
if (data.code === 0 && data.data) {
if (data.data.taskInfo.isTaskLimit === 0) {
let {videoBrowsing, taskCompletionProgress, taskCompletionLimit} = data.data.taskInfo
let { videoBrowsing, taskCompletionProgress, taskCompletionLimit } = data.data.taskInfo
if (activeType !== 3)
videoBrowsing = activeType === 1 ? 5 : 10
console.log(`${taskCompletionProgress + 1}/${taskCompletionLimit}】浏览商品任务记录成功,等待${videoBrowsing}`)
await $.wait(videoBrowsing * 1000)
await endItem(data.data.uuid, activeType, activeId, activeType === 3 ? videoBrowsing : "")
await endItem(data.data.uuid, activeType, activeId, activeType === 3 ? videoBrowsing : "");
await $.wait(1000);
} else {
console.log(`${$.taskName}任务已达上限`)
$.canStartNewItem = false
@ -408,7 +416,9 @@ async function endItem(uuid, activeType, activeId = "", videoTimeLength = "") {
if (safeGet(data)) {
data = JSON.parse(data);
if (data.code === 0 && data.isSuccess) {
await rewardItem(uuid, activeType, activeId, videoTimeLength)
await $.wait(500);
await rewardItem(uuid, activeType, activeId, videoTimeLength);
await $.wait(500);
} else {
console.log(`${$.taskName}任务结束失败,${data.message}`)
}
@ -465,7 +475,7 @@ async function rewardItem(uuid, activeType, activeId = "", videoTimeLength = "")
async function cash() {
return new Promise(resolve => {
$.get(taskUrl('MyAssetsService.execute',
{"method": "userCashRecord", "data": {"channel": 1, "pageNum": 1, "pageSize": 20}}),
{ "method": "userCashRecord", "data": { "channel": 1, "pageNum": 1, "pageSize": 20 } }),
async (err, resp, data) => {
try {
if (err) {
@ -486,70 +496,12 @@ async function cash() {
})
}
// 大转盘
function wheelsHome() {
return new Promise(resolve => {
$.get(taskGetUrl('wheelsHome',
{"linkId":"toxw9c5sy9xllGBr3QFdYg"}),
async (err, resp, data) => {
try {
if (err) {
console.log(`${JSON.stringify(err)}`)
console.log(`${$.name} API请求失败请检查网路重试`)
} else {
if (safeGet(data)) {
data = JSON.parse(data);
if(data.code ===0){
console.log(`【幸运大转盘】剩余抽奖机会:${data.data.lotteryChances}`)
while(data.data.lotteryChances--) {
await wheelsLottery()
await $.wait(500)
}
}
}
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve(data);
}
})
})
}
// 大转盘
function wheelsLottery() {
return new Promise(resolve => {
$.get(taskGetUrl('wheelsLottery',
{"linkId":"toxw9c5sy9xllGBr3QFdYg"}),
async (err, resp, data) => {
try {
if (err) {
console.log(`${JSON.stringify(err)}`)
console.log(`${$.name} API请求失败请检查网路重试`)
} else {
if (safeGet(data)) {
data = JSON.parse(data);
if(data.data && data.data.rewardType){
console.log(`幸运大转盘抽奖获得:【${data.data.couponUsedValue}-${data.data.rewardValue}${data.data.couponDesc}\n`)
message += `幸运大转盘抽奖获得:【${data.data.couponUsedValue}-${data.data.rewardValue}${data.data.couponDesc}\n`
}else{
console.log(`幸运大转盘抽奖获得:空气`)
}
}
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve(data);
}
})
})
}
// 大转盘任务
function apTaskList() {
return new Promise(resolve => {
$.get(taskGetUrl('apTaskList',
{"linkId":"toxw9c5sy9xllGBr3QFdYg"}),
{ "linkId": "toxw9c5sy9xllGBr3QFdYg" }),
async (err, resp, data) => {
try {
if (err) {
@ -558,12 +510,12 @@ function apTaskList() {
} else {
if (safeGet(data)) {
data = JSON.parse(data);
if(data.code ===0){
for(let task of data.data){
if (data.code === 0) {
for (let task of data.data) {
// {"linkId":"toxw9c5sy9xllGBr3QFdYg","taskType":"SIGN","taskId":67,"channel":4}
if(!task.taskFinished && ['SIGN','BROWSE_CHANNEL'].includes(task.taskType)){
if (!task.taskFinished && ['SIGN', 'BROWSE_CHANNEL'].includes(task.taskType)) {
console.log(`去做任务${task.taskTitle}`)
await apDoTask(task.taskType,task.id,4,task.taskSourceUrl)
await apDoTask(task.taskType, task.id, 4, task.taskSourceUrl)
}
}
}
@ -578,11 +530,11 @@ function apTaskList() {
})
}
// 大转盘做任务
function apDoTask(taskType,taskId,channel,itemId) {
function apDoTask(taskType, taskId, channel, itemId) {
// console.log({"linkId":"toxw9c5sy9xllGBr3QFdYg","taskType":taskType,"taskId":taskId,"channel":channel,"itemId":itemId})
return new Promise(resolve => {
$.get(taskGetUrl('apDoTask',
{"linkId":"toxw9c5sy9xllGBr3QFdYg","taskType":taskType,"taskId":taskId,"channel":channel,"itemId":itemId}),
{ "linkId": "toxw9c5sy9xllGBr3QFdYg", "taskType": taskType, "taskId": taskId, "channel": channel, "itemId": itemId }),
async (err, resp, data) => {
try {
if (err) {
@ -591,9 +543,9 @@ function apDoTask(taskType,taskId,channel,itemId) {
} else {
if (safeGet(data)) {
data = JSON.parse(data);
if(data.code ===0 && data.data && data.data.finished){
if (data.code === 0 && data.data && data.data.finished) {
console.log(`任务完成成功`)
}else{
} else {
console.log(JSON.stringify(data))
}
}
@ -609,7 +561,7 @@ function apDoTask(taskType,taskId,channel,itemId) {
// 红包大富翁
function richManIndex() {
return new Promise(resolve => {
$.get(taskUrl('richManIndex', {"actId":"hbdfw","needGoldToast":"true"}), async (err, resp, data) => {
$.get(taskUrl('richManIndex', { "actId": "hbdfw", "needGoldToast": "true" }), async (err, resp, data) => {
try {
if (err) {
console.log(`${JSON.stringify(err)}`)
@ -617,9 +569,9 @@ function richManIndex() {
} else {
if (safeGet(data)) {
data = JSON.parse(data);
if(data.code ===0 && data.data && data.data.userInfo){
if (data.code === 0 && data.data && data.data.userInfo) {
console.log(`用户当前位置:${data.data.userInfo.position},剩余机会:${data.data.userInfo.randomTimes}`)
while(data.data.userInfo.randomTimes--){
while (data.data.userInfo.randomTimes--) {
await shootRichManDice()
}
}
@ -636,7 +588,7 @@ function richManIndex() {
// 红包大富翁
function shootRichManDice() {
return new Promise(resolve => {
$.get(taskUrl('shootRichManDice', {"actId":"hbdfw"}), async (err, resp, data) => {
$.get(taskUrl('shootRichManDice', { "actId": "hbdfw" }), async (err, resp, data) => {
try {
if (err) {
console.log(`${JSON.stringify(err)}`)
@ -644,10 +596,10 @@ function shootRichManDice() {
} else {
if (safeGet(data)) {
data = JSON.parse(data);
if(data.code ===0 && data.data && data.data.rewardType && data.data.couponDesc){
if (data.code === 0 && data.data && data.data.rewardType && data.data.couponDesc) {
message += `红包大富翁抽奖获得:【${data.data.couponUsedValue}-${data.data.rewardValue} ${data.data.poolName}\n`
console.log(`红包大富翁抽奖获得:【${data.data.couponUsedValue}-${data.data.rewardValue} ${data.data.poolName}`)
}else{
} else {
console.log(`红包大富翁抽奖:获得空气`)
}
}
@ -743,14 +695,12 @@ function taskGetUrl(function_id, body) {
function invite2() {
let inviterIdArr = [
"wXX9SjXOdYMWe5Ru/1+x9A==",
"wXX9SjXOdYMWe5Ru/1+x9A==",
"4AVQao+eH8Q8kvmXnWmkG8ef/fNr5fdejnD9+9Ugbec="
"wXX9SjXOdYMWe5Ru/1+x9A=="
]
let inviterId = inviterIdArr[Math.floor((Math.random() * inviterIdArr.length))]
let options = {
url: "https://api.m.jd.com/",
body: `functionId=TaskInviteServiceNew&body=${JSON.stringify({"method":"participateInviteTask","data":{"channel":"1","encryptionInviterPin":encodeURIComponent(inviterId),"type":1}})}&appid=jx_h5&uuid=&_t=${Date.now()}`,
body: `functionId=TaskInviteServiceNew&body=${JSON.stringify({ "method": "participateInviteTask", "data": { "channel": "1", "encryptionInviterPin": encodeURIComponent(inviterId), "type": 1 } })}&appid=jx_h5&uuid=&_t=${Date.now()}`,
headers: {
"Host": "api.m.jd.com",
"Accept": "application/json, text/plain, */*",
@ -768,34 +718,6 @@ function invite2() {
})
}
function invite() {
let t = +new Date()
let inviterIdArr = [
"wXX9SjXOdYMWe5Ru/1+x9A==",
"wXX9SjXOdYMWe5Ru/1+x9A==",
"4AVQao+eH8Q8kvmXnWmkG8ef/fNr5fdejnD9+9Ugbec="
]
let inviterId = inviterIdArr[Math.floor((Math.random() * inviterIdArr.length))]
let options = {
url: `https://api.m.jd.com/?t=${t}`,
body: `functionId=InviteFriendChangeAssertsService&body=${JSON.stringify({"method":"attendInviteActivity","data":{"inviterPin":encodeURIComponent(inviterId),"channel":1,"token":"","frontendInitStatus":""}})}&referer=-1&eid=eidI9b2981202fsec83iRW1nTsOVzCocWda3YHPN471AY78%2FQBhYbXeWtdg%2F3TCtVTMrE1JjM8Sqt8f2TqF1Z5P%2FRPGlzA1dERP0Z5bLWdq5N5B2VbBO&aid=&client=ios&clientVersion=14.4.2&networkType=wifi&fp=-1&uuid=ab048084b47df24880613326feffdf7eee471488&osVersion=14.4.2&d_brand=iPhone&d_model=iPhone10,2&agent=-1&pageClickKey=-1&platform=3&lang=zh_CN&appid=market-task-h5&_t=${t}`,
headers: {
"Host": "api.m.jd.com",
"Accept": "application/json, text/plain, */*",
"Content-type": "application/x-www-form-urlencoded",
"Origin": "https://invite-reward.jd.com",
"Accept-Language": "zh-CN,zh-Hans;q=0.9",
"User-Agent": $.isNode() ? (process.env.JS_USER_AGENT ? process.env.JS_USER_AGENT : (require('./JS_USER_AGENTS').USER_AGENT)) : ($.getdata('JSUA') ? $.getdata('JSUA') : "'jdltapp;iPad;3.1.0;14.4;network/wifi;Mozilla/5.0 (iPad; CPU OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"),
"Referer": 'https://invite-reward.jd.com/',
"Accept-Encoding": "gzip, deflate, br",
"Cookie": cookie
}
}
$.post(options, (err, resp, data) => {
//console.log(data)
})
}
function TotalBean() {
return new Promise(async resolve => {
const options = {

11
jd_ttlhb.js Normal file

File diff suppressed because one or more lines are too long

16
jd_ttqdlxj.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long