diff --git a/tests/test_network.sh b/tests/test_network.sh index 400f9df..c845224 100644 --- a/tests/test_network.sh +++ b/tests/test_network.sh @@ -76,6 +76,21 @@ echo "=== 6. Краевые случаи ===" check "api.anthropic.com → amn0" "amn0" "ip route get $(dig +short api.anthropic.com A | head -1) 2>/dev/null" check "ya.ru → НЕ через amn0 (прямо)" "wl[pi]" "ip route get $(dig +short ya.ru A | head -1) 2>/dev/null" +echo "" +echo "=== 7. Geo: внешние IP ===" +DEV_DIRECT=$(ip route show default 2>/dev/null | awk '/default/ {print $5; exit}') +ip_direct=$(curl -s --interface "$DEV_DIRECT" --max-time 10 https://ipinfo.io/ip 2>/dev/null) +ip_vpn=$(curl -s --max-time 10 https://ipinfo.io/ip 2>/dev/null) +echo " Прямой IP (через ${DEV_DIRECT:-?}): ${ip_direct:-недоступно}" +echo " VPN IP (через amn0): ${ip_vpn:-недоступно}" +if [ -n "$ip_direct" ] && [ -n "$ip_vpn" ] && [ "$ip_direct" != "$ip_vpn" ]; then + echo -e " ${GRN}✓${CLR} IP разные — .ru идёт напрямую, остальное через VPN" + pass=$((pass+1)) +else + echo -e " ${YEL}!${CLR} IP одинаковые или недоступны — проверь маршрутизацию" + fail=$((fail+1)) +fi + echo "" echo "=========================================" echo -e "Итого: ${GRN}$pass пройдено${CLR}, ${RED}$fail провалено${CLR}"