Merge pull request 'convert from pod to md, pandoc' (#1) from devel into main
Reviewed-on: https://git.dwarvenruins.com/tengel/petrified/pulls/1
This commit is contained in:
commit
625346c203
6 changed files with 281 additions and 410 deletions
|
|
@ -1,6 +1,7 @@
|
|||
# Petrified Changelog
|
||||
|
||||
Project Home: https://gitlab.com/troyengel/petrified
|
||||
## [devel] - 2022-09-18
|
||||
- Convert README from pod to md, use pandoc for man page
|
||||
|
||||
## [2.0.3] - 2019-10-04
|
||||
- Update systemd units to use Requires (#6)
|
||||
|
|
|
|||
12
Makefile
12
Makefile
|
|
@ -1,6 +1,7 @@
|
|||
# petrified - a bash client to update dynamic DNS at freedns.afraid.org
|
||||
|
||||
VERSION := $(shell grep '^\#\# Version:' petrified | cut -d' ' -f3)
|
||||
VERS := $(shell grep '^## Version:' petrified | cut -d' ' -f3)
|
||||
DATE := $(shell date +"%Y-%m-%d")
|
||||
|
||||
PREFIX ?= /usr/local
|
||||
BINPREFIX ?= $(PREFIX)/bin
|
||||
|
|
@ -17,9 +18,12 @@ MANPAGES = \
|
|||
all: doc build-systemd
|
||||
|
||||
doc: $(MANPAGES)
|
||||
petrified.1: README.pod
|
||||
pod2man -s 1 -c "Petrified Manual" -n "PETRIFIED" \
|
||||
-r "petrified $(VERSION)" $< $@
|
||||
petrified.1:
|
||||
@pandoc -s -f markdown-smart -t man \
|
||||
-M adjusting=l -M section=1 -M hyphenate=false \
|
||||
-M title="PETRIFIED" -M date="${DATE}" \
|
||||
-M header="Petrified Manual" -M footer="petrified ${VERS}" \
|
||||
-o petrified.1 README.md
|
||||
|
||||
install: all install-main install-doc
|
||||
uninstall: uninstall-main uninstall-doc
|
||||
|
|
|
|||
131
README.md
Normal file
131
README.md
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
# NAME
|
||||
|
||||
petrified - bash client to update dynamic DNS at freedns.afraid.org
|
||||
|
||||
# SYNOPSIS
|
||||
|
||||
Usage: **petrified** [ **-c** *config* ]
|
||||
|
||||
# DESCRIPTION
|
||||
|
||||
Petrified is a bash client to update dynamic DNS hosted at
|
||||
https://freedns.afraid.org; the software goals are for simplicity,
|
||||
flexibility and configurability while using the minimal system tools
|
||||
installed with most distributions.
|
||||
|
||||
If upgrading from API v1 to v2, a manual action is required on the
|
||||
FreeDNS website to generate a new API key for each domain name. See
|
||||
https://freedns.afraid.org/dynamic/v2/ for more information.
|
||||
|
||||
By default, petrified will use the length of the API key to automatically
|
||||
choose the APIv1 or APIv2 URL; this can be overridden in the configuration
|
||||
file to force a specific version, as the v1 key length is variable but the
|
||||
v2 key length is fixed at 24 chars.
|
||||
|
||||
# OPTIONS
|
||||
|
||||
**-c** *config*
|
||||
|
||||
: Specify an exact config file to use, ignoring global and per-user configs.
|
||||
|
||||
# CONFIGURATION
|
||||
|
||||
See *petrified.conf* for all available options and their usage.
|
||||
|
||||
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;
|
||||
all other variables are preconfigured for system level (root) usage.
|
||||
|
||||
If implementing at the user level, be sure and set the various file options
|
||||
to locations that are writable by the user; the default config is fully
|
||||
documented and should make sense.
|
||||
|
||||
To use a custom configuration file, the "-c config" parameter is supported;
|
||||
note that using this option will not read the global or local configuration
|
||||
files and only use the variables from this custom file.
|
||||
|
||||
# SYSTEMD
|
||||
|
||||
The provided systemd unit files are designed to use the native systemd timer
|
||||
functionality in place of a cron daemon. The timer can be activated as the
|
||||
system user which will use specifically the global */etc/petrified.conf*
|
||||
configuration, or as any given user which will use the *~/.petrifiedrc*
|
||||
configuration.
|
||||
|
||||
system: systemctl --now enable petrified.timer
|
||||
systemctl list-timers petrified.timer
|
||||
|
||||
user: systemctl --user --now enable petrified.timer
|
||||
systemctl --user list-timers petrified.timer
|
||||
|
||||
Multiple interfaces can be configured using the standard systemd semantics
|
||||
of unit overrides, which might look like this:
|
||||
|
||||
/etc/systemd/system/petrified-iface1.service
|
||||
--------------------------------------------
|
||||
.include /usr/lib/systemd/system/petrified.service
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=/usr/bin/petrified -c /etc/petrified-iface1.conf
|
||||
|
||||
The first "ExecStart" is intentional, needed to negate the existing value
|
||||
first before defining a new value (systemd design for ExecStart override).
|
||||
|
||||
A corresponding new timer is then created to call this unit as it may be
|
||||
desireable to run different interfaces on different time schedules, which
|
||||
might then look like this:
|
||||
|
||||
/etc/systemd/system/petrified-iface1.timer
|
||||
--------------------------------------------
|
||||
.include /usr/lib/systemd/system/petrified.timer
|
||||
[Timer]
|
||||
Unit=petrified-iface1.service
|
||||
OnCalendar=0/8:00:00
|
||||
|
||||
This timer will now operate the new custom unit when it's enabled.
|
||||
|
||||
**See also:**
|
||||
|
||||
+ http://www.freedesktop.org/software/systemd/man/systemd.unit.html
|
||||
+ http://www.freedesktop.org/software/systemd/man/systemd.timer.html
|
||||
|
||||
# DEPENDENCIES
|
||||
|
||||
Utilities | Package
|
||||
-----------------------------------|------------
|
||||
logger, kill | util-linux
|
||||
printf, touch, date, stat, cat, rm | coreutils
|
||||
bash | bash
|
||||
ip | iproute2
|
||||
curl | curl
|
||||
|
||||
# FILES
|
||||
|
||||
**/etc/petrified.conf**
|
||||
|
||||
: Global configuration file
|
||||
|
||||
**~/.petrifiedrc**
|
||||
|
||||
: Per-user configuration file
|
||||
|
||||
**/var/cache/petrified/lastip.dat**
|
||||
|
||||
: IP cache (if feature enabled - default: yes)
|
||||
|
||||
**/run/petrified.pid**
|
||||
|
||||
: PID file (if feature enabled - default: no)
|
||||
|
||||
**/var/log/petrified.log**
|
||||
|
||||
: LOG file (if feature enabled - default: no)
|
||||
|
||||
# AUTHOR
|
||||
|
||||
Copyright (c) 2014 Troy Engel
|
||||
|
||||
Licensed under the GNU General Public License version 3 or later,
|
||||
see https://gnu.org/licenses/gpl.html
|
||||
|
||||
151
README.pod
151
README.pod
|
|
@ -1,151 +0,0 @@
|
|||
=head1 NAME
|
||||
|
||||
petrified - bash client to update dynamic DNS at freedns.afraid.org
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
Usage: B<petrified> [ B<-c> I<config> ]
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
B<petrified> is a bash client to update dynamic DNS hosted at
|
||||
L<https://freedns.afraid.org>; the software goals are for simplicity,
|
||||
flexibility and configurability while using the minimal system tools
|
||||
installed with most distributions.
|
||||
|
||||
If upgrading from API v1 to v2, a manual action is required on the
|
||||
FreeDNS website to generate a new API key for each domain name. See
|
||||
L<https://freedns.afraid.org/dynamic/v2/> for more information.
|
||||
|
||||
By default, petrified will use the length of the API key to automatically
|
||||
choose the APIv1 or APIv2 URL; this can be overridden in the configuration
|
||||
file to force a specific version, as the v1 key length is variable but the
|
||||
v2 key length is fixed at 24 chars.
|
||||
|
||||
=head1 OPTIONS
|
||||
|
||||
=over 4
|
||||
|
||||
=item B<-c> I<config>
|
||||
|
||||
Specify an exact config file to use, ignoring global and per-user configs.
|
||||
|
||||
=back
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
See F<petrified.conf> for all available options and their usage.
|
||||
|
||||
Copy the default configuration file to F</etc/petrified.conf> for global
|
||||
use, F<~/.petrifiedrc> for user-level use, or another location as desired.
|
||||
At a minimum the C<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 options
|
||||
to locations that are writable by the user; the default config is fully
|
||||
documented and should make sense.
|
||||
|
||||
To use a custom configuration file, the C<-c config> parameter is supported;
|
||||
note that using this option will not read the global or local configuration
|
||||
files and only use the variables from this custom file.
|
||||
|
||||
=head1 SYSTEMD
|
||||
|
||||
The provided systemd unit files are designed to use the native systemd timer
|
||||
functionality in place of a cron daemon. The timer can be activated as the
|
||||
system user which will use specifically the global F</etc/petrified.conf>
|
||||
configuration, or as any given user which will use the F<~/.petrifiedrc>
|
||||
configuration.
|
||||
|
||||
system: systemctl --now enable petrified.timer
|
||||
systemctl list-timers petrified.timer
|
||||
|
||||
user: systemctl --user --now enable petrified.timer
|
||||
systemctl --user list-timers petrified.timer
|
||||
|
||||
Multiple interfaces can be configured using the standard systemd semantics
|
||||
of unit overrides, which might look like this:
|
||||
|
||||
/etc/systemd/system/petrified-iface1.service
|
||||
--------------------------------------------
|
||||
.include /usr/lib/systemd/system/petrified.service
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=/usr/bin/petrified -c /etc/petrified-iface1.conf
|
||||
|
||||
The first C<ExecStart=> is intentional, needed to negate the existing value
|
||||
first before defining a new value (systemd design for ExecStart override).
|
||||
|
||||
A corresponding new timer is then created to call this unit as it may be
|
||||
desireable to run different interfaces on different time schedules, which
|
||||
might then look like this:
|
||||
|
||||
/etc/systemd/system/petrified-iface1.timer
|
||||
--------------------------------------------
|
||||
.include /usr/lib/systemd/system/petrified.timer
|
||||
[Timer]
|
||||
Unit=petrified-iface1.service
|
||||
OnCalendar=0/8:00:00
|
||||
|
||||
This timer will now operate the new custom unit when it's enabled.
|
||||
|
||||
=over 4
|
||||
|
||||
=item B<See also:>
|
||||
|
||||
L<http://www.freedesktop.org/software/systemd/man/systemd.unit.html>
|
||||
|
||||
L<http://www.freedesktop.org/software/systemd/man/systemd.timer.html>
|
||||
|
||||
=back
|
||||
|
||||
=head1 DEPENDENCIES
|
||||
|
||||
Utilities | Package
|
||||
-----------------------------------|------------
|
||||
logger, kill | util-linux
|
||||
printf, touch, date, stat, cat, rm | coreutils
|
||||
bash | bash
|
||||
ip | iproute2
|
||||
curl | curl
|
||||
|
||||
=head1 FILES
|
||||
|
||||
=over 4
|
||||
|
||||
=item F</etc/petrified.conf>
|
||||
|
||||
Global configuration file
|
||||
|
||||
=item F<~/.petrifiedrc>
|
||||
|
||||
Per-user configuration file
|
||||
|
||||
=item F</var/cache/petrified/lastip.dat>
|
||||
|
||||
IP cache (if feature enabled - default: yes)
|
||||
|
||||
=item F</run/petrified.pid>
|
||||
|
||||
PID file (if feature enabled - default: no)
|
||||
|
||||
=item F</var/log/petrified.log>
|
||||
|
||||
LOG file (if feature enabled - default: no)
|
||||
|
||||
=back
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (c) 2014 Troy Engel
|
||||
|
||||
GPLv3 - see LICENSE for details
|
||||
|
||||
=head1 SUPPORT
|
||||
|
||||
If you like this software, please consider upgrading to a Premium account
|
||||
to help support the L<Free DNS|http://freedns.afraid.org> project. All
|
||||
questions and issues should be asked/reported via the Github project:
|
||||
|
||||
L<https://gitlab.com/troyengel/petrified>
|
||||
|
||||
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
pkgbase=petrified
|
||||
pkgname=('petrified-git' 'petrified-git-systemd')
|
||||
pkgver=20141124.161601
|
||||
pkgver=20220918.093707
|
||||
pkgrel=1
|
||||
arch=('any')
|
||||
url="https://gitlab.com/troyengel/petrified"
|
||||
url="https://git.dwarvenruins.com/tengel/petrified"
|
||||
license=('GPL3')
|
||||
options=('emptydirs')
|
||||
source=("https://gitlab.com/troyengel/petrified/archive/master.tar.gz")
|
||||
source=("https://git.dwarvenruins.com/tengel/petrified/archive/devel.tar.gz")
|
||||
md5sums=('SKIP')
|
||||
|
||||
pkgver() {
|
||||
|
|
@ -23,7 +23,7 @@ package_petrified-git() {
|
|||
conflicts=('petrified')
|
||||
install=petrified.archinst
|
||||
|
||||
cd "${srcdir}/${pkgbase}-master"
|
||||
cd "${srcdir}/${pkgbase}"
|
||||
|
||||
# Install the system bits
|
||||
make DESTDIR="${pkgdir}" PREFIX=/usr install
|
||||
|
|
@ -35,7 +35,7 @@ package_petrified-git-systemd() {
|
|||
provides=('petrified-systemd')
|
||||
conflicts=('petrified-systemd')
|
||||
|
||||
cd "${srcdir}/${pkgbase}-master"
|
||||
cd "${srcdir}/${pkgbase}"
|
||||
|
||||
# Systemd files
|
||||
make DESTDIR="${pkgdir}" PREFIX=/usr install-systemd
|
||||
|
|
|
|||
384
petrified.1
384
petrified.1
|
|
@ -1,271 +1,157 @@
|
|||
.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35)
|
||||
.\" Automatically generated by Pandoc 2.19.2
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
||||
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
||||
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
||||
.\" nothing in troff, for use with C<>.
|
||||
.tr \(*W-
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C` ""
|
||||
. ds C' ""
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
. ds C`
|
||||
. ds C'
|
||||
'br\}
|
||||
.\"
|
||||
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\"
|
||||
.\" If the F register is >0, we'll generate index entries on stderr for
|
||||
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||
.\" output yourself in some meaningful fashion.
|
||||
.\"
|
||||
.\" Avoid warning from groff about undefined register 'F'.
|
||||
.de IX
|
||||
..
|
||||
.nr rF 0
|
||||
.if \n(.g .if rF .nr rF 1
|
||||
.if (\n(rF:(\n(.g==0)) \{\
|
||||
. if \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
. if !\nF==2 \{\
|
||||
. nr % 0
|
||||
. nr F 2
|
||||
. \}
|
||||
. \}
|
||||
.\" Define V font for inline verbatim, using C font in formats
|
||||
.\" that render this, and otherwise B font.
|
||||
.ie "\f[CB]x\f[]"x" \{\
|
||||
. ftr V B
|
||||
. ftr VI BI
|
||||
. ftr VB B
|
||||
. ftr VBI BI
|
||||
.\}
|
||||
.rr rF
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.el \{\
|
||||
. ftr V CR
|
||||
. ftr VI CI
|
||||
. ftr VB CB
|
||||
. ftr VBI CBI
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "PETRIFIED 1"
|
||||
.TH PETRIFIED 1 "2018-06-05" "petrified 2.0.3" "Petrified Manual"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
.ad l
|
||||
.TH "PETRIFIED" "1" "2022-09-18" "petrified 2.0.3" "Petrified Manual"
|
||||
.nh
|
||||
.SH "NAME"
|
||||
petrified \- bash client to update dynamic DNS at freedns.afraid.org
|
||||
.SH "SYNOPSIS"
|
||||
.IX Header "SYNOPSIS"
|
||||
Usage: \fBpetrified\fR [ \fB\-c\fR \fIconfig\fR ]
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
\&\fBpetrified\fR is a bash client to update dynamic \s-1DNS\s0 hosted at
|
||||
<https://freedns.afraid.org>; the software goals are for simplicity,
|
||||
.SH NAME
|
||||
.PP
|
||||
petrified - bash client to update dynamic DNS at freedns.afraid.org
|
||||
.SH SYNOPSIS
|
||||
.PP
|
||||
Usage: \f[B]petrified\f[R] [ \f[B]-c\f[R] \f[I]config\f[R] ]
|
||||
.SH DESCRIPTION
|
||||
.PP
|
||||
Petrified is a bash client to update dynamic DNS hosted at
|
||||
https://freedns.afraid.org; the software goals are for simplicity,
|
||||
flexibility and configurability while using the minimal system tools
|
||||
installed with most distributions.
|
||||
.PP
|
||||
If upgrading from \s-1API\s0 v1 to v2, a manual action is required on the
|
||||
FreeDNS website to generate a new \s-1API\s0 key for each domain name. See
|
||||
<https://freedns.afraid.org/dynamic/v2/> for more information.
|
||||
If upgrading from API v1 to v2, a manual action is required on the
|
||||
FreeDNS website to generate a new API key for each domain name.
|
||||
See https://freedns.afraid.org/dynamic/v2/ for more information.
|
||||
.PP
|
||||
By default, petrified will use the length of the \s-1API\s0 key to automatically
|
||||
choose the APIv1 or APIv2 \s-1URL\s0; this can be overridden in the configuration
|
||||
file to force a specific version, as the v1 key length is variable but the
|
||||
v2 key length is fixed at 24 chars.
|
||||
.SH "OPTIONS"
|
||||
.IX Header "OPTIONS"
|
||||
.IP "\fB\-c\fR \fIconfig\fR" 4
|
||||
.IX Item "-c config"
|
||||
Specify an exact config file to use, ignoring global and per-user configs.
|
||||
.SH "CONFIGURATION"
|
||||
.IX Header "CONFIGURATION"
|
||||
See \fIpetrified.conf\fR for all available options and their usage.
|
||||
By default, petrified will use the length of the API key to
|
||||
automatically choose the APIv1 or APIv2 URL; this can be overridden in
|
||||
the configuration file to force a specific version, as the v1 key length
|
||||
is variable but the v2 key length is fixed at 24 chars.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
\f[B]-c\f[R] \f[I]config\f[R]
|
||||
Specify an exact config file to use, ignoring global and per-user
|
||||
configs.
|
||||
.SH CONFIGURATION
|
||||
.PP
|
||||
Copy the default configuration file to \fI/etc/petrified.conf\fR for global
|
||||
use, \fI~/.petrifiedrc\fR for user-level use, or another location as desired.
|
||||
At a minimum the \f(CW\*(C`DDNS_KEY\*(C'\fR variable must be configured for basic usage;
|
||||
all other variables are preconfigured for system level (root) usage.
|
||||
See \f[I]petrified.conf\f[R] for all available options and their usage.
|
||||
.PP
|
||||
If implementing at the user level, be sure and set the various file options
|
||||
to locations that are writable by the user; the default config is fully
|
||||
documented and should make sense.
|
||||
Copy the default configuration file to \f[I]/etc/petrified.conf\f[R] for
|
||||
global use, \f[I]\[ti]/.petrifiedrc\f[R] for user-level use, or another
|
||||
location as desired.
|
||||
At a minimum the \[dq]DDNS_KEY\[dq] variable must be configured for
|
||||
basic usage; all other variables are preconfigured for system level
|
||||
(root) usage.
|
||||
.PP
|
||||
To use a custom configuration file, the \f(CW\*(C`\-c config\*(C'\fR parameter is supported;
|
||||
note that using this option will not read the global or local configuration
|
||||
files and only use the variables from this custom file.
|
||||
.SH "SYSTEMD"
|
||||
.IX Header "SYSTEMD"
|
||||
The provided systemd unit files are designed to use the native systemd timer
|
||||
functionality in place of a cron daemon. The timer can be activated as the
|
||||
system user which will use specifically the global \fI/etc/petrified.conf\fR
|
||||
configuration, or as any given user which will use the \fI~/.petrifiedrc\fR
|
||||
If implementing at the user level, be sure and set the various file
|
||||
options to locations that are writable by the user; the default config
|
||||
is fully documented and should make sense.
|
||||
.PP
|
||||
To use a custom configuration file, the \[dq]-c config\[dq] parameter is
|
||||
supported; note that using this option will not read the global or local
|
||||
configuration files and only use the variables from this custom file.
|
||||
.SH SYSTEMD
|
||||
.PP
|
||||
The provided systemd unit files are designed to use the native systemd
|
||||
timer functionality in place of a cron daemon.
|
||||
The timer can be activated as the system user which will use
|
||||
specifically the global \f[I]/etc/petrified.conf\f[R] configuration, or
|
||||
as any given user which will use the \f[I]\[ti]/.petrifiedrc\f[R]
|
||||
configuration.
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
system: systemctl --now enable petrified.timer
|
||||
systemctl list-timers petrified.timer
|
||||
|
||||
user: systemctl --user --now enable petrified.timer
|
||||
systemctl --user list-timers petrified.timer
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
.Vb 2
|
||||
\& system: systemctl \-\-now enable petrified.timer
|
||||
\& systemctl list\-timers petrified.timer
|
||||
\&
|
||||
\& user: systemctl \-\-user \-\-now enable petrified.timer
|
||||
\& systemctl \-\-user list\-timers petrified.timer
|
||||
.Ve
|
||||
Multiple interfaces can be configured using the standard systemd
|
||||
semantics of unit overrides, which might look like this:
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
/etc/systemd/system/petrified-iface1.service
|
||||
--------------------------------------------
|
||||
\&.include /usr/lib/systemd/system/petrified.service
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=/usr/bin/petrified -c /etc/petrified-iface1.conf
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
Multiple interfaces can be configured using the standard systemd semantics
|
||||
of unit overrides, which might look like this:
|
||||
.PP
|
||||
.Vb 6
|
||||
\& /etc/systemd/system/petrified\-iface1.service
|
||||
\& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
|
||||
\& .include /usr/lib/systemd/system/petrified.service
|
||||
\& [Service]
|
||||
\& ExecStart=
|
||||
\& ExecStart=/usr/bin/petrified \-c /etc/petrified\-iface1.conf
|
||||
.Ve
|
||||
.PP
|
||||
The first \f(CW\*(C`ExecStart=\*(C'\fR is intentional, needed to negate the existing value
|
||||
first before defining a new value (systemd design for ExecStart override).
|
||||
The first \[dq]ExecStart\[dq] is intentional, needed to negate the
|
||||
existing value first before defining a new value (systemd design for
|
||||
ExecStart override).
|
||||
.PP
|
||||
A corresponding new timer is then created to call this unit as it may be
|
||||
desireable to run different interfaces on different time schedules, which
|
||||
might then look like this:
|
||||
desireable to run different interfaces on different time schedules,
|
||||
which might then look like this:
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
/etc/systemd/system/petrified-iface1.timer
|
||||
--------------------------------------------
|
||||
\&.include /usr/lib/systemd/system/petrified.timer
|
||||
[Timer]
|
||||
Unit=petrified-iface1.service
|
||||
OnCalendar=0/8:00:00
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
.Vb 6
|
||||
\& /etc/systemd/system/petrified\-iface1.timer
|
||||
\& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
|
||||
\& .include /usr/lib/systemd/system/petrified.timer
|
||||
\& [Timer]
|
||||
\& Unit=petrified\-iface1.service
|
||||
\& OnCalendar=0/8:00:00
|
||||
.Ve
|
||||
This timer will now operate the new custom unit when it\[aq]s enabled.
|
||||
.PP
|
||||
This timer will now operate the new custom unit when it's enabled.
|
||||
.IP "\fBSee also:\fR" 4
|
||||
.IX Item "See also:"
|
||||
<http://www.freedesktop.org/software/systemd/man/systemd.unit.html>
|
||||
.Sp
|
||||
<http://www.freedesktop.org/software/systemd/man/systemd.timer.html>
|
||||
.SH "DEPENDENCIES"
|
||||
.IX Header "DEPENDENCIES"
|
||||
.Vb 7
|
||||
\& Utilities | Package
|
||||
\& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-
|
||||
\& logger, kill | util\-linux
|
||||
\& printf, touch, date, stat, cat, rm | coreutils
|
||||
\& bash | bash
|
||||
\& ip | iproute2
|
||||
\& curl | curl
|
||||
.Ve
|
||||
.SH "FILES"
|
||||
.IX Header "FILES"
|
||||
.IP "\fI/etc/petrified.conf\fR" 4
|
||||
.IX Item "/etc/petrified.conf"
|
||||
\f[B]See also:\f[R]
|
||||
.IP \[bu] 2
|
||||
http://www.freedesktop.org/software/systemd/man/systemd.unit.html
|
||||
.IP \[bu] 2
|
||||
http://www.freedesktop.org/software/systemd/man/systemd.timer.html
|
||||
.SH DEPENDENCIES
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
Utilities | Package
|
||||
-----------------------------------|------------
|
||||
logger, kill | util-linux
|
||||
printf, touch, date, stat, cat, rm | coreutils
|
||||
bash | bash
|
||||
ip | iproute2
|
||||
curl | curl
|
||||
\f[R]
|
||||
.fi
|
||||
.SH FILES
|
||||
.TP
|
||||
\f[B]/etc/petrified.conf\f[R]
|
||||
Global configuration file
|
||||
.IP "\fI~/.petrifiedrc\fR" 4
|
||||
.IX Item "~/.petrifiedrc"
|
||||
.TP
|
||||
\f[B]\[ti]/.petrifiedrc\f[R]
|
||||
Per-user configuration file
|
||||
.IP "\fI/var/cache/petrified/lastip.dat\fR" 4
|
||||
.IX Item "/var/cache/petrified/lastip.dat"
|
||||
\&\s-1IP\s0 cache (if feature enabled \- default: yes)
|
||||
.IP "\fI/run/petrified.pid\fR" 4
|
||||
.IX Item "/run/petrified.pid"
|
||||
\&\s-1PID\s0 file (if feature enabled \- default: no)
|
||||
.IP "\fI/var/log/petrified.log\fR" 4
|
||||
.IX Item "/var/log/petrified.log"
|
||||
\&\s-1LOG\s0 file (if feature enabled \- default: no)
|
||||
.SH "AUTHOR"
|
||||
.IX Header "AUTHOR"
|
||||
.TP
|
||||
\f[B]/var/cache/petrified/lastip.dat\f[R]
|
||||
IP cache (if feature enabled - default: yes)
|
||||
.TP
|
||||
\f[B]/run/petrified.pid\f[R]
|
||||
PID file (if feature enabled - default: no)
|
||||
.TP
|
||||
\f[B]/var/log/petrified.log\f[R]
|
||||
LOG file (if feature enabled - default: no)
|
||||
.SH AUTHOR
|
||||
.PP
|
||||
Copyright (c) 2014 Troy Engel
|
||||
.PP
|
||||
GPLv3 \- see \s-1LICENSE\s0 for details
|
||||
.SH "SUPPORT"
|
||||
.IX Header "SUPPORT"
|
||||
If you like this software, please consider upgrading to a Premium account
|
||||
to help support the Free \s-1DNS\s0 <http://freedns.afraid.org> project. All
|
||||
questions and issues should be asked/reported via the Github project:
|
||||
.PP
|
||||
<https://gitlab.com/troyengel/petrified>
|
||||
Licensed under the GNU General Public License version 3 or later, see
|
||||
https://gnu.org/licenses/gpl.html
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue