#!/bin/bash
#============================================================================================================
# Name                : domain_listv6.sh
# Description         : Lists all domains on the server with detailed information including IPv4 and IPv6 addresses.
# Usage               : ./domain_listv6.sh
#============================================================================================================

# Add colors
red=$(tput setaf 1)
green=$(tput setaf 2)
yellow=$(tput setaf 3)
blue=$(tput setaf 4)
reset=$(tput sgr0)
bold=$(tput bold)

# Function to check if a command exists
command_exists() {
    command -v "$1" >/dev/null 2>&1
}

# Check if cPanel is installed
if ! command_exists "/usr/local/cpanel/bin/whmapi1"; then
    echo "${red}Error: cPanel is not installed on this server.${reset}"
    exit 1
fi

# Get all domains
DOMAINS=$(/usr/local/cpanel/bin/whmapi1 listaccts | grep -A 1000 "acct_total" | grep -B 1000 "acct_start" | grep -v "acct_total" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "acct_count" | grep -v "acct_start" | grep -v "acct_end" | grep -v "acct_error" | grep -v "acct_data" | grep -v "acct_info" | grep -v "ac