MagicBox 自动执行定时任务

MagicBox 简介

MagicBox 是一个基于 Chrome 的自动执行定时任务工具,目前支持B站、v2ex、吾爱、hostloc等网站的签到。

万事总有缘由,MagicBox也是一样,愿如百宝箱,简化世间万物,简而言之就是代替重复性任务。目前实现了doduo日常用的频次较高网站签到,接下来将继续接入更多的签到,代替更多的重复性任务。

关于安全性,可能没有比这更高的了,底层直接操作原生chrome浏览器,模拟用户行为,每次使用完自动更新cookie(理论达到续期目的),但同时会对机器的性能要求更高,启动chrome要占用更多的资源。

MagicBox 配置

将项目克隆到本地后,会得到类似目录,configs目录中都是配置信息,default.yml配置项目的默认配置,优先级最低;此外不同站点的任务执行配置也是拆分开来的,这里主要考虑到是便于管理,部分任务执行所需信息内容过多,如cookie等,再者支持多用户的使用,内容多了也不便于配置。

站点的配置文件,如果不需要此任务直接删除即可,接下来看一个配置示例:

bilibili:
  users:
    doduo:
      cookie: ''
      cron: '0 41 8,16 * * *'
  task:
    watchVideo: true
    thowCoin: 5
    shareVideo: true
    notify: ''
    multiThread: false

bilibili代表目标任务,下面有两个大层级userstaskusers下面可以多个用户复制doduo层级即可,task代表这些用户需要做哪些任务、推送地址、是否支持并发执行。task下的配置,支持在用户层级配置,优先级最高。

 

bilibili:
  users:
    doduo:
      cookie: ''
      cron: '0 41 8,16 * * *'
    doduo2:
      cookie: ''
      cron: '0 41 8,16 * * *'
      thowCoin: 1
      notify: 'yyyyyy'
  task:
    watchVideo: true
    thowCoin: 5
    shareVideo: true
    notify: 'xxxxxx'
    multiThread: false

示例表示:需要执行哔哩哔哩任务,默认需要执行观看视频、每日投币5个、分享视频,并设置了推送通知,有两个用户要执行doduo和doduo2,其中doduo执行默认任务,doduo2在此基础上自定义了每日投币1个,以及推送通知。

 

Docker 部署

克隆仓库:git clone git@github.com:srcrs/MagicBox.git

之后在configs目录下填写对应任务的配置文件,参考各个任务详细介绍

安装docker环境

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

执行部署:docker compose up -d 

 

支持任务列表

吾爱破解

官方站点:https://www.52pojie.cn/

目前已实现功能

每日签到

cookie获取方法

吾爱登录有人机验证,使用cookie较为简单,需要在本地电脑获取,确保有chrome浏览器。

  • mac示例
    根据提示快速进行登录以获取cookie
    ./MagicBox_amd64_darwin 52pojie login
  • docker示例
    docker compose run server 52pojie login

配置文件示例

文件名:52pojie.yml,示例每天8:41、16:41各执行一次。

52pojie:
  users:
    doduo:
      cookie: 'xxxxxxxx'
      cron: '0 41 8,16 * * *'
  task:
    multiThread: false
    notify: 'yyyyyyyyy'
    checkIn: true

变量配置说明

变量名 说明
cookie 52pojie的cookie信息
checkIn 是否签到
cron cron执行任务
notify 通知
multiThread 是否支持并发,默认填写false即可

哔哩哔哩

官方站点:https://www.bilibili.com/

目前已实现功能

  • 每日登录

  • 每日投币

  • 每日观看视频

  • 每日分享视频

  • 每日直播签到

视频选取策略:优先取用户动态列表和综合热门视频。

cookie获取方法

  • mac示例
    目前支持扫码获取cookie
    ./MagicBox_amd64_darwin bilibili login
  • docker示例
    docker compose run server bilibili login

配置文件示例

配置文件名:bilibili.yml

bilibili:
  users:
    doduo:
      cookie: 'xxxxxxxxxx'
      cron: '0 41 8,16 * * *'
  task:
    watchVideo: true
    thowCoin: 5
    shareVideo: true
    notify: ''
    multiThread: false

变量配置说明

