Favicon of Blocky

Blocky

Deploy a fast DNS proxy and ad-blocker on your network. Block ads and malware with custom lists, create rules for different client groups, and enhance privacy with DoH/DoT.

Take full control of your local network's DNS traffic with this powerful proxy and ad-blocker. Written in Go, it offers a lightweight yet feature-rich solution for blocking unwanted content, improving performance, and enhancing privacy for all your connected devices. It is designed to be simple to install and configure, running as a single binary or a multi-arch Docker image.

Gain granular control over your network's internet access with advanced features:

  • Powerful Blocking: Block ads and malware using external lists, your own custom rules with regex support, and deep CNAME inspection. Create unique filtering policies for different groups of devices, such as kids' tablets or smart home gadgets.
  • Advanced DNS Routing: Define custom DNS resolutions for specific domains and set up conditional forwarding rules. You can even assign different upstream DNS resolvers to different client groups.
  • High Performance: Speed up your browsing experience with customizable DNS caching and prefetching. It reduces external queries by intelligently serving frequently accessed domains from memory.
  • Modern Security & Privacy: Secure your DNS traffic with support for DNS over HTTPS (DoH) and DNS over TLS (DoT), including DNSSEC validation. This open-source tool collects no user data or telemetry, ensuring your browsing habits remain private.
  • Easy Integration: Monitor performance with Prometheus metrics, log queries to a database for analysis, and manage the service through a REST API and CLI.

Directory Structure

blocky
.env
config.yml
docker-compose.yml

docker-compose.yml

services:
  blocky:
    image: spx01/blocky
    container_name: blocky
    restart: unless-stopped
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "4000:4000/tcp"
    environment:
      - TZ=Etc/UTC
    volumes:
      - ./config.yml:/app/config.yml

.env

# No sensitive environment variables are required for the default configuration.
# If you configure external databases (Redis/PostgreSQL) in config.yml, you may want to pass secrets here.
Categories:

Share:

Ad
Favicon

 

  
 

Similar to Blocky

Favicon

 

  
  
Favicon

 

  
  
Favicon