aboutsummaryrefslogtreecommitdiff
path: root/doc/documentation/chapters/user.texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/documentation/chapters/user.texi')
-rw-r--r--doc/documentation/chapters/user.texi89
1 files changed, 55 insertions, 34 deletions
diff --git a/doc/documentation/chapters/user.texi b/doc/documentation/chapters/user.texi
index fe47abb86..72b95d16f 100644
--- a/doc/documentation/chapters/user.texi
+++ b/doc/documentation/chapters/user.texi
@@ -43,6 +43,7 @@ To stop GNUnet:
43@example 43@example
44$ gnunet-arm -e 44$ gnunet-arm -e
45@end example 45@end example
46
46@node First steps - Using the GNU Name System 47@node First steps - Using the GNU Name System
47@section First steps - Using the GNU Name System 48@section First steps - Using the GNU Name System
48@c %**end of header 49@c %**end of header
@@ -246,7 +247,7 @@ more an experimental feature and not really our primary goal at this
246time. Still, it is a possible use-case and we welcome help with testing 247time. Still, it is a possible use-case and we welcome help with testing
247and development. 248and development.
248 249
249 250@pindex gnunet-bcd
250@node Creating a Business Card 251@node Creating a Business Card
251@subsection Creating a Business Card 252@subsection Creating a Business Card
252@c FIXME: Which parts of texlive are needed? Some systems offer a modular 253@c FIXME: Which parts of texlive are needed? Some systems offer a modular
@@ -257,7 +258,9 @@ Note that this requires having @command{LaTeX} installed on your system.
257If you are using a Debian GNU/Linux based operating system, the 258If you are using a Debian GNU/Linux based operating system, the
258following command should install the required components. 259following command should install the required components.
259Keep in mind that this @b{requires 3GB} of downloaded data and possibly 260Keep in mind that this @b{requires 3GB} of downloaded data and possibly
260@b{even more} when unpacked. 261@b{even more}@footnote{Author's note:
262@command{guix size `guix build texlive`} in summer 2018 returns a DAG
263size of 5032.4 MiB} when unpacked.
261@b{We welcome any help in identifying the required components of the 264@b{We welcome any help in identifying the required components of the
262TexLive Distribution. This way we could just state the required components 265TexLive Distribution. This way we could just state the required components
263without pulling in the full distribution of TexLive.} 266without pulling in the full distribution of TexLive.}
@@ -312,12 +315,14 @@ you might need a trip to the store together.
312Before we get started, we need to tell @code{gnunet-qr} which zone 315Before we get started, we need to tell @code{gnunet-qr} which zone
313it should import new records into. For this, run: 316it should import new records into. For this, run:
314 317
318@pindex gnunet-identity
315@example 319@example
316$ gnunet-identity -s namestore -e NAME 320$ gnunet-identity -s namestore -e NAME
317@end example 321@end example
318where NAME is the name of the zone you want to import records 322where NAME is the name of the zone you want to import records
319into. In our running example, this would be ``gnu''. 323into. In our running example, this would be ``gnu''.
320 324
325@pindex gnunet-qr
321Henceforth, for every business card you collect, simply run: 326Henceforth, for every business card you collect, simply run:
322@example 327@example
323$ gnunet-qr 328$ gnunet-qr
@@ -335,6 +340,7 @@ GNUnet network at this time, you should thus be able to
335resolve your friends names. Suppose your friend's nickname 340resolve your friends names. Suppose your friend's nickname
336is "Bob". Then, type 341is "Bob". Then, type
337 342
343@pindex gnunet-gns
338@example 344@example
339$ gnunet-gns -u test.bob.gnu 345$ gnunet-gns -u test.bob.gnu
340@end example 346@end example
@@ -381,6 +387,7 @@ a revocation certificate corresponding to your ego. This certificate,
381when published on the P2P network, flags your private key as invalid, 387when published on the P2P network, flags your private key as invalid,
382and all further resolutions or other checks involving the key will fail. 388and all further resolutions or other checks involving the key will fail.
383 389
390@pindex gnunet-revocation
384A revocation certificate is thus a useful tool when things go out of 391A revocation certificate is thus a useful tool when things go out of
385control, but at the same time it should be stored securely. 392control, but at the same time it should be stored securely.
386Generation of the revocation certificate for a zone can be done through 393Generation of the revocation certificate for a zone can be done through
@@ -433,6 +440,7 @@ private conversation with your friend. Finally, help us
433with the next GNUnet release for even more applications 440with the next GNUnet release for even more applications
434using this new public key infrastructure. 441using this new public key infrastructure.
435 442
443@pindex gnunet-conservation-gtk
436@node First steps - Using GNUnet Conversation 444@node First steps - Using GNUnet Conversation
437@section First steps - Using GNUnet Conversation 445@section First steps - Using GNUnet Conversation
438@c %**end of header 446@c %**end of header
@@ -485,6 +493,7 @@ that will show up when you call somebody else, as well as the
485GNS zone that will be used to resolve names of users that you 493GNS zone that will be used to resolve names of users that you
486are calling. Run 494are calling. Run
487 495
496@pindex gnunet-conversation
488@example 497@example
489gnunet-conversation -e zone-name 498gnunet-conversation -e zone-name
490@end example 499@end example
@@ -564,7 +573,7 @@ Either of you can end the call using @command{/cancel}. You can exit
564 573
565@menu 574@menu
566* VPN Preliminaries:: 575* VPN Preliminaries::
567* Exit configuration:: 576* GNUNet-Exit configuration::
568* GNS configuration:: 577* GNS configuration::
569* Accessing the service:: 578* Accessing the service::
570* Using a Browser:: 579* Using a Browser::
@@ -595,6 +604,9 @@ The exact details may differ a bit, which is fine. Add the text
595hosts: files gns [NOTFOUND=return] mdns4_minimal [NOTFOUND=return] dns mdns4 604hosts: files gns [NOTFOUND=return] mdns4_minimal [NOTFOUND=return] dns mdns4
596@end example 605@end example
597 606
607@c TODO: outdated section, we no longer install this as part of the
608@c TODO: standard installation procedure and should point out the manual
609@c TODO: steps required to make it useful.
598@noindent 610@noindent
599You might want to make sure that @code{/lib/libnss_gns.so.2} exists on 611You might want to make sure that @code{/lib/libnss_gns.so.2} exists on
600your system, it should have been created during the installation. 612your system, it should have been created during the installation.
@@ -608,8 +620,8 @@ $ cd src/gns/nss; sudo make install
608@noindent 620@noindent
609to install the NSS plugins in the proper location. 621to install the NSS plugins in the proper location.
610 622
611@node Exit configuration 623@node GNUnet-Exit configuration
612@subsection Exit configuration 624@subsection GNUnet-Exit configuration
613@c %**end of header 625@c %**end of header
614 626
615Stop your peer (as user @code{gnunet}, run @command{gnunet-arm -e}) and 627Stop your peer (as user @code{gnunet}, run @command{gnunet-arm -e}) and
@@ -696,9 +708,10 @@ the searcher/downloader specify "no anonymity", non-anonymous
696file-sharing is used. If either user specifies some desired degree 708file-sharing is used. If either user specifies some desired degree
697of anonymity, anonymous file-sharing will be used. 709of anonymity, anonymous file-sharing will be used.
698 710
699After a short introduction, we will first look at the various concepts in 711After a short introduction, we will first look at the various concepts
700GNUnet's file-sharing implementation. Then, we will discuss specifics as to how 712in GNUnet's file-sharing implementation. Then, we will discuss
701they impact users that publish, search or download files. 713specifics as to how they impact users that publish, search or download
714files.
702 715
703 716
704@menu 717@menu
@@ -724,10 +737,11 @@ $ gnunet-search [-t TIMEOUT] KEYWORD
724@end example 737@end example
725 738
726@noindent 739@noindent
727The -t option specifies that the query should timeout after 740The @command{-t} option specifies that the query should timeout after
728approximately TIMEOUT seconds. A value of zero is interpreted 741approximately TIMEOUT seconds. A value of zero (``0'') is interpreted
729as @emph{no timeout}, which is also the default. In this case, 742as @emph{no timeout}, which is the default. In this case,
730gnunet-search will never terminate (unless you press CTRL-C). 743@command{gnunet-search} will never terminate (unless you press
744@command{CTRL-C}).
731 745
732If multiple words are passed as keywords, they will all be 746If multiple words are passed as keywords, they will all be
733considered optional. Prefix keywords with a "+" to make them mandatory. 747considered optional. Prefix keywords with a "+" to make them mandatory.
@@ -750,10 +764,11 @@ as the first will match files shared under the keywords
750"Das" or "Kapital" whereas the second will match files 764"Das" or "Kapital" whereas the second will match files
751shared under the keyword "Das Kapital". 765shared under the keyword "Das Kapital".
752 766
753Search results are printed by gnunet-search like this: 767Search results are printed by @command{gnunet-search} like this:
754 768
755@c it will be better the avoid the ellipsis altogether because I don't 769@c it will be better the avoid the ellipsis altogether because I don't
756@c understand the explanation below that 770@c understand the explanation below that
771@c ng0: who is ``I'' and what was the complete sentence?
757@example 772@example
758#15: 773#15:
759gnunet-download -o "COPYING" gnunet://fs/chk/PGK8M...3EK130.75446 774gnunet-download -o "COPYING" gnunet://fs/chk/PGK8M...3EK130.75446
@@ -762,10 +777,11 @@ gnunet-download -o "COPYING" gnunet://fs/chk/PGK8M...3EK130.75446
762 777
763@noindent 778@noindent
764The whole line is the command you would have to enter to download 779The whole line is the command you would have to enter to download
765the file. The argument passed to @code{-o} is the suggested 780the file. The first argument passed to @code{-o} is the suggested
766filename (you may change it to whatever you like). 781filename (you may change it to whatever you like).
767It is followed by the key for decrypting the file, the query for searching the 782It is followed by the key for decrypting the file, the query for
768file, a checksum (in hexadecimal) finally the size of the file in bytes. 783searching the file, a checksum (in hexadecimal) finally the size of
784the file in bytes.
769 785
770@node fs-Downloading 786@node fs-Downloading
771@subsection Downloading 787@subsection Downloading
@@ -802,9 +818,9 @@ already present.
802GNUnet's file-encoding mechanism will ensure file integrity, even if the 818GNUnet's file-encoding mechanism will ensure file integrity, even if the
803existing file was not downloaded from GNUnet in the first place. 819existing file was not downloaded from GNUnet in the first place.
804 820
805You may want to use the @command{-V} switch to turn on verbose reporting. In 821You may want to use the @command{-V} switch to turn on verbose
806this case, @command{gnunet-download} will print the current number of bytes 822reporting. In this case, @command{gnunet-download} will print the
807downloaded whenever new data was received. 823current number of bytes downloaded whenever new data was received.
808 824
809@node fs-Publishing 825@node fs-Publishing
810@subsection Publishing 826@subsection Publishing
@@ -845,10 +861,14 @@ list by running @command{extract -L}. Use quotes around the entire
845meta-data argument if the value contains spaces. The meta-data 861meta-data argument if the value contains spaces. The meta-data
846is displayed to other users when they select which files to 862is displayed to other users when they select which files to
847download. The meta-data and the keywords are optional and 863download. The meta-data and the keywords are optional and
848maybe inferred using @code{GNU libextractor}. 864may be inferred using @code{GNU libextractor}.
865
866@command{gnunet-publish} has a few additional options to handle
867namespaces and directories. Refer to the man-page for details:
849 868
850gnunet-publish has a few additional options to handle namespaces and 869@example
851directories. See the man-page for details. 870man gnunet-publish
871@end example
852 872
853@node Indexing vs. Inserting 873@node Indexing vs. Inserting
854@subsubsection Indexing vs Inserting 874@subsubsection Indexing vs Inserting
@@ -1528,11 +1548,11 @@ record you want to access).
1528@subsection Using Public Keys as Top Level Domains 1548@subsection Using Public Keys as Top Level Domains
1529 1549
1530 1550
1531GNS also assumes responsibility for any name that uses in a well-formed 1551GNS also assumes responsibility for any name that uses in a
1532public key for the TLD. Names ending this way are then resolved by querying 1552well-formed public key for the TLD. Names ending this way are then
1533the respective zone. Such public key TLDs are expected to be used under rare 1553resolved by querying the respective zone. Such public key TLDs are
1534circumstances where globally unique names are required, and for 1554expected to be used under rare circumstances where globally unique
1535integration with legacy systems. 1555names are required, and for integration with legacy systems.
1536 1556
1537@node Resource Records in GNS 1557@node Resource Records in GNS
1538@subsection Resource Records in GNS 1558@subsection Resource Records in GNS
@@ -1574,13 +1594,14 @@ GNS currently supports the following record types:
1574@node NICK 1594@node NICK
1575@subsubsection NICK 1595@subsubsection NICK
1576 1596
1577A NICK record is used to give a zone a name. With a NICK record, you can 1597A NICK record is used to give a zone a name. With a NICK record, you
1578essentially specify how you would like to be called. GNS expects this 1598can essentially specify how you would like to be called. GNS expects
1579record under the empty label ``@@'' in the zone's database (NAMESTORE); however, 1599this record under the empty label ``@@'' in the zone's database
1580it will then automatically be copied into each record set, so that 1600(NAMESTORE); however, it will then automatically be copied into each
1581clients never need to do a separate lookup to discover the NICK record. 1601record set, so that clients never need to do a separate lookup to
1582Also, users do not usually have to worry about setting the NICK record: 1602discover the NICK record. Also, users do not usually have to worry
1583it is automatically set to the local name of the TLD. 1603about setting the NICK record: it is automatically set to the local
1604name of the TLD.
1584 1605
1585@b{Example}@ 1606@b{Example}@
1586 1607