environment variable.
@item -debug
Print debug messages. Normally this option should not be used.
+@item -minsize
+ Minimal required resulting packet size. For example if you send 2
+ KiB file and set @option{-minsize 4096}, then resulting packet will
+ be 4 KiB (containing file itself and some junk).
@item -nice
- Set desired outgoing packet niceness level. 1-255 values are
- allowed. Higher value means lower priority. In some commands that
- means processing of packets that have equal or lower nice value.
- That is used for controlling network QoS.
+ Set desired outgoing packet @ref{Niceness, niceness level}.
+ 1-255 values are allowed.
@item -node
Process only single specified node.
@item -quiet
@section nncp-call
@verbatim
-% nncp-call [options] [-rx|-tx] NODE[:ADDR] [FORCEADDR]
+% nncp-call [options] [-onlinedeadline INT] [-maxonlinetime INT] [-rx|-tx]
+ NODE[:ADDR] [FORCEADDR]
@end verbatim
Call (connect to) specified @option{NODE} and run @ref{Sync,
Synchronization protocol allows resuming and bidirectional packets
transfer.
-If @option{-rx} option is specified then only inbound packets transmission
-is performed. If @option{-tx} option is specified, then only outbound
-transmission is performed.
+If @option{-rx} option is specified then only inbound packets
+transmission is performed. If @option{-tx} option is specified, then
+only outbound transmission is performed. @option{-onlinedeadline}
+overrides @ref{CfgOnlineDeadline, @emph{onlinedeadline}}.
+@option{-maxonlinetime} overrides @ref{CfgMaxOnlineTime,
+@emph{maxonlinetime}}.
+
+@node nncp-caller
+@section nncp-caller
+
+@verbatim
+% nncp-caller [options] [NODE ...]
+@end verbatim
+
+Croned daemon that calls remote nodes from time to time, according to
+their @ref{CfgCalls, @emph{calls}} configuration field.
+
+Optional number of @option{NODE}s tells to ignore other ones.
+Otherwise all nodes with specified @emph{calls} configuration
+field will be called.
+
+@option{-onlinedeadline} overrides @ref{CfgOnlineDeadline,
+@emph{onlinedeadline}} configuration option.
Each @option{NODE} can contain several uniquely identified
-@option{ADDR}esses in @ref{Configuration, configuration} file. If you do
+@option{ADDR}esses in @ref{CfgAddrs, configuration} file. If you do
not specify the exact one, then all will be tried until the first
success. Optionally you can force @option{FORCEADDR} address usage,
instead of addresses taken from configuration file.
-Pay attention that this command run integrity check for each completely
-received packet in the background. This can be time consuming and
-connection could be lost during that check time and remote node won't be
+Pay attention that this command runs integrity check for each completely
+received packet in the background. This can be time consuming.
+Connection could be lost during that check and remote node won't be
notified that file is done. But after successful integrity check that
-file will be renamed from @file{.part} one and when you rerun
-@command{nncp-call} again, remote node will receive completion at once.
+file is renamed from @file{.part} one and when you rerun
+@command{nncp-call} again, remote node will receive completion
+notification.
@node nncp-check
@section nncp-check
Perform @ref{Spool, spool} directory integrity check. Read all files
that has Base32-encoded filenames and compare it with recalculated
-BLAKE2b hash output of their contents. This supplementary command are
+BLAKE2b hash output of their contents. This supplementary command is
not used often in practice, if ever.
@node nncp-daemon
@end verbatim
Send @file{SRC} file to remote @option{NODE}. @file{DST} specifies
-destination file name in remote's @ref{Configuration, incoming}
+destination file name in remote's @ref{CfgIncoming, incoming}
directory. If this file already exists there, then counter will be
appended to it.
(through the temporary file of course) -- so pay attention that sending
2 GiB file will create 2 GiB outbound encrypted packet.
-If @ref{Configuration, notification} is enabled on the remote side for
+If @ref{CfgNotify, notification} is enabled on the remote side for
file transmissions, then it will sent simple letter after successful
file receiving.
@end verbatim
Send file request to @option{NODE}, asking it to send its @file{SRC}
-file from @ref{Configuration, freq} directory to our node under
-@file{DST} filename in our @ref{Configuration, incoming} one.
+file from @ref{CfgFreq, freq} directory to our node under @file{DST}
+filename in our @ref{CfgIncoming, incoming} one.
-If @ref{Configuration, notification} is enabled on the remote side for
+If @ref{CfgNotify, notification} is enabled on the remote side for
file request, then it will sent simple letter after successful file
queuing.
Send mail, that is read from stdin, to @option{NODE} and specified
@option{USER}s. Mail message will be compressed. After receiving, remote
-side will execute specified @ref{Configuration, sendmail} command with
+side will execute specified @ref{CfgSendmail, sendmail} command with
@option{USER}s appended as a command line argument and feed decompressed
mail body to that command's stdin.
-@node nncp-newnode
-@section nncp-newnode
+@node nncp-mincfg
+@section nncp-mincfg
@verbatim
-% nncp-newnode [options] > mynewnode.yaml
+% nncp-mincfg [options] > stripped.yaml
@end verbatim
-Generate new node: private keys, example configuration file and print it
-to stdout. You must use this command when you setup the new node.
+Print out stripped configuration version: only path to @ref{Spool,
+spool}, path to log file, neighbours public keys are stayed. This is
+useful mainly for usage with @ref{nncp-xfer} that has to know only
+neighbours, without private keys involving.
+
+@node nncp-newcfg
+@section nncp-newcfg
+
+@verbatim
+% nncp-newcfg [options] > new.yaml
+@end verbatim
+
+Generate new node configuration: private keys, example configuration
+file and print it to stdout. You must use this command when you setup
+the new node.
Pay attention that private keys generation consumes an entropy from your
operating system.
@verbatim
% nncp-pkt [options] < pkt
-% nncp-pkt [options] -dump < pkt > payload
+% nncp-pkt [options] [-decompress] -dump < pkt > payload
@end verbatim
Low level packet parser. Normally it should not be used, but can help in
Packet type: encrypted
Niceness: 64
Sender: 2WHBV3TPZHDOZGUJEH563ZEK7M33J4UESRFO4PDKWD5KZNPROABQ
-Payload size: 4.0 MiB (4162852 bytes)
@end verbatim
If you specify @option{-dump} option and provide an @ref{Encrypted,
@end verbatim
And with the @option{-dump} option it will give you the actual payload
-(the whole file, mail message, and so on).
+(the whole file, mail message, and so on). @option{-decompress} option
+tries to zlib-decompress the data from plain packet (useful for mail
+packets).
@node nncp-stat
@section nncp-stat
@section nncp-toss
@verbatim
-% nncp-toss [options] [-dryrun]
+% nncp-toss [options] [-dryrun] [-cycle INT]
@end verbatim
Perform "tossing" operation on all inbound packets. This is the tool
@option{-dryrun} option does not perform any writing and sending, just
tells what it will do.
+@option{-cycle} option tells not to quit, but to repeat tossing every
+@option{INT} seconds in an infinite loop. That can be useful when
+running this command as a daemon.
+
@node nncp-xfer
@section nncp-xfer
@option{-rx} option tells only to move inbound packets addressed to us.
@option{-tx} option tells exactly the opposite: move only outbound packets.
+@ref{nncp-mincfg} could be useful for creating stripped minimalistic
+configuration file version without any private keys.
+
@file{DIR} directory has the following structure:
@file{RECIPIENT/SENDER/PACKET}, where @file{RECIPIENT} is Base32 encoded
destination node, @file{SENDER} is Base32 encoded sender node.
+
+@node nncp-rm
+@section nncp-rm
+
+@verbatim
+% nncp-rm [options] NODE PKT
+@end verbatim
+
+Remove specified packet (Base32 name) in @option{NODE}'s queues. This
+command is useful when you want to remove the packet that is failing to
+be processed.