From c4fea61d7491cd0e90550c34637ba32a66828950 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B8=D1=82=D0=B0=D0=BB=D0=B8=D0=B9=20=D0=9D=D0=B8?= =?UTF-8?q?=D0=BA=D0=B8=D1=82=D0=B5=D0=BD=D0=BA=D0=BE?= Date: Mon, 22 Jun 2026 14:41:29 +0300 Subject: [PATCH] =?UTF-8?q?refactor:=20=D0=BF=D1=83=D0=BD=D0=BA=D1=82=201?= =?UTF-8?q?=20=D0=B1=D0=BE=D0=BB=D1=8C=D1=88=D0=B5=20=D0=BD=D0=B5=20=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D0=B3=D0=B0=D0=B5=D1=82=20=D1=81=D0=B5=D1=82=D1=8C?= =?UTF-8?q?,=20=D1=83=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20VLESS=20=D1=82=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20=D0=B2?= =?UTF-8?q?=20=D0=BF=D1=83=D0=BD=D0=BA=D1=82=D0=B5=209?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Пункты 1/7/8 вызывали AI_SETUP_VLESS=0, что запускало откат сетевых настроек (stop xray, сброс прокси GNOME, перепись Firefox user.js, IPv6 on), хотя они относятся только к установке AI-инструментов. Добавлен режим skip (дефолт): сеть не трогается, лаунчеры синхронизируются с текущим состоянием xray. Включение/отключение VLESS - только пункт 9. Co-Authored-By: Claude --- scripts/ai-setup.sh | 40 +++++++++++++++++++++++++++++++--------- setup.sh | 6 +++--- 2 files changed, 34 insertions(+), 12 deletions(-) diff --git a/scripts/ai-setup.sh b/scripts/ai-setup.sh index b9e57a0..02db09f 100755 --- a/scripts/ai-setup.sh +++ b/scripts/ai-setup.sh @@ -181,11 +181,19 @@ XRAYEOF echo "$result" } -# ── 0. Выбор режима работы (vless / direct) ───────────────── -# AI_SETUP_VLESS=1 включает VLESS; по умолчанию 0 (прямое подключение). -# Устанавливается из меню setup.sh (пункт "VLESS"). -if [[ "${AI_SETUP_VLESS:-0}" == "1" ]]; then +# ── 0. Выбор режима работы VLESS (on / off / skip) ───────────── +# AI_SETUP_VLESS: +# 1 / on — включить VLESS (установка xray + proxychains + обёртки лаунчеров) +# 0 / off — отключить VLESS (откат: stop xray, сброс прокси, IPv6 on) +# skip — НЕ трогать сеть (умолчание). Лаунчеры синхронизируются +# с текущим состоянием (xray активен?). +# Устанавливается из меню setup.sh. По умолчанию skip, чтобы прямой запуск +# ai-setup.sh и пункты 1/7/8 не меняли сетевые настройки. +DO_VLESS_INSTALL=0 +case "${AI_SETUP_VLESS:-skip}" in + 1|on) USE_VLESS=1 + DO_VLESS_INSTALL=1 # Читаем список серверов _VL_URLS=() @@ -240,9 +248,11 @@ if [[ "${AI_SETUP_VLESS:-0}" == "1" ]]; then _VL_SELECTED="${_VL_URLS[$((_vl_choice-1))]}" parse_vless_url "$_VL_SELECTED" info "Выбран: $VL_ADDRESS ($VL_NAME)" -else + ;; + 0|off) USE_VLESS=0 - info "Режим: direct (без проксирования)" + DO_VLESS_INSTALL=0 + info "Отключение VLESS (откат настроек)" # ── Откат всех настроек vless ────────────────────────────── info "Откатываю настройки прокси..." @@ -282,7 +292,19 @@ FJSEOF sudo systemctl restart systemd-resolved 2>/dev/null || true success "IPv6 восстановлен" fi -fi + ;; + *) + # skip — сеть не трогаем; синхронизируем лаунчеры с текущим состоянием xray + if systemctl is-active --quiet xray 2>/dev/null; then + USE_VLESS=1 + info "Сеть не трогаю. VLESS активен — лаунчеры будут с proxychains4." + else + USE_VLESS=0 + info "Сеть не трогаю. VLESS не активен — прямые лаунчеры." + fi + info "Управление VLESS: пункт 9 (включить / отключить)." + ;; +esac # ── 1. npm prefix в домашнюю папку ────────────────────────── info "Настраиваю npm prefix..." @@ -311,8 +333,8 @@ else warn "Node.js не найден. Некоторые функции могут не работать." fi -# ── 2.5. proxychains-ng + xray (только в режиме vless) ────── -if [ "$USE_VLESS" -eq 1 ]; then +# ── 2.5. proxychains-ng + xray (только при включении VLESS) ── +if [ "$DO_VLESS_INSTALL" -eq 1 ]; then info "Проверяю proxychains-ng..." if ! command -v proxychains4 &>/dev/null; then info "Устанавливаю proxychains-ng (нужен sudo)..." diff --git a/setup.sh b/setup.sh index a4d6d21..c7d0a62 100755 --- a/setup.sh +++ b/setup.sh @@ -75,7 +75,7 @@ fi case "$choice" in 1) - AI_SETUP_VLESS=0 bash scripts/ai-setup.sh + AI_SETUP_VLESS=skip bash scripts/ai-setup.sh ;; 2) echo -e "${GRY}Нужно указать параметры твоей локальной сети:${CLR}" @@ -227,10 +227,10 @@ case "$choice" in git -C "$REPO_DIR" pull --ff-only echo "" echo -e "${BLD}Перегенерация скриптов...${CLR}" - AI_SETUP_VLESS=0 bash "$REPO_DIR/scripts/ai-setup.sh" + AI_SETUP_VLESS=skip bash "$REPO_DIR/scripts/ai-setup.sh" ;; 8) - AI_SETUP_VLESS=0 bash scripts/ai-setup.sh + AI_SETUP_VLESS=skip bash scripts/ai-setup.sh ;; 9) echo -n "Включить VLESS-прокси? [Y/n] "