Skip to content

Releases: ZincGluxx/drcom-rs

DrCom Rust v1.0.4 — 紧凑窗口与可读的失败说明

Choose a tag to compare

@ZincGluxx ZincGluxx released this 31 Oct 15:54

DrCom Rust v1.0.4

紧凑窗口、可读的失败说明,以及一个只读的登录页探测。日常运行不再写日志文件。

界面

  • 主窗口固定为 480 × 380,不再允许调整大小;过长的错误说明改为滚动查看。
  • 状态行改为可换行文本:在线时显示「已在线 + 时长」,连接中显示「正在为你连接校园网…」。
  • 新增清除已保存密码:清掉本程序保存的凭据与内存中的密码。它不会改动你在 drcom.ini 里自己配置的密码,也不会在下次启动时把 ini 里的密码悄悄填回输入框。
  • 继续跟随 Windows 浅色 / 暗色主题实时切换;需要固定配色时用环境变量 DRCOM_THEME=light(或 dark)覆盖。

诊断

  • 校内 Ping jlu.edu.cn;外网分别进行 IPv4 / IPv6 HTTPS 检测,校验证书与网站响应,并用备用站点复核。
  • 区分 DNS 失败、请求超时、证书问题与本机地址不可用,给出对应的说明,而不是统一一句「网络异常」。
  • 新增登录页只读探测(src/page_status.rs):直接读取认证服务器首页并识别「登录页 / 会话中 / 被拒绝 / 已登录 / 无法判断」。该探测不参与认证与心跳,不影响连接。
  • 失败详情记录阶段、错误码、发生时间、耗时与重试次数,可展开查看;复制或保存检测结果时会一并带上。

日志与隐私

  • 日常运行不再写日志文件,也不显示协议调试信息;只保留有上限的内存诊断摘要,退出时清空。

命令行

  • drcom-cli 默认只输出连接阶段与错误;需要协议细节时用 --verbose 临时打开。

网络

  • 本地端口默认由系统自动选择,避开端口占用与 Windows 保留区间;服务器端口仍为 61440。

验证

  • cargo test --offline:109 项测试全部通过(86 项库测试 + 23 项 GUI 测试),覆盖协议帧构造、诊断结果判定、配置解析、偏好迁移、网络接口选择与单实例保护等。
  • 安装包 6.91 MB(Inno Setup),系统要求 Windows 10 / 11 x64;不安装驱动,日常运行不需要管理员权限(安装与更新需要)。

安装

下载 DrComRust_v1.0.4_Setup.exe 运行即可,会覆盖安装到原有目录并保留配置与开机启动设置。校验文件:DrComRust_v1.0.4_SHA256.txt。

DrCom Rust v1.0.3 — 可靠网卡识别与记忆

Choose a tag to compare

@ZincGluxx ZincGluxx released this 02 Oct 14:35

DrCom Rust v1.0.3

修复多个网卡环境下仅按路由或有线优先选择,导致认证无法完成的问题。

  • 登录和自动重连时枚举可用的物理网卡,覆盖同一网卡的多个有效 IPv4 地址。
  • 优先尝试上次成功登录的网卡,其余按认证服务器路由、网关及连接类型排序。
  • 在实际认证端口绑定源 IPv4 和出接口;先进行不带账号密码的挑战请求。核对回复的服务器地址、端口、序号与 nonce,验证通过后在同一个 socket 上登录、保活。
  • 网卡不可达或挑战超时会尝试下一候选;挑战通过但登录持续无响应也会切换候选。服务器拒绝挑战或账号密码时终止,避免反复提交凭据。
  • 成功登录后将网卡 GUID 原子保存到 %LOCALAPPDATA%\DrComCampusRust\adapter.json,不保存 IP 或接口索引。DHCP 地址或索引变化后按 GUID 重新匹配,首选失效后再自动探测,新的网卡登录成功后更新记录。原加密账号设置和开机启动设置保留。
  • 手动指定 local_ip / --local-ip 的配置仍保持固定地址;MAC 覆盖仍有效。探测可以取消。
  • 包含此前本地版本的 Windows 浅色/暗色主题跟随与可读性改进。

验证:100 项 Rust 测试,包含网卡超时切换、拒绝后停止、挑战来源端口校验、取消探测、稳定 GUID 优先、验证后的 IP/MAC 报文构造与 socket 复用。开发机实测:真实有线接口收到有效挑战,两个临时虚拟接口及三个已有虚拟接口均不可达;临时网络已移除。该测试未覆盖所有校园网部署和多个真实有线接口同时接入的情况。

程序运行无需管理员权限,不安装驱动。安装器更新现有 Rust 安装目录时需要管理员权限;更新会短暂结束旧客户端。

发布前本机验证:从旧版升级到 v1.0.3,GUI / CLI 文件哈希匹配构建产物,加密账号文件保持原样;新版真实自动登录成功,进入保活并保存了成功网卡 GUID。

v1.0.1 — 许可与署名

Choose a tag to compare

@ZincGluxx ZincGluxx released this 18 Sep 12:06

v1.0.1 — 许可与署名

  • 本项目现以 CC BY-NC 4.0(署名—非商业性使用)授权,仓库新增 LICENSE 文件,README 补充许可说明。
  • 主窗口底部新增版权署名 © 2026 ZincGlux。

下载

  • DrComRust_v1.0.1_Setup.exe:Windows x64 安装包(GUI + 命令行),exe 与安装包版本资源均为 1.0.1。

使用声明

仅限在自有合法账号的校园网内使用,不得用于商业目的;请遵守所在学校与运营商的网络使用规定。

v1.0.0 — 首个正式版

Choose a tag to compare

@ZincGluxx ZincGluxx released this 18 Sep 11:46

DrCom 校园网助手(Rust 版)v1.0.0

吉林大学 Dr.COM 校园网认证客户端的 Rust + Slint 重写版,首个正式版。

下载

  • DrComRust_v1.0.0_Setup.exe(6.53 MB):Windows x64 安装包,含 GUI(drcom-campus.exe)与命令行(drcom-cli.exe)。
  • 安装包由 Inno Setup 打包,exe 与安装包均带 1.0.0 版本资源。

亮点

  • 完整认证流程:challenge → login → keep-alive → logout,逐字节对应 B 世代 Python 参考实现;对真实认证服务器实测通过,连续保活 7.5 小时无空档、零失败。
  • 轻量:安装包 6.53 MB、工作集约 24 MiB、线程 4、待机 CPU ≈ 0(对比 C# + Avalonia 版全面更低,详见 README 对比表)。
  • 托盘常驻:关闭窗口最小化到托盘;单实例保护;凭据 DPAPI 加密保存。
  • 诊断:内网/校内/公网三层检测 + IPv4/IPv6 双栈体检、事件日志自动轮转、一键导出诊断报告。
  • 命令行:drcom-cli 支持配置文件、环境变量传密码、--once / --duration / 路由管理。

质量

  • 测试基线 78 项库测试 + 15 项集成测试全部通过。
  • 协议帧以 reference/ 参考向量钉住,登录帧长度按密码长度动态构造。

仅限在自有合法账号的校园网内使用;请遵守所在学校与运营商的网络使用规定。