Skip to content

A modern Dart package for working with the DNS protocol, supporting query parsing, encoding, and response handling with IPv4/IPv6 support. Updated for Dart 3.8.1 and compatible with the Super IP/Raw stack.

License

Notifications You must be signed in to change notification settings

dab246/super_dns

Repository files navigation

Super DNS

Pub Version Dart SDK

A modern Dart package for working with the DNS protocol, supporting query parsing, encoding, and response handling with IPv4 and IPv6 support.

Built on top of super_ip and super_raw for efficient binary-level DNS message handling.


🚀 Features

✅ Fully null-safe
✅ Compatible with Dart 3.8+
✅ DNS query and response parsing
✅ Support for A, AAAA, MX, TXT, and SRV records
✅ Works with IPv4 and IPv6


📦 Installation

Add to your pubspec.yaml:

dependencies:
  super_dns: ^0.1.0

Then run:

dart pub get

🧠 Example

import 'package:super_dns/super_dns.dart';

void main() async {
  final query = DnsQuery.standard('example.com', type: DnsRecordType.a);
  final response = await DnsClient.google().lookup(query);

  print('Got ${response.answers.length} answers:');
  for (final answer in response.answers) {
    print(answer);
  }
}

🧩 Dependencies


🛠 Development

Run tests:

dart test

Run analysis:

dart analyze

📄 License

MIT © 2025 dab246

About

A modern Dart package for working with the DNS protocol, supporting query parsing, encoding, and response handling with IPv4/IPv6 support. Updated for Dart 3.8.1 and compatible with the Super IP/Raw stack.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages