Commit Graph

41 Commits

Author SHA1 Message Date
Frank Denis 358481d728 Simplify 2018-02-21 02:40:54 +01:00
Frank Denis 14075e31dc Vastly improve the way load balancing works 2018-02-21 00:14:18 +01:00
Frank Denis 7f5d67881b Add a super secret way to print cert hashes
Not so secret. The purpose is to avoid log pollution, while still
allowing people setting up DoH servers to quickly view the
certificate chain.
2018-02-05 13:24:17 +01:00
Frank Denis 43f3e64bd9 DoH: fallback to GET on servers that don't support POST 2018-02-05 11:30:10 +01:00
Frank Denis 88434fc39f Prepare support for multiple load balancing strategies 2018-02-04 21:13:54 +01:00
Frank Denis 9d69811de9 Add limits to HTTP requests 2018-02-04 11:33:04 +01:00
Frank Denis 7a8deebaf1 DoH: implement support for multiples cert hashes 2018-01-31 18:16:54 +01:00
Frank Denis f8a6e56026 -list -json now prints the list of available servers as JSON
Can be useful for GUIs, especially since this includes the description
2018-01-31 09:42:56 +01:00
Frank Denis 0cc76b8a77 Lower the log level for already registered servers 2018-01-31 00:19:53 +01:00
Frank Denis 76e5a99a5c Move "refreshing certificates" to debug, display RTT even for 1 server 2018-01-30 23:50:42 +01:00
Frank Denis a7d75c7923 Implement the nofilter filter 2018-01-30 19:16:38 +01:00
Frank Denis ecaf18f614 Use a fallback resolver if the local DNS configuration doesn't work
This should fix all chicken-and-egg issues
2018-01-30 15:47:39 +01:00
Frank Denis 24c21d5eb2 Start moving things to a custom transport 2018-01-30 13:29:47 +01:00
Frank Denis cf12fb170a Use a custom transport and a host->ip cache
maybe
Fixes #45
2018-01-29 03:58:39 +01:00
Frank Denis 3c2cf2a1dc Validate DoH certificate hashes 2018-01-27 17:48:53 +01:00
Frank Denis d2f6c69a2c More checks on the response 2018-01-27 16:59:45 +01:00
Frank Denis 7dde2f4a37 Request DNSSEC signature in the DoH probe 2018-01-27 16:53:57 +01:00
Frank Denis be1e99ea32 DoH: send a dummy query before measuring the RTT to ignore the handshake 2018-01-27 16:48:22 +01:00
Frank Denis 50d0c0449f Initial support for DNS-over-HTTP2 -- Yes, it works with Google. 2018-01-27 15:26:08 +01:00
Frank Denis 29f1b083a0 Rename a few things to prepare for DoH support 2018-01-26 02:25:38 +01:00
Frank Denis 3a3535dcbc Still tolerate hex-encoded pks, but emit a warning 2018-01-23 15:42:22 +01:00
Frank Denis ccbdd41f5d Add support for shorter stamps with binary public keys 2018-01-23 15:23:11 +01:00
Frank Denis 6ca2697128 Clear certIgnoreTimestamp if we found at live 1 live server 2018-01-21 18:14:37 +01:00
Frank Denis 88414e1448 Print stamps; require an env variable for debug level 2018-01-20 13:56:26 +01:00
Frank Denis 3006a6f2b4 Print server names instead of provider names 2018-01-19 15:50:44 +01:00
Frank Denis 41a9bf5bf3 Add require_nolog and require_dnssec filters 2018-01-18 13:01:16 +01:00
Frank Denis 8429df82fd Perform an initial benchmark to use servers with the lowest latency
(initially according to the certificate rtt)
2018-01-17 22:12:34 +01:00
Frank Denis df3a5f608d Improve management of multiple servers, and unreachable-at-boot servers 2018-01-17 21:23:01 +01:00
Frank Denis 1140e067ad Retry more frequently if we don't have any useable certificates
This will ahve to be done at startup time as well.
2018-01-17 17:22:29 +01:00
Frank Denis c90befd5a8 Fix getOne() 2018-01-14 00:34:28 +01:00
Frank Denis 5a65a3a084 Correct format 2018-01-14 00:17:46 +01:00
Frank Denis 01d424a942 Use net.ParseIP() to add missing port numbers 2018-01-14 00:15:01 +01:00
Frank Denis a361aa52f3 Preliminary support for remote sources 2018-01-13 23:52:44 +01:00
Frank Denis 9a3cd91cd7 Use dlog for everything 2018-01-11 11:50:54 +01:00
Frank Denis 735213f45a Use glog 2018-01-11 02:11:54 +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 b86e7f268e Use more things from the config file 2018-01-10 12:09:59 +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