Files
ai-setup/setup.sh
vitaly 0ba7416047 feat: автоопределение GATEWAY и DEV из ip route show default
При выборе пункта 2 скрипт сам парсит маршрут по умолчанию и предлагает
найденные значения — пользователь просто жмёт Enter для подтверждения.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 19:36:03 +03:00

79 lines
3.3 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# Мастер-скрипт. Запускай от обычного пользователя (sudo попросит сам где нужно).
cd "$(dirname "$0")"
BLD='\033[1m'
GRN='\033[0;32m'
YEL='\033[0;33m'
GRY='\033[0;37m'
CLR='\033[0m'
echo ""
echo -e "${BLD}=== AI Setup ===${CLR}"
echo ""
echo -e "${YEL}Шаги для новой машины (выполнить по порядку):${CLR}"
echo ""
echo -e " ${BLD}1) AI-инструменты${CLR}"
echo -e " ${GRY}Устанавливает ai-claude, ai-gpt, ai-deepseek, ai-gemini и др.${CLR}"
echo -e " ${GRY}Запрашивает API-ключи. Запускать один раз.${CLR}"
echo ""
echo -e " ${BLD}2) Сеть: ru-bypass + kill switch${CLR}"
echo -e " ${GRY}.ru сайты (ozon, госуслуги) — напрямую с российским IP.${CLR}"
echo -e " ${GRY}*.loc офисные адреса — тоже напрямую.${CLR}"
echo -e " ${GRY}Всё остальное — только через Amnezia (kill switch).${CLR}"
echo -e " ${GRY}Запускать один раз на каждой машине.${CLR}"
echo ""
echo -e "${YEL}Дополнительно (по необходимости):${CLR}"
echo ""
echo -e " ${BLD}3) Отключить kill switch${CLR}"
echo -e " ${GRY}Временно — когда нужен прямой доступ без VPN (российский IP).${CLR}"
echo ""
echo -e " ${BLD}4) Включить kill switch${CLR}"
echo -e " ${GRY}Вернуть защиту обратно после отключения.${CLR}"
echo ""
echo -n "Выбери [1-4] или Enter для выхода: "
read -r choice
echo ""
case "$choice" in
1)
bash scripts/ai-setup.sh
;;
2)
echo -e "${GRY}Нужно указать два параметра твоей локальной сети:${CLR}"
echo -e "${GRY} GATEWAY — IP домашнего/офисного роутера (через него пойдёт .ru трафик напрямую)${CLR}"
echo -e "${GRY} DEV — сетевой интерфейс (wifi или провод), через который ты подключён к роутеру${CLR}"
echo ""
auto_gw=$(ip route show default 2>/dev/null | awk '/default/ {print $3; exit}')
auto_dev=$(ip route show default 2>/dev/null | awk '/default/ {print $5; exit}')
auto_gw="${auto_gw:-192.168.1.1}"
auto_dev="${auto_dev:-wlp1s0}"
echo -e "Определено автоматически: GATEWAY=${BLD}${auto_gw}${CLR} DEV=${BLD}${auto_dev}${CLR}"
echo -e "${GRY}(просто Enter чтобы принять, или введи другое значение)${CLR}"
echo ""
read -rp "GATEWAY (IP роутера) [${auto_gw}]: " gw
read -rp "DEV (интерфейс) [${auto_dev}]: " dev
gw="${gw:-$auto_gw}"
dev="${dev:-$auto_dev}"
echo ""
sudo GATEWAY="$gw" DEV="$dev" bash scripts/ru-bypass.sh
;;
3)
echo -e "${YEL}Перед этим выйди из Claude Code — сессия сменит IP.${CLR}"
echo -n "Продолжить? [y/N] "
read -r confirm
[ "$confirm" = "y" ] || [ "$confirm" = "Y" ] || exit 0
sudo bash scripts/ks-off.sh
;;
4)
sudo bash scripts/ks-on.sh
;;
"")
exit 0
;;
*)
echo "Неверный выбор."
exit 1
;;
esac