玩转掘金自动签到+每日抽奖+海底掘金+邮件通知

437 阅读3分钟

本文以开源项目github.com/NPCBOSS/jue…为例,配置并验证。

环境说明

操作系统及中间件版本备注
LinuxCentos 7.5腾讯云
git2.27.0
nodev14.15.1

1、环境准备

1.1、安装git

yum install git

安装完成后查看,是否安装成功

git --version

image-20220803130812914

1.2、安装node

  • 进入下载Node.js到/data/software/目录下
wget https://nodejs.org/dist/v14.15.1/node-v14.15.1-linux-x64.tar.xz
  • 解压
tar xvf node-v14.15.1-linux-x64.tar.xz
  • 配置node环境变量

在系统环境变量配置文件/etc/profile中增加node路径配置

export NODE_HOME="/data/software/node-v14.15.1-linux-x64"
export PATH=$NODE_HOME/bin:$PATH

使配置生效

source /etc/profile

至此环境准备完毕

2、项目配置

2.1、项目代码拉取

  • 创建项目工作目录workspace
mkdir /data/workspace
cd /data/workspace/
  • 拉取代码
git clone  https://github.com/NPCBOSS/juejin-helper.git
  • 安装项目依赖
cd juejin-helper && npm install

2.2、Cookie配置

准备你的掘金账号对应的Cookie,你的邮件发送账号,你的接收邮件的邮箱。参数说明如下表:

参数说明参数值是否必须
COOKIE掘金网站Cookie
COOKIE_2多用户, 当需要同时运行多个掘金用户时所需, 支持最多 5 名用户(即COOKIE + COOKIE_2 - COOKIE_5)
EMAIL_USER发件人邮箱地址(需要开启 SMTP)
EMAIL_PASS发件人邮箱密码(SMTP密码)
EMAIL_TO订阅人邮箱地址(收件人). 如需多人订阅使用 ,分割, 例如: a@163.com, b@qq.com
DINGDING_WEBHOOK钉钉机器人WEBHOOK
PUSHPLUS_TOKENPushplus 官网申请,支持微信消息推送

2.2.1如何获取Cookie

掘金网站Cookie, 打开浏览器,登录 掘金, 打开控制台DevTools(快捷键F12) -> Network,复制 cookie, 掘金Cookie有效期约1个月需定期更新.

image.png

2.2.2、生成环境参数

将上面收集好的参数生成一个json,注意下面json为了清晰显示做了格式化操作,正常使用时请注意不要换行,否则js会报错。

{
    "COOKIE": "你的掘金Cookie", 
    "EMAIL_USER": "发件人邮箱账号", 
    "EMAIL_PASS": "发件人邮箱密码", 
    "EMAIL_TO": "收件人邮箱列表,多个用英文逗号隔开"
}

2.2.3、修改配置文件

  • 方式一

打开项目目录/data/workspace/juejin-helper/scripts/utils/,然后找到env.js文件,修改第一行常量env的值为上面生成的json。

image-20220803133829584

修改env的值

image-20220803134857191

  • 方式二(推荐)

在utils目录下创建cookie.json文件,然后将配置json的内容粘贴到cookie.json中,然后将env.js中的常量值修改成如下

const env = require('./cookie.json');

3、验证

首先我们在项目的脚本目录下可以看到两个checkin.js和seaGold.js两个脚本文件。从名称上看,就知道这个是干什么的了。

3.1、签到验证

进入项目根目录【/data/workspace/juejin-helper/】,然后运行签到命令。

cd /data/workspace/juejin-helper/ && npm run checkin

image-20220803140231965

检查邮箱,我这里还修改了checkin.js中的邮件标题(subject),增加了时间戳,防止邮件系统认为是垃圾邮件。导致退信。

image-20220803143952769

3.2、海底掘金验证

cd /data/workspace/juejin-helper/ && npm run seaGold

image-20220803144844437

邮件检查

image.png

掘金游戏记录信息

image.png

4、配置系统调度

在系统调度增加两条定时任务,每天早上6点,7点执行对应任务。

crontab -e 

在系统定时任务增加如下两行

#自动签到和玩海底掘金任务
0 6 * * * cd /data/workspace/juejin-helper/ && source /etc/profile && npm run checkin  > checkinLog.log  2>&1
0 7 * * * cd /data/workspace/juejin-helper/ && source /etc/profile && npm run seaGold  > seaGoldLog.log  2>&1

刷新系统定时任务

service crond reload

至此,操作完毕,每天坐等账户加矿石即可。注意检查cookie是否过期,过期替换即可。