couple of doc developer changes and notes
[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 It seems as if this breaks some old garbage version of
10 @c texinfo running on some systems. FIXME!!!
11 @c @urefbreakstyle before
12 @c %**end of header
13
14 @include version.texi
15
16 @c Set Versions which might be used in more than one place:
17 @set GNUFTP-URL https://ftp.gnu.org/gnu/gnunet
18 @set PYPI-URL https://pypi.python.org/packages/source
19 @set GNURL-VERSION-CURRENT 7.55.1
20 @set GNUNET-DIST-URL https://gnunet.org/sites/default/files/
21 @c @set OPENPGP-SIGNING-KEY-ID
22
23 @copying
24 Copyright @copyright{} 2001-2017 GNUnet e.V.
25
26 Permission is granted to copy, distribute and/or modify this document
27 under the terms of the GNU Free Documentation License, Version 1.3 or
28 any later version published by the Free Software Foundation; with no
29 Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.  A
30 copy of the license is included in the section entitled ``GNU Free
31 Documentation License''.
32
33 A copy of the license is also available from the Free Software
34 Foundation Web site at @url{http://www.gnu.org/licenses/fdl.html}.
35
36 Alternately, this document is also available under the General
37 Public License, version 3 or later, as published by the Free Software
38 Foundation.  A copy of the license is included in the section entitled
39 ``GNU General Public License''.
40
41 A copy of the license is also available from the Free Software
42 Foundation Web site at @url{http://www.gnu.org/licenses/gpl.html}.
43 @end copying
44
45 @c TODO: Improve this and improve https://directory.fsf.org/wiki/Gnunet
46
47 @dircategory Networking
48 @direntry
49 * GNUnet: (gnunet).       Framework for secure peer-to-peer networking
50 @end direntry
51
52 @titlepage
53 @title GNUnet Reference Manual
54 @subtitle Installing, configuring, using and contributing to GNUnet
55 @author The GNUnet Developers
56
57 @page
58 @vskip 0pt plus 1filll
59 Edition @value{EDITION} @*
60 @value{UPDATED} @*
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 * Philosophy::                      About GNUnet
76 @c * Vocabulary::                      Vocabulary
77 * GNUnet Installation Handbook::    How to install GNUnet
78 * Using GNUnet::                    Using GNUnet
79 @c * Configuration Handbook::          Configuring GNUnet
80 * GNUnet Contributors Handbook::    Contributing to GNUnet
81 * GNUnet Developer Handbook::       Developing GNUnet
82 * GNU Free Documentation License::  The license of this manual
83 * GNU General Public License::      The license of this manual
84 * Concept Index::                   Concepts
85 * Programming Index::               Data types, functions, and variables
86
87 @detailmenu
88  --- The Detailed Node Listing ---
89
90 Philosophy
91
92 * Design Goals::
93 * Security and Privacy::
94 * Versatility::
95 * Practicality::
96 * Key Concepts::
97 * Authentication::
98 * Accounting to Encourage Resource Sharing::
99 * Confidentiality::
100 * Anonymity::
101 * Deniability::
102 * Peer Identities::
103 * Zones in the GNU Name System (GNS Zones)::
104 * Egos::
105 * Backup of Identities and Egos::
106 * Revocation::
107
108 @c Vocabulary
109 @c 
110 @c * Definitions abbreviations and acronyms::
111 @c * Words and characters::
112 @c * Technical Assumptions::
113
114 GNUnet Installation Handbook
115
116 * Dependencies::
117 * Pre-installation notes::
118 * Generic installation instructions::
119 * Build instructions for Ubuntu 12.04 using Git::
120 * Build instructions for software builds from source::
121 * Build Instructions for Microsoft Windows Platforms::
122 * Build instructions for Debian 7.5::
123 * Installing GNUnet from Git on Ubuntu 14.4::
124 * Build instructions for Debian 8::
125 * Outdated build instructions for previous revisions::
126 @c * Portable GNUnet::
127 * The graphical configuration interface::
128 * How to start and stop a GNUnet peer::
129
130 Using GNUnet
131
132 * Checking the Installation::
133 * First steps - File-sharing::
134 * First steps - Using the GNU Name System::
135 * First steps - Using GNUnet Conversation::
136 * First steps - Using the GNUnet VPN::
137 * File-sharing::
138 * The GNU Name System::
139 * Using the Virtual Public Network::
140
141 @c Configuration Handbook
142
143 GNUnet Contributors Handbook
144
145 * Contributing to GNUnet::
146 * Licenses of contributions::
147 * Copyright Assignment::
148 * Contributing to the Reference Manual::
149
150 GNUnet Developer Handbook
151
152 * Developer Introduction::
153 * Code overview::
154 * System Architecture::
155 * Subsystem stability::
156 * Naming conventions and coding style guide::
157 * Build-system::
158 * Developing extensions for GNUnet using the gnunet-ext template::
159 * Writing testcases::
160 * TESTING library::
161 * Performance regression analysis with Gauger::
162 * TESTBED Subsystem::
163 * libgnunetutil::
164 * Automatic Restart Manager (ARM)::
165 * TRANSPORT Subsystem::
166 * NAT library::
167 * Distance-Vector plugin::
168 * SMTP plugin::
169 * Bluetooth plugin::
170 * WLAN plugin::
171 * ATS Subsystem::
172 * CORE Subsystem::
173 * CADET Subsystem::
174 * NSE Subsystem::
175 * HOSTLIST Subsystem::
176 * IDENTITY Subsystem::
177 * NAMESTORE Subsystem::
178 * PEERINFO Subsystem::
179 * PEERSTORE Subsystem::
180 * SET Subsystem::
181 * STATISTICS Subsystem::
182 * Distributed Hash Table (DHT)::
183 * GNU Name System (GNS)::
184 * GNS Namecache::
185 * REVOCATION Subsystem::
186 * File-sharing (FS) Subsystem::
187 * REGEX Subsystem::
188
189 @end detailmenu
190 @end menu
191
192 @c *********************************************************************
193 @include chapters/philosophy.texi
194 @c *********************************************************************
195
196 @c WIP:
197 @c @include chapters/vocabulary.texi
198
199 @c *********************************************************************
200 @include chapters/installation.texi
201 @c *********************************************************************
202
203 @c *********************************************************************
204 @include chapters/user.texi
205 @c *********************************************************************
206
207 @c WIP:
208 @c @include chapters/configuration.texi
209
210 @include chapters/contributing.texi
211
212 @c *********************************************************************
213 @include chapters/developer.texi
214 @c For now in its own Book:
215 @c @include gnunet-c-tutorial.texi
216 @c *********************************************************************
217
218 @c *********************************************************************
219 @node GNU Free Documentation License
220 @appendix GNU Free Documentation License
221 @cindex license, GNU Free Documentation License
222 @include fdl-1.3.texi
223
224 @c *********************************************************************
225 @node GNU General Public License
226 @appendix GNU General Public License
227 @cindex license, GNU General Public License
228 @include gpl-3.0.texi
229
230 @c *********************************************************************
231 @node Concept Index
232 @unnumbered Concept Index
233 @printindex cp
234
235 @node Programming Index
236 @unnumbered Programming Index
237 @syncodeindex tp fn
238 @syncodeindex vr fn
239 @printindex fn
240
241 @bye