19 lines
1009 B
Bash
19 lines
1009 B
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
# netvm-chrome.sh <profile> [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 <profile> [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
|