123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- .\" This file is part of GNUnet.
- .\" Copyright (C) 2001-2019 GNUnet e.V.
- .\"
- .\" Permission is granted to copy, distribute and/or modify this document
- .\" under the terms of the GNU Free Documentation License, Version 1.3 or
- .\" any later version published by the Free Software Foundation; with no
- .\" Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
- .\" copy of the license is included in the file
- .\" FDL-1.3.
- .\"
- .\" A copy of the license is also available from the Free Software
- .\" Foundation Web site at http://www.gnu.org/licenses/fdl.html}.
- .\"
- .\" Alternately, this document is also available under the General
- .\" Public License, version 3 or later, as published by the Free Software
- .\" Foundation. A copy of the license is included in the file
- .\" GPL3.
- .\"
- .\" A copy of the license is also available from the Free Software
- .\" Foundation Web site at http://www.gnu.org/licenses/gpl.html
- .\"
- .\" SPDX-License-Identifier: GPL3.0-or-later OR FDL1.3-or-later
- .\"
- .Dd January 31, 2016
- .Dt GNUNET-DOWNLOAD 1
- .Os
- .Sh NAME
- .Nm gnunet-download
- .Nd a command line interface for downloading files from GNUnet
- .Sh SYNOPSIS
- .Nm
- .Op Fl a Ar LEVEL | Fl -anonymity= Ns Ar LEVEL
- .Op Fl c Ar FILENAME | Fl -config= Ns Ar FILENAME
- .Op Fl D | -delete-incomplete
- .Op Fl h | -help
- .Op Fl L Ar LOGLEVEL | Fl -loglevel= Ns Ar LOGLEVEL
- .Op Fl n | -no-network
- .Op Fl o Ar FILENAME | Fl -output= Ns Ar FILENAME
- .Op Fl p Ar DOWNLOADS | Fl -parallelism= Ns Ar DOWNLOADS
- .Op Fl r Ar REQUESTS | Fl -request-parallelism= Ns Ar REQUESTS
- .Op Fl R | -recursive
- .Op Fl v | -version
- .Op Fl V | -verbose
- .Ao Ar GNUNET_URI Ac
- .Sh DESCRIPTION
- Download files from GNUnet.
- The options are as follows:
- .Bl -tag -width indent
- .It Fl a Ar LEVEL | Fl -anonymity= Ns Ar LEVEL
- This option can be used to specify additional anonymity constraints.
- The default is 1.
- If set to 0, GNUnet will publish the file non-anonymously and in fact sign the advertisement for the file using your peer's private key.
- This will allow other users to download the file as fast as possible, including using non-anonymous methods (discovery via DHT and CADET transfer).
- If you set it to 1 (default), you use the standard anonymous routing algorithm (which does not explicitly leak your identity).
- However, a powerful adversary may still be able to perform traffic analysis (statistics) to over time discovery your identity.
- You can gain better privacy by specifying a higher level of anonymity (using values above 1).
- This tells FS that it must hide your own requests in equivalent-looking cover traffic.
- This should confound an adversaries traffic analysis, increasing the time and effort it would take to discover your identity.
- However, it also can significantly reduce performance, as your requests will be delayed until sufficient cover traffic is available.
- The specific numeric value (for anonymity levels above 1) is simple:
- Given an anonymity level L (above 1), each request FS makes on your behalf must be hidden in L-1 equivalent requests of cover traffic (traffic your peer routes for others) in the same time-period.
- The time-period is twice the average delay by which GNUnet artificially delays traffic.
- Note that regardless of the anonymity level you choose, peers that cache content in the network always use anonymity level 1.
- .It Fl c Ar FILENAME | Fl -config= Ns Ar FILENAME
- Use config file (default:
- .Pa ~/.config/gnunet.conf Ns )
- .It Fl D | -delete-incomplete
- Causes gnunet-download to delete incomplete downloads when aborted with CTRL-C.
- Note that complete files that are part of an incomplete recursive download will not be deleted even with this option.
- Without this option, terminating gnunet-download with a signal will cause incomplete downloads to stay on disk.
- If gnunet-download runs to (normal) completion finishing the download, this option has no effect.
- .It Fl h | -help
- Print the help page.
- .It Fl L Ar LOGLEVEL | Fl -loglevel= Ns Ar LOGLEVEL
- Change the loglevel.
- Possible values for LOGLEVEL are ERROR, WARNING, INFO and DEBUG.
- .It Fl n | -no-network
- Only search locally, do not forward requests to other peers.
- .It Fl o Ar FILENAME | Fl -output= Ns Ar FILENAME
- Write the file to
- .Ar FILENAME .
- Hint: when recursively downloading a directory, append a '/' to the end of the FILENAME to create a directory of that name.
- If no FILENAME is specified, gnunet-download constructs a temporary ID from the URI of the file.
- The final filename is constructed based on meta-data extracted using
- .Xr libextractor 1
- (if available).
- .It Fl p Ar DOWNLOADS | Fl -parallelism= Ns Ar DOWNLOADS
- Set the maximum number of allowed parallel downloads to
- .Ar DOWNLOADS .
- More parallel downloads can, to some extent, improve the overall time to download content.
- However, parallel downloads also take more memory (see also
- .Fl r
- which can be used to limit memory utilization) and more sockets.
- This option is used to limit the number of files that are downloaded in parallel.
- .Fl r
- can be used to limit the number of blocks that are concurrently requested.
- As a result, the value only matters for recursive downloads.
- The default value is 32.
- .It Fl r Ar REQUESTS | Fl -request-parallelism= Ns Ar REQUESTS
- Set the maximum number of parallel requests that is allowed.
- If multiple files are downloaded, gnunet-download will not run them in parallel if this would cause the number of pending requests to possibly exceed the given value.
- This is useful since, for example, downloading dozens of multi-gigabyte files in parallel could exhaust memory resources and would hardly improve performance.
- Note that the limit only applies to this specific process and that other download activities by other processes are not included in this limit.
- Consider raising this limit for large recursive downloads with many large files if memory and network bandwidth are not fully utilized and if the parallelism limit
- .Pq Fl p
- is not reached.
- This option also only matters for recursive downloads.
- The default value is 4092.
- .It Fl R | -recursive
- Download directories recursively (and in parallel).
- Note that the URI must belong to a GNUnet directory and that the filename given to
- .Fl o
- must end in '.gnd' \(em otherwise, you will receive an error.
- You may want to use "DIRNAME/.gnd" for the filename, this way a directory "DIRNAME/" will be created, and GNUnet's internal directory information will be stored in "DIRNAME/.gnd".
- However, it is also possible to specify "DIRNAME.gnd", in which case the files from the directory will end up in "DIRNAME/", while GNUnet's directory meta data will be in "DIRNAME.gnd".
- .It Fl v | -version
- Print the version number.
- .It Fl V | -verbose
- Print progress information.
- .El
- .Ss NOTES
- The GNUNET_URI is typically obtained from
- .Xr gnunet-search 1 .
- .Xr gnunet-fs-gtk 1
- can also be used instead of gnunet-download.
- If you ever have to abort a download, you can at any time continue it by re-issuing gnunet-download with the same filename.
- In that case GNUnet will not download blocks again that are already present.
- GNUnet's file-encoding will ensure file integrity, even if the existing file was not downloaded from GNUnet in the first place.
- Temporary information will be appended to the target file until the download is completed.
- .Sh FILES
- .Pa ~/.config/gnunet.conf
- GNUnet configuration file
- .Sh SEE ALSO
- .Xr gnunet-fs-gtk 1 ,
- .Xr gnunet-publish 1 ,
- .Xr gnunet-search 1 ,
- .Xr gnunet-service-fs 1 ,
- .Xr gnunet.conf 5
- .sp
- The full documentation for gnunet is maintained as a Texinfo manual.
- If the
- .Xr info 1
- and gnunet programs are properly installed at your site, the command
- .Pp
- .Dl info gnunet
- .Pp
- should give you access to the complete handbook,
- .Pp
- .Dl info gnunet-c-tutorial
- .Pp
- will give you access to a tutorial for developers.
- .sp
- Depending on your installation, this information is also available in
- .Xr gnunet 7 and
- .Xr gnunet-c-tutorial 7 .
- .\".Sh HISTORY
- .\".Sh AUTHORS
- .Sh BUGS
- Report bugs by using
- .Lk https://bugs.gnunet.org
- or by sending electronic mail to
- .Aq Mt gnunet-developers@gnu.org .
|