2025年4月7日星期一

小白云盘任务脚本

1.购买服务器

阿里云:

服务器购买地址

https://t.aliyun.com/U/qqlxBb

若失效,可用地址

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.部署教程

2024年最新青龙面板跑脚本教程(一)持续更新中

3.代码如下

const axios = require("axios");
// Debug// const yaml = require("js-yaml");// const fs = require("fs");// if (fs.existsSync("./config.yml"))//     config = yaml.load(fs.readFileSync("./config.yml", "utf8"));
const xiaobaiAccounts = config.xiaobai;
const host = "xb.xiaobaigongju.com";const headers = {    thirdSession"",    "user-agent":        "Mozilla/5.0 (Linux; Android 14; V2055A Build/UP1A.231005.007; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36 uni-app Html5Plus/1.0 (Immersed/28.0)",    "Content-Type""application/json",    Host: host,};
async function xiaobai() {    let result = "【小白云盘每日签到】\n";    console.log(result);    let accountResults = [];    try {        const promises = xiaobaiAccounts.map(async (account, index) => {            let accountResult = `第${index + 1}个账号(${account.username}):`;            accountResult += await xiaobai_sign_add(account);            accountResults.push(accountResult);        });
        await Promise.all(promises);        result += accountResults.join("\n");    } catch (error) {        result += "运行错误";    }    console.log("小白云盘运行结束。");    return result;}
async function xiaobai_login(username, password) {    try {        const loginUrl = `https://${host}/v1/app/m/user/login`;        const postData = {            phone: username,            password: password,            invitedCode"",        };
        const response = await axios.post(loginUrl, postData, { headers });
        if (response.data && response.data.code === 200) {            const sessionKey = response.data.data.sessionKey;            headers.thirdSession = sessionKey;            console.log(`登录成功:${username}`);            return "登录成功--";        } else {            console.error(`登录失败:${username}`);            return "登录失败";        }    } catch (error) {        console.error(`登录帐户时出错:${username}${error.message}`);        return "登录出错";    }}
async function xiaobai_sign_add(account) {    try {        let loginResult = await xiaobai_login(            account.username,            account.password        );
        if (loginResult.includes("登录成功")) {            // 签到操作            const signUrl = `https://${host}/v1/app/m/sign/add`;            const response = await axios.post(signUrl, {}, { headers });
            if (response.data && response.data.code === 200) {                console.log(`签到成功:${account.username}`);                return loginResult + "签到成功";            } else if (                response.data &&                response.data.code === 500 &&                response.data.msg === "您今日已经签到过了哦!"            ) {                console.log(`今日已经签到过了:${account.username}`);                return loginResult + "今日已经签到过了";            } else {                console.error(`签到失败:${account.username}`);                return loginResult + `签到失败--${response.data.msg}`;            }        } else {            // 登录失败处理            console.error(`登录失败:${account.username}, 跳过登录。`);            return loginResult;        }    } catch (error) {        console.error(`签到时出错:${account.username}${error.message}`);        return "签到出错";    }}
// Debug// xiaobai().then(() => {//     console.log("\n");//     console.log(result);// });
module.exports = xiaobai;
解析

这个脚本是用于自动登录并签到小白云盘的Node.js程序。

  1. 自动登录:通过小白云盘的API,为多个账号自动登录。

  2. 自动签到:登录后自动执行签到操作。

  3. 错误处理:登录或签到失败时,捕获错误并记录。

xiaobai_login(username, password)

  • 功能:这个函数用来登录小白云盘。

  • 参数

    • username: 用户名或手机号。

    • password: 密码。

  • 返回值:登录的结果,包括成功或失败的状态消息。

  • 详细流程

    1. 构建登录请求的URL和POST数据。

    2. 使用axios发送POST请求进行登录。

    3. 根据响应数据更新headers中的thirdSession,用于后续的API调用认证。

xiaobai_sign_add(account)

  • 功能:为登录成功的账户执行签到操作。

  • 参数

    • account: 包含用户名和密码的账户对象。

  • 返回值:签到操作的结果。

  • 详细流程

    1. 调用xiaobai_login函数尝试登录。

    2. 如果登录成功,发送签到请求。

    3. 根据签到请求的响应处理签到结果(成功、已签过或失败)。

xiaobai()

  • 功能:执行所有账号的登录和签到流程,并汇总结果。

  • 返回值:所有账号的登录和签到结果的汇总。

  • 详细流程

    1. 遍历账户数组,为每个账户执行登录和签到。

    2. 使用Promise.all等待所有的登录和签到操作完成。

    3. 将所有结果整合并输出。


注意

本文部分变量已做脱敏处理,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。技术层面需要提供帮助,可以通过打赏的方式进行探讨。




没有评论:

发表评论

打字也能赚钱?分享3个零撸正规赚钱平台,一单一结600,空闲在家就能做!

在网上赚钱,其实就是靠信息差赚钱。 什么是信息差赚钱呢? 比如现在刚出现了一个项目,还没有多少人知道,有的人看了觉着是个新出现的项目肯定没有什么搞头,就扭头走了。 而有的人便抓住了这个机会,在没人搞的时候他先做了起来,然后跟着他做的人越来越多。等这个项目都出现在大众视野的时候...