refactor: пункт 1 больше не трогает сеть, управление VLESS только в пункте 9

Пункты 1/7/8 вызывали AI_SETUP_VLESS=0, что запускало откат сетевых настроек
(stop xray, сброс прокси GNOME, перепись Firefox user.js, IPv6 on), хотя они
относятся только к установке AI-инструментов. Добавлен режим skip (дефолт):
сеть не трогается, лаунчеры синхронизируются с текущим состоянием xray.
Включение/отключение VLESS - только пункт 9.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Виталий Никитенко
2026-06-22 14:41:29 +03:00
parent 24416e88e4
commit c4fea61d74
2 changed files with 34 additions and 12 deletions

View File

@@ -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)..."