feat: issue #4 — geo-тест внешних IP в test_network.sh

Добавлен блок «7. Geo: внешние IP» — curl через прямой интерфейс
и через дефолт (VPN). Показывает оба IP и проверяет что они разные.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-07 20:14:54 +03:00
parent 3b591766e1
commit 7c8b3a7147

View File

@@ -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}"