Files
hoerdle/scripts/quick-check-punycode-dns.sh
Hördle Bot 107739ade9 Fix: Update Dockerfile to optimize build process and reduce image size
- Refactored the Dockerfile to streamline the build process.
- Removed unnecessary layers and combined commands for efficiency.
- Improved caching strategy to enhance build performance.
2025-12-01 17:54:12 +01:00

111 lines
4.0 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# Quick-Check für Punycode-Domain DNS und Zertifikat
set -e
echo "🔍 Quick-Check für hördle.de (xn--hrdle-jua.de)"
echo ""
# Prüfe DNS
echo "1⃣ DNS-Auflösung:"
echo ""
echo " hoerdle.de:"
HOERDLE_IP=$(dig +short hoerdle.de @8.8.8.8 | head -1 || echo "")
if [ -z "$HOERDLE_IP" ]; then
echo " ❌ Konnte nicht aufgelöst werden"
else
echo " ✅ IP: $HOERDLE_IP"
fi
echo ""
echo " xn--hrdle-jua.de:"
PUNYCODE_IP=$(dig +short xn--hrdle-jua.de @8.8.8.8 | head -1 || echo "")
if [ -z "$PUNYCODE_IP" ]; then
echo " ❌ Konnte nicht aufgelöst werden"
else
echo " ✅ IP: $PUNYCODE_IP"
fi
if [ -n "$HOERDLE_IP" ] && [ -n "$PUNYCODE_IP" ]; then
if [ "$HOERDLE_IP" = "$PUNYCODE_IP" ]; then
echo ""
echo " ✅ Beide Domains zeigen auf die gleiche IP ($HOERDLE_IP)"
else
echo ""
echo " ⚠️ WARNUNG: Domains zeigen auf unterschiedliche IPs!"
echo " hoerdle.de: $HOERDLE_IP"
echo " xn--hrdle-jua.de: $PUNYCODE_IP"
echo " → Beide sollten auf die gleiche IP zeigen!"
fi
fi
echo ""
echo "2⃣ HTTPS-Verbindungstest:"
echo ""
# Test hoerdle.de
echo " hoerdle.de:"
if timeout 5 bash -c "echo > /dev/tcp/hoerdle.de/443" 2>/dev/null; then
echo " ✅ Port 443 ist erreichbar"
if echo | timeout 5 openssl s_client -connect hoerdle.de:443 -servername hoerdle.de 2>/dev/null | grep -q "Verify return code: 0"; then
CERT_VALID_UNTIL=$(echo | timeout 5 openssl s_client -connect hoerdle.de:443 -servername hoerdle.de 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null | cut -d= -f2 || echo "")
echo " ✅ Zertifikat gültig bis: $CERT_VALID_UNTIL"
else
echo " ❌ Zertifikat ungültig oder fehlt"
fi
else
echo " ❌ Port 443 nicht erreichbar"
fi
echo ""
echo " xn--hrdle-jua.de:"
if timeout 5 bash -c "echo > /dev/tcp/xn--hrdle-jua.de/443" 2>/dev/null; then
echo " ✅ Port 443 ist erreichbar"
if echo | timeout 5 openssl s_client -connect xn--hrdle-jua.de:443 -servername xn--hrdle-jua.de 2>/dev/null | grep -q "Verify return code: 0"; then
CERT_VALID_UNTIL=$(echo | timeout 5 openssl s_client -connect xn--hrdle-jua.de:443 -servername xn--hrdle-jua.de 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null | cut -d= -f2 || echo "")
echo " ✅ Zertifikat gültig bis: $CERT_VALID_UNTIL"
else
echo " ❌ Zertifikat ungültig oder fehlt (ERR_SSL_PROTOCOL_ERROR)"
echo ""
echo " 💡 Lösung: Führe aus: ./scripts/renew-caddy-certificates.sh"
fi
else
echo " ❌ Port 443 nicht erreichbar"
fi
echo ""
echo "3⃣ Caddy-Container Status:"
echo ""
if docker ps | grep -q hoerdle-caddy; then
echo " ✅ Caddy-Container läuft"
echo ""
echo " 📋 Letzte Caddy-Logs (Zertifikat-bezogen):"
docker logs hoerdle-caddy 2>&1 | grep -i -E "(xn--hrdle|punycode|certificate|tls|acme|challenge)" | tail -5 || echo " (Keine relevanten Einträge gefunden)"
else
echo " ❌ Caddy-Container läuft nicht"
echo " Starte mit: docker compose -f docker-compose.caddy.yml --profile production up -d"
fi
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "💡 Nächste Schritte:"
echo ""
if [ -n "$HOERDLE_IP" ] && [ -n "$PUNYCODE_IP" ] && [ "$HOERDLE_IP" != "$PUNYCODE_IP" ]; then
echo " 1. ❗ DNS-Konfiguration prüfen!"
echo " Beide Domains müssen auf die gleiche IP zeigen."
echo " Prüfe in GoDaddy: https://dcc.godaddy.com/manage/hoerdle.de/dns"
echo ""
fi
echo " 2. Wenn DNS korrekt ist, Zertifikat neu erstellen:"
echo " ./scripts/renew-caddy-certificates.sh"
echo ""
echo " 3. Caddy-Logs überwachen:"
echo " docker logs hoerdle-caddy -f"
echo ""
echo " 4. Detaillierte Diagnose:"
echo " ./scripts/check-caddy-certificates.sh"
echo ""