在命令行环境下完成深澜校园网认证
好久没更新了……最近搞了不少项目,先水更新一篇简单的教程吧。
来自2025年6月的更新
此前推荐的开源项目更新了代码,似乎去除了旧版认证系统支持,但是学校的深澜认证一直没有更新(笑)
以下脚本脚本改编自以为东北大学的学长在8年前写的脚本,经过测试可以在安装有curl的Linux Bash 环境下正常运行并完成认证;由于站长比较懒,没有检查注销功能是否有效,也没有适配其他环境的动力,可能需要读者自行尝试。
完整脚本代码如下:
#!/bin/bash
ip=`ifconfig enp1s0-ovs |grep "inet addr"| cut -f 2 -d ":"|cut -f 1 -d " "`
#echo $ip
option="${1}"
username=直接输入数字
passwd=直接输入密码
echo "账户名: ${username}";
# --login 登录
# --info 信息
case $option in
--login) curl -s -H "rz.muc.edu.cn" --data "action=login&username=${username}&password=${passwd}&ac_id=5&user_ip=${ip}&nas_ip=&user_mac=&save_me=1&ajax=1" 'http://rz.muc.edu.cn/srun_portal_pc.php?url=&ac_id=1&' | grep -o -E "已经在线了|网络已连接"
;;
--info) curl -s -H "rz.muc.edu.cn" --data "action=get_online_info" 'http://rz.muc.edu.cn/include/auth_action.php' | awk 'BEGIN{FS=","} {if($1=="not_online"){status="not online" } else {status="online"; total=$1/1073741824; time=$2/3600}} END{printf "账号状态: %-s\n", status; printf "已用流量: %-8.2f GB\n", total; printf "已用时长: %-8.2f hours\n", time;printf "账户余额: %-8s Yuan\n", $3; printf "ip 地址: %-s", $6;}'
echo
;;
--help) echo "--login 登录"
echo "--info 信息"
;;
*) echo "please input operation command, command --help"
;;
esac
注意其中的enp1s0-ovs
需要换成连接校园网的网卡,可以通过ip addr
命令查看;username
和passwd
后直接写对于内容即可,无需任何特殊符号包裹;相比之前推荐的 BitSrunLoginGo 项目,此脚本没有提供DDNS功能,如有需要,推荐使用 DDNS-go 或其他类似项目实现此功能。
以下是原文:
TL;DR
-
前往 Mmx233/BitSrunLoginGo的release页面下载你的系统架构对应的包,如x86架构的32位 Linux 主机请选择 bitsrun_linux_386.zip,64位 Linux 主机请选择 bitsrun_linux_amd64.zip,运行armbian的网心云小主机请选择autoLogin_linux_arm.zip;
-
参考README页面的Config.yaml 说明,如果你在中央民族大学丰台校区,可以参考下面的部分配置:
form:
domain: 10.210.2.100 #登录地址 ip
username: "填入你的账号" #改为你的账号
usertype: #运营商类型,不填
password: "填入你的密码" #改为你的密码
meta: #登录参数,以MUC环境为例
"n": "200"
type: "1"
acid: "4"
enc: srun_bx1
-
在
\opt
目录下新建目录并上传autoLogin
和Config.yaml
,赋予运行权限chmod +x autoLogin
,然后运行./autoLogin
,观察提示,如果有登录成功的提示则说明完成 -
可以按照自己的需求配置进程守护、开机自启、内网地址DDNS,在此不再赘述
折腾过程
在宿舍里放了一台无头Linux小主机作为内网服务器使用,没有安装桌面环境,因此在完成必须使用浏览器完成的校园网登录认证出现了问题;在晚上查阅了许多资料,尝试使用wget命令传递参数、w3m命令行浏览器登录认证都没有解决问题,不过找到了具有参考价值的资料:
经过尝试,发现下面两个下面对MUC的校园网认证
在此更推荐第一个项目,使用Go语言使得其不需要额外配置运行环境,也支持更多平台
不过,使用默认登录参数登录失败,通过使用开发者工具分析登录页面发现acid参数不同于北理环境,修改后就能成功登录。
(顺便吐槽一下,Portal.js 中明文注释是认真的吗……)