Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
66 lines (42 sloc) 2 KB

A Ruby client for the EveryDNS domain service. Uses Net::HTTP and HTML scraping to communicate with EveryDNS.

Currently supports the adding and removing of domains with A, CNAME, NS, MX, TXT, AAAA records (only those who have donated to EveryDNS can add TXT records).


Sorry, not yet packaged up as a gem:

git clone git://
cd everydns_rb/lib
irb -r everydns


require 'everydns'

client ='username', 'password')

# returns an EveryDNS::DomainList object

# Adds domain '' to list of domains managed by EveryDNS
client.add_domain ''

# Adds domain '' mirroring ''
client.add_domain '', :secondary, ''

# now lists added domain as managed by EveryDNS

# List records for specified domain, returns EveryDNS::DomainList
domain_list = client.list_records ''

# Array of only MX records

# Array of only CNAME records

# now add a record and show list with new record
clinet.list_records ''
client.add_record '', '', :A, ''

There are still some rough edges. One design goal was to have no dependencies so no additional dependencies need to be installed. There is a good amount of test coverage to keep this sane.


  • Additional error checking and input sanitization to ensure proper host names and IP addresses
  • CLI utility
  • Bootable web interface via Sinatra/Rack?


Started as a port from Scott Yang's python EveryDNS utility.