Skip to content

v1.1.3 — 新手向导:问一句 + 自动认门户

Choose a tag to compare

@fotlim fotlim released this 18 Oct 03:21
· 27 commits to main since this release

v1.1.3 — 新手向导:问一句 + 自动认门户

这次加的是「第一次用」的体验:不用先懂协议,程序自己问、自己认、自己写配置。

新增:新手向导

三个入口,同一个流程:

  • 第一次运行(settings.json / accounts.json / portal.json 都还没有)时自动弹出
  • 菜单里按 G
  • 命令行 -Mode wizard

流程:

步骤 做什么
① 问 WiFi 「当前这个 WiFi 是校园网 / 需要自动认证的吗?」
答 是 → 目标 SSID 就设成当前这个
答 否 → 让你填真正要连的名字,顺手写好「目标 WiFi + 自动连接」
② 问账号 一个账号都没有时顺便录入(DPAPI 加密保存)
③ 认门户 复刻"浏览器自动弹认证页":HTTP 302 → 网关(80/8080)→ HTTPS 劫持页,三路都试
④ 出配置 命中内置预设(Dr.COM / 天翼 / 深澜 / 锐捷 / 通用表单)直接套用;没命中就现场生成
⑤ 收尾 可选试登录一次;可选装开机自启

没命中预设时,现场生成的原理

抓门户 HTML → 找含 password 的 <form> → 抠出:

  • action 当登录接口,method 当提交方式
  • 账号字段名、密码字段名
  • 隐藏字段(如 wlanuserip、service)原样带上

拼成模板:

wlanuserip=10.1.2.3&service=internet&username={user}&password={pwd}

再看页面里有没有 md5( / rc4 / base64,据此猜加密方式。生成结果存成 id=custom,成功判定留空(以真实连通性为准),随时可以用 -Mode portal 查看或修改。

验证:起了一个「隐藏字段 + md5 密码」的假门户,用自动生成的配置去登录 —— 服务端四项断言(账号、md5 密码、wlanuserip、service)全部通过,判定登录成功。

边界(说清楚)

  • 需要我先输对账号密码才显示表单的门户,向导抓不到字段 —— 会提示你改用 -Mode collect 或浏览器 F12 → Copy as cURL
  • 带图形验证码的门户,自动生成也没法全自动(验证码得人看)
  • 猜的加密方式可能不对;不对就照 -Mode portal 里的字段改一个值重试

升级方式

解压覆盖原目录即可。想立刻试向导:.\Connect-CampusNet.ps1 -Mode wizard

SHA256(campus-net-v1.1.3.zip):217A51584F46ED52E390C6062FD5300BBA0E43E2698EAFAABBFC090DA5A11884