SPB Git forge
0commits 0branches 0releases
0 Bsize
maindefault branch
—last push
861 B · 25 lines shellscript
Raw Blame History
1#!/bin/bash2# Résout les IP LAN 192.168.2.x de tous les nœuds (via Tailscale depuis le laptop)3# et écrit lanmap.json à côté de ce script.4set -u5DIR="$(cd "$(dirname "$0")" && pwd)"6ALL="M3U96a M3U96b M2U64 M4M64a M4M64b M4BP48 M4BP36 M4M36 M2M32 M2M32b M2M32c m4mc M1M32 m4ma m4mb m2m16 M3BA24 M3BA16 m2m8a m2m8b"7TMP=$(mktemp -d)8for n in $ALL; do9  (ip=$(ssh -o ConnectTimeout=6 "$n" 'ifconfig 2>/dev/null | grep -o "inet 192\.168\.2\.[0-9]*" | head -1 | cut -d" " -f2' 2>/dev/null)10   echo "$n=$ip" > "$TMP/$n") &11done12wait13python3 - "$TMP" "$DIR/lanmap.json" <<'EOF'14import sys, os, json15tmp, out = sys.argv[1], sys.argv[2]16d = {}17for f in os.listdir(tmp):18    k, _, v = open(os.path.join(tmp, f)).read().strip().partition("=")19    if v:20        d[k] = v21json.dump(d, open(out, "w"), indent=1)22print(len(d), "IPs:", json.dumps(d))23EOF24rm -rf "$TMP"25