2 @section Configuration neighbour options
4 @strong{neigh} section contains all known neighbours information. It
5 always has @strong{self} neighbour that is copy of our node's public
6 data (public keys). It is useful for copy-paste sharing with your
7 friends. Each section's key is a human-readable name of the neighbour.
13 exchpub: 2NZKH...CMI7A
14 signpub: EXD7M...YAOFA
15 noisepub: MIXYN...BGNDQ
16 exec: {sendmail: ["/usr/sbin/sendmail"]}
20 exchpub: MJACJ...FAI6A
21 signpub: T4AFC...N2FRQ
22 noisepub: UBM5K...VI42A
23 exec: {flag: ["/usr/bin/touch", "-t"]}
24 incoming: "/home/alice/incoming"
28 lan: "[fe80::1234%igb0]:5400"
29 internet: alice.com:3389
30 proxied: "|ssh remote.host nncp-daemon -ucspi"
40 exchpub: WFLMZ...B7NHA
41 signpub: GTGXG...IE3OA
43 sendmail: ["/usr/sbin/sendmail"]
44 warcer: ["/path/to/warcer.sh"]
45 wgeter: ["/path/to/wgeter.sh"]
59 Except for @code{id}, @code{exchpub} and @code{signpub} each neighbour
60 node has the following fields:
65 If present, then node can be online called using @ref{Sync,
66 synchronization protocol}. Contains authentication public key.
70 Dictionary consisting of handles and corresponding command line
71 arguments. In example above there are @command{sendmail} handles,
72 @command{warcer}, @command{wgeter} and @command{flag} one. Remote
73 node can queue some handle execution with providing additional
74 command line arguments and the body fed to command's @code{stdin}.
76 @verb{|sendmail: ["/usr/sbin/sendmail", "-t"]|} handle, when called by
77 @verb{|echo hello world | nncp-exec self sendmail ARG0 ARG1 ARG2|}
78 command, will execute:
84 /usr/sbin/sendmail -t ARG0 ARG1 ARG2
87 feeding @verb{|hello world\n|} to that started @command{sendmail}
92 Full path to directory where all file uploads will be saved. May be
93 omitted to forbid file uploading on that node.
99 Full path to directory from where file requests will queue files
100 for transmission. May be omitted to forbid freqing from that node.
103 If set, then enable @ref{Chunked, chunked} file transmission
104 during freqing. This is the desired chunk size in KiBs.
107 If set, then apply @ref{OptMinSize, -minsize} option during file
113 An array of node identifiers that will be used as a relay to that
114 node. For example @verb{|["foo","bar"]|} means that packet can reach
115 current node by transitioning through @code{foo} and then @code{bar}
116 nodes. May be omitted if direct connection exists and no relaying is
121 Dictionary containing known network addresses of the node. Each key
122 is human-readable name of the address. For direct TCP connections
123 use @verb{|host:port|} format, pointing to @ref{nncp-daemon}'s
126 Also you can pipe connection through the external command using
127 @verb{#|some command#} format. @code{/bin/sh -c "some command"} will
128 start and its @code{stdin}/@code{stdout} used as a connection.
130 May be omitted if either no direct connection exists, or
131 @ref{nncp-call} is used with forced address specifying.
135 If greater than zero, then at most *rate packets per second will be
136 sent/received after the handshake. It could be used as crude
137 bandwidth traffic shaper: each packet has at most 64 KiB payload
138 size. If omitted -- no rate limits.
140 @anchor{CfgOnlineDeadline}
142 Online connection deadline of nodes inactivity in seconds. It is the
143 time connection considered dead after not receiving/sending any
144 packets (except for PINGs) and connection must be terminated. By
145 default it is set to 10 seconds. This can be set to rather high
146 values to keep connection alive (to reduce handshake overhead and
147 delays), wait for appearing packets ready to send and notifying
148 remote side about their appearance.
150 @anchor{CfgMaxOnlineTime}
152 If greater than zero, then it is maximal time of single connection.
153 Forcefully disconnect if it is exceeded.
157 List of @ref{Call, call configuration}s.
158 Can be omitted if @ref{nncp-caller} won't be used to call that node.