58 lines
1.2 KiB
Bash
Executable File
58 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
source .env
|
|
|
|
|
|
# vars used from .env
|
|
#ROUTER_USERNAME
|
|
#ROUTER_PASSWORD
|
|
#ROUTER_ADDRESS
|
|
|
|
|
|
SesTokInfo_req(){
|
|
req=$(curl -s $ROUTER_ADDRESS/api/webserver/SesTokInfo)
|
|
TokInfo=$(echo $req | xmlstarlet sel -t -v "/response/TokInfo")
|
|
SesInfo=$(echo $req | xmlstarlet sel -t -v "/response/SesInfo")
|
|
}
|
|
|
|
gen_pass_hash(){
|
|
hash1=$(echo -n $ROUTER_PASSWORD| sha256sum | awk '{print $1}')
|
|
hash2=$(echo -n $ROUTER_USERNAME$hash1$TokInfo| sha256sum | awk '{print $1}')
|
|
passhash=$hash2
|
|
}
|
|
|
|
gen_login_body(){
|
|
body=$(echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?><request><username>$ROUTER_USERNAME</username><password_type>4</password_type><password>$passhash")
|
|
}
|
|
|
|
login(){
|
|
curl -s $ROUTER_ADDRESS/api/user/login \
|
|
-H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' \
|
|
-H "Cookie: SessionID=$SesInfo" \
|
|
-H "__RequestVerificationToken: $TokInfo" \
|
|
--data-raw $body
|
|
}
|
|
|
|
|
|
|
|
#disable_data(){
|
|
#curl -s $ROUTER_ADDRESS/api/user/login \
|
|
# -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' \
|
|
# -H "Cookie: SessionID=$SesInfo" \
|
|
# -H "__RequestVerificationToken: $TokInfo" \
|
|
#}
|
|
|
|
# exec oder
|
|
SesTokInfo_req
|
|
gen_pass_hash
|
|
gen_login_body
|
|
login
|
|
|
|
# debug
|
|
echo $TokInfo
|
|
echo $SesInfo
|
|
echo $passhash
|
|
echo $body
|
|
|
|
|