REST-DNS Project

REST-DNS is a project for web developers those who need to get DNS information but cannot create raw requests. The platform we target on is Web-Browser Extensions (such as Firefox Extensions, Chrome Extensions), Google App Engine, and so on. On such application platform, you can create HTTP request but cannot create DNS request by yourself. This is very useful for Javascript users. We provide simple interface based on REST architecture, that answers DNS request, so that you can use DNS information for your applications. You may also get DNSSEC RRs from REST-DNS if you want; We don't provide you the information whether the RR is verified or not.

Easy Interface:

JSON Interface:

More Informations:

Examples

Try access at http://restdns.net/example.org/. It will show you of the IP address bound to example.org.
Then try access at http://restdns.net/example.org/aaaa/ which shows you the IPv6 address bound to example.org, in a JSON style.
For other types of DNS record, such as MX, TEXT, NS, SOA, it's all the same.

How to read JSON response

Here I show an example of the returning JSON data.
	{
	  "A": [
	    "192.0.32.10"
	  ],
	  "AAAA": [
	    "2620:0:2D0:200::10"
	  ],
	  "SOA": [
	    {
	      "serial": 2010073621,
	      "retry": 3600,
	      "mname": "dns1.icann.org",
	      "refresh": 7200,
	      "minimum": 3600,
	      "rname": "",
	      "expire": 1209600
	    },
	    {
	      "serial": 2010073621,
	      "retry": 3600,
	      "mname": "dns1.icann.org",
	      "refresh": 7200,
	      "minimum": 3600,
	      "rname": "",
	      "expire": 1209600
	    }
	  ],
	  "hostname": "example.org"
	}
      
We provide DNS records with dictionary records. For each types of records, the records will be given in a list. Each element of the list is either a dictionary or a simple string. For A, AAAA, MX, NS, TEXT, the element will be a simple string. For MX, SOA, the element will be a dictionary.
If you want to get serial of SOA, access will be something like:
	#!ruby
	require 'net/http'
	require 'json'

	res = Net::HTTP.get('restdns.net', '/example.org/soa')
	rd = JSON.parse(res)
	rd["SOA"][0]["serial"]
      

Restrictions

We do provide SOA requests, but we do not provide RNAME property, due to spam mail problems. * honeypot *
We provide NS records, but not ready for providing glue records yet. If you need it, please ask again.

Mailing List:

We will be providing announcements via mailing list. The announcements should be: and so on.
To join our mailing list, please contact suu-g .

Contact:

please contact: rest-adm@restdns.net .

Source Code

Version 0.31
Version 0.2
This source code is licensed as MIT License. Please read LICENSE file for more information.

Copyright (c) 2010-2011 suu-g all rights reserved.