-
-
Notifications
You must be signed in to change notification settings - Fork 119
Description
We currently support SOCKS5, HTTP(S) and Shadowsocks proxies. In all cases we delegate DNS resolution to the proxy by passing the domain name to the proxy. In case of Shadowsocks we pass the domain name to the proxy library, I have not checked if it never does DNS resolution, but this does not really matter for this issue.
We have a built-in DNS cache and generally because of this local DNS resolution is more reliable even if DNS is not working at all. Primary goal of the proxy feature is to get connected to the server, it is not comprehensive (does not include calls and p2p connections) and not all proxies are trusted so we don't recommend it as a "privacy" feature anyway. For getting a connection doing own DNS resolution may be preferred.
Firefox has options to "Proxy DNS when using SOCKS v4" and "Proxy DNS when using SOCKS v5". They are off by default. We want a similar option "Proxy DNS when using a proxy" (proxy_dns config), but on by default (to match current behavior). When this option is off by explicitly disabling it, we should do our own DNS resolution and pass the IP address instead of the domain name to the proxy, trying all IPs that we got one by one, opening a new proxy connection each time.