• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In
Recached

rm-hull / dot-block
51%

Build:
DEFAULT BRANCH: main
Repo Added 04 Nov 2025 11:40PM UTC
Token cvDVr9xcMoQ9KcOEGYMi4bscx67euTREm regen
Build 109 Last
Files 13
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH main
branch: SELECT
CHANGE BRANCH
x
Sync Branches
  • No branch selected
  • chore/correct-package-name
  • chore/slog
  • chore/update-deps
  • dependabot/github_actions/actions/cache-5
  • dependabot/github_actions/actions/checkout-6
  • dependabot/github_actions/actions/upload-artifact-6
  • dependabot/github_actions/golangci/golangci-lint-action-9
  • dependabot/github_actions/mikepenz/action-junit-report-6
  • dependabot/go_modules/github.com/axiomhq/hyperloglog-0.2.6
  • dependabot/go_modules/github.com/getsentry/sentry-go-0.37.0
  • dependabot/go_modules/github.com/getsentry/sentry-go-0.38.0
  • dependabot/go_modules/github.com/getsentry/sentry-go-0.39.0
  • dependabot/go_modules/github.com/getsentry/sentry-go-0.40.0
  • dependabot/go_modules/github.com/getsentry/sentry-go/gin-0.37.0
  • dependabot/go_modules/github.com/getsentry/sentry-go/gin-0.38.0
  • dependabot/go_modules/github.com/getsentry/sentry-go/gin-0.39.0
  • dependabot/go_modules/github.com/getsentry/sentry-go/gin-0.40.0
  • dependabot/go_modules/github.com/miekg/dns-1.1.69
  • dependabot/go_modules/github.com/rm-hull/godx-0.0.10
  • dependabot/go_modules/github.com/rm-hull/godx-0.0.7
  • dependabot/go_modules/github.com/rm-hull/godx-0.0.8
  • dependabot/go_modules/github.com/spf13/cobra-1.10.2
  • dependabot/go_modules/github.com/tavsec/gin-healthcheck-1.7.12
  • dependabot/go_modules/golang.org/x/crypto-0.44.0
  • dependabot/go_modules/golang.org/x/crypto-0.45.0
  • dependabot/go_modules/golang.org/x/crypto-0.46.0
  • dependabot/go_modules/golang.org/x/net-0.47.0
  • dependabot/go_modules/golang.org/x/net-0.48.0
  • feat/cache-reaper
  • feat/dns-listener
  • feat/reload-blocklist
  • feat/sentry-integration
  • feat/top-domains
  • feat/upstream-latency
  • feat/upstream-ttl-metrics
  • main
  • refactor/error-wrap
  • refactor/handle-multiple-questions
  • testing/integration

21 Dec 2025 02:20PM UTC coverage: 50.69% (-2.3%) from 53.018%
20411149028

push

github

