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
Frank Denis
1e0e01e8e1
NXLOG: a new output plugin to log suspicious queries
2018-01-20 16:59:40 +01:00
Frank Denis
ed50798049
Preliminary implementation of stamps
2018-01-20 14:13:11 +01:00
Frank Denis
88414e1448
Print stamps; require an env variable for debug level
2018-01-20 13:56:26 +01:00
Frank Denis
066db6a080
Replace logged_qtypes with ignored_qtypes
2018-01-20 13:27:37 +01:00
Frank Denis
2ab29a43d6
Reduce the noise
2018-01-19 22:37:05 +01:00
Frank Denis
6e1eaf7b90
More flexible logging; add support for the Windows event log
2018-01-19 20:06:04 +01:00
Frank Denis
aac0078991
Choose if we want to use IPv6 and/or IPv4 servers
2018-01-19 16:38:43 +01:00
Frank Denis
7103229609
Add a logged_qtypes feature to log only some query types
2018-01-19 12:57:47 +01:00
Frank Denis
41d5de6e8d
Scheduling
2018-01-19 00:06:18 +01:00
Frank Denis
a85d012a2b
Prefetch previously unreachable sources URLs after a server is reachable
...
Partial fix for #4
Pave the way for regular, background updates as well
2018-01-18 23:19:14 +01:00
Frank Denis
41a9bf5bf3
Add require_nolog and require_dnssec filters
2018-01-18 13:01:16 +01:00
Frank Denis
fd7838ee58
Add a -version command-line switch to print the version
...
Fixes #2
2018-01-18 12:22:25 +01:00
Frank Denis
9dcd37093d
Use all resolvers simultaneously, even the ones from remote sources.
...
Fireworks!
2018-01-17 21:41:36 +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
b9c43c8ef3
Add the ability to log blocked queries
2018-01-17 17:03:42 +01:00
Frank Denis
3fffbaa2a2
Support installation as a service
2018-01-17 11:28:43 +01:00
Frank Denis
96dadc7aca
Forwarding plugin
2018-01-17 09:44:03 +01:00
Frank Denis
170e2e816e
Implement blocking, fully compatible with rules from version 1
2018-01-17 02:40:47 +01:00
Frank Denis
796186a078
Add support for LTSV query logging
2018-01-16 18:10:04 +01:00
Frank Denis
5685844f43
Implement query logging
2018-01-16 00:23:16 +01:00
Frank Denis
1b7b6418f1
Restrict the set of resolvers used from a remote source
2018-01-14 00:10:20 +01:00
Frank Denis
a361aa52f3
Preliminary support for remote sources
2018-01-13 23:52:44 +01:00
Frank Denis
e9faf4368c
Load the toml file from the current directory by default
2018-01-13 00:14:12 +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
99c5273e3a
Add configuration cache size and other parameters
2018-01-10 19:32:56 +01:00
Frank Denis
77cdc1db78
Start implementing a basic cache
2018-01-10 18:32:05 +01:00
Frank Denis
f283105866
Implement the IPv6 block plugin
2018-01-10 17:23:20 +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
2822a9781b
Add a config file
2018-01-10 12:02:09 +01:00