1234567891011121314151617181920212223242526272829303132333435 |
- #!/bin/sh
- #
- # sample script for detecting local IP
- # 2014-2015 Christian Schoenebeck <christian dot schoenebeck at gmail dot com>
- #
- # activated inside /etc/config/ddns by setting
- #
- # option ip_source 'script'
- # option ip_script '/usr/lib/ddns/getlocalip_sample.sh -6' !!! parameters ALLOWED
- #
- # the script is executed (not parsed) inside get_local_ip() function
- # of /usr/lib/ddns/dynamic_dns_functions.sh
- #
- # useful when this box is the only DDNS client in the network
- # IP adresses of "internal" boxes could be detected with this script
- # so no need to install ddns client on every "internal" box
- # On IPv6 every internal box normally has it's own external IP
- #
- # This script should
- # - return the IP address via stdout echo -n "...." !!! without line feed
- # - report errors via stderr echo "...." >&2
- # - return an error code ('0' for success) exit 123
- case $1 in
- -4) echo -n "8.8.8.8" # never append linefeed or simular
- exit 0
- ;; # IP's of Googles public DNS
- -6) echo -n "2001:4860:4860::8888"
- exit 0
- ;;
- *) echo "$0 - Invalid or missing parameter" >&2
- exit 1
- esac
- echo "Should never come here" >&2
- exit 2
|