retdns associates a readable name with a Reticulum destination address. Applications can look up a name, obtain the address and connect using the destination’s own protocol.
Finding a service by name
Destination hashes identify services on Reticulum, but they are awkward to share and recognise. retdns provides a registry of names and their corresponding destination addresses, with forward and reverse lookups.
Each registry maintains one name for each address and one address for each name. Clients select the server whose records they want to use. The .cix suffix is used for ciXnet names; the software also accepts other domain-style names.
Discovery & caching
Name servers announce themselves under retdns.server. Discovery lets clients find available services; clients query a selected server by its destination address.
Successful lookups are stored locally until their TTL expires. The cache survives application restarts and stores both the forward and reverse mapping. Server records remain registered until changed or removed.
Configuration & getting started
Download a release or clone the repository. From its source directory, install the package in a Python 3.11 or newer environment with Reticulum connectivity.
python -m pip install .Register a name
Replace APPLICATION_DESTINATION with the actual application destination hash. For a NomadPL site, use the address printed by its serve command.
retdns records add home.cix APPLICATION_DESTINATION
retdns records list
retdns serve --name "Community DNS"The server prints its own destination address. Use that address as DNS_SERVER_DESTINATION in client queries.
Look up a destination
retdns discover --seconds 15
retdns lookup home.cix --server DNS_SERVER_DESTINATIONQueries return the name, destination address and TTL. To look up the name assigned to an address, use a reverse query.
retdns reverse APPLICATION_DESTINATION --server DNS_SERVER_DESTINATIONSupport & development
Please use GitHub Issues for support questions and bug reports.
retdns issue tracker ↗