- Notifications
You must be signed in to change notification settings - Fork229
Fast and lightweight DNS proxy as ad-blocker for local network with many features
License
0xERR0R/blocky
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Blocky is a DNS proxy and ad-blocker for the local network written in Go with following features:
Blocking - Blocking of DNS queries with external lists (Ad-block, malware) and allowlisting
- Definition of allow/denylists per client group (Kids, Smart home devices, etc.)
- Periodical reload of external allow/denylists
- Regex support
- Blocking of request domain, response CNAME (deep CNAME inspection) and response IP addresses (against IP lists)
Advanced DNS configuration - not just an ad-blocker
- Custom DNS resolution for certain domain names
- Conditional forwarding to external DNS server
- Upstream resolvers can be defined per client group
Performance - Improves speed and performance in your network
- Customizable caching of DNS answers for queries -> improves DNS resolution speed and reduces amount of external DNSqueries
- Prefetching and caching of often used queries
- Using multiple external resolver simultaneously
- Low memory footprint
Various Protocols - Supports modern DNS protocols
- DNS over UDP and TCP
- DNS over HTTPS (aka DoH)
- DNS over TLS (aka DoT)
Security and Privacy - Secure communication
- Supports modern DNS extensions: DNSSEC, eDNS, ...
- Free configurable blocking lists - no hidden filtering etc.
- Provides DoH Endpoint
- Uses random upstream resolvers from the configuration - increases your privacy through the distribution of your DNStraffic over multiple provider
- Blocky doesNOT collect any user data, telemetry, statistics etc.
Integration - various integration
- Prometheus metrics
- PreparedGrafana dashboards (Prometheus and database)
- Logging of DNS queries per day / per client in CSV format or MySQL/MariaDB/PostgreSQL/Timescale database - easy toanalyze
- Various REST API endpoints
- CLI tool
Simple configuration - single or multiple configuration files in YAML format
- Simple to maintain
- Simple to backup
Simple installation/configuration - blocky was designed for simple installation
- Stateless (no database, no temporary files)
- Docker image with Multi-arch support
- Single binary
- Supports x86-64 and ARM architectures -> runs fine on Raspberry PI
- Community supported Helm chart for k8s deployment
You can jump toInstallation chapter in the documentation.
You can find full documentation and configuration examplesat:https://0xERR0R.github.io/blocky/
Issues, feature suggestions and pull requests are welcome!
About
Fast and lightweight DNS proxy as ad-blocker for local network with many features