bash client to update dynamic DNS at freedns.afraid.org
Find a file
2024-03-20 09:32:36 -05:00
LICENSE adding 2024-03-20 09:32:36 -05:00
petrified adding 2024-03-20 09:32:36 -05:00
petrified.conf adding 2024-03-20 09:32:36 -05:00
petrified.crontab adding 2024-03-20 09:32:36 -05:00
petrified.dispatch adding 2024-03-20 09:32:36 -05:00
petrified.logrotate adding 2024-03-20 09:32:36 -05:00
README.md Update README.md 2024-03-20 09:32:36 -05:00

petrified

Copyright (c) 2014 Troy Engel
GPLv3 - see LICENSE for details

Introduction

Petrified is a bash client to update dynamic DNS at freedns.afraid.org; the goals are for simplicity, flexibility and configurability which using the minimal system tools installed with most distributions.

Dependencies

Utility Package
logger util-linux
kill util-linux
printf coreutils
touch coreutils
date coreutils
cat coreutils
rm coreutils
bash bash
ip iproute2
curl curl

Features

  • Several configuration methods:
  • /etc/petrified.conf
  • ~/.petrifiedrc
  • -c (config) on the commandline
  • IPv4 and IPv6 support
  • PID usage to prevent race conditions
  • Logging via journald, syslog, stdout and a logfile
  • Local IP reporting for use on internal machines
  • Caching of the last IP to reduce upstream impact
  • Usable via cron, NetworkManager dispatcher, commandline, etc.

Configuration

Copy the default configuration file to /etc/petrified.conf, ~/.petrifiedrc or another location as desired. At a minimum the DDNS_KEY variable must be configured for basic usage as root, all other variables are preconfigured for system level (root) usage.

If implementing at the user level, be sure and set the various file location options to a directory that is writable by the user; the default config is fully documented and should make sense.

Usage

Usage is simple - just run petrified and check your log(s).

To use a custom configuration file, the -c (config) parameter is supported; note that using this option will not read the global/local configuration files and only use the variables from this custom file.