aboutsummaryrefslogtreecommitdiff
path: root/doc/man/gnunet.conf.5.in
blob: 19136b849b35781f25baaaaa752ec8e8f676f8b1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
.\" -*- mode: nroff -*-
.\" This file is part of GNUnet.
.\" Copyright (C) 2012-2015,2018,2019 GNUnet e.V.
.\"
.\" Permission is granted to copy, distribute and/or modify this document
.\" under the terms of the GNU Free Documentation License, Version 1.3 or
.\" any later version published by the Free Software Foundation; with no
.\" Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.  A
.\" copy of the license is included in the file
.\" FDL-1.3.
.\"
.\" A copy of the license is also available from the Free Software
.\" Foundation Web site at http://www.gnu.org/licenses/fdl.html.
.\"
.\" Alternately, this document is also available under the General
.\" Public License, version 3 or later, as published by the Free Software
.\" Foundation.  A copy of the license is included in the file
.\" GPL3.
.\"
.\" A copy of the license is also available from the Free Software
.\" Foundation Web site at http://www.gnu.org/licenses/gpl.html.
.\"
.\" SPDX-License-Identifier: GPL3.0-or-later OR FDL1.3-or-later
.\"
.Dd October 26, 2018
.Dt GNUNET.CONF 5
.Os
.Sh NAME
.Nm gnunet.conf
.Nd GNUnet configuration file
.Sh DESCRIPTION
A GNUnet setup typically consists of a set of service processes run by a
user "gnunet" and a set of user-interface processes run by a standard account.
The default location for the configuration file for the services is
.Pa ~gnunet/.config/gnunet.conf Ns .
However, as normal users also may need read-access to this configuration,
you might want to instead put the service process configuration in
.Pa @SYSCONFDIR@/gnunet.conf Ns .
.Xr gnunet-setup 1 ,
part of gnunet-gtk, can be used to edit this configuration.
The parts of GNUnet that are run as a normal user may have config
options too and they read from
.Pa $HOME/.config/gnunet.conf Ns .
The latter config file can skip any options for the services.
.Pp
The basic structure of the configuration file is the following.
.Bl -bullet -offset indent -compact
.It
The file is split into sections.
.It
Every section begins with a token in square brakets.
The current section ends when a new section starts or end of file is
encountered.
.It
A section contains a number of options of the form "OPTION=VALUE".
.It
Whitespace surrounding the "=" token is striped out, in other words
"OPTION = VALUE" and "OPTION=VALUE" are treated equal.
.It
Empty lines and lines beginning with a "#" are treated as comments.
.It
Boolean values are given as "YES" and "NO".
.El
.Pp
Almost all options are optional.
The tools resort to reasonable defaults if an option is not present.
Default values for all of the options can be found in the files in the
.Pa $GNUNET_PREFIX/share/gnunet/config.d/
directory.
A typical setup will work out of the box with those.
See the examples section below for some common setups on top of that.
.Ss Variable naming conventions and data types
Boolean values for options are set via "YES" or "NO" values, without the
double-quotes.
.Pp
Options which include "PATH" or "path" define a path on the file-system
and can take additional variables in the path, such as
.Ev $GNUNET_TMP .
.Pp
Section names as listed more in detail below, are small letters only
enclosed by square brakets.
.Ss GENERAL OPTIONS
Many options will be common between sections.
They can be repeated under each section with different values.
The "[PATHS]" section is special.
Here, it is possible to specify values for variables like "GNUNET_HOME".
Then, in all filenames that begin with "$GNUNET_HOME" the "$GNUNET_HOME" will
be replaced with the respective value at runtime.
The main use of this is to redefine "$GNUNET_HOME", which by default points to
.Pa $HOME/.config/ Ns .
By setting this variable, you can change the location where GNUnet stores
its internal data.
.Pa gnunet.conf
accepts the variable
.Ev GNUNET_TMP
which we suggest to use in place of the absolute definition of
.Pa /tmp Ns .
So instead of
.Pa /tmp/foo
you would write
.Pa $GNUNET_TMP/foo .
The usage of
.Pa $GNUNET_TMP/foo ,
will result in
.Pa $TMPDIR/gnunet/foo ,
or
.Pa $TMP/gnunet/foo
and finally, if
.Ev TMPDIR
is undefined,
.Pa /tmp/gnunet/foo .
The following options are generic and shared by all services:
.Bl -tag -width indent
.It HOSTNAME
The hostname specifies the machine on which the service is running.
This is usually "localhost".
.It BINARY
The filename that implements the service.
For example "gnunet-service-ats".
.It IMMEDIATE_START
Start the service always when the peer starts.
Set to YES for services that should always be launched, even if no other
service explicitly needs them.
.It START_ON_DEMAND
Set to YES to automatically start the service when it is requested by another
service.
YES for most GNUnet services.
.It NOARMBIND
Set to YES to never have ARM bind to the respective socket.
This option is mostly for debugging in situations where ARM cannot pass the
pre-bound socket to the child due to interference from PREFIX-commands.
This option is only effective in combination with IMMEDIATE_START being YES.
NO by default.
.It PREFIX
PREFIX the given command (with its arguments) to the actual BINARY
to be executed.
Useful to run certain services under special supervisors like strace,
dtrace, or valgrind.
Typically used in combination with IMMEDIATE_START and NOARMBIND.
Empty by default.
.It ACCEPT_FROM
A semi-column separated list of IPv4 addresses that are allowed to use
the service; usually 127.0.0.1.
.It ACCEPT_FROM6
A semi-column separated list of IPv6 addresses that are allowed to use
the service; usually ::1.
.It UNIXPATH
Path to use for the UNIX domain socket for inter process communication with
the service on POSIX systems.
.It UNIX_MATCH_UID
If UNIX domain sockets are used, set this to YES if only users with the
same UID are allowed to access the service.
.It UNIX_MATCH_GID
If UNIX domain sockets are used, set this to YES if only users with the
same GID are allowed to access the service.
.It RUN_PER_USER
End-users should never have to change the defaults GNUnet provides for
this option.
.Bl -tag -width indent
.It YES
Set to YES if this service should be run per-user.
.It NO
Set to NO if this is a system service.
.El
.El
In the following sections the absence of a default value is either
expressed as "Default value:" followed by nothing, or the lack of this line.
.Ss ARM
.Bl -tag -width indent
.It PORT
Default value: 2087
.It HOSTNAME
Default value: localhost
.It BINARY
Default value: gnunet-service-arm
.It ACCEPT_FROM
Default value: 127.0.0.1;
.It ACCEPT_FROM6
Default value: ::1;
.It UNIXPATH
Special case, uses user runtime dir even for per-system service.
.Pp
Default value: $GNUNET_USER_RUNTIME_DIR/gnunet-service-arm.sock
.It UNIX_MATCH_UID
Default value: YES
.It UNIX_MATCH_GID
Default value: YES
.It GLOBAL_POSTFIX
In the
.Fl l
option, format characters from
.Xr strftime 3
are allowed; In the GLOBAL_POSTFIX, "{}" stands for the name of the
respective service.
Thus the following example for this option would introduce per-service logging
with a new log file each day.
Note that only the last 3 log files are preserved.
Example:
.Pp
.Bd literal
-l $GNUNET_CACHE_HOME/{}-%Y-%m-%d.log
.Ed
.Pp
Default value:
.It GLOBAL_PREFIX
Default value:
.It START_SYSTEM_SERVICES
If set to YES, ARM will only start services that are marked as system-level
services (and we'll expect a second ARM to be run per-user to run
user-level services).
Note that in this case you must have manually created a different configuration
file with the user where at least this and the START_USER_SERVICES
options differ.
.It START_USER_SERVICES
If set to YES, ARM will only start services that are marked as per-user
services (and we'll expect a system user to run ARM to provide system-level
services).
Per-user services enable better personalization and privilege separation and
in particular ensures that personal data is stored under $HOME, which might be
important in a multi-user system (or if $HOME is encrypted and
.Pa /var/
is not).
.Pp
Note that if you have different ARM services for SYSTEM and USER, and you are
not on UNIX, you need to change the PORT option for the USER ARM instances to
some free port (counting down from 2085 should provide free ports).
.It RESOURCE_DIAGNOSTICS
File where we should log per-service resource consumption on exit.
.Pp
Default value: resource.log
.It USERNAME
Name of the user that will be used to provide the service.
.Pp
Default value:
.It MAXBUF
Default value:
.It TIMEOUT
Default value:
.It DISABLEV6
Default value:
.It BINDTO
Default value:
.It REJECT_FROM
Default value:
.It REJECT_FROM6
Default value:
.It PREFIX
Default value:
.El
.Ss ATS
.Bl -tag -width indent
.It PORT
Default value: 2098
.It HOSTNAME
Default value: localhost
.It BINARY
Default value: gnunet-service-ats
.It ACCEPT_FROM
Default value: 127.0.0.1;
.It ACCEPT_FROM6
Default value: ::1;
.It UNIXPATH
Default value: $GNUNET_RUNTIME_DIR/gnunet-service-ats.sock
.It UNIX_MATCH_UID
Default value: NO
.It UNIX_MATCH_GID
Default value: YES
.It MODE
Designated assignment mode.
Possible values: PROPORTIONAL, MLP, RIL.
.Pp
Default value: proportional
.It UNSPECIFIED_QUOTA_IN
quotes in KiB or MiB per seconds.
Or use the word "unlimited".
Default value: 64 KiB
.It UNSPECIFIED_QUOTA_OUT
quotes in KiB or MiB per seconds.
Or use the word "unlimited".
Default value: 64 KiB
.It LOOPBACK_QUOTA_IN
quotes in KiB or MiB per seconds.
Or use the word "unlimited".
Default value: unlimited
.It LOOPBACK_QUOTA_OUT
quotes in KiB or MiB per seconds.
Or use the word "unlimited".
Default value: unlimited
.It LAN_QUOTA_IN
quotes in KiB or MiB per seconds.
Or use the word "unlimited".
Default value: unlimited
.It LAN_QUOTA_OUT
quotes in KiB or MiB per seconds.
Or use the word "unlimited".
Default value: unlimited
.It WAN_QUOTA_IN
quotes in KiB or MiB per seconds.
Or use the word "unlimited".
Default value: 64 KiB
.It WAN_QUOTA_OUT
quotes in KiB or MiB per seconds.
Or use the word "unlimited".
Default value: 64 KiB
.It WLAN_QUOTA_IN
quotes in KiB or MiB per seconds.
Or use the word "unlimited".
Default value: 1 MiB
.It WLAN_QUOTA_OUT
quotes in KiB or MiB per seconds.
Or use the word "unlimited".
Default value: 1 MiB
.It BLUETOOTH_QUOTA_IN
Default value: 128 KiB
.It BLUETOOTH_QUOTA_OUT
Default value: 128 KiB
.It PROP_PROPORTIONALITY_FACTOR
How proportional to preferences is bandwidth distribution in a network?
Default value: 2.00
.Bl -tag -width indent
.It 1.0
Fair with respect to addresses without preferences.
.It > 1.0
The bigger, the more respect is paid to preferences.
.El
.It PROP_STABILITY_FACTOR
Should we stick to existing connections are prefer to switch?
[1.0...2.0], lower value prefers to switch, bigger value is more tolerant.
.Pp
Default value: 1.25
.It MLP_MAX_DURATION
Maximum duration for a solution process (both LP and MILP).
Default value: 3 s
.It MLP_MAX_ITERATIONS
Maximum numbero of iterations for a solution process (only LP).
Tolerated MIP Gap [0.0 .. 1.0].
.Pp
Default value: 0.025
.It MLP_MAX_MIP_GAP
Tolerated LP/MIP Gap [0.0 .. 1.0].
.Pp
Default value: 0.025
.It MLP_MAX_LP_MIP_GAP
Default value: 0.025
.It MLP_MAX_ITERATIONS
Maximum number of iterations for a solution process.
.Pp
Default value: 1024
.It MLP_COEFFICIENT_D
Default value: 1.0
.It MLP_COEFFICIENT_U
Default value: 1.0
.It MLP_COEFFICIENT_R
Default value: 1.0
.It MLP_MIN_BANDWIDTH
Default value: 1024
.It MLP_MIN_CONNECTIONS
Default value: 4
.It MLP_DUMP_PROBLEM_ALL
Dump all problems to disk.
.Pp
Default value: YES
.It MLP_DUMP_SOLUTION_ALL
Dump all solution to disk.
.Pp
Default value: YES
.It MLP_GLPK_VERBOSE
Print GLPK output.
.Pp
Default value: YES
.It MLP_DUMP_PROBLEM_ON_FAIL
Dump all problems to disk.
.Pp
Default value: YES
.It MLP_DUMP_SOLUTION_ON_FAIL
Dump all solution to disk.
.Pp
Default value: YES
.It RIL_STEP_TIME_MIN
Default value: 500 ms
.It RIL_STEP_TIME_MAX
Default value: 1000 ms
.It RIL_ALGORITHM
Possible values: SARSA or Q-LEARNING.
.Pp
Default value: Q-LEARNING
.It RIL_DISCOUNT_BETA
Default value: 0.7
.It RIL_GRADIENT_STEP_SIZE
Default value: 0.3
.It RIL_TRACE_DECAY
Default value: 0.2
.It RIL_EXPLORE_RATIO
Default value: 0.1
.It RIL_GLOBAL_REWARD_SHARE
Default value: 1
.El
.Ss AUCTION
.Bl -tag -width indent
.El
.Ss CADET
.Bl -tag -width indent
.It IMMEDIATE_START
Default value: YES
.It START_ON_DEMAND
Default value: YES
.It PORT
Default value: 2096
.It HOSTNAME
Default value: localhost
.It BINARY
Default value: gnunet-service-cadet
.It PREFIX
.It ACCEPT_FROM
Default value: 127.0.0.1;
.It ACCEPT_FROM6
Default value: ::1;
.It UNIXPATH
Default value: $GNUNET_RUNTIME_DIR/gnunet-service-cadet.sock
.It UNIX_MATCH_UID
Default value: NO
.It UNIX_MATCH_GID
Default value: YES
.It REFRESH_CONNECTION_TIME
How often do we send KEEPALIVE messages on connections to keep them from
timing out?
.Pp
Default value: 5 min
.It DROP_PERCENT
Percentage of packets CADET is artificially dropping.
Used for testing only!
.It ID_ANNOUNCE_TIME
How frequently do we usually announce our presence in the DHT?
.Pp
Default value: 1 h
.It CONNECT_TIMEOUT
Default value: 30 s
.It DHT_REPLICATION_LEVEL
What is the replication level we give to the DHT when announcing our existence?
Usually there is no need to change this.
.Pp
Default value: 3
.It MAX_TUNNELS
Not implemented
.Pp
Default value: 1000
.It MAX_CONNECTIONS
Not implemented, replaced by MAX_ROUTES in NEW CADET!
.Pp
Default value: 1000
.It MAX_ROUTES
How many routes do we participate in at most?
Should be smaller than MAX_MSGS_QUEUE.
.Pp
Default value: 5000
.It MAX_MSGS_QUEUE
Not implemented
.Pp
Default value: 10000
.It MAX_PEERS
Not implemented
.Pp
Default value: 1000
.It RATCHET_TIME
How often do we advance the ratchet even if there is not any traffic?
.Pp
Default value: 1 h
.It RATCHET_MESSAGES
How often do we advance the ratched if there is traffic?
.Pp
Default value: 64
.El
.Ss COMMUNICATOR-UNIX
.Bl -tag -width indent
.It UNIXPATH
Default value: $GNUNET_RUNTIME_DIR/gnunet-communicator-unix.sock
.El
.Ss CONSENSUS
.Bl -tag -width indent
.It START_ON_DEMAND
Default value: YES
.It PORT
Default value: 2103
.It HOSTNAME
Default value: localhost
.It BINARY
Default value: gnunet-service-consensus
.It ACCEPT_FROM
Default value: 127.0.0.1;
.It ACCEPT_FROM6
Default value: ::1;
.It UNIXPATH
Default value: $GNUNET_RUNTIME_DIR/gnunet-service-consensus.sock
.It UNIX_MATCH_UID
Default value: YES
.It UNIX_MATCH_GID
Default value: YES
.El
.Ss CORE
.Bl -tag -width indent
.It START_ON_DEMAND
Default value: YES
.It PORT
Default value: 2092
.It HOSTNAME
Default value: localhost
.It BINARY
Default value: gnunet-service-core
.It ACCEPT_FROM
Default value: 127.0.0.1;
.It ACCEPT_FROM6
Default value: ::1;
.It UNIXPATH
Default value: $GNUNET_RUNTIME_DIR/gnunet-service-core.sock
.It UNIX_MATCH_UID
Default value: NO
.It UNIX_MATCH_GID
Default value: YES
.It DISABLE_SOCKET_FORWARDING
Default value: NO
.It USERNAME
.It MAXBUF
.It TIMEOUT
.It DISABLEV6
.It BINDTO
.It REJECT_FROM
.It REJECT_FROM6
.It PREFIX
.It USE_EPHEMERAL_KEYS
Default value: YES
.Pp
This MUST be set to YES in production, only set to NO for testing for
performance (testbed/cluster-scale use!).
.El
.Ss DATACACHE-POSTGRES
.Bl -tag -width indent
.It CONFIG
Default value: postgres:///gnunet
.El
.Ss DATASTORE
.Bl -tag -width indent
.It START_ON_DEMAND
Default value: YES
.It UNIXPATH
Default value: $GNUNET_RUNTIME_DIR/gnunet-service-datastore.sock
.It UNIX_MATCH_UID
Default value: NO
.It UNIX_MATCH_GID
Default value: YES
.It PORT
Default value: 2093
.It HOSTNAME
Default value: localhost
.It BINARY
Default value: gnunet-service-datastore
.It ACCEPT_FROM
Default value: 127.0.0.1;
.It ACCEPT_FROM6
Default value: ::1;
.It QUOTA
Default value: 5 GB
.It BLOOMFILTER
Default value: $GNUNET_DATA_HOME/datastore/bloomfilter
.It DATABASE
Default value: sqlite
.It DISABLE_SOCKET_FORWARDING
Default value: NO
.El
.Ss DATASTORE-SQLITE
.Bl -tag -width indent
.It FILENAME
Default value: $GNUNET_DATA_HOME/datastore/sqlite.db
.El
.Ss DATASTORE-POSTGRES
.Bl -tag -width indent
.It CONFIG
Default value: postgres:///gnunet
.El
.Ss DATASTORE-MYSQL
.Bl -tag -width indent
.It DATABASE
Default value: gnunet
.It CONFIG
Default value: ~/.my.cnf
.It USER
Default value: gnunet
.It PASSWORD
.It HOST
Default value: localhost
.It PORT
Default value: 3306
.El
.Ss DATASTORE-HEAP
.Bl -tag -width indent
.It HASHMAPSIZE
Default value: 1024
.El
.Ss DHT
.Bl -tag -width indent
.It IMMEDIATE_START Ar boolean
Default value: YES
.It START_ON_DEMAND Ar boolean
Default value: YES
.It PORT Ar integer
Default value: 2095
.It HOSTNAME Ar string
Default value: localhost
.It BINARY Ar string
Default value: gnunet-service-dht
.It ACCEPT_FROM Ar string
Default value: 127.0.0.1;
.It ACCEPT_FROM6 Ar string
Default value: ::1;
.It BUCKET_SIZE Ar integer
Default value: 4
.It UNIXPATH Ar path
Default value: $GNUNET_RUNTIME_DIR/gnunet-service-dht.sock
.It UNIX_MATCH_UID Ar boolean
Default value: NO
.It UNIX_MATCH_GID Ar boolean
Default value: YES
.It DISABLE_SOCKET_FORWARDING Ar boolean
Default value: NO
.It USERNAME =
.It MAXBUF =
.It TIMEOUT =
.It DISABLEV6 =
.It BINDTO =
.It REJECT_FROM =
.It REJECT_FROM6 =
.It PREFIX =
.It
# Should the DHT cache results that we are routing in the DATACACHE as well?
CACHE_RESULTS = YES
.It
# Special option to disable DHT calling 'try_connect' (for testing)
DISABLE_TRY_CONNECT = NO
.El
.Ss DHTCACHE
.Bl -tag -width indent
.It DATABASE
Default value: heap
.It QUOTA
Default value: 50 MB
.It DISABLE_BF_RC Ar boolean
Disable RC-file for Bloom filter?
(for benchmarking with limited IO availability)
.Pp
Default value: NO
.Ss EXIT
.Bl -tag -width indent
.El
.Ss FS
.Bl -tag -width indent
.El
.Ss GNS
.Bl -tag -width indent
.El
.Ss HOSTLIST
.Bl -tag -width indent
.El
.Ss IDENTITY
.Bl -tag -width indent
.El
.Ss NAMECACHE
.Bl -tag -width indent
.El
.Ss NAMESTORE
.Bl -tag -width indent
.El
.Ss NAT-AUTO
.Bl -tag -width indent
.El
.Ss NAT
.Bl -tag -width indent
.El
.Ss NSE
.Bl -tag -width indent
.El
.Ss PEERINFO
.Bl -tag -width indent
.El
.Ss PEERSTORE
.Bl -tag -width indent
.El
.Ss PT
.Bl -tag -width indent
.El
.Ss REGEX
.Bl -tag -width indent
.El
.Ss RESOLVER
.Bl -tag -width indent
.El
.Ss REST
.Bl -tag -width indent
.It UNIXPATH
Default value: $GNUNET_USER_RUNTIME_DIR/gnunet-service-rest.sock
.It BINARY
Default value: gnunet-rest-server
.It BIND_TO
Default value: 127.0.0.1
.It BIND_TO6
Default value: ::1
.It REST_PORT
Default value: 7776
.It REST_ALLOW_HEADERS
Default value: Authorization,Accept,Content-Type
.It REST_ALLOW_ORIGIN
Default value: *
.It REST_ALLOW_CREDENTIALS
Default value: true
.El
.Ss REVOCATION
.Ss SCALARPRODUCT
.Ss SECRETSHARING
.Ss SET
.Ss STATISTICS
.Ss TEMPLATE
.Ss TESTBED-LOGGER
.Ss TESTBED
.Ss TESTING
.Ss TOPOLOGY
.Bl -tag -width indent
.It IMMEDIATE_START
Default value: YES
.It NOARMBIND
Default value: YES
.It MINIMUM-FRIENDS
Default value: 0
.It FRIENDS-ONLY
Default value: NO
.It TARGET-CONNECTION-COUNT
Default value: 16
.It FRIENDS
Default value: $GNUNET_CONFIG_HOME/topology/friends.txt
.It BINARY
Default value: gnunet-daemon-topology
.El
.Ss TRANSPORT
.Ss UTIL
.Ss VPN
.Bl -tag -width indent
.It START_ON_DEMAND
Default value: YES
.It PORT
Default value: 2105
.It HOSTNAME
Default value: localhost
.It BINARY
Default value: gnunet-service-vpn
.It ACCEPT_FROM
Default value: 127.0.0.1;
.It ACCEPT_FROM6
Default value: ::1;
.It UNIXPATH
Default value: $GNUNET_RUNTIME_DIR/gnunet-service-vpn.sock
.It UNIX_MATCH_UID
Default value: NO
.It UNIX_MATCH_GID
Default value: YES
.It IPV6ADDR
Default value: 1234::1
.It IPV6PREFIX
Default value: 32
.It IPV4ADDR
Default value: 10.11.10.1
.It IPV4MASK
Default value: 255.255.0.0
.It VIRTDNS
Default value: 10.11.10.2
.It VIRTDNS6
Default value: 1234::17
.It IFNAME
Default value: vpn-gnunet
.El
.Ss ZONEMASTER
.Bl -tag -width indent
.It START_ON_DEMAND
Default value: YES
.It IMMEDIATE_START
Default value: YES
.It HOSTNAME
Default value: localhost
.It BINARY
Default value: gnunet-service-zonemaster
.It UNIXPATH
Default value: $GNUNET_USER_RUNTIME_DIR/gnunet-service-zonemaster.sock
.It PORT
Default value: 2123
.It UNIX_MATCH_UID
Do we require users that want to access GNS to run this process (usually
not a good idea)?
.Pp
Default value: NO
.It UNIX_MATCH_GID
Do we require users that want to access GNS to be in the 'gnunet' group?
.Pp
Default value: NO
.It MAX_PARALLEL_BACKGROUND_QUERIES
How many queries is GNS allowed to perform in the background at the same time?
.Pp
Default value: 1000
.It ZONE_PUBLISH_TIME_WINDOW
How frequently do we try to publish our full zone?
.Pp
Default value: 4 h
.It USE_CACHE
Using caching or always ask DHT?
.Pp
Default value: YES
.It PREFIX
.El
.Ss ZONEMASTER-MONITOR
.Bl -tag -width indent
.It START_ON_DEMAND
Default value: YES
.It IMMEDIATE_START
Default value: YES
.It HOSTNAME
Default value: localhost
.It BINARY
Default value: gnunet-service-zonemaster-monitor
.It UNIXPATH
Default value: $GNUNET_USER_RUNTIME_DIR/gnunet-service-zonemaster-monitor.sock
.It PORT
Default value: 2124
.It UNIX_MATCH_UID
Do we require users that want to access GNS to run this process (usually not
a good idea)?
.Pp
Default value: NO
.It UNIX_MATCH_GID
Do we require users that want to access GNS to be in the 'gnunet' group?
.Pp
Default value:
.Li NO
.El
.Sh EXAMPLES
This example is a simple way to get started, using a server that has a known
list of peers to get you started.
Most users will be behind a firewall on IPv4, as such NAT is enabled.
Please remember to change your IP address to the actual external address
for your usage.
.Bd -literal -offset indent -compact
[hostlist]
OPTIONS = \-b \-e

