#!/usr/bin/env ruby
require 'rubydns'

INTERFACES = [
	[:udp, '0.0.0.0', 5300],
	[:tcp, '0.0.0.0', 5300]
]

Name = Resolv::DNS::Name
IN = Resolv::DNS::Resource::IN

# Use upstream DNS for name resolution.
UPSTREAM = RubyDNS::Resolver.new([[:udp, '8.8.8.8', 53], [:tcp, '8.8.8.8', 53]])

# Start the RubyDNS server
RubyDNS.run_server(INTERFACES) do
	match(/test.mydomain.org/, IN::A) do |transaction|
			transaction.respond!('10.0.0.80')
	end

	# Default DNS handler
	otherwise do |transaction|
			transaction.passthrough!(UPSTREAM)
	 end
end
