From 615e4570bc0ef73741c538462a0ed9c07980b14a Mon Sep 17 00:00:00 2001 From: Arun muthusamy <arun.muthusamy@inteno.se> Date: Wed, 9 May 2018 09:58:56 +0200 Subject: [PATCH] hilink e3372h: curl shell script --- LTE.sh | 27 +++++++++++++++++++++++++ apn.sh | 24 ++++++++++++++++++++++ change_language.sh | 14 +++++++++++++ change_netmode.sh | 12 +++++++++++ change_pin.sh | 13 ++++++++++++ data_roaming.sh | 16 +++++++++++++++ get-token.sh | 9 +++++++++ mobile-dataswitch.sh | 17 ++++++++++++++++ restart.sh | 18 +++++++++++++++++ status.sh | 48 ++++++++++++++++++++++++++++++++++++++++++++ 10 files changed, 198 insertions(+) create mode 100755 LTE.sh create mode 100755 apn.sh create mode 100755 change_language.sh create mode 100755 change_netmode.sh create mode 100755 change_pin.sh create mode 100755 data_roaming.sh create mode 100755 get-token.sh create mode 100755 mobile-dataswitch.sh create mode 100755 restart.sh create mode 100755 status.sh diff --git a/LTE.sh b/LTE.sh new file mode 100755 index 0000000..59b5343 --- /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 0000000..b706f53 --- /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 0000000..16d8fc7 --- /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 0000000..d4f12c6 --- /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 0000000..c1c79e3 --- /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 0000000..8361e55 --- /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 0000000..4e5e5ae --- /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 0000000..c350d76 --- /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 0000000..e067068 --- /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 0000000..cd7903d --- /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 + -- GitLab