adjust mantis url
[oweals/gnunet.git] / doc / man / gnunet.conf.5
1 .\" -*- mode: nroff -*-
2 .TH GNUNET.CONF "5" "October 26, 2018" "GNUnet"
3 .SH NAME
4 gnunet.conf \- GNUnet configuration file
5 .SH SYNOPSIS
6 ~/.config/gnunet.conf
7 .SH DESCRIPTION
8 A GNUnet setup typically consists of a set of service processes run by a user
9 "gnunet" and a set of user-interface processes run by a standard account.
10 The default location for the configuration file for the services is
11 "~gnunet/.config/gnunet.conf"; however, as normal users also may need
12 read-access to this configuration, you might want to instead put the service
13 process configuration in "/etc/gnunet.conf".
14 gnunet\-setup (part of the GNUnet GTK package) can be used to edit this
15 configuration.  The parts of GNUnet that are run as a normal user may have
16 config options too and they read from "$HOME/.config/gnunet.conf".
17 The latter config file can skip any options for the services.
18 .PP
19 The basic structure of the configuration file is the following.  The file is
20 split into sections.  Every section begins with "[SECTIONNAME]" and contains
21 a number of options of the form "OPTION=VALUE".
22 Empty lines and lines beginning with a "#" are treated as comments.
23 Almost all options are optional and the tools resort to reasonable defaults
24 if they are not present.
25 .PP
26 Default values for all of the options can be found in the files in the
27 "$GNUNET_PREFIX/share/gnunet/config.d/" directory. A typical setup will
28 work out of the box with those. See the examples section below for
29 some common setups on top of that.
30 .SH General OPTIONS
31 Many options will be common between sections. They can be repeated under
32 each section with different values.  The "[PATHS]" section is special.
33 Here, it is possible to specify values for variables like "GNUNET_HOME".
34 Then, in all filenames that begin with "$GNUNET_HOME" the "$GNUNET_HOME"
35 will be replaced with the respective value at runtime.  The main use of
36 this is to redefine "$GNUNET_HOME", which by default points to "$HOME/.config/".
37 By setting this variable, you can change the location where GNUnet stores
38 its internal data.
39 gnunet.conf accepts the variable "GNUNET_TMP" which we suggest to use in
40 place of the absolute definition of "/tmp".
41 So instead of "/tmp/foo" you would write "$GNUNET_TMP/foo".
42  The usage of "$GNUNET_TMP/foo", will result in "$TMPDIR/gnunet/foo", or
43  "$TMP/gnunet/foo" and finally, if "TMPDIR" is undefined, "/tmp/gnunet/foo".
44 .PP
45 The following options are generic and shared by all services:
46 .IP HOSTNAME
47     The hostname specifies the machine on which the service is running.
48     This is usually "localhost".
49 .IP BINARY
50     The filename that implements the service. For example "gnunet-service-ats".
51 .IP IMMEDIATE_START
52     Start the service always when the peer starts.  Set to YES for services
53     that should always be launched, even if no other service explicitly needs
54     them.
55 .IP START_ON_DEMAND
56     Set to YES to automatically start the service when it is requested by
57     another service. YES for most GNUnet services.
58 .IP NOARMBIND
59     Set to YES to never have ARM bind to the respective socket. This option is
60     mostly for debugging in situations where ARM cannot pass the pre-bound
61     socket to the child due to interference from PREFIX-commands.
62     This option is only effective in combination with IMMEDIATE_START being YES.
63     NO by default.
64 .IP PREFIX
65     PREFIX the given command (with its arguments) to the actual BINARY to be
66     executed. Useful to run certain services under special supervisors (like
67     strace or valgrind).  Typically used in combination with IMMEDIATE_START
68     and NOARMBIND. Empty by default.
69 .IP ACCEPT_FROM
70     A semi-column separated list of IPv4 addresses that are allowed to use
71     the service; usually 127.0.0.1.
72 .IP ACCEPT_FROM6
73     A semi-column separated list of IPv6 addresses that are allowed to use the
74     service; usually ::1.
75 .IP UNIXPATH
76     Path to use for the UNIX domain socket for inter process communication with
77     the service on POSIX systems.
78 .IP UNIX_MATCH_UID
79     If UNIX domain sockets are used, set this to YES if only users with the same
80     UID are allowed to access the service.
81 .IP UNIX_MATCH_GID
82     If UNIX domain sockets are used, set this to YES if only users with the same
83     GID are allowed to access the service.
84 .IP RUN_PER_USER
85     Set to YES if this service should be run per-user, NO if this is a system
86     service.  End-users should never have to change the defaults GNUnet provides
87     for this option.
88 .SH ATS Options
89 .IP UNSPECIFIED_QUOTA_IN
90     quotes in KiB or MiB per seconds.  Or use the word "unlimited"
91 .IP UNSPECIFIED_QUOTA_OUT
92     quotes in KiB or MiB per seconds.  Or use the word "unlimited"
93 .IP LOOPBACK_QUOTA_IN
94     quotes in KiB or MiB per seconds.  Or use the word "unlimited"
95 .IP LOOPBACK_QUOTA_OUT
96     quotes in KiB or MiB per seconds.  Or use the word "unlimited"
97 .IP LAN_QUOTA_IN
98     quotes in KiB or MiB per seconds.  Or use the word "unlimited"
99 .IP LAN_QUOTA_OUT
100     quotes in KiB or MiB per seconds.  Or use the word "unlimited"
101 .IP WAN_QUOTA_IN
102     quotes in KiB or MiB per seconds.  Or use the word "unlimited"
103 .IP WAN_QUOTA_OUT
104     quotes in KiB or MiB per seconds.  Or use the word "unlimited"
105 .IP WLAN_QUOTA_IN
106     quotes in KiB or MiB per seconds.  Or use the word "unlimited"
107 .IP WLAN_QUOTA_OUT
108     quotes in KiB or MiB per seconds.  Or use the word "unlimited"
109 .SH EXAMPLES
110 This example is a simple way to get started, using a server that has a known
111 list of peers to get you started. Most users will be behind a firewall on
112 IPv4, as such NAT is enabled.  Please rememeber to change your IP address
113 to the actual external address for your usage.
114 .PP
115     [hostlist]
116     OPTIONS = \-b
117     SERVERS = http://v9.gnunet.org:58080/
118
119     [nat]
120     BEHIND_NAT = YES
121     ENABLE_UPNP = YES
122     DISABLEV6 = YES
123     EXTERNAL_ADDRESS = 157.166.249.10
124
125     [arm]
126     START_SYSTEM_SERVICES = YES
127     START_USER_SERVICES = NO
128 .SH FILES
129 .TP
130 ~/.config/gnunet.conf
131 GNUnet configuration file
132 .SH BUGS
133 Report bugs by using Mantis <https://bugs.gnunet.org/> or by sending
134 electronic mail to <bug-gnunet@gnu.org>
135 .SH SEE ALSO
136 \fBgnunet\-setup\fP(1), \fBgnunet\-arm\fP(1)
137 .PP
138 The full documentation for
139 .B gnunet
140 is maintained as a Texinfo manual.
141 If the
142 .B info
143 and
144 .B gnunet
145 programs are properly installed at your site, the command
146 .IP
147 .B info gnunet
148 .PP
149 should give you access to the complete handbook,
150 .IP
151 .B info gnunet-c-tutorial
152 .PP
153 will give you access to a tutorial for developers.
154 .PP
155 Depending on your installation, this information is also
156 available in
157 \fBgnunet\fP(7) and \fBgnunet-c-tutorial\fP(7).