Download Latest Version blocky_v0.33.0_Windows_x86_64.zip (13.0 MB)
Email in envelope

Get an email when there's a new version of Blocky

Home / v0.32.0
Name Modified Size InfoDownloads / Week
Parent folder
blocky_checksums.txt 2026-06-16 2.1 kB
blocky_v0.32.0_Netbsd_arm64.tar.gz 2026-06-16 9.9 MB
blocky_v0.32.0_Netbsd_armv7.tar.gz 2026-06-16 10.3 MB
blocky_v0.32.0_Freebsd_armv6.tar.gz 2026-06-16 11.8 MB
blocky_v0.32.0_Linux_mips_softfloat.tar.gz 2026-06-16 9.9 MB
blocky_v0.32.0_Netbsd_x86_64.tar.gz 2026-06-16 12.5 MB
blocky_v0.32.0_Linux_arm64.tar.gz 2026-06-16 11.7 MB
blocky_v0.32.0_Openbsd_armv6.tar.gz 2026-06-16 10.3 MB
blocky_v0.32.0_Freebsd_arm64.tar.gz 2026-06-16 11.4 MB
blocky_v0.32.0_Netbsd_armv6.tar.gz 2026-06-16 10.3 MB
blocky_v0.32.0_Openbsd_x86_64.tar.gz 2026-06-16 12.5 MB
blocky_v0.32.0_Linux_armv6.tar.gz 2026-06-16 12.1 MB
blocky_v0.32.0_Linux_armv7.tar.gz 2026-06-16 12.0 MB
blocky_v0.32.0_Linux_mipsle_softfloat.tar.gz 2026-06-16 9.9 MB
blocky_v0.32.0_Windows_x86_64.zip 2026-06-16 12.9 MB
blocky_v0.32.0_Darwin_arm64.tar.gz 2026-06-16 11.9 MB
blocky_v0.32.0_Openbsd_arm64.tar.gz 2026-06-16 11.4 MB
blocky_v0.32.0_Openbsd_armv7.tar.gz 2026-06-16 10.3 MB
blocky_v0.32.0_Darwin_x86_64.tar.gz 2026-06-16 12.9 MB
blocky_v0.32.0_Freebsd_armv7.tar.gz 2026-06-16 11.8 MB
blocky_v0.32.0_Freebsd_x86_64.tar.gz 2026-06-16 12.6 MB
blocky_v0.32.0_Linux_x86_64.tar.gz 2026-06-16 12.8 MB
README.md 2026-06-16 4.7 kB
v0.32.0 source code.tar.gz 2026-06-16 7.6 MB
v0.32.0 source code.zip 2026-06-16 7.8 MB
Totals: 25 Items   256.7 MB 0

Changelog

