#!/bin/bash
# VPN status for tmux statusline
# Check for VPN connection via multiple methods:
# 1. ProtonVPN GUI (uses NetworkManager with pvpn- prefix or WireGuard)
# 2. Old WireGuard config (protonvpn interface)
# 3. Any active VPN connection via NetworkManager

# Method 1: Check for ProtonVPN GUI WireGuard interface (pvpn-* or proton*)
if ip link 2>/dev/null | grep -qE "pvpn-|proton" | grep -qE "state UP"; then
    echo "🛡️"
    exit 0
fi

# Method 2: Check for any wireguard interface that's UP
if ip link 2>/dev/null | grep -E "wireguard|wg[0-9]+" | grep -qE "state UP"; then
    echo "🛡️"
    exit 0
fi

# Method 3: Check NetworkManager for active VPN connections
if nmcli -t -f TYPE,STATE connection show --active 2>/dev/null | grep -qE "vpn:activated|wireguard:activated"; then
    echo "🛡️"
    exit 0
fi

# Method 4: Check old protonvpn interface (legacy)
if ip link show protonvpn 2>/dev/null | grep -qE "<.*UP.*>"; then
    echo "🛡️"
    exit 0
fi

# Method 5: Check if default route goes through a VPN-like interface
if ip route show default 2>/dev/null | grep -qE "pvpn-|proton|wg[0-9]+|tun[0-9]+"; then
    echo "🛡️"
    exit 0
fi

# No VPN detected
echo "❌"
