2 @unnumbered Configuration file
4 Example YAML configuration file:
8 log: /var/spool/nncp/log
12 to: user+file@example.com
15 to: user+freq@example.com
18 exchpub: CYVGQ...PSEWQ
19 exchprv: 65PUY...MPZ3Q
20 signpub: 2NMVC...CMH5Q
21 signprv: 555JD...RGD6Y
22 noiseprv: D62XU...NKYPA
23 noisepub: KIBKK...ESM7Q
27 exchpub: CYVGQ...PSEWQ
28 signpub: 2NMVC...CMH5Q
29 noisepub: KIBKK...ESM7Q
30 sendmail: [/usr/sbin/sendmail]
33 exchpub: MJACJ...FAI6A
34 signpub: T4AFC...N2FRQ
35 noisepub: UBM5K...VI42A
36 sendmail: ["/bin/sh", "-c", "false"]
37 incoming: /home/alice/incoming
41 lan: "[fe80::1234%igb0]:5400"
42 internet: alice.com:3389
48 exchpub: WFLMZ...B7NHA
49 signpub: GTGXG...IE3OA
50 sendmail: [/usr/sbin/sendmail]
55 @strong{spool} field contains an absolute path to @ref{Spool, spool}
56 directory. @strong{log} field contains an absolute path to @ref{Log,
60 @strong{notify} section contains notification settings for successfully
61 tossed file and freq packets. Corresponding @strong{from} and
62 @strong{to} fields will be substituted in notification email message.
63 @emph{neigh/self/sendmail} will be used as a local mailer. You can omit
64 either of those two @emph{from}/@emph{to} sections to omit corresponding
65 notifications, or the whole section at once.
67 @strong{self} section contains our node's private keypairs.
68 @strong{exch*} and @strong{sign*} are used during @ref{Encrypted,
69 encrypted} packet creation. @strong{noise*} are used during @ref{Sync,
70 synchronization protocol} working in @ref{nncp-call}/@ref{nncp-daemon}.
72 @strong{neigh} section contains all known neighbours information. It
73 always has @strong{self} neighbour that is copy of our node's public
74 data (public keys). It is useful for copy-paste sharing with your
75 friends. Each section's key is a human-readable name of the neighbour.
77 Except for @emph{id}, @emph{exchpub} and @emph{signpub} each neighbour
78 node has the following fields:
83 If present, then node can be online called using @ref{Sync,
84 synchronization protocol}. Contains authentication public key.
88 An array containing path to executable and its command line arguments
89 that is called for mail sending. If it is empty, then no mail processing
90 will be performed from that node.
94 Full path to directory where all file uploads will be saved. May be
95 omitted to forbid file uploading on that node.
99 Full path to directory from where file requests will queue files for
100 transmission. May be omitted to forbid freqing from that node.
103 An array of node identifiers that will be used as a relay to that node.
104 For example @verb{|[foo,bar]|} means that packet can reach current node
105 by transitioning through @emph{foo} and then @emph{bar} nodes. May be
106 omitted if direct connection exists and no relaying is required.
110 Dictionary containing known network addresses of the node. Each key is
111 human-readable name of the link/address. Values are @verb{|addr:port|}
112 pairs pointing to @ref{nncp-daemon}'s listening instance. May be omitted
113 if either no direct connection exists, or @ref{nncp-call} is used with
114 forced address specifying.
116 @anchor{CfgOnlineDeadline}
118 Online connection deadline of node inactivity in seconds. It is the time
119 connection considered dead after not receiving/sending any packets and
120 node must disconnect. By default it is set to 10 seconds -- that means
121 that disconnecting after 10 seconds when no packets received and
122 transmitted. This can be set to rather high values to keep connection
123 alive (to reduce handshake overhead and delays), wait for appearing
124 packets ready to send and notifying remote side about their appearance.
126 @anchor{CfgMaxOnlineTime}
128 If greater than zero, then it is maximal amount of time connect could be
129 alive. Forcefully disconnect if it is exceeded.
133 List of @ref{Call, call configuration}s. Can be omitted if
134 @ref{nncp-caller} won't be used to call that node.