123456789101112131415161718192021222324252627282930313233343536373839 |
- #!/bin/bash
- red='\e[1;31m'
- green='\e[0;32m'
- NC='\e[0m'
- MYIP=$(wget -qO- ifconfig.me/ip);
- source /root/mail.conf
- DOMAIN=$domain
- CF_ID=$email
- CF_KEY=$key
- set -euo pipefail
- read -p "Masukan Subdomain Anda :" sub
- read -p "Masukan Ip BUG :" IP
- echo "Updating DNS for ${sub}..."
- ZONE=$(curl -sLX GET "https://api.cloudflare.com/client/v4/zones?name=${DOMAIN}&status=active" \
- -H "X-Auth-Email: ${CF_ID}" \
- -H "X-Auth-Key: ${CF_KEY}" \
- -H "Content-Type: application/json" | jq -r .result[0].id)
- RECORD=$(curl -sLX GET "https://api.cloudflare.com/client/v4/zones/${ZONE}/dns_records?name=${sub}" \
- -H "X-Auth-Email: ${CF_ID}" \
- -H "X-Auth-Key: ${CF_KEY}" \
- -H "Content-Type: application/json" | jq -r .result[0].id)
- if [[ "${#RECORD}" -le 10 ]]; then
- RECORD=$(curl -sLX POST "https://api.cloudflare.com/client/v4/zones/${ZONE}/dns_records" \
- -H "X-Auth-Email: ${CF_ID}" \
- -H "X-Auth-Key: ${CF_KEY}" \
- -H "Content-Type: application/json" \
- --data '{"type":"A","name":"'${sub}'","content":"'${IP}'","ttl":120,"proxied":false}' | jq -r .result.id)
- fi
- RESULT=$(curl -sLX PUT "https://api.cloudflare.com/client/v4/zones/${ZONE}/dns_records/${RECORD}" \
- -H "X-Auth-Email: ${CF_ID}" \
- -H "X-Auth-Key: ${CF_KEY}" \
- -H "Content-Type: application/json" \
- --data '{"type":"A","name":"'${sub}'","content":"'${IP}'","ttl":120,"proxied":false}')
- echo "DONE...!"
|