From dd9ada305bbbf64a5c0336732172031992946084 Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Wed, 10 Jan 2018 20:17:46 +0100 Subject: [PATCH] + README.md --- README.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 00000000..367882f1 --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +# dnscrypt-proxy 2 + +A client implementation of the DNSCrypt protocol. + +## Current status/features + +| Features | dnscrypt-proxy 1.x | dnscrypt-proxy 2.x | +| --------------------------------------- | ----------------------------------------------------- | ----------------------------------------------- | +| Status | Old PoC, barely maintained any more | Very new, but quickly evolving | +| Code quality | Big ugly mess | Readable, easy to work on | +| Reliability | Poor, due to completely broken handling of edge cases | Excellent | +| Security | Written in C, using patched system libraries | Written in standard and portable Go | +| Dependencies | Specific versions of libsodium, libldns and libtool | None | +| Upstream connections using TCP | Catastrophic, requires client retries | Implemented as anyone would expect | +| Support of links with small MSS | Unreliable due to completely broken padding | Reliable, carefully implemented | +| Support for multiple servers | Nonexistent | Yes, with automatic failover and load-balancing | +| Custom additions | C API, requiers libldns for sanity | Clean Go structures using miekg/dns | +| AAAA blocking | Yes | Yes | +| DNS caching | Yes, with ugly hacks for DNSSEC support | Yes, without ugly hacks | +| EDNS support | Broken with custom records | Yes | +| Asynchronous filters | Lol, no they block everything | Of course, thanks to Go | +| Session-local storage for extensions | Impossible | Yes | +| Multicore support | Nonexistent | Yes, thanks to Go | +| Efficient padding of queries | Couldn't be any worse | Yes | +| Multiple local sockets | Impossible | Of course | +| Automatically picks the fastest servers | Lol, it supports only one at a time, anyway | Yes, out of the box | + +## Planned features + +* New super simple (to copy&paste), extensible format for servers parameters: "stamps" +* Automatic updates +* Filtering with regexes +* Offline responses +* Local DNSSEC validation +* Flexible logging +* Windows support that doesn't suck +* DNS-over-HTTP2 +* Some real documentation