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

77 lines
1.6 KiB
Bash
Executable File

#!/bin/sh /etc/rc.common
START=99
set_smartvpn_switch_on="uci set smartvpn.vpn.disabled=0"
set_smartvpn_switch_off="uci set smartvpn.vpn.disabled=1"
set_switch_commit="uci commit smartvpn"
APP_SMARTVPN="/usr/sbin/smartvpn.sh"
export EXTRA_COMMANDS=" on off status "
export EXTRA_HELP=" on Switch to the start state and start
off Switch to the stop state and stop
status Get smartvpn status"
start() {
#vpn should relay,
#default route add issue may be cause r1cm crash
#under condition of pppoe+l2tp+route traffic all
local bootcheck=$( cat /proc/xiaoqiang/boot_status )
[ "$bootcheck" == "3" ] && {
vpnauto=$(uci get network.vpn.auto)
[ "$vpnauto" == "1" ] && ifup vpn
}
if [ -f $APP_SMARTVPN ]; then
$APP_SMARTVPN on
fi
return 0
}
stop() {
if [ -f $APP_SMARTVPN ]; then
$APP_SMARTVPN off
fi
return 0
}
status() {
smartvpn_status=`uci get smartvpn.vpn.status 2>/dev/null`
echo "smartvpn status : $smartvpn_status"
if [ $smartvpn_status == "on" ]; then
return 0
else
return 1
fi
}
off(){
fw3lock="/var/run/fw3.lock"
trap "lock -u $fw3lock; exit 1" SIGHUP SIGINT SIGTERM
lock $fw3lock
stop
$set_smartvpn_switch_off >/dev/null 2>&1
$set_switch_commit >/dev/null 2>&1
lock -u $fw3lock
return $?
}
on(){
$set_smartvpn_switch_on >/dev/null 2>&1
$set_switch_commit >/dev/null 2>&1
fw3lock="/var/run/fw3.lock"
trap "lock -u $fw3lock; exit 1" SIGHUP SIGINT SIGTERM
lock $fw3lock
start
lock -u $fw3lock
return 0
}