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

    评论区
    头像
      头像
      xc
        

      老哥,为什么的我 auto_plan-http.jar 启动未成功,点了启动没反应

        头像

          
        @xc

        没有配置好

      头像
      春卷
        

      博主 搭建好了之后 网易云登录链接服务器失败 是登录挂了吗

      头像
      不知名的人士
        

      大佬有没有QQ群

      头像
      怀抱
        

      怎么备案啊,备案如何写到网站底部

        头像
        松坂砂糖
          
        @怀抱

        备案看你在那里买的域名了,国内的话都会叫你做的。拿到备案号之后会给你一段HTML的代码。自己下载源代码然后修改到index里之类的。添加到底部。再自己编译成jar之后就可以了

          头像
          怀抱
            
          @松坂砂糖

          好的

      头像
      oldwu
        

      我看下,我先把你评论删了,cookie还是别发这里了

        头像
        临夏
          
        @oldwu

        可以问你一些搭建的问题吗 我的qq1752876470

      头像
      11
        

      博主,我用docker-compose配置这个,米游设获取的cookie,直接复制过去显示无法连接服务器

      头像
      esc137
        

      博主您好,请问有空的时候能给米游社添加一个崩3签到模块吗

      头像
      暗影
        

      博主你好,我使用了您的测试服务器,为什么添加原神任务一直是“连接不到服务器”,我按您的方式获取的cookie和f12的都试过了,就是不行

        头像
        oldwu
          
        @暗影

        留个qq

          头像
          暗影
            
          @oldwu

          119548583

        头像
        oldwu
          
        @暗影

        晚上测试了,正常获取cookie没有你所说的问题,连接服务器失败大概率是因为后台报了500错误前端才这样展示的,自己检查一下cookie有无问题

      头像
      海云摸石
        

      博主你好,从3月8号开始我更新了我的米游社cookie,之后我就不能自动签到了,而且server酱也不发推送了,请问下是什么原因啊

        头像
        oldwu
          
        @海云摸石

        手动运行下试试,如果可以的话就是因为一个错误导致的,稍后我会更新下测试服务器

          头像
          海云摸石
            
          @oldwu

          手动是可以运行的,但运行完也没有推送,不知道是什么原因

      头像
      老街深巷的猫
        

      我为什么启动项目后访问网页显示是Please sign in,界面呢,我在源码没找到这个界面啊

        头像
        oldwu
          
        @老街深巷的猫

        这是springsecurity自带的鉴权界面,只有在没配置好数据库或者其他奇奇怪怪的情况下才会出现

          头像
          老街深巷的猫
            
          @oldwu

          奇怪了,我在Releases下载了jar,用同样的application.yml,运行它就是正常的

      头像
      酒绪
        

      怎么更新

      头像
      临夏
        

      再出一个宝塔搭建的教程吧大佬 看不会啊

        头像
        NadosE
          
        @临夏

        是这样的 确实是看不懂

      头像
      fancypig
        

      未登录状态下需要点击添加任务页面打不开的问题,可以在相关页面加入

        头像
        MuXia-0326
          
        @fancypig

        看报错信息,好像是跨域问题,https和http协议无法相互切换的问题

          头像
          fancypig
            
          @MuXia-0326

          解决了,用了最笨的办法,在对应页面头部引入

      头像
      fancypig
        

      宝塔完整踩坑过程记录在这里了,包括数据库导入索引过长问题解决方法以及通过宝塔Java项目运行方法
      https://www.iculture.cc/knowledge/pig=10061

      头像
      fancypig
        

      貌似github上的sql文件里缺了一张表导致java -jar无法正常运行

      Cause: java.sql.SQLSyntaxErrorException: Table 'autosign.t_sys_quartz_job' doesn't exist

      ; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Table 'autosign.t_sys_quartz_job' doesn't exist

        头像
        fancypig
          
        @fancypig

        没事了,宝塔导入工具的锅,打扰了

      头像
      莫雨轩
        

      加多一点脚本吧😍好游快爆,联通,a站

      头像
      GuiTu
        

      出一个宝塔的详细教程吧,大佬

      头像
      GuiTu
        

      再出一个宝塔搭建的教程吧

      头像
      GuiTu
        

      为什么运行jar包失败,显示command not found

        头像
        oldwu
          
        @GuiTu

        你Java环境没装吧

          头像
          GuiTu
            
          @oldwu

          装了呀,我加一下你QQ吧
          不太会

      头像
      GuiTu
        

      你好,请问宝塔怎么搭建

    文章目录