Minimum go version 1.12 is required.
- Get the source code and compile
git clone https://github.com/zhoreeq/meshname.git
cd meshname
make
- Run the daemon
./meshnamed
- Optionally, set configuration flags
./meshnamed -listenaddr [::1]:53535 -debug
- See the list of all available flags
./meshnamed -help
./meshnamed -getname 200:f8b1:f974:967f:dd32:145d:1cc0:3679
aiaprmpzoslh7xjscrorzqbwpe
Use this subdomain with a .meshname TLD to configure DNS records on your authoritative server, (i.e. dnsmasq, bind or PopuraDNS).
Look for meshnamed.service
in the source directory for a systemd unit file.
/etc/dnsmasq.conf
port=53
domain-needed
bogus-priv
server=/meshname/::1#53535
server=8.8.8.8
meshnamed can be configured to resolve custom TLDs.
To run meshnamed for TLD .newmesh
with addresses in fd00::/8
set a flag -networks newmesh=fd00::/8
.
By default, in addition to .meshname
it also resolves .ygg
for IPv6 addresses in
200::/7
subnet and .cjd
for fc00::/8
.
Requests are filtered by subnet validation. Request is ignored if a decoded IPv6 address doesn't match the specified subnet for a TLD.