mirror of
https://github.com/qingchencloud/cftunnel.git
synced 2026-08-28 18:20:34 +08:00
ddc893c030
- 新增 destroy/reset 命令(隧道删除+完全重置) - 新增 version/update 命令(版本管理+自更新) - 新增 selfupdate 模块(GitHub Releases 自动更新) - 新增 goreleaser + release workflow(tag 自动发版) - 新增 Makefile(版本号注入构建) - 新增 Claude Code / OpenClaw Skills - 脱敏: 示例域名改为 example.com - 修正 init 权限引导(DNS 而非 DNS 设置)
39 lines
882 B
Go
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
|
|
},
|
|
}
|