Commit Graph

80 Commits

Author SHA1 Message Date
Frank Denis dac52ab42a Completely remove support for the DNSCrypt protocol 2018-04-01 04:04:12 +02:00
Frank Denis ede564ccf7 Support multiple URLs for a given source
Fixes #265
2018-03-28 13:36:19 +02:00
Frank Denis e09f0875c1 Add the list of addresses to the -list -json output 2018-03-28 12:22:37 +02:00
Frank Denis 7f221afeff Don't assume that DoH servers use port 443 2018-03-28 11:52:04 +02:00
Frank Denis 577ac5c91a When using a fallback resolver, favor IPv6 for DoH servers if use_ipv6 is set
Fixes #153
2018-03-21 09:05:30 +01:00
Frank Denis 22f69a475a Don't assume IPv6 or IPv4 about DoH servers 2018-03-21 08:48:57 +01:00
Frank Denis b643a816cc Add automatic log files rotation
Fixes #172
2018-03-02 10:34:00 +01:00
Frank Denis 519af2e532 Revert "Allow -test 0"
This reverts commit 1e2c175e19.

Revert "Don't bind any sockets when using -test"

This reverts commit 982f341de8.

Revert "Implement -test to check certificates expiration"

This reverts commit 2158674d17.
2018-02-27 07:55:10 +01:00
Frank Denis 1e2c175e19 Allow -test 0 2018-02-27 03:04:44 +01:00
Frank Denis 982f341de8 Don't bind any sockets when using -test 2018-02-27 03:00:11 +01:00
Frank Denis 2158674d17 Implement -test to check certificates expiration 2018-02-27 02:52:45 +01:00
Frank Denis 2e8699d483 Bump default MaxClient to match the config file
Fixes #158
2018-02-20 12:27:44 +01:00
Frank Denis 148a28141f Add -check 2018-02-19 18:35:06 +01:00
Frank Denis 2f00ad5ff0 Error out if unknown properties are found in the config file
And thanks to this, an inconsistency in the example config file vs the parser
was found (`timeout` vs `timeout_ms`).

Fixes #113
2018-02-10 21:21:43 +01:00
Frank Denis f6b6d70615 Add knobs to filter by protocol 2018-02-06 14:11:58 +01:00
Frank Denis 8a7569555c Don't warn if lbStrategy is empty 2018-02-05 01:53:23 +01:00
Frank Denis a43352e160 Make the load-balancing strategy configurable 2018-02-04 21:23:39 +01:00
Frank Denis 033931a13a Add a new powerful plugin: DNS cloaking 2018-02-04 01:43:37 +01:00
Frank Denis 93810e60d7 Set the default source refresh delay to 3 days 2018-02-03 18:55:46 +01:00
Frank Denis f513ab21fa Check if the config file exists from the current directory
Try the executable directory if it fails

Then, go to that config file directory no matter what

Fixes #80
2018-02-03 10:46:47 +01:00
Frank Denis e4e351b854 Clear ServerName for -list-all
Suggested by @glitsj16, thanks!

Fixes #71
2018-02-02 14:51:14 +01:00
Frank Denis bf56644a49 Add a -list-all switch; add IPv6 & port number info to the JSON output 2018-02-01 21:48:46 +01:00
Frank Denis 13952ffb1a Do not consider the absence a listening sockets an error
Because systemd.

Fixes #64
2018-02-01 16:59:48 +01:00
Frank Denis 1a34224c91 Rename time_ranges to schedules 2018-02-01 09:18:56 +01:00
Frank Denis 41a73ccb03 Time access restrictions [WIP]
Because my daughter spends way too much time on Youtube
Because people have been asking OpenDNS to implement this for the past 10 years
Because existing tools suck
Because I want something flexible, where every rule can be assigned a schedule
2018-01-31 23:08:38 +01:00
Frank Denis ba2293149e phew 2018-01-31 22:49:40 +01:00
Frank Denis d575ec8beb bleh 2018-01-31 22:18:11 +01:00
Frank Denis d7ec318945 Accept sources without an URL; use v2 format by default for remote sources 2018-01-31 14:24:21 +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 d42ab83184 ServerConfig -> StaticConfig to match the config file 2018-01-31 08:43:49 +01:00
Frank Denis cdb8faba75 Nits 2018-01-31 08:40:20 +01:00
Frank Denis f6571af24f Nits 2018-01-31 08:38:22 +01:00
Frank Denis 5e8925523f Split ConfigLoad a bit more 2018-01-31 08:32:44 +01:00
Frank Denis 16fc6b74e9 Split ConfigLoad() 2018-01-31 08:27:59 +01:00
Frank Denis 86adb438e0 Set cert refresh delay default to 240 (4h) 2018-01-31 00:21:25 +01:00
Frank Denis a364e51d9e Increase the cert refresh delay; make D1n0Bot happy
Decrease this for more reliability.
2018-01-30 23:53:33 +01:00
Frank Denis 788e97cf86 Clarify 2018-01-30 19:47:26 +01:00
Frank Denis a7d75c7923 Implement the nofilter filter 2018-01-30 19:16:38 +01:00
Frank Denis 3448b5b170 Add a -list option to display the list of available resolvers 2018-01-30 17:51:47 +01:00
Frank Denis 1d35e249c9 Add an option to always ignore the system resolver
This makes startup faster when DoH resolvers without a static IP
are used (Google).
2018-01-30 17:37:35 +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 375378c15b Rename "servers" to "static" for clarity 2018-01-25 17:41:36 +01:00
Frank Denis 732c451dd4 Add max_clients to cap the maximum number of client queries 2018-01-24 16:51:26 +01:00
Frank Denis c184ce1a03 systemd support
How does it work? I don't know. Does it work? I don't know.
Would I encourage its use? No.
2018-01-24 14:44:32 +01:00
Frank Denis 973b53afdc Simplify 2018-01-22 10:02:06 +01:00
Frank Denis 8324b29b42 Require stamps in static server definitions
Provider names, etc. are not future-proof. In particular, they are
incompatible with other protocols such as DoH.
2018-01-22 09:59:32 +01:00
Frank Denis 1d18a230c0 Consistent casing 2018-01-21 22:18:20 +01:00
Frank Denis 8bcba92f97 Add an undocumented option to ignore cert timestamps 2018-01-21 18:10:38 +01:00
Frank Denis 05e07e8b69 Add a simple built-in DNS client for testing 2018-01-21 18:02:32 +01:00
Frank Denis d9b5625226 IP blocking 2018-01-21 16:07:44 +01:00