#!/bin/bash set -euo pipefail IFS=$'\n\t' # ────────────────────────────────────────────────────────────── # Cloudflare Tunnel Bootstrap Script # Usage: ./bootstrap-tunnel.sh # Example: ./bootstrap-tunnel.sh samson thefoldwithin.earth 8000 # ────────────────────────────────────────────────────────────── if [[ $# -lt 3 ]]; then echo "Usage: $0 " exit 1 fi TUNNEL_NAME="$1" BASE_DOMAIN="$2" LOCAL_PORT="$3" USER_HOME=$(eval echo ~"$USER") CLOUDFLARED_DIR="$USER_HOME/.cloudflared" # Path to tunnel credentials (auto-created if tunnel exists) TUNNEL_ID=$(cloudflared tunnel list | grep "$TUNNEL_NAME" | awk '{print $1}') if [[ -z "$TUNNEL_ID" ]]; then echo "❌ Tunnel '$TUNNEL_NAME' not found. Please run: cloudflared tunnel create $TUNNEL_NAME" exit 1 fi CREDENTIALS_FILE="$CLOUDFLARED_DIR/${TUNNEL_ID}.json" CONFIG_PATH="$CLOUDFLARED_DIR/config.yml" echo "🧪 Tunnel ID: $TUNNEL_ID" echo "📜 Writing config to $CONFIG_PATH" cat > "$CONFIG_PATH" <