Merge pull request #27 from paz/master
dirty support to use cloudflare trace & force it to be ipv4/ipv6
This commit is contained in:
commit
2b67615330
@ -1,3 +1,5 @@
|
|||||||
|
import socket
|
||||||
|
import requests.packages.urllib3.util.connection as urllib3_cn
|
||||||
import requests, json, sys, os
|
import requests, json, sys, os
|
||||||
import time
|
import time
|
||||||
|
|
||||||
@ -10,15 +12,40 @@ if(version < 3.5):
|
|||||||
with open(PATH + "config.json") as config_file:
|
with open(PATH + "config.json") as config_file:
|
||||||
config = json.loads(config_file.read())
|
config = json.loads(config_file.read())
|
||||||
|
|
||||||
|
def allowed_gai_family6():
|
||||||
|
family = socket.AF_INET
|
||||||
|
if urllib3_cn.HAS_IPV6:
|
||||||
|
family = socket.AF_INET6 # force ipv6 only if it is available
|
||||||
|
return family
|
||||||
|
|
||||||
|
def allowed_gai_family4():
|
||||||
|
family = socket.AF_INET
|
||||||
|
return family
|
||||||
|
|
||||||
def getIPs():
|
def getIPs():
|
||||||
a = ""
|
a = ""
|
||||||
aaaa = ""
|
aaaa = ""
|
||||||
try:
|
try:
|
||||||
a = requests.get("https://dns.timknowsbest.com/api/ipv4").text
|
urllib3_cn.allowed_gai_family = allowed_gai_family4
|
||||||
except Exception:
|
a = requests.get("https://www.cloudflare.com/cdn-cgi/trace").text.split("\n")
|
||||||
|
a.pop()
|
||||||
|
ajson = json.loads("{}")
|
||||||
|
for value in a:
|
||||||
|
value = value.split("=")
|
||||||
|
ajson[value[0]] = value[1]
|
||||||
|
a = ajson['ip']
|
||||||
|
except Exception as e:
|
||||||
|
print(e)
|
||||||
print("Warning: IPv4 not detected.")
|
print("Warning: IPv4 not detected.")
|
||||||
try:
|
try:
|
||||||
aaaa = requests.get("https://api6.ipify.org?format=json").json().get("ip")
|
urllib3_cn.allowed_gai_family = allowed_gai_family6
|
||||||
|
aaaa = requests.get("https://www.cloudflare.com/cdn-cgi/trace").text.split("\n")
|
||||||
|
aaaa.pop()
|
||||||
|
aaaajson = json.loads("{}")
|
||||||
|
for value in aaaa:
|
||||||
|
value = value.split("=")
|
||||||
|
aaaajson[value[0]] = value[1]
|
||||||
|
aaaa = aaaajson['ip']
|
||||||
except Exception:
|
except Exception:
|
||||||
print("Warning: IPv6 not detected.")
|
print("Warning: IPv6 not detected.")
|
||||||
ips = []
|
ips = []
|
||||||
@ -134,4 +161,4 @@ if(len(sys.argv) > 1):
|
|||||||
else:
|
else:
|
||||||
print("Unrecognized parameter '" + sys.argv[1] + "'. Stopping now.")
|
print("Unrecognized parameter '" + sys.argv[1] + "'. Stopping now.")
|
||||||
else:
|
else:
|
||||||
updateIPs()
|
updateIPs()
|
||||||
|
|||||||
Reference in New Issue
Block a user