mirror of https://github.com/dnomd343/XProxy.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
455 B
22 lines
455 B
package common
|
|
|
|
import (
|
|
"net"
|
|
"strings"
|
|
)
|
|
|
|
func isIP(ipAddr string, isCidr bool) bool {
|
|
if !isCidr {
|
|
return net.ParseIP(ipAddr) != nil
|
|
}
|
|
_, _, err := net.ParseCIDR(ipAddr)
|
|
return err == nil
|
|
}
|
|
|
|
func IsIPv4(ipAddr string, isCidr bool) bool {
|
|
return isIP(ipAddr, isCidr) && strings.Contains(ipAddr, ".")
|
|
}
|
|
|
|
func IsIPv6(ipAddr string, isCidr bool) bool {
|
|
return isIP(ipAddr, isCidr) && strings.Contains(ipAddr, ":")
|
|
}
|
|
|