HIT 校园网站自动登录脚本
一位被 HIT 本科教育系统反复登录“折磨到疯”的同学写下的脚本;既能自动填也能自动登,还提供全站悬浮入口随时直达校园服务
- 脚本名:HIT 校园网站自动登录 2.0
- 当前版本:
v1.3.0
- 授权协议:MIT
- 生效范围:
- 悬浮入口:全站生效
- 自动填充 / 自动登录 / 校外授权自动同意:仅在 HIT 相关域名生效(如
*.hit.edu.cn、ivpn.hit.edu.cn、webportal.hit.edu.cn、idp.hit.edu.cn 等)
功能总览
- 自动填充用户名与密码
将你在 Tampermonkey 菜单中保存的用户名 / 密码自动写入登录框。
- 自动勾选“一周内免登录”
页面存在相关复选框时自动勾选。
- 自动登录(可开关)
在菜单里一键开启 / 关闭。开启后自动点击登录按钮。
- 错误与验证码检测
发现如“该账号非常用账号或用户名密码有误”“图形动态码错误”等提示时,自动关闭自动登录并弹窗提醒。
- “接管中”浮层(可中断)
自动流程时显示半透明浮层,点击背景空白处或“×”即可中断并关闭,也可以一键跳转
webportal.hit.edu.cn。
- 全站悬浮入口(右下角 HIT)
- 任何页面均可展开:
- 访问 HIT 内网(
i.hit.edu.cn)
- 访问 HIT 外网(
ivpn.hit.edu.cn)
- 访问 HIT-WLAN(
webportal.hit.edu.cn)
- 通过 WebVPN 访问当前页面(一键将当前 URL 转为 WebVPN 形式)
- 在 HIT 域名下,还会出现“登录助手”:展示账号、自动登录状态、校外授权状态,并提供:
- 设置用户名 / 设置密码
- 切换自动登录
- 切换校外授权自动同意
- 手动接管登录(强制执行一轮自动登录)
点击面板外任意位置自动收起。
- 一键开 / 关悬浮按钮
在 Tampermonkey 右键菜单中提供“开启悬浮按钮 / 关闭悬浮按钮”,随时开关右下角入口。
- 校外授权自动同意(IDP 自动授权)在
idp.hit.edu.cn 上自动:
勾选“接受隐私声明 / 身份认证提示”;
点击“继续”按钮;
在“信息发布 / 不再提示”页面勾选“不要再次提示我(全局同意)”,并自动继续。
可在 悬浮面板 或 Tampermonkey 菜单 中开启 / 关闭。
- WebVPN 智能重定向工具在任意页面点击“通过 WebVPN 访问”:
若当前不在 WebVPN,会把当前 URL 转成形如
http://<原域名用-连接>-s.ivpn.hit.edu.cn:1080/...
并自动跳转;
若已经在 .ivpn.hit.edu.cn 域名下,会提示“当前已在 WebVPN 访问模式”。
- 可自定义选择器(API)
若学校改了表单元素
id/name,可通过脚本暴露的 API 临时覆盖选择器。
快速开始
- 安装浏览器扩展 Tampermonkey(Chrome / Edge / Firefox / Safari 均可)。
- 安装 / 更新脚本(脚本头部
@downloadURL / @updateURL)。
- 打开任意 HIT 登录页(如
https://ids.hit.edu.cn/)。
- 通过 Tampermonkey 菜单:
- 设置用户名 / 设置密码;
- 设置自动登录(点击“确定”开启,取消则关闭);
- 按需开启 / 关闭 校外授权自动同意。
- 之后访问登录页会自动填充;若开启了自动登录则自动点击登录。
- 任意页面右下角 HIT 圆钮可展开悬浮面板:
- 一键访问内网 / 外网 / HIT-WLAN;
- 使用“通过 WebVPN 访问”把当前页面切到 WebVPN;
- 在 HIT 站点下可直接设置账号、切换自动登录 / 校外授权、手动接管登录。
不想显示悬浮按钮,可在 Tampermonkey 菜单中关闭悬浮按钮。
随时可在菜单中查看“当前设置”;也可点“登录HIT—WLAN”直达 https://webportal.hit.edu.cn/。
适配范围与匹配规则
- 悬浮入口:
http://*/*、https://*/*(全站显示)。
- 自动填充 / 自动登录 / 校外授权自动同意,仅在以下域名生效(脚本内部二次判定
isHitSite):
*.hit.edu.cn
ivpn.hit.edu.cn 与 *.ivpn.hit.edu.cn
webportal.hit.edu.cn
idp.hit.edu.cn(校外访问授权 / 信息发布提示页)
若学校新增了登录域名,可在源码中补充 isHitSite 判定;
访问其它业务系统时,可优先试试悬浮面板里的「通过 WebVPN 访问」。
常见问题(FAQ)
- 为何点了登录没反应?
多数是页面异步渲染 / 动态组件导致没有及时拿到按钮。脚本已内置自动重试,通常等待一会即可;若仍不行,刷新后再试。
- 弹出“非常用账号 / 验证码错误”就停了?
这是预期行为:为避免反复出错,脚本会自动关闭自动登录并提示。你可修正后再在菜单里重新开启。
- 不想要右下角悬浮按钮?
Tampermonkey 菜单里选择“关闭悬浮按钮”;随时可以再开启。
- “通过 WebVPN 访问”是做什么的?
会把当前页面 URL 改写成 WebVPN 的访问格式(
xxx-s.ivpn.hit.edu.cn:1080),方便在校外直接访问校内服务;已经在 WebVPN 时不会重复跳转。
不想自动同意校外授权 / 信息发布?可以:
- 在 Tampermonkey 菜单中使用“关闭校外授权自动同意”;
- 或在 HIT 站点下通过悬浮面板里的“切换校外授权”按钮进行开关。
关闭后,在
idp.hit.edu.cn 上的隐私声明与信息发布页面需要手动勾选和点击。
隐私与存储
- 账户与密码保存在 Tampermonkey 的本地存储(
GM_setValue/GM_getValue),不经网络上传。
- 校外授权与悬浮按钮等偏好也仅存于本地。
- 建议仅在个人设备上使用此脚本,并为浏览器设置主密码 / 系统登录保护。
变更记录
v1.3.0
- 新增:WebVPN 智能重定向工具(悬浮面板「通过 WebVPN 访问」按钮),一键将当前页面切换为 WebVPN 访问。
- 新增:校外授权自动同意(
idp.hit.edu.cn),自动勾选同意并继续,可在菜单和悬浮面板中启用 / 禁用。
- 新增:悬浮面板“登录助手”中展示 校外授权状态,并提供“切换校外授权”按钮。
- 细节:“接管中”浮层支持在授权流程中显示提示文案。
v1.2.2
- 新增:点击面板外关闭悬浮面板;
- 新增:TM 菜单 开启 / 关闭悬浮按钮;
- 优化:ids 页面异步表单重试更稳;“接管中”浮层支持点背景关闭。
v1.2.1
v1.1.50
- 基础自动填 / 登录;
- 错误 / 验证码检测;
- “接管中”浮层与基础菜单项。
脚本菜单项(Tampermonkey 右键菜单)
- 查看当前设置
- 设置用户名
- 设置密码
- 设置自动登录(开 / 关)
- 登录HIT—WLAN(快速跳转)
- 开启悬浮按钮
- 关闭悬浮按钮
- 开启校外授权自动同意
- 关闭校外授权自动同意
接口使用(API)
脚本在 window 暴露了一个对象:HITLoginAuto2。你可以在控制台或自定义脚本里调用。
1) 覆盖选择器(当页面表单的 id/name 改了时)
// 只传你想覆盖的那几项即可
HITLoginAuto2.setCustomIds({
username_ids: ["IDToken1", "username", "myUser"],
password_ids: ["IDToken2", "password", "myPass"],
// 可选:
// rememberMe_ids: ["rememberMe"],
// login_submit_ids: ["login", "submitButton"],
// errorTip_ids: ["showErrorTip"],
// captcha_ids: ["captcha-id"]
});
覆盖后立即生效;若页面已打开,可以再点一次“手动接管登录”或刷新页面。
2) 手动触发一次自动登录流程
// 强制立即尝试一次(即使当前域名不是 HIT,也会尝试表单填充与点击)
HITLoginAuto2.triggerLogin();
建议用于调试或在非 HIT 子站上试试是否兼容。
3) 控制“接管中”浮层(调试用)
HITLoginAuto2.showOverlay("调试:现在开始自动填充…");
// ... 做点别的
HITLoginAuto2.hideOverlay();
自动登录和授权流程内部会自动调用 showOverlay / hideOverlay;日常使用无需手动调用。
小提示
- 如果你希望默认关闭悬浮按钮,可以在 Tampermonkey 菜单中“关闭悬浮按钮”,脚本会记住这个偏好;随时可再开启。
- 如果新增了学校的其它登录域名,记得在源码里的
isHitSite 判定里扩一下正则即可。
- 如果你经常在校外访问校内系统,可以优先通过 WebVPN 工具按钮统一走 WebVPN,这样自动登录与授权逻辑也更连贯。