diff --git a/LTE.sh b/LTE.sh new file mode 100755 index 0000000000000000000000000000000000000000..59b5343fba52a6c96df9440b7717f6eb60e247cf --- /dev/null +++ b/LTE.sh @@ -0,0 +1,27 @@ + +#!/bin/sh + +MODEM_IP="192.168.8.1" +curl -s -X GET "http://$MODEM_IP/api/webserver/SesTokInfo" > session_token +COOKIE=`grep "SessionID=" session_token | cut -b 10-147` +TOKEN=`grep "TokInfo" session_token | cut -b 10-41` + +LTE_REGISTER="<request><Mode>0</Mode><Plmn></Plmn><Rat></Rat></request>" +LTE_NETMODE="<request><NetworkMode>01</NetworkMode><NetworkBand>3FFFFFFF</NetworkBand><LTEBand>7FFFFFFFFFFFFFFF</LTEBand></request>" + +url="http://$MODEM_IP/api/net/register" + +curl -X POST -d $LTE_REGISTER "$url" \ +-c $COOKIE --header "__RequestVerificationToken: $TOKEN" \ +--header "Cookie: $COOKIE" --header "Content-Type: text/xml" + +MODEM_IP="192.168.8.1" +curl -s -X GET "http://$MODEM_IP/api/webserver/SesTokInfo" > session_token +COOKIE=`grep "SessionID=" session_token | cut -b 10-147` +TOKEN=`grep "TokInfo" session_token | cut -b 10-41` + +url="http://$MODEM_IP/api/net/net-mode" + +curl -X POST -d $LTE_NETMODE "$url" \ +-c $COOKIE --header "__RequestVerificationToken: $TOKEN" \ +--header "Cookie: $COOKIE" --header "Content-Type: text/xml" diff --git a/apn.sh b/apn.sh new file mode 100755 index 0000000000000000000000000000000000000000..b706f5366e193e3dfce791a68342d83d95c9f11c --- /dev/null +++ b/apn.sh @@ -0,0 +1,24 @@ +#!/bin/sh + + +MODEM_IP="192.168.8.1" +curl -s -X GET "http://$MODEM_IP/api/webserver/SesTokInfo" > session_token +COOKIE=`grep "SessionID=" session_token | cut -b 10-147` +TOKEN=`grep "TokInfo" session_token | cut -b 10-41` + +NAME="arun" +APN_NAME="arun" +USERNAME="arun" +PASSWORD="arun" +URL="http://$MODEM_IP/api/dialup/profiles" +Referer="http://192.168.8.1/html/profilesmgr.html" + + +APN_ADD_REQ="<request><Delete>0</Delete><SetDefault>0</SetDefault><Modify>1</Modify><Profile><Index></Index><IsValid>1</IsValid><Name>$NAME</Name><ApnIsStatic>1</ApnIsStatic><ApnName>$APN_NAME</ApnName><DialupNum>*99#</DialupNum><Username>$USERNAME</Username><Password>$PASSWORD</Password><AuthMode>0</AuthMode><IpIsStatic></IpIsStatic><IpAddress></IpAddress><DnsIsStatic></DnsIsStatic><PrimaryDns></PrimaryDns><SecondaryDns></SecondaryDns><ReadOnly>0</ReadOnly><iptype>2</iptype></Profile></request>" +APN_DEL_REQ="<request><Delete>2</Delete><SetDefault>1</SetDefault><Modify>0</Modify></request>" + + + +curl -X POST -d $APN_ADD_REQ "$URL" \ +-c $COOKIE --header "__RequestVerificationToken: $TOKEN" \ +--header "Cookie: $COOKIE" --header "Content-Type: text/xml" diff --git a/change_language.sh b/change_language.sh new file mode 100755 index 0000000000000000000000000000000000000000..16d8fc79db86acc7eb909742a4cdace73b85a619 --- /dev/null +++ b/change_language.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +MODEM_IP="192.168.8.1" +curl -s -X GET "http://$MODEM_IP/api/webserver/SesTokInfo" > session_token +COOKIE=`grep "SessionID=" session_token | cut -b 10-147` +TOKEN=`grep "TokInfo" session_token | cut -b 10-41` + +url="http://$MODEM_IP/api/language/current-language" +LANGUAGE_REQ="<request><CurrentLanguage>zh-cn</CurrentLanguage></request>" + + +curl -X POST -d $LANGUAGE_REQ "$url" \ +-c $COOKIE --header "__RequestVerificationToken: $TOKEN" \ +--header "Cookie: $COOKIE" --header "Content-Type: text/xml" diff --git a/change_netmode.sh b/change_netmode.sh new file mode 100755 index 0000000000000000000000000000000000000000..d4f12c611a060cf80f4618813f65b585e3ab5ddc --- /dev/null +++ b/change_netmode.sh @@ -0,0 +1,12 @@ + +MODEM_IP="192.168.8.1" +curl -s -X GET "http://$MODEM_IP/api/webserver/SesTokInfo" > session_token +COOKIE=`grep "SessionID=" session_token | cut -b 10-147` +TOKEN=`grep "TokInfo" session_token | cut -b 10-41` + +NETMODE_REQ="<request><NetworkMode>00</NetworkMode><NetworkBand>3FFFFFFF</NetworkBand><LTEBand>7FFFFFFFFFFFFFFF</LTEBand></request>" + +curl -X POST -d $NETMODE_REQ "http://$MODEM_IP/api/net/net-mode" \ +-c $COOKIE --header "__RequestVerificationToken: $TOKEN" \ +--header "Cookie: $COOKIE" --header "Content-Type: text/xml" + diff --git a/change_pin.sh b/change_pin.sh new file mode 100755 index 0000000000000000000000000000000000000000..c1c79e34111e059e182e742640fc5e89b5ebbd51 --- /dev/null +++ b/change_pin.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +MODEM_IP="192.168.8.1" +curl -s -X GET "http://$MODEM_IP/api/webserver/SesTokInfo" > session_token +COOKIE=`grep "SessionID=" session_token | cut -b 10-147` +TOKEN=`grep "TokInfo" session_token | cut -b 10-41` + +PIN_REQ="<request><OperateType>3</OperateType><CurrentPin>00000000</CurrentPin><NewPin>12345678</NewPin><PukCode></PukCode></request>" +url="http://$MODEM_IP/api/pin/operate" + +curl -X POST -d $PIN_REQ "url" \ +-c $COOKIE --header "__RequestVerificationToken: $TOKEN" \ +--header "Cookie: $COOKIE" --header "Content-Type: text/xml" diff --git a/data_roaming.sh b/data_roaming.sh new file mode 100755 index 0000000000000000000000000000000000000000..8361e556a5f4159b0becfe86f28202879dd23367 --- /dev/null +++ b/data_roaming.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +MODEM_IP="192.168.8.1" +curl -s -X GET "http://$MODEM_IP/api/webserver/SesTokInfo" > session_token +COOKIE=`grep "SessionID=" session_token | cut -b 10-147` +TOKEN=`grep "TokInfo" session_token | cut -b 10-41` + +ENBALE=1 +DISABLE=0 + +url="http://$MODEM_IP/api/dialup/connection" +DATA_ROAMING="<request><RoamAutoConnectEnable>$ENBALE</RoamAutoConnectEnable><MaxIdelTime>600</MaxIdelTime><ConnectMode>0</ConnectMode><MTU>1500</MTU><auto_dial_switch>1</auto_dial_switch><pdp_always_on>0</pdp_always_on></request>" + +curl -X POST -d $DATA_ROAMING "$url" \ +-c $COOKIE --header "__RequestVerificationToken: $TOKEN" \ +--header "Cookie: $COOKIE" --header "Content-Type: text/xml" diff --git a/get-token.sh b/get-token.sh new file mode 100755 index 0000000000000000000000000000000000000000..4e5e5aef39aa445ce751a28abcb01823b04fc35c --- /dev/null +++ b/get-token.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +TOKEN=$(curl -s -b session.txt -c session.txt http://192.168.8.1/html/smsinbox.html) +echo $TOKEN +TOKEN=$(echo $TOKEN | cut -d'"' -f 10) +echo $TOKEN + +echo $TOKEN > token.txt +#echo $TOKEN > token.txt diff --git a/mobile-dataswitch.sh b/mobile-dataswitch.sh new file mode 100755 index 0000000000000000000000000000000000000000..c350d76adc29c99f504456e34cd46279583abe9b --- /dev/null +++ b/mobile-dataswitch.sh @@ -0,0 +1,17 @@ + +#!/bin/sh + +MODEM_IP="192.168.8.1" +curl -s -X GET "http://$MODEM_IP/api/webserver/SesTokInfo" > session_token +COOKIE=`grep "SessionID=" session_token | cut -b 10-147` +TOKEN=`grep "TokInfo" session_token | cut -b 10-41` + +ON=1 +OFF=0 +DATA_SWITCH_ON="<request><dataswitch>$OFF</dataswitch></request>" + +url="http://$MODEM_IP/api/dialup/mobile-dataswitch" + +curl -X POST -d $DATA_SWITCH_ON "$url" \ +-c $COOKIE --header "__RequestVerificationToken: $TOKEN" \ +--header "Cookie: $COOKIE" --header "Content-Type: text/xml" diff --git a/restart.sh b/restart.sh new file mode 100755 index 0000000000000000000000000000000000000000..e06706815121cef5de338f17e5993acb2cb268a9 --- /dev/null +++ b/restart.sh @@ -0,0 +1,18 @@ +#l!/bin/bash + +MODEM_IP="192.168.8.1" +curl -s -X GET "http://$MODEM_IP/api/webserver/SesTokInfo" > session_token +COOKIE=`grep "SessionID=" session_token | cut -b 10-147` +echo "$COOKIE" +TOKEN=`grep "TokInfo" session_token | cut -b 10-41` +echo "$TOKEN" + +RESTART_REQ="<request><Control>1</Control></request>" + +url="http://$MODEM_IP/api/device/control" + +curl -X POST -d $RESTART_REQ "$url" \ +-c $COOKIE --header "__RequestVerificationToken: $TOKEN" \ +--header "Cookie: $COOKIE" --header "Content-Type: text/xml" + + diff --git a/status.sh b/status.sh new file mode 100755 index 0000000000000000000000000000000000000000..cd7903d2346ddc85b8eb38308880cd862800a846 --- /dev/null +++ b/status.sh @@ -0,0 +1,48 @@ +#!/bin/sh + + +COOKIES="session_token" +curl -X GET -c $COOKIES -b $COOKIES http://192.168.8.1/html/index.html --silent | grep csrf_token | sed "s/.* content=\"\(.*\)\".*/\1/" > "session_token" +TOKEN=$(head -n 1 "session_token") + + +traffic_status () { + curl -X GET -c $COOKIES -b $COOKIES http://192.168.8.1/api/monitoring/traffic-statistics --silent > "traffic_status" + + TOTAL_CONNECTION_TIME=$(grep 'TotalConnectTime>' "traffic_status" | awk -F ">" '{print $2}' | awk -F "<" '{print $1}') + echo "TotalConnectTime: " $TOTAL_CONNECTION_TIME + + DOWNLOADED=$(grep 'CurrentDownload>' "traffic_status" | awk -F ">" '{print $2}' | awk -F "<" '{print $1}') + UPLOADED=$(grep 'CurrentUpload>' "traffic_status" | awk -F ">" '{print $2}' | awk -F "<" '{print $1}') + TOTAL=$(expr $DOWNLOADED + $UPLOADED) + + DOWNLOADED=$(bc <<< "scale=3;$DOWNLOADED/1024/1024") + UPLOADED=$(bc <<< "scale=3;$UPLOADED/1024/1024") + TOTAL=$(bc <<< "scale=3;$TOTAL/1024/1024") + + echo "" + echo "⬆︎ UPLD: " $UPLOADED "Mb" + echo "⬇︎ DWLD: " $DOWNLOADED "Mb" + echo "⬆︎ + ⬇︎ : " $TOTAL "Mb" + echo "" +} + + +case "$1" in + -s) + traffic_status + ;; + -i) + INFO_RESPONSE=$(curl -X GET -c $COOKIES -b $COOKIES http://192.168.8.1/api/device/information) + echo $INFO_RESPONSE + ;; + -ms) + MONITOR_RESPONSE=$(curl -X GET -c $COOKIES -b $COOKIES http://192.168.8.1/api/monitoring/status) + echo $MONITOR_RESPONSE + ;; + *) + echo "Invalid command" + echo "" + ;; +esac +