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]


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


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.1.0, 0.1.1
Change log ChangeLog.md
Dependencies aeson, base (>=4 && <5), 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 && <0.3), 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 2015-02-27T11:45:18Z
Reverse Dependencies 1 direct, 0 indirect [details]
Executables pocket-dns
Downloads 1422 total (5 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2015-05-20 [all 8 reports]

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