GNUNET-ZONEIMPORT(1)
GNUNET-ZONEIMPORT π β¨
okay bestie, welcome to the General Commands Manual for gnunet-zoneimport, page 1. yes it's a real one. yes it's a banger. let's go π«Ά
πΈ NAME πΈ
gnunet-zoneimport β the girl who takes a whole DNS zone and drops it into your GNS zone, no cap π
β¨ SYNOPSIS β¨
gnunet-zoneimport [-c FILENAME | --config=FILENAME] [-h | --help]
[-m RELATIVETIME | --minimum-expiration=RELATIVETIME]
[-s MAPSIZE | --size=MAPSIZE] β¨IPβ©
π DESCRIPTION π
okay so here's the tea π: gnunet-zoneimport reads a list of domain names (FQDN) from stdin, and for every single one of them it fires off DNS queries. literally every one. she's thorough like that.
then she checks if a local ego with a name matching the domain exists. and the way she does it is so specific, pay attention:
- if the domain name is
"example.fr", she checks whether an ego"fr"exists - but for a domain
"example.com.fr", she looks for an ego called"com.fr"π
if that ego is there, she converts the DNS records into GNS records β and yes, specifically converting NS records and glue records into GNS2DNS records β and adds them to the namestore under the label ("example" in the examples above). iconic behaviour honestly.
the arguments you hand to gnunet-zoneimport are a list of IP addresses of DNS servers to query. that's it. that's the input.
now, the vibe shift: gnunet-zoneimport will usually never terminate. she's the main character who refuses to leave the party. instead she checks when DNS records expire, and re-issues requests once the old DNS records have expired, so that GNS always has the latest data. forever. periodt.
she'll also issue many DNS queries in parallel (queen of multitasking π ), but she's rate-limited in various ways, so most DNS servers should easily handle the load. she'll also do a limited number of retries if queries fail β she's persistent but not unhinged.
gnunet-zoneimport operates incrementally. she'll check if the namestore already has (non-expired) records stored for a given name in the respective zone, and she will not issue those requests again. so it is totally fine to restart gnunet-zoneimport whenever your list of domain names changes. restart her, she doesn't mind π¦
finally β and this one matters β gnunet-zoneimport keeps information for each domain name in memory. that's about 200 bytes per domain name, which is 1 GB for 5 million labels. she remembers everything. she's a Scorpio moon.
π OPTIONS π
-c FILENAME|--config=FILENAMEβ use the configuration fileFILENAME. that's the one, bestie π-h|--helpβ print short help on options. when in doubt, ask her directly π-m RELATIVETIME|--minimum-expiration=RELATIVETIMEβ makes sure that imported DNS records never have an expiration time that is less thanRELATIVETIMEinto the future.RELATIVETIMEis a time given like"1 week"or"1 h". if DNS returns records with a shorter lifetime,gnunet-zoneimportwill simply bump the lifetime to the specified value (relative to the time of the import). default is zero. yes, zero. the baseline. β°-s MAPSIZE|--size=MAPSIZEβ specifies the size (in number of entries) to use for the main hash map. the value you provide should be at least twice the number of domain names that will be given to the tool. 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). do not worry about this unless you are importing millions of domain names from a zone. fr fr, don't stress it π§β¨IPβ©β IP is the list of IPs given. π«Ά
π EXAMPLES π
a typical invocation would be, and I quote:
$ gnunet-zoneimport 1.2.3.4 < names.txt
look at her go. slay. π
π SEE ALSO π
gnunet-gns(1), gnunet-namestore(1)
the full documentation for gnunet is maintained as a Texinfo manual. if the info(1) and gnunet programs are properly installed at your site, the command
info gnunet
should give you access to the complete handbook,
info gnunet-c-tutorial
will give you access to a tutorial for developers. iykyk π
depending on your installation, this information is also available in gnunet(7) and gnunet-c-tutorial(7).
π BUGS π
report bugs by using https://bugs.gnunet.org or by sending electronic mail to β¨gnunet-developers@gnu.orgβ©. she wants to hear from you, genuinely π
and that's the whole page bestie β this one's from the Debian folks, dated April 23, 2018, living under the GNUNET-ZONEIMPORT(1) banner. go import a zone. you got this. πβ¨π¦
π¦ where this page comes from
- alpine 3.24: gnunet-doc 0.27.0-r0 Β· AGPL-3.0-only
- debian bookworm: gnunet 0.19.3-2 Β· AGPL-3.0-or-later
- debian trixie: gnunet 0.20.0-7 Β· AGPL-3.0-or-later
- nixos 26.05: gnunet 0.26.2
- nixpkgs unstable: gnunet 0.26.2
- opensuse-leap 16.0: gnunet 0.23.1-bp160.1.18 Β· AGPL-3.0-or-later
- opensuse-leap 16.0: gnunet 0.23.1-bp160.1.18 Β· AGPL-3.0-or-later
- opensuse-leap 16.0: gnunet 0.23.1-bp160.1.18 Β· AGPL-3.0-or-later
- opensuse-leap 16.0: gnunet 0.23.1-bp160.1.18 Β· AGPL-3.0-or-later
- ubuntu jammy: gnunet 0.15.3-4 Β· AGPL-3.0-or-later
- ubuntu noble: gnunet 0.20.0-4.1build3 Β· AGPL-3.0-or-later
- ubuntu questing: gnunet 0.20.0-7
- ubuntu resolute: gnunet 0.20.0-8 Β· AGPL-3.0-or-later
- ubuntu stonking: gnunet 0.20.0-9 Β· AGPL-3.0-or-later
- π the page's license: GPL3.0-or-later OR FDL1.3-or-later
- Copyright (C) 2001-2019 GNUnet e.V
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms