#!/usr/bin/env bash # netvm-chrome.sh [url] — launch a chrome-box profile inside its # dedicated NetVM netns. 1:1: profile = node = warp identity = egress IP. # Run as your normal user (uses sudo -n only for allowlisted netns ops). set -euo pipefail PROFILE="${1:?usage: netvm-chrome.sh [url]}" URL="${2:-}" NODE="$PROFILE" NETVM_BIN="$(cd "$(dirname "$0")" && pwd)" CHROME_BOX="${CHROME_BOX_BIN:-$HOME/Projects/chrome-box/chrome-box}" [ -x "$CHROME_BOX" ] || { echo "chrome-box not found at $CHROME_BOX (set CHROME_BOX_BIN)"; exit 1; } [ -f "/etc/netvm/${NODE}.conf" ] || { echo "no warp identity for '$NODE' — human: netvm-new-identity.sh $NODE"; exit 1; } sudo -n "$NETVM_BIN/netvm-node-up.sh" "$NODE" | tail -2 if [ -n "$URL" ]; then exec sudo -n "$NETVM_BIN/netvm-enter.sh" "$NODE" "$(id -u)" "$(id -g)" "$HOME" -- "$CHROME_BOX" launch "$PROFILE" "$URL" else exec sudo -n "$NETVM_BIN/netvm-enter.sh" "$NODE" "$(id -u)" "$(id -g)" "$HOME" -- "$CHROME_BOX" launch "$PROFILE" fi