gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r1416 - GNUnet-docs/WWW


From: grothoff
Subject: [GNUnet-SVN] r1416 - GNUnet-docs/WWW
Date: Tue, 12 Jul 2005 12:50:16 -0700 (PDT)

Author: grothoff
Date: 2005-07-12 12:50:08 -0700 (Tue, 12 Jul 2005)
New Revision: 1416

Modified:
   GNUnet-docs/WWW/documentation.php3
   GNUnet-docs/WWW/namespace.php3
   GNUnet-docs/WWW/philosophy.php3
   GNUnet-docs/WWW/smtp.php3
   GNUnet-docs/WWW/user.php3
   GNUnet-docs/WWW/user_afs.php3
   GNUnet-docs/WWW/user_gnunet.php3
   GNUnet-docs/WWW/user_index.inc
Log:
docs

Modified: GNUnet-docs/WWW/documentation.php3
===================================================================
--- GNUnet-docs/WWW/documentation.php3  2005-07-12 19:47:16 UTC (rev 1415)
+++ GNUnet-docs/WWW/documentation.php3  2005-07-12 19:50:08 UTC (rev 1416)
@@ -1,7 +1,7 @@
 <?php
 include("scripts.php3");
 $title = "GNUnet Documentation";
-$description = "Documentation for GNUnet";
+$description = "Overview of the available documentation for GNUnet";
 include("html_header.php3");
 
 H2("Documentation");
@@ -57,9 +57,9 @@
  </li>
    <li><?php W("Special topics"); ?>
   <ol>
