Cleanup - WIP

This commit is contained in:
jdl
2026-06-07 19:42:04 +02:00
parent b8344a20b9
commit e9dffee2de
11 changed files with 310 additions and 42 deletions

View File

@@ -1,8 +1,48 @@
package main
import "log"
import (
"flag"
"log"
"os"
"path/filepath"
"vppn/peer"
)
func main() {
// TODO: construct peer.App and call Run (audit C1).
log.Fatal("not yet implemented")
log.SetFlags(0)
name := flag.String("name", "", "network name (required)")
hub := flag.String("hub", "", "hub base URL (required)")
apiKey := flag.String("api-key", "", "API key (required)")
flag.Parse()
if *name == "" || *hub == "" || *apiKey == "" {
flag.Usage()
os.Exit(1)
}
statePath := networkStatePath(*name)
state, err := peer.LoadOrInit(statePath, *hub, *apiKey)
if err != nil {
log.Fatalf("init: %v", err)
}
app, err := peer.New(state, *hub, *apiKey, *name)
if err != nil {
log.Fatalf("start: %v", err)
}
if err := app.Run(); err != nil {
log.Fatalf("run: %v", err)
}
}
func networkStatePath(name string) string {
home, err := os.UserHomeDir()
if err != nil {
return filepath.Join(".vppn", name, "state.json")
}
return filepath.Join(home, ".vppn", name, "state.json")
}