code: func SOCKS5(network, addr string, auth *Auth, forward Dialer) (Dialer, error) {
  	s := &socks5{
  		network: network,
  		addr:    addr,
  		forward: forward,
  	}
  	if auth != nil {
  		s.user = auth.User
  		s.password = auth.Password
  	}
  
  	return s, nil
  }
docs: // SOCKS5 returns a Dialer that makes SOCKSv5 connections to the given address
  // with an optional username and password. See RFC 1928.