利用青龙面板实现飞牛社区签到自动化:详细配置教程

两个月前就分享过青龙面板签到飞牛社区的签到脚本fnOS 青龙面板部署飞牛社区自动签到脚本带通知功能,好多小伙伴都没有搜索历史文章的习惯,那我就在发一遍吧。这一篇带消息通知功能哦! 这个脚本我已经连续签到100天就掉过一次cookie。 **

安装青龙面板

1、安装青龙面板途径

① fnos应用中心安装青龙面板 ② 使用docker部署青龙面板

使用docker部署青龙面板详细教程 2、安装Nodejs依赖环境

我安装依赖的时候环境下载不下来,就改了下载源

更改源:菜单栏->系统设置->依赖设置 找到Node 软件包镜像源更换镜像源

镜像源 https://registry.npmmirror.com

② 分别安装axios和cheerio这俩依赖环境,已经安装过的直接跳过此步骤

点击右上角创建依赖,分别创建axios和cheerio 创建axios依赖 创建cheerio依赖 3、创建脚本

脚本管理->左上角(+号) 类型:空文件 文件名:随意***.js

我的文件名是:feiniu.js 左边侧栏找到feiniu.js点击,然后点右上角的编辑,把按照要求修改好的脚本放进去然后保存

const axios = require('axios');

const cheerio = require('cheerio');

const notify = require('./sendNotify'); // 引入通知脚本

// 填写对应的 Cookie 值

const cookies = {

'pvRK_2132_saltkey': '填写saltkey值',

'pvRK_2132_auth': '填写auth值',

};

// 将 cookies 转换为请求头格式

const cookieHeader = Object.entries(cookies).map(([key, value]) => `${key}=${value}`).join('; ');

// 签到请求

async function signIn() {

try {

const response = await axios.get('https://club.fnnas.com/plugin.php?id=zqlj_sign&sign=********', {

headers: {

'Cookie': cookieHeader

}

});

if (response.data.includes('恭喜您,打卡成功!')) {

console.log('打卡成功');

await getSignInInfo();

} else if (response.data.includes('您今天已经打过卡了,请勿重复操作!')) {

console.log('已经打过卡了');

await notify.sendNotify('飞牛论坛', '您今天已经打过卡了'); // 推送通知

} else {

console.log('打卡失败, cookies可能已经过期或站点更新.');

await notify.sendNotify('飞牛论坛', '打卡失败, cookies可能已经过期或站点更新.'); // 推送通知

}

} catch (error) {

console.error('签到请求失败:', error);

await notify.sendNotify('飞牛论坛', `签到请求失败: ${error.message}`); // 推送通知

}

}

// 获取打卡信息

async function getSignInInfo() {

try {

const response = await axios.get('https://club.fnnas.com/plugin.php?id=zqlj_sign', {

headers: {

'Cookie': cookieHeader

}

});

const $ = cheerio.load(response.data);

const content = [];

const patterns = [

{ name: '最近打卡', selector: 'li:contains("最近打卡")' },

{ name: '本月打卡', selector: 'li:contains("本月打卡")' },

{ name: '连续打卡', selector: 'li:contains("连续打卡")' },

{ name: '累计打卡', selector: 'li:contains("累计打卡")' },

{ name: '累计奖励', selector: 'li:contains("累计奖励")' },

{ name: '最近奖励', selector: 'li:contains("最近奖励")' },

{ name: '当前打卡等级', selector: 'li:contains("当前打卡等级")' }

];

patterns.forEach(pattern => {

const element = $(pattern.selector).text();

if (element) {

content.push(`${pattern.name}: ${element.replace(/.*:/, '').trim()}`);

}

});

const message = content.join('\n');

console.log(message);

await notify.sendNotify('飞牛论坛打卡信息', message); // 推送打卡详细信息

} catch (error) {

console.error('获取打卡信息失败:', error);

await notify.sendNotify('飞牛论坛', `获取打卡信息失败: ${error.message}`); // 推送通知

}

}

// 执行签到

signIn();

如果复制代码允许失败的可以关注g z h :知新坊 回复:飞牛 获取网盘下载地址

参数填写解析:

① 获取cookie

Edge浏览器为例,去飞牛社区打卡页面获取cookie,F12打开开发者模式,然后找到Network(网络)->点击plugin.php?id=zqlj_sign往下拉找到cookie, 浏览器不一样显示可能有点差异

pvRK_2132_saltkey=saltkey值;

pvRK_2132_auth=auth值;

把值复制到脚本里面(注意分号不要复制) ② 打卡页面获取请求链接。

主要是我圈起来后面星号*部分 在打卡签到页面右键打卡按钮,复制链接就可以获取到完整的请求链接,直接替换即可 4、添加定时任务 命令/脚本(名字改成你自己创建的)

task feiniu.js

定时规则

# 每天早上7点执行脚本

0 7 * * *

然后点击运行后查看日志就能看到结果哦! 5、配置消息通知

左边菜单栏配置文件里面config.sh,比如我配置的是QQ邮箱,找到SMTP,按照要求填写就行了,具体怎么获取特殊口令百度一下就行,很多教程

除了邮箱也可以配置企业微信、Server酱、pushplus

6、给大家介绍一下定时设置的规则