Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

NotificationsYou must be signed in to change notification settings

alexdalitz/dnsruby

Repository files navigation

[Build Status]Coverage Status

Dnsruby

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

Dependencies

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.

Demo Code

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.

Unit Tests

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

Usage Help

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

Contact/Links

Link TypeLink/Text
Author Emailalex@caerkettontech.com
Githubhttps://github.com/alexdalitz/dnsruby
Google Grouphttps://groups.google.com/forum/#!forum/dnsruby
Rubygemshttp://rubygems.org/gems/dnsruby/
Documentationhttps://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

Stars

Watchers

Forks

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp