doc/documentation split into doc/tutorial and doc/handbook for clarity and to avoid...
[oweals/gnunet.git] / doc / handbook / gnunet.texi
1 \input texinfo
2 @c -*-texinfo-*-
3 @setfilename gnunet.info
4 @documentencoding UTF-8
5 @settitle GNUnet Reference Manual
6 @c @exampleindent 2
7
8 @c Set Versions which might be used in more than one place:
9 @set GNUFTP-URL https://ftp.gnu.org/gnu/gnunet
10 @set PYPI-URL https://pypi.python.org/packages/source
11 @set GNURL-VERSION-CURRENT 7.55.1
12 @set GNUNET-DIST-URL https://gnunet.org/sites/default/files/
13 @include version.texi
14 @c @set OPENPGP-SIGNING-KEY-ID
15
16 @copying
17 Copyright @copyright{} 2001-2018 GNUnet e.V.
18
19 Permission is granted to copy, distribute and/or modify this document
20 under the terms of the GNU Free Documentation License, Version 1.3 or
21 any later version published by the Free Software Foundation; with no
22 Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.  A
23 copy of the license is included in the section entitled ``GNU Free
24 Documentation License''.
25
26 A copy of the license is also available from the Free Software
27 Foundation Web site at @url{http://www.gnu.org/licenses/fdl.html}.
28
29 Alternately, this document is also available under the General
30 Public License, version 3 or later, as published by the Free Software
31 Foundation.  A copy of the license is included in the section entitled
32 ``GNU General Public License''.
33
34 A copy of the license is also available from the Free Software
35 Foundation Web site at @url{http://www.gnu.org/licenses/gpl.html}.
36 @end copying
37
38 @c TODO: Improve this and improve https://directory.fsf.org/wiki/Gnunet
39 @c NOTE FOR TRANSLATORS: Due to en.wikipedia.org being the wikipedia
40 @c                       which is more up to date than others, refrain
41 @c                       from using localized wikipedia unless you are
42 @c                       sure the articles content is good enough. For
43 @c                       example the german wikipedia entry for GNUnet
44 @c                       is in a terrible shape, but the en.wikipedia.org
45 @c                       entry is still acceptable (although in need of
46 @c                       updates).
47
48 @dircategory Networking
49 @direntry
50 * GNUnet: (gnunet).       Framework for secure peer-to-peer networking
51 @end direntry
52
53 @titlepage
54 @title GNUnet Reference Manual
55 @subtitle Installing, configuring, using and contributing to GNUnet
56 @author The GNUnet Developers
57
58 @page
59 @vskip 0pt plus 1filll
60 Edition @value{EDITION} @*
61
62 @insertcopying
63 @end titlepage
64
65 @summarycontents
66 @contents
67
68 @node Top
69 @top Introduction
70
71 This document is the Reference Manual for GNUnet version @value{VERSION}.
72
73 @menu
74
75 * Preface::                         Chapter 0
76 * Philosophy::                      About GNUnet
77 * Key Concepts::                    Key concepts of GNUnet
78 @c * Vocabulary::                      Vocabulary
79 * Installing GNUnet::               Installing GNUnet
80 * Using GNUnet::                    Using GNUnet
81 @c * Configuration Handbook::          Configuring GNUnet
82 * GNUnet Contributors Handbook::    Contributing to GNUnet
83 * GNUnet Developer Handbook::       Developing GNUnet
84 * GNU Free Documentation License::  The license of this manual
85 * GNU General Public License::
86 * GNU Affero General Public License::
87 * Concept Index::                   Concepts
88 * Programming Index::               Data types, functions, and variables
89
90 @detailmenu
91  --- The Detailed Node Listing ---
92
93 Preface
94
95 * About this book
96 * Contributing to this book
97 * Introduction
98 * Typography::
99
100 Philosophy
101
102 * Design Principles::
103 * Privacy and Anonymity::
104 * Practicality::
105
106 Key Concepts
107
108 * Authentication::
109 * Accounting to Encourage Resource Sharing::
110 * Confidentiality::
111 * Anonymity::
112 * Deniability::
113 * Peer Identities::
114 * Zones in the GNU Name System (GNS Zones)::
115 * Egos::
116 * Backup of Identities and Egos::
117 * Revocation::
118
119 Installing GNUnet
120 * Installing dependencies::
121 * Getting the Source Code::
122 * Create @code{gnunet} user and group::
123 * Preparing and Compiling the Source Code::
124 * Installation::
125 * MOVED FROM USER Checking the Installation::
126 * MOVED FROM USER The graphical configuration interface::
127 * MOVED FROM USER Config Leftovers::
128
129 Using GNUnet
130
131 * Start and stop GNUnet::
132 * First steps - Using the GNU Name System::
133 * First steps - Using GNUnet Conversation::
134 * First steps - Using the GNUnet VPN::
135 * File-sharing::
136 * The GNU Name System::
137 * Using the Virtual Public Network::
138
139 GNUnet Contributors Handbook
140
141 * Contributing to GNUnet::
142 * Licenses of contributions::
143 * Copyright Assignment::
144 * Contributing to the Reference Manual::
145 * Contributing testcases::
146
147 GNUnet Developer Handbook
148
149 * Developer Introduction::
150 * Internal dependencies::
151 * Code overview::
152 * System Architecture::
153 * Subsystem stability::
154 * Naming conventions and coding style guide::
155 * Build-system::
156 * Developing extensions for GNUnet using the gnunet-ext template::
157 * Writing testcases::
158 * Building GNUnet and its dependencies::
159 * TESTING library::
160 * Performance regression analysis with Gauger::
161 * TESTBED Subsystem::
162 * libgnunetutil::
163 * Automatic Restart Manager (ARM)::
164 * TRANSPORT Subsystem::
165 * NAT library::
166 * Distance-Vector plugin::
167 * SMTP plugin::
168 * Bluetooth plugin::
169 * WLAN plugin::
170 * ATS Subsystem::
171 * CORE Subsystem::
172 * CADET Subsystem::
173 * NSE Subsystem::
174 * HOSTLIST Subsystem::
175 * IDENTITY Subsystem::
176 * NAMESTORE Subsystem::
177 * PEERINFO Subsystem::
178 * PEERSTORE Subsystem::
179 * SET Subsystem::
180 * STATISTICS Subsystem::
181 * Distributed Hash Table (DHT)::
182 * GNU Name System (GNS)::
183 * GNS Namecache::
184 * REVOCATION Subsystem::
185 * File-sharing (FS) Subsystem::
186 * REGEX Subsystem::
187
188 @end detailmenu
189 @end menu
190
191 @c *********************************************************************
192 @include chapters/preface.texi
193 @c *********************************************************************
194
195 @c *********************************************************************
196 @include chapters/philosophy.texi
197 @c *********************************************************************
198
199 @c *********************************************************************
200 @include chapters/keyconcepts.texi
201 @c *********************************************************************
202
203 @c *********************************************************************
204 @include chapters/installation.texi
205 @c *********************************************************************
206
207 @c *********************************************************************
208 @include chapters/user.texi
209 @c *********************************************************************
210
211 @include chapters/contributing.texi
212
213 @c *********************************************************************
214 @include chapters/developer.texi
215 @c *********************************************************************
216
217 @c *********************************************************************
218 @node GNU Free Documentation License
219 @appendix GNU Free Documentation License
220 @cindex license, GNU Free Documentation License
221 @include fdl-1.3.texi
222
223 @c *********************************************************************
224 @node GNU General Public License
225 @appendix GNU General Public License
226 @cindex license, GNU General Public License
227 @include gpl-3.0.texi
228
229 @c *********************************************************************
230 @node GNU Affero General Public License
231 @appendix GNU Affero General Public License
232 @cindex license, GNU Affero General Public License
233 @include agpl-3.0.texi
234
235 @c *********************************************************************
236 @node Concept Index
237 @unnumbered Concept Index
238 @printindex cp
239
240 @node Programming Index
241 @unnumbered Programming Index
242 @syncodeindex tp fn
243 @syncodeindex vr fn
244 @syncodeindex pg fn
245 @printindex fn
246
247 @bye