DNSEver를 떠나 Cloudflare에 정착. 서버의 변경 된 IP 주소를 주기적으로 DNS 레코드에 반영하기 위해 간단한 Python 스크립트를 작성해보았다.
API documentation: https://api.cloudflare.com/
import requests
import json
zone_id = '...'
email = '...'
api_key = '...'
ip_addr = requests.get('https://api.ipify.org').text
headers = {
'X-Auth-Email': email,
'X-Auth-Key': api_key,
'Content-Type': 'application/json',
}
list_dns_record_url = 'https://api.cloudflare.com/client/v4/zones/{}/dns_records'
update_dns_record_url = 'https://api.cloudflare.com/client/v4/zones/{}/dns_records/{}'
response = requests.get(list_dns_record_url.format(zone_id), headers=headers)
for record in response.json()['result']:
if record['type'] == 'A':
data = {
'type': 'A',
'name': record['name'],
'content': ip_addr,
'ttl': 1,
'proxied': True,
}
response = requests.put(update_dns_record_url.format(zone_id, record['id']), headers=headers, data=json.dumps(data))
print(response.json())