[nat]
BEHIND_NAT = YES
ENABLE_UPNP = YES
DISABLEV6 = YES
EXTERNAL_ADDRESS = 157.166.249.10

[arm]
START_SYSTEM_SERVICES = YES
START_USER_SERVICES = NO
.Ed
.Sh FILES
.Pa ~gnunet/.config/gnunet.conf
GNUnet system-user configuration file
.Pa $HOME/.config/gnunet.conf
User specific GNUnet configuration file
.Pa @SYSCONFDIR@/gnunet.conf
Systemwide GNUnet configuration file
.Pa $GNUNET_PREFIX/share/gnunet/config.d/
GNUnet configuration directory with all default option values
.Sh SEE ALSO
.Xr env 1 ,
.Xr gnunet-arm 1 ,
.Xr gnunet-setup 1 ,
.Xr strftime 3 .
.Pp
The full documentation for gnunet is maintained as a Texinfo manual.
If the
.Xr info 1
and gnunet programs are properly installed at your site, the command
.Pp
.Dl info gnunet
.Pp
should give you access to the complete handbook,
.Pp
.Dl info gnunet-c-tutorial
.Pp
will give you access to a tutorial for developers.
.Pp
Depending on your installation, this information is also available in
.Xr gnunet 7 and
.Xr gnunet-c-tutorial 7 .
.\".Sh HISTORY
.\".Sh AUTHORS
.Sh BUGS
Report bugs by using
.Lk https://bugs.gnunet.org
or by sending electronic mail to
.Aq Mt gnunet-developers@gnu.org .