// Begins listening on https://$host, for enabling remote web access // Uses HTTPS func LaunchWebInterfaceHTTPS(host, staticDir string, daemon *daemon.Daemon, certFile, keyFile string) error { logger.Info("Starting web interface on https://%s", host) logger.Info("Using %s for the certificate", certFile) logger.Info("Using %s for the key", keyFile) logger.Info("Web resources directory: %s", staticDir) appLoc, err := util.DetermineResourcePath(staticDir, devDir, resourceDir) if err != nil { return err } certs := make([]tls.Certificate, 1) if certs[0], err = tls.LoadX509KeyPair(certFile, keyFile); err != nil { return err } listener, err := tls.Listen("tcp", host, &tls.Config{Certificates: certs}) if err != nil { return err } // Runs http.Serve() in a goroutine serve(listener, NewGUIMux(appLoc, daemon)) return nil }
// Begins listening on http://$host, for enabling remote web access // Does NOT use HTTPS func LaunchWebInterface(host, staticDir string, daemon *daemon.Daemon) error { logger.Info("Starting web interface on http://%s", host) logger.Warning("HTTPS not in use!") appLoc, err := util.DetermineResourcePath(staticDir, resourceDir, devDir) if err != nil { return err } logger.Info("Web resources directory: %s", appLoc) listener, err := net.Listen("tcp", host) if err != nil { return err } // Runs http.Serve() in a goroutine serve(listener, NewGUIMux(appLoc, daemon)) return nil }