GNUNET-NAMESTORE(1)

NAME
gnunet-namestore - manipulate GNU Name System (GNS) zone data

SYNOPSIS
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] [-p | --public] [-r PKEY | --reverse=PKEY] [-R RECORDLINE | --replace=RECORDLINE] [-s | --shadow] [-t TYPE | --type=TYPE] [-u URI | --uri=URI] [-v | --version] [-V VALUE | --value=VALUE] [-z EGO | --zone=EGO]

DESCRIPTION
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.

-c FILENAME | --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.

-e TIME | --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.

-i NICKNAME | --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.

-L LOGLEVEL | --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).

-n NAME | --name=NAME
    Label or name of the record to add/delete/display.

-p | --public
    Create a record that is public (shared with other users that know the label).

-r PKEY | --reverse=PKEY
    Determine our GNS name for the given public key (reverse lookup of the PKEY) in the given zone.

-R RECORDLINE | --replace=RECORDLINE
    Sets record set to values given in RECORDLINE. This option can be specified multiple times to provide multiple records for the record set. Existing records under the same label will be deleted. The format for the RECORDLINE is "TTL TYPE FLAGS VALUE" where TTL is the time to live in seconds (unit must not be given explicitly, seconds is always implied), TYPE is the DNS/GNS record type, FLAGS is "(N)ORMAL", "(S)HADOW" or "(P)UBLIC". The VALUE follows the usual human-readable value format(s) of DNS/GNS.

-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.

-t TYPE | --type=TYPE
    Type of the record to add/delete/display (i.e. "A", "AAAA", "NS", "PKEY", "MX" etc.).

-u URI | --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.

-V VALUE | --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.

-z EGO | --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.

SEE ALSO
gnunet-gns(1), gnunet-namestore-gtk(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.

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>.