ipTeller
Just create this script anywhere you would like to run it from and execute it with a cron how often you'd like. You will need to make sure the directory the script uses store it's temp files is writtable by your user.



#!/bin/bash
# Config
IPFILEv4='/tmp/ipTeller_ipaddressv4'
IPFILEv6='/tmp/ipTeller_ipaddressv6'
MAILFILE='/tmp/ipTeller_mailtext'
DOMAIN=''	# DynDNS domain name
UNAME=''	# You XpertDNS username
PASSWORD=''	# Your XpertDNS password hash https://www.xpertdns.com/md5form.php
DYNIDv4=''	# This is available while editing the A record within XpertDNS 
DYNIDv6=''	# This is available while editing the AAAA record within XpertDNS 
EMAIL=$UNAME	# Change this to send mail to an address other than your username

# Script Start

if [ -n "$DYNIDv4" ]; then
	ipv4=`curl -s -4 http://www.xpertdns.com/myip.php`	# IPv4 address source
	if [ ! -f "$IPFILEv4" ]; then
	        echo "creating $IPFILEv4"
	        echo first_time_usage > $IPFILEv4
	fi

	if [ ! -f "$MAILFILE" ]; then
	        echo "creating $MAILFILE"
	        echo first_time_usage > $MAILFILE
	fi 
        lastip=`cat $IPFILEv4`
        echo "last ip saved is: $lastip"
        echo "current ipv4 address is: $ipv4"
        if [ $ipv4 != $lastip ]; then
                date=`date +%D\ %r`
                echo $ipv4 > $IPFILEv4
                echo "$DOMAIN's IPv4 address is now $ipv4 as of $date" > $MAILFILE
                echo "updating dyndns"
                response=$(curl -s "https://www.xpertdns.com/dyndns.php?dynid=$DYNIDv4&ip=$ipv4&uname=$UNAME&password=$PASSWORD")
                echo $response
                echo $response >> $MAILFILE
                echo ""
                echo "IP changed so sending message..."
                mail -s "IP address changed." $EMAIL < $MAILFILE
                echo "logging the IPv4 change to /var/log/ipTeller_ipchange.log"
                echo "$date -- IPv4 CHANGED TO: $ipv4" >> /var/log/ipTeller_ipchange.log
                echo $response >> /var/log/ipTeller_ipchange.log
        fi

fi

if [ -n "$DYNIDv6" ]; then
        ipv6=`curl -s -6 http://www.xpertdns.com/myip.php`      # IPv6 address source
        if [ ! -f "$IPFILEv6" ]; then
                echo "creating $IPFILEv6"
                echo first_time_usage > $IPFILEv6
        fi

        if [ ! -f "$MAILFILE" ]; then
                echo "creating $MAILFILE"
                echo first_time_usage > $MAILFILE
        fi
        lastip=`cat $IPFILEv6`
        echo "last ip saved is: $lastip"
        echo "current ipv6 address is: $ipv6"
        if [ $ipv6 != $lastip ]; then
                date=`date +%D\ %r`
                echo $ipv6 > $IPFILEv6
                echo "$DOMAIN's IPv6 address is now $ipv6 as of $date" > $MAILFILE
                echo "updating dyndns"
                response=$(curl -s "https://www.xpertdns.com/dyndns.php?dynid=$DYNIDv6&ip=$ipv6&uname=$UNAME&password=$PASSWORD")
                echo $response
                echo $response >> $MAILFILE
                echo ""
                echo "IP changed so sending message..."
                mail -s "IP address changed." $EMAIL < $MAILFILE
                echo "logging the IPv6 change to /var/log/ipTeller_ipchange.log"
                echo "$date -- IPv6 CHANGED TO: $ipv6" >> /var/log/ipTeller_ipchange.log
                echo $response >> /var/log/ipTeller_ipchange.log
        fi

fi

exit;
# Script End