{"id":19724166,"url":"https://github.com/fastruby/donas","last_synced_at":"2025-07-21T21:37:11.565Z","repository":{"id":59153012,"uuid":"55924850","full_name":"fastruby/donas","owner":"fastruby","description":"A simple gem to find DNS information for a domain","archived":false,"fork":false,"pushed_at":"2016-04-29T01:41:10.000Z","size":9,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-07T16:05:16.162Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fastruby.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-04-10T22:02:13.000Z","updated_at":"2020-09-20T03:00:36.000Z","dependencies_parsed_at":"2022-09-13T11:01:20.041Z","dependency_job_id":null,"html_url":"https://github.com/fastruby/donas","commit_stats":null,"previous_names":["ombulabs/donas"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fastruby/donas","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastruby%2Fdonas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastruby%2Fdonas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastruby%2Fdonas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastruby%2Fdonas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fastruby","download_url":"https://codeload.github.com/fastruby/donas/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastruby%2Fdonas/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266384416,"owners_count":23921046,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-21T11:47:31.412Z","response_time":64,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T23:24:45.374Z","updated_at":"2025-07-21T21:37:11.540Z","avatar_url":"https://github.com/fastruby.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Donas\n\nEasily find DNS details for a domain or subdomain: Name servers, MX records, IP resolution.\n\n## Installation\n\nWith Bundler:\n\n```ruby\ngem 'donas'\n```\n\nWithout Bundler:\n\n```bash\ngem install donas\n```\n\n## Usage\n\n### Command Line\n\nIf you want to use the command line tool:\n\n```bash\n$ donas ombushop.com\nDomain: ombushop.com\nIP: 50.16.228.254\n\nName servers:\nns-1222.awsdns-24.org\nns-2028.awsdns-61.co.uk\nns-38.awsdns-04.com\nns-779.awsdns-33.net\n\nMX records:\n1 aspmx.l.google.com\n10 aspmx2.googlemail.com\n10 aspmx3.googlemail.com\n5 alt1.aspmx.l.google.com\n5 alt2.aspmx.l.google.com\n```\n\nIf you want to use it in your application:\n\n### DNS Records\n\nThis will return A, TXT, NS and CNAME records.\n\n```ruby\n\u003e Donas.a_record \"www.ombushop.com\"\n=\u003e #\u003cResolv::DNS::Resource::IN::A:0x007f831d16c220 @address=#\u003cResolv::IPv4 50.16.228.254\u003e, @ttl=59\u003e\n\u003e Donas.get_record \"ombulabs.com\"\n=\u003e #\u003cResolv::DNS::Resource::IN::A:0x007f831d16c220 @address=#\u003cResolv::IPv4 50.16.228.254\u003e, @ttl=59\u003e\n\u003e Donas.get_record \"shop.ombulabs.com\"\n=\u003e #\u003cResolv::DNS::Resource::IN::CNAME:0x007f831d3174a8 @name=#\u003cResolv::DNS::Name: tiendaombulabs.ombushop.com.\u003e, @ttl=21277\u003e\n\u003e Donas.get_records \"ombushop.com\"\n =\u003e [#\u003cResolv::DNS::Resource::IN::A:0x007f831d81ff18 @address=#\u003cResolv::IPv4 50.16.228.254\u003e, @ttl=3599\u003e, #\u003cResolv::DNS::Resource::IN::NS:0x007f831d81f540 @name=#\u003cResolv::DNS::Name: ns-1222.awsdns-24.org.\u003e, @ttl=21599\u003e, #\u003cResolv::DNS::Resource::IN::NS:0x007f831d81eaa0 @name=#\u003cResolv::DNS::Name: ns-2028.awsdns-61.co.uk.\u003e, @ttl=21599\u003e, #\u003cResolv::DNS::Resource::IN::NS:0x007f831d81df88 @name=#\u003cResolv::DNS::Name: ns-38.awsdns-04.com.\u003e, @ttl=21599\u003e, #\u003cResolv::DNS::Resource::IN::NS:0x007f831d81d5b0 @name=#\u003cResolv::DNS::Name: ns-779.awsdns-33.net.\u003e, @ttl=21599\u003e, #\u003cResolv::DNS::Resource::IN::SOA:0x007f831d81c390 @mname=#\u003cResolv::DNS::Name: ns-1222.awsdns-24.org.\u003e, @rname=#\u003cResolv::DNS::Name: awsdns-hostmaster.amazon.com.\u003e, @serial=1, @refresh=7200, @retry=900, @expire=1209600, @minimum=86400, @ttl=899\u003e, #\u003cResolv::DNS::Resource::IN::MX:0x007f831d827f38 @preference=1, @exchange=#\u003cResolv::DNS::Name: aspmx.l.google.com.\u003e, @ttl=299\u003e, #\u003cResolv::DNS::Resource::IN::MX:0x007f831d827308 @preference=10, @exchange=#\u003cResolv::DNS::Name: aspmx2.googlemail.com.\u003e, @ttl=299\u003e, #\u003cResolv::DNS::Resource::IN::MX:0x007f831d826598 @preference=10, @exchange=#\u003cResolv::DNS::Name: aspmx3.googlemail.com.\u003e, @ttl=299\u003e, #\u003cResolv::DNS::Resource::IN::MX:0x007f831d825698 @preference=5, @exchange=#\u003cResolv::DNS::Name: alt1.aspmx.l.google.com.\u003e, @ttl=299\u003e, #\u003cResolv::DNS::Resource::IN::MX:0x007f831d824798 @preference=5, @exchange=#\u003cResolv::DNS::Name: alt2.aspmx.l.google.com.\u003e, @ttl=299\u003e, #\u003cResolv::DNS::Resource::IN::TXT:0x007f831d824018 @strings=[\"v=spf1 include:_spf.google.com ~all\"], @ttl=3599\u003e, #\u003cResolv::DNS::Resource::IN::TXT:0x007f831d0f5a58 @strings=[\"v=spf1 include:sendgrid.net ~all\"], @ttl=3599\u003e, #\u003cResolv::DNS::Resource::Generic::Type99_Class1:0x007f831d82f9b8 @data=\"#v=spf1 include:_spf.google.com ~all\", @ttl=3599\u003e]\n```\n\n### IP Addresses\n\nThis will return an IP address, even if the initial record is a CNAME.\n\n```ruby\n\u003e Donas.get_address \"shop.ombulabs.com\"\n=\u003e #\u003cResolv::IPv4 50.16.228.254\u003e\n```\n\n### MX Records\n\nThis will return the MX records for a domain.\n\n```ruby\n\u003e Donas.mx_records \"ombulabs.com\"\n=\u003e [#\u003cResolv::DNS::Resource::IN::MX:0x007f831c35eb60 @preference=1, @exchange=#\u003cResolv::DNS::Name: aspmx.l.google.com.\u003e, @ttl=3599\u003e, #\u003cResolv::DNS::Resource::IN::MX:0x007f831c35dc60 @preference=10, @exchange=#\u003cResolv::DNS::Name: alt3.aspmx.l.google.com.\u003e, @ttl=3599\u003e, #\u003cResolv::DNS::Resource::IN::MX:0x007f831c35cd60 @preference=10, @exchange=#\u003cResolv::DNS::Name: alt4.aspmx.l.google.com.\u003e, @ttl=3599\u003e, #\u003cResolv::DNS::Resource::IN::MX:0x007f831d114f70 @preference=5, @exchange=#\u003cResolv::DNS::Name: alt1.aspmx.l.google.com.\u003e, @ttl=3599\u003e, #\u003cResolv::DNS::Resource::IN::MX:0x007f831c3670f8 @preference=5, @exchange=#\u003cResolv::DNS::Name: alt2.aspmx.l.google.com.\u003e, @ttl=3599\u003e]\n```\n\n### Name Servers\n\nThis will return the name servers for the main domain (even if you provide a subdomain)\n\n```ruby\n\u003e Donas.nameservers \"ombulabs.com\"\n=\u003e [#\u003cResolv::DNS::Resource::IN::NS:0x007f831d32e7c0 @name=#\u003cResolv::DNS::Name: ns-1052.awsdns-03.org.\u003e, @ttl=21599\u003e, #\u003cResolv::DNS::Resource::IN::NS:0x007f831d32dd20 @name=#\u003cResolv::DNS::Name: ns-1839.awsdns-37.co.uk.\u003e, @ttl=21599\u003e, #\u003cResolv::DNS::Resource::IN::NS:0x007f831d32d208 @name=#\u003cResolv::DNS::Name: ns-469.awsdns-58.com.\u003e, @ttl=21599\u003e, #\u003cResolv::DNS::Resource::IN::NS:0x007f831d32c830 @name=#\u003cResolv::DNS::Name: ns-665.awsdns-19.net.\u003e, @ttl=21599\u003e]\n```\n\n### Summary of a Domain\n\nThis will return MX and name records.\n\n```ruby\n\u003e Donas.summary \"ombulabs.com\"\n=\u003e {:nameservers=\u003e[#\u003cResolv::DNS::Resource::IN::NS:0x007f831c3779d0 @name=#\u003cResolv::DNS::Name: ns-1052.awsdns-03.org.\u003e, @ttl=21599\u003e, #\u003cResolv::DNS::Resource::IN::NS:0x007f831c376f30 @name=#\u003cResolv::DNS::Name: ns-1839.awsdns-37.co.uk.\u003e, @ttl=21599\u003e, #\u003cResolv::DNS::Resource::IN::NS:0x007f831c376418 @name=#\u003cResolv::DNS::Name: ns-469.awsdns-58.com.\u003e, @ttl=21599\u003e, #\u003cResolv::DNS::Resource::IN::NS:0x007f831c375a40 @name=#\u003cResolv::DNS::Name: ns-665.awsdns-19.net.\u003e, @ttl=21599\u003e], :mx_records=\u003e[#\u003cResolv::DNS::Resource::IN::MX:0x007f831c37d1c8 @preference=1, @exchange=#\u003cResolv::DNS::Name: aspmx.l.google.com.\u003e, @ttl=3599\u003e, #\u003cResolv::DNS::Resource::IN::MX:0x007f831c37c2c8 @preference=10, @exchange=#\u003cResolv::DNS::Name: alt3.aspmx.l.google.com.\u003e, @ttl=3599\u003e, #\u003cResolv::DNS::Resource::IN::MX:0x007f831c387678 @preference=10, @exchange=#\u003cResolv::DNS::Name: alt4.aspmx.l.google.com.\u003e, @ttl=3599\u003e, #\u003cResolv::DNS::Resource::IN::MX:0x007f831c386778 @preference=5, @exchange=#\u003cResolv::DNS::Name: alt1.aspmx.l.google.com.\u003e, @ttl=3599\u003e, #\u003cResolv::DNS::Resource::IN::MX:0x007f831c385878 @preference=5, @exchange=#\u003cResolv::DNS::Name: alt2.aspmx.l.google.com.\u003e, @ttl=3599\u003e]}\n```\n\n## Development\n\nAfter checking out the repo, run `bin/setup` to install dependencies.\n\nThen, run `rake` to run the tests.\n\nYou can also run `bin/console` for an interactive prompt that will allow you to experiment.\n\nTo install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/ombulabs/donas. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.\n\n## License\n\nThe gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffastruby%2Fdonas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffastruby%2Fdonas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffastruby%2Fdonas/lists"}