Sleepstars 的记录室

Sleepstars 的记录室

深圳大学宿舍区校园网双播脚本(可自行拓展)

2024-08-17

代码可在库中获取虽然我知道这里已经有了Sleepstars/SZU_Utils (github.com)

请忽略我的刚学的curl和bash)

感谢前人做的工作,链接如下:

抓包分析,一条Linux命令实现路由器自动登录深大校园网认证(Drcom Pt版)_172.30.255.42-CSDN博客

2022年 深圳大学 Drcom 宿舍区 openwrt上网脚本(可多拨) busybox ash 数组变量_busybox 没有数组语法-CSDN博客

#!/bin/sh

# 定义一个函数用于自动登录
auto_login() {
    curl --interface $INTERFACE1 -G -d "user_account=$USER_ACCOUNT1" -d "user_password=$USER_PASSWORD1" $LOGIN_URL
    curl --interface $INTERFACE2 -G -d "user_account=$USER_ACCOUNT2" -d "user_password=$USER_PASSWORD2" $LOGIN_URL
}

# 定义一个函数用于检查网络连接
check_connection() {
    local interface=$1
    value=$(ping -q -c 4 223.5.5.5 -I $interface)
    result=$(echo $value | grep "0 packets received")
    if [[ -n "$result" ]]
    then
        echo "Network connection lost on $interface. Trying to login..."
        auto_login
    fi
}

# 定义登录的 URL 和用户账号密码
LOGIN_URL="http://172.30.255.42:801/eportal/portal/login/"
USER_ACCOUNT1="账号1"
USER_PASSWORD1="账号1密码"
USER_ACCOUNT2="账号2"
USER_PASSWORD2="账号2密码"

# 定义网络接口变量
INTERFACE1="macvlan1"
INTERFACE2="macvlan2"

# 检查 INTERFACE1 的网络连接
check_connection "$INTERFACE1"

# 检查 INTERFACE2 的网络连接
check_connection "$INTERFACE2"