Files
wevads-platform/scripts/configure-dns.sh
2026-02-26 04:53:11 +01:00

63 lines
2.4 KiB
Bash
Executable File

#!/bin/bash
# CONFIGURE DNS VIA CLOUDFLARE API
# Usage: ./configure-dns.sh <DOMAIN> <IP> <CF_API_TOKEN> <CF_ZONE_ID>
DOMAIN=$1
IP=$2
CF_TOKEN=$3
CF_ZONE=$4
if [ -z "$DOMAIN" ] || [ -z "$IP" ]; then
echo "Usage: $0 <DOMAIN> <IP> [CF_API_TOKEN] [CF_ZONE_ID]"
exit 1
fi
echo "🌐 Configuring DNS for $DOMAIN$IP"
# If Cloudflare credentials provided
if [ -n "$CF_TOKEN" ] && [ -n "$CF_ZONE" ]; then
# A Record
curl -s -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE/dns_records" \
-H "Authorization: Bearer $CF_TOKEN" \
-H "Content-Type: application/json" \
--data "{\"type\":\"A\",\"name\":\"$DOMAIN\",\"content\":\"$IP\",\"ttl\":300,\"proxied\":false}"
# MX Record
curl -s -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE/dns_records" \
-H "Authorization: Bearer $CF_TOKEN" \
-H "Content-Type: application/json" \
--data "{\"type\":\"MX\",\"name\":\"$DOMAIN\",\"content\":\"$DOMAIN\",\"priority\":10,\"ttl\":300}"
# SPF Record
curl -s -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE/dns_records" \
-H "Authorization: Bearer $CF_TOKEN" \
-H "Content-Type: application/json" \
--data "{\"type\":\"TXT\",\"name\":\"$DOMAIN\",\"content\":\"v=spf1 ip4:$IP include:spf.protection.outlook.com ~all\",\"ttl\":300}"
# DMARC Record
curl -s -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE/dns_records" \
-H "Authorization: Bearer $CF_TOKEN" \
-H "Content-Type: application/json" \
--data "{\"type\":\"TXT\",\"name\":\"_dmarc.$DOMAIN\",\"content\":\"v=DMARC1; p=none; rua=mailto:dmarc@$DOMAIN\",\"ttl\":300}"
echo "✅ DNS records created via Cloudflare API"
else
echo "📋 MANUAL DNS RECORDS TO CREATE:"
echo "=============================================="
echo "A $DOMAIN$IP"
echo "MX $DOMAIN$DOMAIN (priority 10)"
echo "TXT $DOMAIN → v=spf1 ip4:$IP include:spf.protection.outlook.com ~all"
echo "TXT _dmarc.$DOMAIN → v=DMARC1; p=none; rua=mailto:dmarc@$DOMAIN"
echo "=============================================="
fi
# Verify DNS propagation
echo ""
echo "🔍 Checking DNS propagation..."
sleep 3
dig +short A $DOMAIN
dig +short MX $DOMAIN
dig +short TXT $DOMAIN
echo "✅ DNS configuration complete"