mosdns is a DNS forwarder that handles DNS queries and routes them according to configurable rules.
The tool addresses the need to intercept and intelligently route DNS traffic, particularly useful in environments where different queries should be resolved by different upstream servers or where DNS responses need filtering or modification. mosdns accepts DNS queries over multiple protocols—including standard UDP/TCP, DNS-over-HTTPS, DNS-over-TLS, and DNS-over-QUIC—and forwards them based on user-defined rules. This multi-protocol support allows it to work in restricted network environments and provides flexibility in how clients connect to it.
mosdns suits operators who need fine-grained control over DNS resolution routing, such as those managing networks with split-horizon DNS requirements, content filtering needs, or hybrid setups combining multiple DNS providers. It is particularly valuable for users in regions with DNS censorship or those wanting to route queries selectively to different resolvers based on domain patterns. The project is written in Go, making it lightweight and easy to deploy across different platforms.
Development activity shows consistent engagement with the codebase through regular commits addressing bug fixes and feature additions. The project maintains active issue triage, responding to user reports and feature requests. Documentation is centralized in an external wiki rather than the repository itself, indicating a structured approach to maintaining separate concerns between code and user guidance. Docker images are actively published and maintained, reflecting attention to deployment accessibility.