一个用Go语言开发的校园网自动认证工具,支持掉线自动重连、系统托盘运行、Web配置界面等功能。
- 🌐 自动认证: 检测网络状态,掉线后自动进行认证
- 🖥️ 系统托盘: 在后台运行,通过系统托盘管理
- ⚙️ Web配置: 简洁的HTML配置界面
- 🔄 开机自启: 支持开机自动启动
- 📱 Windows通知: 使用现代化Windows 10/11通知
- 🚫 单实例运行: 防止程序多开,第二次运行打开配置页面
- 📝 日志记录: 详细的运行日志,保存在用户目录
- 👁️ 隐藏窗口: 后台运行,不显示控制台窗口
- 🌍 IPv4/IPv6支持: 自动获取本机IP地址并正确格式化
- 下载发布的
campus-net-auth.exe文件 - 双击运行,首次启动会打开配置页面
- 配置校园网账号和密码
- 程序会在系统托盘后台运行
- 确保安装了Go 1.20或更高版本
- 克隆或下载源码
- 运行
build.bat或手动执行:go build -ldflags "-H windowsgui" -o campus-net-auth.exe
- 账号: 校园网登录账号
- 密码: 校园网登录密码
- 检查间隔: 网络状态检查间隔(秒),默认30秒
- 检查URL: 用于检测网络连接状态的URL
- 默认:
http://10.10.102.50:801/eportal/portal/online_list
- 默认:
- 登录URL: 认证登录的URL模板
- 支持变量替换:
{account},{password},{wlan_user_ip},{wlan_user_ipv6}
- 支持变量替换:
- 开机自启: 是否在Windows启动时自动运行
右键系统托盘图标可以访问:
- 配置: 打开Web配置页面
- 网络状态: 检查当前网络连接状态
- 开机自启: 切换开机自启动设置
- 退出: 退出程序
- Go 1.20+: 主要开发语言
- fyne.io/systray: 系统托盘功能
- gopkg.in/toast.v1: Windows通知
- html/template: Web配置界面
- embed: 静态文件嵌入
- 网络检测: 通过HTTP请求检测认证状态
- IP地址获取: 自动获取IPv4和IPv6地址
- IPv6格式化: 将IPv6地址转换为URL编码格式
- 多实例检测: 使用Windows Mutex防止重复运行
- 开机自启: 通过Windows注册表设置
- 日志系统: 记录到用户目录的日志文件
campus-net-auth/
├── main.go # 主程序
├── go.mod # Go模块文件
├── build.bat # Windows构建脚本
├── README.md # 说明文档
├── templates/ # HTML模板
│ └── config.html # 配置页面模板
└── static/ # 静态资源
└── style.css # CSS样式文件
- 操作系统: Windows 10/11
- 运行时: 无需额外运行时,独立可执行文件
- 网络: 支持校园网HTTP认证
- 首次运行需要管理员权限设置开机自启(可选)
- 程序会在用户目录下创建
CampusNetAuth文件夹存储配置和日志 - 认证失败时会显示Windows通知,但不会重复通知
- 可以通过Web界面实时查看运行状态和日志
- 检查Windows Defender或其他杀毒软件是否误报
- 确保网络连接正常
- 查看用户目录下的日志文件
- 检查账号密码是否正确
- 确认校园网认证URL是否有变化
- 查看程序日志了解具体错误信息
- 确保Windows通知功能已启用
- 检查程序是否有通知权限
go mod downloadgo run main.gogo build -ldflags "-H windowsgui" -o campus-net-auth.exeMIT License - 详见 LICENSE 文件
欢迎提交Issue和Pull Request!
- 初始版本发布
- 支持基本的校园网认证功能
- Web配置界面
- 系统托盘集成
- Windows通知支持