dailycheckin—一款多功能在线签到平台
本文最后更新于 2024-06-28,文章内容可能已经过时。
前言
大家好,这里是可爱的Cherry。 之前,Cherry给大家介绍过一款好用的签到软件——QD,以及一款预约maotai的项目——Imaotai。 相关文章如下,后来评论区有值友留言,提到一个轻量级的签到项目——dailycheckin。 该项目支持使用docker、青龙部署,全程使用配置文件进行项目配置,包含签到站点、消息通知、定时任务、多账号等。 🔻下面是这个项目支持的签到平台,各位值友可以对照看看,却有需要的可以部署一下这个项目,毕竟配置json文档复杂程度比webui肯定要高很多。系统部署(docker)
一、新建文件夹与文档
🔻以群晖为例,其它NAS相同,新建文件夹dailycheckin,在文件夹下新建config,logs,cron三个文件夹。 最终路径包含/volume1/docker/dailyucheckin/config(或logs,或cron)二、修改定时任务脚本
🔻在./cron文件夹下新建一个文件crontab_list.sh文件,也可通过以下链接下载一个示例文件。 https://fastly.jsdelivr.net/gh/sitoi/dailycheckin@main/docker/crontab_list.sh 🔻文件内容如下,根据自己的需要调整定时触发条件##############默认任务##############
# 每 12 小时更新 Pipy 包,如果不需要更新 pypi 包请注释掉下面这行
0 */12 * * * echo "定时任务更新依赖..." && pip install dailycheckin --upgrade --user >> /dailycheckin/logs/update-pypi.log 2>&1
# 每天的 23:50 分清理一次日志
50 23 */2 * * rm -rf /dailycheckin/logs/*.log
##############每日签到一次任务##############
# 每日签到(9:00 执行全部签到)
0 9 * * * cd /dailycheckin && dailycheckin >> /dailycheckin/logs/dailycheckin.log 2>&1
三、新增config.json配置文件
该部分篇幅比较长,所以我单独写了一节,可以看下面的内容。 这里我们可以就在./config文件夹下新建一个空的config.josn即可,也可通过以下链接下载一个示例文件。 https://fastly.jsdelivr.net/gh/sitoi/dailycheckin@main/docker/config.template.json四、通过docker Cli部署
🔻通过ssh访问nas,在指令栏输入以下指令docker run -d
--name dailycheckin \
-v $(pwd)/config:/dailycheckin/config \ #上面自定义的config文件夹
-v $(pwd)/logs:/dailycheckin/logs \ #上面自定义的logs文件夹
-v $(pwd)/cron:/dailycheckin/cron \ #上面自定义的cron文件夹
--restart always \
sitoi/dailycheckin:latest
五、通过群晖任务计划部署
🔻控制面板——任务计划——计划的任务——用户定义的任务 将上面的代码复制进去,点击运行即可。注意每一行最后都要加反斜杠六、Docker运行指令
#Docker命令
#运行全部脚本
docker exec -it dailycheckin dailycheckin
#运行指定的多个平台脚本,用「空格」分开
docker exec -it dailycheckin dailycheckin --include MUSIC163 BAIDU
#运行指定的多个平台脚本(排除某些平台),用「空格」分开
docker exec -it dailycheckin dailycheckin --exclude MUSIC163 BAIDU
#更新pypi
docker exec dailycheckin sh /dailycheckin/default_task.sh
系统部署(青龙)
一、新增依赖
Linux依赖:gcc g++ make libffi-dev openssl-dev
Python3依赖:dailycheckin
二、新增脚本
🔻打开脚本管理,新建一个脚本叫config.json三、修改脚本文件
具体方法参照后文的config.json配置文件内容四、运行脚本
🔻运行脚本的时候可以设置定时任务 🔻脚本指令#青龙命令
#运行全部脚本
task dailycheckin
#运行指定的多个平台脚本,用「空格」分开
task dailycheckin --include MUSIC163 BAIDU
#运行指定的多个平台脚本(排除某些平台),用「空格」分开
task dailycheckin --exclude MUSIC163 BAIDU
#更新
task pip3 install dailycheckin --upgrade
config.json配置文件
所有的配置文件,都在config.json使用{}开始,所有内容都在一个{}内。 建议下载示例json修改 https://fastly.jsdelivr.net/gh/sitoi/dailycheckin@main/docker/config.template.json JSON校验网站:https://www.json.cn/一、通知模块
🔻支持列表如下,不需要的通知方式留空就可以了,每一行之后都要有,进行分割。 这个如果每个都要介绍的话得写一个长篇了,可以参照我之前介绍的几篇推送相关的文章,举一反三即可。#bark
"BARK_URL": "",
#coolpush
"COOLPUSHEMAIL": true,
"COOLPUSHQQ": true,
"COOLPUSHSKEY": "",
"COOLPUSHWX": true,
#钉钉
"DINGTALK_ACCESS_TOKEN": "",
"DINGTALK_SECRET": "",
#飞书
"FSKEY": "",
#pushplus
"PUSHPLUS_TOKEN": "",
"PUSHPLUS_TOPIC": "",
#Qmsg酱
"QMSG_KEY": "",
"QMSG_TYPE": "",
#企业微信应用&企微机器人
"QYWX_AGENTID": "",
"QYWX_CORPID": "",
"QYWX_CORPSECRET": "",
"QYWX_KEY": "", #企业微信机器人,推送 webhook 后面的 key
"QYWX_MEDIA_ID": "",
"QYWX_TOUSER": "",
#TG
"TG_API_HOST": "", #Telegram api 自建的反向代理地址
"TG_BOT_TOKEN": "", #机器人的token,问机器人father
"TG_PROXY": "", #代理地址
"TG_USER_ID": "", #用户的token,从用户机器人获取
#server酱
"SCKEY": "",
#新server酱
"SENDKEY": "",
#通用配置
"MERGE_PUSH": "", #true: 将推送消息合并;false: 分开推送
二、全平台config.json配置文档
🔻每一个平台都通过[]关闭,每一个[]都需要使用英文逗号分割,最后一个[]不需要英文逗号。 💛不同平台多账号只需要在平台名字下,直接增加{}内容即可,每一个{}都需要使用英文逗号分隔,最后一个{}结束不需要英文逗号。 💛以下文档中的cookie等内容都提到了关键值,如果找不到,直接整个cookie复制进去也可以。 "ACFUN": [
{
"password": "Sitoi",
"phone": "18888xxxxxx"
},
{
"password": "多账号示例,格式和上面相同,注意分割有一个英文逗号",
"phone": "多账号示例,格式和上面相同,注意这里结束了以后没有英文逗号"
}
],
"ALIYUN": [
{
"refresh_token": "599dcf65xxxxxx"
}
],
"AOLAXING": [
{
"cookie": "BT_AUTO_tt_common=; Hm_lpvt_7fc3681c21a26a2022ae0ca72e2d6fa5=xxxxxx; BT_LOGIN_tt_common=:187xxxxxx; Hm_lvt_7fc3681c21a26a2022ae0ca72e2d6fa5=xxxxxx;"
}
],
"BAIDU": [
{
"data_url": "https://fastly.jsdelivr.net/gh/Sitoi/Sitoi.github.io/baidu_urls.txt",
"submit_url": "http://data.zz.baidu.com/urls?site=https://sitoi.cn&token=xxxxxx",
"times": 10
}
],
"BILIBILI": [
{
"coin_num": 0,
"coin_type": 1,
"cookie": "_uuid=xxxxxx; rpdid=xxxxxx; LIVE_BUVID=xxxxxx; PVID=xxxxxx; blackside_state=xxxxxx; CURRENT_FNVAL=xxxxxx; buvid3=xxxxxx; fingerprint3=xxxxxx; fingerprint=xxxxxx; buivd_fp=xxxxxx; buvid_fp_plain=xxxxxx; DedeUserID=xxxxxx; DedeUserID__ckMd5=xxxxxx; SESSDATA=xxxxxx; bili_jct=xxxxxx; bsource=xxxxxx; finger=xxxxxx; fingerprint_s=xxxxxx;",
"silver2coin": true
}
],
"IMAOTAI": [
{
"city": "上海市",
"lat": "3.025626",
"lng": "3.025626",
"mobile": "18888xxxxxx",
"province": "上海市",
"token": "eyJxxxxxx",
"userid": "1xxxxxx4"
}
],
"IQIYI": [
{
"cookie": "__dfp=xxxxxx; QP0013=xxxxxx; QP0022=xxxxxx; QYABEX=xxxxxx; P00001=xxxxxx; P00002=xxxxxx; P00003=xxxxxx; P00007=xxxxxx; QC163=xxxxxx; QC175=xxxxxx; QC179=xxxxxx; QC170=xxxxxx; P00010=xxxxxx; P00PRU=xxxxxx; P01010=xxxxxx; QC173=xxxxxx; QC180=xxxxxx; P00004=xxxxxx; QP0030=xxxxxx; QC006=xxxxxx; QC007=xxxxxx; QC008=xxxxxx; QC010=xxxxxx; nu=xxxxxx; __uuid=xxxxxx; QC005=xxxxxx;"
}
],
"KGQQ": [
{
"cookie": "muid=xxxxxx; uid=xxxxxx; userlevel=xxxxxx; openid=xxxxxx; openkey=xxxxxx; opentype=xxxxxx; qrsig=xxxxxx; pgv_pvid=xxxxxx;"
}
],
"MIMOTION": [
{
"max_step": "20000",
"min_step": "10000",
"password": "Sitoi",
"phone": "18888xxxxxx"
}
],
"SMZDM": [
{
"cookie": "__ckguid=xxxxxx"
}
],
"TIEBA": [
{
"cookie": "BIDUPSID=xxxxxx; PSTM=xxxxxx; BAIDUID=xxxxxx; BAIDUID_BFESS=xxxxxx; delPer=xxxxxx; PSINO=xxxxxx; H_PS_PSSID=xxxxxx; BA_HECTOR=xxxxxx; BDORZ=xxxxxx; TIEBA_USERTYPE=xxxxxx; st_key_id=xxxxxx; BDUSS=xxxxxx; BDUSS_BFESS=xxxxxx; STOKEN=xxxxxx; TIEBAUID=xxxxxx; ab_sr=xxxxxx; st_data=xxxxxx; st_sign=xxxxxx;"
}
],
"V2EX": [
{
"cookie": "_ga=xxxxxx; __cfduid=xxxxxx; PB3_SESSION=xxxxxx; A2=xxxxxx; V2EXSETTINGS=xxxxxx; V2EX_REFERRER=xxxxxx; V2EX_LANG=xxxxxx; _gid=xxxxxx; V2EX_TAB=xxxxxx;",
"proxy": "使用代理的信息,无密码例子: http://127.0.0.1:1080 有密码例子: http://username:password@127.0.0.1:1080"
}
],
"YOUDAO": [
{
"cookie": "JSESSIONID=xxxxxx; __yadk_uid=xxxxxx; OUTFOX_SEARCH_USER_ID_NCOO=xxxxxx; YNOTE_SESS=xxxxxx; YNOTE_PERS=xxxxxx; YNOTE_LOGIN=xxxxxx; YNOTE_CSTK=xxxxxx; _ga=xxxxxx; _gid=xxxxxx; _gat=xxxxxx; PUBLIC_SHARE_18a9dde3de846b6a69e24431764270c4=xxxxxx;"
}
]