gnunet-zoneimport.1 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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 April 23, 2018
  25. .Dt GNUNET-ZONEIMPORT 1
  26. .Os
  27. .Sh NAME
  28. .Nm gnunet-zoneimport
  29. .Nd import DNS zone into GNS zone
  30. .Sh SYNOPSIS
  31. .Nm
  32. .Op Fl c Ar FILENAME | Fl -config= Ns Ar FILENAME
  33. .Op Fl h | -help
  34. .Op Fl m Ar RELATIVETIME | Fl -minimum-expiration= Ns Ar RELATIVETIME
  35. .Op Fl s Ar MAPSIZE | Fl -size= Ns Ar MAPSIZE
  36. .Ao Ar IP Ac
  37. .Sh DESCRIPTION
  38. .Nm
  39. reads a list of domain names (FQDN) from stdin and issues DNS queries for each of the domain names given.
  40. It then checks if a local ego with a name matching the domain exists.
  41. Specifically, if the domain name is "example.fr", it will check if an ego "fr" exists, while for a domain "example.com.fr" it will look for an ego called "com.fr").
  42. If so, it will convert the DNS records into GNS records (in particular converting NS records and glue records to GNS2DNS records) and add them to the namestore under the label ("example" in the examples above).
  43. .Pp
  44. The arguments given to gnunet-zoneimport is a list of IP addresses of DNS servers to query.
  45. .Pp
  46. gnunet-zoneimport will usually never terminate: it will check when DNS records expire, and re-issue requests when the old DNS records have expired so that GNS always has the latest data.
  47. .Pp
  48. gnunet-zoneimport will issue many DNS queries in parallel, but is rate-limited in various ways, so most DNS servers should easily handle the load.
  49. gnunet-zoneimport will perform a limited number of retries if queries fail.
  50. .Pp
  51. gnunet-zoneimport operates incrementally.
  52. It will check if the namestore already has (non-expired) records stored for a given name in the respective zone and not issue those requests again.
  53. Thus, it is fine to restart gnunet-zoneimport whenever the list of domain names changes.
  54. .Pp
  55. Finally, gnunet-zoneimport keeps information for each domain name in memory.
  56. This consumes about 200 bytes per domain name, or 1 GB for 5 million labels.
  57. .Bl -tag -width indent
  58. .It Fl c Ar FILENAME | Fl -config= Ns Ar FILENAME
  59. Use the configuration file FILENAME.
  60. .It Fl h | -help
  61. Print short help on options.
  62. .It Fl m Ar RELATIVETIME | Fl -minimum-expiration= Ns Ar RELATIVETIME
  63. Ensure that imported DNS records never have an expiration time that is less than RELATIVETIME into the future.
  64. RELATIVETIME is a time given like "1 week" or "1 h".
  65. If DNS returns records with a shorter lifetime, gnunet-zoneimport will simply bump the lifetime to the specified value (relative to the time of the import).
  66. Default is zero.
  67. .It Fl s Ar MAPSIZE | Fl -size= Ns Ar MAPSIZE
  68. Specifies the size (in number of entries) to use for the main hash map.
  69. The value provided should be at least twice the number of domain names that will be given to the tool.
  70. This option is required for very large zones where the number of records encountered is too large for the automatic growth mechanism to work (that one is limited to at most 16 MB allocations for security reasons).
  71. Do not worry about this unless you are importing millions of domain names from a zone.
  72. .It Ao Ar IP Ac
  73. IP Is the list of IPs given.
  74. .El
  75. .Sh EXAMPLES
  76. Typical invocation would be:
  77. .Pp
  78. .Dl $ gnunet-zoneimport 1.2.3.4 < names.txt
  79. .Sh SEE ALSO
  80. .Xr gnunet-gns 1 ,
  81. .Xr gnunet-namestore 1
  82. .sp
  83. The full documentation for gnunet is maintained as a Texinfo manual.
  84. If the
  85. .Xr info 1
  86. and gnunet programs are properly installed at your site, the command
  87. .Pp
  88. .Dl info gnunet
  89. .Pp
  90. should give you access to the complete handbook,
  91. .Pp
  92. .Dl info gnunet-c-tutorial
  93. .Pp
  94. will give you access to a tutorial for developers.
  95. .sp
  96. Depending on your installation, this information is also available in
  97. .Xr gnunet 7 and
  98. .Xr gnunet-c-tutorial 7 .
  99. .\".Sh HISTORY
  100. .\".Sh AUTHORS
  101. .Sh BUGS
  102. Report bugs by using
  103. .Lk https://bugs.gnunet.org
  104. or by sending electronic mail to
  105. .Aq Mt gnunet-developers@gnu.org .