code: func (k *Kite) RegisterURL(local bool) *url.URL {
  	var ip net.IP
  	var err error
  
  	if local {
  		ip, err = localIP()
  		if err != nil {
  			return nil
  		}
  	} else {
  		ip, err = publicIP()
  		if err != nil {
  			return nil
  		}
  	}
  
  	scheme := "http"
  	if k.TLSConfig != nil {
  		scheme = "https"
  	}
  
  	return &url.URL{
  		Scheme: scheme,
  		Host:   ip.String() + ":" + strconv.Itoa(k.Config.Port),
  		Path:   "/" + k.name + "-" + k.version + "/kite",
  	}
  }
docs: // RegisterURL returns a URL that is either local or public. It's an helper
  // method to get a Registration URL that can be passed to Kontrol (via the
  // methods Register(), RegisterToProxy(), etc.) It needs to be called after all
  // configurations are done (like TLS, Port,etc.). If local is true a local IP
  // is used, otherwise a public IP is being used.