A DNS proxy and ad-blocker for local networks that filters queries using external blocklists.

Blocky is a self-hosted DNS proxy and ad-blocker designed for local networks. It filters DNS queries using external blocklists to prevent access to advertisements and malware. The software operates as a server that can be deployed as a single binary, a Docker container, or via a Helm chart for Kubernetes deployments. It acts as an intermediary between client devices and upstream DNS resolvers to manage network traffic.

Users configure the application using one or multiple YAML files to manage how DNS traffic is handled across their network. It supports various hardware architectures including x86-64, ARM, and MIPS, making it compatible with low-power devices such as Raspberry Pi and OpenWrt routers. The application is stateless by design, meaning it requires no database or temporary files for its core operational functions.

Key features

  • Blocking of DNS queries using external lists with regex support
  • Client group definitions for specific allow and denylists
  • Support for DoH, DoT, DoQ, and DoH3 protocols
  • Customizable caching and prefetching of DNS answers
  • DNSSEC validation of upstream resolvers
  • Conditional forwarding to external DNS servers
  • Prometheus metrics and prepared Grafana dashboards
  • Logging of DNS queries to CSV or SQL databases
  • REST API endpoints and a CLI tool

Written in Go, Blocky focuses on a low memory footprint and high performance. It allows for the distribution of DNS traffic across multiple upstream resolvers to increase privacy. For monitoring and analysis, it integrates with Prometheus and supports several database backends including MySQL, MariaDB, PostgreSQL, and TimescaleDB. The software also provides deep CNAME inspection, allowing it to block request domains, response CNAMEs, and response IP addresses against specific lists.

Blocky is intended for home networks, homelabs, and businesses seeking a private DNS management solution that provides granular control over network-wide filtering.

Last Modified
Software TypeWeb App / Server
Platform
Last Activity20 days ago
Repository Age6 years
LicenseApache-2.0
Open Source Alternative to
Open Source Software.io

Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.