diff --git a/cloud.go b/cloud.go index db47727..5088ec7 100644 --- a/cloud.go +++ b/cloud.go @@ -68,6 +68,11 @@ func handleCloudRegister(c *gin.Context) { return } + if config.CloudToken == "" { + logger.Info("Starting websocket client due to adoption") + go RunWebsocketClient() + } + config.CloudToken = tokenResp.SecretToken config.CloudURL = req.CloudAPI diff --git a/main.go b/main.go index f94b24e..7ff771f 100644 --- a/main.go +++ b/main.go @@ -66,7 +66,11 @@ func Main() { }() //go RunFuseServer() go RunWebServer() - go RunWebsocketClient() + // If the cloud token isn't set, the client won't be started by default. + // However, if the user adopts the device via the web interface, handleCloudRegister will start the client. + if config.CloudToken != "" { + go RunWebsocketClient() + } sigs := make(chan os.Signal, 1) signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM) <-sigs