← Retour
#!/bin/bash
# ===========================================
# Liste les wildcards DNS configurés
# Usage: ./list-wildcards.sh
# ===========================================
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/../lib/config.sh"
source "$SCRIPT_DIR/../lib/colors.sh"
print_header "Wildcards DNS - $O2SWITCH_DOMAIN"
# Récupérer la zone DNS
RESPONSE=$(curl -s -u "$O2SWITCH_USERNAME:$O2SWITCH_PASSWORD" \
"$O2SWITCH_API_URL/json-api/cpanel?cpanel_jsonapi_apiversion=2&cpanel_jsonapi_module=ZoneEdit&cpanel_jsonapi_func=fetchzone&domain=$O2SWITCH_DOMAIN")
# Vérifier si la réponse est valide
if ! echo "$RESPONSE" | grep -q '"status":1'; then
log_error "Erreur lors de la récupération des enregistrements DNS"
exit 1
fi
echo ""
echo -e "┌─────────────────────────────────────────┬─────────────────┬──────────┬────────┐"
echo -e "│ ${BOLD}Wildcard${NC} │ ${BOLD}IP${NC} │ ${BOLD}TTL${NC} │ ${BOLD}Line${NC} │"
echo -e "├─────────────────────────────────────────┼─────────────────┼──────────┼────────┤"
# Filtrer les wildcards (commencent par *)
echo "$RESPONSE" | jq -r '.cpanelresult.data[0].record[] |
select(.type == "A" and (.name | startswith("*"))) |
[.name, .address, .ttl, .line] | @tsv' 2>/dev/null | while IFS=$'\t' read -r name ip ttl line; do
printf "│ ${GREEN}%-39s${NC} │ %-15s │ %-8s │ %-6s │\n" "$name" "$ip" "$ttl" "$line"
done
echo -e "└─────────────────────────────────────────┴─────────────────┴──────────┴────────┘"
echo ""
log_info "Pour ajouter un wildcard: ./add-wildcard.sh <prefix>"
log_info "Exemple: ./add-wildcard.sh 33802 → *.33802.$O2SWITCH_DOMAIN"