shell script
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
#!/usr/bin/env bash
|
||||
clear
|
||||
# ====== CONFIG (edit here once) ======
|
||||
DOMAIN="domain.com"
|
||||
API_KEY="YOUR_API_KEY"
|
||||
SECRET_API_KEY="YOUR_SECRET_API_KEY"
|
||||
TTL="600"
|
||||
TYPE="A"
|
||||
|
||||
API_BASE="https://api.porkbun.com/api/json/v3/dns"
|
||||
|
||||
echo "====== Porkbun DNS Manager ======"
|
||||
echo "Domain: $DOMAIN"
|
||||
echo ""
|
||||
|
||||
echo "Choose an action:"
|
||||
echo "1) Update subdomain IP"
|
||||
echo "2) Create new subdomain"
|
||||
echo ""
|
||||
|
||||
read -p "Enter choice (1 or 2): " ACTION
|
||||
|
||||
case $ACTION in
|
||||
|
||||
# Update existing record
|
||||
1)
|
||||
read -p "Enter subdomain to update: " SUBDOMAIN
|
||||
read -p "Enter new IP address: " IP
|
||||
|
||||
echo ""
|
||||
echo "Updating ${SUBDOMAIN}.${DOMAIN} -> ${IP}"
|
||||
read -p "Proceed? (y/n): " CONFIRM
|
||||
[[ "$CONFIRM" != "y" ]] && echo "Cancelled." && exit 1
|
||||
|
||||
RESPONSE=$(curl -s -X POST \
|
||||
"$API_BASE/editByNameType/${DOMAIN}/${TYPE}/${SUBDOMAIN}" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{
|
||||
\"secretapikey\": \"${SECRET_API_KEY}\",
|
||||
\"apikey\": \"${API_KEY}\",
|
||||
\"content\": \"${IP}\",
|
||||
\"ttl\": \"${TTL}\"
|
||||
}")
|
||||
|
||||
echo ""
|
||||
echo "API Response:"
|
||||
echo "$RESPONSE"
|
||||
;;
|
||||
|
||||
# Create new subdomain
|
||||
2)
|
||||
read -p "Enter new subdomain name: " SUBDOMAIN
|
||||
read -p "Enter IP address: " IP
|
||||
|
||||
echo ""
|
||||
echo "Creating ${SUBDOMAIN}.${DOMAIN} -> ${IP}"
|
||||
|
||||
RESPONSE=$(curl -s -X POST \
|
||||
"$API_BASE/create/${DOMAIN}" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{
|
||||
\"secretapikey\": \"${SECRET_API_KEY}\",
|
||||
\"apikey\": \"${API_KEY}\",
|
||||
\"name\": \"${SUBDOMAIN}\",
|
||||
\"type\": \"${TYPE}\",
|
||||
\"content\": \"${IP}\",
|
||||
\"ttl\": \"${TTL}\"
|
||||
}")
|
||||
|
||||
echo ""
|
||||
echo "API Response:"
|
||||
echo "$RESPONSE"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Invalid choice."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user