Commit Graph

96 Commits

Author SHA1 Message Date
Dimitri Herzog 3c334c13b4 configure timeouts for http(s) listeners 2022-09-03 23:10:59 +02:00
FileGo 89927aa929
Change self-signed cert to ECDSA (#639)
Co-authored-by: Dimitri Herzog <dimitri.herzog@gmail.com>
2022-09-03 22:24:29 +02:00
FileGo 377f4764fe
Enable start as long as at least one upstream resolver in group is reachable (#608)
* Enable start if one upstream resolver fails

* Will now check if upstream actually works

* Fixed default upstream in some tests

* Increase timeouts in some tests

* change default value of "StartVerifyUpstream" to false

Co-authored-by: Dimitri Herzog <dimitri.herzog@gmail.com>
2022-08-21 17:21:08 +02:00
Dimitri Herzog 421807fc22
chore: update golangci-lint (#631) 2022-08-19 22:04:35 +02:00
Kwitsch 9c80a5f9a9
test: use dynamic unit test data (#624) 2022-08-06 22:44:26 +02:00
Kwitsch 5e9eaa2965
delivery of blocking group as EDNS error(560) (#611) 2022-08-06 22:30:26 +02:00
Dimitri Herzog b1973702bd chore: update golangci-lint to v1.47.3 2022-08-01 23:19:35 +02:00
Dimitri Herzog a903565cb0
set content-type header for HTTP endpoints (#581) 2022-06-29 22:36:54 +02:00
Kwitsch c912356740
Option to handle FQDN only requests (#561) 2022-06-20 13:02:51 +02:00
Dimitri Herzog 74a81ffd92 chore: fixed test 2022-06-04 17:18:58 +02:00
Dimitri Herzog 07b77653b1 generate self-signed certificate only if TLS or HTTPS listener are enabled 2022-06-04 13:41:39 +02:00
Peter Dave Hello e6957a3ff8
Make DoH/DoT server mininum TLS version configurable (#546)
* Make DoH/DoT server mininum TLS version configurable

* Disable gosec lint on server TLSConfig
2022-06-04 08:23:40 +02:00
Peter Dave Hello 9693ee339e
chore: Rename securityHeader -> secureHeader (#553) 2022-06-03 22:43:31 +02:00
Peter Dave Hello a120aafcdd
Add HTTP Secure Headers on HTTPS server response (#545) 2022-06-02 16:42:23 +02:00
FileGo 92fd6235bf
Self-signed certificate generation (#532)
* Added self-signed certificate functionality

Co-authored-by: Dimitri Herzog <dimitri.herzog@gmail.com>
2022-05-27 22:20:44 +02:00
Peter Dave Hello 43d3e15549
Use same minTLS ver & cipher for DoH as DoT server (#524) 2022-05-18 08:10:18 +02:00
Dimitri Herzog 2994e2a301
add additional logging context (#482) (#516) 2022-05-16 21:42:18 +02:00
Peter Dave Hello 4780b4808c
Improve DoT server TLS cipher suites (#520)
This removes some VULNERABLE, or potentially VULNERABLE ciphers, like
Triple DES and Obsoleted CBC ciphers, for the DoT server.
2022-05-16 21:41:39 +02:00
Dimitri Herzog a4b89537db
update golangci-lint (#510)
* update golangci-lint

* enable gomnd linter

* enable asciicheck linter

* enable bidichk linter

* enable durationcheck linter

* enable errchkjson linter

* enable errorlint linter

* enable exhaustive linter

* enable gomoddirectives linter

* enable gomodguard guard

* enable grouper linter

* enable grouper and ifshort linters

* enable importas linter

* enable makezero linter

* enable nestif linter

* enable nilerr linter

* enable nilnil linter

* enable nlreturn linter

* enable nolintlint linter

* enable predeclared linter

* enable sqlclosecheck linter

* enable tenv linter

* enable wastedassign linter
2022-05-10 09:09:50 +02:00
Dimitri Herzog 41febafd41
chore: test cleanup and refactoring (#509)
test: added additional assertions, introduced channels for bus event tests, refactoring, eliminating race conditions in tests, enable race check in tests
2022-05-06 22:34:08 +02:00
ThinkChaos 102d31e0f7
Change swagger URL to match blocky's version (#498) 2022-04-22 22:27:00 +02:00
ThinkChaos 62c7816ab3
Support of DoH/DoT as bootstrap DNS (#485) 2022-04-22 22:12:35 +02:00
Dimitri Herzog 28789ee7fe
filtering of queries (#450) (#474) 2022-04-01 08:58:09 +02:00
ThinkChaos f8b6e59ef4
Add rewrite support to custom DNS (#449)
This commit extracts rewriting logic from `ConditionalUpstreamResolver`
into the new `RewriterResolver`, and uses that to enable rewriting for
the `CustomDNSResolver`.
`RewriterResolver` wraps a resolver and applies the rewrite to the
request that is forwarded to the inner resolver.

It also introduces a new optional interface: `NamedResolver`.
This allows a `Resolver` to choose what its user friendly name is,
instead of always being its type name.
2022-03-17 22:30:21 +01:00
ThinkChaos 27c8cbf2b7
Update to gingko v2 (#447) 2022-03-03 11:27:27 +01:00
Kwitsch ee451f8b36
Sync blocking enable/disable over redis (#377) (#403)
Co-authored-by: Dimitri Herzog <dimitri.herzog@gmail.com>
2022-01-19 22:03:41 +01:00
FileGo b43c7aa2cb
Enable resolving hosts file (#362)
fixes #362 

Co-authored-by: Dimitri Herzog <dimitri.herzog@gmail.com>
2022-01-04 15:40:09 +01:00
Dimitri Herzog 7ea5ba4cac updated github.com/go-chi/chi 2021-12-24 23:04:47 +01:00
Dimitri Herzog d7bf373b52 Replace all sleeps in tests with "eventually" from gomega (#379) 2021-12-22 22:21:04 +01:00
Dimitri Herzog d6bb02f26f fix lint issues 2021-12-21 22:02:15 +01:00
Kwitsch d3611fb444
FR: DNS cache sync between multiple blocky instances (#344) (#365) 2021-12-21 17:06:16 +01:00
Dimitri Herzog 61ca25c64c sanitize log output 2021-12-20 22:37:32 +01:00
ThinkChaos 69dc38308c
Allow configuring multiple listen addresses for each port (#372) 2021-12-20 22:13:07 +01:00
ThinkChaos cbcd09c898
Allow configuring custom DNS TTL (#370) 2021-12-16 21:38:01 +01:00
ThinkChaos 25ad3a9186
Make go:build compatible with go 1.16 (#361) 2021-12-11 22:33:36 +01:00
Dimitri Herzog 9b9596970c Improved configuration output (duration format, etc.) 2021-11-07 21:35:16 +01:00
Dimitri Herzog f823db19c7 Refactoring default parameters in configuration 2021-11-05 23:00:54 +01:00
Dimitri Herzog 40e749abb5 DoH endpoints should also accept trailing slash 2021-10-21 22:38:58 +02:00
Dimitri Herzog a90fb5d1c2
Extract client name from the URL (DoH and DoT) (#317)
* Extract client name from the URL (DoH and DoT) #304

* improved tests
2021-10-13 22:47:14 +02:00
Dimitri Herzog cd767960a5 introduced go-multierror to handle multiple errors 2021-10-13 22:45:32 +02:00
Dimitri Herzog 57036aa088 fixed golangci-lint issues 2021-10-13 21:40:18 +02:00
Kwitsch e5b44f49ca
application startup should fail if initial download of a single list failed (#310) (#313)
application startup should fail if initial download of a single list failed
2021-10-13 21:30:14 +02:00
Dimitri Herzog c22292eb19 DoT (DNS-over-TLS) server (#303) 2021-10-04 21:56:18 +02:00
Dimitri Herzog 43bd5684a1 Remove stats resolver (#266) 2021-09-13 22:32:34 +02:00
Dimitri Herzog e6ca89607a write database entries async in bulk 2021-09-13 22:06:21 +02:00
Dimitri Herzog ee8f041938 refactoring: generate enums 2021-09-11 21:31:03 +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 919512959b use full-qualified name as module 2021-08-27 13:41:36 +02:00
Dimitri Herzog 301c8e4374 #236: Enable wire format compression to support Android 9 DoH 2021-07-27 22:15:47 +02:00