Files
scripts/updateCloudflateDNS.py
2026-01-18 16:56:14 -03:00

57 lines
1.4 KiB
Python

import requests
import json
#import logging
# logging.basicConfig()
# logging.getLogger().setLevel(logging.DEBUG)
# requests_log = logging.getLogger("requests.packages.urllib3")
# requests_log.setLevel(logging.DEBUG)
# requests_log.propagate = True
ip = requests.get("http://api.ipify.org")
print(ip.text)
zoneId = "b353396aee0b38123ecb538fa582e245"
apiToken = "7C8TjQjKPJLywGYI5172jE6BUeZgvidXCnMn6V8f"
#apiKey = "58ec6020b9886fd8e30275b55ddc8b3c79bea"
#apiEmail = "christoph.califice@hotmail.com"
url_verify = f"https://api.cloudflare.com/client/v4/user/tokens/verify"
url_getEntries = f"https://api.cloudflare.com/client/v4/zones/{zoneId}/dns_records"
url_updateEntry = f"https://api.cloudflare.com/client/v4/zones/{zoneId}/dns_records/"
reqHeaders = {
"Authorization": "Bearer " + apiToken,
#"X-Auth-Email": apiEmail,
#"X-Auth-Key": apiKey
}
req = requests.get(url_getEntries, headers=reqHeaders)
entriesJson = json.loads(req.text)
print(entriesJson)
for entry in entriesJson["result"]:
if(entry["type"] == "A" and entry["name"] == "files.sereiaguardia.com"):
id = entry["id"]
name = entry["name"]
data = {
"content": f"{ip.text}",
"name": f"{name}",
"ttl": 1
}
print(data)
resp = requests.patch(url_updateEntry + id, json=data, headers=reqHeaders)
print(resp.text)