Commit Graph

293 Commits

Author SHA1 Message Date
Dimitri Herzog d318e2cddd renamed IPv6Checker to IPV6DisablingResolver 2021-09-09 21:44:49 +02:00
Dimitri Herzog dca82623a1 Storing the query log in the database (#258) 2021-09-08 21:38:34 +02:00
Dimitri Herzog 63735546bb moving model types to the separate package 2021-09-08 21:38:34 +02:00
Gonzalo Arreche c866b71860 Fix go lint issues 2021-09-07 08:34:00 +02:00
Dimitri Herzog eafecf01a3 fixed golint issue 2021-09-06 21:55:12 +02:00
Gonzalo Arreche 9d33bcd3a1 Allow configuration of block time
When an address is blocked, it can be cached by the client. If we
then wish to allow that address, or just disable the blocking
feature, that client is not gonna be able to see that domain until
the previous domain expires.

The units of time for this setting is in seconds, since we might
want to set it to values around 5 or 10 seconds, depending on the
scenario. The default value for it is the value used before, so
ignoring this setting wont result on any change.
2021-09-06 21:46:35 +02:00
Dimitri Herzog 48a3802b06 Request duration metric is not populated if request resolution was faulty (#257) 2021-08-30 21:43:21 +02:00
Dimitri Herzog 919512959b use full-qualified name as module 2021-08-27 13:41:36 +02:00
Dimitri Herzog 6a3baa5b95 obfuscate log output for user sensitive data to increase privacy (#225) 2021-08-23 22:34:48 +02:00
Dimitri Herzog 850baf0e47
bootstrapDNS not used for upstream DNS resolution (#242) (#246) 2021-08-21 23:19:30 +02:00
Dimitri Herzog 29c0352a05 #235: customDNS resolver should return NOERROR instead of NXDOMAIN for existing domain mapping 2021-07-30 22:31:37 +02:00
Dimitri Herzog fb26cb70e3
Fix "misuse of unbuffered os.Signal channel as argument to signal.Notify (govet)" (#215) 2021-05-28 09:30:26 +02:00
Dimitri Herzog 30ce749698
Make the number of cached domains configurable (#211)
* #200: Make the number of cached domains configurable
2021-05-17 21:56:39 +02:00
invist dd69a3e664
#202: WhitelistOnly Fix for multiple entries (#199)
* Update blocking_resolver.go

Adjusted WhitelistOnly

* added test

* fixed golint issues

Co-authored-by: Dimitri Herzog <dimitri.herzog@gmail.com>
2021-05-05 22:07:14 +02:00
moyo 3770dd97cf
Make prefetch fully configurable (#198)
* make prefetch fully configurable

* add configuration output test
2021-05-03 22:29:26 +02:00
Dimitri Herzog 314922a028 #111: allow the ability to enable/disable blocking by group 2021-04-28 22:38:23 +02:00
moyo 9ea8419175
Add prefetch hit metrics (#190)
* add prefetch hit metrics

* add tests for prefetch hit
2021-04-24 21:48:08 +02:00
Dimitri Herzog 209024ed0b
#81: Configuration of different upstream DNS servers for different clients (#193)
#81: Configuration of different upstream DNS servers for different clients
2021-04-22 22:37:59 +02:00
moyo 33eb062338
Make cache for all query types (#186)
* make cache for all query types

* remove query class in cacheKey
2021-04-19 08:16:27 +02:00
Joseph Harnish 1ea60579a7
#182 - added config option for logTimestamp (#184)
* added config option for logTimestamp

* set default to be true
2021-04-17 22:23:51 +02:00
moyo 000bebafb3
Add support of disbale ipv6(AAAA) query (#171)
Add support of disbale ipv6(AAAA) query
2021-04-06 21:34:10 +02:00
Dimitri Herzog 46cd15b0fd #163: Critical information missing in log entry for DNS error 2021-03-30 21:49:12 +02:00
Dimitri Herzog 6f5384650e #165: Block additional DNS record types 2021-03-26 22:30:48 +01:00
Dimitri Herzog b454a17c0b #162: Segmentation fault on TCP request with UDP fallback 2021-03-14 22:11:01 +01:00
Dimitri Herzog 399e8416aa #128: Domain rewrite in conditional resolver 2021-03-10 22:59:04 +01:00
Dimitri Herzog fe841455b0 #139: reverse DNS lookup for custom DNS entries 2021-03-09 23:13:05 +01:00
Dimitri Herzog 5fe8bf95af #139: Multiple IP addresses for Custom DNS 2021-03-07 22:50:47 +01:00
Dimitri Herzog eaa4e30db4 update golangci-lint, fixint lint errors 2021-03-05 22:52:22 +01:00
Dimitri Herzog 59c650ff6a added/changed some comments 2021-02-26 21:44:53 +01:00
Dimitri Herzog 21f9b90841 go fmt 2021-02-26 21:39:41 +01:00
donald-art 7ee2e7db64
public API documentation (#146)
* added doc comments

* added doc comments

* added doc comments

* added doc comments

* added doc comments

* added doc comments

* added doc comments

* added doc comments

* added doc comments

* added doc comments

* added doc comments

* added doc comments

* added doc comments

* added doc comments

* added doc comments

* added doc comments

* added doc comments

* added doc comments

* added doc comments

* added doc comments

* added doc comments

* added doc comments

* added doc comments

* added doc comments

* added doc comments

* added doc comments

* added doc comments
2021-02-26 13:45:57 +01:00
Dimitri Herzog 8f23f47a6d Renamed function, replaced global variable with function call, Initialize global logger only once, minor refactorings, fixed failing tests 2021-02-25 23:36:39 +01:00
nicolas-martin 3b0bbc5f6b use package logger instead of global 2021-02-22 17:28:48 -05:00
Dimitri Herzog b043849159 command package refactoring 2021-02-08 22:00:11 +01:00
Dimitri Herzog 35e2cd5c42 code refactoring 2021-02-05 23:17:42 +01:00
Dimitri Herzog 8a6884d3e8 improved port conversion 2021-02-04 22:27:02 +01:00
Dimitri Herzog 00fc86f91f Refactoring REST Api 2021-02-04 22:27:02 +01:00
Dimitri Herzog 0fd25207d1 introducing event bus, refactorings 2021-01-23 22:29:43 +01:00
Dimitri Herzog e9fff3cef1 prefetching of often used queries 2021-01-16 22:24:05 +01:00
Dimitri Herzog 914a04e5b1 #79: Support for multiple conditional forwarders per domain 2020-12-27 23:40:27 +01:00
Dimitri Herzog 804bdba9f9 updated dependencies 2020-11-22 22:59:44 +01:00
Dimitri Herzog aacf8532a5
#94 additional cache metrics (#110) 2020-11-18 22:31:05 +01:00
Dimitri Herzog 89f062f605 #92: wildcard support for client names 2020-08-24 22:15:31 +02:00
Dimitri Herzog 9592cb3f4b
#90: clientGroupsBlock support CIDR (#91) 2020-08-24 21:47:28 +02:00
Dimitri Herzog d19dd7d45e Added new lines 2020-07-08 21:56:09 +02:00
Dimitri Herzog 2d4d26f432 Fixes #87: Error after upgrading to 0.9 2020-07-08 21:55:47 +02:00
Dimitri Herzog 110c14598d Fixes #83: Warning when requesting from the same machine 2020-07-05 22:12:41 +02:00
Dimitri Herzog 0cb0b43089 go mod tidy 2020-06-21 23:07:24 +02:00
Dimitri Herzog d1b3b929e4 #67: consider request protocol TCP/UDP on calling external DNS (AXFR fails most times) 2020-06-21 22:38:04 +02:00
Dimitri Herzog 3d32730608 fmt imports 2020-05-24 22:47:46 +02:00
Dimitri Herzog 5b06ca27af #59: Windows Support 2020-05-24 22:42:43 +02:00
Dimitri Herzog 7cae8fbb46 removed order 2020-05-23 23:01:11 +02:00
Dimitri Herzog 3bd80242e8
DoH server support (#61)
#17: DoH server support
2020-05-23 22:54:51 +02:00
Dimitri Herzog 322006757d #55: Client name mapping 2020-05-17 21:50:40 +02:00
Dimitri Herzog 1f9549098d #50: Custom ip as destination for blockType 2020-05-16 21:47:32 +02:00
Dimitri Herzog 3bafec30ae typo 2020-05-13 22:32:36 +02:00
Dimitri Herzog 10c69094bd #14: periodically check and block dead upstream servers 2020-05-11 16:04:03 +02:00
Dimitri Herzog 0ec6c8af9c Test rewrite (Ginkgo), Refactorings 2020-05-04 22:20:13 +02:00
Dimitri Herzog e2086c8929 #28: CLI command to perform a DNS query 2020-04-10 17:08:59 +02:00
Dimitri Herzog bdeaee98fc removed unused code 2020-04-09 23:15:52 +02:00
Dimitri Herzog c4915fe74d #26: Error on processing empty query 2020-04-09 23:14:08 +02:00
Dimitri Herzog 0766c6480a #27: CLI tool 2020-04-08 23:03:07 +02:00
Dimitri Herzog acd63995fd added tests 2020-03-07 16:52:28 +01:00
Dimitri Herzog be22cb0a21 added file close 2020-03-06 23:00:27 +01:00
Dimitri Herzog 673e208cdd fixes # 18: add additional prometheus metrics for dashboard 2020-03-06 23:00:14 +01:00
Rich7690 5eb7ad5275 Actually fix it this time 2020-02-25 21:34:40 +01:00
Rich7690 f849bf0263 Fixed codacy issues 2020-02-25 21:34:40 +01:00
Rich7690 f52bc29138 Add initial prometheus endpoint support. Fixes #4 2020-02-25 21:34:40 +01:00
Dimitri Herzog e12d17dc66 replaced String function by generic 2020-02-23 22:32:24 +01:00
Dimitri Herzog a263f1fc17 added tests, small refactorings 2020-02-23 22:01:58 +01:00
Dimitri Herzog eb569ad604 added test 2020-02-17 22:49:20 +01:00
Dimitri Herzog 84e7e85a93 added tests 2020-02-17 22:40:58 +01:00
Dimitri Herzog c2be2fd8a1 #6: Dns over HTTPS (DoH) 2020-02-17 22:06:10 +01:00
Dimitri Herzog d41048da3e refactoring 2020-02-14 22:13:38 +01:00
Dimitri Herzog 4d0e21fd49 added test 2020-02-14 22:01:10 +01:00
Dimitri Herzog 3848576308 refactoring 2020-02-14 22:01:10 +01:00
Dimitri Herzog 30861f5763 added test 2020-02-13 21:50:39 +01:00
Dimitri Herzog 8f2dd2f160 removed unused func 2020-02-13 21:50:29 +01:00
Dimitri Herzog 432efd1a97 Blocking response entries (deep CNAME inspection #3 and IP black lists #1) 2020-02-13 18:12:59 +01:00
Dimitri Herzog 0061cf0c10 Provide additional configuration for caching, fixes #2 2020-02-10 21:44:51 +01:00
Dimitri Herzog a68d87bed9 changed to unbkocking buffered channel to prevent gorutine leaking 2020-02-10 15:58:42 +01:00
Dimitri Herzog 5b2a78b9ec Added statistics collection and aggregation 2020-02-07 22:13:00 +01:00
Dimitri Herzog 352986fa5d added refresh period configuration 2020-02-04 22:26:42 +01:00
Dimitri Herzog 74c3c065c2 improved negative cache handling 2020-01-27 21:16:05 +01:00
Dimitri Herzog 1d2b4265ca cache response return code if return code != OK 2020-01-25 22:21:25 +01:00
Dimitri Herzog 4c831e2df7 log response code 2020-01-25 22:20:09 +01:00
Dimitri Herzog 0e5138be51 added additional tests 2020-01-18 22:51:30 +01:00
Dimitri Herzog e2ad922501 refactoring 2020-01-17 21:53:15 +01:00
Dimitri Herzog 37f59bb7b6 Escaping of file names 2020-01-17 21:52:41 +01:00
Dimitri Herzog 0334ee42d2 added tests 2020-01-15 22:39:56 +01:00
Dimitri Herzog 84e47d2cad small refactorings, additional tests 2020-01-15 22:11:02 +01:00
Dimitri Herzog 3cbc4e0719 tests refactoring 2020-01-14 22:32:30 +01:00
Dimitri Herzog 01a8a402dc initial commit 2020-01-12 18:23:35 +01:00