$ nncp-file [options] [-chunked INT] SRC NODE:[DST]
Send SRC file to remote NODE. DST specifies destination file name in remote’s incoming directory. If this file already exists there, then counter will be appended to it.
This command queues file in spool directory immediately (through the temporary file of course) – so pay attention that sending 2 GiB file will create 2 GiB outbound encrypted packet.
If SRC equals to -, then create an encrypted temporary
file and copy everything taken from stdin to it and use for outbound
packet creation. Pay attention that if you want to send 1 GiB of data
taken from stdin, then you have to have more than 2 GiB of disk space
for that temporary file and resulting encrypted packet. You can control
where temporary file will be stored using TMPDIR
environment
variable. Encryption is performed in AEAD mode with
ChaCha20-Poly1305
algorithms. Data is splitted on 128 KiB blocks. Each block is encrypted
with increasing nonce counter.
If SRC points to directory, then
pax archive
will be created on the fly with directory contents and destination
filename .tar appended. It won’t contain any entities
metainformation, but modification time with the names. UID/GID are set
to zero. Directories have 777 permissions, files have 666, for being
friendly with umask
. Also each entity will have comment like
Autogenerated by NNCP version X.Y.Z built with goXXX.
If -chunked is specified, then source file will be split on chunks. INT is the desired chunk size in KiBs. This mode is more CPU hungry. Pay attention that chunk is saved in spool directory immediately and it is not deleted if any error occurs. -minsize option is applied per each chunk. Do not forget about possible ZFS deduplication issues. Zero -chunked disables chunked transmission.
If notification is enabled on the remote side for file transmissions, then it will sent simple letter after successful file receiving.