GetIpType and createSocket helper functions

This commit is contained in:
shortcutme 2019-01-20 03:21:27 +01:00
parent 0c56a7a23b
commit c86afe29ba
No known key found for this signature in database
GPG key ID: 5B63BAE6CB9613AE

View file

@ -245,3 +245,20 @@ def isIp(ip):
local_ip_pattern = re.compile(r"^(127\.)|(192\.168\.)|(10\.)|(172\.1[6-9]\.)|(172\.2[0-9]\.)|(172\.3[0-1]\.)|(::1$)|([fF][cCdD])") local_ip_pattern = re.compile(r"^(127\.)|(192\.168\.)|(10\.)|(172\.1[6-9]\.)|(172\.2[0-9]\.)|(172\.3[0-1]\.)|(::1$)|([fF][cCdD])")
def isPrivateIp(ip): def isPrivateIp(ip):
return local_ip_pattern.match(ip) return local_ip_pattern.match(ip)
def getIpType(ip):
if ip.endswith(".onion"):
return "onion"
elif ":" in ip:
return "ipv6"
else:
return "ipv4"
def createSocket(ip):
ip_type = getIpType(ip)
if ip_type == "ipv6":
return socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
else:
return socket.socket(socket.AF_INET, socket.SOCK_STREAM)