A dynamic DNS server that brings octet notation to IPv6.
Motivation
Recently, I was made aware of the fact, that discussions about IPv6 tend to have someone mentioning that it would be oh so much better if the address format was similar to IPv4, but with more octets.
This project makes this wish a reality by allowing you to write an address like 2606:2800:220:1:248:1893:25c8:1946 as 38.6.40.0.2.32.0.1.2.72.24.147.37.200.25.70.octet.zone instead!
So much easier to remember.
Usage
To use this service, simply convert each 16-bit group of your address into two decimal numbers and append .octet.zone to the end.
You can also write the groups as hex digits, either with four unmodified digits or by prepending an x (i.e. ABC turns into xABC but ABCD can remain unchanged).
These formats can even be mixed and matched! The only rule is that each 16-bit group needs to either be exactly two decimal octets or a single hex block.
IPv6s shorthand :: is also supported by adding an underscore.
The loopback address can thus be written as _.1.octet.zone.
This example also illustrates an exception to the "two octets for each 16-bit group" rule - if the filler is used, it can also be between two decimal octets or in front of a single one at the end.
Finally, the service offers some additional convenience features:
> Prepending map to the address turns it into a mapped IPv4 address. map.192.168.1.1.octet.zone therefore resolves to ::ffff:c0a8:101
> Prepending local to the address turns it into a link-local address. local.1.2.3.4.5.6.7.8.octet.zone therefore resolves to fe80::102:304:506:708
Try it out!
Enter an IPv6 address below to see the equivalent octet.zone address. Afterwards try to ping or dig it.
Result:
Is this a joke?
Yes.
I got this idea while reading Hacker News and thought it would be a fun little project to start messing around with Rust.
I suppose it could also genuinely be helpful for remembering some short IPv6 addresses, maybe?