一个 Windows 校园网自动认证工具:配置一次,后台守护、断线自动重连,无需每次手动打开认证页。
- 🚀 接口直连,不驱动浏览器,快、稳、省资源
- 🖥️ 可视化中文配置界面,任何学校的门户都能填
- 📌 系统托盘常驻,实时显示「保护中 / 未保护」
- 🔁 断线自动重连,失败自动退避重试
- 🎛️ 三种认证模式:锐捷 SAM+ 工作流 / 华三 CAS SSO / 通用登录
- 🔍 门户类型自动探测;一键生成配置会自动校验类型
- 🛡️ 认证日志自动脱敏(不落账号密码等敏感信息)
到 Releases 页面下载最新版(无需安装 Python),任选一种:
| 版本 | 用法 |
|---|---|
campus-auth-v0.3.0.zip(推荐) |
解压到任意文件夹 → 双击 campus-auth.exe 运行;启动快、杀软误报少 |
campus-auth-v0.3.0-单文件版.exe |
单个 exe,双击即用、免解压;首次启动稍慢(需自解压),若杀软拦截请添加信任 |
首次运行会在桌面自动创建「校园网自动登录」快捷方式,并弹出配置界面 + 启动托盘。 建议先看一遍「使用教程」(配置界面右上角会自动弹出)。
| 步骤 | 操作 |
|---|---|
| ① 打开配置 | 双击 campus-auth.exe,自动弹出配置界面(托盘也在右下角) |
| ② 填门户信息 | 输入门户地址(或连上校园网但未认证时点「自动获取」)→ 点「一键生成配置」(会自动探测并校验门户类型) |
| ③ 开始保护 | 点「开始自动保护」→ 输入账号、密码、运营商 → 完成 |
之后程序在后台守护,断线自动重连。保护中再次点「开始自动保护」会自动重启保护,新配置立刻生效。
「快速开始」区三步完成:填门户地址 → 一键生成配置 → 开始自动保护。
- 自动获取地址:连上校园网但未认证时点「自动获取」,自动从网关劫持中提取认证页地址;支持 DNS 故障回退(直接探测公网 IP)与多种网关跳转写法
- 自动探测类型:自动识别锐捷 SAM+ / 华三 CAS SSO / 深澜等厂商
- 一键生成配置自动校验:生成后自动探测一次真实门户类型;若与你选择的类型不一致,会弹窗提醒并询问是否改用探测结果重新生成
界面采用中性灰配色、垂直排版,底部按钮固定大小,输入框支持右键复制/粘贴。 需要改接口路径、字段名等细节时,点「高级设置」展开完整表单。
| 模式 | 适用 |
|---|---|
| 锐捷 SAM+ 工作流 | 锐捷认证门户 |
| 华三 CAS SSO(AES 加密) | 华三 CAS + 锐捷工作流混合门户 |
| 通用登录 | 其他门户兜底 |
运行后右下角出现「水」字图标:
- 状态显示:鼠标悬停悬浮提示显示「保护中 / 未保护」;右键菜单首行也显示当前状态
- 右键菜单:状态 / 配置 / 开始保护(保护中显示「重新开始保护」)/ 停止保护 / 退出
- 双击:打开配置界面
自动登录由独立后台进程运行,关闭配置窗口或托盘不影响它;退出托盘时会一并停止保护。
配置界面里勾选「开机自启」,重启电脑后自动以托盘运行。
认证时选择运营商(中国移动/联通/电信/校园网),程序会自动映射到对应的服务名(如联通→unicom)。
- 账号密码保存在本机
~/.campus-auth/credentials.json(明文保存,请勿上传或分享) - 认证调试日志位于
~/.campus-auth/auth-debug.log:账号、密码密文、密钥、会话 token 等均自动脱敏;超过 2MB 自动轮转
Q:怎么知道现在是否处于保护状态? 鼠标悬停托盘图标,悬浮提示会显示「保护中 / 未保护」;右键菜单首行也有状态显示。
Q:改了配置怎么让新配置生效? 保护中再点一次配置界面底部「开始自动保护」(或托盘菜单「重新开始保护」),程序会自动停止并重启保护,新配置立即生效。
Q:连了别的网络(家里 WiFi / 手机热点),程序会误操作吗? 不会。程序只对你配置的校园网门户进行认证,其他网络下静默待命。
Q:为什么托盘图标在右下角看不到? Windows 11 会把新托盘图标折叠到「^」箭头里,点一下展开即可。
Q:能上网了,但 Windows 任务栏显示「无 Internet」? 认证成功后程序会自动刷新 DNS 缓存并触发 Windows 网络状态检测,通常几秒内恢复「已连接」。若仍不刷新,是 Windows NCSI 判定延迟,不影响实际联网。
Q:点「开始自动保护」后关闭窗口,还会继续认证吗? 会。自动保护由独立后台进程运行,关闭配置窗口不影响;想停止时在托盘右键菜单点「停止保护」即可。
Q:账号密码存在哪里?
存在本机 ~/.campus-auth/credentials.json。请不要把该文件上传到公开仓库。
Q:换学校了怎么办? 重新打开配置界面,改门户地址 + 一键生成配置 + 开始自动保护即可。
本软件完全免费,仅供学习交流,用于自动完成本人账号在所在校园网的认证。请遵守所在学校网络使用规定;使用产生的一切后果由使用者自行承担。
如果对你有所帮助,请给我点一个 ⭐ star
要求 Windows + Python 3.10+:
cd campus-auth
python -m campus_auth config # 配置界面
python -m campus_auth tray # 托盘
python -m campus_auth watch # 守护循环华三 CAS SSO 模式依赖
pycryptodome(AES 密码加密);锐捷/通用模式为纯标准库。 从源码运行 CAS 模式时先安装:python -m pip install pycryptodome(或pip install -e ".[cas]")。 打包时已内置依赖,最终用户无需安装。
powershell -ExecutionPolicy Bypass -File .\build.ps1
# 产物:dist\campus-auth\ 目录 + dist\campus-auth-v<版本>.zip 发布包(推荐的发布形式)如需单文件便携版(onefile),可用 PyInstaller 以
--onefile模式另建 spec 构建; 体积相近,但首次启动需要自解压,且更容易被部分杀软误报。
python -m unittest discover -s tests -v
# 135 项测试,全部不触网;CI 配置见 .github/workflows/tests.yml(Windows + Python 3.10/3.12)本项目为对门户进行黑盒探测后的独立实现,未参考第三方登录工具源码,声明见 docs/portal-profile.md。
