#!/bin/bash # Make log dir mkdir -p logs # Check if script has IP address as argument if [ -z "$1" ]; then # Get Node IPs RESOLVED_IPS=$(kdig +short hnsdoh.com) NODE_IPS=($RESOLVED_IPS) if [ ${#NODE_IPS[@]} -eq 0 ]; then echo "No IP addresses resolved for hnsdoh.com. Exiting." exit 1 fi fi # If script has IP address as argument, use that if [ -n "$1" ]; then # Add all arguments to NODE_IPS array NODE_IPS=("$@") fi # Define the domain and host for dig commands TLS_HOST="hnsdoh.com" DOH_URL="https://hnsdoh.com/dns-query" # Function to check dig command result check_dig() { if [ $? -eq 0 ]; then echo "$(date) - $1 succeeded for NODE_IP=$NODE_IP" else echo "$(date) - $1 failed for NODE_IP=$NODE_IP" # Save the failed IP echo "$(date) - $1 failed for NODE_IP=$NODE_IP" >> logs/monitor.log fi } # Save test time echo "Latest Check: $(date)" >> logs/monitor.log # Loop over each IP and run the dig commands for NODE_IP in "${NODE_IPS[@]}" do echo "$(date) - Running dig commands for NODE_IP=$NODE_IP" # Run the dig commands kdig +tls +tls-host=$TLS_HOST @$NODE_IP 1.wdbrn TXT +short check_dig "kdig +tls" kdig +tls-ca +https=@$DOH_URL @$NODE_IP 2.wdbrn TXT +short check_dig "kdig +tls-ca +https" kdig @$NODE_IP 3.wdbrn TXT +short check_dig "kdig" echo "$(date) - --------------------------------------------" done