267 lines
9 KiB
Groff
267 lines
9 KiB
Groff
.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
|
|
.\"
|
|
.\" 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
|
|
..
|
|
.if !\nF .nr F 0
|
|
.if \nF>0 \{\
|
|
. de IX
|
|
. tm Index:\\$1\t\\n%\t"\\$2"
|
|
..
|
|
. if !\nF==2 \{\
|
|
. nr % 0
|
|
. nr F 2
|
|
. \}
|
|
.\}
|
|
.\"
|
|
.\" 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
|
|
.\}
|
|
.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-04" "petrified 2.0.1" "Petrified Manual"
|
|
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
|
.\" way too many mistakes in technical documents.
|
|
.if n .ad l
|
|
.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,
|
|
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.
|
|
.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.
|
|
.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.
|
|
.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.
|
|
.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
|
|
configuration.
|
|
.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
|
|
.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).
|
|
.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:
|
|
.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
|
|
.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"
|
|
Global configuration file
|
|
.IP "\fI~/.petrifiedrc\fR" 4
|
|
.IX Item "~/.petrifiedrc"
|
|
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"
|
|
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>
|