Skip to content

Add DNS over QUIC (DoQ) support via blocky#255

Open
ptr1337 wants to merge 1 commit into
developfrom
doq
Open

Add DNS over QUIC (DoQ) support via blocky#255
ptr1337 wants to merge 1 commit into
developfrom
doq

Conversation

@ptr1337
Copy link
Copy Markdown
Member

@ptr1337 ptr1337 commented May 24, 2026

Translation will be added after the current open Translation PRs are merged.

Signed-off-by: Peter Jung admin@ptr1337.dev

@ptr1337 ptr1337 requested review from Copilot and vnepogodin May 24, 2026 16:23
@ptr1337 ptr1337 self-assigned this May 24, 2026
@ptr1337 ptr1337 added the enhancement New feature or request label May 24, 2026
@ptr1337
Copy link
Copy Markdown
Member Author

ptr1337 commented May 24, 2026

@awlx Would you mind to review?

Blocky added in recent release support for DoQ.

@awlx
Copy link
Copy Markdown
Contributor

awlx commented May 24, 2026

Oh nice! Will fully review on Thursday as I am currently on holiday.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds DNS-over-QUIC (DoQ) support alongside existing DoH support by routing encrypted DNS through the local blocky proxy, and updates both the GUI DNS page and CLI to configure DoQ-capable upstreams.

Changes:

  • Add DoQ upstream presets and a unified BlockyMode abstraction for DoH/DoQ.
  • Update the DNS GUI to expose a DoQ toggle and a custom DoQ endpoint field, with mutual exclusion between DoT/DoH/DoQ.
  • Update CLI handling and actions to use a unified change_dns_server_blocky() path for encrypted DNS via blocky.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
src/pages/dns.rs Adds DoQ UI controls, custom DoQ endpoint handling, and blocky-mode-aware selection/application logic.
src/dns.rs Introduces DoQ preset endpoints plus BlockyMode and helpers for reading/writing blocky upstreams.
src/cli_handler.rs Extends DNS CLI flows to support DoQ and reuses shared blocky application helpers.
src/actions.rs Replaces DoH-specific blocky application with a mode-aware blocky configuration/apply function.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/pages/dns.rs
Comment thread src/actions.rs
Comment thread src/pages/dns.rs
@awlx
Copy link
Copy Markdown
Contributor

awlx commented May 31, 2026

Tested locally and everything looks correct and works as expected :). The DoQ toggle, mutual exclusion with DoT/DoH, custom endpoint field, and the unified blocky flow all behave properly.

Only issue is what Copilot already flagged, the build fails because of missing English fallback strings in i18n/en/cachyos_hello.ftl. Since i18n-embed-fl validates message IDs at compile time against the fallback locale, these need to be added:

  • enable-doq
  • doq-tooltip
  • doq-blocky-install-failed
  • custom-dns-doq-endpoint
  • custom-dns-doq-endpoint-required

Once those are in, it compiles and runs fine :).

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.

Comment thread src/pages/dns.rs
Comment thread src/pages/dns.rs
Comment thread src/dns.rs
Comment thread src/actions.rs
Add DoQ as an encrypted DNS mode alongside DoT and DoH, using blocky as
a local proxy in the GUI and CLI. Include FFMUC in the provider list and
English UI strings.

Signed-off-by: Peter Jung <admin@ptr1337.dev>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants