Skip to content

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

Open
ptr1337 wants to merge 4 commits into
developfrom
doq
Open

Add DNS over QUIC (DoQ) support via blocky#255
ptr1337 wants to merge 4 commits 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 added 4 commits May 24, 2026 18:09
Signed-off-by: Peter Jung <admin@ptr1337.dev>
Signed-off-by: Peter Jung <admin@ptr1337.dev>
Signed-off-by: Peter Jung <admin@ptr1337.dev>
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 on lines +179 to +180
let doq_check = gtk::CheckButton::with_label(&fl!("enable-doq"));
doq_check.set_tooltip_text(Some(&fl!("doq-tooltip")));
Comment thread src/actions.rs
Comment on lines +202 to +203
dns::BlockyMode::Doh => fl!("doh-blocky-install-failed"),
dns::BlockyMode::Doq => fl!("doq-blocky-install-failed"),
Comment thread src/pages/dns.rs
if !valid {
let msg = match mode {
dns::BlockyMode::Doh => fl!("custom-dns-doh-url-required"),
dns::BlockyMode::Doq => fl!("custom-dns-doq-endpoint-required"),
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