Skip to content

Releases: 0xERR0R/blocky

v0.26.2

22 May 05:24
Compare
Choose a tag to compare

Fixes multi-arch images for arm64/arm7 (#1776)

v0.26

20 May 19:34
3cc1b45
Compare
Choose a tag to compare

Changelog

v0.25

17 Jan 20:49
Compare
Choose a tag to compare

Changelog

Read more

v0.24

25 May 10:59
3ab0456
Compare
Choose a tag to compare

Features:

  • support client name lookup when querying via the API (@ThinkChaos)
  • Support defining records by dns zone format (#1360) (@BenMcH)
  • add queryLog.ignore.sudn option to ignore SUDN responses (@ThinkChaos)
  • add a unique ID (req_id) to all logs related to a request (@ThinkChaos)
  • do not hardcode the job name in the grafana dashboard.(#1326) (@shizunge)
  • log the rule which is the cause of blocking (#1460) (@zc-devs)
  • support CNAME records in customDNS mappings (#1352) (@BenMcH)

Misc:

  • Updated dependencies and documentation
  • update list config and code to use "allow/deny" language (@ThinkChaos)
  • code refactoring and build optimization (thanks @kwitsch)

Bugfix:

  • use proxy env vars via Go default HTTP Transport values (@ThinkChaos)
  • don't print querylog target password when using a database (@ThinkChaos)
  • use RCode=ServFail instead of HTTP 500 for internal errors (@ThinkChaos)
  • Parse time from file names in the local system timezone (@BenMcH)
  • add Resolver.String so logs don't use Go's default format (@ThinkChaos)
  • api regression breaking blocky blocking disable (#1373) (@BenMcH)
  • don't use upstream ServFail responses besides forwarding them (@ThinkChaos)

Changelog

Read more

v0.23

06 Jan 21:25
03131c4
Compare
Choose a tag to compare

Features:

  • add support for wildcard lists using a custom Trie (#1233) (Thanks @ThinkChaos)
  • querylog: add flushInterval parameter
  • race UDP and TCP when connecting upstream (Thanks @ThinkChaos)
  • API-first approach for REST interface (#1129)
  • add API endpoint to flush the DNS Cache (#1178)
  • add upstreams.init.strategy (Thanks @ThinkChaos)
  • add timeout to bootstrap (#1158)
  • add upstream strategy random (#1221) (Thanks @DerRockWolf)
  • reduce DNS response cache memory consumption (#1196)
  • EDNS: Client Subnet (#1007) (Thanks @kwitsch)

Misc

  • Updated dependencies and documentation

Bugfix

  • make FatalOnError override log.Silence (Thanks @ThinkChaos)
  • ANSI color codes being printed on Windows (#1225) (Thanks @kwitsch)
  • conditional resolver panics on response without question (#1148)
  • don't cache DNS responses with CD flag
  • don't cache EDNS pseudo records (#1150)
  • don't convert regex from punycode to ASCII (#1126) (#1131)
  • log.privacy option no longer hides domain names being resolved (#1255)
  • return error code on server starup failure (#1165)
  • truncated responses should not be cached (#1149)
  • use different TTL of multiple records in answer
  • rewrite: support the case where upstream doesn't echo the question (Thanks @ThinkChaos)

Changelog

Read more

v0.22

30 Aug 20:09
405f3f7
Compare
Choose a tag to compare

Features:

Misc

  • fixed several errors in the documentation
  • Updated dependencies and documentation
  • allow more configuration for upstreams (thanks @ThinkChaos)
  • Ci workflow improvements (thanks @kwitsch )

Bugfix

  • use correct resolver in "using response from resolver" debug log (#1082) (@DerRockWolf)
  • make domain validation in list parser more lenient (thanks @ThinkChaos)

Changelog

Read more

v0.21

27 Mar 06:50
a37861b
Compare
Choose a tag to compare

Features:

  • support for redis sentinel(#632) -> thanks @kwitsch
  • querylog: log instance hostname to distinguish log entries in multi-instance installation(#319) -> thanks @kwitsch
  • querylog: define which information should be logged (#765)
  • querylog: reduce bulk size in database writer (#733)
  • bootstrap: support multiple upstreams (#760) -> thanks @ThinkChaos
  • bootstrap: support IP only encrypted DNS -> thanks @ThinkChaos
  • bootstrap: always prefetch upstream IPs to avoid stalling user queries -> thanks @ThinkChaos
  • hostfile: allow hosts file resolver to use a HTTP(S) link or inline block (#884) -> thanks @ThinkChaos
  • client name in clientGroupsBlock should not be case-sensitive (#894)

Misc

  • Restructuring of configuration (#771) -> thanks @kwitsch
  • reduce retry delay of the upstream resolver -> thanks @ThinkChaos
  • Updated dependencies and documentation
  • ignore end of line comments when parsing lists (#859) -> thanks @ThinkChaos
  • code mirror on codeberg.org
  • e2e integration tests

Bugfix

  • ede: fix runtime panic (#778) -> thanks @ThinkChaos
  • 'startVerifyUpstream' not disabling all start checks -> thanks @ThinkChaos
  • crash when using client upstream (#791)
  • no initial cache refresh with "fast" start strategy (#804)
  • bootstrap: connectIPVersion not being respected for upstream connections
  • query command doesn't show the client IP (#861)
  • wrong prefetch metrics if bootstrap is enabled (#891)

Changelog

Read more

v0.20

12 Nov 21:21
Compare
Choose a tag to compare

Features:

  • ability to specify certificate common name for the upstream DNS server. -> thanks @amigan
  • Add connectIPVersion to choose how Blocky connects to other hosts -> thanks @ThinkChaos
  • Add fallbackUpstream for conditional mapping -> thanks @adyanth
  • Add primary key to the query log table
  • Added simplified check for loopback -> thanks @FileGo
  • Enable start as long as at least one upstream resolver in group is reachable -> thanks @FileGo
  • Option to handle FQDN only requests -> thanks @kwitsch
  • add grafana template for Postgres -> thanks @liboz
  • caching for empty DNS responses
  • Blocky should start resolving DNS traffic as soon as possible -> thanks @kwitsch
  • delivery of blocking group as EDNS error -> thanks @kwitsch
  • Special-Use Domain Names -> thanks @kwitsch

Misc

  • Change self-signed cert to ECDSA -> thanks @FileGo
  • Disable colors when not in interactive terminal -> thanks @desolatorxxl
  • Docker container rework -> thanks @kwitsch
  • Filter loopback addresses from hosts file -> thanks @FileGo
  • Updated dependencies and documentation

Bugfix

  • Ignore non YAML files when loading from a directory -> thanks @ThinkChaos
  • format ipv6 URL for DoH bootstrap request according to RFC3513
  • set content-type header for HTTP endpoints
  • set host header for DoH requests

v0.19

07 Jun 14:21
Compare
Choose a tag to compare

Features:

  • Add rewrite support to custom DNS (#449) -> thanks @ThinkChaos
  • CustomDNS: parameter "filterUnmappedTypes" to allow/disable forwarding to the upstream resolver
  • filtering of queries (#450) (#474)
  • Support of DoH/DoT as bootstrap DNS (#485) -> thanks @ThinkChaos
  • Memory optimization internal blacklist/whitelist cache (#513) (#514)
  • Cache refresh memory consumption optimization (#470) (#515)
  • Enable "ForceAttemptHTTP2" for DoH upstreamClient -> thanks @PeterDaveHello
  • Improve DoT server TLS cipher suites -> thanks @PeterDaveHello
  • Hide DoH client http header "User-Agent" -> thanks @PeterDaveHello
  • Add HTTP Secure Headers on HTTPS server response (#545) -> thanks @PeterDaveHello
  • Make DoH/DoT server mininum TLS version configurable (#546) -> thanks @PeterDaveHello
  • Adds user customizable DoH upstream user agent (#525) -> thanks @FileGo
  • Support for multiple configuration files (#534) -> thanks @FileGo
  • Self-signed certificate generation (#532) -> thanks @FileGo

Misc

  • Updated dependencies and documentation
  • Environment variable for configurable config file location -> thanks @ohemmali

Changelog

  • e6957a3 Make DoH/DoT server mininum TLS version configurable (#546)
  • a120aaf Add HTTP Secure Headers on HTTPS server response (#545)
  • 3a7d52b Add default Block TTL information in the docs (#484)
  • 5878314 Add default Block TTL information in the docs (#484)
  • f8b6e59 Add rewrite support to custom DNS (#449)
  • 776c51f Adds user customizable DoH upstream user agent (#525)
  • 81dd0c9 Bump github.com/alicebob/miniredis/v2 from 2.18.0 to 2.19.0 (#458)
  • 8acf474 Bump github.com/alicebob/miniredis/v2 from 2.19.0 to 2.20.0 (#468)
  • 8753b91 Bump github.com/alicebob/miniredis/v2 from 2.20.0 to 2.21.0 (#507)
  • b503422 Bump github.com/avast/retry-go/v4 from 4.0.3 to 4.0.4
  • 2f8ad8a Bump github.com/avast/retry-go/v4 from 4.0.4 to 4.0.5 (#528)
  • 568e255 Bump github.com/creasty/defaults from 1.5.2 to 1.6.0
  • 3774b8c Bump github.com/go-chi/cors from 1.2.0 to 1.2.1 (#499)
  • e0f2ba4 Bump github.com/go-redis/redis/v8 from 8.11.4 to 8.11.5 (#460)
  • 404313c Bump github.com/miekg/dns from 1.1.46 to 1.1.47 (#453)
  • b2c0535 Bump github.com/miekg/dns from 1.1.47 to 1.1.48 (#489)
  • 651ab87 Bump github.com/miekg/dns from 1.1.48 to 1.1.49 (#511)
  • 1197d61 Bump github.com/onsi/ginkgo/v2 from 2.1.3 to 2.1.4 (#506)
  • 56712ff Bump github.com/onsi/gomega from 1.18.1 to 1.19.0 (#469)
  • 688dae8 Bump github.com/prometheus/client_golang from 1.12.1 to 1.12.2 (#521)
  • dbd1730 Bump github.com/spf13/cobra from 1.3.0 to 1.4.0 (#451)
  • 7289db8 Bump github.com/stretchr/testify from 1.7.0 to 1.7.1 (#456)
  • 0247a54 Bump github.com/stretchr/testify from 1.7.1 to 1.7.2 (#555)
  • 1253913 Bump github.com/swaggo/swag from 1.7.8 to 1.8.0
  • c686ca0 Bump github.com/swaggo/swag from 1.8.0 to 1.8.1 (#479)
  • 9734eef Bump gorm.io/driver/mysql from 1.3.2 to 1.3.3
  • 620e6fe Bump gorm.io/driver/mysql from 1.3.3 to 1.3.4 (#549)
  • 79f982c Bump gorm.io/driver/postgres from 1.3.1 to 1.3.3 (#487)
  • 8fabd2c Bump gorm.io/driver/postgres from 1.3.3 to 1.3.4
  • 8e472aa Bump gorm.io/driver/postgres from 1.3.4 to 1.3.5 (#503)
  • 8d0bd8e Bump gorm.io/driver/postgres from 1.3.5 to 1.3.6 (#530)
  • f151699 Bump gorm.io/driver/postgres from 1.3.6 to 1.3.7 (#548)
  • 89fdaa8 Bump gorm.io/driver/sqlite from 1.2.6 to 1.3.1 (#439)
  • 8397c44 Bump gorm.io/driver/sqlite from 1.3.1 to 1.3.2 (#504)
  • 6d33ec7 Bump gorm.io/gorm from 1.22.5 to 1.23.2 (#448)
  • 07f0d1f Bump gorm.io/gorm from 1.23.2 to 1.23.3 (#463)
  • bc8a35e Bump gorm.io/gorm from 1.23.3 to 1.23.4 (#488)
  • e34c6c7 Bump gorm.io/gorm from 1.23.4 to 1.23.5 (#505)
  • 3392de0 Cache refresh memory consumption optimization (#470) (#515)
  • 102d31e Change swagger URL to match blocky's version (#498)
  • 2bb2f97 CustomDNS: parameter "filterUnmappedTypes" to allow/disable forwarding to the upstream resolver (#467)
  • beb380e Defining env var for configurable config file location (#473)
  • 63cfaba Enable "ForceAttemptHTTP2" for DoH upstreamClient (#519)
  • 45fae43 Fix the indent of yaml code block in docs/configuration.md (#481)
  • 72a982c Fix the indent of yaml code block in docs/configuration.md (#481)
  • 4d1f09f Fixing unexpanded CMD variable with correct defaulting behavior. (#478)
  • 4690ed8 Hide DoH client http header "User-Agent", fix #446 (#518)
  • 4780b48 Improve DoT server TLS cipher suites (#520)
  • 6772438 Memory optimization internal blacklist/whitelist cache (#513) (#514)
  • eb305d7 Merge branch 'development'
  • 97aa99d Merge branch 'development'
  • b67df0b Merge pull request #486 from 0xERR0R/dependabot/go_modules/gorm.io/driver/mysql-1.3.3
  • e60b213 Merge pull request #492 from 0xERR0R/dependabot/go_modules/gorm.io/driver/postgres-1.3.4
  • 0029899 Merge pull request #496 from 0xERR0R/dependabot/go_modules/github.com/avast/retry-go/v4-4.0.4
  • 3ae4050 Merge pull request #497 from 0xERR0R/dependabot/go_modules/github.com/creasty/defaults-1.6.0
  • 8bb4f73 Removed net.Error.Temporary (#536)
  • 92fd623 Self-signed certificate generation (#532)
  • 0731ebe Support for multiple configuration files (#534)
  • 62c7816 Support of DoH/DoT as bootstrap DNS (#485)
  • bec973b Update reference configuration file in the docs (#480)
  • c4ed82f Update reference configuration file in the docs (#480)
  • 2944deb Update to Go 1.18 (#540)
  • 27c8cbf Update to gingko v2 (#447)
  • 43d3e15 Use same minTLS ver & cipher for DoH as DoT server (#524)
  • 2994e2a add additional logging context (#482) (#516)
  • f2d5b56 add logging on server start
  • f44fc03 cache DNS queries in bootstrap DNS (#454)
  • 28789ee filtering of queries (#450) (#474)
  • 07b7765 generate self-signed certificate only if TLS or HTTPS listener are enabled
  • 1ddf397 go mod tidy
  • c96802b go mod tidy
  • 2aee3ce improved LRU cache operations (avoid expensive iteration in TotalCount)
  • fd8c61c improved LRU cache operations (avoid write lock on TotalCount)
  • d1289e8 removed deprecated configuration parameters
  • 476dd7d update go-enum to v0.4.0
  • a4b8953 update golangci-lint (#510)
  • 828a706 update golangci-lint-action
  • 8d5c2b1 update setup-go action

v0.18

23 Feb 21:12
Compare
Choose a tag to compare

Features:

  • QueryLog: Configurable retry to establish the database connection
  • Configuration of TTL for custom DNS mapping -> thanks @ThinkChaos
  • Configuration of multiple listen addresses/ports -> thanks @ThinkChaos
  • Synchronization of DNS cache between multiple instances with redis (#344) -> thanks @kwitsch
  • Synchronization of blocking state between multiple instances with redis (#377) -> thanks @kwitsch
  • Use hosts file as input for custom DNS mapping (#362)-> thanks @FileGo
  • Additional Prometheus metric "failed_download_count" (#309) -> thanks @FileGo
  • Support of PostgreSQL for query log (#348)
  • Conditional forwarding of all queries for unqualified hostnames (#363) -> thanks @kwitsch
  • Use full qualified client name as group name (#329)

Bugfixes

  • Binary shows "undefined" as version

Misc

  • Updated dependencies and documentation
  • Updated Grafana dashboard -> thanks @coolguy1771
  • Docker container runs under unprivileged user instead of root
  • Release binaries for MacOs (darwin)

Changelog

  • 69dc383 Allow configuring multiple listen addresses for each port (#372)
  • 926f06c Add failed_download_count prometheus metric (#309) (#395)
  • cbcd09c Allow configuring custom DNS TTL (#370)
  • 35d257b Bump github.com/alicebob/miniredis/v2 from 2.17.0 to 2.18.0 (#415)
  • a02f7f2 Bump github.com/avast/retry-go/v4 from 4.0.2 to 4.0.3 (#427)
  • 44e3ada Bump github.com/miekg/dns from 1.1.43 to 1.1.44 (#376)
  • 2afdafb Bump github.com/miekg/dns from 1.1.44 to 1.1.45 (#383)
  • 6270b6b Bump github.com/miekg/dns from 1.1.45 to 1.1.46 (#429)
  • 64c1985 Bump github.com/onsi/gomega from 1.17.0 to 1.18.0 (#421)
  • dc65e3a Bump github.com/onsi/gomega from 1.18.0 to 1.18.1 (#423)
  • 108eeb5 Bump github.com/prometheus/client_golang from 1.11.0 to 1.12.0 (#414)
  • 2faa4a9 Bump github.com/prometheus/client_golang from 1.12.0 to 1.12.1 (#425)
  • cc968ce Bump github.com/spf13/cobra from 1.2.1 to 1.3.0 (#371)
  • 0973bb9 Bump gorm.io/driver/mysql from 1.1.3 to 1.2.0 (#346)
  • 3fa79b4 Bump gorm.io/driver/mysql from 1.2.0 to 1.2.1 (#354)
  • f0b1bd0 Bump gorm.io/driver/mysql from 1.2.1 to 1.2.2 (#384)
  • 02e1aa5 Bump gorm.io/driver/mysql from 1.2.2 to 1.2.3 (#400)
  • 7dc2bfe Bump gorm.io/driver/sqlite from 1.2.3 to 1.2.4 (#341)
  • d0a4049 Bump gorm.io/driver/sqlite from 1.2.4 to 1.2.6 (#350)
  • 9c0f5bb Bump gorm.io/gorm from 1.22.3 to 1.22.4 (#353)
  • ed72bc4 Bump gorm.io/gorm from 1.22.4 to 1.22.5 (#405)
  • 04b21e4 Do not run docker build on fork (#402)
  • df9866f Docker image vulnerability scan with grype (#441)
  • b43c7aa Enable resolving hosts file (#362)
  • d3611fb FR: DNS cache sync between multiple blocky instances (#344) (#365)
  • c88ca4a Improve error message for wrong upstream definition #356
  • 25ad3a9 Make go:build compatible with go 1.16 (#361)
  • 9259c5c Moved index.go to go:embed (#392)
  • a3edada Perform codeql scan on each commit
  • 6c38c93 Redis client (#416)
  • 5e0a4cf Release binaries for darwin (MacOS) (#390)
  • d7bf373 Replace all sleeps in tests with "eventually" from gomega (#379)
  • 4b85eed Replace retry implementation with retry-go
  • 9b47524 Retry to establish db connection for query log (#351)
  • f6f9bde Revert "Perform codeql scan on each commit"
  • 759f55d Rewrite DNS response cache (#378) (#413)
  • c176b02 Support Postgresql database for query log (#348)
  • ee451f8 Sync blocking enable/disable over redis (#377) (#403)
  • d414c26 Update dependencies
  • 9c5ba48 Update to alpine 3.15 as runtime image
  • f9369d8 Use full qualified client name as group name (#329)
  • 1fd7ddd Use non-root user in docker container (#382)
  • 8921a16 [Feature] Conditional forwarding of all queries for unqualified hostnames (#363) (#409)
  • 9fcb11e added "dist" to dockerignore
  • 2751247 added description for Conditional forwarding, reformatted
  • 75bd9f3 added timeout parameter
  • d0e68d7 added variables (export for sharing externally)
  • ccc6f88 externalize retry parameters for query log
  • d6bb02f fix lint issues
  • 96384f7 fix: binary shows "undefined" as version #373
  • 5e0020f fix: update dashboard for new grafana versions
  • 079bde5 fix: update dashboard for new grafana versions
  • f12a2ed go mod tidy
  • 9855d4f go mod tidy
  • 2b6c934 increased timeouts in test
  • 42a09f0 removed dead links (#424)
  • d6010dd removed variable value
  • b59ce46 replace blocking upstream resolvers in the documentation (#426)
  • 61ca25c sanitize log output
  • 68cc391 typo
  • 779681b update gorm dependency
  • 7ea5ba4 updated github.com/go-chi/chi
  • cdec995 updated retry-go