面向 macOS 26 的锐捷 ePortal 校园网认证应用,适用于采用相同锐捷认证页面和接口的学校网络,并非四川大学专属。
应用使用 SwiftUI 和 macOS 系统框架实现,无第三方依赖,也不需要 Python 或常驻 LaunchAgent。认证协议层面通常只需在设置中将 Portal 地址 修改为学校提供的锐捷 Portal 地址即可使用。
当前默认地址
http://192.168.2.135/仅为开发环境示例。不同学校的地址可能是网关 IP、域名或带路径的 URL。
- 在菜单栏显示网络认证状态并支持一键登录
- 自动检测网络变化,必要时提交锐捷 ePortal 认证
- 账号和密码保存在本机应用配置中,不访问 macOS Keychain
- 支持校园网、中国电信、中国移动和中国联通
- 可选“登录 Mac 后自动启动”
- 网络变化时立即检查,并每 5 秒快速兜底检查
- 自动登录成功或失败时发送 macOS 通知
- 支持多个 Wi-Fi 白名单名称,未命中白名单的网络不会访问 Portal
应用适用于认证页面能够提供锐捷 ePortal queryString,并通过以下兼容接口提交登录的网络:
/eportal/InterFace.do?method=login
同类锐捷部署通常只需修改应用中的 Portal 地址。如果学校修改了认证接口、参数或启用了验证码、加密密码等额外机制,则需要相应调整代码。
- 打开
SchoolNetHelper.xcodeproj,选择SchoolNetHelperScheme 后运行;或直接打开build/SchoolNetHelper.app。 - 点击菜单栏图标,进入“设置”。
- 将
Portal 地址修改为学校提供的锐捷认证地址。 - 填写账号、密码和运营商,点击对应的手动登录按钮。
- 如需自动登录,设置允许的 Wi-Fi 名称;多个名称可用逗号、分号或换行分隔。
- 允许应用读取当前位置,以便 macOS 提供当前 SSID。
- 如需长期自动运行,请先把应用移到
/Applications,再开启“登录 Mac 后自动启动”。
xcodebuild \
-project SchoolNetHelper.xcodeproj \
-scheme SchoolNetHelper \
-configuration Release \
clean build \
CONFIGURATION_BUILD_DIR="$PWD/build"Release 应用位于 build/SchoolNetHelper.app。