packages/net/updatedd/files/updatedd.init

39 lines
983 B
Plaintext
Raw Normal View History

#!/bin/sh /etc/rc.common
# Copyright (C) 2006-2011 OpenWrt.org
START=50
start_instance () {
local section="$1"
config_get service "$section" 'service'
config_get username "$section" 'username'
config_get password "$section" 'password'
config_get host "$section" 'host'
config_get update "$section" 'update'
[ "$update" = 1 ] && {
if [ "$service" = "dyndns" ]; then
wget http://checkip.dyndns.org -O /tmp/updatedd_ip_check
current_ip=`cat /tmp/updatedd_ip_check |cut -d':' -f2|cut -d'<' -f1 |cut -d' ' -f2`
rm /tmp/updatedd_ip_check
old_ip=`nslookup "$host" |grep "$host" -A 1 |grep Address |cut -d' ' -f3`
if [ "$current_ip" = "$old_ip" ]; then
echo "Preventing abusive update"
abusive=1
fi
fi
if [ "$abusive" != "1" ]; then
service_start /usr/bin/updatedd -Y $service -- $username:$password $host
fi
}
}
start() {
config_load 'updatedd'
config_foreach start_instance 'updatedd'
}
stop() {
service_stop /usr/bin/updatedd
}