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.
Installation
Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.
Voir la source ↗GuidesInstructions
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 withpk1_) -
secret_api_key: Secret API key (starts withsk1_)
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.comis 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
Exemples
Consultez les exemples du dépôt source.
Voir la source ↗Historique source
- Date d’indexation
- 2026-01-20
- Mise à jour de l’index
- 2026-01-26
- Branch
- main
Les dates concernent ce répertoire. Consultez le dépôt pour l’historique du code.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!