阿里云:
服务器购买地址
https://t.aliyun.com/U/2s8buw
若失效,可用地址
https://www.aliyun.com/activity/wuying/dj?source=5176.29345612&userCode=49hts92d
腾讯云:
https://curl.qcloud.com/wJpWmSfU
若失效,可用地址
https://cloud.tencent.com/act/cps/redirect?redirect=2446&cps_key=ad201ee2ef3b771157f72ee5464b1fea&from=console
华为云
https://activity.huaweicloud.com/cps.html?fromacct=64b5cf7cc11b4840bb4ed2ea0b2f4468&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905
2.部署教程
3.代码如下
const axios = require("axios")
var headers = {cookie:config.quqi.cookie, referer: "https://quqi.com/"}
var sleep = ms => new Promise(resolve => setTimeout(resolve, ms));
function getdailyTask() {
return new Promise(async (resolve) => {
try {
let res = await axios.get(`https://exp.quqi.com/v1/dailyTask/state?_=1${Date.now()}`, {headers})
if(res.data.err==0){
list = res.data.data.filter(x => x.status != 2)
console.log(`剩余${list.length}任务未完成`)
resolve(list)
}
} catch (err) {
console.log(err)
}
resolve();
});
}
function getreward(id) {
return new Promise(async (resolve) => {
try {
let res = await axios.get(`https://exp.quqi.com/v1/dailyTask/sendAward/${id}`, {headers})
console.log("领取奖励:" + res.data.msg)
} catch (err) {
console.log(err)
}
resolve();
});
}
function visit(id) {
return new Promise(async (resolve) => {
try {
headers["User-Agent"] = "Mozilla/5.0 (Linux; Android 11; Redmi K30) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.120 Mobile Safari/537.36"
let res = await axios.post(`https://quqi.com/api/dir/ls?quqi_id=${id}`, `quqi_id=${id}&tree_id=1&node_id=0`, {headers})
let res1 = await axios.post(`https://quqi.com/auth/updateVisit?quqi_id=${id}`, `quqi_id=${id}`, {headers})
console.log("浏览:" + res1.data.msg)
await sleep(1000)
await getreward(14)
} catch (err) {
console.log(err)
}
resolve();
});
}
function getquqid() {
return new Promise(async (resolve) => {
try {
let res = await axios.get("https://group.quqi.com/v1/group/list", {headers})
if (res.data.msg == "success") {
gplist = res.data.data.filter(x => x.type == 14)
quqid = gplist.length == 0 ? res.data.data[0].quqi_id : gplist[0].quqi_id
gtype = gplist.length == 0 ? 1 : 2
if (gtype == 1) {
console.log("请自行创建")
let sqres = await axios.post("https://group.quqi.com/v1/application", "credential=ed521eef-7ed1-486f-a903-2457ebe5704f", {headers})
console.log("申请加入)
}
resolve({
qid: quqid,
gtype
})
}
} catch (err) {
console.log(err)
}
resolve();
});
}
function uploadimg(id) {
return new Promise(async (resolve) => {
try {
let name = `每日签到${Date.now()}`
headers["User-Agent"] = "Mozilla/5.0 (Linux; Android 11; Redmi K30) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.120 Mobile Safari/537.36"
let res = await axios.post(`https://quqi.com/api/upload/v1/file/init?quqi_id=${id}`, `file_name=${name}.jpg&is_slice=false&md5=507cf982c5db90bc35f9c6c8179c292f&parent_id=0&quqi_id=${id}&sha=4b4afc24113d86d0afd9be21b6841d9c627cdabf01317e3e760308b05f8bdd81&sign=617db783e0ba01343338ee9887dfdb18&size=331665&tree_id=1`, {headers})
if (res.data.msg == "ok") {
console.log(`上传图片 ${name} 成功`)
nid = res.data.data.node_id
if (nid) await axios.post(`https://quqi.com/api/node/batchDel?quqi_id=${id}`, `quqi_id=${id}&tree_id=1&node_ids=${nid}`, {headers})
await sleep(1000)
await getreward(15)
} else console.log("上传失败:" + res.data.msg)
} catch (err) {
console.log(err)
}
resolve();
});
}
async function quqi() {
let quqinfo = ""
let dailyTaskList = await getdailyTask()
let qgp = await getquqid()
if (dailyTaskList) {
for (task of dailyTaskList) {
console.log(task.task_decreption)
if (task.status == 1) await getreward(task.task_type)
else if (task.task_type == 14 && task.status == 0 && qgp.gtype == 2) await visit(qgp.qid)
else if (task.task_type == 15 && task.status == 0) await uploadimg(qgp.qid)
}
}
let ires = await axios.get("https://api.quqi.com/vipWallet/v1/vipAndWallet", {headers})
if (ires.data.msg == "success") quqinfo = `曲奇饼:${ires.data.data.wallet_info.cookie} 曲奇豆:${ires.data.data.wallet_info.bean}`
else quqinfo = ires.data.msg
console.log(quqinfo)
return "【曲奇网盘】:"+quqinfo
}
//quqi()
module.exports = quqi
解析
这脚本是一个用于自动执行日常任务的Node.js脚本,专门针对曲奇网盘(Quqi)平台。该脚本通过调用多个API接口,实现查询日常任务状态、执行签到、访问群组、上传图片等功能,并处理任务奖励。这个脚本使用了axios
库来发送HTTP请求,并通过异步函数来处理API的响应。
全局设置
headers
包含用于API请求的cookie和referer。
主要函数
getdailyTask():
查询用户的日常任务状态。 根据返回数据,筛选出未完成的任务。 getreward(id):
根据任务ID领取对应的奖励。 visit(id):
访问指定的多人群组并触发相关任务。 访问完成后调用 getreward()
来领取奖励。getquqid():
获取用户的群组ID。 如果用户没有加入任何多人群组,尝试加入一个新的群组。 uploadimg(id):
上传一张图片到指定群组,用于触发上传图片的日常任务。 上传成功后删除该图片,并领取任务奖励。 quqi():
总控制函数,调用上述函数完成所有日常任务。 最后获取并显示用户的曲奇饼(钱包信息)。
特点和流程
- 异步处理
使用 async/await
语法确保按顺序执行HTTP请求和后续处理。 - 异常处理
每个异步函数都包括了 try-catch
块来处理可能出现的错误,保证程序稳定运行。 - 任务执行逻辑
首先检查日常任务列表,然后根据任务类型和状态执行相应的操作,如签到、访问、上传等。 - 用户反馈
通过控制台输出执行结果和错误信息,用户可以即时看到每一步的执行情况。
应用场景
此脚本适合需要自动化处理网络盘日常任务的用户,特别是在曲奇网盘这类需要频繁进行小任务以积累资源的平台。通过自动化这些常规操作,用户可以更高效地管理其账户,优化其在平台上的体验和资源利用。
注意:
本文部分变量已做脱敏处理,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。技术层面需要提供帮助,可以通过打赏的方式进行探讨。
没有评论:
发表评论