- Notifications
You must be signed in to change notification settings - Fork79
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
License
alexdalitz/dnsruby
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Dnsruby is a pure Ruby DNS client library which implements astub resolver. It aims to comply with all DNS RFCs.
Dnsruby presents an enhanced API for DNS. It is based on Ruby's coreresolv.rb Resolv API, but has been much extended to provide acomplete DNS implementation.
Dnsruby runs a single I/O thread to handle all concurrentqueries. It is therefore suitable for high volume DNS applications.
The following is a (non-exhaustive) list of features :
Implemented RRs : A, AAAA, AFSDB, ANY, CAA, CERT, CNAME, DNAME,GPOS, HINFO, ISDN, LOC, MB, MG, MINFO, MR, MX, NAPTR, NS, NSAP,NXT, OPT, PTR, PX, RP, RT, SOA, SPF, SRV, TKEY, TSIG, TXT,WKS, X25, DNSKEY, RRSIG, NSEC, NSEC3, NSEC3PARAM, DS, DLV
Generic RR types supported (RFC3597)
(Signed) Zone transfer (AXFR and IXFR) supported
(Signed) Dynamic updates supported
DNSSEC validation supported
Dnsruby can run with no dependencies. However, if you wish touse TSIG or DNSSEC then the OpenSSL library must be available.This is a part of the Ruby standard library, but appears not tobe present on all Ruby platforms. If it is not available, thenthe test code will not run the tests which require it. Code whichattempts to use the library (if it is not present) will raise anexception.
The demo folder contains some example programs using Dnsruby.These examples include a basic dig tool (rubydig) and a tool toconcurrently resolve many names, amongst others.
Tests require a current version of minitest (see the .gemspec filefor which version is required). In order for the tests to runsuccessfully you may need to have the bundler gem installed andrunbundle
orbundle install
from the project root to installa suitable version of minitest.
There are "online" and "offline" tests. You can use rake toconveniently run the tests. From the project root you can run:
rake test # run all testsrake test_offline # run only offline testsrake test_online # run only online tests
If you get the following error when running rake test tasks,then you may need to preface the command with bundle exec toensure that the gem versions specified in Gemfile.lock are usedat runtime:
bundle exec rake test
There are a couple of blog articles that might be helpfulin understanding how to use Dnsruby. These used to be hosted byNominet UK, however the original content has been copied to thednsruby github wiki at :
https://github.com/alexdalitz/dnsruby/wiki
Link Type | Link/Text |
---|---|
Author Email | alex@caerkettontech.com |
Github | https://github.com/alexdalitz/dnsruby |
Google Group | https://groups.google.com/forum/#!forum/dnsruby |
Rubygems | http://rubygems.org/gems/dnsruby/ |
Documentation | https://www.rubydoc.info/gems/dnsruby/ |
About
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
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.