From 58c69e2c5fe52d597a6cc40cfbf30d9b9bcb267f Mon Sep 17 00:00:00 2001 From: Julian Liu Date: Thu, 17 Dec 2020 02:42:41 +0800 Subject: [PATCH] Use 1.1.1.1 api instead of dirty hack to get ip --- cloudflare-ddns.py | 33 +++++---------------------------- 1 file changed, 5 insertions(+), 28 deletions(-) diff --git a/cloudflare-ddns.py b/cloudflare-ddns.py index 9ffbc5b..611a7b5 100755 --- a/cloudflare-ddns.py +++ b/cloudflare-ddns.py @@ -1,5 +1,3 @@ -import socket -import requests.packages.urllib3.util.connection as urllib3_cn import requests, json, sys, os import time @@ -12,40 +10,19 @@ if(version < 3.5): with open(PATH + "config.json") as config_file: 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(): a = "" aaaa = "" try: - urllib3_cn.allowed_gai_family = allowed_gai_family4 - a = requests.get("https://www.cloudflare.com/cdn-cgi/trace").text.split("\n") + a = requests.get("https://1.1.1.1/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) + a = dict(s.split("=") for s in a)["ip"] + except Exception: print("Warning: IPv4 not detected.") try: - urllib3_cn.allowed_gai_family = allowed_gai_family6 - aaaa = requests.get("https://www.cloudflare.com/cdn-cgi/trace").text.split("\n") + aaaa = requests.get("https://[2606:4700:4700::1111]/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'] + aaaa = dict(s.split("=") for s in aaaa)["ip"] except Exception: print("Warning: IPv6 not detected.") ips = []