Merge branch 'master' of ssh://gnunet.org/gnunet
[oweals/gnunet.git] / doc / documentation / gnunet.texi
1 \input texinfo
2 @c -*-texinfo-*-
3
4 @c %**start of header
5 @setfilename gnunet.info
6 @documentencoding UTF-8
7 @settitle GNUnet Reference Manual
8 @exampleindent 2
9 @urefbreakstyle before
10 @c %**end of header
11
12 @include version.texi
13
14 @c Set Versions which might be used in more than one place:
15 @set GNUFTP-URL https://ftp.gnu.org/gnu/gnunet
16 @set PYPI-URL https://pypi.python.org/packages/source
17 @set GNURL-VERSION-CURRENT 7.55.1
18 @set GNUNET-DIST-URL https://gnunet.org/sites/default/files/
19 @c @set OPENPGP-SIGNING-KEY-ID
20
21 @copying
22 Copyright @copyright{} 2001-2017 GNUnet e.V.
23
24 Permission is granted to copy, distribute and/or modify this document
25 under the terms of the GNU Free Documentation License, Version 1.3 or
26 any later version published by the Free Software Foundation; with no
27 Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.  A
28 copy of the license is included in the section entitled ``GNU Free
29 Documentation License''.
30
31 A copy of the license is also available from the Free Software
32 Foundation Web site at @url{http://www.gnu.org/licenses/fdl.html}.
33
34 Alternately, this document is also available under the General
35 Public License, version 3 or later, as published by the Free Software
36 Foundation.  A copy of the license is included in the section entitled
37 ``GNU General Public License''.
38
39 A copy of the license is also available from the Free Software
40 Foundation Web site at @url{http://www.gnu.org/licenses/gpl.html}.
41 @end copying
42
43 @c TODO: Improve this and improve https://directory.fsf.org/wiki/Gnunet
44
45 @dircategory Networking
46 @direntry
47 * GNUnet: (gnunet).       Framework for secure peer-to-peer networking
48 @end direntry
49
50 @titlepage
51 @title GNUnet Reference Manual
52 @subtitle Installing, configuring, using and contributing to GNUnet
53 @author The GNUnet Developers
54
55 @page
56 @vskip 0pt plus 1filll
57 Edition @value{EDITION} @*
58 @value{UPDATED} @*
59
60 @insertcopying
61 @end titlepage
62
63 @summarycontents
64 @contents
65
66 @node Top
67 @top Contributing to GNUnet
68
69
70 This document describes GNUnet version @value{VERSION}.
71
72
73 GNUnet is a @uref{http://www.gnu.org/, GNU} package.
74 All code contributions must thus be put under the
75 @uref{http://www.gnu.org/copyleft/gpl.html, GNU Public License (GPL)}.
76 All documentation should be put under FSF approved licenses
77 (see @uref{http://www.gnu.org/copyleft/fdl.html, fdl}).
78
79 By submitting documentation, translations, comments and other
80 content to this website you automatically grant the right to publish
81 code under the GNU Public License and documentation under either or
82 both the GNU Public License or the GNU Free Documentation License.
83 When contributing to the GNUnet project, GNU standards and the
84 @uref{http://www.gnu.org/philosophy/philosophy.html, GNU philosophy}
85 should be adhered to.
86
87 Note that we do now require a formal copyright assignment for GNUnet
88 contributors to GNUnet e.V.; nevertheless, we do allow pseudonymous
89 contributions.  By signing the copyright agreement and submitting your
90 code (or documentation) to us, you agree to share the rights to your
91 code with GNUnet e.V.; GNUnet e.V. receives non-exclusive ownership
92 rights, and in particular is allowed to dual-license the code. You
93 retain non-exclusive rights to your contributions, so you can also
94 share your contributions freely with other projects.
95
96 GNUnet e.V. will publish all accepted contributions under the GPLv3
97 or any later version. The association may decide to publish
98 contributions under additional licenses (dual-licensing).
99
100 We do not intentionally remove your name from your contributions;
101 however, due to extensive editing it is not always trivial to
102 attribute contributors properly. If you find that you significantly
103 contributed to a file (or the project as a whole) and are not listed
104 in the respective authors file or section, please do let us know.
105
106
107
108 @menu
109
110 * Philosophy::                      About GNUnet
111 * Vocabulary::                      Vocabulary
112 * GNUnet Installation Handbook::    How to install GNUnet
113 * Using GNUnet::                    Using GNUnet
114 * Configuration Handbook::          Configuring GNUnet
115 * GNUnet Developer Handbook::       Developing GNUnet
116 * GNU Free Documentation License::  The license of this manual.
117 * GNU General Public License::      The license of this manual.
118 * Concept Index::                   Concepts.
119 * Programming Index::               Data types, functions, and variables.
120
121 @detailmenu
122  --- The Detailed Node Listing ---
123
124 Philosophy
125
126 * Design Goals::
127 * Security & Privacy::
128 * Versatility::
129 * Practicality::
130 * Key Concepts::
131 * Authentication::
132 * Accounting to Encourage Resource Sharing::
133 * Confidentiality::
134 * Anonymity::
135 * Deniability::
136 * Peer Identities::
137 * Zones in the GNU Name System (GNS Zones)::
138 * Egos::
139 * Backup of Identities and Egos::
140 * Revocation::
141
142 Vocabulary
143
144 * Words and characters::
145 * Technical Assumptions::
146
147 GNUnet Installation Handbook
148
149 * Dependencies::
150 * Pre-installation notes::
151 * Generic installation instructions::
152 * Build instructions for Ubuntu 12.04 using Git::
153 * Build Instructions for Microsoft Windows Platforms::
154 * Build instructions for Debian 7.5::
155 * Installing GNUnet from Git on Ubuntu 14.4::
156 * Build instructions for Debian 8::
157 * Outdated build instructions for previous revisions::
158 @c * Portable GNUnet::
159 * The graphical configuration interface::
160 * How to start and stop a GNUnet peer::
161
162 Configuration Handbook
163
164 Using GNUnet
165
166 * Checking the Installation::
167 * First steps - File-sharing::
168 * First steps - Using the GNU Name System::
169 * First steps - Using GNUnet Conversation::
170 * First steps - Using the GNUnet VPN::
171 * File-sharing::
172 * The GNU Name System::
173 * Using the Virtual Public Network::
174
175 GNUnet Developer Handbook
176
177 * Developer Introduction::
178 * Code overview::
179 * System Architecture::
180 * Subsystem stability::
181 * Naming conventions and coding style guide::
182 * Build-system::
183 * Developing extensions for GNUnet using the gnunet-ext template::
184 * Writing testcases::
185 * GNUnet's TESTING library::
186 * Performance regression analysis with Gauger::
187 * GNUnet's TESTBED Subsystem::
188 * libgnunetutil::
189 * The Automatic Restart Manager (ARM)::
190 * GNUnet's TRANSPORT Subsystem::
191 * NAT library::
192 * Distance-Vector plugin::
193 * SMTP plugin::
194 * Bluetooth plugin::
195 * WLAN plugin::
196 * The ATS Subsystem::
197 * GNUnet's CORE Subsystem::
198 * GNUnet's CADET subsystem::
199 * GNUnet's NSE subsystem::
200 * GNUnet's HOSTLIST subsystem::
201 * GNUnet's IDENTITY subsystem::
202 * GNUnet's NAMESTORE Subsystem::
203 * GNUnet's PEERINFO subsystem::
204 * GNUnet's PEERSTORE subsystem::
205 * GNUnet's SET Subsystem::
206 * GNUnet's STATISTICS subsystem::
207 * GNUnet's Distributed Hash Table (DHT)::
208 * The GNU Name System (GNS)::
209 * The GNS Namecache::
210 * The REVOCATION Subsystem::
211 * GNUnet's File-sharing (FS) Subsystem::
212 * GNUnet's REGEX Subsystem::
213
214 @end detailmenu
215 @end menu
216
217 @c *********************************************************************
218 @include chapters/philosophy.texi
219 @c *********************************************************************
220
221 @include chapters/vocabulary.texi
222
223 @c *********************************************************************
224 @include chapters/installation.texi
225 @c *********************************************************************
226
227 @c *********************************************************************
228 @include chapters/user.texi
229 @c *********************************************************************
230
231 @include chapters/configuration.texi
232
233 @c *********************************************************************
234 @include chapters/developer.texi
235 @c @include gnunet-c-tutorial.texi
236 @c *********************************************************************
237
238 @c *********************************************************************
239 @node GNU Free Documentation License
240 @appendix GNU Free Documentation License
241 @cindex license, GNU Free Documentation License
242 @include fdl-1.3.texi
243
244 @c *********************************************************************
245 @node GNU General Public License
246 @appendix GNU General Public License
247 @cindex license, GNU General Public License
248 @include gpl-3.0.texi
249
250 @c *********************************************************************
251 @node Concept Index
252 @unnumbered Concept Index
253 @printindex cp
254
255 @node Programming Index
256 @unnumbered Programming Index
257 @syncodeindex tp fn
258 @syncodeindex vr fn
259 @printindex fn
260
261 @bye