• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..11-Oct-2018-

AUTHORSH A D11-Oct-201827 21

CONTRIBUTORSH A D11-Oct-2018150 1110

COPYRIGHTH A D11-Oct-2018512 107

Gopkg.lockH A D11-Oct-2018651 2217

Gopkg.tomlH A D11-Oct-2018602 2723

LICENSEH A D11-Oct-20181.6 KiB3326

Makefile.fuzzH A D11-Oct-2018671 3417

Makefile.releaseH A D11-Oct-2018992 5331

README.mdH A D11-Oct-20185.3 KiB169143

client.goH A D11-Oct-201815.9 KiB597446

clientconfig.goH A D11-Oct-20183.4 KiB140109

compress_generate.goH A D11-Oct-20185.3 KiB199155

dane.goH A D11-Oct-2018997 4440

defaults.goH A D11-Oct-20188.3 KiB289197

dns.goH A D11-Oct-20182.3 KiB9865

dnssec.goH A D11-Oct-201819.3 KiB786628

dnssec_keygen.goH A D11-Oct-20184.2 KiB179151

dnssec_keyscan.goH A D11-Oct-20186.7 KiB298251

dnssec_privkey.goH A D11-Oct-20182.9 KiB9476

doc.goH A D11-Oct-20189.8 KiB2731

edns.goH A D11-Oct-201818.3 KiB628443

format.goH A D11-Oct-20182.3 KiB8877

fuzz.goH A D11-Oct-2018307 2417

generate.goH A D11-Oct-20183.8 KiB160135

labels.goH A D11-Oct-20184 KiB192140

msg.goH A D11-Oct-201831.8 KiB1,207952

msg_generate.goH A D11-Oct-201810.1 KiB349301

msg_helpers.goH A D11-Oct-201816.6 KiB638555

nsecx.goH A D11-Oct-20182.5 KiB10793

privaterr.goH A D11-Oct-20184 KiB149107

rawmsg.goH A D11-Oct-20181.1 KiB5036

reverse.goH A D11-Oct-2018897 3926

sanitize.goH A D11-Oct-20182 KiB8559

scan.goH A D11-Oct-201823.6 KiB1,008860

scan_rr.goH A D11-Oct-201848.6 KiB2,2041,885

scanner.goH A D11-Oct-20181 KiB5744

server.goH A D11-Oct-201820.4 KiB783584

sig0.goH A D11-Oct-20184.9 KiB219187

singleinflight.goH A D11-Oct-20181.4 KiB5836

smimea.goH A D11-Oct-20181.4 KiB4832

tlsa.goH A D11-Oct-20181.1 KiB4837

tsig.goH A D11-Oct-20189.3 KiB387313

types.goH A D11-Oct-201831.6 KiB1,3821,123

types_generate.goH A D11-Oct-20186.9 KiB273215

udp.goH A D11-Oct-20182.9 KiB10367

udp_windows.goH A D11-Oct-20181.2 KiB3820

update.goH A D11-Oct-20183.1 KiB10783

version.goH A D11-Oct-2018274 169

xfr.goH A D11-Oct-20186.4 KiB261207

zcompress.goH A D11-Oct-20185.1 KiB156151

zmsg.goH A D11-Oct-201876.1 KiB3,6163,396

ztypes.goH A D11-Oct-201822.9 KiB864851

README.md

