2025年5月1日星期四

稀土掘金任务脚本

1.购买服务器阿里云:服务器购买地址https://t.aliyun.com/U/mS108v若失效,可用地址

1.购买服务器

阿里云:

服务器购买地址

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

若失效,可用地址

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.代码如下

/** * 稀土掘金  * 填写示例: * export JUEJIN_COOKIE = 'sessionid#uuid=123456&spider=0&msToken=xxxxxx&a_bogus=xxxxxx' * 多账号用换行,不要用 & * const $ = new Env('稀土掘金') * cron: 5 10 * * * */const initScript = require('init')const {$, notify, sudojia, checkUpdate} = initScript('稀土掘金');const jueJinList = process.env.JUEJIN_COOKIE ? process.env.JUEJIN_COOKIE.split(/\n/) : [];let message = '';// 接口地址const baseUrl = 'https://api.juejin.cn';// 请求头const headers = {    'Accept''*/*',    'Accept-Encoding''gzip, deflate, br, zstd',    "Content-type""application/json",    'Referer''https://juejin.cn/',    'Origin''https://juejin.cn',    'User-Agent''Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36',};
!(async () => {    await checkUpdate($.name, jueJinList);    // console.log(`\n已随机分配 User-Agent\n\n${headers['user-agent'] || headers['User-Agent']}`);    for (let i = 0; i < jueJinList.length; i++) {        const [juejinCookie, urlList] = jueJinList[i].split('#');        headers.Cookie = `sid_tt=${juejinCookie}; sessionid=${juejinCookie}; sessionid_ss=${juejinCookie}`;        const index = i + 1;        console.log(`\n*****第[${index}]个${$.name}账号*****`);        if (await checkStatus()) {            console.error('Cookie 已失效');            await notify.sendNotify(`「Cookie失效通知」``${$.name}账号[${index}] Cookie 已失效,请重新登录获取 Cookie\n\n`);            continue;        }        message += `📣====${$.name}账号[${index}]====📣\n`;        await $.wait(sudojia.getRandomWait(8001200));        await main(urlList);        await $.wait(sudojia.getRandomWait(20002500));    }    if (message) {        await notify.sendNotify(`「${$.name}」``${message}`);    }})().catch((e) => $.logErr(e)).finally(() => $.done());
/** * 主函数 * * @returns {Promise<void>} */async function main(urlList) {    await getUserName();    await $.wait(sudojia.getRandomWait(23002700));    await checkIn(urlList);    await $.wait(sudojia.getRandomWait(30003500));    await getOreNum(urlList);    await $.wait(sudojia.getRandomWait(30003500));    await getCount();}
/** * 获取用户信息 */async function getUserName() {    try {        const data = await sudojia.sendRequest(baseUrl + '/user_api/v1/user/get_info_pack?aid=2608''post', headers, {            "pack_req": {                "user_counter"true,                "user_growth_info"true,                "user"true            }        });        // 用户昵称        const userName = data.data.user_basic.user_name;        message += `【账号昵称】${userName}\n`;        console.log(`【账号昵称】${userName}`);    } catch (e) {        console.error(`获取用户信息发生异常: ${e.response.data}`);    }}
/** * 检查状态 * * @return {Promise<*>} */async function checkStatus() {    const data = await sudojia.sendRequest(baseUrl + '/growth_api/v1/get_today_status''get', headers);    return 403 === data.err_no;}
/** * 签到函数 * * @returns {*} */async function checkIn(urlList) {    try {        // uuid=7402961076386793000&spider=0&msToken=6N7P3ETmcpkVBSBdIEAoOvIE5TlEhnAmt382dbZpa1tNLnKhYR8QkGIKTJINouJxXGwc-JkvcwmUPhinCBGBtXg7ZsNn5LZzJtOpR4PSuRejD4spLQYUJ3tJdEurDng%3D&a_bogus=mX-QkcZ8Msm1Zhvtkhkz9GWEeOm0YWRkgZENqN9HUUo7        const data = await sudojia.sendRequest(baseUrl + `/growth_api/v1/check_in?aid=2608&${urlList}`'post', headers);        if (15001 === data.err_no) {            console.log(data.err_msg);            message += `【签到信息】${data.err_msg}\n`            return;        }        console.log(`签到成功,获得 ${data.data.incr_point} 矿石`);        message += `【签到信息】签到成功, 获得 ${data.data.incr_point} 矿石\n`    } catch (e) {        console.error(`签到时发生异常: ${e.response.data}`);    }}
/** * 获取总账号矿石数 */async function getOreNum(urlList) {    const data = await sudojia.sendRequest(baseUrl + `/growth_api/v1/get_cur_point?aid=2608&${urlList}`'get', headers);    console.log(`当前矿石数:${data.data}`);    message += `【总矿石数】${data.data} 矿石\n`}
/** * 查询免费抽奖次数 */async function queryFreeLuckyDrawCount(urlList) {    try {        const data = await sudojia.sendRequest(baseUrl + `/growth_api/v1/lottery_config/get?aid=2608&${urlList}`'get', headers);        // 获取免费抽奖次数        return data.data.free_count;    } catch (e) {        console.error(`查询免费抽奖次数时发生异常: ${e.response.data}`);        return 0;    }}
/** * 统计签到天数 */async function getCount() {    const data = await sudojia.sendRequest(baseUrl + '/growth_api/v1/get_counts?aid=2608''get', headers);    console.log(`已连续签到${data.data.cont_count}天、累计签到${data.data.sum_count}天`);    message += `【签到统计】已连续签到${data.data.cont_count}天、累计签到${data.data.sum_count}天\n`}

解析

这脚本自动为稀土掘进行每日签到,获取矿石奖励,并输出账户昵称、当前矿石数量与签到天数统计

功能总览:

项目
描述
📌 平台名称
稀土掘金(Juejin)
🧾 主要功能
签到、查询矿石、获取账号昵称、签到统计
🔁 多账号支持
是,使用 JUEJIN_COOKIE 环境变量,用换行分隔多个账号
🕒 定时执行
cron: 5 10 * * *(每天 10:05)
🔔 通知推送
支持,执行结果统一汇总并推送

方法说明:

main(urlList)

  1. getUserName() 获取用户昵称;

  2. checkIn(urlList) 执行签到;

  3. getOreNum(urlList) 查询当前矿石数量;

  4. getCount() 获取连续与累计签到天数。

getUserName()

  • 作用:通过 /user_api/v1/user/get_info_pack 接口获取用户昵称(user_basic.user_name)。

  • 请求方式:POST,附带请求体 pack_req

checkStatus()

  • 作用:检测当前 Cookie 是否有效。

  • 实现方式:请求 /growth_api/v1/get_today_status,若返回 403 说明已失效。

  • 若失效,将发送专门的失效通知(标题为 Cookie失效通知)。

checkIn(urlList)

  • 作用:调用 /growth_api/v1/check_in 进行签到。

  • 请求参数拼接了 uuidspidermsToken 和 a_bogus 等参数(urlList 变量)。

  • 成功返回获得的矿石数,失败返回错误信息(如已签到)。

getOreNum(urlList)

  • 作用:查询当前账户总矿石数,接口为 /growth_api/v1/get_cur_point

queryFreeLuckyDrawCount(urlList)(未调用)

  • 用于获取免费抽奖次数(备用函数,当前未使用)。

getCount()

  • 作用:获取签到天数统计(连续天数与累计签到天数)。

  • 接口:/growth_api/v1/get_counts

配置说明:

变量名
用法说明
JUEJIN_COOKIE
每行一个账号,格式为:sessionid#uuid=...&spider=0&msToken=...&a_bogus=...
headers.Cookie
拼接为多个 sessionid 形式的 Cookie

封装说明:

模块名
作用
initScript()
初始化脚本环境,如 $notifysudojia 等
sudojia.sendRequest()
请求发送封装
$.wait()
控制请求间隔,模拟人类操作
notify.sendNotify()
推送签到信息到消息平台


这是一个为稀土掘金平台编写的签到脚本,支持多账号签到、查询矿石、获取昵称及签到统计,因平台接口防护复杂,需要手动抓取参数组合,仅适用于签到任务。



注意

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


没有评论:

发表评论

内容创作者 vs 企业主 - 你属于哪一类?

自称企业主的人和自称内容创作者的人之间存在巨大分歧。 自称企业主的人和自称内容创作者的人之间存在巨大分歧。企业主似乎看不起内容创作者——他们认为内容创作者是轻浮的出卖者,只知道捞钱的空壳,几乎没有专业知识,却有过分膨胀的自我来弥补上述所有不足。 我最近和朋友辩论了这个话题,这...