diff --git a/cmd/main.go b/cmd/main.go index 1874855..a76089d 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -41,7 +41,7 @@ func main() { }() fmt.Println("项目地址:", "https://github.com/oneclickvirt/basics") ipInfo, _, _ := network.NetworkCheck("both", false, language) - ipv6Info, err := ipv6.GetIPv6Mask() + ipv6Info, err := ipv6.GetIPv6Mask(language) res := system.CheckSystemInfo(language) fmt.Println("--------------------------------------------------") temp := strings.ReplaceAll(res+ipInfo, "\n\n", "\n") diff --git a/ipv6/ipv6.go b/ipv6/ipv6.go index 7048e89..4eb3ff1 100644 --- a/ipv6/ipv6.go +++ b/ipv6/ipv6.go @@ -8,7 +8,7 @@ import ( ) // GetIPv6Mask 匹配获取公网 IPV6 的掩码信息 -func GetIPv6Mask() (string, error) { +func GetIPv6Mask(language string) (string, error) { interfaceName := getNetworkInterface() if interfaceName == "" { return "", fmt.Errorf("无法获取网络接口名称") @@ -30,16 +30,28 @@ func GetIPv6Mask() (string, error) { } if len(updatedAddrs) == len(addrs) { _, bits := ipnet.Mask.Size() - return fmt.Sprintf("IPv6 子网掩码: /%d\n", bits), nil + if language == "en" { + return fmt.Sprintf(" IPV6 Mask : /%d\n", bits), nil + } else { + return fmt.Sprintf(" IPV6 子网掩码 : /%d\n", bits), nil + } } for _, updatedAddr := range updatedAddrs { if updatedIPnet, ok := updatedAddr.(*net.IPNet); ok { if updatedIPv6 := updatedIPnet.IP.To16(); updatedIPv6 != nil { if !isIPv6LinkLocal(updatedIPv6) && !isIPv6SiteLocal(updatedIPv6) && updatedIPv6.String() != ipv6.String() { _, bits := updatedIPnet.Mask.Size() - return fmt.Sprintf("IPv6 子网掩码: /%d\n", bits), nil + if language == "en" { + return fmt.Sprintf(" IPV6 Mask : /%d\n", bits), nil + } else { + return fmt.Sprintf(" IPV6 子网掩码 : /%d\n", bits), nil + } } else if !isIPv6LinkLocal(updatedIPv6) && !isIPv6SiteLocal(updatedIPv6) && updatedIPv6.String() == ipv6.String() { - return "IPv6 子网掩码: /128", nil + if language == "en" { + return " IPV6 Mask : /128", nil + } else { + return " IPV6 子网掩码 : /128", nil + } } } } @@ -94,4 +106,4 @@ func isIPv6LinkLocal(ip net.IP) bool { func isIPv6SiteLocal(ip net.IP) bool { return strings.HasPrefix(ip.String(), "fec0:") -} \ No newline at end of file +} diff --git a/ipv6/ipv6_test.go b/ipv6/ipv6_test.go new file mode 100644 index 0000000..6ff6a3b --- /dev/null +++ b/ipv6/ipv6_test.go @@ -0,0 +1,13 @@ +package ipv6 + +import ( + "fmt" + "testing" +) + +func TestGetIPv6Mask(t *testing.T) { + ipv6Info, err := GetIPv6Mask("zh") + if err == nil { + fmt.Println(ipv6Info) + } +}