Releases: qdm12/dns
Releases · qdm12/dns
v1.10.0
v1.9.0
Documentation
- Run container as root for older Docker and/or Kernel
Maintenance
- Upgrade
github.com/qdm12/golibs
package for newer command package- Run Unbound with a different process group id so it is not stopped when receiving an OS signal
- Update golangci-lint to v1.41.1
- Update list of linters
- Fix lint issues
v1.8.0
v1.7.0
Fixes
- Split
::ffff:0:0/96
in multiple IPv6 mapped IPv4 private networks - Parse IPv6-mapped IPv4 addresses correctly (rebinding protection) using
inet.af/netaddr
Documentation
- Raspberry Pi setup step for Alpine 3.13 (see #77)
Maintenance
- Move all splash files in
pkg/splash
- Use
netaddr.IP
directly as map key for IP blacklist - Rename IPNets to IPPrefixes to match netaddr's API
Go API
v1.6.0
Bug fixes
- Fix unbound loop logic sometimes running two Unbound instances
- Fix restart logic in unbound loop
- Fix proper exit on crash in unbound loop
Features
- New DoT providers
cira family
cira private
quad9 secured
quad9 unsecured
- Upgrade from Alpine 3.12 to 3.13
- Upgrade from Unbound 1.10.1 to 1.13.0
CHECK_UNBOUND
renamed toCHECK_DNS
(retro-compatibility maintained)
Maintenance
- Remove duplicate signal logic in main.go
- Update logging library included in golibs
- Always use DNSSEC validation for Unbound as all providers support it
- Remove
pkg/models
type aliases - Use
pkg/provider
and removepkg/models
(ProviderData
) - Remove unused PUID and PGID for Unbound
- Move Unbound
Settings
topkg/unbound
package - Move
Username
topkg/unbound
'sSettings
- Move all settings parsing, setting and validation in the
internal/config
package
Go API
pkg/dot
package- DoT resolver
- DoT DNS server
- Support for both IPv4 and IPv6 DoT/DNS upstream server IP addresses
- Option to fallback on plain DNS on failure
- Thread safe cycling operation for all settings (service providers, service IP addresses etc.)
- Specify DNS server listening port
pkg/doh
package- DoH resolver (using the DoT resolver to resolve the DoH url)
- DoH DNS server
- Thread safe cycling operation for all settings (service providers, service IP addresses etc.)
- Specify DNS server listening port
pkg/provider
package- All providers DNS, DoT and DoH information
- Add more providers
pkg/cache
package- LRU based caching for DNS servers
- Used by
pkg/dot
andpkg/doh
pkg/blacklist
- Hostnames blocking
- IPs blocking
- IP networks blocking
- Blocklist building with
BuilderSettings
- Mocks generated for all new packages
examples/
directory with example main.go for DoT and DoH resolvers and DNS servers
v1.5.1
v1.4.1
v1.5.0
Bug fixes
- Fix settings formatting in logs of program
Documentation
- Update readme
Maintenance
- Upgrade qdm12/golibs and all direct dependencies
- Upgrade to Go 1.16
- Refactor main.go using
signal.NotifyContext
- CI Github Actions and Dockerfile simplifications
- Run tests in CI to pass coverage
- Run lint and test on build architecture only
- Bump golangci-lint to 1.37.1
- Cross compile Go binary using native Go compiler
- Only the final image is run on emulated Docker CPU architecture
- Prepare for DoT and DoH implementation in Go
- Split apart blacklisting and OS related functions from
pkg/unbound
package topkg/blacklist
andpkg/nameserver
- Move
WaitForUnbound
frompkg/unbound
topkg/check
asWaitForDNS
- Split apart blacklisting and OS related functions from
Dev setup
- Fix Go extension name in dev container
- Change bind mounts in dev container
~/.ssh
as read and write (causing issue on Windows otherwise)- Bind mount shell history
~/.zsh_history
v1.4.0
Features
- Configurable access control
- Create
include.conf
in/etc
directory - Go API: add settings
String()
method usingLines()
method - Go API: Improve settings formatting (#56)
- Add providers variants
- Cloudflare security
- Cloudflare family
- Cleanbrowsing family
- Cleanbrowsing adult
Bug fixes
- Fix
UseDNSSystemWide
- Fix
keepNameserver
option effect - Fix settings
Lines()
method
Maintenance
- Go API: CA certificates as input to Configurator
- Using slices instead of maps for config lines
- Update golibs (params package)
- Refactor run loop
- Fix lint errors
v1.4.0-rc5
Fix lint errors