2015-08-22 18:53:07 +00:00
|
|
|
# trust-dns [![Build Status](https://travis-ci.org/bluejekyll/trust-dns.svg?branch=master)](https://travis-ci.org/bluejekyll/trust-dns)
|
2015-08-22 00:29:00 +00:00
|
|
|
A Rust based DNS client and server, built to be safe and secure from the
|
|
|
|
ground up.
|
2015-08-14 23:28:01 +00:00
|
|
|
|
|
|
|
# Goals
|
|
|
|
|
|
|
|
- Build a safe and secure DNS server and client with modern features.
|
|
|
|
- Use Threads to allow all code to panic! and fail fast, without taking down
|
|
|
|
the server.
|
2015-08-22 00:29:00 +00:00
|
|
|
- Use only safe Rust, and avoid all panics with proper Error handling
|
|
|
|
- Use only stable Rust
|
2015-08-14 23:28:01 +00:00
|
|
|
- Protect against DDOS attacks (to a degree)
|
|
|
|
- Support options for Global Load Balancer functions
|
|
|
|
- Build in a nice REST interface for managing server?
|
|
|
|
|
|
|
|
# Status:
|
|
|
|
|
2015-08-22 00:29:00 +00:00
|
|
|
WARNING!!! Under active development! Do not attempt to use in any production systems.
|
|
|
|
|
2015-09-17 07:22:24 +00:00
|
|
|
The client now supports timeouts (thanks mio!). Currently hardcoded to 5 seconds, I'll make
|
|
|
|
this configurable if people ask for that, but this allows me to move on.
|
2015-08-14 23:28:01 +00:00
|
|
|
|
2015-09-17 07:22:24 +00:00
|
|
|
The server code is complete, the daemon is currently in progress. Once this is done
|
|
|
|
the plan is to start self-host trust-dns.org on the trust-dns software.
|
2015-08-22 00:29:00 +00:00
|
|
|
|
2015-09-17 07:22:24 +00:00
|
|
|
# In progress:
|
2015-08-14 23:28:01 +00:00
|
|
|
|
2015-09-17 07:22:24 +00:00
|
|
|
- Support original (minus unused) RFC 1035 specification. (mostly compelete)
|
2015-08-19 00:07:45 +00:00
|
|
|
- EDNS http://tools.ietf.org/html/rfc2671
|
2015-08-14 23:28:01 +00:00
|
|
|
- Support DNS Update RFC 2136.
|
|
|
|
- DNSSEC Resource Records RFC 4034
|
|
|
|
- DNSSec protocol RFC 4035
|
|
|
|
- Dynamic DNS Update Leases https://tools.ietf.org/html/draft-sekar-dns-ul-01
|
|
|
|
- DNS Long-Lived Queries http://tools.ietf.org/html/draft-sekar-dns-llq-01
|
|
|
|
|
|
|
|
# FAQ
|
|
|
|
|
|
|
|
- Why are you building another DNS server?
|
|
|
|
|
|
|
|
Because I've gotten tired of seeing the security advisories out there for BIND.
|
|
|
|
Using Rust semantics it should be possible to develop a high performance and
|
|
|
|
safe DNS Server that is more resilient to attacks.
|