Features

  • c851293904f8a7f941e09448b1f0fe5b4a935994: feat(blocking): log the matched rule in the block reason (#2091) (@0xERR0R)
  • 87be127f9e58df90f59b2a4f7782426722df5c17: feat(cache): Shard the result cache to remove the single-lock read ceiling (#2097) (@0xERR0R)
  • 7c6da156e8fe22446e4bbe0d80b609fef3c51dea: feat(config): structurally merge config folder files (#1827) (#2112) (@0xERR0R)
  • e7958e0dc14322583ea7e32edcea44f2aeb487c1: feat(lists): opt-in on-disk download cache with conditional revalidation (#2087) (@0xERR0R)
  • b82199b64a8429f185fa04c1a7b750c86ddca245: feat(querylog): ignore domains (exact/wildcard/regex) in query log (#2084) (@0xERR0R)
  • bee2d8bb87d1f5f5013b1a526d29ef813834e5a1: feat(resolver): UDP-first plain-DNS upstream and EDNS0 buffer floor (#2100) (@0xERR0R)
  • 0b70e5cfd2838325d53e9d8ac9ee69248eb1fb1a: feat(resolver): add DNS rebinding protection (#2111) (@0xERR0R)
  • 1b8e08a6f93c9f4b618d092067a49a06cefb9824: feat(resolver): pool DoT connections and enable TLS session resumption (#2098) (@0xERR0R)
  • 4018d9e5da51215d183310e24be0e81e9ab1035f: feat: in-memory statistics subsystem with /api/stats REST endpoint (#2093) (@0xERR0R)
  • 7abca446a597103b122e9894c176e4468b81b958: feat: support PROXY protocol on proxied DoT/DoH listeners (#2094) (@kastakhov)

Bug fixes

  • 2496d12559f344fe0e49fd069b324d1ec3c4da7d: fix(dnssec): close DNSSEC validation bypass & cache-scope pollution (GHSA-x845-2f78-7v36) (#2119) (@0xERR0R)
  • 06555e04de1fa4063d05fe0520e38f7af325dcd5: fix(metrics): bound reason label cardinality for blocked responses (#2114) (@0xERR0R)
  • e0ea9b3ea56e3d074569abd3010251e7c6ebd593: fix(resolver): eliminate recursive RLock deadlock in blocking group resolution (#2106) (@0xERR0R)
  • 80f742e6f0d9612d494f065f8202e61a5c7b4c97: fix(server): answer browser CORS preflights for custom headers and Private Network Access (#2109) (@0xERR0R)
  • 9702c8fbd0b8f9356e0e0879ffc495f2944668b8: fix(stats): populate allow/denylist counts in /api/stats at startup (#2113) (@0xERR0R)

Build and dependencies

  • 821e378131b78398a62f81c6dbf788dfd5d9a379: build(deps): bump codecov/codecov-action from 6 to 7 (#2089) (@dependabot[bot])
  • d63f84b37aa234e8e80390c09b2e45e9e4a14a89: build(deps): bump github.com/0xERR0R/expiration-cache from 0.1.0 to 0.2.0 (#2095) (@dependabot[bot])
  • 81f2b2a523ab0dc2f84fa2a50dd7161ebc82292d: build(deps): bump github.com/onsi/ginkgo/v2 from 2.29.0 to 2.30.0 (#2108) (@dependabot[bot])
  • 9c5abdfcb2bf7b27d8c6bf9c55e3092ef170de1b: build(deps): bump github.com/onsi/ginkgo/v2 from 2.30.0 to 2.31.0 (#2116) (@dependabot[bot])
  • 6c0ec5f604a8e4b4c6cfe305c881cf226eb3ddaf: build(deps): bump github.com/onsi/gomega from 1.41.0 to 1.42.0 (#2115) (@dependabot[bot])
  • 4beb9fed8373ddd0ab4d0567c17ee5f1195adcfe: build(deps): bump github.com/quic-go/quic-go from 0.59.1 to 0.60.0 (#2090) (@dependabot[bot])
  • 8fe22023516e25a57d6aacf23f60f4c7e6e4de80: build(deps): bump golang.org/x/net from 0.55.0 to 0.56.0 (#2101) (@dependabot[bot])
  • 52fa6a4863aa40ad09bd95817d2bac018f671476: build(deps): bump golang.org/x/sys from 0.45.0 to 0.46.0 (#2096) (@dependabot[bot])

Misc

  • 1c9f717c9d2fad94e01accd28466f1d09b067b8b: ci(e2e): speed up e2e job via Ginkgo proc oversubscription (#2085) (@0xERR0R)
  • 8d49922a9afad384f070cf50b2194e792b3282b4: ci: cross-compile multi-arch docker image instead of QEMU emulation (#2081) (@0xERR0R)
  • 355a9a177ae6d462d74c78766af61e0460fd821a: docs(grafana): redesign Grafana dashboard and update integration guide (#2110) (@0xERR0R)
  • c791e8057e199b318e8062f1924bbb35c01deb7e: perf(e2e): probe blocky healthcheck at 250ms during start period (#2086) (@0xERR0R)
  • a0fb375df96631c0889c69b2e29b32518845e775: perf(lists): speed up blocklist loading (cache build + parsing) (#2083) (@0xERR0R)
  • 316b073dfe33944f46863d001206a5d489e3d6d5: perf(resolver): pre-classify client groups to cut per-query allocations (#2103) (@0xERR0R)
  • d5028066c9af5b09cff89455e2d87fae7c7323ed: perf(server): let Truncate decide response compression (#2102) (@0xERR0R)
  • 8b3251296901646f1e4bd6a37737fcdd493b9cdb: test(e2e): de-flake PROXY protocol and upstream init.strategy specs (#2099) (@0xERR0R)

❤️ Support Blocky

Blocky is free and open source, developed in my spare time — no telemetry, no ads, no hidden filtering. If it's useful to you, please consider supporting its continued development:

GitHub Sponsors · thanks.dev · Liberapay · Ko-fi · PayPal

Thank you to everyone supporting Blocky! 🙏

Source: README.md, updated 2026-06-16