Skip to content

ethandong16/AutoCampusNet

Repository files navigation

校园网自动认证助手

一个用Go语言开发的校园网自动认证工具,支持掉线自动重连、系统托盘运行、Web配置界面等功能。

功能特性

  • 🌐 自动认证: 检测网络状态,掉线后自动进行认证
  • 🖥️ 系统托盘: 在后台运行,通过系统托盘管理
  • ⚙️ Web配置: 简洁的HTML配置界面
  • 🔄 开机自启: 支持开机自动启动
  • 📱 Windows通知: 使用现代化Windows 10/11通知
  • 🚫 单实例运行: 防止程序多开,第二次运行打开配置页面
  • 📝 日志记录: 详细的运行日志,保存在用户目录
  • 👁️ 隐藏窗口: 后台运行,不显示控制台窗口
  • 🌍 IPv4/IPv6支持: 自动获取本机IP地址并正确格式化

安装使用

方法一:直接下载

  1. 下载发布的 campus-net-auth.exe 文件
  2. 双击运行,首次启动会打开配置页面
  3. 配置校园网账号和密码
  4. 程序会在系统托盘后台运行

方法二:源码编译

  1. 确保安装了Go 1.20或更高版本
  2. 克隆或下载源码
  3. 运行 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: 静态文件嵌入

核心功能

  1. 网络检测: 通过HTTP请求检测认证状态
  2. IP地址获取: 自动获取IPv4和IPv6地址
  3. IPv6格式化: 将IPv6地址转换为URL编码格式
  4. 多实例检测: 使用Windows Mutex防止重复运行
  5. 开机自启: 通过Windows注册表设置
  6. 日志系统: 记录到用户目录的日志文件

目录结构

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认证

注意事项

  1. 首次运行需要管理员权限设置开机自启(可选)
  2. 程序会在用户目录下创建 CampusNetAuth 文件夹存储配置和日志
  3. 认证失败时会显示Windows通知,但不会重复通知
  4. 可以通过Web界面实时查看运行状态和日志

故障排除

程序无法启动

  • 检查Windows Defender或其他杀毒软件是否误报
  • 确保网络连接正常
  • 查看用户目录下的日志文件

认证失败

  • 检查账号密码是否正确
  • 确认校园网认证URL是否有变化
  • 查看程序日志了解具体错误信息

通知不显示

  • 确保Windows通知功能已启用
  • 检查程序是否有通知权限

开发说明

依赖包安装

go mod download

开发运行

go run main.go

生产构建

go build -ldflags "-H windowsgui" -o campus-net-auth.exe

许可证

MIT License - 详见 LICENSE 文件

贡献

欢迎提交Issue和Pull Request!

更新日志

v1.0.0

  • 初始版本发布
  • 支持基本的校园网认证功能
  • Web配置界面
  • 系统托盘集成
  • Windows通知支持

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published