通过 Web Portal 认证方式。可以运行在后台保持网络连接。支持自动重连、开机自启。
- 在 Release 页面下载 zip 文件并解压
- 修改
config.yaml,填入学号和密码 - 运行
xdwlan-login.exe即可。(程序会在系统托盘后台运行,图标为牛油果) - (可选)右键托盘图标,选择 “开机自启”,即可开机自启
方法一 :一键脚本安装
curl -sSL https://github.com/silverling/xdwlan-login/raw/refs/heads/main/scripts/install.sh | bashPS:在安装脚本中,该程序将被自动安装到 /opt/xdwlan-login 目录下,并软链接到 /usr/local/bin/xdwlan-login。
PS:如果你的网络无法连接到 GitHub 导致下载失败,也可以通过其他方式手动下载 install.sh 和 xdwlan-login-x86_64-unknown-linux-gnu.tar.xz 到同一目录,然后在该目录下执行
bash ./install.sh xdwlan-login-x86_64-unknown-linux-gnu.tar.xz方法二:手动安装
下载并解压curl -sSL https://github.com/silverling/xdwlan-login/releases/latest/download/xdwlan-login-x86_64-unknown-linux-gnu.tar.xz -O xdwlan-login.tar.xz
tar -xf xdwlan-login.tar.xz在程序同目录下创建配置文件 config.yaml,填入以下内容:
username: "学号"
password: "密码"Linux 版程序有三种运行模式:
xdwlan-login --oneshot:登录校园网,然后退出。xdwlan-login:登录校园网,然后持续运行,定时监测网络状态,自动断网重连。sudo systemctl enable --now xdwlan-login.service:开机自启,然后持续运行,定时监测网络状态,自动断网重连。
如果遇到问题,可以查看程序所在目录下的日志文件 log.txt 来排查(设置环境变量 XDWLAN_LOGIN_LOG_LEVEL='trace' 可以调节日志层级, 或在 config.yaml 中设置),也可以在 Issue 区反馈。
该程序通过模拟浏览器用户登录行为,理论上说,只要你的设备可以访问登录界面,就可以使用本程序来自动登录。
认证原理:
- 当你的设备断网时,任何 HTTP 请求(非 HTTPS)都会被网关重定向到
http://w.xidian.edu.cn网站,来引导用户登录。 - 本程序会自动检测是否断网,并在被重定向后,自动填入学号与密码来登录。
这种方式相比于逆向 Javascript 代码逻辑,有更好的鲁棒性,也更有利于维护。
如果你想要测试该程序,或者其他原因,可以 Clone 本仓库并自行编译使用。
首先,在项目根目录创建 config.yaml 文件(可参考 config.examepl.yaml ),写入登录信息:
username: "23000000000"
password: "xxxxxxxxxxx"然后编译程序:
# Windows
bun install
bun run -F xdwlan-login build:windows
cargo build
# Linux
bun install
bun run -F xdwlan-login build:linux