feat(config): 添加 JSON/TOML 配置读取与 YAML/JSON/TOML 导出功能, 优化部分内部代码结构, 更新 Makefile:添加 Zig 外链检测、可选 UPX 压缩、构建流程优化

This commit is contained in:
2025-12-04 00:14:42 +08:00
parent 016c44618b
commit a2a1fb2f63
9 changed files with 166 additions and 62 deletions

View File

@@ -2,10 +2,10 @@ package cmd
import (
"fmt"
stdnet "net"
"net"
"netcli/internal/constants"
"netcli/internal/net"
netmod "netcli/internal/net"
"github.com/spf13/cobra"
)
@@ -16,30 +16,25 @@ var dhcpCmd = &cobra.Command{
Short: "将指定网卡改为 DHCP 自动获取 IP",
RunE: func(cmd *cobra.Command, args []string) error {
// 检查管理员权限
if !net.IsAdmin() {
if !netmod.IsAdmin() {
fmt.Println("程序需要管理员权限,尝试提升...")
return net.RunAsAdmin()
return netmod.RunAsAdmin()
}
// 获取所有网卡
ifaces, err := stdnet.Interfaces()
ifaces, err := net.Interfaces()
if err != nil {
return fmt.Errorf("获取网卡失败: %w", err)
}
var nics []net.NetIfWrap
for _, i := range ifaces {
nics = append(nics, net.NetIfWrap{i})
}
// 用户选择网卡
nic, err := net.ChooseNic(nics, constants.DefaultDHCPMsg)
nic, err := netmod.ChooseNic(ifaces, constants.DefaultDHCPMsg)
if err != nil {
return err
}
// 执行 netsh 命令设置 DHCP
if err := net.SetDHCP(nic); err != nil {
if err := netmod.SetDHCP(nic); err != nil {
return err
}