Skip to content

crypto-chiefs/dnsbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

50 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

DNSBox โ€” HTTPS and Let's Encrypt for Any IP Address

๐Ÿ‡ฌ๐Ÿ‡ง English | ๐Ÿ‡ท๐Ÿ‡บ ะ ัƒััะบะธะน | ๐Ÿ‡ช๐Ÿ‡ธ Espaรฑol | ๐Ÿ‡ฉ๐Ÿ‡ช Deutsch | ๐Ÿ‡ซ๐Ÿ‡ท Franรงais | ๐Ÿ‡จ๐Ÿ‡ณ ไธญๆ–‡ | ๐Ÿ‡ฎ๐Ÿ‡ณ เคนเคฟเค‚เคฆเฅ€ | ๐Ÿ‡ง๐Ÿ‡ท Portuguรชs | ๐Ÿ‡น๐Ÿ‡ท Tรผrkรงe | ๐Ÿ‡ฎ๐Ÿ‡ฉ Bahasa Indonesia | ๐Ÿ‡ป๐Ÿ‡ณ Tiแบฟng Viแป‡t | ๐Ÿ‡ฐ๐Ÿ‡ท ํ•œ๊ตญ์–ด

Release Go Version

DNSBox is an open-source DNS server that allows you to issue free SSL certificates (Let's Encrypt) for any public IP address (IPv4 and IPv6) without owning a domain. Get HTTPS access to a server, API, or IoT device directly by IP.


๐Ÿ” Features

  • ๐Ÿ” Free SSL certificates from Let's Encrypt for IP addresses
  • ๐ŸŒ Supports IPv4 and IPv6
  • โšก Instant HTTPS access without DNS configuration
  • ๐Ÿ”„ Automatic certificate renewal
  • ๐Ÿ’ก Works without a domain โ€” use *.dnsbox.io subdomains
  • ๐Ÿงฉ Compatible with WebSocket, APIs, and CI/CD pipelines
  • โš™๏ธ Lightweight installer via shell script
  • ๐Ÿ“ฆ Minimal dependencies, single binary, zero-config launch

๐Ÿ“ฆ Installation

bash <(curl -sSL https://raw.githubusercontent.com/crypto-chiefs/dnsbox/main/scripts/install.sh) --ip=167.172.5.205 --domain=dnsbox.io --ns=ns3

Parameters:

  • --ip โ€” your public IP address (required)
  • --domain โ€” the root domain bound to the NS (e.g., dnsbox.io)
  • --ns โ€” nameserver subdomain (e.g., ns3)
  • --force-resolv โ€” disables systemd-resolved and sets 8.8.8.8
  • --debug โ€” enables verbose output

๐ŸŒ How It Works

  1. DNSBox launches a nameserver that serves A/AAAA and TXT records on the fly.
  2. You get a subdomain like 167.172.5.205.dnsbox.io.
  3. Let's Encrypt checks for a _acme-challenge TXT record and issues a certificate.
  4. DNSBox automatically stores, renews, and serves the SSL certificate.

๐Ÿ›  Example Usage

After installation, you can connect to your server over HTTPS:

curl https://167.172.5.205.dnsbox.io

Or test the SSL via OpenSSL:

openssl s_client -connect 167.172.5.205:443 -servername 167.172.5.205.dnsbox.io

โš™๏ธ Under the Hood

  • Language: Go
  • DNS Library: miekg/dns
  • TLS: standard crypto/tls
  • ACME Client: built-in ACME support (no certbot)
  • On-the-fly logic: all DNS queries and challenges are handled in memory

๐Ÿงช Use Cases

  • ๐Ÿ”ง DevOps infrastructure without domains
  • ๐Ÿ“ก IoT devices with public IPs
  • ๐Ÿงช Lab/staging environments
  • ๐Ÿš€ Fast API deployment without DNS
  • ๐Ÿ” VPN/Proxy services requiring HTTPS

๐Ÿ”’ Security

All Let's Encrypt challenge requests are served only during valid IP validation. TLS private keys are stored in /var/lib/dnsbox/certs.


๐Ÿ—บ Alternative to sslip.io and nip.io

Unlike existing services:

  • DNSBox is a self-hosted open-source solution
  • Deploy your own *.yourdomain.tld
  • Supports IPv6, ACME, and certificates without third-party APIs

๐Ÿ“œ License

This project is licensed under the MIT License. Use it freely, fork it, extend it.


๐Ÿ”— Useful Links


โญ If you find this project useful, please star it on GitHub!

About

Instant HTTPS for any public IP. Self-hosted DNS server + Let's Encrypt + ACME protocol. No domain required. Works with IPv4/IPv6.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors