Enhanced SOCKS5 Support

Enhanced SOCKS5 Support

Supports HTTP and HTTPS destinations and performs all hostname resolution via the SOCKS proxy, preventing privacy leakage if used with Tor.

Verified to work when the destination url uses an IP address instead of a hostname.
SOCKS4 requires IP address, SOCKS4a and SOCKS5 can do both (aka are required to support hostname resolution).