1#!/bin/sh /etc/rc.common 2START=60 3 4DDNS_STATUS=/tmp/ez-ipupd.status 5DDNS_CONF=/tmp/ez-ipupd.conf 6 7 8print_ddns_conf(){ 9cat <<EOF 10#!/usr/sbin/ez-ipupdate -c 11service-type=dyndns 12user=$1:$2 13host=$3 14interface=$4 15max-interval=86400 16resolv-period=30 17period=10 18retrys=6 19pid-file=/tmp/ddnspid 20daemon 21EOF 22} 23 24ddns_start() { 25 local start_flag wl_radio wds_repeater_basic wds_endis_fun 26 27 echo -n "0" > $DDNS_STATUS 28 29 wl_radio=$($CONFIG get endis_wl_radio) 30 wds_repeater_basic=$($CONFIG get wds_repeater_basic) 31 wds_endis_fun=$($CONFIG get wds_endis_fun) 32 33 if [ "$wl_radio" = "1" -a "$wds_repeater_basic" = "0" -a "$wds_endis_fun" = "1" ]; then 34 exit 35 fi 36 37 [ "$($CONFIG get endis_ddns)" != "1" ] && exit 38 39 print_ddns_conf "$($CONFIG get sysDNSUser)" "$($CONFIG get sysDNSPassword)" "$($CONFIG get sysDNSHost)" "$(get_wan_ifname)" > $DDNS_CONF 40 41 if [ "$($CONFIG get endis_wildcards)" = "1" ]; then 42 /usr/sbin/ez-ipupdate -w wildcard -c $DDNS_CONF 43 else 44 /usr/sbin/ez-ipupdate -c $DDNS_CONF 45 fi 46} 47 48boot() { 49 ddns_start 50} 51 52ddns_stop(){ 53 kill -9 $(cat /tmp/ddnspid) 54} 55 56restart(){ 57 ddns_stop 58 ddns_start 59} 60