1[![Build Status](https://travis-ci.org/miekg/dns.svg?branch=master)](https://travis-ci.org/miekg/dns)
2[![Code Coverage](https://img.shields.io/codecov/c/github/miekg/dns/master.svg)](https://codecov.io/github/miekg/dns?branch=master)
3[![Go Report Card](https://goreportcard.com/badge/github.com/miekg/dns)](https://goreportcard.com/report/miekg/dns)
4[![](https://godoc.org/github.com/miekg/dns?status.svg)](https://godoc.org/github.com/miekg/dns)
5
6# Alternative (more granular) approach to a DNS library
7
8> Less is more.
9
10Complete and usable DNS library. All widely used Resource Records are supported, including the
11DNSSEC types. It follows a lean and mean philosophy. If there is stuff you should know as a DNS
12programmer there isn't a convenience function for it. Server side and client side programming is
13supported, i.e. you can build servers and resolvers with it.
14
15We try to keep the "master" branch as sane as possible and at the bleeding edge of standards,
16avoiding breaking changes wherever reasonable. We support the last two versions of Go.
17
18# Goals
19
20* KISS;
21* Fast;
22* Small API. If it's easy to code in Go, don't make a function for it.
23
24# Users
25
26A not-so-up-to-date-list-that-may-be-actually-current:
27
28* https://github.com/coredns/coredns
29* https://cloudflare.com
30* https://github.com/abh/geodns
31* http://www.statdns.com/
32* http://www.dnsinspect.com/
33* https://github.com/chuangbo/jianbing-dictionary-dns
34* http://www.dns-lg.com/
35* https://github.com/fcambus/rrda
36* https://github.com/kenshinx/godns
37* https://github.com/skynetservices/skydns
38* https://github.com/hashicorp/consul
39* https://github.com/DevelopersPL/godnsagent
40* https://github.com/duedil-ltd/discodns
41* https://github.com/StalkR/dns-reverse-proxy
42* https://github.com/tianon/rawdns
43* https://mesosphere.github.io/mesos-dns/
44* https://pulse.turbobytes.com/
45* https://play.google.com/store/apps/details?id=com.turbobytes.dig
46* https://github.com/fcambus/statzone
47* https://github.com/benschw/dns-clb-go
48* https://github.com/corny/dnscheck for http://public-dns.info/
49* https://namesmith.io
50* https://github.com/miekg/unbound
51* https://github.com/miekg/exdns
52* https://dnslookup.org
53* https://github.com/looterz/grimd
54* https://github.com/phamhongviet/serf-dns
55* https://github.com/mehrdadrad/mylg
56* https://github.com/bamarni/dockness
57* https://github.com/fffaraz/microdns
58* http://kelda.io
59* https://github.com/ipdcode/hades (JD.COM)
60* https://github.com/StackExchange/dnscontrol/
61* https://www.dnsperf.com/
62* https://dnssectest.net/
63* https://dns.apebits.com
64* https://github.com/oif/apex
65* https://github.com/jedisct1/dnscrypt-proxy
66* https://github.com/jedisct1/rpdns
67
68Send pull request if you want to be listed here.
69
70# Features
71
72* UDP/TCP queries, IPv4 and IPv6;
73* RFC 1035 zone file parsing ($INCLUDE, $ORIGIN, $TTL and $GENERATE (for all record types) are supported;
74* Fast:
75    * Reply speed around ~ 80K qps (faster hardware results in more qps);
76    * Parsing RRs ~ 100K RR/s, that's 5M records in about 50 seconds;
77* Server side programming (mimicking the net/http package);
78* Client side programming;
79* DNSSEC: signing, validating and key generation for DSA, RSA, ECDSA and Ed25519;
80* EDNS0, NSID, Cookies;
81* AXFR/IXFR;
82* TSIG, SIG(0);
83* DNS over TLS: optional encrypted connection between client and server;
84* DNS name compression;
85* Depends only on the standard library.
86
87Have fun!
88
89Miek Gieben  -  2010-2012  -  <miek@miek.nl>
90
91# Building
92
93Building is done with the `go` tool. If you have setup your GOPATH correctly, the following should
94work:
95
96    go get github.com/miekg/dns
97    go build github.com/miekg/dns
98
99## Examples
100
101A short "how to use the API" is at the beginning of doc.go (this also will show
102when you call `godoc github.com/miekg/dns`).
103
104Example programs can be found in the `github.com/miekg/exdns` repository.
105
106## Supported RFCs
107
108*all of them*
109
110* 103{4,5} - DNS standard
111* 1348 - NSAP record (removed the record)
112* 1982 - Serial Arithmetic
113* 1876 - LOC record
114* 1995 - IXFR
115* 1996 - DNS notify
116* 2136 - DNS Update (dynamic updates)
117* 2181 - RRset definition - there is no RRset type though, just []RR
118* 2537 - RSAMD5 DNS keys
119* 2065 - DNSSEC (updated in later RFCs)
120* 2671 - EDNS record
121* 2782 - SRV record
122* 2845 - TSIG record
123* 2915 - NAPTR record
124* 2929 - DNS IANA Considerations
125* 3110 - RSASHA1 DNS keys
126* 3225 - DO bit (DNSSEC OK)
127* 340{1,2,3} - NAPTR record
128* 3445 - Limiting the scope of (DNS)KEY
129* 3597 - Unknown RRs
130* 403{3,4,5} - DNSSEC + validation functions
131* 4255 - SSHFP record
132* 4343 - Case insensitivity
133* 4408 - SPF record
134* 4509 - SHA256 Hash in DS
135* 4592 - Wildcards in the DNS
136* 4635 - HMAC SHA TSIG
137* 4701 - DHCID
138* 4892 - id.server
139* 5001 - NSID
140* 5155 - NSEC3 record
141* 5205 - HIP record
142* 5702 - SHA2 in the DNS
143* 5936 - AXFR
144* 5966 - TCP implementation recommendations
145* 6605 - ECDSA
146* 6725 - IANA Registry Update
147* 6742 - ILNP DNS
148* 6840 - Clarifications and Implementation Notes for DNS Security
149* 6844 - CAA record
150* 6891 - EDNS0 update
151* 6895 - DNS IANA considerations
152* 6975 - Algorithm Understanding in DNSSEC
153* 7043 - EUI48/EUI64 records
154* 7314 - DNS (EDNS) EXPIRE Option
155* 7477 - CSYNC RR
156* 7828 - edns-tcp-keepalive EDNS0 Option
157* 7553 - URI record
158* 7858 - DNS over TLS: Initiation and Performance Considerations
159* 7871 - EDNS0 Client Subnet
160* 7873 - Domain Name System (DNS) Cookies (draft-ietf-dnsop-cookies)
161* 8080 - EdDSA for DNSSEC
162
163## Loosely based upon
164
165* `ldns`
166* `NSD`
167* `Net::DNS`
168* `GRONG`
169