通过逆向分析猪站做了一个猪站自动化签到脚本
作者:修BUG | 发布时间: | 更新时间:
相信很多小伙伴和我一样,几乎每天都看一眼猪站,但是总是忘记签到导致白白少了很多的积分。要知道这个积分后续在猪站推出猪猪AI是会有很大用处的。于是我就开发了一个自动化签到脚本
核心原理
pigsec.cn 是前后端分离的网站,前端通过 HTTP API 调后端接口。签到功能本质上就是调用一个 API:
1. 登录 — POST /v1/auth/login,用账号密码换一个 JWT token
2. 查状态 — GET /v1/checkin/status,看今天签没签过
3. 签到 — POST /v1/checkin,执行签到
这些 API 是从网站的前端 JS 文件(CheckinModal-D6rBXAN3.js 和 auth-D71-ih35.js)里逆向分析出来的。
所有的源码我都让AI进行规范化并且写了非常详细的中文注释方便大家阅读
配置文件
要使用这个功能首先需要自己手动创建一个checkin_config.json文件用来存放自己的账号与密码

你需要在这里面填写好你对应的账号和密码
两个版本
我一共整了两个版本方便大家来使用,一个是通过服务器添加 cron 定时任务然后定时运行这个脚本来实现自动签到,还有一个是直接写到了Python文件中,你只用在服务器中一直运行这个脚本就行了
通过服务器定时任务版本
脚本做的事
checkin.py 就是模拟浏览器发这 3 个 HTTP 请求:
- 登录拿 token → 带着token查签到状态 → 如果没签就调签到接口
- 加了失败重试(网络波动时自动重试 3 次)
定时执行
部署到云端后,通过 Linux cron(系统自带的定时任务服务)每天 11 点自动跑这个脚本,不需要人工干预。
pip3 install requests
# 3. 添加 cron 定时任务(每天早上11点签到,随机延迟最多30分钟)
crontab -e
# 添加这一行:
0 8 * * * cd /opt/pigsec-checkin && python3 checkin.py --delay 1800 >> checkin.log 2>&1
写进Python文件中版本
功能说明:
自带定时调度的自动签到脚本。启动后会一直运行,每天在指定时间自动签到。
不需要配置 cron 定时任务,只需启动一次就能持续运行。
与 checkin.py 的区别:
checkin.py 是一次性脚本(运行一次就退出),需要配合 cron 定时任务使用。
本脚本启动后会一直运行,内部自己计算下次签到时间并睡眠等待。
使用方法:
python3 auto_checkin.py # 默认每天 11:00 签到
python3 auto_checkin.py --hour 8 # 改为每天 8:00 签到
python3 auto_checkin.py --minute 30 # 每天 11:30 签到
部署到服务器(推荐用 nohup 后台运行):
nohup python3 auto_checkin.py > auto_checkin.log 2>&1 &
或者用 screen/tmux:
screen -S checkin
python3 auto_checkin.py
# 按 Ctrl+A 然后按 D 分离会话(脚本会继续在后台运行)
工作原理(核心调度逻辑):
1. 启动后立即尝试签到一次(如果是当天首次运行)
2. 计算距离下次签到时间(默认明天 11:00)还差多少秒
3. 调用 time.sleep() 让进程休眠,到时间后操作系统自动唤醒
4. 唤醒后执行签到,然后再计算下下次的时间,循环往复
5. 注意:不是轮询检测时间!而是一次性睡到目标时间,不消耗 CPU
退出码说明:
0 - 签到成功
1 - 今日已经签到过了(无需重复签到)
2 - 签到失败(网络错误、登录失败等)
依赖安装:
pip3 install requests
建议:
这里建议各位小伙伴可以先用checkin.py这个或者auto_checkin.py 配置好checkin_config.json 在本地先跑一下,确认能成功签到后在考虑部署到云端实现自动签到。
