package main import ( "context" "fmt" "io" "log" "os" "os/signal" "os/user" "git.dubyatp.xyz/orphanage/client/server" ) func check_superuser() bool { current, err := user.Current() if err != nil { log.Fatal(err) } if current.Uid != "0" { return false } else { return true } } func run(ctx context.Context, w io.Writer, args []string) error { if !check_superuser() { log.Fatal("orphan must run as superuser") } ctx, cancel := signal.NotifyContext(ctx, os.Interrupt) defer cancel() config := struct { Host string Port string }{ Host: "0.0.0.0", Port: "8080", } return server.StartServer(ctx, config) } func main() { ctx := context.Background() if err := run(ctx, os.Stdout, os.Args); err != nil { fmt.Fprintf(os.Stderr, "%s\n", err) os.Exit(1) } }