mirror of
https://github.com/cunnie/sslip.io.git
synced 2025-10-05 15:46:50 +08:00
Expand use of nip.io in README
`nip.io` is a better domain name, shorter and more apropos (the "ssl" of "sslip.io" has long since lost its relevance), so I use more examples of nip.io. Signed-off-by: Brian Cunnie <brian.cunnie@gmail.com>
This commit is contained in:
@@ -141,7 +141,7 @@ curl -L https://github.com/cunnie/sslip.io/releases/download/3.2.7/sslip.io-dns-
|
|||||||
chmod +x dns-server
|
chmod +x dns-server
|
||||||
./dns-server 2> dns-server.log &
|
./dns-server 2> dns-server.log &
|
||||||
dnf install -y bind-utils
|
dnf install -y bind-utils
|
||||||
dig @localhost 127-0-0-1.sslip.io +short # returns "127.0.0.1"</pre>
|
dig @localhost 127-0-0-1.nip.io +short # returns "127.0.0.1"</pre>
|
||||||
<h3 id="tls">TLS</h3>
|
<h3 id="tls">TLS</h3>
|
||||||
<p>You can acquire TLS certificates for your externally-accessible hosts from certificate authorities (CAs) such
|
<p>You can acquire TLS certificates for your externally-accessible hosts from certificate authorities (CAs) such
|
||||||
as Let's Encrypt. The easiest mechanism to acquire a certificate would be to use the <a
|
as Let's Encrypt. The easiest mechanism to acquire a certificate would be to use the <a
|
||||||
@@ -150,25 +150,25 @@ dig @localhost 127-0-0-1.sslip.io +short # returns "127.0.0.1"</pre>
|
|||||||
minimum, a web server running on your machine. The <a href="https://caddyserver.com/">Caddy</a> web server is
|
minimum, a web server running on your machine. The <a href="https://caddyserver.com/">Caddy</a> web server is
|
||||||
one
|
one
|
||||||
of the most popular examples. For example, if you had a webserver with the IP address 52.0.56.137, you could
|
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.sslip.io", or "www.52.0.56.137.sslip.io", or
|
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.sslip.io".</p>
|
"prod.www-52-0-56-137.nip.io".</p>
|
||||||
<div class="alert alert-success" role="alert">
|
<div class="alert alert-success" role="alert">
|
||||||
<b>Let's Encrypt Rate Limits</b> If your request for an "sslip.io" certificate is <a
|
<b>Let's Encrypt Rate Limits</b> If your request for a "nip.io" certificate is <a
|
||||||
href="https://letsencrypt.org/docs/rate-limits/">rate-limited</a>, please open a <a
|
href="https://letsencrypt.org/docs/rate-limits/">rate-limited</a>, please open a <a
|
||||||
href="https://github.com/cunnie/sslip.io/issues/new/choose">GitHub issue</a> and we'll request a rate-limit
|
href="https://github.com/cunnie/sslip.io/issues/new/choose">GitHub issue</a> and we'll request a rate-limit
|
||||||
increase.
|
increase.
|
||||||
</div>
|
</div>
|
||||||
<p>If you have procured a wildcard certificate for your branded / white label / custom sslip.io-style subdomain,
|
<p>If you have procured a wildcard certificate for your branded / white label / custom nip.io-style subdomain,
|
||||||
you may install it on your machines for TLS-verified connections.</p>
|
you may install it on your machines for TLS-verified connections.</p>
|
||||||
<div class="alert alert-success" data-role="alert">
|
<div class="alert alert-success" data-role="alert">
|
||||||
<p>When using a TLS wildcard certificate in conjunction with your branded sslip.io style subdomain, you must
|
<p>When using a TLS wildcard certificate in conjunction with your branded nip.io style subdomain, you must
|
||||||
<b>use dashes not dots</b> as separators. For example, if you have the TLS certificate for
|
<b>use dashes not dots</b> as separators. For example, if you have the TLS certificate for
|
||||||
<i>*.xip.example.com</i>, you could browse to https://www-52-0-56-137.xip.example.com/ but not
|
<i>*.xip.example.com</i>, you could browse to https://www-52-0-56-137.xip.example.com/ but not
|
||||||
https://www.52.0.56.137.xip.example.com/.
|
https://www.52.0.56.137.xip.example.com/.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<p>if you're interested in acquiring a wildcard certificate for your sslip.io domain, e.g.
|
<p>if you're interested in acquiring a wildcard certificate for your nip.io domain, e.g.
|
||||||
"*.52-0-56-137.sslip.io", the procedure is described <a
|
"*.52-0-56-137.nip.io", the procedure is described <a
|
||||||
href="https://github.com/cunnie/sslip.io/blob/main/docs/wildcard.md">here</a>.</p>
|
href="https://github.com/cunnie/sslip.io/blob/main/docs/wildcard.md">here</a>.</p>
|
||||||
<h3 id="experimental">Experimental Features</h3>
|
<h3 id="experimental">Experimental Features</h3>
|
||||||
<p>Experimental features can change; don't depend on them.</p>
|
<p>Experimental features can change; don't depend on them.</p>
|
||||||
@@ -180,7 +180,7 @@ dig @ns.sslip.io txt ip.sslip.io +short # sample reply "2607:fb90:464:ae1e:ed
|
|||||||
dig @ns.sslip.io txt ip.sslip.io +short -4 # forces IPv4 lookup; sample reply "172.58.35.231"
|
dig @ns.sslip.io txt ip.sslip.io +short -4 # forces IPv4 lookup; sample reply "172.58.35.231"
|
||||||
dig @ns.sslip.io txt ip.sslip.io +short -6 # forces IPv6 lookup; sample reply "2607:fb90:464:ae1e:ed60:29c:884c:4b52"</pre>
|
dig @ns.sslip.io txt ip.sslip.io +short -6 # forces IPv6 lookup; sample reply "2607:fb90:464:ae1e:ed60:29c:884c:4b52"</pre>
|
||||||
<div class="alert alert-success" role="alert">
|
<div class="alert alert-success" role="alert">
|
||||||
When querying for your IP address, always <b>include the sslip.io name server</b> (e.g. <i>@ns.sslip.io</i>).
|
When querying for your IP address, always <b>include the nip.io name server</b> (e.g. <i>@ns.nip.io</i>).
|
||||||
If omitted, you won't get your IP address; instead, you'll get the IP address of your upstream name server.
|
If omitted, you won't get your IP address; instead, you'll get the IP address of your upstream name server.
|
||||||
</div>
|
</div>
|
||||||
<p>This feature was inspired by Google's DNS lookup, i.e. <code>dig txt o-o.myaddr.l.google.com @8.8.8.8
|
<p>This feature was inspired by Google's DNS lookup, i.e. <code>dig txt o-o.myaddr.l.google.com @8.8.8.8
|
||||||
@@ -214,21 +214,21 @@ dig @ns.sslip.io txt ip.sslip.io +short -6 # forces IPv6 lookup; sample reply "2
|
|||||||
service.
|
service.
|
||||||
</p>
|
</p>
|
||||||
<h4 id="version">Determining The Server Version of Software</h4>You can determine the server version of the
|
<h4 id="version">Determining The Server Version of Software</h4>You can determine the server version of the
|
||||||
sslip.io software by querying the TXT record of <code>version.status.sslip.io</code>:
|
nip.io software by querying the TXT record of <code>version.status.nip.io</code>:
|
||||||
<pre>
|
<pre>
|
||||||
dig @ns-ovh.nono.io version.status.sslip.io txt +short
|
dig @ns-ovh.sslip.io version.status.nip.io txt +short
|
||||||
"2.7.0"
|
"4.1.0"
|
||||||
"2023/10/04-18:51:49-0700"
|
"2025/06/22-17:49:11-0700"
|
||||||
"8f7f2df"
|
"b879e43"
|
||||||
</pre>
|
</pre>
|
||||||
<p>The first number, ("2.6.1"), is the version of the sslip.io DNS software, and is most relevant. The other two
|
<p>The first number, ("4.1.0"), is the version of the nip.io DNS software, and is most relevant. The other two
|
||||||
numbers are the date compiled and the most recent git hash, but those values can differ across servers due to
|
numbers are the date compiled and the most recent git hash, but those values can differ across servers due to
|
||||||
the
|
the
|
||||||
manner in which the software is deployed.</p>
|
manner in which the software is deployed.</p>
|
||||||
<h4 id="metrics">Server Metrics</h4>You can retrieve metrics from a given server by querying the TXT records of
|
<h4 id="metrics">Server Metrics</h4>You can retrieve metrics from a given server by querying the TXT records of
|
||||||
<code>metrics.status.sslip.io</code>
|
<code>metrics.status.nip.io</code>
|
||||||
<pre>
|
<pre>
|
||||||
dig @ns-ovh.sslip.io metrics.status.sslip.io txt +short
|
dig @ns-ovh.sslip.io metrics.status.nip.io txt +short
|
||||||
"Uptime: 165655"
|
"Uptime: 165655"
|
||||||
"Blocklist: 2023-10-04 07:37:50-07 3,6"
|
"Blocklist: 2023-10-04 07:37:50-07 3,6"
|
||||||
"Queries: 14295231 (86.3/s)"
|
"Queries: 14295231 (86.3/s)"
|
||||||
@@ -266,23 +266,23 @@ dig @ns-ovh.sslip.io metrics.status.sslip.io txt +short
|
|||||||
that the number of responses with an answer record is typically a fourth the size of the overall responses.
|
that the number of responses with an answer record is typically a fourth the size of the overall responses.
|
||||||
This is normal. One reason for this disparity is that often both the IPv4 (A) and IPv6 (AAAA) records will be
|
This is normal. One reason for this disparity is that often both the IPv4 (A) and IPv6 (AAAA) records will be
|
||||||
checked, but only one reply will have a record in the answer section . For example, browsing to
|
checked, but only one reply will have a record in the answer section . For example, browsing to
|
||||||
"127.0.0.1.sslip.io" generates two lookups, one with an answer (IPv4), and one without (IPv6). Another reason
|
"127.0.0.1.nip.io" generates two lookups, one with an answer (IPv4), and one without (IPv6). Another reason
|
||||||
is that lookups follow a chain, e.g. looking up "127.0.0.1.sslip.io" may generate up to four queries for A
|
is that lookups follow a chain, e.g. looking up "127.0.0.1.nip.io" may generate up to four queries for A
|
||||||
records ("1.sslip.io", "0.1.sslip.io", "0.0.1.sslip.io" and "127.0.0.1.sslip.io"), only the last of which
|
records ("1.nip.io", "0.1.nip.io", "0.0.1.nip.io" and "127.0.0.1.nip.io"), only the last of which
|
||||||
returns a record in the answer section. Pro-tip: if you want to shave milliseconds off name resolution, use
|
returns a record in the answer section. Pro-tip: if you want to shave milliseconds off name resolution, use
|
||||||
dashes not dots in your hostname (e.g. "10-9-9-30.sslip.io" instead of "10.9.9.30.sslip.io")</dd>
|
dashes not dots in your hostname (e.g. "10-9-9-30.nip.io" instead of "10.9.9.30.nip.io")</dd>
|
||||||
<dt>A</dt>
|
<dt>A</dt>
|
||||||
<dd>The number of responses which included an A (IPv4) record in the answer section since starting operation
|
<dd>The number of responses which included an A (IPv4) record in the answer section since starting operation
|
||||||
(e.g. "dig 127.0.0.1.sslip.io")</dd>
|
(e.g. "dig 127.0.0.1.nip.io")</dd>
|
||||||
<dt>AAAA</dt>
|
<dt>AAAA</dt>
|
||||||
<dd>The number of responses which included an AAAA (IPv6) record in the answer section since starting operation
|
<dd>The number of responses which included an AAAA (IPv6) record in the answer section since starting operation
|
||||||
(e.g. "dig --1.sslip.io aaaa")</dd>
|
(e.g. "dig --1.nip.io aaaa")</dd>
|
||||||
<dt>TXT Source</dt>
|
<dt>TXT Source</dt>
|
||||||
<dd>The number of responses which included a TXT record of the querier's IP address since starting operation
|
<dd>The number of responses which included a TXT record of the querier's IP address since starting operation
|
||||||
(e.g. "dig @ns.sslip.io ip.sslip.io txt")</dd>
|
(e.g. "dig @ns.nip.io ip.nip.io txt")</dd>
|
||||||
<dt>TXT Version</dt>
|
<dt>TXT Version</dt>
|
||||||
<dd>The number of responses which included a TXT record of the DNS's servers version since starting operation
|
<dd>The number of responses which included a TXT record of the DNS's servers version since starting operation
|
||||||
(e.g. "dig @ns-hetzner.sslip.io version.status.sslip.io txt")</dd>
|
(e.g. "dig @ns-hetzner.sslip.io version.status.nip.io txt")</dd>
|
||||||
<dt>PTR IPv4/IPv6</dt>
|
<dt>PTR IPv4/IPv6</dt>
|
||||||
<dd>This consists of two numbers; the first is the number of responses to IPv4 PTR queries
|
<dd>This consists of two numbers; the first is the number of responses to IPv4 PTR queries
|
||||||
(<code>1.0.0.127.in-addr.arpa.</code> → <code>127-0-0-1.sslip.io.</code>), the second, IPv6 PTR queries</dd>
|
(<code>1.0.0.127.in-addr.arpa.</code> → <code>127-0-0-1.sslip.io.</code>), the second, IPv6 PTR queries</dd>
|
||||||
@@ -291,11 +291,11 @@ dig @ns-ovh.sslip.io metrics.status.sslip.io txt +short
|
|||||||
authority's DNS-01 challenge. This lookup is used for generating wildcard certificates from Let's Encrypt and
|
authority's DNS-01 challenge. This lookup is used for generating wildcard certificates from Let's Encrypt and
|
||||||
other certificate authority. Technically this is not a "successful" query in that we don't return a record in
|
other certificate authority. Technically this is not a "successful" query in that we don't return a record in
|
||||||
the ANSWER section, but we do return an NS record in the AUTHORITY section. (e.g. "dig @ns-ovh.sslip.io
|
the ANSWER section, but we do return an NS record in the AUTHORITY section. (e.g. "dig @ns-ovh.sslip.io
|
||||||
_acme-challenge.192.168.0.1.sslip.io. soa")</dd>
|
_acme-challenge.192.168.0.1.nip.io. soa")</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<div class="alert alert-success" role="alert">
|
<div class="alert alert-success" role="alert">
|
||||||
<b>Developers: disable indexing of your staging site to avoid being blocked</b> (we block by disabling
|
<b>Developers: disable indexing of your staging site to avoid being blocked</b> (we block by disabling
|
||||||
resolution of your sslip.io hostname); disable indexing by either including the <code>X-Robots-Tag:
|
resolution of your nip.io hostname); disable indexing by either including the <code>X-Robots-Tag:
|
||||||
noindex</code> in your HTTP headers or include a <code>robots.txt</code> at the root of your website with the
|
noindex</code> in your HTTP headers or include a <code>robots.txt</code> at the root of your website with the
|
||||||
following contents:<code><br>
|
following contents:<code><br>
|
||||||
User-agent: *<br>
|
User-agent: *<br>
|
||||||
@@ -355,7 +355,6 @@ Placed at the end of the document so the pages load faster -->
|
|||||||
window.dataLayer = window.dataLayer || [];
|
window.dataLayer = window.dataLayer || [];
|
||||||
function gtag() { dataLayer.push(arguments); }
|
function gtag() { dataLayer.push(arguments); }
|
||||||
gtag('js', new Date());
|
gtag('js', new Date());
|
||||||
|
|
||||||
gtag('config', 'G-M32C798MGY');
|
gtag('config', 'G-M32C798MGY');
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
Reference in New Issue
Block a user