diff --git a/.travis.yml b/.travis.yml index 2279a102..1a00e1c8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -123,6 +123,7 @@ deploy: - dnscrypt-proxy-*.zip file_glob: true skip_cleanup: true + tags: true on: repo: jedisct1/dnscrypt-proxy condition: "${TRAVIS_GO_VERSION} == 1.9.2" diff --git a/README.md b/README.md index 6cc632aa..f31a9362 100644 --- a/README.md +++ b/README.md @@ -4,27 +4,28 @@ 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 | -| XChaCha20 support | Only if compiled with recent versions of libsodium | Yes, always available | -| 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, requires libldns for sanity | Simple 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 | +| 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, bundles patched versions from old branches of 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, works well with TOR | +| XChaCha20 support | Only if compiled with recent versions of libsodium | Yes, always available | +| Support of links with small MTU | Unreliable due to completely broken padding | Reliable, properly implemented | +| Support for multiple servers | Nonexistent | Yes, with automatic failover and load-balancing | +| Custom additions | C API, requires libldns for sanity | Simple Go structures using miekg/dns | +| AAAA blocking for IPv4-only networks | 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 filters 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. IPv4, IPv6, as many as you like | +| Automatically picks the fastest servers | Lol, it supports only one at a time, anyway | Yes, out of the box | +| Official, always up-to-date pre-built libraries | None | Yes, for many platforms. See below. | ## Planned features