diff --git a/cmd/node/main.go b/cmd/node/main.go index 01fbb88..811e57e 100644 --- a/cmd/node/main.go +++ b/cmd/node/main.go @@ -20,7 +20,7 @@ import ( func main() { var ( - config = flag.String("config", "", "配置文件路径(node.ini); 显式 flag 可覆盖配置项") + config = flag.String("config", "node.ini", "配置文件路径; 默认自动加载本目录 node.ini, 文件不存在且未显式 -config 时按无配置启动") addr = flag.String("addr", ":5212", "桥接监听地址") tunnelBind = flag.String("tunnel-bind", "0.0.0.0", "隧道监听绑定地址") jwtSecret = flag.String("jwt-secret", "", "agent 登录 JWT 校验密钥(HS256)") @@ -51,6 +51,13 @@ func main() { explicit := map[string]bool{} flag.Visit(func(f *flag.Flag) { explicit[f.Name] = true }) + // 自动加载: -config 未显式指定且默认路径不存在 → 按无配置启动(兼容纯 flag/老部署) + if !explicit["config"] { + if _, err := os.Stat(*config); err != nil { + *config = "" + } + } + var ( finalAddr = *addr finalTunnelBind = *tunnelBind @@ -107,7 +114,7 @@ func main() { } if finalSecret == "" { - slog.Error("缺少 jwt-secret(agent 登录 JWT 校验密钥; -jwt-secret 或配置文件 server.jwt-secret)") + slog.Error("缺少 jwt-secret(agent 登录 JWT 校验密钥; -jwt-secret、-config 指定文件或本目录 node.ini 的 server.jwt-secret)") os.Exit(1) }