Commit Graph

40 Commits

Author SHA1 Message Date
Frank Denis 99c5273e3a Add configuration cache size and other parameters 2018-01-10 19:32:56 +01:00
Frank Denis b60c728067 If computeCacheKey ever returns an error, bubble it up 2018-01-10 19:23:24 +01:00
Frank Denis 132add7955 Use a LRU for the cache 2018-01-10 19:02:43 +01:00
Frank Denis 8e73bb4a2c Working DNS cache 2018-01-10 18:53:09 +01:00
Frank Denis 77cdc1db78 Start implementing a basic cache 2018-01-10 18:32:05 +01:00
Frank Denis da3e3e61b4 Add Travis 2018-01-10 17:27:48 +01:00
Frank Denis f283105866 Implement the IPv6 block plugin 2018-01-10 17:23:20 +01:00
Frank Denis fb16eadb24 Single entry for now 2018-01-10 16:43:11 +01:00
Frank Denis fa22cc32d7 Basic load balancing/failover
Try to send queries to one of the two fastest servers
2018-01-10 16:42:14 +01:00
Frank Denis 9eeb799d6e Many improvements 2018-01-10 16:01:29 +01:00
Frank Denis 32a8a3d3e2 Get the path to the config file from the command line 2018-01-10 13:40:50 +01:00
Frank Denis cefaa1c3a6 Update glide 2018-01-10 13:35:12 +01:00
Frank Denis 6dfcb659d4 Handle daemonization 2018-01-10 13:33:06 +01:00
Frank Denis b86e7f268e Use more things from the config file 2018-01-10 12:09:59 +01:00
Frank Denis 2822a9781b Add a config file 2018-01-10 12:02:09 +01:00
Frank Denis f24884a27a Update .gitignore 2018-01-10 10:32:21 +01:00
Frank Denis 20e3182692 Improve the plugins interface 2018-01-10 10:11:59 +01:00
Frank Denis efd0477c2b Implement an actual estimator for the response size
Scale back the minimum question size when relevant.

Did I mention that this is yet another thing that was never properly
implemented in dnscrypt-proxy 1.x?
2018-01-10 09:46:27 +01:00
Frank Denis f4346691bc Transform queries via an initial edns mangling plugin
Yet another thing that was utterly broken in dnscrypt-proxy v1.x
2018-01-10 09:04:03 +01:00
Frank Denis 705cf440b1 Skip queries without a question 2018-01-10 03:04:13 +01:00
Frank Denis d8f8d561c8 Synthesize a truncated response if the response wouldn't fit the local MSS 2018-01-10 02:52:09 +01:00
Frank Denis ab9006e74c Be more tolerant with invalid/unsupported certificates 2018-01-10 00:38:37 +01:00
Frank Denis 3049f43bc7 Nits 2018-01-10 00:32:16 +01:00
Frank Denis 72a6963f2e Cleanups 2018-01-10 00:31:12 +01:00
Frank Denis 35ec5bd044 We can now receive queries on UDP and forward them on TCP
Something that had never been possible with the old implementation
2018-01-09 20:10:06 +01:00
Frank Denis 1a59d93192 Support TCP connection to the backend 2018-01-09 19:47:24 +01:00
Frank Denis 888db6a8fb The preferred protocol will be a global (for Tor users) 2018-01-09 18:42:24 +01:00
Frank Denis ce5e0c8031 Try to retrieve the certificates using UDP before TCP 2018-01-09 18:37:37 +01:00
Frank Denis 841bf65d61 Reorganize 2018-01-09 18:32:14 +01:00
Frank Denis 00a6b64575 Stamps are not expected to include a name 2018-01-09 18:27:04 +01:00
Frank Denis 4dc3fee9a0 Refresh certificates
We may later want to register a stamp even if no certificate was found
2018-01-09 17:34:19 +01:00
Frank Denis 7279699210 Pick random upstream servers; we'll do better later 2018-01-09 17:19:03 +01:00
Frank Denis 805c8a822f Store upstream names, prepare for dnscrypt v3 stamps 2018-01-09 17:15:07 +01:00
Frank Denis 721313a603 We want to support multiple servers simultaneously
Prepare for that
2018-01-09 16:59:06 +01:00
Frank Denis 553f6afb00 Handle TCP, padding, etc. 2018-01-09 16:40:37 +01:00
Frank Denis 6a39b0afdb Move a few things around 2018-01-09 13:35:10 +01:00
Frank Denis 60a58067c1 Desuglify a bit 2018-01-09 13:27:28 +01:00
Frank Denis 9ffa61c9e3 megacheck 2018-01-09 08:15:58 +01:00
Frank Denis b076e01f7a Let's start with a 15 minutes ugly PoC hack before going to bed
Who said the DNSCrypt protocol was "complex"?
2018-01-09 00:46:13 +01:00
Frank Denis 9653ab395c
Initial commit 2018-01-09 00:21:21 +01:00