feat: issue #3 — проверка IPv6 leak при включении kill switch

- scripts/ks-on.sh: перед включением UFW проверяет глобальные IPv6 адреса,
  предлагает отключить IPv6 через sysctl если они есть
- setup.sh item 5: показывает статус IPv6 (отключён / активен с предупреждением)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-07 20:14:23 +03:00
parent 6f623a5b3e
commit 3b591766e1
2 changed files with 19 additions and 0 deletions

View File

@@ -21,6 +21,19 @@ if ! ip link show amn0 &>/dev/null && ! ip link show amnezia0 &>/dev/null; then
fi
fi
# Проверяем IPv6 — глобальные адреса могут утекать мимо VPN
ipv6_cnt=$(ip -6 addr show scope global 2>/dev/null | grep -c 'inet6' || true)
if [ "$ipv6_cnt" -gt 0 ]; then
echo ""
echo "Обнаружены глобальные IPv6 адреса ($ipv6_cnt шт.) — трафик может утекать мимо VPN."
read -p "Отключить IPv6? [Y/n] " ans
if [ "$ans" != "n" ] && [ "$ans" != "N" ]; then
sysctl -w net.ipv6.conf.all.disable_ipv6=1 >/dev/null
sysctl -w net.ipv6.conf.default.disable_ipv6=1 >/dev/null
echo "IPv6 отключён."
fi
fi
echo "Включаем UFW kill switch..."
ufw enable
echo ""

View File

@@ -116,6 +116,12 @@ case "$choice" in
else
echo -e " ${YEL}${CLR} ru-ipset-restore.service не установлен (запусти пункт 2)"
fi
ipv6_cnt=$(ip -6 addr show scope global 2>/dev/null | grep -c 'inet6' || true)
if [ "$ipv6_cnt" -eq 0 ]; then
echo -e " ${GRN}${CLR} IPv6 отключён (нет утечки)"
else
echo -e " ${YEL}!${CLR} IPv6 активен ($ipv6_cnt адресов) — возможна утечка, запусти пункт 4"
fi
echo ""
echo -e "${BLD}AI инструменты:${CLR}"