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

..22-Mar-2019-

internal/socket/H22-Mar-2019-307234

AUTHORSH A D22-Mar-201927 21

CONTRIBUTORSH A D22-Mar-2019137 109

COPYRIGHTH A D22-Mar-2019512 107

LICENSEH A D22-Mar-20191.6 KiB3326

README.mdH A D22-Mar-20194.9 KiB163137

client.goH A D22-Mar-201911.8 KiB468363

client_test.goH A D22-Mar-201912.4 KiB512410

clientconfig.goH A D22-Mar-20193.1 KiB132103

clientconfig_test.goH A D22-Mar-20192.2 KiB8875

compress_generate.goH A D22-Mar-20194.7 KiB185140

dane.goH A D22-Mar-2019997 4440

defaults.goH A D22-Mar-20198.1 KiB286195

dns.goH A D22-Mar-20192.5 KiB10574

dns_bench_test.goH A D22-Mar-20195.1 KiB212188

dns_test.goH A D22-Mar-201917.2 KiB451388

dnssec.goH A D22-Mar-201917.7 KiB721575

dnssec_keygen.goH A D22-Mar-20193.8 KiB157132

dnssec_keyscan.goH A D22-Mar-20195.4 KiB250219

dnssec_privkey.goH A D22-Mar-20192.7 KiB8670

dnssec_test.goH A D22-Mar-201923 KiB734647

doc.goH A D22-Mar-20199 KiB2521

dyn_test.goH A D22-Mar-201937 41

edns.goH A D22-Mar-201916.8 KiB598437

edns_test.goH A D22-Mar-20191.6 KiB6945

example_test.goH A D22-Mar-20193.1 KiB147115

format.goH A D22-Mar-20192.3 KiB8877

fuzz_test.goH A D22-Mar-2019826 2622

generate.goH A D22-Mar-20193.8 KiB160135

issue_test.goH A D22-Mar-20191.7 KiB6961

labels.goH A D22-Mar-20193.6 KiB172123

labels_test.goH A D22-Mar-20194.6 KiB204185

msg.goH A D22-Mar-201930.1 KiB1,160932

msg_generate.goH A D22-Mar-201910.1 KiB350301

msg_helpers.goH A D22-Mar-201916.5 KiB634551

msg_test.goH A D22-Mar-20194.3 KiB125110

nsecx.goH A D22-Mar-20192.5 KiB10793

nsecx_test.goH A D22-Mar-20193.9 KiB134126

parse_test.goH A D22-Mar-201953.5 KiB1,5411,367

privaterr.goH A D22-Mar-20194 KiB150108

privaterr_test.goH A D22-Mar-20193.5 KiB172139

rawmsg.goH A D22-Mar-20191.1 KiB5036

remote_test.goH A D22-Mar-2019385 2015

reverse.goH A D22-Mar-2019897 3926

sanitize.goH A D22-Mar-20192 KiB8559

sanitize_test.goH A D22-Mar-20192.2 KiB8577

scan.goH A D22-Mar-201923.2 KiB988847

scan_rr.goH A D22-Mar-201948.9 KiB2,1851,989

scanner.goH A D22-Mar-2019808 4434

server.goH A D22-Mar-201919.8 KiB735547

server_test.goH A D22-Mar-201917.5 KiB720611

sig0.goH A D22-Mar-20194.9 KiB219187

sig0_test.goH A D22-Mar-20192.2 KiB9087

singleinflight.goH A D22-Mar-20191.4 KiB5836

smimea.goH A D22-Mar-20191.4 KiB4832

tlsa.goH A D22-Mar-20191.1 KiB4837

tsig.goH A D22-Mar-20199.1 KiB384312

tsig_test.goH A D22-Mar-2019748 3833

types.goH A D22-Mar-201927.4 KiB1,2881,069

types_generate.goH A D22-Mar-20196.8 KiB272212

types_test.goH A D22-Mar-20191.1 KiB7560

udp.goH A D22-Mar-2019954 3521

udp_linux.goH A D22-Mar-20192.8 KiB10680

udp_other.goH A D22-Mar-2019528 168

udp_windows.goH A D22-Mar-2019760 3018

update.goH A D22-Mar-20193.1 KiB10783

update_test.goH A D22-Mar-20194.4 KiB146116

xfr.goH A D22-Mar-20196.2 KiB256201

xfr_test.goH A D22-Mar-20195.1 KiB185151

zcompress.goH A D22-Mar-20192.9 KiB120114

zmsg.goH A D22-Mar-201975 KiB3,5663,348

ztypes.goH A D22-Mar-201923.5 KiB858843

README.md

