super_dns_client 0.3.1
super_dns_client: ^0.3.1 copied to clipboard
A modern and lightweight Dart library for performing DNS-over-HTTPS (DoH) lookups. Supports multiple resolvers and easy integration for Flutter and server-side apps.
Changelog #
0.3.1 #
๐ง Public Exports #
- Exported all new SRV-related classes and clients in
super_dns_client.dart:BaseUdpSrvClientSystemUdpSrvClientPublicUdpSrvClientSrvRecordDnsResolverDnsClient
๐งฉ Improvements #
- Ensured all new resolvers and models are available for external import.
- Minor cleanup and final formatting before release.
0.3.0 #
โจ New Features #
- Added
BaseUdpSrvClientabstract class for shared SRV lookup logic. - Implemented:
SystemUdpSrvClient: queries SRV records via system-configured DNS (UDP โ TCP fallback).PublicUdpSrvClient: queries SRV records via public resolvers (Quad9, AdGuard, Yandex, OpenDNS, etc.).DnsOverHttps.lookupSrvMulti(): sequential SRV lookup (Google โ Cloudflare fallback).DnsOverHttps.lookupSrvParallel(): parallel SRV lookup (runs both resolvers simultaneously).
- Added
SrvRecordmodel for typed SRV response handling instead of generic Map. - Improved example
dns_client_example.dartto demonstrate all client types:- System resolver
- Public resolver
- DoH (Google, Cloudflare, Mullvad)
- Added complete test coverage for:
- UDP/TCP SRV clients
- DoH SRV (multi + parallel)
- System and public resolver detection
- Error fallback (UDP timeout โ TCP)
- Refactored project structure:
lib/src/doh/ lib/src/udp_tcp/ lib/src/models/ example/dns_client_example.dart
โ๏ธ Improvements #
- Enhanced fallback logic between Google and Cloudflare DoH resolvers.
- Added English-only documentation comments for consistency.
- Improved debug logging for all SRV clients.
๐งฉ Fixes #
- Better error handling for IPv6 and system DNS detection.
- Tests now handle dynamic DNS environments safely (no hardcoded IPs).
- Fixed internal method visibility and export paths.
๐งช Tests #
- Added new unit tests for:
DnsOverHttps.lookupSrvMulti()DnsOverHttps.lookupSrvParallel()
- Ensured 100% test coverage across DoH, UDP, and TCP clients.
๐ง Misc #
- Updated GitHub workflows (
analyze.yml,test.yml). - Cleaned up comments and improved readability throughout the codebase.
0.2.1 #
0.2.0 #
โจ New Features #
- Added DnsOverHttpsBinaryClient for binary DNS-over-HTTPS lookups (RFC 8484).
- Support for SRV record resolution over DoH.
- Added DnsResolver object model (
name,url,supportsGet,isTrusted). - Built-in non-GAFAM resolvers:
- Quad9
- AdGuard
- Yandex
- OpenDNS
- Mullvad (GET only)
โ๏ธ Improvements #
- Automatic GET/POST selection depending on resolver capability.
- Unified
lookup()andlookupDataByRRType()API with optionalresolverName. - Enhanced error handling for invalid resolvers and DoH failures.
๐งช Tests & Examples #
- Added unit tests for SRV and A record lookups via Quad9.
- Updated example to demonstrate both
DnsOverHttpsandDnsOverHttpsBinaryClientusage.
0.1.0 #
๐ Initial release of super_dns_client
- Added DNS-over-HTTPS client implementation
- Supported Google, Cloudflare, Quad9, and OpenDNS resolvers
- Supported record types:
A,AAAA,CNAME,SRV,TXT - Added base response model with
freezedandjson_serializable - Unit tests and CI configuration ready