[Awesome Software NetWork] nip.io: Dead simple wildcard DNS for any IP Address
nip.io - Dead simple wildcard DNS for any IP Address
Stop editing your /etc/hosts
file with custom hostname and IP address mappings.
nip.io
allows you to do that by mapping any IP Address to a hostname using the following formats:
Without a name:
1 | 10.0.0.1.nip.io maps to 10.0.0.1 |
With a name:
1 | app.10.8.0.1.nip.io maps to 10.8.0.1 |
nip.io
maps <anything>[.-]<IP Address>.nip.io
in “dot”(.), “dash”(-) or “hexadecimal”(0x) notation to the corresponding <IP Address>
:
-
dot notation:
magic.127.0.0.1.nip.io
-
dash notation:
magic-127-0-0-1.nip.io
-
hexadecimal notation:
magic-7f000001.nip.io
The “dash”(-) and “hexadecimal”(0x) notation is especially useful when using services like LetsEncrypt as it’s just a regular sub-domain of nip.io
Troubleshooting
DNS Rebinding Protection
Some DNS resolvers, forwarders and routers have DNS rebinding protection - https://en.wikipedia.org/wiki/DNS_rebinding which may result in failure to resolve local and private IP addresses. This service won’t work in those situations.
Related Services
-
localtls | Corollarium/localtls: DNS server for providing TLS to webservices on local addresses - https://github.com/Corollarium/localtls: A DNS server in Python3 to provide TLS to webservices on local addresses. It resolves addresses such as ‘192-168-0-1.yourdomain.net’ to 192.168.0.1 and has a valid TLS certificate for them.
-
sslip.io | Welcome to sslip.io - https://sslip.io/: Alternative to this service, supports IPv6 and custom domains.
-
local.gd | The easiest way to serve localhost. | local.gd - https://local.gd/: Alternative to this service, where everything is mapped to localhost/127.0.0.1.
References
[1] nip.io - wildcard DNS for any IP Address - https://nip.io/
[2] exentriquesolutions/nip.io - https://github.com/exentriquesolutions/nip.io
[4] sslip.io | Welcome to sslip.io - https://sslip.io/
[5] local.gd | The easiest way to serve localhost. | local.gd - https://local.gd/