pildns.sh
Ein sehr einfaches sh Script, um unter Unix unseren Service zu verwenden. Sitzt ihr hinter einem Router, sprich wisst euere eigene externe IPAdresse nicht, so solltet ihr pildns.sh in einen Cronjob packen.
*/5 * * * * /path/to/pildns.sh 2>&1
Verbindet sich ein Unixrechner mit dem Internet, so weiss er in den meisten Faellen seine externe IP, aendert sich diese solltet ihr dieses Script ausfuehren, z.B. via ppp-linkup unter FreeBSD.
requires: wget
# very simple pildns script
# edit those values on your needs
PILHOSTS=''
PILID=''
POOL="$HOME/.pildns/current"
NEW="$HOME/.pildns/new"
# XXX do not edit below
PATH=/bin:/usr/local/bin:/usr/bin:$PATH
PILDOM="dyn.pilgerer.org"
PILDNS="http://dyn.pilgerer.org/update"
MYIP="http://dyn.pilgerer.org/ip"
UPDATE=0
wget --quiet -O ${NEW} ${MYIP}
if [ $? -ne 0 ];then
echo "wget failed"
exit 1
fi
if [ -f ${POOL} ]; then
(diff -q ${NEW} ${POOL})
if [ $? -gt 0 ]; then
cp ${NEW} ${POOL}
UPDATE=1
fi
else
cp ${NEW} ${POOL}
UPDATE=1
fi
IP=`cat ${POOL}`
if [ ${UPDATE} -eq 1 ]; then
for HOST in ${PILHOSTS}; do
wget --quiet -O /dev/null "$PILDNS?user=${PILID}&ipaddress=${IP}&host=${PILHOSTS}.${PILDOM}"
if [ $? -ne 0 ];then
echo "update failed"
exit 1
else
echo "update success"
fi
done
fi
exit 0