深澜认证的校园网自动登录

1. 环境

  • 路由器:提前刷好可以运行自定义sh脚本的系统,如padavan、openwrt等。
  • 校园网:采用深澜认证系统,当前版本号20240108
  • 登陆程序zu1k/srun

2. 步骤

2.1 下载登陆程序

Github 下载对应处理器架构的登陆程序。

2.2 将登陆程序sdusrun放置在路由器内

添加可执行权限,padavan 可放在/etc/storage/bin/下。

2.3 编写配置文件

在存储目录内(如/etc/storage/)新建config.json文件
需填写的参数:

  • server:校园网认证服务器地址
  • retry_delay:重试间隔时间
  • retry_times:重试次数
  • acid:重定向标识符,通过浏览器常规登陆方式重定向到的登陆页面获取
  • users
    • usernamepassword:账号密码
    • ipif_name两者二选一,指定校园网分配给设备的 ip,或指定网卡名称(如wan)自动获取 ip 。

2.4 编写脚本

在存储目录内(如/etc/storage/)新建network_connect.sh文件
chmod添加可执行权限,按实际情况修改脚本内登录程序和配置文件的路径。

2.5 后台自动运行

在路由器的管理界面中,找到自启动相关的设置,将命令
nohup /etc/storage/network_connect.sh >> /tmp/syslog.log &
添加到自启动脚本中(如路由器固件不包含自启动脚本,则需自行添加自启动服务)。
其中 /tmp/syslog.log 为 padavan 固件的日志文件路径,可通过ps | grep syslogd获取日志路径。

3. 脚本及配置文件

config.json

{.line-numbers}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
"server": "",
"strict_bind": false,
"double_stack": false,
"retry_delay": 1000,
"retry_times": 1,
"n": 200,
"type": 1,
"acid": ,
"os": "AndroidOS",
"name": "Smartphones/PDAs/Tablets",
"users": [
{
"username": "",
"password": "",
"ip": "",
"if_name": ""
}
]
}

network_connect.sh

{.line-numbers}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/sh
# nohup /etc/storage/network_connect.sh >> /tmp/syslog.log &
connect_network() {
/etc/storage/bin/sdusrun login -c /etc/storage/config.json | grep -E "try|suc_msg"
echo "$(date "+%Y-%m-%d %H:%M:%S") 【自动联网】 执行成功"
#logger -t "【自动联网】" "执行成功"
sleep 5
}

check_network() {
local target="www.baidu.com"
if ping -c 1 -W 1 "$target" > /dev/null 2>&1; then
echo "$(date "+%Y-%m-%d %H:%M:%S") 【网络检测】 √ 网络已连接"
#logger -t "【自动联网】" "√ 网络已连接"
return 0
else
echo "$(date "+%Y-%m-%d %H:%M:%S") 【网络检测】 × 网络已断开"
#logger -t "【自动联网】" "× 网络已断开"
return 1
fi
}

while true
do
if ! check_network; then
connect_network
check_network
fi
sleep 30 # 检测间隔
done

技术文章
深澜校园网登录的分析与python实现


深澜认证的校园网自动登录
https://heeteve-blog.pages.dev/2024/03/深澜认证的校园网自动登录/
作者
Heeteve
发布于
2024年3月24日
许可协议