Auto_Helper使用说明

AutoPlan_Helper

这是一个自动化的托管系统,目前支持网易云签到刷歌,bilibili赚经验+自动赛事预测,米游社原神签到,部署至服务器和你的小伙伴一起赚经验吧

如果觉得好用,点个star

2.0版本已更新,带来全新的界面体验,感谢@MuXia-0326大佬的辛勤付出

注意:1.x - 2.0版本升级需要升级配置文件,以及新增一个定时任务(不一定要执行sql,可以直接去管理界面加):

INSERT INTO `t_sys_quartz_job` (`id`, `job_name`, `job_group`, `invoke_target`, `cron_expression`, `misfire_policy`, `concurrent`, `status`) VALUES ('592295794938351617', '米游社更新个人信息', 'DEFAULT', 'mihuyouTask.updateAvatar()', '0 15 0 ? * MON', '3', '1', 0);

效果展示

image-20220126220348974

开源地址

wyt1215819315 / autoplan
GitHub issues
GitHub forks
GitHub stars
GitHub license

目前已经实现

  1. b站每日自动经验任务
  2. b站赛事预测赚硬币任务
  3. 网易云自动签到刷歌任务
  4. 米游社原神签到领奖励任务以及米游币任务

测试服务器地址

点击打开

本人不会利用任何cookie,但是为了安全考虑,建议还是自己搭建运行环境

项目结构

采用Springboot + Thymeleaf + layui制作

数据库:mysql

登录安全验证及权限管理:spring-security

定时任务核心:quartz(从pearadmin中抠过来的)

使用说明

  • 新建托管任务请先注册或登录一个账号
  • 本项目默认会在早上8点开始执行任务,中午12点更新网易云状态信息
  • 任务执行完成之后,可前往我的任务中查看上一次的运行日志。

网易云状态信息有可能更新失败,如果要查看准确的,请前往网易云个人中心自行查看:https://music.163.com/#/user/level

··bilibili··

支持b站签到任务以及赛事预测任务,赛事预测默认会跟着押注多的一方押注,可以在配置中更改为反向押注

  1. 使用扫码自动填充cookie值(推荐!!)

img

  1. 使用cookie登录

    1. 使用电脑端浏览器登录bilibili
    2. 右键选择审查元素或者按f12调出开发者工具
    3. 选择应用程序/Application
    4. 找到左边储存/Storage一栏并找到Cookie/Cookies一项
    5. 选择bilibili.com并查看cookie值,如下图
      img
进阶设置

大部分配置参数依赖于BILIBILI-HELPER-PRE

下面是给出的一张参数参考,页面中已经提供了翻译,如果想查看详情的话请对照下表

KeyValue说明
matchGame[false,true]是否开启赛事预测。
showHandModel[false,true]true :压赔率高的,false:压赔率低的
predictNumberOfCoins1-10单次预测的硬币数量,默认为1
minimumNumberOfCoins[1,无穷大]预留的硬币数,低于此数量不执行赛事预测。
taskIntervalTime[1,无穷大]任务之间的执行间隔,默认10秒,为了避免服务器资源被恶意利用,可以设置的最大时间为20s
numberOfCoins[0,5]每日投币数量,默认 5 ,为 0 时则不投币
reserveCoins[0,4000]预留的硬币数,当硬币余额小于这个值时,不会进行投币任务,默认值为 50
selectLike[0,1]投币时是否点赞,默认 0, 0:否 1:是
monthEndAutoCharge[false,true]年度大会员月底是否用 B 币券自动充电,默认 true
giveGift[false,true]直播送出即将过期的礼物,默认开启,如需关闭请改为 false
upLive[0,送礼 up 主的 uid]直播送出即将过期的礼物,指定 up 主,为 0 时则随随机选取一个 up 主
chargeForLove[充电对象的 uid]给指定 up 主充电,值为充电对象的 uid ,默认为0
chargeDay[1,28]默认为每月28号
devicePlatform[ios,android]手机端漫画签到时的平台,建议选择你设备的平台 ,默认 ios
coinAddPriority[0,1]0:优先给热榜视频投币,1:优先给关注的 up 投币
userAgent浏览器 UA用户可根据部署平台配置,可根据 userAgent 参数列表自由选取
skipDailyTask[false,true]是否跳过每日任务,默认true,如果关闭跳过每日任务,请改为false

