Skip to content

Conversation

@shahradelahi
Copy link

This adds a new interface configuration option to doh-client that allows users to specify a network interface for all outgoing DNS queries (including bootstrap and passthrough traffic).

This adds a new `interface` configuration option to `doh-client` that allows users to specify a network interface for all outgoing DNS queries (including bootstrap and passthrough traffic).
@m13253
Copy link
Owner

m13253 commented Jan 23, 2026

I super love this feature. Please give me some time to review this.

By the way, does it work correctly on dual-stack networks? I remembr Golang’s HTTP client uses Happy Eyeballs algorithm. (I could be wrong.) Is this new function compatible with it?

@shahradelahi
Copy link
Author

I totally forgot about that. You're right, binding to a specific local IP breaks the default Happy Eyeballs behavior. I'll update the PR with a custom DialContext to handle dual-stack properly.

@m13253
Copy link
Owner

m13253 commented Jan 26, 2026

@vinnyperella Sorry to disturb you.
Do you have access to any environment with multiple network cards + IPv4/IPv6 dual stack + an (iptables) firewall that can intermittently drop IPv4/IPv6 packets to test this new feature?
I appreciate it very much!

I am considering to combining this new feature along #186 in the upcoming release but I currently don’t have enough time to test it throughoutly to make sure it doesn’t break anyone’s setup.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants