This commit is contained in:
troyengel 2014-09-20 13:18:12 -05:00
parent b8de7ec0af
commit 09803fd107

View file

@ -5,44 +5,46 @@ GPLv3 - see LICENSE for details
## Introduction
Petrified is a bash client to update dynamic DNS at freedns.afraid.org;
**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.
* Code: https://github.com/troyengel/petrified
* AUR: https://aur.archlinux.org/packages/petrified/
## Features
- Several configuration methods:
* /etc/petrified.conf
* ~/.petrifiedrc
* -c (config) on the commandline
- IPv4 and IPv6 support
- PID usage to prevent race conditions or stacked crons
- Logging via journald, syslog, stdout and a logfile simultaneously
- Local IP reporting for use with internal DNS entries
- Caching of the last IP to reduce upstream impact
- Usable via cron, NetworkManager dispatcher, commandline, etc.
Several configuration methods:
* /etc/petrified.conf
* ~/.petrifiedrc
* -c (config) on the commandline
High level items of interest:
* IPv4 and IPv6 support
* PID usage to prevent race conditions or stacked crons
* Logging via journald, syslog, stdout and a logfile simultaneously
* Local IP reporting for use with internal DNS entries
* Caching of the last IP to reduce upstream impact
* Usable via cron, NetworkManager dispatcher, commandline, etc.
## 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 |
| Utilities | Package |
| -----------------------------|------------|
| logger, kill | util-linux |
| printf, touch, date, cat, rm | coreutils |
| bash | bash |
| ip | iproute2 |
| curl | curl |
## Configuration
Copy the default configuration file to */etc/petrified.conf* for global
use, *~/.petrifiedrc* for user-level use, or another location as desired.
At a minimum the **DDNS_KEY** variable must be configured for basic usage;
At a minimum the `DDNS_KEY` variable must be configured for basic usage;
all other variables are preconfigured for system level (root) usage.
If implementing at the user level, be sure and set the various file location
@ -51,18 +53,14 @@ fully documented and should make sense.
## Usage
Usage is simple - just run **petrified** and check your log(s).
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
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.
## Acknowledgements
### Author
Troy Engel <troyengel@gmail.com>
Prior to writing this software, several contributions were made to:
* afraid-dyndns
@ -71,15 +69,6 @@ Prior to writing this software, several contributions were made to:
The original version of petrified was influenced by these two software
package's concepts, however actual code was not used.
### Contributors
none yet...
### Maintainers
Troy Engel <troyengel@gmail.com>
* Arch AUR package
## Support
If like this software, please consider upgrading to a Premium account to