mirror of
https://gh.llkk.cc/https://github.com/WeblateOrg/scripts.git
synced 2025-10-03 15:01:00 +08:00
32 lines
764 B
Python
Executable file
32 lines
764 B
Python
Executable file
#!/usr/bin/env python3
|
|
# ruff: noqa: T201,TRY003
|
|
"""Changes DNS entries at Cloudflare."""
|
|
|
|
from cloudflare import Cloudflare
|
|
import os
|
|
from configparser import ConfigParser
|
|
import sys
|
|
|
|
if len(sys.argv) != 4: # noqa: PLR2004
|
|
raise ValueError("Usage: dns-edit IPV4 IPV6 NAME")
|
|
|
|
cp = ConfigParser()
|
|
cp.read([os.path.expanduser("~/.cloudflare/cloudflare.cfg")])
|
|
token = cp.get("Cloudflare", "token")
|
|
|
|
cf = Cloudflare(api_token=token)
|
|
zone = cf.zones.list(name="weblate.cloud").result[0]
|
|
print(f"editing zone_id={zone.id} zone_name={zone.name}")
|
|
|
|
cf.dns.records.create(
|
|
zone_id=zone.id,
|
|
name=sys.argv[3],
|
|
type="A",
|
|
content=sys.argv[1],
|
|
)
|
|
cf.dns.records.create(
|
|
zone_id=zone.id,
|
|
name=sys.argv[3],
|
|
type="AAAA",
|
|
content=sys.argv[2],
|
|
)
|