Repository navigation
Releases: 114taskforce/DLUT-sesame
Release list
Android 宿舍门 App v1.4.1
Android 宿舍门 App v1.4.1
本次是"跳过二次认证"的 cookie 处理对齐(App + 固件一起改,固件需重新烧录才生效):
- App:例行登录预置 sso 信任 cookie 时不再带上存下来的 CASTGC(它每次由服务端重新签发,带旧的没有意义还可能顶掉 jar 里更新的那份);「网页登录」刚返回的那一次仍整组采纳。
- 同步到设备:推给 ESP32 的 cookie 只保留信任设备标记
djsendtime_recheck / recheck_mobile_error_info / devInfo。 - 固件(
ESP/src/config.h):COOKIE_TRUSTED同步改为这三个名字——注入后 CAS 走信任设备分支、直接签发票据;改完需重新烧录。 Android/CONFIG.md同步了上述两处说明。
其余与 v1.4.0 相同:WebVPN 开关(校外经网关开门/取编号)、自动开门(打开 App / 回到前台,10 秒去重)、打开应用即刷新 token、CAS 登录 +「网页登录」兜底二次认证、一键同步到 ESP32。
配套固件见 ESP/,完整配置见 Android/CONFIG.md。安装需允许未知来源,要求 Android 8.0+;仅供个人学习与自用。
Android 宿舍门 App v1.4.0(稳定版)
Android 宿舍门 App v1.4.0 —— 稳定版
第一个校外可稳定使用的版本。
- WebVPN 开关:校外经
webvpn.dlut.edu.cn开门 / 获取门锁编号;校园网内自动直连(少一跳、更稳)。 - 校外会话获取(本次核心):校外时门禁的
JSESSIONID/shfb-token由网关保管、不随响应下发到客户端。App 现在会在登录时调用网关前端同款接口/wengine-vpn/cookie?method=get&host=…&scheme=http&path=…&vpn_timestamp=…主动把会话取回来;会话彻底过期时,还可在设置页「网页登录」里走一次 WebVPN 入口刷新。 - 校园网自动直连:WiFi 下探测门禁可达即绕开网关;蜂窝网络跳过探测直接走 WebVPN。直连失败会自动作废探测缓存,网络切换最多 1 分钟自愈。
- 提示更清楚:会话过期 / 未取到 token 时,设置页与状态文字会写明原因与出路。
- 延续 v1.3 系列:自动开门(打开 App 或从后台回到前台触发,10 秒去重)、打开应用即刷新 token、CAS 登录 +「网页登录」兜底二次认证、一键同步到 ESP32 设备。
配套固件见 ESP/,完整配置见 Android/CONFIG.md。安装需允许未知来源,要求 Android 8.0+;仅供个人学习与自用。
Android 宿舍门 App v1.3.3
App v1.3.3 (versionCode 9):
- 校园网内自动直连:VPN 开关打开时先判断该不该绕网关——WiFi 下用 2 秒短探测,门禁可达(校园网)就直接直连,避免绕网关那一跳把 CAS 票据吃掉、进而「用户登录会话超时」;蜂窝网络直接走 WebVPN(门禁必然不可达,省掉探测等待)。
- 网络切换自愈:直连请求失败会自动作废探测缓存,下次登录重新判断(最多 1 分钟纠正)。
- 校外首次安装也能用:WebVPN 代理模式下会话在网关侧,
shfb-token不一定下发。现在拿不到 token 不再算登录失败(继续走网关请求,接口由网关会话认证);只有直连模式才报错引导网页登录。此前必须"先在校园网登录过一次"才有存量 token 可用。 - 未取到 token 有明确标注:设置页 WebVPN 开关下方红字提示 + 开门/取编号状态附带「(未获取 token,走网关会话)」。
其余与 v1.3.2 相同:自动开门(打开 App 或回到前台触发,10 秒去重)、打开应用即刷新 token(VPN 模式)、CAS 登录 +「网页登录」兜底二次认证、一键同步到 ESP32。
配套固件见 ESP/,完整配置见 Android/CONFIG.md。安装需允许未知来源,要求 Android 8.0+;仅供个人学习与自用。
Android 宿舍门 App v1.3.2
App v1.3.2 (versionCode 8),修「退出应用后再打开出现登录会话超时」:
- VPN 开关打开时,每次打开应用都会重新登录刷一次 token:token 新鲜窗口从 15 分钟缩短到 30 秒(短窗口只用于吸收
onCreate/onResume的连续两次调用)。旧 token 在服务端已过期,直接拿去开门只会得到「用户登录会话超时」。 - VPN 模式下开门前先确保 token 新鲜(30 秒内刚刷过会直接复用),不再先失败一次再重试。
- 开门首次尝试抛异常(网络抖动、票据回跳空响应)现在也走「重登 + 重试」,原先直接报网络错误。
- 登录结束时若 token 与登录前相同,会打一行日志提示(服务端未重发 cookie 时便于定位)。
功能与 v1.3.1 相同:WebVPN 开关、自动开门(打开 App 或回到前台触发,10 秒去重)、CAS 登录 +「网页登录」兜底二次认证、一键同步到 ESP32。
配套固件见 ESP/,完整配置见 Android/CONFIG.md。安装需允许未知来源,要求 Android 8.0+;仅供个人学习与自用。
校园网内建议把「使用 WebVPN」关掉(直连门禁,少一跳更稳),出校门再打开。
Android 宿舍门 App v1.3.1
App v1.3.1 (versionCode 7),修复 WebVPN 的两个偶发失败:
- ticket 换会话偶发空响应:原先会静默沿用旧 token,之后每个接口都回「用户登录会话超时」(自动获取门锁编号解析不出、开门同样失败)。现在会换一张新 ticket 重登一次,仍失败则明确报错,交由上层自动重试。
- 换网络后旧网关票据失效:手机在校园网与流量之间切换后,网关会拿旧票据把
/http/…请求 302 甩回门禁真实域名,校外表现为「打开 VPN 失败,无法连接」。现在每次重登 VPN 先丢弃旧网关票据、走一次干净的网关登录,确保后续请求真的被代理。
功能与 v1.3.0 相同:WebVPN 开关(校外开门/取编号走网关)、自动开门(打开 App 或从后台回到前台触发,10 秒去重)、CAS 登录 +「网页登录」兜底二次认证、一键同步到 ESP32 设备。
配套固件见 ESP/,完整配置见 Android/CONFIG.md。安装需允许未知来源,要求 Android 8.0+;仅供个人学习与自用。
校园网内建议把「使用 WebVPN」关掉(直连门禁,少一跳更稳),出校门再打开。
Android 宿舍门 App v1.3.0
App v1.3.0 (versionCode 6),新增与修复:
- 「使用 WebVPN」开关:不在校园网(手机流量等)时打开,App 会先登录
webvpn.dlut.edu.cn,开门与自动获取门锁编号都从网关走;校园网内开着也无妨(网关直接放行),关掉则直连门禁、完全不碰 VPN。 - 自动开门触发时机修复:改为「打开 App 或从后台回到前台」时触发、10 秒内去重。此前只在 Activity 创建时触发,「保留后台」开着时退出重进不会重建 Activity,表现为时灵时不灵。
- 「关于」链接更新为本仓库(DLUT-sesame)。
其余与 v1.2.1 相同:CAS 登录 + 网页登录兜底二次认证、一键同步到 ESP32 设备、自动获取门锁编号、Cookie 持久化与 token 失效自动重登。
配套固件见 ESP/,完整配置见 Android/CONFIG.md。安装需允许未知来源,要求 Android 8.0+;仅供个人学习与自用。
Android 宿舍门 App v1.2.1
DLUT-sesame 首个发布。App v1.2.1 (versionCode 5):一键/自动开门、CAS 登录 + 网页登录兜底二次认证、一键同步到 ESP32 设备、自动获取门锁编号、Cookie 持久化与自动重登。配套固件见 ESP/,完整配置见 Android/CONFIG.md。安装需允许未知来源,要求 Android 8.0+;仅供个人学习与自用。