*tips:如果你没有上传过视频并开启充电计划,充电会失败,B 币券会浪费。此时建议配置为给指定的 up 主充电。&& 如果选择为指定up充电,请务必填写正确值

userAgent 可选参数列表

平台浏览器userAgent
Windows10EDGE(chromium)Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36 Edg/86.0.622.69
Windows10ChromeMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36
masOSsafariMozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15
macOSFirefoxMozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:65.0) Gecko/20100101 Firefox/65.0
macOSChromeMozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36

ps:如果尝试给关注的 up 投币十次后(保不准你关注的是年更 up 主),还没完成每日投币任务,则切换成热榜模式,给热榜视频投币

投币数量代码做了处理,如果本日投币不能获得经验了,则不会投币,每天只投能获得经验的硬币。假设你设置每日投币 3 个,早上 7 点你自己投了 2 个硬币,则十点半时,程序只会投 1 个)

··网易云··

仅支持使用手机号和密码登录,国内手机号不用填国家代码。别的都是字面意思

··米游社··

暂时只支持原神签到任务以及米游币任务,关于cookie的获取教程如下

注意,米游社获取的cookie必须包括account_id/ltuid/login_uidcookie_token字段,否则会被视为无效cookie

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓重要↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

米游社获取的cookie中现在已经没有login_ticket字段了,如果需要使用米游币任务,请前往米哈游通行证处获取:https://user.mihoyo.com/

如果您一个cookie中都包含了上述这些必要字段,第二项cookie就不用写了

如果第一次添加任务的时候没有输入米哈游通行证的cookie或者cookie失效导致米游币任务执行失败,您可以在编辑功能中重新追加。

米游币任务会执行以下几项内容:

  1. 社区签到
  2. 点赞
  3. 分享
  4. 浏览
电脑端

请尽量使用浏览器无痕模式来进行以下操作,否则注销账户之后,获取的cookie也会随之失效!

懂行的人可以直接略过,直接从浏览器f12复制cookie就完事了

img

添加米游社任务页面给出了提示,

  1. 将这个红色标签拖动到书签栏
  2. 登录米游社,注意一定要登录
  3. 打开 米游社通行证/米游社 页面
  4. 点击刚刚拖到书签的标签复制cookie即可

img

手机端

先贴上js代码:

javascript:(function(){let domain=document.domain;let cookie=document.cookie;prompt(`Cookies: ${domain}`, cookie)})();
  1. 收藏本页面
  2. 进入书签栏编辑刚刚加入的书签
  3. 将地址改为刚刚的js代码并保存
    img
  4. 打开米哈游通行证/米游社页面并登录
  5. 点击刚刚收藏的书签会弹出一个框,复制中间的cookie即可

img

图片仅供参考,如果需要执行同时执行米游币任务,请务必填写两项cookie!

订阅执行结果

本项目主体推送部分代码由BILIBILI-HELPER-PRE修改而成,使用webhook推送有两种方式:

  1. 在新建任务时填入webhook,这种方式仅对这个任务生效。
  2. 使用全局webhook:在个人中心设置中设定全局webhook。

当同时存在单任务webhook和全局webhook时,程序会默认选择单任务webhook进行推送,只有在推送失败时才会使用全局webhook

警告!!1.3版本的更新重构了推送部分的代码,之前设置的推送地址会全部失效,目前推送部分代码为json字符串形式传入,在填写webhook的页面中已经给出了生成器页面,请使用生成器生成之后复制到webhook一栏。

tips:个人信息修改中可以发送一条测试消息校验webhook的正确性。

目前项目的推送支持:

  • server 酱
  • server 酱 Turbo
  • Telegram
  • PUSH PLUS
  • 钉钉
  • 企业微信

