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