Files
proxmox/scripts/test-cloudflare-api.sh

58 lines
2.0 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
# Quick test script to verify Cloudflare API credentials
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Load .env if exists
if [[ -f "$SCRIPT_DIR/../.env" ]]; then
source "$SCRIPT_DIR/../.env"
fi
CLOUDFLARE_API_KEY="${CLOUDFLARE_API_KEY:-}"
CLOUDFLARE_EMAIL="${CLOUDFLARE_EMAIL:-}"
CLOUDFLARE_API_TOKEN="${CLOUDFLARE_API_TOKEN:-}"
echo "Testing Cloudflare API credentials..."
echo ""
if [[ -n "$CLOUDFLARE_API_TOKEN" ]]; then
echo "Testing with API Token..."
response=$(curl -s -X GET "https://api.cloudflare.com/client/v4/user" \
-H "Authorization: Bearer ${CLOUDFLARE_API_TOKEN}" \
-H "Content-Type: application/json")
success=$(echo "$response" | jq -r '.success // false')
if [[ "$success" == "true" ]]; then
email=$(echo "$response" | jq -r '.result.email // "N/A"')
echo "✓ API Token works! Email: $email"
else
error=$(echo "$response" | jq -r '.errors[0].message // "Unknown error"')
echo "✗ API Token failed: $error"
fi
elif [[ -n "$CLOUDFLARE_API_KEY" ]]; then
if [[ -z "$CLOUDFLARE_EMAIL" ]]; then
echo "✗ CLOUDFLARE_API_KEY requires CLOUDFLARE_EMAIL"
echo " Please add CLOUDFLARE_EMAIL to .env file"
else
echo "Testing with API Key + Email..."
response=$(curl -s -X GET "https://api.cloudflare.com/client/v4/user" \
-H "X-Auth-Email: ${CLOUDFLARE_EMAIL}" \
-H "X-Auth-Key: ${CLOUDFLARE_API_KEY}" \
-H "Content-Type: application/json")
success=$(echo "$response" | jq -r '.success // false')
if [[ "$success" == "true" ]]; then
email=$(echo "$response" | jq -r '.result.email // "N/A"')
echo "✓ API Key works! Email: $email"
else
error=$(echo "$response" | jq -r '.errors[0].message // "Unknown error"')
echo "✗ API Key failed: $error"
fi
fi
else
echo "✗ No API credentials found in .env"
fi