Server 酱 Turbo 版

  1. 前往 sct.ftqq.com点击登入,创建账号。
  2. 点击点SendKey ,生成一个 Key

    image-20211004203121775

  3. 进入生成页面,选择server酱turbo,填入key
  4. 配置消息通道 ,选择方糖服务号,保存即可。

钉钉机器人

  1. 首先你得有个钉钉企业 快速注册
  2. 进入钉钉开放平台添加机器人

目前钉钉机器人有两种认证方式,两种方式均需要填入推送地址(webhook)

  1. 加签(secret)

    1. 在机器人安全设置中选择加签,机器人会生成一串密钥,复制下来
    2. 在生成页面中选择钉钉并将推送方式改为加签,填入webhook推送地址以及secret
      image-20211004161944391
  2. 自定义关键词

    1. 添加自定义关键词:HELPER
    2. 生成页面中选择钉钉并填入推送地址
      image-20211004161727618

结束

PushPlus(Push+)

  1. 前往 PushPlus 登录并获取 Token

    image-20211004202957768

  2. 进入生成页面选择PUSH PLUS
  3. 将获取到的Token填入
  4. 输出结果并复制到webhook一栏

Telegram

关于Telegram bot的创建,可以参考知乎这篇文章:教程|Telegram Bot 搭建

没有测试过,测试服务器为国内服务器,如有需要测试请使用国外服务器或反代

企业微信

