#!/bin/bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" NAT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)" ROOT_DIR="$(cd "$NAT_DIR/../.." && pwd)" DERIVE_KEYS="$ROOT_DIR/testing/lib/derive_keys.py" OUTPUT_DIR="$NAT_DIR/generated-configs" SCENARIO="${1:?usage: generate-configs.sh [mesh-name]}" MESH_NAME="${2:-nat-lab-$(date +%s)-$$}" case "$SCENARIO" in cone|symmetric|lan) ;; *) echo "Unknown scenario: $SCENARIO" >&2 exit 1 ;; esac mkdir -p "$OUTPUT_DIR/$SCENARIO" keys_a="$(python3 "$DERIVE_KEYS" "$MESH_NAME" "a")" keys_b="$(python3 "$DERIVE_KEYS" "$MESH_NAME" "b")" nsec_a="$(echo "$keys_a" | awk -F= '/^nsec=/{print $2}')" npub_a="$(echo "$keys_a" | awk -F= '/^npub=/{print $2}')" nsec_b="$(echo "$keys_b" | awk -F= '/^nsec=/{print $2}')" npub_b="$(echo "$keys_b" | awk -F= '/^npub=/{print $2}')" relay_addr="ws://172.31.254.30:7777" stun_addr="stun:172.31.254.40:3478" if [ "$SCENARIO" = "lan" ]; then relay_addr="ws://172.31.10.30:7777" stun_addr="stun:172.31.10.40:3478" fi peer_block_a=$(cat < "$output_file" < "$OUTPUT_DIR/$SCENARIO/npubs.env" <