diff options
| author | Theo Knez <27211475+Knezzen@users.noreply.github.com> | 2025-05-10 20:22:39 +0200 |
|---|---|---|
| committer | Jeff Halter <868228+jhalter@users.noreply.github.com> | 2025-05-22 12:00:40 -0700 |
| commit | a5eeedd0197a1c336ed4a53839607ad34e8d3855 (patch) | |
| tree | 2ea96840f14db6abdf2ded0258484c22495e808f /cmd/mobius-hotline-server | |
| parent | 4174d6a158a5d6cf4975926626a9c78d530abea4 (diff) | |
Update main.go
Diffstat (limited to 'cmd/mobius-hotline-server')
| -rw-r--r-- | cmd/mobius-hotline-server/main.go | 20 |
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) } |