#!/bin/bash
# randomize-mac - Randomize MAC addresses for privacy
# Usage: sudo randomize-mac

set -euo pipefail

ETHERNET="enp3s0"
WIFI="wlp4s0"

# Check if running as root
if [ "$EUID" -ne 0 ]; then
    echo "❌ This script must be run as root (use sudo)"
    exit 1
fi

echo "🔄 Randomizing MAC addresses..."
echo ""

# Randomize Ethernet
echo "📡 Ethernet ($ETHERNET):"
if ip link show $ETHERNET &>/dev/null; then
    echo "  └─ Before: $(ip link show $ETHERNET | grep ether | awk '{print $2}')"
    if macchanger -r $ETHERNET 2>/dev/null; then
        echo "  └─ After:  $(ip link show $ETHERNET | grep ether | awk '{print $2}')"
        echo "  └─ ✅ Randomized successfully"
    else
        echo "  └─ ⚠️  Failed (interface may be in use)"
    fi
else
    echo "  └─ ⚠️  Interface not found"
fi

echo ""

# Randomize WiFi
echo "📶 WiFi ($WIFI):"
if ip link show $WIFI &>/dev/null; then
    echo "  └─ Before: $(ip link show $WIFI | grep ether | awk '{print $2}')"
    if macchanger -r $WIFI 2>/dev/null; then
        echo "  └─ After:  $(ip link show $WIFI | grep ether | awk '{print $2}')"
        echo "  └─ ✅ Randomized successfully"
    else
        echo "  └─ ⚠️  Failed (interface may be disabled or in use)"
    fi
else
    echo "  └─ ⚠️  Interface not found"
fi

echo ""
echo "⚠️  NOTE: You may need to reconnect to your network after randomization!"
echo ""
echo "💡 TIP: WiFi ($WIFI) is currently disabled. This script will randomize it"
echo "   when you enable WiFi, preventing tracking on public networks."
