360 Secure SkillHub
360 安全技能中心

Porkbun Domains & DNS

由 bash 脚本封装 Porkbun API v3,支持列出域名、查询可用性与价格、增删查 DNS 记录、修改 nameserver、开关自动续费、设置 URL 转发、获取 SSL 证书;需配置 PORKBUN_API_KEY 与 PORKBUN_SECRET_KEY,结果以 JSON 返回。

danielgrobelny
danielgrobelny
热度 35.79
最近更新 2026-05-18 11:21:55
分类:自动化依赖:代码执行 / 读写文件 / 第三方 API应用场景:API 集成 / 自动化脚本 / DevOps / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add porkbun-domains
Metadata
name
porkbun-domains
description
Manage domains and DNS via the Porkbun API. Use when asked to list domains, check domain availability, manage DNS records (A, AAAA, CNAME, MX, TXT, etc.), update nameservers, set up URL forwarding, retrieve SSL certificates, check pricing, or toggle auto-renew. Covers all Porkbun API v3 endpoints. NOT for other registrars (Cloudflare, Namecheap, GoDaddy). Requires PORKBUN_API_KEY and PORKBUN_SECRET_KEY in env or workspace .env file.

Porkbun Domains & DNS

Manage domains and DNS records via the Porkbun API v3.

Setup

API keys: PORKBUN_API_KEY and PORKBUN_SECRET_KEY in environment or ~/.openclaw/workspace/.env.

Get keys at: https://porkbun.com/account/api

Shell Script

All operations via scripts/porkbun.sh. Run with bash <skill-dir>/scripts/porkbun.sh <command>.

Domain Commands

porkbun.sh ping                    # Test API connection
porkbun.sh list                    # List all domains (status, expiry, auto-renew)
porkbun.sh check example.com       # Check availability + pricing
porkbun.sh ns example.com          # Get current nameservers
porkbun.sh ns-update example.com ns1.cf.com ns2.cf.com  # Update nameservers
porkbun.sh auto-renew example.com on|off
porkbun.sh pricing                 # All TLD pricing (no auth needed)

DNS Commands

porkbun.sh dns-list example.com                        # List all records
porkbun.sh dns-create example.com A @ 76.76.21.21 600  # Create A record
porkbun.sh dns-create example.com CNAME www cname.vercel-dns.com
porkbun.sh dns-create example.com MX @ mail.example.com 300
porkbun.sh dns-create example.com TXT @ "v=spf1 include:_spf.google.com ~all"
porkbun.sh dns-delete example.com <record-id>
porkbun.sh dns-delete-type example.com A www            # Delete by type+name

URL Forwarding

porkbun.sh forward-add example.com https://target.com          # Root forward
porkbun.sh forward-add example.com https://target.com www      # Subdomain
porkbun.sh forward-add example.com https://target.com "" permanent
porkbun.sh forward-list example.com
porkbun.sh forward-delete example.com <id>

SSL

porkbun.sh ssl example.com         # Retrieve SSL cert bundle

Common Workflows

Point domain to Vercel

porkbun.sh dns-create example.com A @ 76.76.21.21
porkbun.sh dns-create example.com CNAME www cname.vercel-dns.com

Point domain to Cloudflare (DNS proxy)

porkbun.sh ns-update example.com adam.ns.cloudflare.com betty.ns.cloudflare.com

Redirect domain to another

porkbun.sh forward-add old-domain.com https://new-domain.com "" permanent

API Details

  • Base URL: https://api.porkbun.com/api/json/v3
  • All requests: HTTP POST with JSON body containing apikey + secretapikey
  • Rate limits apply — avoid tight loops, serialize requests
  • Domain registration via API is supported but use the dashboard for purchases
  • .de domains do not support WHOIS privacy (DENIC limitation)

Response Parsing

All responses include "status": "SUCCESS" or "status": "ERROR". Parse with jq:

porkbun.sh list | jq '.domains[] | {domain, status, expireDate}'
porkbun.sh dns-list example.com | jq '.records[] | {id, type, name, content}'