Skip to content

Additional information

To print runtime configuration / statistics, you can send SIGUSR1 signal to running process.

Summary

Example output:

INFO server: current configuration:
INFO server: -> resolver: 'ClientNamesResolver'
INFO server:      singleNameOrder = "[2 1]"
INFO server:      externalResolver = "upstream 'tcp+udp:192.168.178.1:53'"
INFO server:      cache item count = 7
INFO server: -> resolver: 'QueryLoggingResolver'
INFO server:      logDir= "/logs"
INFO server:      perClient = false
INFO server:      logRetentionDays= 7
INFO server: -> resolver: 'MetricsResolver'
INFO server:      metrics:
INFO server:        Enable = true
INFO server:        Path   = /metrics
INFO server: -> resolver: 'ConditionalUpstreamResolver'
INFO server:      fritz.box = "parallel upstreams 'upstream 'tcp+udp:192.168.178.1:53''"
INFO server: -> resolver: 'CustomDNSResolver'
INFO server: runtime information:
...
INFO server: MEM Alloc =                 9 MB
INFO server: MEM HeapAlloc =             9 MB
INFO server: MEM Sys =                  88 MB
INFO server: MEM NumGC =              1533
INFO server: RUN NumCPU =                4
INFO server: RUN NumGoroutine =         18

Hint

To send a signal to a process you can use kill -s USR1 <PID> or docker kill -s SIGUSR1 blocky for docker setup

Debug / Profiling

If http listener is enabled, pprof endpoint (/debug/pprof) is enabled automatically.

List sources

Some links/ideas for lists:

Denylists

Warning

Use only denylists from the sources you trust!

Allowlists

List of public DNS servers

Warning

DNS server provider has access to all your DNS queries (all visited domain names). Some DNS providers can use (tracking, analyzing, profiling etc.). It is recommended to use different DNS upstream servers in blocky to distribute your DNS queries over multiple providers.

Please read the description before using the DNS server as upstream. Some of them provide already an ad-blocker, some filters other content. If you use external DNS server with included ad-blocker, you can't choose which domains should be blocked, and you can't use allowlisting.

This is only a small excerpt of all free available DNS servers and should only be understood as an idee.

Info

I will NOT rate the DNS providers in the list. This list is sorted alphabetically.

Code repository

Main: GitHub

Mirror: Codeberg

Container Registry

Main: Docker Hub

Mirror: GitHub Container Registry

Developer Information

Docker Images

To enable Docker image creation on a GitHub fork create a secret with the name DEVELOPMENT_DOCKER and the value true.
This will trigger a workflow on every push of a branch starting with fb- and create an image with the branch name.

Automatic fork sync

To enable automatic fork synchronisation create a secret with the name FORK_SYNC_TOKEN with an access token that has write permission to the fork repository.
The enabled workflow will sync the main branch every 30 minutes with its upstream.