这套源码把签到逻辑放在服务端,APP 端只是管理壳,这是它能稳定跑 7×24 的关键。
打开源码目录看了一下,后端用的是 Spring Boot + Ant Design Pro 那一套前端,APP 是标准的 Android 原生工程(Java 为主,不是 Flutter)。这种分工的好处很明显——Web 后台挂在服务器上轮询签到任务列表,不用担心手机息屏被杀进程;APP 端只用来管理账号、看历史记录、收本地推送。
数据库表一共 6 张:用户表、课程表、签到任务表、签到记录表、邮件配置表、系统配置表。user 表里有个字段叫 `cookie_pool`,用来缓存学习通的登录态,默认有效期 7 天,过期会触发自动重登。账号信息加密存在后端,手机丢了也不用挨个改密码。
源码里把签到拆成 3 种类型,每种对应独立的 Worker,互不干扰。
邮件通知走 QQ 邮箱 SMTP,实测在配置里把授权码填错一位,任务会静默失败不抛异常。这个坑帮大家踩过了——日志文件里搜 `mail.send.fail` 这个关键字能定位问题,部署完先手动触发一次签到看回执。
环境依赖不算重,单机部署 30 分钟内能跑通,2 核 4G 的小服务器够用。
| 组件 | 推荐版本 | 备注 |
|---|---|---|
| JDK | 11 | 不要用 17,Ant Design Pro 部分依赖不兼容 |
| MySQL | 8.0+ | 字符集 utf8mb4,存表情符号不报错 |
| Redis | 6.x | 缓存签到任务队列 |
| Node.js | 14.x | 仅 Web 前端构建用 |
| Android Studio | Hedgehog+ | 只编译 APP 时需要 |
部署走了 6 步:拉代码 → 改 application.yml 数据库连接 → 执行 db/init.sql → mvn package → 前端 npm run build → jar 包启动。如果只用 Web 版,第 5 步可以跳过,直接用作者预编译的 dist 目录。其它源码里这套算是对新手比较友好的,环境搭错也不会直接报错退出。
它只适合个人学习场景下的辅助工具,不要拿去做代签服务。
源码里有个全局参数 `sign.interval.seconds`,作者注释里写建议 ≥30 秒。实测把间隔压到 15 秒跑了一晚上,第二天 2 个账号被风控限流。检测频率不是越小越好,服务器负载和风控风险会一起涨。这个数字是部署时第一个要调的参数,别照搬默认值。
最后提一句,自动化操作可能踩到平台服务条款红线,账号风险自己担。从搭建168 下载这套源码之前,先想清楚是不是真有必要。
问:马上签能同时挂几个学习通账号?
答:源码没有写死上限,实测 2 核 4G 跑 5 个账号稳定;再多 Cookie 过期重登会挤在一起触发风控,建议分批部署或升配到 4 核。
问:QQ 邮件通知能不能换成企业微信或钉钉?
答:MailService 是独立的 Service 接口,自己写一个 WeworkNotificationService 注入替换就行,大概 50 行代码。
问:APP 端能不能脱离 Web 后台单独用?
答:不能。APP 只是壳,所有签到请求都走后端接口,单跑 APP 没有实际功能,Web 后台必须 7×24 在线。
原标题:学习通自动签到助手 马上签APP+web开源_搭建168
原文简介:
简介:
学习通自动签到助手 马上签APP+web开源
上课总错过签到?分享一个超星学习通自动签到小工具——「马上签」。
网页版 + APP 版双端可用:
•自动监控课程签到活动,到点自动完成普通签到,不用再守着手机
•签到结果通过 QQ 邮件实时提醒,成功失败一目了然
•支持多账号管理,扫码或账密都能添加学习通账号
•安卓 APP 内置版本检测,一键升级网页版打开浏览器即用,安卓安装包也已就绪。
声明:本工具仅供个人学习接口编程使用,只签自己的课。自动化操作可能违反平台服务条款,账号风险自负,请合理设置检测间隔(建议 ≥30 秒)
后端antdesign,APP原生
图片:
原文截图:

⚠️ 本文仅供学习研究和技术交流,相关源码仅用于了解系统架构与部署流程,请勿用于非法用途。任何商业运营行为均与作者无关。