Can you add HTTP and SOCKS proxy support?
Maybe via the api from golang.org/x/net/proxy.
And it's better to make it possible to pass your own dialer creation function or dialer altogether. In other words we will create own dialers ourselves and pass its to your client.