搜索

PythonReactSEOPDF
GitHub Skill

porkbun-dns

Manages DNS records for abaci.one via the Porkbun API. Use when asked to add subdomains, update DNS records, check DNS configuration, or manage domain settings.

antialias☆ 0 仓库 Stars0 仓库 Forks

安装与使用

请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。

查看来源 ↗使用指南

技能说明

Porkbun DNS Management

This skill manages DNS records for abaci.one using the Porkbun API.

API Credentials Location

The Porkbun API credentials are stored on the NAS:

/volume1/homes/antialias/projects/abaci.one/ddns-data/ddns-config.json

To retrieve them:

ssh nas.home.network 'cat /volume1/homes/antialias/projects/abaci.one/ddns-data/ddns-config.json'

The file contains:

  • api_key: Public API key (starts with pk1_)
  • secret_api_key: Secret API key (starts with sk1_)

Common Operations

List All DNS Records
curl -s -X POST "https://api.porkbun.com/api/json/v3/dns/retrieve/abaci.one" \
  -H "Content-Type: application/json" \
  -d '{
    "secretapikey": "SECRET_KEY",
    "apikey": "API_KEY"
  }' | python3 -m json.tool
Create a CNAME Record (Subdomain)

Best for subdomains that should follow the main domain's IP (useful with DDNS):

curl -s -X POST "https://api.porkbun.com/api/json/v3/dns/create/abaci.one" \
  -H "Content-Type: application/json" \
  -d '{
    "secretapikey": "SECRET_KEY",
    "apikey": "API_KEY",
    "name": "subdomain-name",
    "type": "CNAME",
    "content": "abaci.one",
    "ttl": "300"
  }'
Create an A Record

For direct IP pointing:

curl -s -X POST "https://api.porkbun.com/api/json/v3/dns/create/abaci.one" \
  -H "Content-Type: application/json" \
  -d '{
    "secretapikey": "SECRET_KEY",
    "apikey": "API_KEY",
    "name": "subdomain-name",
    "type": "A",
    "content": "IP_ADDRESS",
    "ttl": "300"
  }'
Delete a DNS Record

First list records to get the record ID, then:

curl -s -X POST "https://api.porkbun.com/api/json/v3/dns/delete/abaci.one/RECORD_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "secretapikey": "SECRET_KEY",
    "apikey": "API_KEY"
  }'
Update a DNS Record
curl -s -X POST "https://api.porkbun.com/api/json/v3/dns/edit/abaci.one/RECORD_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "secretapikey": "SECRET_KEY",
    "apikey": "API_KEY",
    "name": "subdomain-name",
    "type": "A",
    "content": "NEW_IP_ADDRESS",
    "ttl": "300"
  }'

Verify DNS Propagation

After making changes, verify propagation:

# Check against your local resolver
dig +short subdomain.abaci.one

# Check against Google's DNS (bypasses local cache)
dig +short subdomain.abaci.one @8.8.8.8

# Check against Porkbun's nameservers directly
dig +short subdomain.abaci.one @maceio.porkbun.com

Current DNS Setup

The domain has these key records:

Type Host Purpose
A abaci.one Main domain → home IP (DDNS managed)
CNAME blue Blue container instance
CNAME green Green container instance
CNAME * Wildcard parking page (can be deleted)

Notes

  • CNAME vs A record: Use CNAME for subdomains so they automatically follow DDNS updates to the main domain's IP
  • TTL: 300 seconds (5 minutes) is good for records that might change; use 3600+ for stable records
  • Wildcard record: The *.abaci.one → pixie.porkbun.com is Porkbun's default parking page. Explicit records take precedence over wildcards.
  • Propagation: DNS changes typically propagate within 5-15 minutes, though local caches may retain old values longer

API Documentation

Full Porkbun API docs: https://porkbun.com/api/json/v3/documentation

使用示例

查看来源仓库中的使用示例与配置说明。

查看来源 ↗

来源历史

收录时间
2026-01-20
索引更新时间
2026-01-26
Branch
main

收录与同步日期属于本站记录。源码修改历史请查看来源仓库。

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!