Please note that the anydns.online DNS server is not currently operational. This will change at some point. Thank you for your understanding
Anydns is a DNS server which has a subdomain for every IPv6 address (yes, including yours!). It currently has one running implementation, at anydns.online.
You already have one! The anydns.online domain server is completely stateless: when someone sends it a DNS query with a correctly formatted domain name, it extracts the IP address from the domain name and returns it!
Take your public IPv6 address, fully expand it out, remove all the colons, add .anydns.online, and that's it! For instance, the IP address 2001:db8::8a2e:370:7334 has a domain at 20010db80000000000008a2e03707334.anydns.online. You can use it to host a website, or even a DNS server of your own! (probably, if I've set up NS records properly. If anyone actually does this please email me to let me know how it goes.)
No! This is just a DNS record that points to your IP address, so if someone goes to [your IPv6].anydns.online, they'll get pointed to your IP address, the same as if they'd just put your IP address in their address bar.
Then everyone will need to start using the new one, just the same as if they'd been using your IP address directly in the first place!
It sounds like, if I want to host a website, using anydns.online is basically the same as giving people my IP address but with an extra step.
Yep!
If you want to encrypt your server's communications, you need an SSL certificate. While in principle, SSL certs can be issued for IP addresses, and some (paid) CAs do offer this, LetsEncrypt does not. So, if you want SSL, you need a domain name.
Plenty of reasons! Just to take an example, let's say you want to send a file to someone else. Currently, there are no good ways to do this that don't require either the use of an intermediary server or for your counterparty to have some weird software on their computer. But why? The internet was designed for this sort of peer-to-peer communication. Just start up a server on your computer which serves the file and send them the link!
There are many things which make this impractical: firewalls and network address translation are the two that come most prominently to mind. But the inability to easily encrypt this comminication is also a problem. The best way to solve this would be for letsencrypt to allow certificates for IP addresses. In the meantime, anydns provides an alternative.
I should probably warn you, LetsEncrypt limits a domain to 50 new certificates per week. So, if anyone starts using anydns to any signficant degree, I'm probably going to hit that limit pretty quickly. But I still encourage you to use it! If nothing else, hitting the registration limit gives me an argument that anydns.online is popular enough to justify being put on the public suffix list, which would remove this limit.
Most of the code here is copied from Emil Hernvall's guide to building a DNS server in rust. Many thanks to him.