A pure Ruby DNS(SEC) client library implementing a stub resolver with full RFC compliance and high-performance I/O.
Dnsruby is a pure Ruby DNS client library that implements a stub resolver with full support for DNS and DNSSEC protocols. It provides a feature-complete solution for DNS queries, zone transfers, dynamic updates, and DNSSEC validation, designed to comply with all relevant RFCs. The library is optimized for high-volume applications through efficient concurrent query handling.
Ruby developers and system administrators who need to perform DNS operations programmatically, especially those working with DNSSEC, zone management, or high-throughput DNS applications.
Developers choose Dnsruby for its comprehensive RFC compliance, DNSSEC support, and performance-oriented design, making it a reliable alternative to system resolvers or other DNS libraries in Ruby ecosystems.
Dnsruby is a feature-complete DNS(SEC) client for Ruby, as used by many of the world's largest DNS registries and the OpenDNSSEC project
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements all DNS RFCs, including generic RR types per RFC3597, ensuring strict standards adherence for reliable DNS operations.
Provides DNSSEC validation, signed zone transfers (AXFR/IXFR), and dynamic updates, making it ideal for secure DNS implementations.
Uses a single I/O thread to handle concurrent queries efficiently, suitable for high-volume DNS applications as highlighted in the README.
Supports numerous RR types including A, AAAA, DNSKEY, RRSIG, and TSIG, covering advanced DNS use cases beyond basic resolution.
Requires OpenSSL for TSIG and DNSSEC features, which may not be available on all Ruby platforms and can cause deployment issues.
Tests and some functionality depend on bundler and specific minitest versions, adding complexity to initial setup and maintenance.
Limited to Ruby applications, making it unsuitable for polyglot projects or teams using other programming languages.