变量名 说明
cookie bilibili的cookie信息
cron cron执行任务
watchVideo 是否每天观看视频
thowCoin 每天投币数量
shareVideo 是否分享视频
notify 通知
multiThread 是否支持并发,默认填写false即可

全球主机交流论坛

官方站点:https://hostloc.com/

目前已实现功能

  • 每日访问空间10次获得积分

访问策略:选取前两页出现的用户,依次进行访问

  • 支持跳过访问某些用户空间

准备用户名/密码

可以使用用户名和密码进行登录

配置文件示例

hostloc:
  users:
    doduo:
      username: ''
      password: ''
      cron: '0 41 8,16 * * *'
  task:
    accessSpace: 10
    notify: ''
    filersUser: "xxxxx, yyyyyy, zzzzzzzz"
    multiThread: false

变量配置说明

变量名 说明
username 用户名
password 密码
cron cron执行任务
accessSpace 每次执行访问空间次数
filersUser 过滤掉某些用户空间访问(避免每天重复访问)
notify 通知
multiThread 是否支持并发,默认填写false即可

v2ex论坛

官方站点:https://v2ex.com/

目前已实现功能

  • 每日签到

cookie获取方法

v2ex登录有图片验证码缓解,将base64打印到控制台,用在线网站可以查看图片信息,例如:https://tool.jisuapi.com/base642pic.html,然后根据提示输入验证码、用户名、密码。

  • mac平台
    ./MagicBox_amd64_darwin v2ex login
  • docker平台
    docker compose run server v2ex login

配置文件示例

v2ex:
  users:
    doduo:
      cookie: ''
      cron: '0 41 8,16 * * *'
  task:
    checkIn: true
    multiThread: false
    notify: ''

变量配置说明

变量名 说明
cookie v2ex的cookie信息
checkIn 是否签到
cron cron执行任务
notify 通知
multiThread 是否支持并发,默认填写false即可

通知方式

将通知链接填写到notify变量中即可,推送通道这里理论上都是可以支持的,由于个人精力有限,目前只对接了一部分,未来会随着小伙伴们的喜好进行迭代升级。

Bark

Bark 是一款iOS端的推送服务,通过部署一个Server服务端,可以通过HTTP接口来给iOS设备发送推送通知,代码开源: https://github.com/Finb/Bark

使用极其简单,只需要下载安装Bark软件即可,获取每个用户唯一key,按照下面格式替换,就得到了你唯一的推送通道了。

#DnzTsd6qDWTdfs9xRGygFtasdnsRCL 需要替换的key
bark://api.day.app/DnzTsd6qDWTdfs9xRGygFtasdnsRCL/

详细可参考:Bark官方文档

Telegram

这款软件在国内需要些特殊方式才可正常使用,若以前未使用过建议就不要折腾了。

  • 打开bot的生成链接 https://t.me/botfather

  • 点击 /newbot - create a new bot 生成新一个的bot,系统会让你给它取一个名字,这里可以随便输入,反正方便记就可以了。

  • 系统会再次让你取一个名字并输入,现在的名字必须以bot结尾,不可以和其他任何bot重名。

  • 一旦你输入的bot名字可用,系统会生成一个token给你,类似于1729581149:BHGYVVjEHsaNjsnT8eQpWyshwr2o4PqU7u8,请务必保存好此token并且不泄露,这是唯一的用户凭证。

  • 此时,你拥有了一个bot,但是还无法使用,因为你知道它,它不知道你。这时候打开 https://t.me/iamthebot 这个链接,注意iamthebot为你刚才新建的bot的名字!点击/start进入对话框,发送 @userinfobot 后并点击它。userinfobot的对话中,点击或者输入/start,你将获取一个Id/chat_id,具体表现为一串数字,比如387980691

执行完这些操作之后,这个机器人便已经搭建好了,示例推送格式如下:

tgram://1729581149:BHGYVVjEHsaNjsnT8eQpWyshwr2o4PqU7u8/387980691/

项目地址

THE END
分享
二维码
打赏
海报
MagicBox 自动执行定时任务
MagicBox 简介 MagicBox 是一个基于 Chrome 的自动执行定时任务工具,目前支持B站、v2ex、吾爱、hostloc等网站的签到。 万事总有缘由,MagicBox也是一样,愿如……
<<上一篇
下一篇>>