code: func FromURL(u *url.URL, forward Dialer) (Dialer, error) {
  	var auth *Auth
  	if u.User != nil {
  		auth = new(Auth)
  		auth.User = u.User.Username()
  		if p, ok := u.User.Password(); ok {
  			auth.Password = p
  		}
  	}
  
  	switch u.Scheme {
  	case "socks5":
  		return SOCKS5("tcp", u.Host, auth, forward)
  	}
  
  	// If the scheme doesn't match any of the built-in schemes, see if it
  	// was registered by another package.
  	if proxySchemes != nil {
  		if f, ok := proxySchemes[u.Scheme]; ok {
  			return f(u, forward)
  		}
  	}
  
  	return nil, errors.New("proxy: unknown scheme: " + u.Scheme)
  }
docs: // FromURL returns a Dialer given a URL specification and an underlying
  // Dialer for it to make network requests.