-
Notifications
You must be signed in to change notification settings - Fork 134
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix socks5 proxy support #629
Conversation
DNS support over SOCKS is needed to resolve the remote host. |
Thanks for submitting this! I'm not an expert on socks proxies, but this is what I've found with relation to socks urls: socks5h:// and socks4a:// mean that the hostname isresolved by the SOCKS server. Does this string need to be configurable to avoid breaking existing configurations? |
I can't think of a reason why you would want to explicitly disallow DNS queries running over the proxy but security configurations are complex and it's certainly not possible to guarantee a reason doesn't exist. What I can say for certain is that I was unable to use the reqwest proxy client to transact with a Slatepack address until I adjusted the configuration as it is presented here. I got client callback errors that the http stack was unable to perform the DNS resolution for the .onion domain. |
No, we definitely don't need to disallow DNS queries, all I'm trying to determine is whether making this change could potentially break anyone's configuration. So I guess the question is if we change the scheme to From what I gather Just trying to determine whether the socks scheme should be in the configuration file instead of hardcoded here. |
When you say "local DNS resolution" do you mean "checking the host |
Either or both... I'm just asking 'does this change break existing installs in any way' so we can determine whether it can be merged as is or whether it needs to be added as a config file change. |
It certainly could if you were relying on a certain DNS behavior in your system. That said, DNS support over the proxy seems pretty crucial for the intended use case here, so I would vote to make Sorry I can't be of more help in this decision. |
Agree with the need for this. So I think we should turn this into an optional config file parameter, and default it to |
Merging this as a prerequisite for #617, (which will handle config file changes, will test everything within that PR) |
Took two small changes to get the socks5 proxy support working. Opened here for consideration.