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

    评论区
    头像
      头像
      云间
        

      大佬,有替换方案吗。bootcdn替换成啥😂

        头像
        oldwu
          
        @云间

        尬住了,这博客刚刚把script当成脚本了

        头像
        oldwu
          
        @云间

        src="https://lib.baomitu.com/jquery/3.6.0/jquery.min.js"

        头像
        oldwu
          
      头像
      云间
        

      那我可以改哪个文件把cdn改了,实现登录吗?我现在搭建好,登录不了😂

        头像
        oldwu
          
        @云间

        纠正:include,bootcdn全都挂掉了

        头像
        oldwu
          
        @云间

        includ里面的的bootcnd全都替换掉就行

      头像
      云间
        

      你好,博主。你的还能注册登录吗

        头像
        oldwu
          
        @云间

        cdn挂了,有空换一下吧

      头像
      Guido
        

      https://s4.ax1x.com/2022/01/19/7BjhkR.png
      米游社登陆上去了,每日任务做完,但原神签到好像登陆不上去,签到失败,求求大佬教教如何抓可以签到原神的包

        头像
        oldwu
          
        @Guido

        点米游社原神板块,重新登录下账号,然后按我上面的方法获取cookie,重新加一下任务试试

          头像
          Guido
            
          @oldwu

          谢谢,我知道怎么抓了,先登陆bbs.mihoyo.com/ys/(社区),再登陆user.mihoyo.com (米哈游通行) ,才能获取到所有的cookie 包括(cookie_token account_id)。如果多账号的话最好用无痕的浏览器来抓,因为如果退出再登陆的话cookie会失效。

            头像
            oldwu
              
            @Guido

            感谢指出,回头我改一下文档,免得又有人掉坑

      头像
      王大蒜
        

      博主可以出一个详细的宝塔部署教程吗,纯纯小白整不明白。

      头像
      王大蒜
        

      博主你好,请问一下部署好之后怎么访问呢?

        头像
        oldwu
          
        @王大蒜

        本机访问默认地址是http://localhost:26666

          头像
          王大蒜
            
          @oldwu

          好像没有发出去评论,博主方便加个扣扣幺嘛:2430871184

          头像
          王大蒜
            
          @oldwu

          我用的宝塔部署的访问是ip加26666,端口也开放了,访问就只显示初始的那个indx建站成功。

            头像
            oldwu
              
            @王大蒜

            按理来说直接访问端口不应该出现宝塔的提示,如果出现宝塔的页面说明过了nginx,尝试换个浏览器或者看下nginx配置,应该直接走端口nginx不用改任何东西

      头像
      海云摸石
        

      博主,我想问下为什么我的推送没有成功啊,我根据说明来做的,显示程序异常~

        头像
        oldwu
          
        @海云摸石

        大概是因为有什么问题吧,估计后台报错回显不到页面,你用的哪种推送方式

          头像
          海云摸石
            
          @oldwu

          之前用server酱的方糖服务号,现在用企业微信试下有没有推送

            头像
            oldwu
              
            @海云摸石

            我去检查一下server酱,不知道有没有和最近新增了一个请求参数有关系

              头像
              海云摸石
                
              @oldwu

              我已经收到了企业微信的推送了,可能方糖服务号被腾讯限制了?谢谢博主!

      头像
      ivkeji
        

      尊敬博主您好,近日b站的投币任务不执行,请问您是否有关注到?

        头像
        oldwu
          
        @ivkeji

        查看下输出日志,试着自己排查下,要是无法解决的话,发给我看一眼
        最近更新钉钉推送关键字方式有点问题,如果是推送的问题我会去看的

      头像
      念北笙
        

      博主你好,请问一下部署好之后怎么访问呢?

        头像
        oldwu
          
        @念北笙

        浏览器访问localhost:端口
        默认端口好像是26666,写在application.yml里头自己看下

          头像
          念北笙
            
          @oldwu

          我用宝塔部署的,访问服务器ip:26666也访问不了

            头像
            oldwu
              
            @念北笙

            服务器端口开了没

              头像
              念北笙
                
              @oldwu

              端口开了的

                头像
                oldwu
                  
                @念北笙

                看下日志有没有正常启动,或者直接在服务器上执行curl命令试试通不通

                  头像
                  念北笙
                    
                  @oldwu

                  博主,我弄好了,原来是mysql版本太低了

      头像

        

      可以二开?

        头像
        oldwu
          
        @成

        什么意思

          头像

            
          @oldwu

          想二次开发你这个项目,可以拿来二开吧?

            头像
            oldwu
              
            @成

            可以

      头像
      小兴-_-
        

      博主你好!我有个问题想问,就是程序部署好了但是用不了,可能是数据库这块出错了注册账号是成功的、页面响应提示内部错误500

        头像
        oldwu
          
        @小兴-_-

        控制台输出的日志就可以

        头像
        oldwu
          
        @小兴-_-

        具体信息能否提供一下,这边不方便发图的话github提交issues

          头像
          小兴-_-
            
          @oldwu

          问题已经解决了,是因为没有设置管理账号导致的

          头像
          小兴-_-
            
          @oldwu

          博主,我已经去GitHub提issues

      头像
      黎书轩
        

      您的博客留言显示评论失败哦,能留个联系方式嘛我q202599951

        头像
        oldwu
          
        @黎书轩

        我也不知道为啥失败,其实发的出去,这个php的博客我不太懂....

      头像
      黎书轩
        

      你好,请问这个可以用宝塔搭建吗

        头像
        oldwu
          
        @黎书轩

        可以

          头像
          wdxb
            
          @oldwu

          可以私聊吗,有点问题想问,q:1376779011

      头像
      黎书轩
        

      你好,请问这个用宝塔可以搭建吗

    文章目录