Provided by: gnunet_0.20.0-6_amd64 bug

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] [-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]

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.

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

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

     -t TYPE | --type=TYPE
             Type of the record to add/delete/display ("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.

     -X | --purge-zone-records
             Delete all records in a zone.

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

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

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