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