没有测试过(字段太多懒得研究

字段说明

字段和BILIBILI-HELPER-PRE中的字段完全一致,如下表所示

字段类型Key(字段)Value(值)说明
server 酱SC_KEYstrServer 酱老版本 key,SCU 开头的
server 酱 turboSCT_KEYstrServer 酱 Turbo 版本 key,SCT 开头的
TelegramTG_USE_CUSTOM_URL[false,true]是否开启 TGbot API 反代
TelegramTG_BOT_TOKENstrTG 推送 bot_token,若开启反代,需填写完整反代 url https://api.mytelegram.org/botTOKEN
TelegramTG_USER_IDstrTG 推送的用户/群组/频道 ID
PUSH PLUSPUSH_PLUS_TOKENstrpush plus++推送的token
钉钉DING_TALK_URLstr钉钉推送的完整 URL,e.g.https://oapi.dingtalk.com/robot/send?access_token=xxx
钉钉DING_TALK_SECRETstr钉钉推送的密钥
正向推送代理PROXY_HTTP_HOSTstr推送使用 HTTP 正向代理,e.g.127.0.0.1
正向推送代理PROXY_SOCKET_HOSTstr推送使用 SOCKS(V4/V5)正向代理,e.g.127.0.0.1
正向推送代理PROXY_PORTint推送正向代理的端口,默认 0 不代理
企业微信群消息WE_COM_TOKENstr企业微信,群消息非应用消息
企业微信应用WE_COM_APP_CORPIDstr企业 id 获取方式参考 :获取
企业微信应用WE_COM_APP_CORP_SECRETstr应用的凭证密钥
企业微信应用WE_COM_APP_AGENT_IDint企业应用的 id,整型
企业微信应用WE_COM_APP_TO_USERstr指定接收消息的成员,成员 ID 列表 默认为@all
企业微信应用WE_COM_APP_MEDIA_IDstr缩略图的 media_id, 可以通过素材管理接口获得。(为空发送文本消息)
  • tips:PROXY_HTTP_HOSTPROXY_SOCKET_HOST仅需填写一个。
  • tips:钉钉推送密钥可不填,不填仅用关键词验证。
  • 获取 media_id的方式请参考docs/images/media_id.png

项目部署

  1. 首先准备好application.yml配置文件,模板文件可以在项目根目录找到或Releases中附,或者可以直接复制以下内容:

    server:
      #服务器端口
      port: 26666
    spring:
      #数据库连接配置
      datasource:
     driver-class-name: com.mysql.cj.jdbc.Driver
     url: jdbc:mysql://数据库地址:3306/数据库名称?characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
     username: 数据库用户名
     password: 数据库密码
      main:
     allow-bean-definition-overriding: true
      mvc: #静态文件
     static-path-pattern: /static/**
    # actable自动建表
    actable:
    table:
       auto: update
    model:
       #分号或者逗号隔开
       pack: com.oldwu.entity;com.oldwu.domain;com.netmusic.model;com.miyoushe.model
    database:
       type: mysql
    index:
       #自己定义的索引前缀#该配置项不设置默认使用actable_idx_
       prefix: INDEX_
    unique:
       #自己定义的唯一约束前缀#该配置项不设置默认使用actable_uni_
       prefix: INDEX_UNIQUE_
    # mybatis自有的配置信息,key也可能是:mybatis.mapperLocations
    mybatis-plus:
    #mapper配置文件
    mapper-locations: classpath:mapper/*.xml,classpath:mapper/**/*.xml,classpath*:com/gitee/sunchenbin/mybatis/actable/mapping/*/*.xml
    type-aliases-package: com.oldwu.entity
    #开启驼峰命名
    configuration:
       map-underscore-to-camel-case: true
       #输出mybatis日志
    #      log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  2. 在mysql中创建数据库并导入sql
  3. 接下来你可以选择两种方式部署:


使用 Releases 中打包好的jar运行

  1. application.yml修改正确并放入jar包同级目录中
  2. 使用java -jar xxx.jar运行


自行编译

  1. 导入idea并下载依赖(请使用JDK1.8)
  2. resources文件夹放入application.yml配置文件(可选,你可以选择外置配置文件)
  3. 使用maven install打包成jar
  4. 使用java -jar xxx.jar运行

后续步骤
  • 注册账号,并将其定为管理员账户,步骤:

    1. 查看sys_user表中你的账号对应的id
    2. 进入sys_role_user表中找到对应的user_id
    3. 将对应行的sys_role_id值改为1
  • 一些定时任务的配置请登录管理员账号在自动任务管理中查看
  • Releases中的jar不会经常更新,我已经设置的github自动构建,如果需要最新测试版,请前往 https://github.com/wyt1215819315/autoplan/actions 自行下载

    版本更新时,请务必备份数据库,以免未知的后果造成影响

    如果你不需要自动建表,请将配置文件中的actable有关的项全都注释掉即可

    一些问题

    1. 代码不是一般的乱,(非常非常乱....而且很多地方不符合规范),本人萌新一枚,请大佬多多指教
    2. 由于BILIBILI-HELPER-PRE项目大多采用static变量,因此无法多线程运行,也无法手动执行

    未来

    1. 管理员功能:查看日志,删除任务等
    2. go-cqhttp推送(需要加机器人为好友)
    3. 手动执行b站任务(咕咕咕)
    4. 推送测试回显错误信息(提交返回的response )
    5. 主页说明支持markdown格式动态编辑
    6. 推送生成器支持自动填充json至推送框

    更新日志

    • 21.8.29 更新了b站二维码登录以及任务删除功能
    • 21.8.30 增加了网易云推送,改变了日志表结构
    • 21.8.31 增加了米游社原神签到,修复了网易云刷歌不计数的问题(摔、垃圾网易云json数组外边还要加引号)
    • 21.9.2 增加了编辑参数编辑功能
    • 21.9.3 增加了网易云任务和米游社任务的手动执行开关
    • 21.9.4 增加了米游社cookie字段,使其能够执行米游币任务
    • 21.9.5 修复了非管理员无法使用单次执行任务的问题,修复了米游社任务无权限访问的问题,修复了bilibili直播送礼物报错的问题
    • 21.9.6 增加了bilibili赛事预测
    • 21.9.15 尝试更新了BILIBILI-HELPER至1.1.5,可以改善部分任务中出现的null错误
    • 21.10.1 layui已下线,目前将所有cdn服务换为本地文件
    • 21.10.3 修复了部分bug,更改了部分数据表字段名称使其更统一,增加bilibili反向赛事预测
    • 21.10.4 增加了全局webhook,更改webhook的传入方式为json字符串,增加生成器页面用来生成webhook.json
    • 21.11.6 修复米游币任务分享帖子失效的问题
    • 21.12.11 修复log4j2漏洞
    • 21.12.29 修改米游社原神签到逻辑,适配米游社账号下多角色不同服的签到处理,并修改一些页面显示,使其更美观(感谢@MuXia-0326)
    • 22.1.26 (2.0版本重大更新)

      1. 重构了所有页面,所有请求均改为前后端分离
      2. 增加登录注册验证码校验
      3. 修复网易云登录时可能出现的乱码问题
      4. 个人任务管理支持头像展示
      5. 增加actable自动建表,以后更改表结构时无需手动更改(第一次使用时还是需要导入sql)
      6. 将mybatis换为mybatis-plus,精简了大量xml文件

    鸣谢

    1. BILIBILI-HELPER-PRE
    2. bilibili-match-prediction
    3. CloudMusic-LevelUp
    4. genshi-helper
    5. genshinhelper

    感谢 JetBrains 对本项目的支持。

    JetBrains

    评论区
    头像
      头像

        

      为啥米油社验证成功,手动执行后看日志提示签到失败,活动已结束呢

      头像
      杜兰特
        

      网易云自动任务关闭了吗

      头像
      冰灵
        

      大佬,现在项目是已经不维护了吗

        头像
        oldwu
          
        @冰灵

        最近在重构,主要开发者都是业余搞搞 没啥时间维护 有问题可以丢issue到时候我尽力修

      头像
      rookie
        

      原神签到是OK的,但是server酱消息push需要改一下generatePushBody方法
      JSONObject postData = new JSONObject();

      postData.put("title","autoPlan消息通知"); postData.put("desp",content.replaceAll("=",":")); return postData.toJSONString();
        头像
        rookie
          
        @rookie

        http://at.amemory.cn:8091/ 我也搭了一个,我这边已经改了push,帮大佬分担服务器压力哈哈哈哈

          头像
          rookie
            
          @rookie

          有点小问题为啥任务开始8点,结束时间一直是下午4点,serve酱通知也是在下午4点,暂时不知道哪里问题

      头像
      彩彩
        

      作者你好,怎么现在只有bilibili了,网易云下架吗

      头像
      111
        

      感谢大佬开源分享,您的代码对我很有启发

      头像
      wdxb
        

      博主能私聊吗,我q:1376779011,有点问题问下

      头像
      不知名的人士
        

      大佬有没有QQ群或者QQ遇到点问题想问一下

        头像
        不知名的人士
          
        @不知名的人士

        http://www.clmiku.top/没事了解决了

      头像
      EASTEA
        

      图片不能放,只好这样了https://www.aliyundrive.com/s/LMxFWRB743k

        头像
        oldwu
          
        @EASTEA

        cdn炸了,国内访问的话部分情况有问题,自己替换下或者过几天有空我换下

          头像
          NET
            
          @oldwu

          大佬,有更换cdn的教程吗?

      头像
      EASTEA
        

      正常搭建,疯狂报错。目前苹果手机safari能正常使用,

      头像
      EASTEA
        

      大佬,你好,为什么我windows电脑浏览器访问打开只有字,而且加载很慢,安卓手机打开也一样。苹果手机就能流畅打开,mac未知。

      头像
      dreamboy
        

      米哈游也挂了

      头像
      暗暗
        

      网易云音乐不行了呢,登录一直失败

      头像
      WuuMark
        

      大佬,请问一下,b站投币预留硬币数为什么一直固定在默认的50改不了?但是竞猜的预留硬币数可以改

      头像
      林凌
        

      非国区的网易云账号就算写了手机区号,登录的时候还是提示手机号不正确

      头像
      游客123
        

      b站老是重复投币怎么弄啊

        头像
        @游客123

        我也是

      头像
      伊甸园qwq
        

      楼主你好,这个米游社自动签到支持国际服米游社吗

      头像
      ivkeji
        

      跪拜大佬!稳的一批。

      头像

        

      博主,请问怎么修改网站内容呀,是需要重新编辑jar吗

      头像
      看透一切的男孩
        

      哔哩哔哩怎么每天硬币都投不满,老是投重复了

    文章目录