gnunet-namestore1
Manipulate gnu name system (gns) zone data
Usage
gnunet-namestore [{-a | --add}]
[{-c
FILENAME | --config=FILENAME}]
[{-d | --delete}]
[{-D | --display}]
[{-e
TIME | --expiration=TIME}]
[{-h | --help}]
[{-i
NICKNAME | --nick=NICKNAME}]
[{-L
LOGLEVEL | --loglevel=LOGLEVEL}]
[{-m | --monitor}]
[{-n
NAME | --name=NAME}]
[{-O | --list-orphans}]
[{-o | --omit-private}]
[{-P | --purge-orphans}]
[{-p | --public}]
[{-s | --shadow}]
[{-S | --from-stdin}]
[{-T | --include-maintenance}]
[{-t
TYPE | --type=TYPE}]
[{-u
URI | --uri=URI}]
[{-v | --version}]
[{-V
VALUE | --value=VALUE}]
[{-X | --purge-zone-records}]
[{-z
EGO | --zone=EGO}]
[{-Z
KEY | --zone-to-name=KEY}]
Overview
gnunet-namestore can be used to manipulate records in a GNS zone.
The options are as follows:
-
-a | --add -
Desired operation is adding a record.
-cFILENAME |--config=FILENAME-
Use the configuration file FILENAME.
-
-d | --delete -
Desired operation is deleting records under the given name that match the specified type (-t) and value (-V). If type or value are not specified, it means that all types (or values) should be assumed to match (and possibly multiple or all values under the given label will be deleted). Specifying a label (-n) is mandatory. Note that matching by expiration time or flags is (currently) not supported.
-
-D | --display -
Desired operation is listing of matching records.
-eTIME |--expiration=TIME-
Specifies expiration time of record to add; format is relative time, i.e "1 h" or "7 d 30 m". Supported units are "ms", "s", "min" or "minutes", "h" (hours), "d" (days) and "a" (years).
-
-h | --help -
Print short help on options.
-iNICKNAME |--nick=NICKNAME-
Set the desired NICKNAME for the zone. The nickname will be included in all (public) records and used as the suggested name for this zone.
-LLOGLEVEL |--loglevel=LOGLEVEL-
Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and ERROR.
-
-m | --monitor -
Monitor changes to the zone on an ongoing basis (in contrast to -D, which merely displays the current records).
-nNAME |--name=NAME-
Label or name of the record to add/delete/display.
-
-O | --list-orphans -
List orphaned records.
-
-o | --omit-private -
Filter private records. Use in combination with --display.
-
-P | --purge-orphans -
Delete orphaned records from namestore.
-
-p | --public -
Create a record that is public (shared with other users that know the label).
-
-r | --recordline -
Changes the output format of zones and records to recordline.
-
-s | --shadow -
Create a record that is a shadow record. Shadow records are only used once all other records of the same type under the same label have expired.
-
-S | --from-stdin -
Read recordlines from stdin until EOF is encountered. The format uses : A record in a recordline follows the format
NAME.EGO:
TYPE EXPIRATION [FLAGS] VALUE
... Multiple records may be provided for a name.EXPIRATION is given in microseconds without a unit (e.g. 3600000000 for 3600 seconds).
FLAGS is a concatenation of record flags. Possible values for flags and their meaning are:
p: Public
s: Shadow
S: Supplemental
C: Critical
r: Relative expirationTYPE and VALUE are used in the same way as for the "-t" and "-V" options. Example formats for recordlines can be output using the "-D" flag combined with "--recordline". An example record set in recordline format can be found in the examples. It is possible to specify multiple record sets. Can only be used in combination with "-a" to add the parsed record sets. Existing record sets under names will be replaced.
-
-T | --include-maintenance -
Show maintenance records such as TOMBSTONEs. Use in combination with --display.
-tTYPE |--type=TYPE-
Type of the record to add/delete/display ("A"; "AAAA"; "NS"; "PKEY"; "MX"; etc.).
-uURI |--uri=URI-
Add PKEY record from gnunet://gns/-URI to our zone; the record type is always PKEY, if no expiration is given FOREVER is used
-
-v | --version -
Print GNUnet version number.
-VVALUE |--value=VALUE-
Value to store or remove from the GNS zone. Specific format depends on the record type. A records expect a dotted decimal IPv4 address, AAAA records an IPv6 address, PKEY a public key in GNUnet's printable format, and CNAME and NS records should be a domain name.
-
-X | --purge-zone-records -
Delete all records in a zone.
-zEGO |--zone=EGO-
Specifies the name of the ego controlling the private key for the zone. If not provided, we will attempt to use the default identity set for the "namestore". Alternatively, a private key may be passed in Base32-encoding using the GNUNET_NAMESTORE_EGO_PRIVATE_KEY environment variable. The latter is useful to improve performance of tools like Ascension as it allows the command to skip IPC with the identity management subsystem.
-ZKEY |--zone-to-name=KEY-
Determine our GNS name for the given public key (reverse lookup of the KEY) in the given zone.
Examples
gnunet-namestore -z example -a -n www -t A -V "1.2.3.4" -e 1d -p
Add a public record for ego example with name www containing an IP address.
gnunet-namestore -z example -D
Show all records for ego example.
gnunet-namestore -z example -D -r
Show all records for ego example in recordline format.
gnunet-namestore --add --from-stdin <<EOF
www.alice:
A 3600000000 [pr] 1.2.3.4
TXT 3600000001 [pr] Hello World
www.bob:
A 12345679000000 [pr] 4.3.2.1
EOF
Read record sets in recordline format from stdin.
Releases
7 releases since Debian 7 (Wheezy); the text changed 3 times.
--from-stdin since Debian 12 (Bookworm);
--include-maintenance since Debian 12 (Bookworm);
--list-orphans since Debian 12 (Bookworm);
--monitor since Debian 8 (Jessie);
--omit-private since Debian 12 (Bookworm);
--public since Debian 11 (Bullseye);
--purge-orphans since Debian 12 (Bookworm);
--purge-zone-records since Debian 12 (Bookworm);
--recordline since Debian 12 (Bookworm);
--shadow since Debian 11 (Bullseye);
-O since Debian 12 (Bookworm);
-P since Debian 12 (Bookworm);
-S since Debian 12 (Bookworm);
-T since Debian 12 (Bookworm);
-X since Debian 12 (Bookworm);
-m since Debian 8 (Jessie);
-o since Debian 12 (Bookworm);
-p since Debian 11 (Bullseye);
-r since Debian 12 (Bookworm);
-s since Debian 11 (Bullseye).
--config until Debian 10 (Buster);
--expiration until Debian 10 (Buster);
--loglevel until Debian 10 (Buster);
--name until Debian 10 (Buster);
--reverse until Debian 10 (Buster);
--type until Debian 10 (Buster);
--uri until Debian 10 (Buster);
--value until Debian 10 (Buster);
--zone until Debian 10 (Buster);
--zonekey until Debian 7 (Wheezy);
-L until Debian 10 (Buster);
-V until Debian 10 (Buster);
-c until Debian 10 (Buster);
-e until Debian 10 (Buster);
-n until Debian 10 (Buster);
-t until Debian 10 (Buster);
-u until Debian 10 (Buster);
-z until Debian 10 (Buster).