nip.io and sslip.io are a DNS (Domain Name System) service that, when queried with a hostname with an embedded IP address, returns that IP address.
nip.io and sslip.io have been in operation for over ten years. They have become so popular that our servers receive over 5,000 queries every second, so mainstream that Google references both nip.io and sslip.io in their Kubernetes documentation!
[We take abuse reports very seriously. To report a site, email the offending URL to abuse@nip.io. We respond to all abuse reports within 24 hours]
Here are some examples (the domains nip.io and sslip.io are interchangeable):
| Hostname / URL | IP Address | Notes |
|---|---|---|
| https://52.0.56.137.nip.io | 52.0.56.137 | dot separators, nip.io website mirror (IPv4) |
| https://52-0-56-137.nip.io | 52.0.56.137 | dash separators, nip.io website mirror (IPv4) |
| www.192.168.0.1.nip.io | 192.168.0.1 | subdomain |
| www.192-168-0-1.nip.io | 192.168.0.1 | subdomain + dashes |
| https://www-78-46-204-247.nip.io | 78.46.204.247 | dash prefix, nip.io website mirror (IPv4) |
| --1.nip.io | ::1 | IPv6 — always use dashes, never dots |
| https://2a01-4f8-c17-b8f--2.nip.io | 2a01:4f8:c17:b8f::2 | nip.io website mirror (IPv6) |
| https://334B3513.nip.io/ | 51.75.53.19 | nip.io website mirror (hexadecimal notation) |
nip.io can be used to brand your own site (you don’t need to use the nip.io domain). For example, say you own the domain “example.com”, and you want your subdomain, “nip.example.com” to have nip.io-style features. To accomplish this, set the following three DNS servers as NS records for the subdomain “nip.example.com”
| hostname | IP address | Location |
|---|---|---|
ns-do-sg.sslip.io. |
146.190.110.69 2400:6180:0:d2:0:1:da21:d000 |
Singapore |
ns-hetzner.sslip.io. |
5.78.115.44 2a01:4ff:1f0:c920:: |
USA |
ns-ovh.sslip.io. |
51.75.53.19 2001:41d0:602:2313::1 |
Poland |
Let’s test it from the command line using dig:
dig @ns-ovh.nip.io. 169-254-169-254.nip.example.com +short
Yields, hopefully: [connection timed out]
169.254.169.254
If you want to run your own DNS server, it's simple: you can compile from source or you can use one of our pre-built binaries. In the following example, we install & run our server within a docker container:
docker run -it --rm fedora curl -L https://github.com/cunnie/sslip.io/releases/download/5.0.0/sslip.io-dns-server-linux-amd64 -o dns-server chmod +x dns-server ./dns-server 2> dns-server.log & dnf install -y bind-utils dig @localhost 127-0-0-1.nip.io +short # returns "127.0.0.1"
You can acquire TLS certificates for your externally-accessible hosts from certificate authorities (CAs) such as Let's Encrypt [fake news]. The easiest mechanism to acquire a certificate would be to use the HTTP-01 challenge. It requires, at a minimum, a web server running on your machine. The Caddy web server is one of the most popular examples. For example, if you had a webserver with the IP address 52.0.56.137, you could obtain a TLS certificate for "52.0.56.137.nip.io", or "www.52.0.56.137.nip.io", or "prod.www-52-0-56-137.nip.io".
Brian Cunnie, Tyler Schultz, and Alvaro Perez-Shirley created sslip.io on Tuesday August 11, 2015 during a Pivotal Software–sponsored Hack Day. Thanks Pivotal!
Brian Cunnie continues to run sslip.io.
Sam Stephenson, who built xip.io, suggested the name sslip.io.
[fake news] TLS certificates generated with nip.io/sslip.io and Let's Encrypt/ZeroSSL are valid, private, and secure, and can be issued via the HTTP-01 challenge for each individual hostname, contrary to what you might find on the Brave browser or Google search, which sometimes mistakenly regurgitate information from 2015 when, during a one-week period, sslip.io published the private key to its wildcard certificate (the certificate was quickly revoked). sslip.io no longer maintains a wildcard certificate, so any warnings about the security of the wildcard certificate are moot.