spool: /var/spool/nncp
log: /var/spool/nncp/log
umask: "022"
+ noprogress: true
notify: {
file: {
from: nncp@localhost
to: user+freq@example.com
}
+ exec: {
+ "*.warcer": {
+ from: nncp@localhost
+ to: user+warcer@example.com
+ }
+ "eve.warcer": {
+ from: nncp@localhost
+ to: user+warcer-overriden@example.com
+ }
+ }
}
self: {
warcer: ["/path/to/warcer.sh"]
wgeter: ["/path/to/wgeter.sh"]
}
- freq: "/home/bob/pub"
- freqchunked: 1024
- freqminsize: 2048
+ freq: {
+ path: "/home/bob/pub"
+ chunked: 1024
+ minsize: 2048
+ }
via: ["alice"]
rxrate: 10
txrate: 20
override their umask to specified octal mask. Useful for using with
@ref{Shared spool, shared spool directories}.
+Enabled @strong{noprogress} option disabled progress showing for many
+commands by default. You can always force its showing with
+@option{-progress} command line option anyway.
+
@anchor{CfgNotify}
@strong{notify} section contains notification settings for successfully
-tossed file and freq packets. Corresponding @strong{from} and
+tossed file, freq and exec packets. Corresponding @strong{from} and
@strong{to} fields will be substituted in notification email message.
-@emph{neigh/self/exec/sendmail} will be used as a local mailer. You can
-omit either of those two @emph{from}/@emph{to} sections to omit
+@code{neigh.self.exec.sendmail} will be used as a local mailer. You can
+omit either of those two @code{from}/@code{to} sections to omit
corresponding notifications, or the whole section at once.
+@code{notify.exec} section is a mapping of exec handles and
+corresponding @code{from}/@code{to} sections. Each handle has either
+@code{NODE.HANDLE} or @code{*.HANDLE} syntax. You can override
+notification options for some node with the first type of name.
+Handle command's output will be included in notification messages.
+
@strong{self} section contains our node's private keypairs.
@strong{exch*} and @strong{sign*} are used during @ref{Encrypted,
encrypted} packet creation. @strong{noise*} are used during @ref{Sync,
data (public keys). It is useful for copy-paste sharing with your
friends. Each section's key is a human-readable name of the neighbour.
-Except for @emph{id}, @emph{exchpub} and @emph{signpub} each neighbour
+Except for @code{id}, @code{exchpub} and @code{signpub} each neighbour
node has the following fields:
@table @strong
@verb{|echo hello world | nncp-exec OURNODE sendmail ARG0 ARG1 ARG2|}
command, will execute:
-@verbatim
+@example
NNCP_SELF=OURNODE \
NNCP_SENDER=REMOTE \
NNCP_NICE=64 \
/usr/sbin/sendmail -t ARG0 ARG1 ARG2
-@end verbatim
+@end example
feeding @verb{|hello world\n|} to that started @command{sendmail}
process.
omitted to forbid file uploading on that node.
@anchor{CfgFreq}
-@item freq
+@item freq.path
Full path to directory from where file requests will queue files for
transmission. May be omitted to forbid freqing from that node.
-@item freqchunked
+@item freq.chunked
If set, then enable @ref{Chunked, chunked} file transmission during
freqing. This is the desired chunk size in KiBs.
-@item freqminsize
+@item freq.minsize
If set, then apply @ref{OptMinSize, -minsize} option during file
transmission.
@anchor{CfgVia}
@item via
An array of node identifiers that will be used as a relay to that node.
-For example @verb{|[foo,bar]|} means that packet can reach current node
-by transitioning through @emph{foo} and then @emph{bar} nodes. May be
-omitted if direct connection exists and no relaying is required.
+For example @verb{|["foo","bar"]|} means that packet can reach current
+node by transitioning through @code{foo} and then @code{bar} nodes. May
+be omitted if direct connection exists and no relaying is required.
@anchor{CfgAddrs}
@item addrs
friendly. For convenience you can set @option{umask} globally for
invoked NNCP commands in the configuration file. For example:
-@verbatim
+@example
$ chgrp nncp /usr/local/etc/nncp.hjson /var/spool/nncp
$ chmod g+r /usr/local/etc/nncp.hjson
$ chmod g+rwxs /var/spool/nncp
$ echo 'umask: "007"' >> /usr/local/etc/nncp.hjson
-@end verbatim
+@end example