Skip to content

Instantly share code, notes, and snippets.

@Solido
Created November 5, 2025 17:21
Show Gist options
  • Save Solido/78c960bce4a408e5785c00f8d67ef06d to your computer and use it in GitHub Desktop.
Save Solido/78c960bce4a408e5785c00f8d67ef06d to your computer and use it in GitHub Desktop.
#!/bin/bash
# ============================================================
# Script client de vérification du serveur gRPC Raspberry Pi
# Vérifie :
# - mDNS / Avahi (.local)
# - Port gRPC ouvert (44444)
# - Annonce mDNS (_grpc._tcp)
# - Réponse gRPC basique via grpcurl (si installé)
# ============================================================
set -e
HOSTNAME_LOCAL=${1:-raspihotspot.local}
GRPC_PORT=44444
echo "🔍 Vérification de la connectivité vers $HOSTNAME_LOCAL ..."
# 1️⃣ Test mDNS : ping sur le nom local
echo -n "📡 Test mDNS (ping $HOSTNAME_LOCAL)... "
if ping -c 1 -W 2 "$HOSTNAME_LOCAL" &>/dev/null; then
echo "✅ Résolution mDNS OK"
else
echo "❌ Impossible de résoudre $HOSTNAME_LOCAL (mDNS/Avahi non fonctionnel)"
exit 1
fi
# 2️⃣ Test du port gRPC
echo -n "⚙️ Test du port TCP $GRPC_PORT... "
if nc -z "$HOSTNAME_LOCAL" "$GRPC_PORT" 2>/dev/null; then
echo "✅ Port $GRPC_PORT ouvert"
else
echo "❌ Le port $GRPC_PORT n'est pas accessible"
exit 1
fi
# 3️⃣ Vérification du service mDNS (_grpc._tcp)
echo "🔎 Recherche du service mDNS _grpc._tcp..."
if avahi-browse -rt _grpc._tcp 2>/dev/null | grep -q "$HOSTNAME_LOCAL"; then
echo "✅ Service gRPC (_grpc._tcp) détecté via Avahi"
else
echo "⚠️ Aucun service _grpc._tcp trouvé pour $HOSTNAME_LOCAL"
fi
# 4️⃣ Test gRPC direct (facultatif)
if command -v grpcurl >/dev/null 2>&1; then
echo "🧪 Test de connexion gRPC via grpcurl..."
if grpcurl -plaintext "$HOSTNAME_LOCAL:$GRPC_PORT" list >/dev/null 2>&1; then
echo "✅ Connexion gRPC réussie"
else
echo "⚠️ Impossible d’interroger le serveur gRPC (peut-être pas encore lancé)"
fi
else
echo "ℹ️ grpcurl non installé, test gRPC direct ignoré."
echo "👉 Installe-le avec : sudo apt install grpcurl"
fi
echo ""
echo "🎉 Tous les tests sont terminés."
echo "----------------------------------------------"
echo "mDNS : $HOSTNAME_LOCAL"
echo "Port gRPC : $GRPC_PORT"
echo "Résultat : OK si toutes les étapes sont ✅"
echo "----------------------------------------------"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment