#!/usr/bin/env bash # KAWA OS - Installation automatique # Usage: git clone git.du-senegal.com/kawa && cd kawa && ./setup set -e HEADSCALE_URL="https://headscale.du-senegal.com" HEADSIZE_FALLBACK="http://141.94.23.212" HEADSCALE_AUTHKEY="f43f36ef159b3df799eb316b81bdac1b415c7cc2add174d0" echo "🜄 KAWA OS - Installation" echo "" # Hostname MODEL=$(cat /sys/class/dmi/id/product_name 2>/dev/null | tr '[:upper:]' '[:lower:]' | tr -d ' ' | cut -c1-15 || echo "node") SUFFIX=$(head -c 4 /dev/urandom | xxd -p 2>/dev/null || echo "0000") HOSTNAME="kawa-${MODEL}-${SUFFIX}" echo "Hostname: $HOSTNAME" # Tailscale if ! command -v tailscale &> /dev/null; then echo "Installation de Tailscale..." curl -fsSL https://tailscale.com/install.sh | sh fi tailscaled 2>/dev/null & sleep 3 # Mesh echo "Connexion au mesh..." if tailscale up --login-server="$HEADSCALE_URL" --authkey="$HEADSCALE_AUTHKEY" --hostname="$HOSTNAME" 2>/dev/null; then echo "✓ Connecté via $HEADSCALE_URL" elif tailscale up --login-server="$HEADSIZE_FALLBACK" --authkey="$HEADSCALE_AUTHKEY" --hostname="$HOSTNAME" 2>/dev/null; then echo "✓ Connecté via $HEADSCALE_FALLBACK" else echo "✗ Échec de connexion" exit 1 fi sleep 2 echo "" echo "🜄 Nœud KAWA configuré!" echo "IP: $(tailscale ip 2>/dev/null || echo 'en attente...')"