Files
cftunnel/cmd/version.go
T
admin ddc893c030 feat: 功能完善 + 开源准备
- 新增 destroy/reset 命令(隧道删除+完全重置)
- 新增 version/update 命令(版本管理+自更新)
- 新增 selfupdate 模块(GitHub Releases 自动更新)
- 新增 goreleaser + release workflow(tag 自动发版)
- 新增 Makefile(版本号注入构建)
- 新增 Claude Code / OpenClaw Skills
- 脱敏: 示例域名改为 example.com
- 修正 init 权限引导(DNS 而非 DNS 设置)
2026-02-22 22:05:20 +08:00

39 lines
882 B
Go

package cmd
import (
"fmt"
"github.com/qingchencloud/cftunnel/internal/selfupdate"
"github.com/spf13/cobra"
)
var checkUpdate bool
func init() {
versionCmd.Flags().BoolVar(&checkUpdate, "check", false, "检查是否有新版本")
rootCmd.AddCommand(versionCmd)
}
var versionCmd = &cobra.Command{
Use: "version",
Short: "显示版本信息",
RunE: func(cmd *cobra.Command, args []string) error {
fmt.Printf("cftunnel %s\n", Version)
if !checkUpdate {
return nil
}
fmt.Println("正在检查更新...")
latest, err := selfupdate.LatestVersion()
if err != nil {
return fmt.Errorf("检查更新失败: %w", err)
}
if latest == "v"+Version || latest == Version {
fmt.Println("已是最新版本")
} else {
fmt.Printf("发现新版本: %s → %s\n", Version, latest)
fmt.Println("运行 cftunnel update 进行更新")
}
return nil
},
}