Sign inSign up

b3rkay/synth-dns

By b3rkay

Updated about 1 month ago

DNS Blocklist Aggregator Tool

Image
Networking
1

6.9K

b3rkay/synth-dns repository overview

Information

## Synth DNS

DNS blocklist aggregator: fetches configured blocklist source URLs
(HaGeZi-style lists in Adblock, DNSMasq, Wildcard Asterisk, Wildcard
Domains, or RPZ format), dedupes them into one merged output, and serves
an admin dashboard to manage sources and view stats/logs.
⚠️ Important: First-Time Login

New installations will be greeted with a Setup Wizard on first launch.

It is strongly recommended to change the default password after your first login.

Quick Start

You can run synth-dns using either Docker Run or Docker Compose.

Option 1: Docker Run (Single Command)
docker run -d \
  --name synth-dns \
  -p 4000:4000 \
  -e SYNTH_DNS_EXTERNAL_DEDUPE=1 \
  -e SYNTH_DNS_BUCKETS=128 \
  -v $(pwd)/data:/app/data \
  --restart unless-stopped \
  b3rkay/synth-dns:latest
Option 2: Docker Compose

Create a docker-compose.yml file:

services:
  synth-dns:
    image: b3rkay/synth-dns:latest
    container_name: synth-dns
    ports:
      - "4000:4000"
    environment:
      - SYNTH_DNS_EXTERNAL_DEDUPE=1  # Disk-based Deduplication
      - SYNTH_DNS_BUCKETS=128        # Disk Dedup Bucket Count
    volumes:
      - ./data:/app/data
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "/app/synth-dns", "--healthcheck"]
      interval: 15s
      timeout: 5s
      retries: 3
      start_period: 10s

Configuration (Environment Variables)

VariableDefaultDescription
SYNTH_DNS_EXTERNAL_DEDUPE1Enables disk-based deduplication instead of keeping everything in memory.
SYNTH_DNS_BUCKETS128Sets the number of buckets used for disk deduplication; more buckets mean more files/IO, fewer buckets mean less.
ℹ️ INFO

Without these environment variables (in-memory mode): after every rebuild, mi_collect(true) (approved unsafe FFI) is called, returning mimalloc's idle pages back to the OS.

Tag summary

Content type

Image

Digest

sha256:2279e4caf

Size

13 MB

Last updated

about 1 month ago

docker pull b3rkay/synth-dns