UsagiPass 高级内容

本页面包含 UsagiPass 的实现原理,开发指南等相关内容。

目录

参与开发

UsagiPass 的前后端以及官网均已开源,欢迎提出 Issues 和 PullRequests。

我们的 GitHub 仓库:https://github.com/TrueRou/UsagiPass

实现原理

华立的设计

当点击公众号的玩家二维码后,公众号后台将玩家 ID 和过期时间以一定形式编码成 SGWCMAID。

公众号返回一个 wq.sys-all.cn 的网页,查询参数中包含 SGWCMAID,网页根据 SGWCMAID,显示对应的二维码图片和简陋的扫码界面。

舞萌 DX 识别二维码,解析出 SGWCMAID,SGWCMAID 配合机台信息和密钥,向后端请求得到玩家 ID。

因为 SGWCMAID 在微信公众号后台生成,对于我们来说属于黑箱,且无法从玩家 ID 逆向得到 SGWCMAID。故印制实体卡片,或者利用单片机实现算号登录的操作在当前情况下是没有可行性的。

我们的设计

通过代理替换 sys-all.cn 网页,将请求重定向到 up.turou.fun,在2025年12月更新后,sys-all.cn 网页开始使用 HTTPS,所以我们需要安装 CA 证书以实现 HTTPS 代理。

通过代理重定向时携带原网页中的查询参数(SGWCMAID),在前端以 JS 的方式直接绘制出二维码。

UsagiPass 前后端代码在 GitHub 开源:https://github.com/TrueRou/UsagiPass