adguardteam/dnsproxy

Simple DNS proxy with DoH, DoT, DoQ and DNSCrypt support

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 11 minutes ago
Added to GitGenius on September 20th, 2026
Created on December 19th, 2018
Open Issues & Pull Requests: 179 (+0)
GitHub issues: Enabled
Number of forks: 343
Total Stargazers: 3,338 (+0)
Total Subscribers: 60 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 64
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 635 days
Stale 30+ days: 55
Stale 90+ days: 43

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • Priority: P4 (8)
  • feature request (6)
  • bug (5)
  • enhancement (5)
  • question (5)
  • Status: Cancelled (2)
  • Resolution: Won't Do (1)
  • Resolution: Won't Fix (1)

Most active issues this week

Detailed Description

DNS Proxy is a DNS server that supports DNS-over-TLS, DNS-over-HTTPS, DNS-over-QUIC, and DNSCrypt protocols for both client connections and upstream forwarding.

The tool solves the problem of needing a lightweight DNS proxy that handles modern encrypted DNS protocols. It works by accepting DNS queries on standard or encrypted protocols, forwarding them to configured upstream servers (which may themselves use encrypted protocols), and returning responses to clients. The proxy can listen on multiple interfaces and ports simultaneously, and supports features like rate limiting, response caching, DNS64 translation, parallel upstream queries, and domain-specific upstream routing.

The tool suits operators who need a simple, self-contained DNS proxy without heavy dependencies. It works well for home networks, small deployments, or as a component in larger infrastructure. The project provides prebuilt binaries, Docker images, and straightforward build instructions for those preferring to compile from source. It handles both basic use cases like forwarding to a single upstream and complex scenarios involving multiple encrypted upstreams with fallback servers, bootstrap DNS configuration, and per-domain routing rules.

The project shows consistent maintenance with regular updates addressing functionality and protocol support. Development activity demonstrates responsiveness to issues and pull requests, with fixes and enhancements being merged steadily. The codebase maintains compatibility requirements, currently requiring Go 1.26 or later for builds. The project accepts community contributions and maintains clear documentation with practical examples for common deployment patterns.