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.

@vinnyperella
Copy link
Contributor

@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.

@m13253 no worries but unfortunately I do not have a machine with multiple NIC's but I can see if I can aquire one I'd be more than happy to test.

@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.

@m13253 no worries but unfortunately I do not have a machine with multiple NIC's but I can see if I can aquire one I'd be more than happy to test.

If we consider lo as another NIC then probably we can test it against lo.

@vinnyperella
Copy link
Contributor

@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.

@m13253 no worries but unfortunately I do not have a machine with multiple NIC's but I can see if I can aquire one I'd be more than happy to test.

If we consider lo as another NIC then probably we can test it against lo.

Well in that case yes I can test it I thought you meant an additional hardware NIC I'll try and get it set up in the next day or so.

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.

3 participants