web-flow
feat: add support for regular DNS on port 53 (#48)

* feat: add support for regular DNS on port 53

*   Implement standard UDP and TCP DNS listeners alongside the existing
    DoT service.
*   Add a new `--dns-port` flag (defaulting to 53) to allow
    configuration of the regular DNS interface.
*   Refactor server lifecycle management using `errgroup` to
    concurrently run HTTP, UDP DNS, TCP DNS, and DoT listeners.
*   Update `GEMINI.md` and `README.md` with instructions for testing
    both regular DNS and DoT in production and development modes.

```mermaid
graph TD
    Main[App RunServer] --> Group[errgroup]
    Group --> HTTP[HTTP Server:80]
    Group --> UDP[UDP DNS:53]
    Group --> TCP[TCP DNS:53]
    Group --> DoT[DoT Server:853]

    HTTP --> ACME[ACME/Metrics/Health]
    UDP --> Dispatcher[DNS Dispatcher]
    TCP --> Dispatcher
    DoT --> Dispatcher
    Dispatcher --> Cache[DNS Cache]
    Dispatcher --> Forwarder[Upstream Forwarder]
```

* refactor: unify DNS and DoT server startup

Refactor the server initialization to reduce duplication and improve
readability.

- Consolidate **DoT** server logic into a single goroutine.
- Use integer variables for port logging to avoid redundant formatting.
- Rename the `errgroup` variable from `g` to `group`.

```mermaid
graph TD
    A[RunServer] --> B{app.DevMode?}
    B -->|Yes| C[Set Dev Ports]
    B -->|No| D[Set Standard Ports]
    C & D --> E[Start HTTP, UDP, TCP Servers]
    C & D --> F[Start DoT Goroutine]
    F --> G{app.DevMode?}
    G -->|Yes| H[Network: tcp]
    G -->|No| I[Network: tcp-tls + Cert Config]
```

* feat: add dot-port flag and simplify port logic

- Add a new `--dot-port` flag to customize the DoT listening port.
- Centralize port initialization in `main.go` to separate CLI concerns
  from internal application logic.
- Improve `DEV_MODE` behavior by allowing explicit port overrides via
  command-line arguments.

0 of 57 new or added lines in 2 files covered. (0.0%)

17 existing lines in 1 file now uncovered.

404 of 797 relevant lines covered (50.69%)

0.54 hits per line

Relevant lines Covered
Build:
Build:
797 RELEVANT LINES 404 COVERED LINES
0.54 HITS PER LINE
Source Files on main
  • Tree
  • List 13
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
20411149028 main feat: add support for regular DNS on port 53 (#48) * feat: add support for regular DNS on port 53 * Implement standard UDP and TCP DNS listeners alongside the existing DoT service. * Add a new `--dns-port` flag (defaulting to 53) to allo... push 21 Dec 2025 02:21PM UTC web-flow github
50.69
20400640720 feat/dns-listener Merge branch 'main' into feat/dns-listener Pull #48 20 Dec 2025 10:04PM UTC web-flow github
50.69
20395746582 main feat: add Quad9 DNS servers Add `9.9.9.9` and `149.112.112.112` (Quad9) to the list of available DNS resolver addresses. push 20 Dec 2025 02:31PM UTC rm-hull github
53.02
20395739630 feat/dns-listener feat: add dot-port flag and simplify port logic - Add a new `--dot-port` flag to customize the DoT listening port. - Centralize port initialization in `main.go` to separate CLI concerns from internal application logic. - Improve `DEV_MODE` beha... Pull #48 20 Dec 2025 02:31PM UTC rm-hull github
50.69
20395544349 feat/dns-listener refactor: unify DNS and DoT server startup Refactor the server initialization to reduce duplication and improve readability. - Consolidate **DoT** server logic into a single goroutine. - Use integer variables for port logging to avoid redundant ... Pull #48 20 Dec 2025 02:13PM UTC rm-hull github
51.33
20395479631 main chore: update goccy/go-yaml to v1.19.1 Updates the `github.com/goccy/go-yaml` dependency to **v1.19.1** to incorporate recent bug fixes and stability improvements. push 20 Dec 2025 02:08PM UTC rm-hull github
53.3
20395467648 feat/dns-listener feat: add support for regular DNS on port 53 * Implement standard UDP and TCP DNS listeners alongside the existing DoT service. * Add a new `--dns-port` flag (defaulting to 53) to allow configuration of the regular DNS interface. * ... Pull #48 20 Dec 2025 02:07PM UTC rm-hull github
51.27
20295517192 main chore(deps): Bump github.com/axiomhq/hyperloglog from 0.2.5 to 0.2.6 (#47) Bumps [github.com/axiomhq/hyperloglog](https://github.com/axiomhq/hyperloglog) from 0.2.5 to 0.2.6. - [Release notes](https://github.com/axiomhq/hyperloglog/releases) - [C... push 17 Dec 2025 07:48AM UTC web-flow github
53.3
20293774675 dependabot/go_modules/github.com/axiomhq/hyperloglog-0.2.6 chore(deps): Bump github.com/axiomhq/hyperloglog from 0.2.5 to 0.2.6 Bumps [github.com/axiomhq/hyperloglog](https://github.com/axiomhq/hyperloglog) from 0.2.5 to 0.2.6. - [Release notes](https://github.com/axiomhq/hyperloglog/releases) - [Commits... Pull #47 17 Dec 2025 06:25AM UTC web-flow github
53.3
20260169670 main chore(deps): Bump github.com/rm-hull/godx from 0.0.9 to 0.0.10 (#46) Bumps [github.com/rm-hull/godx](https://github.com/rm-hull/godx) from 0.0.9 to 0.0.10. - [Release notes](https://github.com/rm-hull/godx/releases) - [Commits](https://github.com... push 16 Dec 2025 07:37AM UTC web-flow github
53.3
See All Builds (109)

Badge your Repo: dot-block

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc