From 381c6911af07287e0a674ade19a376f57620d413 Mon Sep 17 00:00:00 2001 From: Flik Date: Thu, 22 Jan 2026 15:28:17 +0800 Subject: [PATCH] =?UTF-8?q?feat(version):=20=E6=B7=BB=E5=8A=A0=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E4=BF=A1=E6=81=AF=E6=B3=A8=E5=85=A5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 client 和 server 中添加 Version 变量用于版本信息注入 - 创建 version 包的 SetVersion 函数支持运行时设置版本号 - 修改 version 包将常量改为变量以支持动态设置 - 通过 ldflags 机制实现编译时版本信息注入 --- cmd/client/main.go | 8 ++++++++ cmd/server/main.go | 8 ++++++++ pkg/version/version.go | 9 ++++++++- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/cmd/client/main.go b/cmd/client/main.go index c63b8b5..3b46a15 100644 --- a/cmd/client/main.go +++ b/cmd/client/main.go @@ -8,8 +8,16 @@ import ( "github.com/gotunnel/internal/client/tunnel" "github.com/gotunnel/pkg/crypto" "github.com/gotunnel/pkg/plugin" + "github.com/gotunnel/pkg/version" ) +// 版本信息(通过 ldflags 注入) +var Version string + +func init() { + version.SetVersion(Version) +} + func main() { server := flag.String("s", "", "server address (ip:port)") token := flag.String("t", "", "auth token") diff --git a/cmd/server/main.go b/cmd/server/main.go index 97790f1..dbf7714 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -28,8 +28,16 @@ import ( "github.com/gotunnel/pkg/crypto" "github.com/gotunnel/pkg/plugin" "github.com/gotunnel/pkg/plugin/sign" + "github.com/gotunnel/pkg/version" ) +// 版本信息(通过 ldflags 注入) +var Version string + +func init() { + version.SetVersion(Version) +} + func main() { configPath := flag.String("c", "server.yaml", "config file path") flag.Parse() diff --git a/pkg/version/version.go b/pkg/version/version.go index bce0a10..70a2cd9 100644 --- a/pkg/version/version.go +++ b/pkg/version/version.go @@ -12,7 +12,14 @@ import ( ) // 版本信息 -const Version = "1.0.0" +var Version = "1.0.0" + +// SetVersion 设置版本号(由 main 包在初始化时调用) +func SetVersion(v string) { + if v != "" { + Version = v + } +} // 仓库信息 const (