# irinesistiana/mosdns

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/irinesistiana-mosdns).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

3,672 stars · 466 forks · Go · GPL-3.0

## Links

- GitHub: https://github.com/IrineSistiana/mosdns
- awesome-repositories: https://awesome-repositories.com/repository/irinesistiana-mosdns.md

## Topics

`dns` `dns-over-http` `dns-over-https` `dns-over-quic` `dns-over-tls` `dns-proxy` `dns-server` `mosdns`

## Description

mosdns is a DNS forwarding server and traffic filter that routes DNS queries to multiple upstream providers. It functions as a rule-based DNS router and a proxy for DNS-over-HTTPS and DNS-over-TLS to ensure secure DNS resolution.

The system utilizes a pipeline-based request processing model and rule-based query routing to direct specific domain queries to different upstream servers. It implements pluggable transport layers and forwarding protocols, including HTTPS, TLS, and QUIC, to encrypt traffic and prevent eavesdropping.

The project includes capabilities for upstream load balancing to distribute queries across providers, as well as asynchronous concurrent handling to manage multiple simultaneous requests. It provides tools for DNS traffic filtering and custom routing through user-defined matching rules.

## Tags

### Networking & Communication

- [DNS Forwarding Routing](https://awesome-repositories.com/f/networking-communication/dns-forwarding-routing.md) — Functions as a DNS forwarding server that routes queries to multiple providers using modular pipelines. ([source](https://github.com/irinesistiana/mosdns#readme))
- [Middleware-Based Request Pipelines](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/request-processing-architectures/request-processing/middleware-based-request-pipelines.md) — Utilizes middleware-based request pipelines to process DNS queries through a sequence of modular filtering and routing stages.
- [DNS Query Routers](https://awesome-repositories.com/f/networking-communication/dns-query-routers.md) — Directs DNS queries to specific upstream servers based on a rule-based routing system.
- [DNS Routing Overrides](https://awesome-repositories.com/f/networking-communication/dns-routing-overrides.md) — Provides DNS routing overrides to map specific domains to designated upstream resolvers.
- [Pluggable Forwarding Protocols](https://awesome-repositories.com/f/networking-communication/dns-servers/dns-over-https-servers/pluggable-forwarding-protocols.md) — Implements pluggable forwarding protocols including DNS-over-HTTPS, DNS-over-TLS, and QUIC for secure upstream communication.
- [Secure DNS Resolution](https://awesome-repositories.com/f/networking-communication/secure-dns-resolution.md) — Ensures secure DNS resolution using encrypted protocols like DNS-over-HTTPS and DNS-over-TLS.
- [Rules](https://awesome-repositories.com/f/networking-communication/traffic-routing/dns-based-routing/rules.md) — Directs DNS requests to specific upstream servers based on user-defined domain matching rules.
- [Pluggable Transport Layers](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/communication-protocols-standards/network-transport-layers/pluggable-transport-layers.md) — Provides pluggable transport layers to allow interchangeable use of HTTPS, TLS, and QUIC protocols.
- [Encrypted DNS Interception Proxies](https://awesome-repositories.com/f/networking-communication/dns-servers/dns-over-tls-clients/encrypted-dns-interception-proxies.md) — Provides a secure proxy that encrypts DNS traffic using DoH and DoT protocols.

### Security & Cryptography

- [Encrypted DNS Proxies](https://awesome-repositories.com/f/security-cryptography/encrypted-dns-resolvers/multi-protocol-resolvers/encrypted-dns-proxies.md) — Functions as an encrypted DNS proxy that translates and forwards queries using secure protocols like DoH and DoT.
- [Network Traffic Filters](https://awesome-repositories.com/f/security-cryptography/network-traffic-filters.md) — Intercepts and redirects DNS traffic using custom rule sets to control network query flow. ([source](https://github.com/irinesistiana/mosdns#readme))

### Software Engineering & Architecture

- [Concurrent Query Execution](https://awesome-repositories.com/f/software-engineering-architecture/client-server-architecture/long-running-task-protocols/non-blocking-execution/concurrent-query-execution.md) — Provides concurrent query execution using asynchronous tasks to handle multiple DNS requests simultaneously.
- [Asynchronous Request Handlers](https://awesome-repositories.com/f/software-engineering-architecture/concurrent-execution-managers/asynchronous-concurrency-managers/asynchronous-request-handlers.md) — Implements asynchronous request handlers to process multiple simultaneous DNS queries without blocking the main thread.
- [Upstream Load Balancing](https://awesome-repositories.com/f/software-engineering-architecture/load-balancing-architectures/upstream-load-balancing.md) — Distributes outgoing DNS queries across multiple configured providers to increase reliability and reduce latency.
- [Server Request Load Balancers](https://awesome-repositories.com/f/software-engineering-architecture/server-request-load-balancers.md) — Implements server request load balancing to distribute queries across multiple configured DNS providers.
