aboutsummaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorTheo Knez <27211475+Knezzen@users.noreply.github.com>2025-05-10 20:22:39 +0200
committerJeff Halter <868228+jhalter@users.noreply.github.com>2025-05-22 12:00:40 -0700
commita5eeedd0197a1c336ed4a53839607ad34e8d3855 (patch)
tree2ea96840f14db6abdf2ded0258484c22495e808f /cmd
parent4174d6a158a5d6cf4975926626a9c78d530abea4 (diff)
Update main.go
Diffstat (limited to 'cmd')
-rw-r--r--cmd/mobius-hotline-server/main.go20
1 files changed, 16 insertions, 4 deletions
diff --git a/cmd/mobius-hotline-server/main.go b/cmd/mobius-hotline-server/main.go
index e4e0954..65e1b01 100644
--- a/cmd/mobius-hotline-server/main.go
+++ b/cmd/mobius-hotline-server/main.go
@@ -5,9 +5,6 @@ import (
"embed"
"flag"
"fmt"
- "github.com/jhalter/mobius/hotline"
- "github.com/jhalter/mobius/internal/mobius"
- "github.com/oleksandr/bonjour"
"io"
"log"
"os"
@@ -15,6 +12,10 @@ import (
"path"
"path/filepath"
"syscall"
+
+ "github.com/jhalter/mobius/hotline"
+ "github.com/jhalter/mobius/internal/mobius"
+ "github.com/oleksandr/bonjour"
)
//go:embed mobius/config
@@ -35,6 +36,10 @@ func main() {
netInterface := flag.String("interface", "", "IP addr of interface to listen on. Defaults to all interfaces.")
basePort := flag.Int("bind", 5500, "Base Hotline server port. File transfer port is base port + 1.")
apiAddr := flag.String("api-addr", "", "Enable HTTP API endpoint on address and port")
+ apiKey := flag.String("api-key", "", "API key required for HTTP API authentication")
+ redisAddr := flag.String("redis-addr", "", "Redis server address for API features")
+ redisPassword := flag.String("redis-password", "", "Redis password, if required")
+ redisDB := flag.Int("redis-db", 0, "Redis DB number, defaults to 0")
configDir := flag.String("config", configSearchPaths(), "Path to config root")
printVersion := flag.Bool("version", false, "Print version and exit")
logLevel := flag.String("log-level", "info", "Log level")
@@ -139,10 +144,17 @@ func main() {
slogger.Error(fmt.Sprintf("Error reloading agreement: %v", err))
os.Exit(1)
}
+
+ // Let's try to reload the banner
+ bannerPath := filepath.Join(*configDir, config.BannerFile)
+ srv.Banner, err = os.ReadFile(bannerPath)
+ if err != nil {
+ slogger.Error(fmt.Sprintf("Error reloading banner: %v", err))
+ }
}
if *apiAddr != "" {
- sh := mobius.NewAPIServer(srv, reloadFunc, slogger)
+ sh := mobius.NewAPIServer(srv, reloadFunc, slogger, *apiKey, *redisAddr, *redisPassword, *redisDB)
go sh.Serve(*apiAddr)
}