From 517c5a4bc4ce44177ed3b9b0e628df7b0a6fff25 Mon Sep 17 00:00:00 2001 From: tobyxdd Date: Sun, 15 Jan 2023 12:14:21 -0800 Subject: [PATCH] feat: make acme and cert options mutually exclusive to avoid user confusion --- app/cmd/config.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/cmd/config.go b/app/cmd/config.go index 0e1d410..65f7e4e 100644 --- a/app/cmd/config.go +++ b/app/cmd/config.go @@ -104,6 +104,9 @@ func (c *serverConfig) Check() error { if len(c.ACME.Domains) == 0 && (len(c.CertFile) == 0 || len(c.KeyFile) == 0) { return errors.New("need either ACME info or cert/key files") } + if len(c.ACME.Domains) > 0 && (len(c.CertFile) > 0 || len(c.KeyFile) > 0) { + return errors.New("cannot use both ACME and cert/key files, they are mutually exclusive") + } if up, down, err := c.Speed(); err != nil || (up != 0 && up < minSpeedBPS) || (down != 0 && down < minSpeedBPS) { return errors.New("invalid speed") }