-   <li><?php intlink("smtp.php3","Transport performance"); ?></li>
-   <li><?php intlink("namespace.php3","Namespaces and Directories"); ?></li>
-   <li><?php intlink("encoding.php3","Content encoding"); ?></li>
+   <li><?php intlink("smtp.php3","Transport performance (outdated)"); ?></li>
+   <li><?php intlink("namespace.php3","Namespaces and Directories 
(outdated)"); ?></li>
+   <li><?php intlink("encoding.php3","Content encoding (outdated)"); ?></li>
   </ol>
 </ol>
 <?php

Modified: GNUnet-docs/WWW/namespace.php3
===================================================================
--- GNUnet-docs/WWW/namespace.php3      2005-07-12 19:47:16 UTC (rev 1415)
+++ GNUnet-docs/WWW/namespace.php3      2005-07-12 19:50:08 UTC (rev 1416)
@@ -11,6 +11,8 @@
 W("Please note that this document reflects the discussion before the actual 
implementation of namespaces and directories.");
 W("The final implementation is documented elsewhere.");
 W("Nevertheless, almost everything written here still applies.");
+W("Still, some of what is written here outdated at this point.");
+W("This page is preserved primarily for historical purposes.");
 
 EP();
 

Modified: GNUnet-docs/WWW/philosophy.php3
===================================================================
--- GNUnet-docs/WWW/philosophy.php3     2005-07-12 19:47:16 UTC (rev 1415)
+++ GNUnet-docs/WWW/philosophy.php3     2005-07-12 19:50:08 UTC (rev 1416)
@@ -30,6 +30,8 @@
 W("The foremost goal of the GNUnet project is to become a widely used, 
reliable, open, nondiscriminating, egalitarian, unfettered and 
censorship-resistant system of free information exchange.");
 W("We value free speech above state secrets, law-enforcement or intellectual 
property.");
 W("GNUnet is supposed to be an anarchistic network, where the only limitation 
for peers is that they must contribute enough back to the network such that 
their resource consumption does not have a significant impact on other users.");
+W("GNUnet should be more than just another file-sharing network.");
+W("The plan is to offer many other services and in particular to serve as a 
development platform for the next generation of decentralized Internet 
protocols.");
 EP();
 
 ANCHOR("Privacy");
@@ -43,7 +45,7 @@
 ANCHOR("Versatility");
 H4("Versatility");
 BP();
-W("We call GNUnet a network because we want to support many different forms of 
peer-to-peer applications.");
+W("We call GNUnet a peer-to-peer framework because we want to support many 
different forms of peer-to-peer applications.");
 W("GNUnet uses a plugin architecture to make the system extensible and to 
encourage code reuse.");
 W("While the first versions of the system only supported anonymous 
file-sharing, other applications are being worked on and more will hopefully 
follow in the future.");
 W("A powerful synergy regarding anonymity services is created by a large 
community utilizing many diverse applications over the same software 
infrastructure.");
@@ -96,11 +98,13 @@
 W("Almost all peer-to-peer communications in GNUnet are between mutually 
authenticated peers.");
 W("The authentication works by having each peer sign a secret session key with 
its RSA key.");
 W("Furthermore, the session key is encrypted with the public key of the other 
peer.");
-W("That session key is then used to encrypt the communication between the two 
peers using Blowfish.");
-W("As only the two participating hosts know the session key, this 
authenticates each packet without requiring signatures each time.");
+W("That session key is then used to encrypt the communication between the two 
peers using 256-bit AES.");
+W("A each peer independently generates such a session key for the data that 
this peer will transmit to the other peer.");
+W("As only the two participating hosts know the two session keys, this 
authenticates each packet without requiring signatures each time.");
+W("GNUnet uses SHA-512 hash codes to verify the integrity of messages.");
 
 P();
-W("In GNUnet, the identity of a host is the hash of its public key.");
+W("In GNUnet, the identity of a host is the (SHA-512) hash of its public 
key.");
 W("For that reason, man-in-the-middle attacks will not break the 
authentication or accounting goals.");
 W("Essentially, for GNUnet, the IP of the host does not matter.");
 W("As the public key is the only thing that truly matters, faking an IP, a 
port or any other property of the underlying transport protocol is 
irrelevant.");
@@ -108,11 +112,18 @@
 P();
 
 W("GNUnet uses a special type of message to communicate a binding between 
public (RSA) keys to their current network address.");
-W("For the UDP and TCP transport layers, a network address is an IP and a 
port.");
-W("GNUnet can also use other transport mechanisms (HTTP, SMTP, etc.) which use 
various other forms of addresses.");
-W("Note that any node can have multiple addresses at the same time for the 
various transport mechanisms.");
+W("These messages are commonly called HELOs or peer advertisements.");
+W("They contain the public key of the peer and a signature with its current 
network address for a specific transport service.");
+W("A transport service is a special kind of shared library that enables 
unreliable, out-of-order message delivery between peers.");
+W("For the UDP and TCP transport services, a network address is an IP and a 
port.");
+W("GNUnet can also use other transports (HTTP, SMTP, etc.) which use various 
other forms of addresses.");
+W("Note that any node can have many different active transport services at the 
same time, and each of these can have a different address.");
 W("Binding messages expire after at most a week (the timeout can be shorter if 
the user configures the node appropriately).");
+W("This expiration ensures that the network will eventually get rid of 
outdated advertisements.");
+W("More details can be found in %s.",
+  extlink_("download/transport.ps", "this paper"));
 
+
 EP();
 H4("Accounting to Encourage Resource Sharing");
 
@@ -142,7 +153,7 @@
 BP();
 W("Adversaries outside of GNUnet are not supposed to know what kind of actions 
a peer is involved in.");
 W("Only the specific neighbor of a peer that is the corresponding sender or 
recipient of a message may know its contents, and even then application 
protocols may place further restrictions on that knowledge.");
-W("In order to ensure confidentiality, GNUnet uses link encryption, that is 
each message exchanged between two peers is encrypted using a key only known to 
these two peers.");
+W("In order to ensure confidentiality, GNUnet uses link encryption, that is 
each message exchanged between two peers is encrypted using a pair of keys only 
known to these two peers.");
 W("Encrypting traffic like this makes any kind of traffic analysis much 
harder.");
 W("Naturally, for some applications, it may still be desirable if even 
neighbors cannot determine the concrete contents of a message.");
 W("In GNUnet, this problem is addressed by the specific application-level 
protocols (see for example, %s and %s in anonymous file sharing).",
@@ -158,11 +169,20 @@
 BP();
 W("Providing anonymity for users is the central goal for the anonymous 
file-sharing application.");
 W("Many other design decisions follow in the footsteps of this requirement.");
-//W("(Nevertheless, it is possible to forego anonymity when this is not 
required.)");
+W("Anonymity is never absolute.");
+W("While there are various %s that can help quantify the level of anonymity 
that a given mechanism provides, there is no such thing as complete anonymity.",
+  extlink_("papers/tmAnon.ps", "scientific metrics"));
+W("GNUnet allows users to select for each operation (upload, search, download) 
the desired level of anonymity.");
+W("The metric used is the amount of cover traffic available to hide the 
request.");
+W("While this metric is not as good as the theoretical metric given in %s, it 
is probably the best metric available to a peer with a purely local view of the 
world that does not rely on unreliable external information.");
+W("The default anonymity level is 1, which uses anonymous routing but imposes 
no minimal requirements on cover traffic.");
+W("It is possible to forego anonymity when this is not required.");
+W("The anonymity level of 0 allows GNUnet to use more efficient, non-anonymous 
routing.");
+EP();
 
-// some more about anonymity in general here!
-P();
+H5("How GNUnet achieves Anonymity");
 
+BP();
 W("Contrary to other designs, we do not believe that users achieve strong 
anonymity just because their requests are obfuscated by a couple of 
indirections.");
 W("This is not sufficient if the adversary uses traffic analysis.");
 W("The thread model used for anonymous file sharing in GNUnet assumes that the 
adversary is quite powerful.");
@@ -183,6 +203,8 @@
 W("As our queries must have us as the receiver of the reply (otherwise they 
would be useless), we must put ourselves as the receiver of replies that 
actually go to other hosts; in other words, we must indirect replies.");
 W("Unlike other systems, in anonymous file-sharing as implemented on top of 
GNUnet we do not have to indirect the replies if we don&rsquo;t think we need 
more traffic to hide our own actions.");
 W("This increases the efficiency of the network as we can indirect less under 
higher load.");
+W("More details can be found in %s.",
+  extlink_("download/aff.ps", "this paper"));
 
 
 EP();
@@ -199,6 +221,10 @@
 W("The reason is that queries and replies are transmitted in an encrypted 
format such that intermediaries cannot tell what the query is for or what the 
content is about.");
 W("Mind that this is not the same encryption as the link-encryption between 
the nodes.");
 W("GNUnet has encryption on the network layer (link encryption, 
confidentiality, authentication) and again on the application layer (provided 
by <tt>gnunet-insert</tt>, <tt>gnunet-download</tt>, <tt>gnunet-search</tt> and 
<tt>gnunet-gtk</tt>).");
+
+W("More details can be found in %s.",
+  extlink_("download/ecrs.ps", "this paper"));
+
 EP();
 
 

Modified: GNUnet-docs/WWW/smtp.php3
===================================================================
--- GNUnet-docs/WWW/smtp.php3   2005-07-12 19:47:16 UTC (rev 1415)
+++ GNUnet-docs/WWW/smtp.php3   2005-07-12 19:50:08 UTC (rev 1416)
@@ -9,6 +9,8 @@
 BP();
 W("This page describes the new SMTP transport service for GNUnet.");
 W("It also describes the transport layer in more detail and gives some 
benchmarking results.");
+W("The results presented are quite old and maybe outdated at this point.");
+W("This page is preserved primarily for historical purposes.");
 EP();
 echo "<ol>\n";
 LIV(extlink_("#why","Why use SMTP for a peer-to-peer transport?"));

Modified: GNUnet-docs/WWW/user.php3
===================================================================
--- GNUnet-docs/WWW/user.php3   2005-07-12 19:47:16 UTC (rev 1415)
+++ GNUnet-docs/WWW/user.php3   2005-07-12 19:50:08 UTC (rev 1416)
@@ -1,7 +1,7 @@
 <?php
 include("scripts.php3");
 $title = "GNUnet Documentation: Using GNUnet";
-$description="GNUnet Documentation - a secure peer-to-peer framework starring 
anonymous file sharing with an excess based trust-economy";
+$description="Information for users (overview)";
 include("html_header.php3");
 
 H2("End-User Documentation");
@@ -10,7 +10,6 @@
 W("This means that based on a common codebase, GNUnet will be able to run a 
diverse set of applications.");
 W("The only useful application at the moment is %s.",
   intlink_("user_afs.php3","anonymous file sharing"));
-echo ".";
 W("In order to use any GNUnet application, a user must first install the 
software, then do some basic configuration of the framework and finally 
configure the specific application itself.");
 W("The configuration of the framework involves setting up the network and the 
specification which applications should be used.");
 P();

Modified: GNUnet-docs/WWW/user_afs.php3
===================================================================
--- GNUnet-docs/WWW/user_afs.php3       2005-07-12 19:47:16 UTC (rev 1415)
+++ GNUnet-docs/WWW/user_afs.php3       2005-07-12 19:50:08 UTC (rev 1416)
@@ -1,7 +1,7 @@
 <?php
 include("scripts.php3");
-$title = "GNUnet Documentation: Using GNUnet for Anonymous File Sharing";
-$description="GNUnet Documentation - Anonymous File Sharing with GNUnet";
+$title = "GNUnet Documentation: Using GNUnet for File Sharing";
+$description="Configuring and using GNUnet for (anonymous) file sharing";
 include("html_header.php3");
 H2("Anonymous File Sharing with GNUnet");
 ?>
@@ -29,10 +29,10 @@
  LI(extlink_("#gnunetinsert","gnunet-insert"));
  LI(extlink_("#gnunetsearch","gnunet-search"));
  LI(extlink_("#gnunetdownload","gnunet-download"));
- LI(extlink_("#gnunetdelete","gnunet-delete"));
+ LI(extlink_("#gnunetunindex","gnunet-unindex"));
  LI(extlink_("#gnunetdirectory","gnunet-directory"));
  LI(extlink_("#gnunetpseudonym","gnunet-pseudonym"));
- LI(extlink_("#GUI","gnunet-gtk"));
+ LI(intlink_("gnunetgtk.php3","gnunet-gtk"));
 echo "</ul></li></ul>\n";
 
 ANCHOR("concepts"); H3("Concepts");
@@ -376,7 +376,7 @@
 P();
 W("gnunet-insert has a ton of additional options to handle namespaces and 
directories.");
 W("See the man-page for details.");
-W("If you want to remove a file that you have indexed from the local peer, use 
the tool <tt>gnunet-delete</tt> to un-index the file.");
+W("If you want to remove a file that you have indexed from the local peer, use 
the tool <tt>gnunet-unindex</tt> to un-index the file.");
 EP();
 
 HR();
@@ -451,9 +451,9 @@
 W("Use -h to get a short description of the options.");
 EP();
 
-ANCHOR("gnunetdelete");H4("gnunet-delete");
+ANCHOR("gnunetunindex");H4("gnunet-unindex");
 BP();
-W("<tt>gnunet-delete</tt> can be used to un-index files that were inserted 
into GNUnet (works only for files that were inserted locally and that are still 
present on the local drive).");
+W("<tt>gnunet-unindex</tt> can be used to un-index files that were inserted 
into GNUnet (works only for files that were inserted locally and that are still 
present on the local drive).");
 EP();
 
 ANCHOR("gnunetdirectory");H4("gnunet-directory");
@@ -521,81 +521,5 @@
 W("Furthermore, the namespace advertisement can only be published under a 
single keyword (this is purely a UI limitation).");
 EP();
 
-
-ANCHOR("GUI");H4("gnunet-gtk");
-BP();
-W("<tt>gnunet-gtk</tt> is not yet available for GNUnet 0.7.x.");
-/*
-W("<tt>gnunet-gtk</tt> is the GTK+ interface for GNUnet.");
-W("It can currently only be used to search for and download files from the 
network.");
-W("gnunet-gtk can also be used to insert files into the network.");
-W("If you want to insert lots of files, you&rsquo;re probably better of using 
%s.",
-  extlink_("#gnunetinsert","gnunet-insert"));
-P();
-W("After <tt>gnunet-gtk</tt> was started, you should see the following:");
-IMG("gtk-startup.png","GNUnet GTK startup window","CENTER",788,332);
-W("Enter the query into the input line at the bottom and click on search.");
-W("A register card will open in the main window.");
-W("In that card, search results obtained from the network will be listed once 
they arrive.");
-W("<tt>gnunet-gtk</tt> will keep searching for the query until you close that 
card.");
-W("No duplicate results will be displayed.");
-
-IMG("gtk-search.png", "This window displays the search results", "CENTER", 
788, 332);
-
-W("You can enter additional queries or select a file to download from the 
list.");
-W("The size of the file is displayed in bytes.");
-W("Mind that the description was supplied by the user inserting the file and 
may not be accurate.");
-W("After you click on the download button, the entry selected will be removed 
from the results list and a dialog will prompt you for the filename that you 
want to give to the file.");
-W("If you choose an existing file, that file will be overwritten without any 
warnings.");
-W("If the existing file contains the same data (even in parts) as the file 
that you are trying to download, those parts will not be downloaded again.");
-W("You can use this feature to continue downloads that were incomplete.");
-W("After you gave a filename, click on <i>ok</i>.");
-W("The dialog will disappear and <tt>gnunet-gtk</tt> will start the 
download.");
-W("The download overview window shows the progress for each download:");
-
-IMG("gtk-downloads.png", "download progress", "CENTER", 788, 332);
-
-W("You can abort downloads by selecting them in this window and clicking on 
&quot;Remove selected entries&quot;.");
-W("This will leave the parts of the file that were already downloaded on the 
drive.");
-W("Closing the download list does not affect the downloads, they will continue 
in the background.");
-W("But note that exiting <tt>gnunet-gtk</tt> will implicitly abort all 
downloads.");
-W("Be advised that the download usually starts very slowly, then speeds up, 
and eventually declines a bit again at the end.");
-W("This is perfectly normal.");
-W("Go get a coffee while doing the download -- or do a couple in parallel.");
-W("GNUnet uses a lot more time (but not that much more bandwidth) because it 
delays processing to make traffic analysis hard.");
-W("Even downloading a file from your local harddrive (that you inserted 
yourself) can take a couple of minutes!");
-W("The good news is that the delays currently experienced are likely to become 
smaller whenever the traffic on GNUnet increases.");
-W("This is one of the reasons why the download is fastest in the middle of the 
process.");
-P();
-W("In order to insert a file, use the <tt>File</tt> menu.");
-W("A dialog will pop up and prompt you to choose the file to insert:");
-IMG("gtk-insert.png", "choose file to insert", "CENTER",451,415);
-P();
-W("Select the file and press <tt>ok</tt>.");
-W("Next you will have to provide a description and keywords and choose if you 
want to <tt>index</tt> or <tt>insert</tt> the file (choose index if the file 
will not be moved or deleted to safe space):");
-IMG("gtk-insert2.png", "choose file to insert", "CENTER",408, 428);
-P();
-IMG("gtk-insert3.png", "adding keywords", "CENTER",408,428);
-P();
-W("Finally, press ok and watch GNUnet making the file available:");
-IMG("gtk-inserting.png", "insertion in progress", "CENTER", 178, 73);
-P();
-W("You can search, insert and download in parallel:");
-IMG("gtk-bigshot.png", "The big picture.", "CENTER", 599, 427);
-
-W("<tt>gnunet-gtk</tt> also allows you to handle directories.");
-W("Downloading a directory automatically opens the contents of the directory 
in a new frame in the notebook.");
-W("You can create and insert a new directory from the known FIs in the FI 
database using <tt>advanced-assemble directory</tt>.");
-IMG("gtk-assemble-directory.png", "assemble a directory", "CENTER", 628, 508);
-P();
-W("Pseudonyms, the public-private key pair that allows publishing documents in 
a namespace can also be managed with <tt>gnunet-gtk</tt>.");
-W("The functionality provided is equivalent to <tt>gnunet-pseudonym</tt>.");
-W("Once a pseudonym has been created, files and directories can be placed in 
the namespace defined by the pseudonym.");
-IMG("gnunet-gtk-namespace.png", "Inserting into a namespace.", "CENTER", 788, 
608);
-W("<tt>gnunet-gtk</tt> also offers the option to search a given namespace.");
-W("Just as <tt>gnunet-pseudonym</tt> can print a list of all known namespace 
advertisements, the namespace search in <tt>gnunet-gtk</tt> offers access to 
the list of advertised namespaces and the respective meta-data.");
-IMG("gnunet-namespace-search.png", "Searching a namespace.", "CENTER", 658, 
348);
-EP();
-*/
 include("html_footer.php3");
-?>
+?>
\ No newline at end of file

Modified: GNUnet-docs/WWW/user_gnunet.php3
===================================================================
--- GNUnet-docs/WWW/user_gnunet.php3    2005-07-12 19:47:16 UTC (rev 1415)
+++ GNUnet-docs/WWW/user_gnunet.php3    2005-07-12 19:50:08 UTC (rev 1416)
@@ -1,7 +1,7 @@
 <?php
 include("scripts.php3");
-$title = "GNUnet Documentation: GNUnet core";
-$description="GNUnet Documentation - a secure peer-to-peer framework starring 
anonymous file sharing with an excess based trust-economy";
+$title = "GNUnet Documentation: GNUnet core setup";
+$description="How to configure the GNUnet peer-to-peer framework (excluding 
GNUnet applications)";
 include("html_header.php3");
 H2("GNUnet Documentation: GNUnet core");
 ?>
@@ -23,58 +23,88 @@
 W("First, in addition to the %s you must download the latest version of %s and 
install that library.",
   ARRAY(intlink_("download.php3", "GNUnet sources"),
        extlink_("/libextractor/", "libextractor")));
-W("Libextractor requires glib (also required for GNUnet) and zlib (compression 
library, highly likely that you already have it).");
+W("libextractor has itself various mandatory and optional dependencies.");
+W("Please check the dependency list, both GNUnet and libextractor contain a 
file README.debian that lists the current package dependencies for Debian.");
+W("There maybe files for other distributions, or you might be able to find 
equivalent packages for your distribution.");
 W("Installing libextractor should be as simple as:");
 EP();
-PRE("# ./configure --prefix=\$HOME\n" .
-    "# make\n" .
+PRE("$ ./configure --prefix=\$HOME\n" .
+    "$ make\n" .
     "# make install\n");
 BP();
-W("For GNUnet, you should install gtk+ and either mysql or sqlite.");
+W("For GNUnet, you should again check the dependency list.");
 W("Now compile and install GNUnet using:");
 EP();
-PRE("# ./configure --prefix=\$HOME --with-extractor=\$HOME\n" .
-    "# make\n" .
+PRE("$ ./configure --prefix=\$HOME --with-extractor=\$HOME\n" .
+    "$ make\n" .
     "# make install\n");
 BP();
-W("Now test the installation using");
+
+W("Finally, you probably want to compile <tt>gnunet-gtk</tt>:");
 EP();
+PRE("$ ./configure --prefix=\$HOME --with-extractor=\$HOME 
--with-gnunet=\$HOME\n" .
+    "$ make\n" .
+    "# make install\n");
+BP();
+W("If you are updating from a version from the 0.7.x series, you should (after 
stopping gnunetd) run:");
+EP();
+PRE("# gnunet-update\n");
+BP();
+W("This should trigger all necessary changes.");
+W("If you are updating from a version before 0.7.0pre2, you must delete your 
old GNUnet directories.");
+W("Note that you will also have to run <tt>gnunet-update</tt> after certain 
changes to the <tt>gnunetd.conf</tt> configuration file.");
+W("<tt>gnunetd</tt> will immediately exit with an error message if 
<tt>gnunet-update</tt> must be run.");
+
+P();
+
+W("If you are using GNUnet for the first time (or if you deleted all of your 
old files) you will probably want to run <tt>gnunet-setup</tt> at this point.");
+W("The setup tool supports various styles of user interfaces.");
+W("Invoke <tt>gnunet-setup</tt> without arguments to see the various styles 
supported on your platform.");
+W("Using one of the wizards should allow a quick initial configuration.");
+
+P();
+
+W("After finishing the configuration with <tt>gnunet-setup</tt>, you can test 
the installation using");
+EP();
 PRE("# gnunet-transport-check\n");
+PRE("# gnunet-transport-check -p\n");
 BP();
-W("As a side-effect, this will generate the configuration file 
<tt>/etc/gnunet.conf</tt>.");
-W("If the test fails, you should edit the file to configure your network.");
-W("If you are using the mysql database, edit the configuration from the 
default (sqlite) to mysql.");
-W("After changing the configuration, you should always run 
<tt>gnunet-update</tt> to allow GNUnet to perform necessary internal updates.");
+W("The first command tests your local transports (basics), the second one 
connectivity to the rest of the peer-to-peer network (ping).");
+W("If the test fails (i.e. <tt>gnunet-transport-check -p</tt> reports being 
able to connect to 0 peers), you should revisit your configuration, in 
particular your network setup.");
+W("Again, after changing the configuration, you should always run 
<tt>gnunet-update</tt> to allow GNUnet to perform necessary internal updates.");
+W("Note that it is <tt>normal</tt> for the NAT transport to be reported as 
not-working in some configurations.");
 W("Once configuration is complete and <tt>gnunet-update</tt> is done, start 
the server using:");
 EP();
 PRE("# gnunetd -d\n");
 BP();
 W("The &quot;-d&quot; option causes <tt>gnunetd</tt> to print all errors to 
the console and prevents <tt>gnunetd</tt> from detaching from the console.");
-W("If you get no error messages, press &quot;CTRL-C&quot; to abort 
<tt>gnunetd</tt> and restart it without the &quot;-d&quot; option.");
-W("Without the option, <tt>gnunetd</tt> will detach from the terminal and 
write errors into the logfile.");
-P();
 
 W("If you get any errors, you may have to edit the configuration file.");
-W("Likely problems are the network configuration (see below) and problems with 
the database used by the anonymous file sharing application (see %s)",
-  intlink_("user_afs.php3",
-          "Configuration and Usage of the Anonymous File Sharing 
Application"));
+W("Some errors maybe related to the specific applications that are being used, 
so consult the documentation there.");
 W("Use the log-files and the tools described below to diagnose problems.");
 W("You may also want to increase the verbosity of the logging using the 
parameter &quot;-L DEBUG&quot;.");
 W("Read the man pages for additional information about command line options.");
 P();
+W("Once everything works and you get no error messages, press 
&quot;CTRL-C&quot; to abort <tt>gnunetd</tt> and restart it without the 
&quot;-d&quot; option.");
+W("Without the option, <tt>gnunetd</tt> will detach from the terminal and 
write errors into the logfile.");
+P();
+W("If you want to automatically start GNUnet each time your machine boots 
<tt>contrib/initgnunet</tt> contains an example script to start the server as 
user <em>gnunet</em> with a configuation in <tt>/etc/gnunet.conf</tt>.");
+W("If you installed a binary package, the installer probably already put the 
start-script into &quot;/etc/init.d/gnunetd&quot; or the appropriate location 
for your system.");
+W("Still, even in that case, you may have to activate the script.");
 
-W("GNUnet typically requires the configuration of three basic layers.");
+EP();
+
+H3("General notes about the configuration");
+BP();
+
+W("GNUnet typically requires the configuration of four basic layers.");
 w("On the lowest layer, you need to configure the transport services that 
allow GNUnet to communicate with other peers.");
 W("A simple example is the specification of the port number used by a TCP or 
UDP transport.");
 
 W("The GNUnet core needs to know certain resource limitations, such as CPU 
load and bandwidth usage.");
 W("Both the configuration of the transport services and the GNUnet core are 
described below.");
-W("Finally, the applications run on top of GNUnet may also require some 
configuration.");
-P();
-
-W("If you want to automatically start GNUnet each time your machine boots 
<tt>contrib/initgnunet</tt> contains an example script to start the server as 
user <em>gnunet</em> with a configuation in <tt>/etc/gnunet.conf</tt>.");
-W("If you installed a binary package, the installer probably already put the 
start-script into &quot;/etc/init.d/gnunetd&quot; or the appropriate location 
for your system.");
-W("Still, even in that case, you may have to activate the script.");
+W("Additionally, the applications run on top of GNUnet may also require some 
configuration.");
+W("Finally, the user interface(s) that are used to interact with 
<tt>gnunetd</tt> are configured in a per-user configuration file.");
 EP();
 
 HR();
@@ -87,10 +117,13 @@
 W("When a required configuration file is not present on startup, any GNUnet 
tool will attempt to create one by dumping a copy of the respective default 
configuration file to that location.");
 W("The option <tt>-c</tt> can be used for any GNUnet tool to specify an 
alternative location for the configuration file.");
 W("GNUnet uses two different configuration files (with the same syntax but 
different options), one for the server (<tt>gnunetd</tt>) and another one for 
all of the clients.");
-W("The rationale is that typcially the system administratr will setup 
<tt>gnunetd</tt> while ordinary users are executing the clients.");
-W("The default location for the configuration of <tt>gnunetd</tt> is 
<tt>/etc/gnunet.conf</tt>.");
+W("The rationale is that typcially the system administrator will setup 
<tt>gnunetd</tt> while ordinary users are executing the clients.");
+P();
+W("The default location for the configuration of <tt>gnunetd</tt> is 
<tt>/etc/gnunetd.conf</tt>.");
+W("If <tt>gnunetd</tt> is run as an ordinary user and cannot access a 
configuration in <tt>/etc/gnunetd.conf</tt> it will automatically fall back to 
<tt>\$HOME/.gnunet/gnunetd.conf</tt>.");
 W("A few tools that help setup and diagnose the daemon (like 
<tt>gnunet-transport-check</tt>) also use this configuration file.");
 W("A template for this configuration is in <tt>contrib/gnunet.root</tt>.");
+P();
 W("The GNUnet clients (like <tt>gnunet-insert</tt> or <tt>gnunet-gtk</tt>) use 
a different configuration file.");
 W("All GNUnet clients expect this file to reside by default in 
<tt>\$HOME/.gnunet/gnunet.conf</tt>.");
 W("A template for this file is in <tt>contrib/gnunet.user</tt>.");
@@ -344,19 +377,15 @@
 
 BP();
 W("In this directory GNUnet stores the key and last known Internet address of 
each known GNUnet node.");
-W("Each file is about 550 bytes long (different transport protocols may have 
different address sizes).");
-W("A %s of GNUnet hosts can be obtained from the GNUnet webpage.",
- extlink_("download/hosts.tar.gz", "list"));
-W("On startup, GNUnet downloads a list of initial hosts from 
<tt>http://ovmj.org/GNUnet/download/hostlist</tt>.");
-W("This list is generated using");
+W("Each file is about 600 bytes long (different transport protocols may have 
different address sizes).");
+W("On startup, GNUnet downloads a list of initial hosts from the specified 
<tt>HOSTLISTURL</tt>.");
+W("The files listed in the <tt>HOSTLISTURL</tt> are generated using:");
 EP();
-PRE("# cat ~/.gnunet/data/hosts/* > hostlist");
-
+PRE("$ cat /var/lib/GNUnet/data/hosts/* > hostlist");
 BP();
-W("Alternative hostlist servers can be used by modifying 
<tt>gnunet.conf</tt>.");
-
+W("Running the command above and offering the generated <tt>hostlist</tt> file 
on a webserver is all it takes to run your own hostlist server.");
+W("<tt>gnunetd</tt> will try to download peer advertisements from a (random) 
server specified in the <tt>HOSTLISTURL</tt> only if too few peers are 
connected for a longer period of time.");
 P();
-
 W("Once connected, GNUnet hosts exchange information about other hosts 
automatically.");
 W("Thus except for the initial connection, there should be no pressing need to 
obtain a new list (except if a node was offline for a long time and the old 
list aged so much that it became useless).");
 W("If hosts cannot be reached and the time that the key has been signed to be 
valid by the sender has expired, GNUnet deletes their identities from 
<tt>data/hosts/</tt>.");
@@ -366,20 +395,22 @@
 ANCHOR("gnunet.conf.hostlisturl");H4("GNUNETD: HOSTLISTURL");
 
 BP();
-W("Whenever gnunetd needs to learn about an initial set of peers that it can 
connect to, it downloads a list of initial nodes to connect to via http.");
+W("Whenever <tt>gnunetd</tt> needs to learn about an initial set of peers that 
it can connect to, it downloads a list of initial nodes to connect to via 
http.");
 W("The URL to use is specified here.");
+W("Multiple URLs can be specified separated by spaces.");
 
 EP();
 ANCHOR("gnunet.conf.applications");H4("GNUNETD: APPLICATIONS");
 
 BP();
-W("Which applications should gnunetd support?");
+W("Which applications should <tt>gnunetd</tt> support?");
 W("Specify the name of the dynamic shared object (DSO) that implements the 
service in the gnunetd core here.");
 W("Multiple DSOs can be specified, separated by spaces.");
-W("You should always specify &quot;advertising getoption topology&quot; since 
these are rather fundamental applications.");
+W("You should always specify &quot;advertising getoption&quot; since these are 
rather fundamental applications.");
 W("Add &quot;stats&quot; in order to be able to obtain statistics using 
<tt>gnunet-stats</tt>.");
+W("Add &quot;traffic&quot; to see statistics about traffic (also used by 
anonymous file sharing for cover traffic estimates).");
 W("Further additions depend on which specific applications you want to use.");
-W("Possible choices are &quot;%s chat tbench tracekit&quot;.",
+W("Possible choices include &quot;%s chat tbench tracekit&quot;.",
   intlink_("user_afs.php3","fs"));
 
 EP();
@@ -387,19 +418,21 @@
 
 BP();
 W("Which transport services should be used?");
-W("Use space-separated list of the modules, for example  &quot;udp smtp 
tcp&quot;.");
+W("Use space-separated list of the modules, for example  &quot;udp smtp tcp 
nat&quot;.");
 W("If you want to use SMTP, please read the %s for details.",
   intlink_("smtp.php3","SMTP documentation"));
 
 P();
-W("The <tt>contrib/</tt> directory contains a %s for the configuration that 
should be self-explanatory.",
-  extlink_("gnunet.conf","template"));
+W("The <tt>gnunet-setup</tt> tool also contains help texts for the various 
options.");
 
 EP();
 HR();
 
 ANCHOR("clientoptions"); H3("Client options");
 
+W("These are options that should be specified in the per-user 
<tt>gnunet.conf</tt> configuration files.");
+W("They apply to the various user interfaces for GNUnet.");
+
 ANCHOR("gnunet.conf.host");
 H4("NETWORK: HOST");
 
@@ -466,24 +499,13 @@
 H4("gnunet-peer-info");
 
 BP();
-W("The <tt>gnunet-peer-info</tt> tool displays the internet addresses and the 
identities of all GNUnet peers that the local peer is aware of.");
+W("The <tt>gnunet-peer-info</tt> tool displays the identities, trust earned 
and Internet addresses of all GNUnet peers that the local peer is aware of.");
 W("The output looks like this:");
 EP();
 
 PRE("$ gnunet-peer-info\n" .
-    "F149393582FDEF31BB745ACD7AE21D9B65CFAC09 at address 121.49.31.144:2086 
(TCP)\n" .
-    "B58DC6FC400042A54CDD830C403216C3BCDC9DDC at address 92.57.67.117:2086 
(TCP)\n" .
-    "2F7A9C9A4D62E128EDD5D444346F129F9916CAC8 at address 10.54.15.110:2086 
(TCP)\n" .
-    "1BA51B8DFC0D3B055D3ACB237CA162BD770E46C9 at address 31.272.130.13:2086 
(TCP)\n" .
-    "FC9DEC9C16919AA31B1085C6DA14EF04A0B91CB5 at address 47.7.61.33:2086 
(TCP)\n" .
-    "A825E479D9B0A955AC401BEEA3D5CA7BE92B78D1 at address 101.182.95.42:2086 
(TCP)\n" .
-    "7DC4C7B9C295ADD8D15FC5253457F53DAC20D0E1 at address 221.13.9.90:2086 
(TCP)\n" .
-    "3507BFAFFD3C05BA13F512C78456C4D3035E6948 at address 164.175.1.19:2086 
(TCP)\n" .
-    "CB6DB904F1C519D30317470193B701D014703004 at address 124.15.21.31:2086 
(TCP)\n" .
-    "9CB8D759542525AE7E06ADD8239150325B81DEB9 at address 107.117.351.44:2086 
(TCP)\n" .
-    "087C52178DEAE7502983AA174D9FEE373608C7FE at address 95.15.1.71:2086 
(TCP)\n" .
-    "42F91CAB229B3119F80A0D447A12FE867B60895F at address 23.99.191.24:2086 
(TCP)\n" .
-    "8E846CAA7B75C1F88D3ADF94FCC89D6C8C95E1FF at address 85.42.211.167:2086 
(TCP)\n");
+    "Peer 'CJ4J...' with trust 31 and address '31.79.24.1:2086 (TCP)'\n"
+    "Peer 'FA65...' with trust  0 and address '80.16.46.2:2086 (UDP)'");
 
 ANCHOR("stats");H4("gnunet-stats");
 
@@ -491,7 +513,7 @@
 W("<tt>gnunet-stats</tt> is a little tool that displays statistics.");
 W("Unlike the other core tools, it uses the client configuration and only 
works if <tt>gnunetd</tt> is already running.");
 W("<tt>gnunet-stats</tt> also only works if the <tt>stats</tt> module is 
loaded as an application.");
-W("The numbers are for the current gnunetd process only.");
+W("The numbers are for the current <tt>gnunetd</tt> process only.");
 W("The output looks similar to the following example, but depends on which 
modules you have loaded and what your node has been doing so far.");
 EP();
 

Modified: GNUnet-docs/WWW/user_index.inc
===================================================================
--- GNUnet-docs/WWW/user_index.inc      2005-07-12 19:47:16 UTC (rev 1415)
+++ GNUnet-docs/WWW/user_index.inc      2005-07-12 19:50:08 UTC (rev 1416)
@@ -1,8 +1,8 @@
 <ol>
  <li><?php intlink("user_gnunet.php3","Compilation and Configuration of 
GNUnet"); ?></li>
  <li><?php intlink("user_afs.php3","Configuration and Usage of GNUnet&rsquo;s 
Anonymous file sharing"); ?></li>
- <li><?php intlink("user_chat.php3","Broadcast chat"); ?></li>
+ <!-- li><?php intlink("user_chat.php3","Broadcast chat"); ?></li -->
   <!-- li><?php intlink("user_tbench.php3","Measureing the transport 
performance"); ?></li -->
   <!-- li><?php intlink("user_tracekit.php3","Tracing the GNUnet topology"); 
?></li -->
- <li><?php intlink("user_testbed.php3","Deploying a GNUnet P2P testbed"); 
?></li>
+ <!-- li><?php intlink("user_testbed.php3","Deploying a GNUnet P2P testbed"); 
?></li -->
 </ol>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]