![]() Bumps [gorm.io/gorm](https://github.com/go-gorm/gorm) from 1.22.4 to 1.22.5. - [Release notes](https://github.com/go-gorm/gorm/releases) - [Commits](https://github.com/go-gorm/gorm/compare/v1.22.4...v1.22.5) --- updated-dependencies: - dependency-name: gorm.io/gorm dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
---|---|---|
.github | ||
api | ||
cmd | ||
config | ||
docs | ||
evt | ||
helpertest | ||
lists | ||
log | ||
metrics | ||
model | ||
querylog | ||
redis | ||
resolver | ||
server | ||
testdata | ||
util | ||
web | ||
.dockerignore | ||
.gitignore | ||
.golangci.yml | ||
.goreleaser.yml | ||
CODE_OF_CONDUCT.md | ||
Dockerfile | ||
LICENSE | ||
Makefile | ||
README.md | ||
codecov.yml | ||
go.mod | ||
go.sum | ||
main.go | ||
mkdocs.yml |
README.md
Blocky
Blocky is a DNS proxy and ad-blocker for the local network written in Go with following features:
Features
-
Blocking - Blocking of DNS queries with external lists (Ad-block, malware) and whitelisting
- Definition of black and white lists per client group (Kids, Smart home devices, etc.)
- Periodical reload of external black and white lists
- 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 DNS queries
- 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 you privacy though the distribution of your DNS traffic over multiple provider
- Blocky does NOT collect any user data, telemetry, statistics etc.
-
Integration - various integration
- Prometheus metrics
- Prepared Grafana dashboards (Prometheus and database)
- Logging of DNS queries per day / per client in CSV format or MySQL/MariaDB/PostgreSQL database - easy to analyze
- Various REST API endpoints
- CLI tool
-
Simple configuration - single configuration file 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
Quick start
You can jump to Installation chapter in the documentation.
Full documentation
You can find full documentation and configuration examples at: https://0xERR0R.github.io/blocky/
Contribution
Issues, feature suggestions and pull requests are welcome!