mirror of
https://gh.wpcy.net/https://github.com/WeblateOrg/scripts.git
synced 2026-06-14 09:12:44 +08:00
34 lines
786 B
Python
Executable file
34 lines
786 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],
|
|
ttl=1,
|
|
)
|
|
cf.dns.records.create(
|
|
zone_id=zone.id,
|
|
name=sys.argv[3],
|
|
type="AAAA",
|
|
content=sys.argv[2],
|
|
ttl=1,
|
|
)
|