# --- Proxy Settings ---
# Переменные для прокси по умолчанию (если нужно, чтобы он был включен всегда)
# export HTTP_PROXY="http://127.0.0.1:10809"
# export HTTPS_PROXY="http://127.0.0.1:10809"

# --- WSL Host Update ---
update_hproxy() {
    echo "🔄 Обновление IP-адреса для hproxy.local..."

    local host_ip=""
    local wslconfig=$(ls /mnt/c/Users/*/.wslconfig 2>/dev/null | head -n 1)
    local win_hosts="/mnt/c/Windows/System32/drivers/etc/hosts"

    # Проверяем наличие параметра networkingMode=mirror в конфиге Windows
    if [ -f "$wslconfig" ] && grep -qiE '^[[:space:]]*networkingMode[[:space:]]*=[[:space:]]*mirror' "$wslconfig"; then
        echo "🔍 Обнаружен режим Mirror."

        # Читаем hosts из Windows
        if [ -f "$win_hosts" ] && grep -qiw "hproxy.local" "$win_hosts"; then
            # Извлекаем IP (первый столбец) и чистим от виндовых символов возврата каретки (\r)
            host_ip=$(grep -iw "hproxy.local" "$win_hosts" | awk '{print $1}' | tr -d '\r' | head -n 1)
            echo "📂 Взят IP из Windows hosts: $host_ip"
        else
            # Фолбэк на случай, если записи в Windows нет
            host_ip="127.0.0.1"
            echo "⚠️ Запись hproxy.local в Windows hosts не найдена, используем дефолтный $host_ip"
        fi
    else
        echo "🔍 Обнаружен режим NAT."

        # Формируем IP на лету из маршрута по умолчанию
        host_ip=$(ip route show default | awk '{print $3}')
        echo "🌐 Вычислен IP шлюза WSL: $host_ip"
    fi

    if [ -z "$host_ip" ]; then
        echo "❌ Ошибка: Не удалось определить IP-адрес."
        return 1
    fi

    # Обновляем /etc/hosts в Ubuntu
    sudo sed -i '/hproxy.local/d' /etc/hosts
    echo "$host_ip hproxy.local" | sudo tee -a /etc/hosts > /dev/null

    echo "✅ Готово! hproxy.local теперь указывает на $host_ip"
}

# Удобные функции-переключатели для терминала
proxy_on() {
    export HTTP_PROXY="http://hproxy.local:12334"
    export HTTPS_PROXY="http://hproxy.local:12334"
    export ALL_PROXY="socks5://hproxy.local:12334"
    export NO_PROXY="hproxy.local,localhost,127.0.0.1,.concept-software.ru"
    echo "✅ Proxy enabled. Checking route..."
    # Подставляем результат выполнения curl прямо в строку
    echo "🌍 Current IP: $(curl -s --max-time 3 https://ifconfig.me)"
}

proxy_off() {
    unset HTTP_PROXY HTTPS_PROXY ALL_PROXY
    echo "❌ Proxy disabled. Checking route..."
    echo "🏠 Current IP: $(curl -s --max-time 3 https://ifconfig.me)"
}

# Заодно можно добавить алиас, чтобы быстро чекать IP в любой момент без переключения
alias myip='echo "IP: $(curl -s --max-time 3 https://ifconfig.me)"'

