]> Cypherpunks.ru repositories - nncp.git/blob - doc/cfg.texi
Ability to completely omit noisepub field
[nncp.git] / doc / cfg.texi
1 @node Configuration
2 @unnumbered Configuration file
3
4 Example YAML configuration file:
5
6 @verbatim
7 spool: /var/spool/nncp
8 log: /var/spool/nncp/log
9 notify:
10   file:
11     from: nncp@localhost
12     to: user+file@example.com
13   freq:
14     from: nncp@localhost
15     to: user+freq@example.com
16 self:
17   id: TIJQL...2NGIA
18   exchpub: CYVGQ...PSEWQ
19   exchprv: 65PUY...MPZ3Q
20   signpub: 2NMVC...CMH5Q
21   signprv: 555JD...RGD6Y
22   noiseprv: D62XU...NKYPA
23   noisepub: KIBKK...ESM7Q
24 neigh:
25   self:
26     id: TIJQL...2NGIA
27     exchpub: CYVGQ...PSEWQ
28     signpub: 2NMVC...CMH5Q
29     noisepub: KIBKK...ESM7Q
30     sendmail: [/usr/sbin/sendmail]
31   alice:
32     id: XJZBK...65IJQ
33     exchpub: MJACJ...FAI6A
34     signpub: T4AFC...N2FRQ
35     noisepub: UBM5K...VI42A
36     sendmail: ["/bin/sh", "-c", "false"]
37     incoming: /home/alice/incoming
38     addrs:
39       lan: "[fe80::1234%igb0]:5400"
40       internet: alice.com:3389
41   bob:
42     id: 2IZNP...UYGYA
43     exchpub: WFLMZ...B7NHA
44     signpub: GTGXG...IE3OA
45     sendmail: [/usr/sbin/sendmail]
46     freq: /home/bob/pub
47     via: [alice]
48 @end verbatim
49
50 @strong{spool} field contains an absolute path to @ref{Spool, spool}
51 directory. @strong{log} field contains an absolute path to @ref{Log,
52 log} file.
53
54 @strong{notify} section contains notification settings for successfully
55 tossed file and freq packets. Corresponding @strong{from} and
56 @strong{to} fields will substituted in notification email message.
57 @emph{neigh/self/sendmail} will be used as a local mailer. If either of
58 @emph{from}/@emph{to} fields are omitted, then no notification will be
59 sent.
60
61 @strong{self} section contains our node's private keypairs.
62 @strong{exch*} and @strong{sign*} are used during @ref{Encrypted,
63 encrypted} packet creation. @strong{noise*} are used during @ref{Sync,
64 synchronization protocol} working in @ref{nncp-call}/@ref{nncp-daemon}.
65
66 @strong{neigh} section contains all known neighbours information. It
67 always has @strong{self} neighbour that is copy of our node's public
68 data (public keys). It is useful for copy-paste sharing with your
69 friends. Each section's key is a human-readable name of the neighbour.
70
71 Except for @emph{id}, @emph{exchpub} and @emph{signpub} each neighbour
72 node has the following fields:
73
74 @table @strong
75 @item noisepub
76 If present, then node can be online called using @ref{Sync,
77 synchronization protocol}. Contains authentication public key.
78
79 @item sendmail
80 An array containing path to executable and its command line arguments
81 that is called for mail sending.
82
83 @item incoming
84 Full path to directory where all file uploads will be saved. May be
85 omitted to forbid file uploading on that node.
86
87 @item freq
88 Full path to directory from where file requests will queue files for
89 transmission. May be omitted to forbid freqing from that node.
90
91 @item via
92 An array of node identifiers that will be used as a relay to that node.
93 For example @verb{|[foo,bar]|} means that packet can reach current node
94 by transitioning through @emph{foo} and then @emph{bar} nodes. May be
95 omitted if direct connection exists and no relaying is required.
96
97 @item addrs
98 Dictionary containing known network addresses of the node. Each key is
99 human-readable name of the link/address. Values are @verb{|addr:port|}
100 pairs pointing to @ref{nncp-daemon}'s listening instance. May be omitted
101 if either no direct connection exists, or @ref{nncp-call} is used with
102 forced address specifying.
103 @end table