Skip to content

Commit

Permalink
Added support for WAN_IP_COMMAND directive.
Browse files Browse the repository at this point in the history
  • Loading branch information
chrisb86 committed Oct 12, 2022
1 parent 0c6fe82 commit 18ae8bb
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 7 deletions.
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ With `crontab -e` you can add the following line for running the script every 5
- The code is now structured in functions which makes it more maintainable and modular.
- Backwards compatibility should be given.
- Avoid using awk and get rid of dependency
- NOTE: The IPCOMMAND directive is not implemented yet

**2021-12-11**

Expand Down
15 changes: 11 additions & 4 deletions nsupdate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -105,11 +105,18 @@ get_domain_info () {
## File name for tempory file to store the XML from API
tmp_file="${domain}_${record_type}_$(date +%s).xml"

## Get connection type by record type
if [ "${record_type}" = "AAAA" ]; then
wan_ip="${wan_ip6}"
## Check if WAN_IP_COMMAND is set and use it for retrieving the IP
if [ -z $WAN_IP_COMMAND ]; then
WAN_IP_COMMAND="${IPCOMMAND:-${WAN_IP_COMMAND}}" ## for backwards compatibility
wan_ip="${WAN_IP_COMMAND}"
else
wan_ip="${wan_ip4}"
## Otherwise use IP retrieved from web site
## Get connection type by record type
if [ "${record_type}" = "AAAA" ]; then
wan_ip="${wan_ip6}"
else
wan_ip="${wan_ip4}"
fi
fi

chat 3 "Found xmllint. Using curl for retrieving data from INWX API."
Expand Down
8 changes: 6 additions & 2 deletions nsupdate/conf.d/sub.example.com_AAAA.conf.dist
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
MAIN_DOMAIN="example.com"
DOMAIN="sub.example.com"

# The next options must only be set if they differ from the global config in nsupdate.conf
# The following options must only be set if they differ from the global config in nsupdate.conf

# Login credentials for the INWX API
# These can be left undefined if you specified them globally in the nsupdate.conf
Expand All @@ -23,4 +23,8 @@ RECORD_TYPE="AAAA"
# default TTL setting by INWX is 3600 (1 hour)
# minimum TTL allowed by INWX is 300 (5 minutes) for regular nameserver record updates
# If unspecified, nsupdate uses a TTL of 300
#RECORD_TTL="300"
#RECORD_TTL="300"

# Use a shell command to retrieve the WAN IP (eg. by SSHing to the router and get the IP from the WAN interface)
# Otherwise the IP retrieved by website will be used
#WAN_IP_COMMAND=$(ssh [email protected] ifconfig pppoe1 | grep 'inet ' | cut -d' ' -f2)

0 comments on commit 18ae8bb

Please sign in to comment.