# 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 ```bash 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 ```bash 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 ```bash 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 ```bash 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 ```bash 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/" ``` ### Limpar todo o cache ```bash 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 ```bash 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) ```bash #!/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 ```