improve: use IndexByte to find the colon of ip address (#92)

This commit is contained in:
UUBulb 2024-11-24 01:02:40 +08:00 committed by GitHub
parent ee37e35eb2
commit 88efe2d1d5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 5 additions and 5 deletions

View File

@ -575,7 +575,7 @@ func handleTcpPingTask(task *pb.Task, result *pb.TaskResult) {
result.Data = err.Error()
return
}
if strings.Contains(ipAddr, ":") {
if strings.IndexByte(ipAddr, ':') != -1 {
ipAddr = fmt.Sprintf("[%s]", ipAddr)
}
printf("TCP-Ping Task: Pinging %s:%s", ipAddr, port)

View File

@ -91,11 +91,11 @@ func fetchIP(servers []string, isV6 bool) string {
}
}
// 没取到 v6 IP
if isV6 && !strings.Contains(newIP, ":") {
if isV6 && strings.IndexByte(newIP, ':') == -1 {
continue
}
// 没取到 v4 IP
if !isV6 && !strings.Contains(newIP, ".") {
if !isV6 && strings.IndexByte(newIP, '.') == -1 {
continue
}
ip = newIP

View File

@ -72,12 +72,12 @@ func resolveIP(addr string, ipv6 bool) (string, error) {
for i := 0; i < len(res); i++ {
ip := res[i].String()
if strings.Contains(ip, ".") && !ipv6 {
if strings.IndexByte(ip, '.') != -1 && !ipv6 {
ipv4Resolved = true
url[0] = ip
break
}
if strings.Contains(ip, ":") && ipv6 {
if strings.IndexByte(ip, ':') != -1 && ipv6 {
ipv6Resolved = true
url[0] = "[" + ip + "]"
break