2.5 KiB
2.5 KiB
Cloudflare Agent - GoHorseJobs
Ferramenta para gerenciar DNS e cache do Cloudflare via API.
Configuração
O token da API está em ~/.ssh/cloudflare-token:
Email: yamamoto@rede5.com.br
Zone ID: 5e7e9286849525abf7f30b451b7964ac
Variáveis de Ambiente
export CF_AUTH_EMAIL="yamamoto@rede5.com.br"
export CF_AUTH_KEY="5dcfd89a9d4ec330dede0d4074a518f26818e"
export CF_ZONE_ID="5e7e9286849525abf7f30b451b7964ac"
Comandos Úteis
Listar todos os DNS records
curl -s -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" \
"https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records"
Buscar records por nome
curl -s -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" \
"https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records?name=gohorsejobs.com"
Criar novo DNS record
curl -s -X POST -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" \
-H "Content-Type: application/json" \
"https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records" \
-d '{
"type": "A",
"name": "test.gohorsejobs.com",
"content": "1.2.3.4",
"proxied": false
}'
Deletar DNS record
curl -s -X DELETE -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" \
"https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records/<RECORD_ID>"
Limpar todo o cache
curl -s -X DELETE -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" \
-H "Content-Type: application/json" \
"https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/purge_cache" \
-d '{"purge_everything":true}'
Verificar zone details
curl -s -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" \
"https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID"
Scripts
Script bash helper (colocar em ~/bin/ ou PATH)
#!/bin/bash
# cf.sh - Cloudflare CLI helper
CF_AUTH_EMAIL="yamamoto@rede5.com.br"
CF_AUTH_KEY="5dcfd89a9d4ec330dede0d4074a518f26818e"
CF_ZONE_ID="5e7e9286849525abf7f30b451b7964ac"
BASE_URL="https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID"
case "$1" in
ls)
curl -s -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" "$BASE_URL/dns_records"
;;
purge)
curl -s -X DELETE -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" \
-H "Content-Type: application/json" "$BASE_URL/purge_cache" \
-d '{"purge_everything":true}'
;;
*)
echo "Usage: $0 {ls|purge}"
;;
esac