33800 Docs

← Retour
#!/bin/bash # =========================================== # Ajoute un wildcard DNS # Usage: ./add-wildcard.sh <prefix> [ip] # Exemple: ./add-wildcard.sh 33802 # =========================================== set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "$SCRIPT_DIR/../lib/config.sh" source "$SCRIPT_DIR/../lib/colors.sh" source "$SCRIPT_DIR/../lib/utils.sh" if [ -z "$1" ]; then echo "Usage: $0 <prefix> [ip]" echo "" echo "Arguments:" echo " prefix Préfixe du sous-domaine (ex: 33802)" echo " ip IP cible (défaut: $PUBLIC_IP)" echo "" echo "Exemple:" echo " $0 33802" echo " → Crée *.33802.$O2SWITCH_DOMAIN -> $PUBLIC_IP" echo " → Crée 33802.$O2SWITCH_DOMAIN -> $PUBLIC_IP" exit 1 fi PREFIX="$1" TARGET_IP="${2:-$PUBLIC_IP}" TTL="14400" print_header "Ajout Wildcard DNS" log_info "Préfixe: $PREFIX" log_info "IP cible: $TARGET_IP" log_info "Domaines à créer:" echo " - *.$PREFIX.$O2SWITCH_DOMAIN" echo " - $PREFIX.$O2SWITCH_DOMAIN" echo "" # Vérifier si le wildcard existe déjà log_step "Vérification des enregistrements existants..." EXISTING=$(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" | \ jq -r ".cpanelresult.data[0].record[] | select(.name == \"*.$PREFIX.$O2SWITCH_DOMAIN.\") | .name" 2>/dev/null) if [ -n "$EXISTING" ]; then log_warn "Le wildcard *.$PREFIX.$O2SWITCH_DOMAIN existe déjà!" echo "" if ! confirm "Voulez-vous continuer et potentiellement créer un doublon ?"; then log_info "Annulé" exit 0 fi fi # Créer l'enregistrement wildcard log_step "Création de *.$PREFIX.$O2SWITCH_DOMAIN..." RESULT1=$(curl -s -u "$O2SWITCH_USERNAME:$O2SWITCH_PASSWORD" \ "$O2SWITCH_API_URL/json-api/cpanel?cpanel_jsonapi_apiversion=2&cpanel_jsonapi_module=ZoneEdit&cpanel_jsonapi_func=add_zone_record&domain=$O2SWITCH_DOMAIN&name=*.$PREFIX&type=A&address=$TARGET_IP&ttl=$TTL") if echo "$RESULT1" | grep -q '"status":1'; then log_success "*.$PREFIX.$O2SWITCH_DOMAIN -> $TARGET_IP" else log_error "Échec création wildcard" echo "$RESULT1" | jq '.cpanelresult.data[0].statusmsg' 2>/dev/null fi # Créer l'enregistrement de base (sans wildcard) log_step "Création de $PREFIX.$O2SWITCH_DOMAIN..." RESULT2=$(curl -s -u "$O2SWITCH_USERNAME:$O2SWITCH_PASSWORD" \ "$O2SWITCH_API_URL/json-api/cpanel?cpanel_jsonapi_apiversion=2&cpanel_jsonapi_module=ZoneEdit&cpanel_jsonapi_func=add_zone_record&domain=$O2SWITCH_DOMAIN&name=$PREFIX&type=A&address=$TARGET_IP&ttl=$TTL") if echo "$RESULT2" | grep -q '"status":1'; then log_success "$PREFIX.$O2SWITCH_DOMAIN -> $TARGET_IP" else log_error "Échec création enregistrement de base" echo "$RESULT2" | jq '.cpanelresult.data[0].statusmsg' 2>/dev/null fi echo "" print_separator log_info "Wildcard créé avec succès!" log_info "Les sous-domaines *.${PREFIX}.${O2SWITCH_DOMAIN} pointent maintenant vers ${TARGET_IP}" echo "" log_warn "Note: La propagation DNS peut prendre quelques minutes"