DNS Blocklist Aggregator Tool
6.9K
## 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.
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.
You can run synth-dns using either Docker Run or Docker Compose.
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
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
| Variable | Default | Description |
|---|---|---|
| SYNTH_DNS_EXTERNAL_DEDUPE | 1 | Enables disk-based deduplication instead of keeping everything in memory. |
| SYNTH_DNS_BUCKETS | 128 | Sets 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.
Content type
Image
Digest
sha256:2279e4caf…
Size
13 MB
Last updated
about 1 month ago
docker pull b3rkay/synth-dns