Skip to content

lazywalker/lazydns

Repository files navigation

LazyDNS

Rust License: GPL-3.0 CI crates.io docs.rs codecov Dependabot Maintenance

Documentation

Current Status:

  • DNS Protocol & Servers (UDP/TCP/DoT/DoH/DoQ)
  • Plugin System & Core Plugins
  • LazyCache with Stale-Serving - Background refresh cache with TTL support
  • Environment Variable Configuration - Runtime config via METRICS_ADDR, ADMIN_ADDR, etc.
  • Prometheus Monitoring - Metrics collection, health checks, and admin interface
  • Advanced Condition Matching - Flexible rule-based DNS query processing with 30+ matching plugins (Hosts, Domain, IP, GeoIP, GeoSite ...)
  • Caching with LRU eviction
  • Encrypted DNS (DoT RFC 7858, DoH RFC 8484, DoQ RFC 9250)
  • Multi-profile builds (minimal/full) with UPX compression
  • Documentation and Docker packaging

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Acknowledgments

  • mosdns - The original inspiration
  • hickory-dns - Rust DNS library
  • The Rust community

About

A plugin-base DNS server/forwarder implementation in Rust, inspired by mosdns

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •  

Languages