Create a health check script that connects to your .onion address via Tor and reports status. This script uses torsocks and curl to perform the actual check:
#!/bin/bash
# check_onion.sh - Health check for .onion services
ONION_URL="http://your56charaddress.onion"
TIMEOUT=60
LOG_FILE="/var/log/onion-health.log"
# Perform health check via Tor
START=$(date +%s%N)
HTTP_CODE=$(torsocks curl -s -o /dev/null -w "%{http_code}" \
--max-time $TIMEOUT "$ONION_URL" 2>/dev/null)
END=$(date +%s%N)
LATENCY=$(( (END - START) / 1000000 ))
TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
if [ "$HTTP_CODE" = "200" ]; then
echo "$TIMESTAMP OK status=$HTTP_CODE latency=${LATENCY}ms" >> $LOG_FILE
else
echo "$TIMESTAMP FAIL status=$HTTP_CODE latency=${LATENCY}ms" >> $LOG_FILE
# Trigger alert - send via Tor-based messaging
fiRun this script via cron every 5-10 minutes. Tor circuit establishment adds latency, so set a generous timeout (60 seconds) and consider that first-circuit latency will be higher than subsequent requests on the same circuit.