#!/bin/bash

echo "=== СТАТУС ПРОКСИ ==="
echo ""

# Проверка Shadowsocks
echo "1. Shadowsocks сервис:"
if launchctl list | grep -q shadowsocks; then
    echo "   ✅ Запущен"
else
    echo "   ❌ Не запущен"
fi

# Проверка порта
echo ""
echo "2. Порт 1080:"
if lsof -i :1080 | grep -q LISTEN; then
    echo "   ✅ Слушает"
else
    echo "   ❌ Не слушает"
fi

# Проверка системного прокси
echo ""
echo "3. Системный прокси:"
INTERFACE=$(networksetup -listallnetworkservices | grep -E "Wi-Fi|Ethernet" | head -1)
PROXY_STATUS=$(networksetup -getsocksfirewallproxy "$INTERFACE" | grep "Enabled:" | awk '{print $2}')
if [ "$PROXY_STATUS" = "Yes" ]; then
    SERVER=$(networksetup -getsocksfirewallproxy "$INTERFACE" | grep "Server:" | awk '{print $2}')
    PORT=$(networksetup -getsocksfirewallproxy "$INTERFACE" | grep "Port:" | awk '{print $2}')
    echo "   ✅ Включен: $SERVER:$PORT"
else
    echo "   ❌ Выключен"
fi

# Проверка через curl
echo ""
echo "4. Тест подключения:"
SS_IP=$(curl -s --socks5 127.0.0.1:1080 --max-time 5 ifconfig.me 2>/dev/null)
DIRECT_IP=$(curl -s --max-time 5 ifconfig.me 2>/dev/null)

if [ -n "$SS_IP" ]; then
    echo "   Через Shadowsocks: $SS_IP"
    if [ "$SS_IP" = "209.38.32.21" ]; then
        echo "   ✅ Правильный IP"
    else
        echo "   ⚠️ Неправильный IP"
    fi
else
    echo "   ❌ Shadowsocks не отвечает"
fi

if [ -n "$DIRECT_IP" ]; then
    echo "   Прямое подключение: $DIRECT_IP"
fi

echo ""
echo "=== РЕКОМЕНДАЦИИ ==="
if [ "$PROXY_STATUS" != "Yes" ]; then
    echo "❌ Включите системный прокси: toggle-shadowsocks-proxy.sh"
fi
if [ -z "$SS_IP" ] || [ "$SS_IP" != "209.38.32.21" ]; then
    echo "❌ Shadowsocks не работает, проверьте: launchctl list | grep shadowsocks"
fi
