# Exdns
[![Build Status](https://api.travis-ci.org/dnsimple/exdns.svg?branch=master)](https://travis-ci.org/dnsimple/exdns/)
A port of erldns (https://github.com/aetrion/erl-dns) to Elixir.
*NOTE*: This application is in the very early stages of development. It passes all of the tests currently defined in https://github.com/dnsimple/dnstest however it is not on parity with erl-dns functionality yet.
## Installation
If [available in Hex](https://hex.pm/docs/publish), the package can be installed as:
1. Add exdns to your list of dependencies in `mix.exs`:
def deps do
[{:exdns, "~> 0.0.1"}]
end
2. Ensure exdns is started before your application:
def application do
[applications: [:exdns]]
end
## Running locally
Run with `mix run --no-halt`
Note that to run in production you will need to set up a production configuration
and add one or more servers to it.
```
config :exdns, servers: [
%{name: :udp_inet_localhost_1, type: Exdns.Server.UdpServer, address: "127.0.0.1", port: 8053, family: :inet},
%{name: :udp_inet6_localhost_1, type: Exdns.Server.UdpServer, address: "::1", port: 8053, family: :inet6},
%{name: :tcp_inet_localhost_1, type: Exdns.Server.TcpServer, address: "127.0.0.1", port: 8053, family: :inet},
%{name: :tcp_inet6_localhost_1, type: Exdns.Server.TcpServer, address: "::1", port: 8053, family: :inet6}
]
```