Releases: mguptahub/nanodns
Releases · mguptahub/nanodns
v1.2.1
v1.2.0
New features
- Added the cli command/options
- Start NanoDNS Server as daemon on linux terminal using
nanodns start
- Check the daemon logs using
nanodns logs
Updates
- Updated Readme with CLI usage
Full Changelog: v1.1.3...v1.2.0
v1.1.3
New Features
- Support for .env files in environment variable configuration.
- Enhanced Docker usage with volume mapping for .env files.
- Theme toggle functionality for light and dark modes.
- New sample configuration for DNS settings in env-sample.md.
Bug Fixes
- Improved accessibility and user experience in the navigation bar and hero section.
Documentation
- Enhanced clarity and usability in the README.md and docker.md files.
Full Changelog: v1.1.2...v1.1.3
v1.1.2
-
Fixed wildcard record handling to support:
- Wildcard A records
- Wildcard CNAME records
- Proper domain name canonicalization with trailing dots
-
Implemented proper DNS response codes:
- NOERROR (0) when domain exists but requested record type doesn't
- NXDOMAIN (3) when domain doesn't exist
- Converting relay SERVFAIL (2) to NXDOMAIN (3)
-
Fixed record type handling:
- CNAME resolution
- MX records with additional A records for MX targets
- TXT record with proper string concatenation
- Proper handling of non-existent record types
-
Enhanced test coverage:
- Table-driven tests for different record types
- Testing both with and without relay configuration
- Edge cases for non-existent domains and record types
- Wildcard matching scenarios
- Response code verification
-
Added proper logging for debugging and monitoring
Full Changelog: v1.1.1...v1.1.2
v1.1.1
v1.1.0
Release v1.1.0
New Features
- Relay DNS Support: Forward unmatched queries to upstream DNS servers
- Configure via
DNS_RELAY_SERVERS
environment variable - Support multiple upstream servers with failover
- Automatic server validation and error handling
- 5-second timeout per server
- Configure via
Improvements
-
Enhanced DNS resolution strategy:
- Check local records first
- Forward to relay servers if no local match found
- Try multiple relay servers in sequence
-
Better environment variable handling
- Improved validation of relay server addresses
- Better error messages and logging
- Support for comma-separated server lists
Configuration
New Environment Variables
# Single upstream server
DNS_RELAY_SERVERS=8.8.8.8
# Multiple servers with failover
DNS_RELAY_SERVERS=8.8.8.8,1.1.1.1
Documentation
- Updated Kubernetes deployment guide
- Added relay DNS configuration examples
- Enhanced troubleshooting guide
- New testing examples for relay functionality
Bug Fixes
- Fixed environment variable parsing
- Improved error handling in DNS resolution
- Better validation of server addresses
Examples
Docker Run
docker run -d \
--name nanodns \
-p 5353:5353/udp \
-e DNS_PORT=5353 \
-e DNS_RELAY_SERVERS=8.8.8.8,1.1.1.1 \
-e "A_REC1=app.local|192.168.1.10" \
ghcr.io/mguptahub/nanodns:latest
Docker Compose
services:
dns:
image: ghcr.io/mguptahub/nanodns:latest
environment:
- DNS_PORT=5353
- DNS_RELAY_SERVERS=8.8.8.8,1.1.1.1
- A_REC1=app.local|192.168.1.10
Testing
# Test local records
dig @localhost -p 5353 app.local
# Test relay resolution
dig @localhost -p 5353 google.com
Contributors
@mguptahub and the NanoDNS community
Upgrading
No breaking changes from v1.0.0. Simply update to the new image version:
docker pull ghcr.io/mguptahub/nanodns:v1.1.0
v1.0.1
What's Changed
- added security, updated readme by @mguptahub in #1
- updated readme by @mguptahub in #2
New Contributors
- @mguptahub made their first contribution in #1