diff options
| author | bt <bt@rctt.net> | 2026-05-24 16:29:03 +0200 |
|---|---|---|
| committer | bt <bt@rctt.net> | 2026-05-24 16:29:03 +0200 |
| commit | c9c7a085c744d5023f932b2a0a6dba08153d2ba7 (patch) | |
| tree | 9ba4de4868032d6ed60f340430533f8fd70badf7 /cmd/daemon | |
| parent | 164428421ef950ee9572287fd9ade8876ed4bfe5 (diff) | |
| download | solec-c9c7a085c744d5023f932b2a0a6dba08153d2ba7.tar.gz solec-c9c7a085c744d5023f932b2a0a6dba08153d2ba7.zip | |
[daemon] Add TLS support
Diffstat (limited to 'cmd/daemon')
| -rw-r--r-- | cmd/daemon/main.go | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/cmd/daemon/main.go b/cmd/daemon/main.go index 10fb61c..aebc085 100644 --- a/cmd/daemon/main.go +++ b/cmd/daemon/main.go @@ -27,11 +27,15 @@ var ( ) func main() { - fmt.Println("SOLEC MOCK SERVER") + fmt.Println("SOLEC SERVER") fmt.Println("Commands:", slices.Sorted(maps.Keys(cmds))) addr := flag.String("a", "localhost:9999", "listening address:port") name := flag.String("n", "localhost", "server name") + enableTls := flag.Bool("tls", false, "Enable TLS") + certPath := flag.String("tls-cert", "", "TLS certificate PEM file path") + keyPath := flag.String("tls-key", "", "TLS key PEM file path") + flag.Parse() db, err := storage.InitDb("test.db") @@ -39,7 +43,17 @@ func main() { panic(err) } - serv = server.NewServer(*addr, *name, db) + cfg := server.Config{ + ListenAddr: *addr, + Name: *name, + } + + if *enableTls { + cfg.Tls = true + cfg.CertPem, cfg.KeyPem = loadKeys(*certPath, *keyPath) + } + + serv = server.NewServer(cfg, db) serv.AddChannel("test") go func() { @@ -53,6 +67,20 @@ func main() { readCmds() } +func loadKeys(certPath, keyPath string) ([]byte, []byte) { + cert, err := os.ReadFile(certPath) + if err != nil { + panic(err) + } + + key, err := os.ReadFile(keyPath) + if err != nil { + panic(err) + } + + return cert, key +} + func readCmds() { sc := bufio.NewScanner(os.Stdin) for sc.Scan() { |