1[![Build Status](https://travis-ci.org/miekg/dns.svg?branch=master)](https://travis-ci.org/miekg/dns)
2[![](https://godoc.org/github.com/miekg/dns?status.svg)](https://godoc.org/github.com/miekg/dns)
3
4# Alternative (more granular) approach to a DNS library
5
6> Less is more.
7
8Complete and usable DNS library. All widely used Resource Records are
9supported, including the DNSSEC types. It follows a lean and mean philosophy.
10If there is stuff you should know as a DNS programmer there isn't a convenience
11function for it. Server side and client side programming is supported, i.e. you
12can build servers and resolvers with it.
13
14We try to keep the "master" branch as sane as possible and at the bleeding edge
15of standards, avoiding breaking changes wherever reasonable. We support the last
16two versions of Go, currently: 1.7 and 1.8.
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://quilt.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
64Send pull request if you want to be listed here.
65
66# Features
67
68* UDP/TCP queries, IPv4 and IPv6;
69* RFC 1035 zone file parsing ($INCLUDE, $ORIGIN, $TTL and $GENERATE (for all record types) are supported;
70* Fast:
71    * Reply speed around ~ 80K qps (faster hardware results in more qps);
72    * Parsing RRs ~ 100K RR/s, that's 5M records in about 50 seconds;
73* Server side programming (mimicking the net/http package);
74* Client side programming;
75* DNSSEC: signing, validating and key generation for DSA, RSA and ECDSA;
76* EDNS0, NSID, Cookies;
77* AXFR/IXFR;
78* TSIG, SIG(0);
79* DNS over TLS: optional encrypted connection between client and server;
80* DNS name compression;
81* Depends only on the standard library.
82
83Have fun!
84
85Miek Gieben  -  2010-2012  -  <miek@miek.nl>
86
87# Building
88
89Building is done with the `go` tool. If you have setup your GOPATH
90correctly, the following should work:
91
92    go get github.com/miekg/dns
93    go build github.com/miekg/dns
94
95## Examples
96
97A short "how to use the API" is at the beginning of doc.go (this also will show
98when you call `godoc github.com/miekg/dns`).
99
100Example programs can be found in the `github.com/miekg/exdns` repository.
101
102## Supported RFCs
103
104*all of them*
105
106* 103{4,5} - DNS standard
107* 1348 - NSAP record (removed the record)
108* 1982 - Serial Arithmetic
109* 1876 - LOC record
110* 1995 - IXFR
111* 1996 - DNS notify
112* 2136 - DNS Update (dynamic updates)
113* 2181 - RRset definition - there is no RRset type though, just []RR
114* 2537 - RSAMD5 DNS keys
115* 2065 - DNSSEC (updated in later RFCs)
116* 2671 - EDNS record
117* 2782 - SRV record
118* 2845 - TSIG record
119* 2915 - NAPTR record
120* 2929 - DNS IANA Considerations
121* 3110 - RSASHA1 DNS keys
122* 3225 - DO bit (DNSSEC OK)
123* 340{1,2,3} - NAPTR record
124* 3445 - Limiting the scope of (DNS)KEY
125* 3597 - Unknown RRs
126* 403{3,4,5} - DNSSEC + validation functions
127* 4255 - SSHFP record
128* 4343 - Case insensitivity
129* 4408 - SPF record
130* 4509 - SHA256 Hash in DS
131* 4592 - Wildcards in the DNS
132* 4635 - HMAC SHA TSIG
133* 4701 - DHCID
134* 4892 - id.server
135* 5001 - NSID
136* 5155 - NSEC3 record
137* 5205 - HIP record
138* 5702 - SHA2 in the DNS
139* 5936 - AXFR
140* 5966 - TCP implementation recommendations
141* 6605 - ECDSA
142* 6725 - IANA Registry Update
143* 6742 - ILNP DNS
144* 6840 - Clarifications and Implementation Notes for DNS Security
145* 6844 - CAA record
146* 6891 - EDNS0 update
147* 6895 - DNS IANA considerations
148* 6975 - Algorithm Understanding in DNSSEC
149* 7043 - EUI48/EUI64 records
150* 7314 - DNS (EDNS) EXPIRE Option
151* 7828 - edns-tcp-keepalive EDNS0 Option
152* 7553 - URI record
153* 7858 - DNS over TLS: Initiation and Performance Considerations (draft)
154* 7873 - Domain Name System (DNS) Cookies (draft-ietf-dnsop-cookies)
155* xxxx - EDNS0 DNS Update Lease (draft)
156
157## Loosely based upon
158
159* `ldns`
160* `NSD`
161* `Net::DNS`
162* `GRONG`
163