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
代表目标任务,下面有两个大层级users
和task
,users
下面可以多个用户复制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/
共有 0 条评论