Next: Configuration areas options, Previous: Configuration notification options, Up: Configuration file [Index]
neigh section contains all known neighbours information. It always has self neighbour that is copy of our node’s public 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.
neigh: { self: { id: RKOLY...KAMXQ exchpub: 2NZKH...CMI7A signpub: EXD7M...YAOFA noisepub: MIXYN...BGNDQ exec: {sendmail: ["/usr/sbin/sendmail"]} } alice: { id: "XJZBK...65IJQ" exchpub: MJACJ...FAI6A signpub: T4AFC...N2FRQ noisepub: UBM5K...VI42A exec: {flag: ["/usr/bin/touch", "-t"]} incoming: "/home/alice/incoming" onlinedeadline: 1800 maxonlinetime: 3600 addrs: { lan: "[fe80::1234%igb0]:5400" internet: alice.com:3389 proxied: "|ssh remote.host nncp-daemon -ucspi" } calls: [ { cron: "*/2 * * * *" } ] } bob: { id: 2IZNP...UYGYA exchpub: WFLMZ...B7NHA signpub: GTGXG...IE3OA exec: { sendmail: ["/usr/sbin/sendmail"] warcer: ["/path/to/warcer.sh"] wgeter: ["/path/to/wgeter.sh"] } freq: { path: "/home/bob/pub" chunked: 1024 minsize: 2048 } ack: { nice: FLASH minsize: 2048 } via: ["alice"] rxrate: 10 txrate: 20 } }
Except for id
, exchpub
and signpub
each neighbour
node has the following fields:
noisepub
If present, then node can be online called using synchronization protocol. Contains authentication public key.
exec
Dictionary consisting of handles and corresponding command line
arguments. In example above there are sendmail
handles,
warcer
, wgeter
and flag
one. Remote
node can queue some handle execution with providing additional
command line arguments and the body fed to command’s stdin
.
sendmail: ["/usr/sbin/sendmail", "-t"]
handle, when called by
echo hello world | nncp-exec self sendmail ARG0 ARG1 ARG2
command, will execute:
NNCP_SELF=OURNODE \ NNCP_SENDER=REMOTE \ NNCP_NICE=64 \ /usr/sbin/sendmail -t ARG0 ARG1 ARG2
feeding hello world\n
to that started sendmail
process.
incoming
Full path to directory where all file uploads will be saved. May be omitted to forbid file uploading on that node.
freq
path
Full path to directory from where file requests will queue files for transmission. May be omitted to forbid freqing from that node.
chunked
If set, then enable chunked file transmission during freqing. This is the desired chunk size in KiBs.
minsize
If set, then apply -minsize option during file transmission.
ack
Options applied to automatically generated ACKnowledgements packets during tossing.
nice
Use that niceness for generated packets (255 is used otherwise).
minsize
If set, then apply -minsize option during file transmission.
via
An array of node identifiers that will be used as a relay to that
node. For example ["foo","bar"]
means that packet can reach
current node by transitioning through foo
and then bar
nodes. May be omitted if direct connection exists and no relaying is
required.
addrs
Dictionary containing known network addresses of the node. Each key
is human-readable name of the address. For direct TCP connections
use host:port
format, pointing to nncp-daemon
’s
listening instance.
Also you can pipe connection through the external command using
|some command
format. /bin/sh -c "some command"
will
start and its stdin
/stdout
used as a connection.
To use Yggdrasil support network for connectivity, use
yggdrasil:PUB;PRV;PEER[,…]
format, read about
possible aliases usage.
May be omitted if either no direct connection exists, or
nncp-call
is used with forced address specifying.
rxrate/txrate
If greater than zero, then at most *rate packets per second will be sent/received after the handshake. It could be used as crude bandwidth traffic shaper: each packet has at most 64 KiB payload size. If omitted – no rate limits.
onlinedeadline
Online connection deadline of nodes inactivity in seconds. It is the time connection considered dead after not receiving/sending any packets (except for PINGs) and connection must be terminated. By default it is set to 10 seconds. This can be set to rather high values to keep connection alive (to reduce handshake overhead and delays), wait for appearing packets ready to send and notifying remote side about their appearance.
maxonlinetime
If greater than zero, then it is maximal time of single connection. Forcefully disconnect if it is exceeded.
calls
List of call configurations.
Can be omitted if nncp-caller
won’t be used to call that node.
Next: Configuration areas options, Previous: Configuration notification options, Up: Configuration file [Index]