Kwitsch
9abeaeddea
Added gofumpt ( #805 )
...
* fix linter errors
* added gofumpt
* Makefile cleanup
* gofumpt run
* Update Makefile
Co-authored-by: ThinkChaos <ThinkChaos@users.noreply.github.com>
* go mod tidy
* fmt + lint
* go mod tidy
Co-authored-by: ThinkChaos <ThinkChaos@users.noreply.github.com>
2022-12-26 22:11:45 +01:00
Kwitsch
b73cd3b5ba
Config restructuring ( #771 )
...
To declutter the global top level config options i propose the grouping of ports and logging options as child options of top level options.
New structure:
ports:
dns: 43
http: 4000
https: 4443
tls: 853
log:
level: warn
format: json
privacy: true
timestamp: false
2022-12-02 21:55:40 +01:00
Dimitri Herzog
f78a57a94d
chore(build): add additional linters ( #774 )
...
* chore(build): add nolintlint linter
* chore(build): add usestdlibvars linter
2022-11-29 21:58:26 +01:00
Dimitri Herzog
2b49c2048f
feat(querylog): define which information should be logged ( #765 ) ( #766 )
2022-11-26 22:12:56 +01:00
Kwitsch
c19d4bd60d
feat: Support for redis sentinel( #632 )
...
Co-authored-by: Dimitri Herzog <dimitri.herzog@gmail.com>
2022-11-24 14:37:48 +01:00
Dimitri Herzog
3e95b12eed
feat: caching for empty DNS responses ( #700 )
2022-11-08 21:45:28 +01:00
Dimitri Herzog
a5ef595f43
fix: change network names ( #703 )
2022-11-02 21:58:58 +01:00
Dimitri Herzog
177c20fb96
update: github.com/abice/go-enum
2022-10-10 21:46:53 +02:00
Kwitsch
6b260159bb
Merge branch 'development' into feat/config-ignore-non-yaml
2022-09-23 22:32:57 +02:00
ThinkChaos
f48908f7be
Add connectIPVersion to choose how Blocky connects to other hosts ( #589 )
...
This impacts both DNS lookups and lists downloading.
Co-authored-by: Dimitri Herzog <dimitri.herzog@gmail.com>
2022-09-19 21:44:12 +02:00
Dan Ponte
465dda9283
Meh, just don't use named returns
2022-09-17 17:31:05 -04:00
Dan Ponte
dcec9853d6
Use short return like the rest of the extract functions
2022-09-17 17:29:13 -04:00
Dan Ponte
4fe5344e0f
Rename function, reverse return order
2022-09-17 17:26:35 -04:00
ThinkChaos
99edadb992
feat(config): Ignore non regular files when loading from a directory
2022-09-17 16:15:35 -04:00
ThinkChaos
d2064ef986
feat(config): Ignore non YAML files when loading from a directory
2022-09-17 15:59:43 -04:00
Dan Ponte
af5d2301b6
Fix lint
2022-09-17 15:38:47 -04:00
Dan Ponte
81344f714c
Address code review concerns
2022-09-17 15:34:34 -04:00
Dan Ponte
6325c3fc63
Test reflects common use case
2022-09-15 13:29:15 -04:00
Dan Ponte
736753737c
Add config test
2022-09-15 13:02:25 -04:00
Dan Ponte
46deb2f780
Add ability to specify certificate common name.
2022-09-14 22:03:15 -04:00
Kwitsch
fd93f67899
feat: new parameter "StartStrategy" ( #566 ) ( #636 )
...
Blocky should start resolving DNS traffic as soon as possible
2022-09-03 22:12:07 +02:00
FileGo
b49695fad3
Added config, simplified check for loopback
2022-08-23 07:54:03 +01: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
3c5b7a20dc
chore: Managing of external tools with go modules ( #616 ) ( #617 )
2022-08-03 22:10:07 +02:00
Kwitsch
51ef9ea77f
test: fix flaky test(537) - second hunt ( #610 )
...
* go test -> ginkgo
* removed flake-attempts as suggested
* added FlakeAttempts to flaky test definition
* as net.DNSError qualifies as net.Error check and correct the response
* fix in downloader.go resolves flaky tests
* unwrap maybe?
* excluede DownloadFile from funlen linter
* use eventually on io operations in file_writer_test
* file_writer_test flaky fixes
* fix linter errors
* Serve test reversed go routine
* matcher fix
* serve test rework 2
* DeferCleanup tmp files
* fixed some flakiness in resolver tests
* go mod tidy
* fixed linter errors
* JustAfterEach -> DeferCleanup
* changed close to defer
* moved unwrap from downloader to test
* fix linter error
* propper cleanup in "should return error"
Co-authored-by: Dimitri Herzog <dimitri.herzog@gmail.com>
2022-08-01 22:27:11 +02:00
Adyanth H
31cf8c77d5
Add fallbackUpstream for conditional mapping ( #593 )
2022-07-11 08:06:42 +02:00
Dimitri Herzog
b048bb051f
test: Fix race condition in test ( #567 )
...
* use ginkgo with repeat temporarily
* use lock for setting config
* Revert "use ginkgo with repeat temporarily"
This reverts commit 9a25b4e26f
.
2022-06-20 22:55:31 +02:00
Kwitsch
c912356740
Option to handle FQDN only requests ( #561 )
2022-06-20 13:02:51 +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
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
FileGo
0731ebe18a
Support for multiple configuration files ( #534 )
2022-05-25 15:13:52 +02:00
FileGo
776c51fc59
Adds user customizable DoH upstream user agent ( #525 )
...
* Adds user customizable DoH upstream user agent
* Changed default user agent to empty
2022-05-18 08:49:15 +02:00
Dimitri Herzog
3392de0e16
Cache refresh memory consumption optimization ( #470 ) ( #515 )
2022-05-16 21:32:16 +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
53814a2208
chore: refactoring list cache, extracting download functionality ( #508 )
2022-05-06 17:57:33 +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
Dimitri Herzog
d1289e8452
removed deprecated configuration parameters
2022-03-28 21:48:49 +02:00
Dimitri Herzog
476dd7d0eb
update go-enum to v0.4.0
2022-03-28 21:35:48 +02:00
Dimitri Herzog
78376058c2
test: added unmarshalling tests
2022-03-25 22:04:26 +01:00
Dimitri Herzog
2bb2f97f8f
CustomDNS: parameter "filterUnmappedTypes" to allow/disable forwarding to the upstream resolver ( #467 )
2022-03-22 22:15:31 +01: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
FileGo
c176b02ac9
Support Postgresql database for query log ( #348 )
...
Co-authored-by: Dimitri Herzog <dimitri.herzog@gmail.com>
2022-01-07 21:42:06 +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
ccc6f888e3
externalize retry parameters for query log
2021-12-21 22:03:02 +01:00
Kwitsch
d3611fb444
FR: DNS cache sync between multiple blocky instances ( #344 ) ( #365 )
2021-12-21 17:06:16 +01:00