dcarrillo
49a63ef071
feat: Create multiarch artifacts ( #58 )
2026-07-22 12:33:57 +02:00
dcarrillo
a36a5504fa
chore: Add AGENTS.md
3.4.0
2026-07-21 18:40:56 +02:00
dcarrillo
2e32a20f60
refactor: dependency injection instead of package globals ( #57 )
...
* refactor: export Settings type, Setup returns value
* refactor: resolver.Setup takes explicit Settings struct
* refactor: GetHeadersWithoutTrustedHeaders takes explicit header params
* refactor: server constructors take narrow config
* refactor: Router struct with handler methods, remove geoSvc global
* refactor: wire DI through main, remove setting.App references
* refactor: remove App global, use returned Settings
* refactor: update router tests for DI
* chore: fix lint issues — rename ServerTimeouts to Timeouts, fix shadowed variables
2026-07-21 18:37:21 +02:00
dcarrillo
3874f6af3f
Update dependencies
3.3.0
2026-07-19 12:27:56 +02:00
dcarrillo
ff97f2c550
Move integration tests to separate Go module to slim main dependency graph ( #56 )
...
integration-tests/ is now its own Go module with a replace directive
pointing to the parent. docker/docker and testcontainers-go are no longer
in the main module, reducing go.mod from 106 to 60 lines and go.sum
from ~480 to 136 lines (-40% direct deps).
Makefile integration-test target updated to cd into the submodule.
2026-07-19 12:23:33 +02:00
dcarrillo
49ffcadb0a
Fix data races, nil-record panics, scanner SSRF, log date layout, shutdown timeouts, and enable stricter linters ( #54 )
...
High (behavioral bugs):
- service.Geo: add RLock on lookups, handle Reload error, keep old DBs on failure
- models.GeoDB.Reload: open new DBs before closing old ones (no reader gap)
- router: guard nil geo records (404 instead of 500) in geo.go, generic.go, dns.go
- router/port_scanner: reject undetermined client IPs (nil->localhost dial)
- internal/httputils: fix access log date layout (02/Jan/2006, not literal Nov)
- server/quic: log.Printf instead of log.Fatal in request handler
Medium:
- server/*: 10s shutdown timeout; SIGTERM drains servers before closing geo DBs
- httputils: Clone() request headers instead of mutating the live map; strings.Builder
- setting/app: handle all os.Stat errors; fix "truster" typos; use errors.New;
remove dead Token field
- cmd: errors.Is for sentinel checks; os.Stderr; log.Fatal instead of panic;
pass http.Handler by value (not pointer-to-interface)
- resolver: validate config at startup (pre-parse RRs, validate IPs); check WriteMsg
errors; Setup returns error
Low:
- .golangci.yaml: enable errcheck, govet, errorlint; fix all resulting findings
- server/tls: explicit TLSConfig{MinVersion: tls.VersionTLS12}
- router/dns: label-exact vhost suffix check, strip port; template.Must
- models: errors.Join instead of %s on []error
- service/geo_test: race-regression test (concurrent lookups during Reload)
- README: Go >= 1.25; fix latent test bug (store.Add->Set in dns_test.go)
2026-07-19 12:09:52 +02:00
dcarrillo
210e8c7cdb
Update dependencies
2026-06-10 18:21:48 +02:00
dcarrillo
bc27f8193f
[ci] Upgrade github actions
3.2.3
2026-06-05 14:47:54 +02:00
dependabot[bot]
52b6302615
Bump github.com/quic-go/quic-go from 0.59.0 to 0.59.1 ( #53 )
...
Bumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go ) from 0.59.0 to 0.59.1.
- [Release notes](https://github.com/quic-go/quic-go/releases )
- [Commits](https://github.com/quic-go/quic-go/compare/v0.59.0...v0.59.1 )
---
updated-dependencies:
- dependency-name: github.com/quic-go/quic-go
dependency-version: 0.59.1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dcarrillo <daniel.carrillo@gmail.com >
2026-06-05 14:42:26 +02:00
dcarrillo
9aa97e62cc
[ci] Update linting tools installation method
2026-06-05 14:39:45 +02:00
dcarrillo
17c615b93d
Update dependencies
2026-04-10 18:00:12 +02:00
dependabot[bot]
5a0c1c19fc
Bump go.opentelemetry.io/otel/sdk from 1.40.0 to 1.43.0 ( #52 )
...
Bumps [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go ) from 1.40.0 to 1.43.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.40.0...v1.43.0 )
---
updated-dependencies:
- dependency-name: go.opentelemetry.io/otel/sdk
dependency-version: 1.43.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3.2.2
2026-04-08 23:40:58 +02:00
dependabot[bot]
c3d113447d
Bump go.opentelemetry.io/otel/sdk from 1.35.0 to 1.40.0 ( #50 )
...
* Bump go.opentelemetry.io/otel/sdk from 1.35.0 to 1.40.0
Bumps [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go ) from 1.35.0 to 1.40.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.35.0...v1.40.0 )
---
updated-dependencies:
- dependency-name: go.opentelemetry.io/otel/sdk
dependency-version: 1.40.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
* [lint] Add metric package naming exclusion
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Carrillo <daniel.carrillo@gmail.com >
3.2.1
2026-03-03 17:29:34 +01:00
dependabot[bot]
473c859163
Bump github.com/quic-go/quic-go from 0.55.0 to 0.57.0 ( #48 )
...
Bumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go ) from 0.55.0 to 0.57.0.
- [Release notes](https://github.com/quic-go/quic-go/releases )
- [Commits](https://github.com/quic-go/quic-go/compare/v0.55.0...v0.57.0 )
---
updated-dependencies:
- dependency-name: github.com/quic-go/quic-go
dependency-version: 0.57.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-11 19:01:21 +01:00
dependabot[bot]
5f1af4a2b4
Bump golang.org/x/crypto from 0.43.0 to 0.45.0 ( #47 )
...
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.43.0 to 0.45.0.
- [Commits](https://github.com/golang/crypto/compare/v0.43.0...v0.45.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.45.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-21 16:22:14 +01:00
dcarrillo
e8d3a20781
New feature: prometheus metrics endpoint ( #46 )
3.2.0
2025-11-03 18:36:13 +01:00
dcarrillo
ec1de1fa81
Update dependencies and bump go version to 1.25
3.1.0
2025-09-26 16:09:18 +02:00
dcarrillo
00749ae529
Add tests for new disable-scan flag
2025-09-26 16:07:05 +02:00
AdamB
9b87d28433
Add a flag to disable TCP scanning ( #45 )
...
* Add a flag to disable TCP scanning
* Move the option definition
2025-09-26 15:59:39 +02:00
dcarrillo
751e5f3885
Improve README.md grammar and formatting ( #43 )
2025-07-19 12:39:18 +02:00
dcarrillo
f3216cdf21
Update dependencies
2025-06-07 19:04:25 +02:00
dependabot[bot]
f70f4c6b65
Bump golang.org/x/net from 0.37.0 to 0.38.0 ( #42 )
...
* Bump golang.org/x/net from 0.37.0 to 0.38.0
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.37.0 to 0.38.0.
- [Commits](https://github.com/golang/net/compare/v0.37.0...v0.38.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-version: 0.38.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
* Update packages
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Carrillo <daniel.carrillo@gmail.com >
3.0.3
2025-04-17 10:53:14 +02:00
dcarrillo
d3849cec02
[ci] Migrate golangci conf to v2
2025-04-17 10:30:41 +02:00
dcarrillo
00b1661ef9
Update dependencies and fix CVE-2025-22870, CVE-2024-40635
3.0.2
2025-03-18 20:25:24 +01:00
dcarrillo
10c199109a
Bump go to 1.24
3.0.1
2025-02-21 19:37:35 +01:00
dcarrillo
b5fe362183
Make geo database usage optional ( #39 )
3.0.0
2025-01-02 20:13:41 +01:00
dcarrillo
95e7742c56
Fix CVE-2024-45338 in golang.org/x/net
2024-12-19 17:52:04 +01:00
dcarrillo
680aeefeab
Fix CVE-2024-45337 in golang.org/x/crypto
2024-12-13 09:26:24 +01:00
dependabot[bot]
15136359ae
Bump github.com/quic-go/quic-go from 0.47.0 to 0.48.2 ( #38 )
...
* Bump github.com/quic-go/quic-go from 0.47.0 to 0.48.2
Bumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go ) from 0.47.0 to 0.48.2.
- [Release notes](https://github.com/quic-go/quic-go/releases )
- [Changelog](https://github.com/quic-go/quic-go/blob/master/Changelog.md )
- [Commits](https://github.com/quic-go/quic-go/compare/v0.47.0...v0.48.2 )
---
updated-dependencies:
- dependency-name: github.com/quic-go/quic-go
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
* Fix linter errors
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Carrillo <daniel.carrillo@gmail.com >
2.3.6
2024-12-02 19:14:32 +01:00
dcarrillo
64011f9e99
Update dependencies
2024-09-15 20:01:33 +02:00
dcarrillo
f020abc228
Update dependencies and bump Go version to 1.23
2.3.5
2024-08-26 19:51:37 +02:00
dependabot[bot]
24b05c0015
Bump github.com/docker/docker ( #36 )
...
Bumps [github.com/docker/docker](https://github.com/docker/docker ) from 26.1.4+incompatible to 26.1.5+incompatible.
- [Release notes](https://github.com/docker/docker/releases )
- [Commits](https://github.com/docker/docker/compare/v26.1.4...v26.1.5 )
---
updated-dependencies:
- dependency-name: github.com/docker/docker
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-10 12:08:29 +02:00
dcarrillo
f2da841307
Update dependencies
2.3.4
2024-07-30 12:50:27 +02:00
dependabot[bot]
5bb5c974dd
Bump github.com/docker/docker ( #35 )
...
Bumps [github.com/docker/docker](https://github.com/docker/docker ) from 26.1.3+incompatible to 26.1.4+incompatible.
- [Release notes](https://github.com/docker/docker/releases )
- [Commits](https://github.com/docker/docker/compare/v26.1.3...v26.1.4 )
---
updated-dependencies:
- dependency-name: github.com/docker/docker
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-30 12:50:27 +02:00
dcarrillo
159c30f2f0
Update dependecies
2024-07-30 12:50:27 +02:00
dcarrillo
1539ba1987
Update dependencies
2024-07-30 12:50:11 +02:00
dcarrillo
4492f77d87
Remove docker compose from integration tests because of the testcontainers dependency nightmare ( #34 )
...
* Remove docker compose from integration tests because of the testcontainers dependency nightmare
2024-06-01 19:12:14 +02:00
dcarrillo
aaf8a3b163
Revert update dependencies because of testcontainers
2024-05-25 16:14:46 +02:00
dcarrillo
c37642c6c1
Revert "Update dependencies"
...
This reverts commit f3a6f27e99 .
2024-05-25 16:10:48 +02:00
dcarrillo
f3a6f27e99
Update dependencies
2024-05-25 16:07:52 +02:00
dcarrillo
f167424e4f
chore: Add concurrency to workflow
2024-05-12 19:26:00 +02:00
dcarrillo
789cc6939e
Return 404 when the dns domain has any path different than /
2.3.2
2024-05-12 19:24:10 +02:00
dcarrillo
b57beded8f
chore: Fix typo
2024-05-09 20:01:40 +02:00
dcarrillo
d29e238beb
chore: Split unit/integration tests in CI workflow
2024-05-09 19:48:06 +02:00
dcarrillo
5d3dcb4b8e
Bump gin-gonic to v1.10.0
2.3.1
2024-05-09 19:40:14 +02:00
dcarrillo
71a0f37abb
Update LICENSE date
2024-05-02 13:32:03 +02:00
dcarrillo
c8d6da5ebd
Update README.md
2024-04-12 19:58:14 +02:00
dependabot[bot]
7caf4ad4a8
Bump github.com/docker/docker ( #30 )
...
Bumps [github.com/docker/docker](https://github.com/docker/docker ) from 25.0.3+incompatible to 25.0.5+incompatible.
- [Release notes](https://github.com/docker/docker/releases )
- [Commits](https://github.com/docker/docker/compare/v25.0.3...v25.0.5 )
---
updated-dependencies:
- dependency-name: github.com/docker/docker
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2.3.0
2024-04-12 19:32:09 +02:00
dcarrillo
d13ea29071
New whatismydns feature ( #29 )
2024-04-12 19:26:48 +02:00
dependabot[bot]
b11f15ecfe
Bump github.com/quic-go/quic-go from 0.40.1 to 0.42.0 ( #28 )
...
Bumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go ) from 0.40.1 to 0.42.0.
- [Release notes](https://github.com/quic-go/quic-go/releases )
- [Changelog](https://github.com/quic-go/quic-go/blob/master/Changelog.md )
- [Commits](https://github.com/quic-go/quic-go/compare/v0.40.1...v0.42.0 )
---
updated-dependencies:
- dependency-name: github.com/quic-go/quic-go
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2.2.3
2024-04-02 17:40:05 +02:00