generated from nathanwoodburn/go-webserver-template
56 lines
1.3 KiB
Bash
56 lines
1.3 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
# Check if script has IP address as argument
|
||
|
if [ -z "$1" ]; then
|
||
|
# Get Node IPs
|
||
|
RESOLVED_IPS=$(dig +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" >> monitor.log
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
# Save test time
|
||
|
echo "$(date) - Test" >> 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
|