commit 569c7a957822b9d91784ebcecde58b1767ca69f1 Author: alyssadev Date: Mon May 13 13:41:24 2024 +1000 init diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..180715c --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,19 @@ +version: "3" + +services: + nipio: + build: + context: . + restart: unless-stopped + environment: + NIPIO_DOMAIN: ip.alyria.dev + NIPIO_TTL: 432000 + NIPIO_NONWILD_DEFAULT_IP: 175.45.182.31 + NIPIO_SOA_ID: 5 + NIPIO_SOA_HOSTMASTER: aly@alyria.dev + NIPIO_SOA_NS: ip-ns1.alyria.dev + NIPIO_NAMESERVERS: ip-ns1.alyria.dev=175.45.182.31 ip-ns2.alyria.dev=175.45.182.31 + NIPIO_BLACKLIST: multicast=0.0.0.0 + ports: + - "175.45.182.31:53:53" + - "175.45.182.31:53:53/udp" diff --git a/docs/app.css b/docs/app.css new file mode 100644 index 0000000..6fbe496 --- /dev/null +++ b/docs/app.css @@ -0,0 +1,52 @@ +body, .pure-g [class*="pure-u"] { + font-family: 'Lato', sans-serif; + background-color: #F6F8FF; + line-height: 1.3; + color: #222222; + margin-bottom: 2em; +} + +header { + color: #08415c; + border-bottom: 1px solid #222222; + margin-bottom: 2em; +} + +h2 { + margin-top: 1.5em; +} + +a { + color: #D9658D; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +code { + font-weight: bold; + font-size: 95%; +} + + +/* from https://css-tricks.com/snippets/css/triangular-list-bullets/ */ +ul { + margin: 0.75em 0; + padding: 0 1em 0 1.1em; + list-style: none; +} +li:before { + content: ""; + border-color: transparent #222222; + border-style: solid; + border-width: 0.35em 0 0.35em 0.45em; + display: block; + height: 0; + width: 0; + left: -1em; + top: 0.9em; + position: relative; +} + diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..4aa9ed3 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,137 @@ + + + + + + + ip.alyria.dev - wildcard DNS for any IP Address, powered by nip.io + + + + + + +
+
+
+
+

ip.alyria.dev

+
+ +
+

Dead simple wildcard DNS for any IP Address

+ +

+ Stop editing your etc/hosts file with custom hostname and IP address mappings. +

+ +

+ ip.alyria.dev allows you to do that by mapping any IP + Address to a hostname using the following formats: +

+ +

Without a name:

+ +
    +
  • 10.0.0.1.ip.alyria.dev maps to 10.0.0.1
  • +
  • 192-168-1-250.ip.alyria.dev maps to 192.168.1.250
  • +
  • 0a000803.ip.alyria.dev maps to 10.0.8.3
  • +
+ +

With a name:

+ +
    +
  • app.10.8.0.1.ip.alyria.dev maps to 10.8.0.1
  • +
  • app-116-203-255-68.ip.alyria.dev maps to 116.203.255.68
  • +
  • app-c0a801fc.ip.alyria.dev maps to 192.168.1.252
  • +
  • customer1.app.10.0.0.1.ip.alyria.dev maps to 10.0.0.1
  • +
  • customer2-app-127-0-0-1.ip.alyria.dev maps to 127.0.0.1
  • +
  • customer3-app-7f000101.ip.alyria.dev maps to 127.0.1.1
  • +
+ +

+ ip.alyria.dev maps <anything>[.-]<IP Address>.ip.alyria.dev in + "dot", "dash" or "hexadecimal" notation to the corresponding + <IP Address>: +

+ +
    +
  • dot notation: magic.127.0.0.1.ip.alyria.dev
  • +
  • dash notation: magic-127-0-0-1.ip.alyria.dev
  • +
  • hexadecimal notation: magic-7f000001.ip.alyria.dev
  • +
+ +

+ The "dash" and "hexadecimal" notation is especially useful when using services like + LetsEncrypt as it's just a regular sub-domain + of ip.alyria.dev +

+ +

About this service

+ +

+ ip.alyria.dev is powered by PowerDNS with a simple, + custom + PipeBackend + written in Python: + backend.py +

+ +

+ It's open source, licensed under Apache 2.0: + https://github.com/exentriquesolutions/nip.io + — pull requests are welcome. +

+ +

+ This is a free service provided by + Aly, based on + nip.io, created by + Exentrique Solutions + (the same people who run XP-Dev.com which offer + Git, Mercurial and Subversion hosting). +

+ +

+ Feedback is appreciated; for concerns with this instance, email the address found at alyria.dev. Otherwise, just + + raise an issue in GitHub + . +

+ +

Troubleshooting

+ +

DNS Rebinding Protection

+ +

+ Some DNS resolvers, forwarders and routers have + DNS rebinding protection + which may result in failure to resolve local and private IP addresses. + This service won't work in those situations. +

+ +

Related Services

+
    +
  • + nip.io: This is an instance of nip.io +
  • +
  • + 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: Alternative to this service, supports IPv6 and custom domains. +
  • +
  • + local.gd: Alternative to this service, where everything is mapped to localhost/127.0.0.1. +
  • +
+
+
+
+
+ + +