Zyyo

Just for fun

文章

24

标签

25

评论

537

文章目录

数据统计

成立

302天

文章

24篇

评论

537条

标签

25个

最近文章

锐捷校园网认证工具

锐捷校园网认证工具

作者:ZYYO
版本:1.0.0
许可证:MIT

项目简介

这是一个基于 Electron 框架开发的锐捷校园网自动认证工具,专为解决校园网频繁掉线需要重复认证的问题而设计。该工具提供了现代化的图形界面和系统托盘功能,支持自动监控网络状态并在断网时自动重连。

技术架构

核心技术栈

  • 前端框架:Electron + HTML5 + CSS3 + JavaScript
  • 后端逻辑:Node.js
  • 网络请求:Axios
  • 加密算法:RSA 公钥加密
  • 系统集成:系统托盘、开机自启、管理员权限检测

项目结构

├── electron-main.js          # Electron 主进程入口
├── package.json             # 项目配置和依赖管理
├── public/
│   ├── index.html          # 用户界面
│   └── assets/             # 图标资源
└── src/
    ├── main.js             # 业务逻辑入口
    └── module/
        ├── auth.js         # 认证模块
        ├── campus.js       # 校园网信息获取
        ├── check.js        # 网络状态检测
        ├── config.js       # 配置管理
        ├── encrypt.js      # 密码加密
        ├── network.js      # 网络请求封装
        ├── rsa.js          # RSA 加密实现
        └── utils.js        # 工具函数

技术实现详解

认证流程设计

网络状态检测

  • 通过访问 redirectortosuccess.jsp 端点检测当前认证状态
  • 解析 HTTP 响应头中的 Location 字段判断是否已认证
  • 支持重定向状态码处理,确保检测准确性

校园网信息获取

  • 访问外部网站(如百度)触发校园网重定向
  • 解析重定向 URL 提取认证参数
  • 调用 pageInfo 接口获取 RSA 公钥等加密参数
  • 编码处理 queryString 参数确保数据完整性

密码加密机制

  • 采用锐捷官方的 RSA 加密算法
  • 密码与 MAC 地址组合:password + ">" + macAddress
  • 字符串反转后进行 RSA 公钥加密
  • 130 位最大数字精度确保加密强度

认证请求处理

  • 构建标准的认证数据包
  • 包含用户名、加密密码、查询字符串等必要参数
  • POST 请求提交到认证服务器
  • 解析 JSON 响应判断认证结果

Electron 应用架构

主进程管理

  • 单实例应用锁定,防止重复启动
  • 系统托盘集成,支持后台运行
  • IPC 通信处理前端交互
  • 配置文件持久化存储

渲染进程界面

  • 现代化暗色主题设计
  • 实时状态显示和日志输出
  • 响应式布局适配不同屏幕
  • 自定义标题栏和窗口控制

系统集成功能

  • Windows 开机自启动支持
  • 管理员权限检测和提升
  • 系统通知推送
  • 托盘菜单快捷操作

自动监控机制

定时检测

  • 可配置的检测间隔(默认 10 秒)
  • 异步网络状态检查避免阻塞
  • 智能重试机制处理网络异常

状态管理

  • 实时监控状态跟踪
  • 日志系统记录操作历史
  • 错误处理和异常恢复

主要特性

  • 🚀 自动认证:检测到断网时自动重新认证
  • 🎯 智能监控:可配置的网络状态监控间隔
  • 🖥️ 现代界面:基于 Electron 的跨平台图形界面
  • 📱 系统托盘:支持最小化到系统托盘后台运行
  • 🔐 安全加密:采用 RSA 加密保护用户密码
  • 开机自启:支持 Windows 系统开机自动启动
  • 📊 实时日志:详细的操作日志和状态显示

安装使用

环境要求

  • Node.js 16.0+
  • Windows 10/11(推荐)
  • 锐捷校园网环境

开发运行

# 安装依赖
npm install

# 开发模式运行
npm run dev

# 控制台模式运行
npm run console

构建打包

# 构建 Windows 安装包
npm run build:win

# 构建便携版
npm run build:win-portable

配置说明

应用配置文件存储在用户主目录的 .xiaoyuanwang-config.json,包含:

  • 用户名和密码
  • 服务器地址(默认:172.16.200.101)
  • 检测间隔设置
  • 自启动选项

技术亮点

  1. 模块化设计:清晰的模块分离,便于维护和扩展
  2. 异步处理:全异步网络请求,避免界面卡顿
  3. 错误处理:完善的异常捕获和用户友好的错误提示
  4. 跨平台兼容:基于 Electron 的跨平台解决方案
  5. 安全性:本地存储配置,密码 RSA 加密传输

开源协议

本项目采用 MIT 开源协议,欢迎贡献代码和提出建议。


该工具仅供学习交流使用,请遵守校园网使用规定。

锐捷校园网认证工具

发布于

October 29, 2025

分类

实用分享

版权协议

MIT

评论
😀

感谢支持!

微信二维码

请使用微信扫描二维码打赏。

支付宝二维码

请使用支付宝扫描二维码打赏。