DailyCheckIn 是一款功能丰富的每日自动签到工具,支持通过 Docker 容器、青龙面板、群晖系统以及本地环境等多种方式进行部署和运行。
主要特性
- 📦 支持通过 Pip 包管理器进行安装
- 💻 兼容多个部署平台与环境
- ⚙️ 可实现多平台自动签到功能
- 📢 集成多种消息通知方式
- ♾️ 支持多账户同时签到
- 🕙 提供灵活的定时任务配置
- 🆙 支持项目版本自动更新
支持的通知平台列表
- 钉钉(DingTalk)
- 企业微信群机器人
- 企业微信应用消息
- Telegram(TG)
- Bark(iOS 平台)
- Server 酱(微信)
- Server 酱 TURBO(微信)
- PushPlus(微信)
- Cool Push(支持QQ、微信及邮箱)
- Qmsg 酱(QQ)
- 飞书
部署前的准备工作
在正式部署 DailyCheckIn 之前,需要提前创建两个核心配置文件:一个是 config.json 配置文件,另一个是 crontab_list.sh 定时任务文件。
配置文件的详细说明
默认的 config.json 配置文件结构如下,用户可以根据自己的实际需求进行相应调整:
{
"BARK_URL": "",
"COOLPUSHEMAIL": true,
"COOLPUSHQQ": true,
"COOLPUSHSKEY": "",
"COOLPUSHWX": true,
"DINGTALK_ACCESS_TOKEN": "",
"DINGTALK_SECRET": "",
"FSKEY": "",
"PUSHPLUS_TOKEN": "",
"PUSHPLUS_TOPIC": "",
"QMSG_KEY": "",
"QMSG_TYPE": "",
"QYWX_AGENTID": "",
"QYWX_CORPID": "",
"QYWX_CORPSECRET": "",
"QYWX_KEY": "",
"QYWX_MEDIA_ID": "",
"QYWX_TOUSER": "",
"SCKEY": "",
"SENDKEY": "",
"TG_API_HOST": "",
"TG_BOT_TOKEN": "",
"TG_PROXY": "",
"TG_USER_ID": "",
"MERGE_PUSH": "",
"ACFUN": [
{
"password": "Sitoi",
"phone": "18888xxxxxx"
},
{
"password": "多账号密码请参考上方格式填写",
"phone": "多账号手机号请参考上方格式填写"
}
],
"ALIYUN": [
{
"refresh_token": "599dcf65xxxxxx"
},
{
"refresh_token": "多账号refresh_token请参考上方格式"
}
],
"AOLAXING": [
{
"cookie": "BT_AUTO_tt_common=; Hm_lpvt_7fc3681c21a26a2022ae0ca72e2d6fa5=xxxxxx; BT_LOGIN_tt_common=:187xxxxxx; Hm_lvt_7fc3681c21a26a2022ae0ca72e2d6fa5=xxxxxx;"
},
{
"cookie": "多账号cookie请参考上方格式,实际值以获取为准(如遇特殊字符如双引号需加反斜杠转义)"
}
],
"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
},
{
"data_url": "多账号data_url链接地址请以实际获取为准",
"submit_url": "多账号submit_url链接地址请以实际获取为准",
"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
},
{
"coin_num": 0,
"coin_type": 1,
"cookie": "多账号cookie请参考上方格式,实际值以获取为准(如遇特殊字符如双引号需加反斜杠转义)",
"silver2coin": true
}
],
"ENSHAN": [
{
"cookie": "fpv=xxxxxx; yd_captcha_token=xxxxxx; _dx_captcha_cid=xxxxxx; _dx_uzZo5y=xxxxxx; _dx_FMrPY6=xxxxxx; _dx_app_captchadiscuzpluginbydingxiang2017=xxxxxx; TWcq_2132_pc_size_c=0; TWcq_2132_saltkey=xxxxxx; TWcq_2132_lastvisit=xxxxxx; TWcq_2132_sendmail=1; _dx_captcha_vid=xxxxxx; TWcq_2132_sid=Wyv5Ps; TWcq_2132_ulastactivity=xxxxxx; TWcq_2132_auth=xxxxxx; TWcq_2132_lastcheckfeed=xxxxxx; TWcq_2132_lip=xxxxxx; TWcq_2132_connect_is_bind=1; TWcq_2132_nofavfid=1; TWcq_2132_lastact=xxxxxx"
},
{
"cookie": "多账号cookie请参考上方格式,实际值以获取为准(如遇特殊字符如双引号需加反斜杠转义)"
}
],
"IMAOTAI": [
{
"city": "上海市",
"lat": "3.025626",
"lng": "3.025626",
"mobile": "18888xxxxxx",
"province": "上海市",
"token": "eyJxxxxxx",
"userid": "1xxxxxx4"
},
{
"city": "多账号城市信息",
"lat": "多账号纬度坐标",
"lng": "多账号经度坐标",
"mobile": "多账号手机号码",
"province": "多账号省份信息",
"token": "多账号token凭证",
"userid": "多账号用户ID"
}
],
"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;"
},
{
"cookie": "多账号cookie请参考上方格式,实际值以获取为准(如遇特殊字符如双引号需加反斜杠转义)"
}
],
"KGQQ": [
{
"cookie": "muid=xxxxxx; uid=xxxxxx; userlevel=xxxxxx; openid=xxxxxx; openkey=xxxxxx; opentype=xxxxxx; qrsig=xxxxxx; pgv_pvid=xxxxxx;"
},
{
"cookie": "多账号cookie请参考上方格式,实际值以获取为准(如遇特殊字符如双引号需加反斜杠转义)"
}
],
"MIMOTION": [
{
"max_step": "20000",
"min_step": "10000",
"password": "Sitoi",
"phone": "18888xxxxxx"
},
{
"max_step": "多账号最大步数设置",
"min_step": "多账号最小步数设置",
"password": "多账号密码设置",
"phone": "多账号手机号设置"
}
],
"SMZDM": [
{
"cookie": "__ckguid=xxxxxx"
},
{
"cookie": "多账号cookie请参考上方格式,实际值以获取为准(如遇特殊字符如双引号需加反斜杠转义)"
}
],
"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;"
},
{
"cookie": "多账号cookie请参考上方格式,实际值以获取为准(如遇特殊字符如双引号需加反斜杠转义)"
}
],
"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"
},
{
"cookie": "多账号cookie请参考上方格式,实际值以获取为准(如遇特殊字符如双引号需加反斜杠转义)",
"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;"
},
{
"cookie": "多账号cookie请参考上方格式,实际值以获取为准(如遇特殊字符如双引号需加反斜杠转义)"
}
]
}
重要提示:完成配置文件编辑后,请务必访问 https://www.json.cn/ 网站验证JSON格式的正确性!以下以配置BiliBili签到为例进行简单演示,如需配置其他平台建议查阅官方文档:https://sitoi.github.io/dailycheckin
配置示例:
{
"BILIBILI": [
{
"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;",
"coin_num": 0,
"coin_type": 1,
"silver2coin": true
},
{
"cookie": "多账号cookie请参考上方格式,实际值以获取为准(如遇特殊字符如双引号需加反斜杠转义)",
"coin_num": 0,
"coin_type": 1,
"silver2coin": true
}
]
}
配置说明示意图:
获取Cookie的方法:
- 在浏览器中登录Bilibili账号后,访问 https://api.bilibili.com/x/web-interface/nav
- 按F12键打开开发者工具,切换到网络标签页,找到并点击nav请求
完成配置后,以下是一个仅配置BiliBili签到的完整config.json文件示例:
{
"BILIBILI": [
{
"cookie": "buvid4=xxxxxx",
"coin_num": 0,
"coin_type": 1,
"silver2coin": true
}
]
}
将编辑好的配置文件放置在对应的映射目录中:
定时任务文件的配置
默认的crontab_list.sh定时任务文件内容如下,用户可根据实际需求进行调整:
##############默认任务##############
# 每12小时更新Pipy包(如不需要更新可注释此行)
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
将定时任务文件放置到对应的映射目录:
安装部署步骤
使用Docker Compose部署
services:
dailycheckin:
image: sitoi/dailycheckin:latest
container_name: dailycheckin
volumes:
- /vol1/1000/docker/dailycheckin/config:/dailycheckin/config
- /vol1/1000/docker/dailycheckin/logs:/dailycheckin/logs
- /vol1/1000/docker/dailycheckin/cron:/dailycheckin/cron
restart: always
参数说明(更多详细设置请参考官方文档):
- /dailycheckin/config(可选):配置文件存储目录
- /dailycheckin/logs(可选):日志文件存储目录
- /dailycheckin/cron(可选):定时任务文件存储目录
使用方法
启动容器后,查看容器日志可以看到服务已正常启动:
可能存在日志显示设置问题,容器内日志可能不显示签到详情,但映射出的日志文件会记录完整的签到信息:
使用提示:除了定时自动签到外,也支持手动执行签到操作。
进入容器终端,使用 /bin/sh 命令连接:
输入命令:dailycheckin
使用总结
这款签到脚本在界面设计上较为简洁,缺乏可视化操作界面,各项配置都需要通过修改文件来完成,操作上略显繁琐。但其支持茅台等热门平台的签到功能,对于有特定需求的用户来说值得尝试。
综合推荐指数:⭐⭐(适合有特定需求的用户)
用户体验评价:⭐⭐(缺乏图形化界面)
部署难度评级:⭐⭐⭐(中等难度)