From da567b6398f09c783b9c2f0fa207b5bf0cfed7b2 Mon Sep 17 00:00:00 2001 From: Parahub AI Date: Thu, 5 Feb 2026 14:53:10 +0000 Subject: [PATCH] feat: add Yggdrasil overlay network to firmware build Co-Authored-By: Claude Opus 4.5 --- files/etc/uci-defaults/99-parahub-mesh | 29 +++++++++++++++++++++++++- scripts/build.sh | 3 +++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/files/etc/uci-defaults/99-parahub-mesh b/files/etc/uci-defaults/99-parahub-mesh index a8f6df4..90f85ec 100755 --- a/files/etc/uci-defaults/99-parahub-mesh +++ b/files/etc/uci-defaults/99-parahub-mesh @@ -374,7 +374,33 @@ SYS_EOF uci commit system # ============================================================================ -# 10. FINAL +# 10. YGGDRASIL OVERLAY NETWORK +# ============================================================================ + +# Generate unique keys for this node +yggdrasil -genconf | sed 's/IfName: .*/IfName: ygg0/' > /etc/yggdrasil.conf + +# UCI network interface for yggdrasil TUN +uci batch <<-YGG_EOF +set network.yggdrasil=interface +set network.yggdrasil.device='ygg0' +set network.yggdrasil.proto='none' +YGG_EOF +uci commit network + +# Add yggdrasil to LAN zone (mesh nodes trust each other) +uci add_list firewall.@zone[0].network='yggdrasil' +uci commit firewall + +# Enable yggdrasil service +/etc/init.d/yggdrasil enable + +# Save yggdrasil address to node keys file +YGG_ADDR=$(yggdrasil -address -useconffile /etc/yggdrasil.conf 2>/dev/null || echo "unknown") +echo "YGGDRASIL_ADDRESS=${YGG_ADDR}" >> /etc/parahub/keys + +# ============================================================================ +# 11. FINAL # ============================================================================ # Log completion @@ -383,5 +409,6 @@ logger -t parahub-mesh "Hostname: ${HOSTNAME}" logger -t parahub-mesh "Private: ${PRIVATE_SSID} @ ${PRIV_IP}/24" logger -t parahub-mesh "Guest: ${PUBLIC_SSID} @ ${GUEST_IP}/24" logger -t parahub-mesh "Mesh ID: ${MESH_ID}" +logger -t parahub-mesh "Yggdrasil: ${YGG_ADDR}" exit 0 diff --git a/scripts/build.sh b/scripts/build.sh index 0b06667..92a72d7 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -58,6 +58,9 @@ PACKAGES_CORE=( wpad-mesh-mbedtls -wpad-basic-mbedtls + # Yggdrasil overlay network + yggdrasil + # SQM traffic shaping sqm-scripts kmod-sched-cake