gnunet-download - a command line interface for downloading files from
gnunet-download [OPTIONS] -- GNUNET_URI
Download files from GNUnet.
-a LEVEL, --anonymity=LEVEL
set desired level of receiver anonymity. Default is 1.
-c FILENAME, --config=FILENAME
use config file (defaults: ~/.gnunet/gnunet.conf)
download a GNUnet directory that has already been downloaded.
Requires that a filename of an existing file is specified
instead of the URI. The download will only download the
top-level files in the directory unless the ‘-R’ option is also
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.
print help page
-H HOSTNAME, --host=HOSTNAME
on which host is gnunetd running (default: localhost). You can
also specify a port using the syntax HOSTNAME:PORT. The default
port is 2087.
-L LOGLEVEL, --loglevel=LOGLEVEL
Change the loglevel. Possible values for LOGLEVEL are NOTHING,
FATAL, ERROR, WARNING, INFO, STATUS and DEBUG. Note that
options in the configuration file take precedence over this
option (the argument will be ignored in that case).
-o FILENAME, --output=FILENAME
write the file to 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 libextractor (if available).
-p DOWNLOADS, --parallelism=DOWNLOADS
set the maximum number of parallel downloads that is allowed.
More parallel downloads can, to some extent, improve the overall
time to download content. However, parallel downloads also take
more memory. The specified number is the number of files that
are downloaded in parallel, not the number of blocks that are
concurrently requested. As a result, the number only matters
for recursive downloads. The default value is 32.
download directories recursively (and in parallel); note that
the URI must belong to a GNUnet directory and that the filename
given must end with a ’/’ -- otherwise, only the file
corresponding to the URI will be downloaded.
print the version number
print progress information
As most GNUnet command-line tools, gnunet-download supports passing
arguments using environment variables. This can improve your privacy
since otherwise the download URI will likely be visible to other local
users. Setting "GNUNET_ARGS" will cause the respective string to be
appended to the actual command-line and to be processed the same way as
arguments given directly at the command line.
The GNUNET_URI is typically obtained from gnunet-search. gnunet-gtk can
also be used instead of gnunet-download. If youever 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. GNUnets file-encoding will ensure file
integrity, even if the existing file was not downloaded from GNUnet in
the first place. Temporary information will be stored in FILENAME.X
files until the download is completed. These files are used only if a
download is resumed later. If you abort a download for good, you should
remember to delete these files.
SETTING ANONYMITY LEVEL
The -a option can be used to specify additional anonymity constraints.
If set to 0, GNUnet will try to download the file as fast as possible
without any additional slowdown by the anonymity code. Note that you
will still have a fair degree of anonymity depending on the current
network load and the power of the adversary. The download is still
unlikely to be terribly fast since the sender may have requested
sender-anonymity and since in addition to that, GNUnet will still do
the anonymous routing.
This option can be used to limit requests further than that. In
particular, you can require GNUnet to receive certain amounts of
traffic from other peers before sending your queries. This way, you can
gain very high levels of anonymity - at the expense of much more
traffic and much higher latency. So set it only if you really believe
you need it.
The definition of ANONYMITY-RECEIVE is the following: If the value v is
< 1000, it means that if GNUnet routes n bytes of messages from foreign
peers, it may originate n/v bytes of queries in the same time-period.
The time-period is twice the average delay that GNUnet deferrs
forwarded queries. If the value v is >= 1000, it means that if GNUnet
routes n bytes of QUERIES from at least (v % 1000) peers, it may
originate n/v/1000 bytes of queries in the same time-period.
The default is 0 and this should be fine for most users. Also notice
that if you choose values above 1000, you may end up having no
throughput at all, especially if many of your fellow GNUnet-peers do
GNUnet configuration file
Report bugs by using mantis <https://gnunet.org/bugs/> or by sending
electronic mail to <email@example.com>
gnunet-gtk(1), gnunet-insert(1), gnunet-gtk(1), gnunet-search(1),
gnunet-download(1), gnunet.conf(5), gnunetd(1)