summaryrefslogtreecommitdiff
path: root/doc/man/gnunet.conf.5.in
blob: 82340996aff227de21657e6789d3440f2d205c40 (plain)
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
.\" -*- mode: nroff -*-
.\" This file is part of Ascension.
.\" 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 @url{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 @url{http://www.gnu.org/licenses/gpl.html}.
.\"
.\" SPDX-License-Identifier: GPL3.0-or-later OR FDL1.3-or-later
.\"
.TH GNUNET.CONF "5" "October 26, 2018" "GNUnet"
.SH NAME
gnunet.conf \- GNUnet configuration file
.SH SYNOPSIS
~/.config/gnunet.conf
.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
"~gnunet/.config/gnunet.conf"; however, as normal users also may need
read-access to this configuration, you might want to instead put the service
process configuration in "@SYSCONFDIR@/gnunet.conf".
gnunet\-setup (part of the GNUnet GTK package) 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 "$HOME/.config/gnunet.conf".
The latter config file can skip any options for the services.
.PP
The basic structure of the configuration file is the following.  The file is
split into sections.  Every section begins with "[SECTIONNAME]" and contains
a number of options of the form "OPTION=VALUE".
Empty lines and lines beginning with a "#" are treated as comments.
Almost all options are optional and the tools resort to reasonable defaults
if they are not present.
.PP
Default values for all of the options can be found in the files in the
"$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 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 "$HOME/.config/".
By setting this variable, you can change the location where GNUnet stores
its internal data.
gnunet.conf accepts the variable "GNUNET_TMP" which we suggest to use in
place of the absolute definition of "/tmp".
So instead of "/tmp/foo" you would write "$GNUNET_TMP/foo".
 The usage of "$GNUNET_TMP/foo", will result in "$TMPDIR/gnunet/foo", or
 "$TMP/gnunet/foo" and finally, if "TMPDIR" is undefined, "/tmp/gnunet/foo".
.PP
The following options are generic and shared by all services:
.IP HOSTNAME
    The hostname specifies the machine on which the service is running.
    This is usually "localhost".
.IP BINARY
    The filename that implements the service. For example "gnunet-service-ats".
.IP 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.
.IP START_ON_DEMAND
    Set to YES to automatically start the service when it is requested by
    another service. YES for most GNUnet services.
.IP 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.
.IP 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 or valgrind).  Typically used in combination with IMMEDIATE_START
    and NOARMBIND. Empty by default.
.IP ACCEPT_FROM
    A semi-column separated list of IPv4 addresses that are allowed to use
    the service; usually 127.0.0.1.
.IP ACCEPT_FROM6
    A semi-column separated list of IPv6 addresses that are allowed to use the
    service; usually ::1.
.IP UNIXPATH
    Path to use for the UNIX domain socket for inter process communication with
    the service on POSIX systems.
.IP 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.
.IP 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.
.IP RUN_PER_USER
    Set to YES if this service should be run per-user, NO if this is a system
    service.  End-users should never have to change the defaults GNUnet provides
    for this option.
.SS ATS OPTIONS
.IP UNSPECIFIED_QUOTA_IN
    quotes in KiB or MiB per seconds.  Or use the word "unlimited"
.IP UNSPECIFIED_QUOTA_OUT
    quotes in KiB or MiB per seconds.  Or use the word "unlimited"
.IP LOOPBACK_QUOTA_IN
    quotes in KiB or MiB per seconds.  Or use the word "unlimited"
.IP LOOPBACK_QUOTA_OUT
    quotes in KiB or MiB per seconds.  Or use the word "unlimited"
.IP LAN_QUOTA_IN
    quotes in KiB or MiB per seconds.  Or use the word "unlimited"
.IP LAN_QUOTA_OUT
    quotes in KiB or MiB per seconds.  Or use the word "unlimited"
.IP WAN_QUOTA_IN
    quotes in KiB or MiB per seconds.  Or use the word "unlimited"
.IP WAN_QUOTA_OUT
    quotes in KiB or MiB per seconds.  Or use the word "unlimited"
.IP WLAN_QUOTA_IN
    quotes in KiB or MiB per seconds.  Or use the word "unlimited"
.IP WLAN_QUOTA_OUT
    quotes in KiB or MiB per seconds.  Or use the word "unlimited"
.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.
.PP
    [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
.SH FILES
.TP
~/.config/gnunet.conf
GNUnet configuration file
.SH SEE ALSO
\fBgnunet\-setup\fP(1), \fBgnunet\-arm\fP(1)
.PP
The full documentation for
.B gnunet
is maintained as a Texinfo manual.
If the
.B info
and
.B gnunet
programs are properly installed at your site, the command
.IP
.B info gnunet
.PP
should give you access to the complete handbook,
.IP
.B 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
\fBgnunet\fP(7) and \fBgnunet-c-tutorial\fP(7).
.SH HISTORY
.PP
This man page first appeared in October 2012 in GNUnet.
.SH BUGS
Report bugs by using Mantis <https://bugs.gnunet.org/> or by sending
electronic mail to <bug-gnunet@gnu.org>