gnunet-download.1 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. .\" This file is part of GNUnet.
  2. .\" Copyright (C) 2001-2019 GNUnet e.V.
  3. .\"
  4. .\" Permission is granted to copy, distribute and/or modify this document
  5. .\" under the terms of the GNU Free Documentation License, Version 1.3 or
  6. .\" any later version published by the Free Software Foundation; with no
  7. .\" Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
  8. .\" copy of the license is included in the file
  9. .\" FDL-1.3.
  10. .\"
  11. .\" A copy of the license is also available from the Free Software
  12. .\" Foundation Web site at http://www.gnu.org/licenses/fdl.html}.
  13. .\"
  14. .\" Alternately, this document is also available under the General
  15. .\" Public License, version 3 or later, as published by the Free Software
  16. .\" Foundation. A copy of the license is included in the file
  17. .\" GPL3.
  18. .\"
  19. .\" A copy of the license is also available from the Free Software
  20. .\" Foundation Web site at http://www.gnu.org/licenses/gpl.html
  21. .\"
  22. .\" SPDX-License-Identifier: GPL3.0-or-later OR FDL1.3-or-later
  23. .\"
  24. .Dd January 31, 2016
  25. .Dt GNUNET-DOWNLOAD 1
  26. .Os
  27. .Sh NAME
  28. .Nm gnunet-download
  29. .Nd a command line interface for downloading files from GNUnet
  30. .Sh SYNOPSIS
  31. .Nm
  32. .Op Fl a Ar LEVEL | Fl -anonymity= Ns Ar LEVEL
  33. .Op Fl c Ar FILENAME | Fl -config= Ns Ar FILENAME
  34. .Op Fl D | -delete-incomplete
  35. .Op Fl h | -help
  36. .Op Fl L Ar LOGLEVEL | Fl -loglevel= Ns Ar LOGLEVEL
  37. .Op Fl n | -no-network
  38. .Op Fl o Ar FILENAME | Fl -output= Ns Ar FILENAME
  39. .Op Fl p Ar DOWNLOADS | Fl -parallelism= Ns Ar DOWNLOADS
  40. .Op Fl r Ar REQUESTS | Fl -request-parallelism= Ns Ar REQUESTS
  41. .Op Fl R | -recursive
  42. .Op Fl v | -version
  43. .Op Fl V | -verbose
  44. .Ao Ar GNUNET_URI Ac
  45. .Sh DESCRIPTION
  46. Download files from GNUnet.
  47. The options are as follows:
  48. .Bl -tag -width indent
  49. .It Fl a Ar LEVEL | Fl -anonymity= Ns Ar LEVEL
  50. This option can be used to specify additional anonymity constraints.
  51. The default is 1.
  52. 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.
  53. This will allow other users to download the file as fast as possible, including using non-anonymous methods (discovery via DHT and CADET transfer).
  54. If you set it to 1 (default), you use the standard anonymous routing algorithm (which does not explicitly leak your identity).
  55. However, a powerful adversary may still be able to perform traffic analysis (statistics) to over time discovery your identity.
  56. You can gain better privacy by specifying a higher level of anonymity (using values above 1).
  57. This tells FS that it must hide your own requests in equivalent-looking cover traffic.
  58. This should confound an adversaries traffic analysis, increasing the time and effort it would take to discover your identity.
  59. However, it also can significantly reduce performance, as your requests will be delayed until sufficient cover traffic is available.
  60. The specific numeric value (for anonymity levels above 1) is simple:
  61. 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.
  62. The time-period is twice the average delay by which GNUnet artificially delays traffic.
  63. Note that regardless of the anonymity level you choose, peers that cache content in the network always use anonymity level 1.
  64. .It Fl c Ar FILENAME | Fl -config= Ns Ar FILENAME
  65. Use config file (default:
  66. .Pa ~/.config/gnunet.conf Ns )
  67. .It Fl D | -delete-incomplete
  68. Causes gnunet-download to delete incomplete downloads when aborted with CTRL-C.
  69. Note that complete files that are part of an incomplete recursive download will not be deleted even with this option.
  70. Without this option, terminating gnunet-download with a signal will cause incomplete downloads to stay on disk.
  71. If gnunet-download runs to (normal) completion finishing the download, this option has no effect.
  72. .It Fl h | -help
  73. Print the help page.
  74. .It Fl L Ar LOGLEVEL | Fl -loglevel= Ns Ar LOGLEVEL
  75. Change the loglevel.
  76. Possible values for LOGLEVEL are ERROR, WARNING, INFO and DEBUG.
  77. .It Fl n | -no-network
  78. Only search locally, do not forward requests to other peers.
  79. .It Fl o Ar FILENAME | Fl -output= Ns Ar FILENAME
  80. Write the file to
  81. .Ar FILENAME .
  82. Hint: when recursively downloading a directory, append a '/' to the end of the FILENAME to create a directory of that name.
  83. If no FILENAME is specified, gnunet-download constructs a temporary ID from the URI of the file.
  84. The final filename is constructed based on meta-data extracted using
  85. .Xr libextractor 1
  86. (if available).
  87. .It Fl p Ar DOWNLOADS | Fl -parallelism= Ns Ar DOWNLOADS
  88. Set the maximum number of allowed parallel downloads to
  89. .Ar DOWNLOADS .
  90. More parallel downloads can, to some extent, improve the overall time to download content.
  91. However, parallel downloads also take more memory (see also
  92. .Fl r
  93. which can be used to limit memory utilization) and more sockets.
  94. This option is used to limit the number of files that are downloaded in parallel.
  95. .Fl r
  96. can be used to limit the number of blocks that are concurrently requested.
  97. As a result, the value only matters for recursive downloads.
  98. The default value is 32.
  99. .It Fl r Ar REQUESTS | Fl -request-parallelism= Ns Ar REQUESTS
  100. Set the maximum number of parallel requests that is allowed.
  101. 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.
  102. This is useful since, for example, downloading dozens of multi-gigabyte files in parallel could exhaust memory resources and would hardly improve performance.
  103. Note that the limit only applies to this specific process and that other download activities by other processes are not included in this limit.
  104. 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
  105. .Pq Fl p
  106. is not reached.
  107. This option also only matters for recursive downloads.
  108. The default value is 4092.
  109. .It Fl R | -recursive
  110. Download directories recursively (and in parallel).
  111. Note that the URI must belong to a GNUnet directory and that the filename given to
  112. .Fl o
  113. must end in '.gnd' \(em otherwise, you will receive an error.
  114. 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".
  115. 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".
  116. .It Fl v | -version
  117. Print the version number.
  118. .It Fl V | -verbose
  119. Print progress information.
  120. .El
  121. .Ss NOTES
  122. The GNUNET_URI is typically obtained from
  123. .Xr gnunet-search 1 .
  124. .Xr gnunet-fs-gtk 1
  125. can also be used instead of gnunet-download.
  126. If you ever have to abort a download, you can at any time continue it by re-issuing gnunet-download with the same filename.
  127. In that case GNUnet will not download blocks again that are already present.
  128. GNUnet's file-encoding will ensure file integrity, even if the existing file was not downloaded from GNUnet in the first place.
  129. Temporary information will be appended to the target file until the download is completed.
  130. .Sh FILES
  131. .Pa ~/.config/gnunet.conf
  132. GNUnet configuration file
  133. .Sh SEE ALSO
  134. .Xr gnunet-fs-gtk 1 ,
  135. .Xr gnunet-publish 1 ,
  136. .Xr gnunet-search 1 ,
  137. .Xr gnunet-service-fs 1 ,
  138. .Xr gnunet.conf 5
  139. .sp
  140. The full documentation for gnunet is maintained as a Texinfo manual.
  141. If the
  142. .Xr info 1
  143. and gnunet programs are properly installed at your site, the command
  144. .Pp
  145. .Dl info gnunet
  146. .Pp
  147. should give you access to the complete handbook,
  148. .Pp
  149. .Dl info gnunet-c-tutorial
  150. .Pp
  151. will give you access to a tutorial for developers.
  152. .sp
  153. Depending on your installation, this information is also available in
  154. .Xr gnunet 7 and
  155. .Xr gnunet-c-tutorial 7 .
  156. .\".Sh HISTORY
  157. .\".Sh AUTHORS
  158. .Sh BUGS
  159. Report bugs by using
  160. .Lk https://bugs.gnunet.org
  161. or by sending electronic mail to
  162. .Aq Mt gnunet-developers@gnu.org .