mirror of
https://github.com/XIU2/CloudflareSpeedTest.git
synced 2026-03-03 20:57:03 +08:00
优化 IPv6 测速功能(支持 /128 子网掩码)
This commit is contained in:
@@ -64,8 +64,12 @@ func loadFirstIPOfRangeFromFile(ipFile string) []net.IPAddr {
|
||||
scanner.Split(bufio.ScanLines)
|
||||
for scanner.Scan() {
|
||||
IPString := scanner.Text()
|
||||
if !strings.Contains(IPString, "/") { // 如果不含有 / 则代表不是 IP 段,而是一个单独的 IP,因此需要加上 /32 子网掩码
|
||||
IPString += "/32"
|
||||
if !strings.Contains(IPString, "/") { // 如果不含有 / 则代表不是 IP 段,而是一个单独的 IP,因此需要加上 /32 /128 子网掩码
|
||||
if ipv6Mode {
|
||||
IPString += "/128"
|
||||
} else {
|
||||
IPString += "/32"
|
||||
}
|
||||
}
|
||||
firstIP, IPRange, err := net.ParseCIDR(IPString)
|
||||
//fmt.Println(firstIP)
|
||||
@@ -104,8 +108,10 @@ func loadFirstIPOfRangeFromFile(ipFile string) []net.IPAddr {
|
||||
for IPRange.Contains(firstIP) {
|
||||
//fmt.Println(firstIP)
|
||||
//fmt.Println(firstIP[0], firstIP[1], firstIP[2], firstIP[3], firstIP[4], firstIP[5], firstIP[6], firstIP[7], firstIP[8], firstIP[9], firstIP[10], firstIP[11], firstIP[12], firstIP[13], firstIP[14], firstIP[15])
|
||||
firstIP[15] = randipEndWith(255) // 随机 IP 的最后一段
|
||||
firstIP[14] = randipEndWith(255) // 随机 IP 的最后一段
|
||||
if !strings.Contains(IPString, "/128") {
|
||||
firstIP[15] = randipEndWith(255) // 随机 IP 的最后一段
|
||||
firstIP[14] = randipEndWith(255) // 随机 IP 的最后一段
|
||||
}
|
||||
firstIPCopy := make([]byte, len(firstIP))
|
||||
copy(firstIPCopy, firstIP)
|
||||
firstIPs = append(firstIPs, net.IPAddr{IP: firstIPCopy})
|
||||
|
||||
Reference in New Issue
Block a user