pocket-dns: Multi-backend (zookeeper and sqlite) DNS Server using persistent-library

[ bsd3, library, network, program ] [ Propose Tags ]

Multi-backend (zookeeper and sqlite) DNS Server using persistent-library

[Skip to Readme]
Versions [faq] 0.1.0, 0.1.1
Change log ChangeLog.md
Dependencies aeson, base (==4.*), bytestring, data-default, dns, http-conduit, iproute, monad-control, network, optparse-applicative, persistent (>=2.1 && <3), persistent-sqlite (>=2.1 && <3), persistent-template (>=2.1 && <3), persistent-zookeeper (==0.2.*), shelly, text, transformers, unordered-containers, yaml [details]
License BSD-3-Clause
Author Junji Hashimoto
Maintainer junji.hashimoto@gmail.com
Category Network
Bug tracker https://github.com/junjihashimoto/pocket-dns/issues
Source repo head: git clone https://github.com/junjihashimoto/pocket-dns.git
Uploaded by junjihashimoto at Fri Feb 27 11:45:18 UTC 2015
Distributions NixOS:0.1.1
Executables pocket-dns
Downloads 715 total (21 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
Last success reported on 2015-05-20 [all 8 reports]


  • Network
    • DNS
      • Network.DNS.Pocket
        • Network.DNS.Pocket.Server
        • Network.DNS.Pocket.Sqlite
        • Network.DNS.Pocket.Type
        • Network.DNS.Pocket.Zookeeper


Maintainer's Corner

For package maintainers and hackage trustees

Readme for pocket-dns-0.1.1

[back to package description]

PocketDNS: Multi-backend (zookeeper and sqlite) DNS Server using persistent-library

Hackage version Build Status

PocketDNS is multi-backend (zookeeper and sqlite) DNS Server using persistent-library.

Getting started

Install this from Hackage.

cabal update && cabal install pocket-dns


Set conf.yml which is backend settings. When backend is zookeeper, conf.yml's format is below.

backend: zookeeper
coord: localhost:2181/
timeout: 300000
num-stripes: 1
idletime: 300000
max-resource: 30

When backend is sqlite, conf.yml's format is below.

backend: sqlite
database: pocket-dns.sqlite3
poolsize: 10

Then launch dns-server and set domain and ip-address.

pocket-dns daemon &
pocket-dns set <domain>. <ip-address>

When domain is not found, pocket-dns checks '/etc/resolv.conf'.



Set ip-address of domain

pocket-dns set <domain-name>. <ip-address>


Show ip-address of domain

pocket-dns get <domain-name>.


Show all domain and ip-address

pocket-dns list


Delete domain

pocket-dns delete <domain-name>.


Launch dns-server

pocket-dns daemon