/install cloudflare-dns
Cloudflare DNS
Manage DNS records via Cloudflare API using the bundled cf-dns.sh script.
Setup
Store credentials in environment or pass via flags:
export CF_API_TOKEN="your-api-token"
export CF_ZONE_ID="your-zone-id" # optional, can auto-detect from domain
Get API token: Cloudflare Dashboard → My Profile → API Tokens → Create Token → "Edit zone DNS" template.
Get Zone ID: Cloudflare Dashboard → select domain → Overview → right sidebar "Zone ID".
Usage
The script is at scripts/cf-dns.sh. All commands:
# List zones (find zone ID)
cf-dns.sh zones
# List all records for a zone
cf-dns.sh list \x3Czone_id>
cf-dns.sh list --domain example.com
# Get specific record
cf-dns.sh get \x3Czone_id> \x3Crecord_id>
# Create record
cf-dns.sh create \x3Czone_id> --type A --name www --content 1.2.3.4 [--ttl 300] [--proxied]
cf-dns.sh create \x3Czone_id> --type CNAME --name blog --content example.com
cf-dns.sh create \x3Czone_id> --type TXT --name @ --content "v=spf1 ..."
cf-dns.sh create \x3Czone_id> --type MX --name @ --content mail.example.com --priority 10
# Update record
cf-dns.sh update \x3Czone_id> \x3Crecord_id> --content 5.6.7.8 [--ttl 600] [--proxied]
# Delete record
cf-dns.sh delete \x3Czone_id> \x3Crecord_id>
# DDNS: update A record to current public IP
cf-dns.sh ddns \x3Czone_id> --name home
cf-dns.sh ddns --domain example.com --name home
Common Patterns
Add subdomain pointing to IP:
cf-dns.sh create \x3Czone_id> --type A --name subdomain --content 203.0.113.50 --proxied
Set up email (MX + SPF):
cf-dns.sh create \x3Czone_id> --type MX --name @ --content mail.example.com --priority 10
cf-dns.sh create \x3Czone_id> --type TXT --name @ --content "v=spf1 include:_spf.google.com ~all"
Dynamic DNS for home server:
# Run periodically via cron
cf-dns.sh ddns --domain example.com --name home
Notes
--proxiedenables Cloudflare proxy (orange cloud) — hides origin IP, adds CDN- TTL in seconds; use 1 for "Auto" when proxied
@means root domain- Script outputs JSON; pipe to
jqfor parsing
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install cloudflare-dns - After installation, invoke the skill by name or use
/cloudflare-dns - Provide required inputs per the skill's parameter spec and get structured output
What is Cloudflare Dns?
Manage Cloudflare DNS records via API. Use when user asks to list, create, update, or delete DNS records, set up DDNS, manage domains on Cloudflare, or check DNS propagation. Supports A, AAAA, CNAME, TXT, MX, and other record types. It is an AI Agent Skill for Claude Code / OpenClaw, with 1082 downloads so far.
How do I install Cloudflare Dns?
Run "/install cloudflare-dns" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Cloudflare Dns free?
Yes, Cloudflare Dns is completely free (open-source). You can download, install and use it at no cost.
Which platforms does Cloudflare Dns support?
Cloudflare Dns is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Cloudflare Dns?
It is built and maintained by pushp1997 (@pushp1997); the current version is v1.0.0.