2025年3月30日星期日

某艺任务脚本(二)

1.购买服务器

阿里云:

服务器购买地址

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

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

3.代码如下

const mixin = {    baseUrl"https://app.3000.com",    standardFlagtrue,    timeout15000,    withCredentialsfalse};let sleep = ms => new Promise(resolve => setTimeout(resolve, ms));const axios = require("axios")token = config.shanyi.tokenu = config.shanyi.uconst gids= config.shanyi.gids.split("&")//const gids = [116993]urlpara = "&v=1.0.0&app_version=2.4.5&client=" + config.shanyi.clientdatapara = "&u=" + encodeURIComponent(u) + "&token=" + encodeURIComponent(token)
function post(options) {    //let params = Object.assign({}, para, options.para);    return new Promise((resolve, reject) => {        axios.post(mixin.baseUrl + options.url + urlpara, options.data + datapara, {                headers: {                    "User-Agent": config.shanyi.UA                }            })            .then(response => {      //      if(options.url.match(/topic/))console.log(response)                resolve(response.data);            })            .catch(err => {                console.log(err)                resolve({                    tip: err                });            });    });}let mds = ""let yxList = []var task = async function(name, url, data) {    return await post({        url: url,        data: data    }).then(res => {        console.log(`${name}${res.msg}`)        return res;    });};
function jm(data) {    let algorithm = 'aes-128-cbc'    let passwd = 'WDF#$H*#SJN*&G$&'    let iv = 'JH&$GF$DR%*K@SC%'    let cryptojs = require('crypto-js');    str = cryptojs.AES.encrypt("" + data, cryptojs.enc.Utf8.parse(passwd), {        iv: cryptojs.enc.Utf8.parse(iv),        mode: cryptojs.mode.CBC,        // padding: cryptojs.pad.Pkcs7    })    return encodeURIComponent(str.toString())}

function randC() {    let key = ["日常""爱了""咪""好","☝"]    let i = Math.floor((Math.random() * key.length))    return key[i]}


async function shanyi() {    let res = await task("获取任务列表""/?m=user&op=daily_task&ac=index""")    if (JSON.stringify(res).match(/你还未登录|另一台设备|已过期/)) {        return "token和u已失效或填写错误";    } else {        for (gid of gids) {            let ginfo = await task("作品详情""/?m=game_info&op=index&ac=game_detail""gid=" + jm(gid))            if (ginfo.status == 0 && ginfo.data) {                game_name = ginfo.data.game_info.name                console.log(game_name)                qzid = ginfo.data.circle_id                await task("阅读""/?m=user&op=index&ac=add_user_play_time""minute=" + jm(120) + "&gid=" + jm(gid))                for (i = 0; i < 5; i++) {                    await task(`第${i+1}次分享`"/?m=share&op=index&ac=game_share""game_id=" + jm(gid) + "&op_from=5nXP9qADvw3bmKOnRJA5Xw%3D%3D")                    await sleep(13000)                }                await task("评论作品""/?m=comment&op=index&ac=do_comment""game_id=" + jm(gid) + "&type=2jyfrX4gfTvnrWc%2BorX%2Bog%3D%3D&content=" + jm(randC()))                let cres = await task("获取评论列表""?m=comment&op=index&ac=list""list_type=W%2FWdZKs5lJhcLOK5XBhwXA%3D%3D&game_id=" + jm(gid) + "&page=2jyfrX4gfTvnrWc%2BorX%2Bog%3D%3D")                if (cres.status == 0 && cres.data.comment_list) {                    comment_list = cres.data.comment_list.list || []                    for (c = 0; c < 6; c++) {                        if (comment_list[c]) {                            cid = jm(comment_list[c].id)                            await task("作品评论点赞""/?m=comment&op=index&ac=love_comment""comment_id=" + cid)                            await task("作品评论回复""/?m=reply&op=index&ac=do_reply""comment_id=" + cid + "&content=" + jm("dd"))                            await sleep(2000)                        }                    }                }                                if (qzid) {                    let qres = await task("获取圈子评论列表""/?m=qz&op=circle&ac=topic_list"`page=2jyfrX4gfTvnrWc%2BorX%2Bog%3D%3D&type=2jyfrX4gfTvnrWc%2BorX%2Bog%3D%3D&limit=W%2FWdZKs5lJhcLOK5XBhwXA%3D%3D&circle_id=${jm(qzid)}`)                    if (qres.status == 0 && qres.data && qres.data.list) {                        let qzlist = qres.data.list || []                        for (q = 0; q < 7; q++) {                            if (qzlist[q]) {                                console.log(qzlist[q].topic_name)                                qid = qzlist[q].id                                await task("    点赞""/?m=qz&op=topic&ac=praise""topic_id=" + jm(qid))                                await task("    回复""?m=qz&op=topic&ac=add_topic_comment""topic_id=" + jm(qid) + "&content=" + jm("dd"))                                await sleep(2000)                            }
                        }                    }                } else console.log("该作品还没有开通圈子哦")            }        }    }}module.exports = shanyi

解析

这脚本是一个用于自动化操作的JavaScript程序,设计用于在某艺平台上自动执行一系列与内容互动相关的任务,如阅读、分享、评论、点赞等。该脚本使用Node.js环境运行,依赖于axios库来进行HTTP请求,并使用AES加密来处理敏感参数。

脚本的主要功能和组成部分:

配置和全局变量

  • mixin
    : 包含基础的API URL和其他HTTP请求配置。
  • tokenugids
    : 用户身份验证用的令牌、用户ID和要操作的作品ID列表,这些ID通过配置读取并通过AES加密传输。

加密函数

  • jm
    : 对给定数据进行AES加密,用于安全地传输敏感信息如用户ID、作品ID等。

异步任务执行函数

  • task
    : 执行具体的操作任务,如获取任务列表、提交评论等,返回操作结果。

主要逻辑处理

  • shanyi
    : 主函数,控制整个脚本的执行流程。它首先验证用户的登录状态,然后遍历gids列表中的每一个作品ID来执行一系列任务:
    • 获取作品详情
      :包括作品名和相关圈子ID。
    • 阅读作品
      :模拟用户阅读行为。
    • 分享作品
      :多次分享作品。
    • 评论作品
      :提交评论。
    • 点赞和回复评论
      :在获取到的评论列表中对评论进行点赞和回复。
    • 操作圈子评论
      :在相关圈子内进行评论的点赞和回复。

辅助函数和流程控制

  • sleep
    : 延时函数,用于在连续操作间添加等待时间以模拟人类用户行为。
  • randC
    : 生成随机评论内容,用于评论作品和回复。


这个脚本充分利用了现代JavaScript异步编程的特点,通过async/await语法来简化异步HTTP请求的处理。通过模拟用户行为和处理服务器响应,该脚本可以自动化完成在闪艺平台上的常见互动任务,极大地减少了重复性工作的需要。同时,通过加密传输敏感信息来增加操作的安全性。

历史文章
闪艺任务脚本(一)

注意

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

没有评论:

发表评论

热点点评 I 全球稳定币的现状与未来:基于USDT和USDC的分析

兴业银行 蒋晓宇全球稳定币的现状与未来:基于USDT和USDC的分析事件2025年3月,作为美国主要银行业监 兴业银行 蒋晓宇 全球稳定币的现状与未来: 基于USDT和USDC的分析 事件 2025年3月,作为美国主要银行业监管部门的货币监理署(OCC)、联邦存款保险公司(F...