本文以开源项目https://github.com/NPCBOSS/juejin-helper为例,配置并验证。
环境说明
操作系统及中间件 | 版本 | 备注 |
Linux | Centos 7.5 | 腾讯云 |
git | 2.27.0 | |
node | v14.15.1 |
1、环境准备
1.1、安装git
yum install git
安装完成后查看,是否安装成功
git --version
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_TOKEN | Pushplus 官网申请,支持微信消息推送 | 否 |
2.2.1如何获取Cookie
掘金网站Cookie, 打开浏览器,登录 掘金, 打开控制台DevTools(快捷键F12) -> Network,复制 cookie, 掘金Cookie有效期约1个月需定期更新.
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。
修改env的值
- 方式二(推荐)
在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
检查邮箱,我这里还修改了checkin.js中的邮件标题(subject),增加了时间戳,防止邮件系统认为是垃圾邮件。导致退信。
3.2、海底掘金验证
cd /data/workspace/juejin-helper/ && npm run seaGold
邮件检查
掘金游戏记录信息
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是否过期,过期替换即可。