mir3c/squashfs-root/etc/init.d/auto_speedtest

123 lines
2.7 KiB
Bash
Executable File

#!/bin/sh /etc/rc.common
START=99
EXTRA_COMMANDS=" on off wan_up status next_time start stop set_userband debug_on debug_off do_speedtest"
EXTRA_HELP="
on Turn on Auto speed test service
off Turn off Auto speed test service
wan_up Send wan up messgage
status Show status
next_time Set next time to do speed test
set_userband Set user config band
start Start service
stop Stop service
debug_on Debug on
debug_off Debug off
do_speedtest Do speed test immediately
-------------------------------------------------"
VERSION="__UNDEFINED__"
if [ "$VERSION" == "OVERSEA" ]; then
EXECMD="/usr/sbin/auto_speedtestd oversea"
else
EXECMD="/usr/sbin/auto_speedtestd"
fi
EXECMD_C="/usr/sbin/speedtest_cmd"
export PROCLINE="/usr/bin/lua $EXECMD"
export PROCFLAG=$PROCLINE
#0,ok; non-0, Nok
start() {
#check NETMODE 1stly
local mode
mode=`uci get xiaoqiang.common.NETMODE 2>/dev/null`
if [ "$mode" == "wifiapmode" -o "$mode" == "lanapmode" ]; then
echo "In AP mode, disable auto speed test. exit!"
return 0
fi
#check config file
mode=`uci get ab.settings.enabled 2>/dev/null`
if [ $mode -eq "0" ]; then
echo "ab config enabled not setted, exit!"
return 0
fi
/usr/sbin/supervisord start
return 0
}
restart(){
stop &>/dev/null
start &>/dev/null
return $?
}
on(){
uci set ab.settings.enabled=1
uci commit ab
start
}
stop(){
running
if [ $? == 1 ]; then
echo "auto speed service is not running. just exit."
return 0
fi
$EXECMD_C stop
/usr/sbin/supervisord stop
return 0
}
off(){
stop
uci set ab.settings.enabled=0
uci commit ab
return 0
}
running(){
/usr/sbin/supervisord status
if [ $? == 1 ]; then
return 1
fi
return 0
}
wan_up(){
$EXECMD_C wan_up $@
}
wan_down(){
$EXECMD_C wan_down $@
}
status(){
$EXECMD_C status $@
}
next_time(){
$EXECMD_C next_time $@
}
set_userband(){
$EXECMD_C set_userband $@
}
debug_on(){
$EXECMD_C debug_on $@
}
debug_off(){
$EXECMD_C debug_off $@
}
do_speedtest(){
$EXECMD_C do_speedtest $@
}